Back to rankings

satnaing/astro-paper

Astroastro-paper.pages.dev

A minimal, accessible and SEO-friendly Astro blog theme.

astroblogstatic-sitetailwindcssthemetypescriptmarkdowna11ytemplateaccessibilityastro-themeastro-themes
Star Growth
Stars
4.9k
Forks
1k
Weekly Growth
β€”
Issues
26
2k4k
Sep 2022Dec 2023Apr 2025Jul 2026
README

AstroPaper πŸ“„

AstroPaper Figma Typescript GitHub Conventional Commits Commitizen friendly

AstroPaper is a minimal, responsive, accessible and SEO-friendly Astro blog theme. This theme is designed and crafted based on my personal blog.

Read the blog posts or check the README Documentation Section for more info.

πŸ”₯ Features

  • type-safe markdown
  • super fast performance
  • accessible (Keyboard/VoiceOver)
  • responsive (mobile ~ desktops)
  • SEO-friendly
  • light & dark mode
  • static search (Pagefind)
  • draft posts & pagination
  • sitemap & rss feed
  • MDX support
  • collapsible table of contents
  • followed best practices
  • highly customizable
  • dynamic OG image generation for blog posts (Blog Post)
  • i18n ready

Note: I've tested screen-reader accessibility of AstroPaper using VoiceOver on Mac and TalkBack on Android. I couldn't test all other screen-readers out there. However, accessibility enhancements in AstroPaper should be working fine on others as well.

βœ… Lighthouse Score

AstroPaper Lighthouse Score

πŸš€ Project Structure

Inside of AstroPaper, you'll see the following folders and files:

/
β”œβ”€β”€ public/
β”‚   β”œβ”€β”€ pagefind/          # auto-generated on build
β”‚   β”œβ”€β”€ favicon.svg
β”‚   └── default-og.jpg
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ assets/
β”‚   β”‚   β”œβ”€β”€ icons/
β”‚   β”‚   └── images/
β”‚   β”œβ”€β”€ components/
β”‚   β”œβ”€β”€ content/
β”‚   β”‚   β”œβ”€β”€ pages/
β”‚   β”‚   β”‚   └── about.md
β”‚   β”‚   └── posts/
β”‚   β”‚       └── some-blog-posts.md
β”‚   β”œβ”€β”€ i18n/
β”‚   β”œβ”€β”€ layouts/
β”‚   β”œβ”€β”€ pages/
β”‚   β”œβ”€β”€ scripts/
β”‚   β”œβ”€β”€ styles/
β”‚   β”œβ”€β”€ types/
β”‚   β”œβ”€β”€ utils/
β”‚   β”œβ”€β”€ config.ts
β”‚   └── content.config.ts
β”œβ”€β”€ astro-paper.config.ts  # user-defined configurations
└── astro.config.ts

All blog posts are stored in the src/content/posts/ directory. You can organise posts into subdirectories β€” the subdirectory name becomes part of the post URL.

πŸ“– Documentation

Documentation can be read in two formats_ markdown & blog post.

πŸ’» Tech Stack

Main Framework - Astro
Type Checking - TypeScript
Styling - TailwindCSS
UI/UX - Figma Design File
Static Search - Pagefind
Icons - Tablers
Code Formatting - Prettier
Deployment - Cloudflare Pages
Linting - ESLint
Dynamic OG images - Satori + Sharp + Astro Fonts

πŸ‘¨πŸ»β€πŸ’» Running Locally

You can start using this project locally by running the following command in your desired directory:

# pnpm
pnpm create astro@latest --template satnaing/astro-paper

# npm
npm create astro@latest -- --template satnaing/astro-paper

# yarn
yarn create astro --template satnaing/astro-paper

# bun
bun create astro@latest -- --template satnaing/astro-paper

Then start the project by running the following commands:

# install dependencies if you haven't done so in the previous step.
pnpm install

# start running the project
pnpm dev

Google Site Verification (optional)

You can add your Google Site Verification HTML tag by setting site.googleVerification in astro-paper.config.ts:

export default defineAstroPaperConfig({
  site: {
    // ...
    googleVerification: "your-google-site-verification-value",
  },
  // ...
});

See this discussion for adding AstroPaper to the Google Search Console.

🧞 Commands

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

Command Action
pnpm install Installs dependencies
pnpm dev Starts local dev server at localhost:4321
pnpm build Type-checks, builds the site, runs Pagefind indexing, and copies the index to public/pagefind/
pnpm preview Preview your build locally, before deploying
pnpm sync Generates TypeScript types for all Astro modules. Learn more.
pnpm astro ... Run CLI commands like astro add, astro check

✨ Feedback & Suggestions

If you have any suggestions/feedback, you can contact me via my email. Alternatively, feel free to open an issue if you find bugs or want to request new features.

πŸ“œ License

Licensed under the MIT License, Copyright Β© 2026


Made with 🀍 by Sat Naing πŸ‘¨πŸ»β€πŸ’» and contributors.

Related repositories
Chalarangelo/30-seconds-of-code

Coding articles to level up your development skills

JavaScriptnpmCreative Commons Attribution 4.0 Internationalawesome-listjavascript
30secondsofcode.org
128.5k12.5k
unionlabs/union

The trust-minimized, zero-knowledge bridging protocol, designed for censorship resistance, extremely high security, and usage in decentralized finance.

Rustcrates.ioApache License 2.0blockchaincosmos
union.build
73.9k3.9k
withastro/astro

The web framework for content-driven websites. ⭐️ Star to support our work!

TypeScriptnpmOtherstatic-site-generatorblog
astro.build
61.2k3.6k
yoavbls/pretty-ts-errors

πŸ”΅ Make TypeScript errors prettier and human-readable in VSCode πŸŽ€

TypeScriptnpmMIT Licensetypescriptvscode
marketplace.visualstudio.com/items
14.1k108
uidotdev/usehooks

A collection of modern, server-safe React hooks – from the ui.dev team

MDXMIT Licensereacthooks
usehooks.com
11.5k588
emdash-cms/emdash

EmDash is a full-stack TypeScript CMS based on Astro; the spiritual successor to WordPress

TypeScriptnpmMIT Licenseastrocms
emdashcms.com
11.3k1.1k
withastro/starlight

🌟 Build beautiful, accessible, high-performance documentation websites with Astro

TypeScriptnpmMIT Licenseastrodocs-generator
starlight.astro.build
8.9k1k
anse-app/chatgpt-demo

Minimal web UI for ChatGPT.

TypeScriptnpmMIT Licensechatgptopenai
chatgpt.ddiu.me
8k3.6k
skeletonlabs/skeleton

Skeleton is an adaptive design system powered by Tailwind CSS.

TypeScriptnpmMIT Licensecomponentssvelte
skeleton.dev
6k390
arthelokyo/astrowind

⭕️ AstroWind: A free template using Astro v6 and Tailwind CSS v4. Astro starter theme.

AstroMIT Licenseastrojavascript
astrowind.vercel.app
5.8k1.6k
babaohuang/GeminiProChat

Minimal web UI for GeminiPro.

TypeScriptnpmMIT Licenseastrogemini
geminiprochat.com
4.9k12.5k
saicaca/fuwari

✨A static blog template built with Astro.

AstroMIT Licenseastroblog
fuwari.vercel.app
4.8k1.2k