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:
bun install-
Configure your site:
- Copy
.env.exampleto.env - Update the environment variables for your deployment
- Copy
-
Start the development server:
bun dev- Visit
http://localhost:4321to 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/shared/config/consts.ts to modify:
- Site title
- Site description
- Other global constants
- Global styles:
src/styles/global.css - Theme variables:
src/styles/theme.css - Component styles: Inline in respective
.astrofiles
See DEPLOYMENT.md for detailed deployment instructions for:
- GitHub Pages
- Netlify
- Vercel
- Custom domains
obsidian-blogger/
├── src/
│ ├── features/ # Domain-specific features (blog, newsletter)
│ ├── shared/ # Shared components, utils, config
│ ├── content/ # Blog posts and content
│ ├── layouts/ # Page layouts
│ ├── pages/ # Route components
│ ├── styles/ # Global styles
│ └── assets/ # Static assets (images)
├── public/ # Public assets
├── astro.config.mjs # Astro configuration
├── biome.json # Biome linter/formatter config
└── package.json # Project dependencies
| Command | Action |
|---|---|
bun dev |
Start dev server |
bun run build |
Build for production |
bun run preview |
Preview production build |
bun run lint |
Run Biome linter |
bun run format |
Format code with Biome |
bun run check |
Run Biome check + TypeScript type check |
bun run type-check |
Run TypeScript type checking only |
bun run deps:check |
Check for dependency updates (using ncu) |
bun run deps:update |
Update dependencies and install |
- Biome: Fast linter and formatter (replaces ESLint + Prettier)
- TypeScript Strict: Maximum type safety
- Husky: Pre-commit hooks with Biome check
- commitlint: Conventional commit messages
# Install all dependencies
bun install
# Initialize Git hooks
bun run prepare
# Run all checks
bun run checkThis project uses GitHub Actions (CI) + Cloudflare Pages (CD).
- Biome lint and format check
- TypeScript type check
- Project build verification
- Lighthouse performance (PR only)
- Production:
main→ https://log8.kr - Preview:
develop→ https://*.pages.dev - PR Previews: Auto-generated
See .github/workflows/ for workflow files.
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
- Development Guide - Development setup and guidelines
- Design System Guide - Color system & style guide
- Production Best Practices - Production best practices
- Setup Production Tools - Development tools setup
- Publishing Workflow Guide - Obsidian → Astro publishing process
- SEO Optimization Guide - Blog post SEO/AEO optimization
- Markdown Writing Guide - Markdown writing guide
- Deployment Guide - Multi-platform deployment guide
- Environment Setup - Astro configuration
- Framework: Astro v5.16.x
- Styling: TailwindCSS v4.1.x (with @tailwindcss/vite)
- Package Manager: Bun
- Code Quality: Biome (linter + formatter)
- Font: Pretendard (Korean optimized)
- SEO: Built-in SEO/AEO optimization