Built on the Astro Solitude theme, using Astro to build a static blog
geauxcode.dev — Astro Blog Template
By GeauxWeisbeck4
A personal blog project built on the Astro Solitude theme, using Astro with Markdown/MDX authoring and supporting static deployment.
Explore the design
Compare the page layouts and mobile experience. Open any screenshot for a closer look.
Preview provided in the project README.
One original preview is available. Open the full image to inspect the design.
Screenshots show visual appearance; interactive behavior may differ.
What stands out
A quick read of the recorded project description.
Content written in Markdown / MDX, with Shiki syntax highlighting and KaTeX math formulas
Article management capabilities including categories, tags, series, archives, pagination, pinning, drafts, custom URLs, and aliases
Built-in light/dark mode, image lightbox, keyboard shortcuts, context menu, and a music capsule that continues playing across pages
Search supports local search, Algolia, DocSearch, and provides RSS and sitemap
Comments can integrate Twikoo, Waline, Valine, Artalk, Giscus, loaded according to configuration
Template Details
This is GeauxWeisbeck4's personal blog repository geauxcode.dev, generated from the Astro Solitude theme (author @everfu). The project is built with Astro, content is written in Markdown / MDX, and it can output static pages and be deployed to hosting platforms or self-hosted servers.
The theme itself provides fairly complete content organization and reading features: article cards, recommendations, sidebar, table of contents, related articles, copyright notice, and donation links; on the writing side it supports Markdown / MDX, 41 content components, Shiki syntax highlighting, and KaTeX math formulas. Article management covers categories, tags, series, archives, pagination, pinning, drafts, custom URLs, and aliases. There are also pages for About, Links, Equipment, Music, guestbook, short posts, latest comments, and 404.
For interaction and integrations, the theme includes light/dark mode, image lightbox, keyboard shortcuts, context menu, and a music capsule that continues playing across pages; search supports local search, Algolia, DocSearch, and provides RSS and sitemap; comments can integrate Twikoo, Waline, Valine, Artalk, Giscus, loaded according to configuration. The interface defaults to English, with built-in translations for Simplified Chinese, Traditional Chinese, and Spanish.
The repository's sample articles and pages, and local search, are enabled by default; comments, comment aggregation, and online music are disabled under empty service identifiers. Before use, replace sample content, images, and site identity information, and configure your own external services. Switching the interface language will not translate articles or custom navigation.
Is it right for your project?
Use Cases
- Building a personal technical blog or note site and writing continuously with Markdown / MDX
- Needing categories, tags, series, archives, and related articles to organize long-term content
- Wanting to output static files and deploy to hosting platforms or self-hosted servers
- Needing to integrate a comment system, RSS, sitemap, or Algolia / DocSearch search
- Needing reading and interaction details such as light/dark mode, image lightbox, and music capsule
Suitable For
- Personal bloggers familiar with Astro and Markdown / MDX
- Developers who want to publish content statically and self-host or deploy to static hosting platforms
- Site maintainers who need a multilingual interface (English, Simplified Chinese, Traditional Chinese, Spanish)
- Users willing to configure external services such as comments, search, and music themselves
Getting started & customization
Use these recorded setup notes alongside the repository instructions for your chosen version.
- 1
Requires Node.js 22.12.0+ and pnpm, and use the pnpm version specified by packageManager in package.json
- 2
After cloning the repository, run pnpm install --frozen-lockfile and pnpm dev to preview the sample content
- 3
Edit src/site.config.ts to set the site URL, title, author, navigation, and theme options; subdirectory deployment requires setting base
- 4
Sample articles and pages, and local search, are enabled by default; comments, comment aggregation, and online music are disabled under empty service identifiers, and you need to integrate your own services according to the integration guide
- 5
Before publishing, replace sample content, images, and site identity information; switching the interface language will not translate articles or custom navigation
License & source material
Usage conditions & limitations
Free to use · keep license noticeThis entry covers the free version under the Apache-2.0 license in the public repository; the free scope is the code of that version and does not mean external services or third-party assets are free.
Must comply with when using
- Free use, modification, commercial use, and distribution are permitted; when distributing, include the Apache-2.0 license.
- Modified files must be prominently marked as changed, and relevant copyright, patent, trademark, and attribution notices must be retained.
- If the original project includes a NOTICE file, applicable attribution notices in it must be retained when distributing derivative works.
- The license includes an applicable contributor patent grant; initiating patent litigation as described in the license terminates that patent grant, and no trademark use rights are granted.
- The code is provided as-is; warranties and limitations of liability are governed by the original license and applicable law.
Additional costs & items to verify
- Comments, comment aggregation, and online music are disabled by default; you need to integrate third-party services such as Twikoo, Waline, Valine, Artalk, Giscus yourself and configure the corresponding service identifiers, which may involve external accounts or fees.
- Algolia and DocSearch are third-party search services; enabling them requires registering an account and providing API keys yourself, and may be subject to their terms of service and fees.
- Before publishing, you must replace sample articles, images, and site identity information; sample content and images should not be used directly for a formal site.
- Switching the interface language only affects built-in interface text and will not translate article content or custom navigation.
- Running and building require Node.js 22.12.0 or later and the pnpm package manager.
- When modifying or redistributing, you must retain the Apache-2.0 license and copyright notices, and mark modified files.
- Demo images, fonts, icons, and other third-party assets must be checked against their respective licenses and cannot be judged solely by the code's Apache-2.0 license.
- External services such as domain, hosting, database, payment, or AI may incur additional charges.
View Original Text Basis
no-charge, royalty-free, irrevocable copyright license
Original License Text
Comments, comment aggregation, and online music are disabled with empty service identifiers. Follow the [integration guide](docs/integrations.md) to connect your own services.
Original README
Search and feeds**: local search, Algolia, DocSearch, RSS, and sitemap.
Original README
Replace sample content, images, and site identity before publishing.
Original README
Changing the interface locale does not translate posts or custom navigation.
Original README
Install Node.js **22.12.0+** and pnpm.
Original README
https://github.com/GeauxWeisbeck4/geauxcode.dev/blob/main/LICENSEhttps://github.com/GeauxWeisbeck4/geauxcode.dev/blob/main/README.mdRetain the applicable license and copyright notices when modifying or redistributing the project.
Original README
Compiled by DeepSeek based on repository license and README ·2026-10-01. Results only cover the materials read; dependencies, images, fonts, and subsequent term changes are subject to their respective original texts.
Project checks & description sources
Template Information
- Source platforms
- GitHub
- Documentation and maintenance reference score
- Partly documented · 68 / 100
- Technologies
- Astro
- Website type
- Blog
How this score is calculated
Our heuristic uses license records (up to 30), a demo link (12), a preview (10), stars (15), recorded maintenance (15), description completeness (8), feature records (5) and classification data (5). It is not a code, security or performance test, or a Google score. A link does not establish tested functionality.
What to verify for this project
- Repository update recorded
- 2026-09-29
- Screenshot last checked
- 2026-10-01
No demo link is recorded. Use the repository instructions to evaluate the project locally; the screenshot alone cannot establish interactive behavior.
The catalog identifies Astro as the primary stack. Check the actual dependency manifest and lockfile for versions and hosting requirements. These notes use recorded metadata, not a code audit or a deployment test.
Use a selection guide →How this description was prepared
AI-assisted description based on catalog records and repository material. Repository authors are not automatically the reviewers of this description.
Automatically checked against source and license rules; no manual editorial review.
Inspect the recorded source material
SHA-256: 7d9dfc4e1eceb048153aa6616827aaa86af8dd7701459b65da62b777c12adb59
2026-10-01T14:41:03.816Z
Source file / repositoryEnglish 丨 [简体中文](README.zh-CN.md)
<div align="center">
<img src="public/img/logo.png" width="120" height="120" alt="Astro Solitude paper airplane logo" />
# Astro Solitude
A clean, elegant, feature-rich blog theme for Astro.
Build your personal blog with static pages, Markdown / MDX, light and dark modes, and a rich collection of content components.
[](https://astro.build/)
[](package.json)
[](LICENSE)
[](https://github.com/everfu/astro-solitude/actions/workflows/check.yml)
[](https://github.com/everfu/astro-solitude/stargazers)
[Use this template](https://github.com/everfu/astro-solitude/generate) · [Documentation](docs/README.md) · [Quick start](#quick-start) · [Configuration](docs/configuration.md) · [Components](docs/components.md) · [Deployment](docs/deployment.md) · [Report an issue](https://github.com/everfu/astro-solitude/issues)
</div>

## Features
- **Layout and reading**: responsive post cards, recommendations, sidebar, table of contents, related posts, copyright notices, and donation links.
- **Writing**: Markdown / MDX, 41 content components, Shiki syntax highlighting, and KaTeX math rendering.
- **Post management**: categories, tags, series, archives, pagination, pinned posts, drafts, custom URLs, and aliases.
- **Special pages**: About, Links, Equipment, Music, Message Board, short posts, Recent Comments, and 404.
- **Interactions**: light and dark modes, image lightbox, keyboard shortcuts, context menu, and a music capsule that persists across page navigation.
- **Search and feeds**: local search, Algolia, DocSearch, RSS, and sitemap.
- **Comments**: Twikoo, Waline, Valine, Artalk, and Giscus, loaded according to configuration.
- **Interface languages**: English by default, with Simplified Chinese, Traditional Chinese, and Spanish.
- **Static deployment**: generate static files for a hosting platform or your own server.
## Quick start
### 1. Get the project
Install Node.js **22.12.0+** and pnpm. Use the pnpm version specified in the `packageManager` field of [package.json](package.json).
Click [Use this template](https://github.com/everfu/astro-solitude/generate) to create an independent repository, then clone your copy (replace `YOUR_NAME` and `my-blog`):
```sh
git clone https://github.com/YOUR_NAME/my-blog.git
cd my-blog
pnpm install --frozen-lockfile
pnpm dev
```
Open the local URL shown in your terminal to preview the theme and sample content.
### 2. Configure your site
Edit [`src/site.config.ts`](src/site.config.ts) to set your site URL, title, author, navigation, and theme options. Here is a minimal configuration:
```ts
import { defineSolitudeConfig } from './lib/config';
export default defineSolitudeConfig({
site: 'https://example.com',
title: 'My blog',
description: 'Notes, stories, and discoveries.',
locale: 'en',
author: { name: 'Your name' },
});
```
For a site hosted under a subdirectory, also set `base`, for example `base: '/blog/'`. See [Configuration](docs/configuration.md) for all options.
The template includes sample posts and pages with local search enabled. Comments, comment aggregation, and online music are disabled with empty service identifiers. Follow the [integration guide](docs/integrations.md) to connect your own services. Replace sample content, images, and site identity before publishing. Changing the interface locale does not translate posts or custom navigation.
### 3. Start writing
Create a Markdown or MDX file in `src/content/posts/`, such as `hello-world.md`:
```md
---
title: Hello, world
date: 2026-09-11
description: My first post.
tags: [Life]
---
Start your story here.
```
The default URL is `/p/hello-world/`. Use `slug`, `url`, and `aliases` to customize addresses. Set `draft: true` for drafts, or `home: false` to hide a post from homepage areas while keeping it in archives, search, RSS, and direct links.
See [Front matter](docs/writing.md#front-matter) and [MDX components](docs/components.md) for more writing options.
### 4. Build and deploy
```sh
pnpm build
pnpm preview
```
Publish the generated `dist/` directory to your hosting platform. Set the build command to `pnpm build` and the output directory to `dist`. Use `pnpm install --frozen-lockfile` during dependency installation.
See [Deployment](docs/deployment.md) for hosting instructions and path configuration.
## Documentation
The template, sample content, and documentation use English by default. Built-in interface translations are available in Simplified Chinese, Traditional Chinese, and Spanish. Start with the [documentation index](docs/README.md).
| Guide | Contents |
| ------------------------------------------ | --------------------------------------------------------- |
| [Getting started](docs/getting-started.md) | Create a template copy, install, write your first post |
| [Configuration](docs/configuration.md) | Site identity, appearance, navigation, defaults |
| [Writing](docs/writing.md) | Front matter, drafts, categories, URLs, feeds |
| [Pages](docs/pages.md) | About, links, equipment, short updates |
| [Components](docs/components.md) | Usage, parameters, and examples for all 41 MDX components |
| [Integrations](docs/integrations.md) | Comments, music, external search |
| [Deployment](docs/deployment.md) | GitHub Pages, static hosts, subpaths |
| [Hugo import](docs/migration.md) | Preview, export, verify migrated content |
| [FAQ](docs/faq.md) | Troubleshooting and theme updates |
<details>
<summary>More previews: dark mode and mobile reading</summary>


</details>
## Project structure
```text
astro-solitude/
├── public/ # Images, fonts, and other static assets
├── src/
│ ├── components/ # Theme and MDX components
│ ├── content/
│ │ ├── posts/ # Blog posts
│ │ └── pages/ # Custom pages
│ ├── data/ # About, links, equipment, and short-post data
│ ├── layouts/ # Page layouts
│ ├── pages/ # Astro routes
│ ├── styles/custom.css # Custom styles
│ └── site.config.ts # Site configuration
├── docs/ # Documentation
└── astro.config.mjs # Astro configuration
```
## Contributing
Use [Issues](https://github.com/everfu/astro-solitude/issues) for bug reports and suggestions. [Pull requests](https://github.com/everfu/astro-solitude/pulls) improving the theme, documentation, and translations are welcome. Include reproduction steps, your environment, and relevant configuration when reporting a problem.
Run these checks before submitting changes:
```sh
pnpm docs:check
pnpm check
pnpm build
pnpm test
```
For changes to page interactions, also run the browser tests:
```sh
pnpm build:fixture
pnpm exec playwright install chromium
pnpm test:e2e
```
Browser tests use an isolated fixture site. Mocked third-party tests do not establish that live services work. See the [development validation report](docs/parity.md) for test coverage and source comparisons.
## License
[Apache-2.0](LICENSE) License © 2026–present [everfu](https://github.com/everfu). Retain the applicable license and copyright notices when modifying or redistributing the project.
Explore similar templates
Compare previews and descriptions within the same stack and category.

astrowind
AstroWind is a free, open-source Astro starter theme using Astro and Tailwind CSS, released under the MIT license.
Astro · Blog

astro-paper
AstroPaper is a minimal, responsive, accessible, and SEO-friendly Astro blog theme. Articles are stored as Markdown/MDX in src/content/posts/, with subdirectories affecting URLs.
Astro · Blog

fuwari
Fuwari is a static blog template built with Astro and Tailwind CSS for personal blogs. It manages posts as Markdown files in src/content/posts/, with frontmatter for title, date, description, cover, tags, categories, draft status, and language.
Astro · Blog

Firefly
Firefly is a clean personal blog theme forked from Astro and Fuwari, offering four background modes, single/double sidebar and list/grid layouts, Pagefind client-side full-text search, and a six-language UI.
Astro · Blog

astro-theme-cactus
Astro Cactus is an Astro-based blog and portfolio theme that uses Markdown/MDX content collections to manage posts, notes, and tags, with frontmatter type-checked by a schema.
Astro · Portfolio

astrofy
Astrofy is a free and open-source personal portfolio website template built with Astro and TailwindCSS, with built-in blog, CV timeline, project showcase, store, and RSS feed modules.
Astro · Portfolio
