Getting Started with AstroZephyrus
Learn how to set up and customize AstroZephyrus, a modern blog theme built with Astro 5 and Tailwind CSS. This complete guide covers installation, configuration, and deployment.
Welcome to AstroZephyrus! This guide will walk you through everything you need to know to get started with this modern, developer-focused blog theme.
What is AstroZephyrus?
AstroZephyrus is a production-ready blog theme built with Astro 5 and Tailwind CSS. Itβs designed for developers who want a fast, SEO-friendly blog with excellent performance scores right out of the box.
Key Features
- Lightning Fast β Built on Astroβs static site generation with View Transitions
- SEO Optimized β Structured data, Open Graph tags, sitemaps, and RSS feeds
- Dark Mode β Seamless theme switching with customizable colors
- MDX Support β Write posts in Markdown or MDX with full component support
- Image Optimization β Automatic image optimization using Astro Assets
- Code Highlighting β Beautiful syntax highlighting with Shiki
- Search β Client-side full-text search powered by Pagefind
- Comments β Built-in support for Utterances and Giscus
Quick Start
1. Clone or Fork the Template
The fastest way to get started is using the Astro CLI:
npm create astro@latest -- --template asiomchen/astrozephyrusOr clone the repository directly:
git clone https://github.com/asiomchen/astrozephyrus.git my-blog
cd my-blog2. Install Dependencies
Install the required packages using npm:
npm install3. Start the Development Server
Launch the local development server:
npm run devYour site will be available at http://localhost:4321. The dev server includes hot module replacement, so changes you make will be reflected instantly.
Project Structure
Understanding the project structure will help you customize your blog effectively:
/
βββ src/
β βββ data/
β β βββ post/ # Your blog posts (MD/MDX files)
β β βββ author/ # Author profiles
β βββ components/
β β βββ blog/ # Blog-specific components
β β βββ widgets/ # Page sections (Header, Footer, etc.)
β β βββ common/ # Shared utilities
β β βββ ui/ # UI elements
β βββ pages/
β β βββ [...blog]/ # Dynamic blog routes
β β βββ index.astro # Homepage
β βββ layouts/ # Page layouts
β βββ utils/ # Helper functions
β βββ config.yaml # Main configuration file
β βββ navigation.ts # Navigation links
βββ public/ # Static assets
βββ astro.config.ts # Astro configurationCreating Your First Post
Blog posts live in src/data/post/ as .md or .mdx files. Letβs create a new post:
Step 1: Create the File
Create a new file at src/data/post/my-first-post.mdx:
---
publishDate: 2026-02-08T12:00:00Z
title: My First Blog Post
excerpt: A brief description of what this post is about. This appears in post listings and social media shares.
image: https://images.unsplash.com/photo-1499750310107-5fef28a66643?ixlib=rb-4.0.3&auto=format&fit=crop&w=2070&q=80
category: Tutorial
tags:
- blogging
- getting-started
author: jane-doe
showToc: true
---
# Welcome to My Blog
This is my first post using AstroZephyrus!
## Code Examples
You can include syntax-highlighted code blocks:
\```javascript
function greet(name) {
console.log(`Hello, ${name}!`);
}
greet('World');
\```
## Images and More
AstroZephyrus supports all standard Markdown features plus MDX components!Step 2: Understanding Frontmatter
The frontmatter section (between the --- markers) contains metadata about your post:
- publishDate β Publication date (ISO 8601 format)
- updateDate β Optional last updated date
- title β Post title (used in SEO)
- excerpt β Brief description for listings and SEO
- image β Cover image URL (optimized automatically)
- category β Single category for organization
- tags β Array of tags for filtering
- author β Matches filename in
src/data/author/ - showToc β Enable table of contents (optional)
- draft β Set to
trueto hide from production (optional)
Configuration Guide
The main configuration file is src/config.yaml. Here are the key sections:
Site Settings
site:
name: Your Blog Name
site: 'https://yourdomain.com'
base: '/'
trailingSlash: false
googleSiteVerificationId: nullSEO Metadata
metadata:
title:
default: Your Blog Name
template: '%s β Your Blog Name'
description: 'A brief description of your blog'
robots:
index: true
follow: trueBlog Configuration
apps:
blog:
isEnabled: true
postsPerPage: 6
post:
permalink: '/%slug%'You can customize the permalink pattern using these variables:
%slug%β Post filename%year%,%month%,%day%β Date components%category%β Post category
Comments System
Choose between Utterances or Giscus:
comments:
isEnabled: true
vendor: 'utterances'
utterances:
repo: 'yourusername/yourrepo'
issueTerm: 'pathname'
theme: 'preferred-color-scheme'Customizing Colors and Fonts
Edit src/components/CustomStyles.astro to customize your theme:
:root {
--aw-font-sans: 'Inter Variable';
--aw-color-primary: rgb(34 197 94); /* Green */
--aw-color-secondary: rgb(22 163 74);
--aw-color-accent: rgb(20 184 166); /* Teal */
}You can change fonts by importing different font families from @fontsource-variable.
Customizing Navigation
Edit src/navigation.ts to modify header and footer links:
export const headerData = {
links: [
{
text: 'Blog',
href: '/blog',
},
{
text: 'About',
href: '/about',
},
],
actions: [
{
text: 'GitHub',
href: 'https://github.com/yourusername',
target: '_blank',
},
],
};Available Commands
All commands run from the project root:
npm run dev # Start dev server at localhost:4321
npm run build # Build for production to ./dist/
npm run preview # Preview production build locally
npm run check # Run type checking and linting
npm run fix # Auto-fix linting and formatting issuesDeploying Your Blog
AstroZephyrus works with all major hosting platforms. Here are the most popular options:
Vercel
- Push your code to GitHub
- Import your repository in Vercel
- Vercel auto-detects Astro and configures build settings
- Deploy!
Or use the one-click deploy button:
Netlify
- Push your code to GitHub
- Create a new site in Netlify
- Configure build settings:
- Build command:
npm run build - Publish directory:
dist
- Build command:
- Deploy!
Or use the one-click deploy:
Cloudflare Pages
- Push your code to GitHub
- Create a new project in Cloudflare Pages
- Configure build:
- Framework preset: Astro
- Build command:
npm run build - Output directory:
dist
- Deploy!
GitHub Pages
To deploy to GitHub Pages, update your astro.config.ts:
export default defineConfig({
site: 'https://yourusername.github.io',
base: '/repository-name',
});Then update src/config.yaml:
site:
base: '/repository-name'Next Steps
Now that you have AstroZephyrus set up, here are some things to explore:
- Create more posts β Build your content library
- Customize your author profile β Edit
src/data/author/jane-doe.md - Add pages β Create About, Contact, or other static pages
- Set up analytics β Configure Google Analytics or Umami
- Optimize images β Use Astroβs Image component for better performance
- Enable comments β Set up Utterances or Giscus for reader engagement
Getting Help
- Documentation β Check the Astro docs
- GitHub Issues β Report bugs or request features
- Community β Join the Astro Discord community
Conclusion
AstroZephyrus gives you a solid foundation for building a modern, performant blog. The theme is designed to be customizable while maintaining best practices for SEO, accessibility, and performance.
Happy blogging!
Tech writer and open-source contributor passionate about creating modern web experiences and sharing knowledge with the developer community.
