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