Note: This project is a fork of barebones blog with enhanced features and improved UI.
A minimal blog template built with Astro. Perfect for developers who want a clean, fast, and customizable blog without the bloat.
- Minimal and fast: Built with Astro for optimal performance and minimal JavaScript
- SEO-friendly: Sitemap, RSS feed, and Open Graph protocol support out of the box
- Accessible: System, dark, and light mode support with keyboard navigation
- Developer-friendly: TypeScript, Tailwind CSS, and modern tooling
- MDX support: Write interactive blog posts with custom components including built-in InfoBox admonitions
- Comments system: Built-in support for Giscus comments
- CLI tool: Create and manage blog posts and projects from the command line
- Click the "Use this template" button at the top of the repository
- Clone your new repository to your local machine
- Install dependencies:
pnpm install
- Update
src/siteConfig.ts
with your site details - Add your content to
src/content/blog/
andsrc/content/projects/
its that easy! - Start writing and customizing!
- Update site configuration in
src/siteConfig.ts
- Modify colors and styling in
src/styles/
- Add your content in
src/content/blog/
TinyBones comes with a built-in CLI tool to help you manage your blog content:
- Set up the CLI tool:
pnpm setup-cli
- Use it to manage your blog:
- Create a new blog post:
tinybones create new-post
- Create a new project:
tinybones create new-project
- List all posts:
tinybones list posts
- List all projects:
tinybones list projects
- Update template:
tinybones update
- Create a new blog post:
For more details, see the CLI documentation.
TinyBones includes a built-in update mechanism that allows you to get the latest template improvements while preserving your content. To update your TinyBones-based blog:
- Make sure you have committed all your changes (or create a backup)
- Run:
tinybones update
(or the legacy command:pnpm update-template
) - Review the changes and resolve any conflicts if needed
- Commit the updated code to your repository
The update script preserves the following directories and files:
- Your content:
src/content/
- Your site configuration:
src/siteConfig.ts
- Your public assets:
public/
To build your blog for production, run:
pnpm build
This will generate static files in the dist/
directory. You can then deploy these files to any static hosting provider like Vercel, Netlify, or my favorite Cloudflare Pages (which is completely free and super easy). For most providers all you have to do is link your GitHub repository and set your build command to pnpm build
and your output directory to dist/
.
This project exclusively uses pnpm as its package manager for several reasons:
- Disk space efficiency: pnpm uses a content-addressable store to avoid duplication
- Faster installations: pnpm creates hard links instead of copying packages
- Strict dependency management: prevents phantom dependencies
- Monorepo support: built-in workspace capabilities