A software developer blog built with Astro and the MultiTerm theme. Features technical tutorials, project showcases, and development insights.
- 59 Color Themes - Interactive theme selector with popular coding themes
- MDX Support - Write posts in Markdown with JSX components
- Content Collections - Type-safe content management with Astro
- Search - Full-text search powered by Pagefind
- RSS Feed - Automatic RSS generation
- Sitemap - SEO-friendly sitemap generation
- Syntax Highlighting - Code blocks with line numbers and theme support
- Math Support - LaTeX math rendering with KaTeX
- Responsive Design - Mobile-first responsive layout
/
├── public/ # Static assets
├── src/
│ ├── components/ # Reusable Astro components
│ ├── content/ # Blog posts and content
│ │ └── posts/ # Individual blog posts
│ ├── layouts/ # Page layouts
│ ├── pages/ # Route pages
│ ├── styles/ # Global styles
│ └── site.config.ts # Site configuration
├── astro.config.mjs # Astro configuration
└── package.json
All commands are run from the root of the project:
Command | Action |
---|---|
npm install |
Install dependencies |
npm run dev |
Start local dev server at localhost:4321 |
npm run build |
Build production site to ./dist/ |
npm run postbuild |
Generate search index after build |
npm run preview |
Preview build locally before deploying |
npm run format |
Format code with Prettier |
# Start development server
npm run dev
# Make changes to your blog
# ... edit content, add posts, customize theme ...
# Commit changes
git add .
git commit -m "Add new blog post about X"
# Push to both repositories
git push origin main # Push to homelab Gitea (primary)
git push github main # Push to GitHub (public/Netlify)
# Or push to both at once
git push origin main && git push github main
# Create new blog post
touch src/content/posts/my-new-post.md
# Edit the post with your content
# Add frontmatter and markdown content
# Test locally
npm run dev
# Build and preview
npm run build
npm run preview
# Commit and deploy
git add .
git commit -m "Add post: My New Post"
git push origin main && git push github main
- Create a new
.md
or.mdx
file insrc/content/posts/
- Add frontmatter with required fields:
---
title: "Your Post Title"
description: "Brief description of your post"
publishDate: "2024-01-01"
tags: ["tag1", "tag2"]
---
- Technical Tutorials - Step-by-step guides and how-tos
- Project Showcases - Detailed project breakdowns and case studies
- Development Insights - Thoughts on development practices and tools
- Code Blocks - Syntax highlighting with line numbers
- Math Equations - LaTeX support via KaTeX
- Images - Optimized image handling
- Callouts - Custom directive components
- External Links - Automatic external link handling
Edit src/site.config.ts
to customize:
- Site metadata (title, description, author)
- Navigation links
- Social media links
- Theme settings
- SEO configuration
- Global styles:
src/styles/global.css
- Component styles: Individual component files
- Theme colors: Configured via the theme selector
- Build the site:
npm run build
- Deploy the
dist/
folder to your hosting provider
- Connect your GitHub repository to Netlify
- Set build command:
npm run build
- Set publish directory:
dist
- Configure custom domain in Netlify settings
This site is configured for akora.dev
domain. Update site.config.ts
if using a different domain.
The project is designed to be portable and isolated:
- All dependencies are managed via
package.json
- Configuration is centralized in
site.config.ts
- Content is stored in version-controlled markdown files
- No external database dependencies
- Fork the repository
- Create a feature branch
- Make your changes
- Test locally with
npm run dev
- Submit a pull request
This project is based on the MultiTerm theme by stelcodes.