Terminal-like blog theme built from [Astro] https://lab.gb0.dev
Find a file Use this template
2025-05-31 19:20:04 +08:00
.idea chore: exclude wrangler directory from git 2025-05-31 19:20:04 +08:00
.vscode initial commit 2025-05-01 16:53:18 +08:00
public refactor: use imported svg to display logos 2025-05-18 17:01:00 +08:00
src feat: add umami analytics 2025-05-31 19:17:14 +08:00
.gitignore chore: exclude wrangler directory from git 2025-05-31 19:20:04 +08:00
astro.config.mjs feat: add fediverse comments server render mode support 2025-05-10 23:28:59 +08:00
CONTRIBUTING.md chore(docs): add contributing guide 2025-05-19 22:49:16 +08:00
LICENSE initial commit 2025-05-01 16:53:18 +08:00
package.json refactor: rewrite search component with fastsearch 2025-05-22 22:54:13 +08:00
pnpm-lock.yaml refactor: rewrite search component with fastsearch 2025-05-22 22:54:13 +08:00
README.md chore(docs): update roadmap 2025-05-23 22:36:17 +08:00
staticwebapp.config.json chore(static web apps): fix 404 page 2025-05-18 16:48:51 +08:00
swa-cli.config.json chore: add azure static web app deployment config 2025-05-13 21:08:25 +08:00
tsconfig.json initial commit 2025-05-01 16:53:18 +08:00

Mercury

Terminal-like blog theme built from Astro, still in early beta.

Demo: https://icy-beach-00f5be01e.6.azurestaticapps.net/

🧑‍🚀 Seasoned astronaut? Delete this file. Have fun!

🌌 Features

  • Minimal, terminal like
  • Ship only necessary JavaScript
  • Full text search based on Fuse.js
  • Full text RSS
  • Create Blogrolls via a yaml file
  • Your status at Fediverse, now at your home
  • Comments powered by multiple engines

🚀 Getting Started

clone the repo and install dependencies:

git clone https://git.gb0.dev/gb/mercury.git
cd mercury && pnpm install

run the dev server:

pnpm run dev

open localhost:4321 in your browser.

🔧 Usage

All you need is editing the astro.config.mjs's site & base.

For further config, edit src/config.ts according to the comment.

To start writing, put your markdown & mdx files to /src/content/posts folder.

To create a page, put markdown files into /src/content/pages folder.

Shortcode-like components is also available at /src/components/shortcodes folder.

🧞 Commands

All commands are run from the root of the project, from a terminal:

Command Action
pnpm install Installs dependencies
pnpm run dev Starts local dev server at localhost:4321
pnpm run build Build your production site to ./dist/
pnpm run preview Preview your build locally, before deploying
pnpm run astro ... Run CLI commands like astro add, astro check
pnpm run astro -- --help Get help using the Astro CLI

🗺 Roadmap

  • Initial project setup
  • Basic theme implementation
  • Better full-text search without Fuse.js
  • A mode to make the site 0 javascript
  • Multiple authors via YAML
  • i18n support
  • Integrate with Fediverse w/ activityPub
  • Plain text version when visiting the site via curl
  • Better support for printing version
  • Add support for more comment engines
  • Add support for umami statics
  • Improve documentation
  • Release v1.0

👀 Want to learn more?

See the post 🕊. I hope you like it. 💜

😊 Special Thanks

The terminal theme from bearblog is cool, and it inspired me to create a theme like this.

Bolt by StackBlitz (anyway I'm not affiliated with them) helps me to create a starter template from screenshot when I don't know where to start, the one now is much different from the template though.

Other tools like GitHub Copilot helps too.

(I know the LLMs sometimes sucks, but it really helps most of the time)

Also delucis/astro-blog-full-text-rss for implementing full text RSS in pretty easy way

⚖️ License

GNU Affero Public License 3.0