Blog 📄
AstroPaper is a minimal, responsive and SEO-friendly Astro blog theme. This theme is designed and crafted based on my personal blog.
This theme is aimed to be accessible out of the box. Light and dark mode are supported by default and additional color schemes can also be configured.
This theme is self-documented _ which means articles/posts in this theme can also be considered as documentations. So, see the documentation for more info.
🔥 Features
- super fast performance
- fully responsive and accessible
- SEO-friendly
- light & dark mode
- fuzzy search
- draft posts & pagination
- sitemap & rss feed
- highly customizable
🚀 Project Structure
Inside of AstroPaper, you'll see the following folders and files:
/
├── public/
│ ├── assets/
│ │ └── logo.svg
│ │ └── logo.png
│ └── favicon.svg
│ └── default-og.png
│ └── robots.txt
├── src/
│ ├── assets/
│ │ └── socialIcons.ts
│ ├── components/
│ ├── contents/
│ │ └── some-blog-posts.md
│ ├── layouts/
│ └── pages/
│ └── styles/
│ └── utils/
│ └── config.ts
│ └── types.ts
└── package.json
Astro looks for .astro
or .md
files in the src/pages/
directory. Each page is exposed as a route based on its file name.
Any static assets, like images, can be placed in the public/
directory.
All blog posts are stored in src/contents/
directory.
📖 Documentation
Documentation can be read in two formats_ markdown & blog post.
- Configuration - markdown | blog post
- Add Posts - markdown | blog post
- Customize Color Schemes - markdown | blog post
- Predefined Color Schemes - markdown | blog post
💻 Tech Stack
Main Framework - Astro Type Checking - TypeScript Component Framework - ReactJS Styling - TailwindCSS UI/UX - Figma Fuzzy Search - FuseJS Icons - Boxicons | Tablers Deployment - Cloudflare Pages Illustration in About Page - https://freesvgillustration.com
👨🏻💻 Running Locally
The easiest way to run this project locally is to run the following command in your desired directory.
npm create astro@latest -- --template satnaing/astro-paper
Don't forget to remove Google site varification.
# in your project directory
rm -rf public/googlebbcd930f1ecacd3a.html
🧞 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:3000 |
npm run build |
Build your production site to ./dist/ |
npm run preview |
Preview your build locally, before deploying |
npm run format:check |
Check code format with Prettier |
npm run format |
Format codes with Prettier |
npm run cz |
Commit code changes with commitizen |
npm run astro ... |
Run CLI commands like astro add , astro preview |
npm run astro --help |
Get help using the Astro CLI |
✨ 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 © 2022
Made with 🤍 by Sat Naing 👨🏻💻