A fast, minimal, and modern blog theme built with Astro and Tailwind CSS.
Designed for developers and content creators who want a clean, performant blog without the bloat.
- ⚡ Blazing fast — Static site generation with zero JS by default
- 🌙 Dark mode — Persistent dark/light toggle with localStorage
- 🔍 Live search — Instant post search with no external dependencies
- 📖 Reading time — Auto-calculated per post
- 📋 Table of contents — Auto-generated for long posts
- 🔗 Share buttons — Twitter, WhatsApp, and copy link
- 🃏 Related posts — Auto-matched by shared tags
- 🏷️ Tag system — Tag index and individual tag pages
- 📡 RSS feed — Auto-generated at
/rss.xml - 🗺️ Sitemap — Auto-generated at
/sitemap.xml - 📱 PWA ready — Installable with offline support
- 🔝 Back to top — Floating button on long posts
- 🎨 Typography — Beautiful prose styling via Tailwind Typography
src/
├── components/
│ ├── Header.astro
│ ├── Footer.astro
│ ├── PostCard.astro
│ ├── ShareBar.astro
│ └── BackToTop.astro
├── content/
│ ├── config.ts
│ └── blog/
├── layouts/
│ └── BaseLayout.astro
├── pages/
│ ├── index.astro
│ ├── blog/
│ │ ├── index.astro
│ │ └── [slug].astro
│ ├── tags/
│ │ ├── index.astro
│ │ └── [tag].astro
│ ├── author.astro
│ ├── about.astro
│ ├── contact.astro
│ ├── privacy-policy.astro
│ ├── terms.astro
│ ├── disclaimer.astro
│ ├── 404.astro
│ ├── offline.astro
│ ├── rss.xml.ts
│ ├── sitemap.xml.ts
│ └── search-index.json.ts
├── styles/
│ └── global.css
└── config.tsgit clone https://github.com/bytecascade11/isamueldev.git
cd isamueldevnpm installOpen src/config.ts and update it with your information:
export const SITE = {
name: "YourBlog",
tagline: "Your blog tagline here.",
url: "https://yourdomain.com",
description: "Your site description for SEO.",
author: "Your Name",
email: "you@email.com",
nav: [
{ label: "Home", href: "/" },
{ label: "Blog", href: "/blog" },
{ label: "Tags", href: "/tags" },
{ label: "About", href: "/about" },
],
socials: {
twitter: "https://twitter.com/yourusername",
github: "https://github.com/yourusername",
whatsapp: "",
instagram: "",
},
googleVerification: "your-verification-code",
};npm run devVisit:
http://localhost:4321Create a new .md file inside:
src/content/blog/Example:
---
title: "Your Post Title"
description: "A short description for SEO and previews."
date: 2024-01-01
tags: ["tag1", "tag2"]
author: "Your Name"
cover: "/assets/posts/your-cover.jpg"
featured: false
draft: false
---
Your post content here...| Field | Type | Required | Description |
|---|---|---|---|
title |
string | ✅ | Post title |
description |
string | ✅ | SEO description |
date |
date | ✅ | Publication date |
tags |
string[] | ✅ | Post tags |
author |
string | ❌ | Defaults to config author |
cover |
string | ❌ | Cover image URL or path |
featured |
boolean | ❌ | Pin to homepage hero |
draft |
boolean | ❌ | Hide from production |
updated |
date | ❌ | Last updated date |
Recommended for original images and optimized performance.
Upload images to:
public/assets/Then reference them like this:
cover: "/assets/posts/my-cover.jpg"Quick and easy for placeholders or demos:
cover: "https://images.unsplash.com/photo-xxxxx?w=800&auto=format&fit=crop"- Push your repo to GitHub
- Go to Vercel
- Import your repository
- Leave all settings as default
- Click Deploy
Your site should be live in under a minute.
Every push to main automatically triggers a new deployment.
- Open Google Search Console
- Add your site as a property
- Choose HTML tag verification
- Copy the verification content value
- Paste it into:
googleVerification: "your-verification-code"inside src/config.ts
Then submit:
/sitemap.xml- Astro — Static site framework
- Tailwind CSS — Utility-first CSS
- Tailwind Typography — Beautiful prose styling
- Vercel — Hosting and deployment
MIT License — free to use for personal and commercial projects.
Built with ❤️ by iSamuel