astroverse icon indicating copy to clipboard operation
astroverse copied to clipboard

An Astro theme tailored for impactful image-text blogging, ideal for content creators.

๐ŸŒLanguage Versions / ่ฏญ่จ€็‰ˆๆœฌ

๐Ÿ‡บ๐Ÿ‡ธEnglish ๐Ÿ‡จ๐Ÿ‡ณไธญๆ–‡

๐Ÿš€ AstroVerse: An Astro Theme for Visual Storytelling

AstroVerse is an Astro theme tailored for captivating photo-text storytelling.

It seamlessly merges visuals and written content, empowering creators to deliver compelling narratives with high-impact imagery.

Ideal for bloggers and content creators seeking to make their stories stand out through the fusion of striking visuals and engaging prose, AstroVerse provides a platform to create immersive and influential digital experiences.

AstroVerse Screenshot

๐Ÿ’ฏLighthouse Score

AstroVerse Lighthouse Score

๐ŸŽ‰ Features

  • โœ… Powered by Astro
  • โœ… Development with Tailwind CSS and Preline UI
  • โœ… Fully Responsive Design
  • โœ… Perfect 100/100 Lighthouse Performance Score
  • โœ… SEO Optimized
  • โœ… Inbuilt Site Search
  • โœ… Sitemap and RSS Feed Support
  • โœ… Markdown & MDX Ready
  • โœ… Tag Statistics and Last Modified Time Display
  • โœ… Optimized Image Handling
  • โœ… Automatic Dark Mode Switching
  • โœ… Pagination for Easy Navigation
  • โœ… Code formatted with Prettier in one click

๐ŸŽก Live demo

Experience AstroVerse in action.

๐ŸŒ† Showcase

Share your project built with AstroVerse! Open an issue titled "Showcase Submission" with your project's details to be featured in our Showcase.

๐Ÿ’ป Running Locally

Recommended extensions for VSCode:

  1. Fork or use this template

  2. Install dependencies:

pnpm install
  1. Run the development server:
pnpm run dev

๐Ÿ“„ Adding a post

Adding a post is as simple as adding a .md or .mdx file to the blog folder at the path src/content/posts.

๐Ÿงž Commands

All commands are run from the root of the project, from a terminal:

Command Action
npm install Installs dependencies
npm run dev Starts local dev server at localhost:4321
npm run build Build your production site to ./dist/
npm run preview Preview your build locally, before deploying
npm run format Code formatter using prettier

๐Ÿ”งConfiguration

Basic configuration file: ./src/consts.ts

// Place any global data in this file.
// You can import this data from anywhere in your site by using the `import` keyword.

// Base Page Metadata, src/layouts/BaseLayout.astro
export const BRAND_NAME = "AstroVerse";
export const SITE_TITLE = "AstroVerse";
export const SITE_DESCRIPTION = "An Astro Theme for Visual Storytelling";

// Tags Page Metadata, src/pages/tags/index.astro
export const Tags_TITLE = "AstroVerse - All Tags";
export const Tags_DESCRIPTION =
  "AstroVerse - All tags and the count of articles related to each tag";

// Tags Page Metadata, src/pages/tags/[tag]/[page].astro
export function getTagMetadata(tag: string) {
  return {
    title: `All articles on '${tag}' tag in AstroVerse`,
    description: `Explore articles about ${tag} for different perspectives and in-depth analysis.`,
  };
}

// Category Page Metadata, src/pages/category/[category]/[page].astro
export function getCategoryMetadata(category: string) {
  return {
    title: `All articles in '${category}' category in AstroVerse`,
    description: `Browse all articles under the ${category} category in AstroVerse`,
  };
}

// Header Links, src/components/Header.astro
export const HeaderLinks = [
  { href: "/category/One/1/", title: "One" },
  { href: "/category/Two/1/", title: "Two" },
  { href: "/category/Three/1/", title: "Three" },
];

// Footer Links, src/components/Footer.astro
export const FooterLinks = [
  { href: "/posts/why-astro/", title: "Astro" },
  { href: "/posts/tailwind-typography/", title: "Tailwind" },
  { href: "/tags/", title: "Tags" },
];

// Social Links, src/components/Footer.astro
export const SocialLinks = [
  { href: "/rss.xml", icon: "tabler:rss", label: "RSS" },
  {
    href: "https://twitter.com/astrodotbuild",
    icon: "tabler:brand-twitter",
    label: "Twitter",
  },
  {
    href: "https://github.com/isooosi",
    icon: "tabler:brand-github",
    label: "GitHub",
  },
];

// Search Page Metadata, src/pages/search.astro
export const SEARCH_PAGE_TITLE = `${SITE_TITLE} - Site Search`;
export const SEARCH_PAGE_DESCRIPTION = `Search all content on ${SITE_TITLE}`;

Deployment

Click the button below to start deploying your project on Vercel:

Deploy to Vercel

โœจ Join and Contribute

Your contributions make AstroVerse better! Whether it's through code, design, bug reports, or feature ideas, we value your input. Check our Issues or submit a Pull Request to get started. Together, let's enhance AstroVerse!