Transform your Obsidian notes into a beautiful, modern blog with ease. Built with Astro.js for blazing-fast performance and seamless Markdown support.
- 🚀 Blazing Fast: Built with Astro.js for optimal performance and SEO
- 📝 Markdown Support: Write in pure Markdown, just like in Obsidian
- 🎨 Beautiful Design: Modern, responsive layout with dark mode support
- 🏷️ Tag System: Organize posts with tags and browse by categories
- 📱 Mobile-First: Looks great on any device
- 🔍 SEO Optimized: Built-in SEO with OpenGraph and canonical URLs
- 📰 RSS Feed: Automatic RSS feed generation
- 🗺️ Sitemap: Automatic sitemap generation
- 🖼️ Featured Images: Support for post featured images
- 📅 Date-based Sorting: Chronological post organization
- 🌙 Dark Mode: Built-in dark mode support
- Clone the repository:
git clone https://github.com/yourusername/obsidian-blogger.git
cd obsidian-blogger
- Install dependencies:
npm install
-
Configure your site:
- Copy
.env.example
to.env
- Update the environment variables for your deployment
- Copy
-
Start the development server:
npm run dev
- Visit
http://localhost:4321
to see your blog!
- Add your Markdown files to
src/content/blog/
- Include required frontmatter:
---
title: 'Your Post Title'
description: 'Post description for SEO'
publish: true
created_date: 2024-01-19
slug: custom-url
tags:
- tag1
- tag2
---
Field | Required | Description |
---|---|---|
title |
Yes | Post title |
description |
No | SEO description |
publish |
Yes | Set to true to publish |
created_date |
No | Publication date |
slug |
No | Custom URL slug |
tags |
No | Array of tags |
featured_image |
No | Hero image URL |
subtitle |
No | Optional subtitle |
Update src/consts.ts
to modify:
- Site title
- Site description
- Other global constants
- Global styles:
src/styles/global.css
- Component styles: Inline in respective
.astro
files - Theme variables: CSS custom properties in global styles
See DEPLOYMENT.md for detailed deployment instructions for:
- GitHub Pages
- Netlify
- Vercel
- Custom domains
obsidian-blogger/
├── src/
│ ├── components/ # Reusable components
│ ├── content/ # Blog posts and content
│ ├── layouts/ # Page layouts
│ ├── pages/ # Route components
│ ├── styles/ # Global styles
│ └── utils/ # Utility functions
├── public/ # Static assets
├── astro.config.mjs # Astro configuration
└── package.json # Project dependencies
Command | Action |
---|---|
npm run dev |
Start dev server |
npm run build |
Build for production |
npm run preview |
Preview production build |
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
If you find this project helpful, please consider:
- Starring the repository
- Sharing it with others
- Contributing to its development