AstroBlog

dong — Astro Blog Template

By riceball-tw

An Astro v7 blog theme with built-in i18n, Pagefind search, and OG image generation, plus CI/CD pipelines.

Explore the design

Compare the page layouts and mobile experience. Open any screenshot for a closer look.

3 previews
Desktop homepage1 / 3
Desktop capture

The actual desktop layout captured from the demo homepage.

All pages & views 3

Screenshots show visual appearance; interactive behavior may differ.

Recorded 2026-09-27View source

What stands out

A quick read of the recorded project description.

01

Built on Astro v7, with content written as typed Markdown/MDX

02

Separates long-form posts from short posts as two publishing forms

03

Built-in i18n, Pagefind search, and OG image generation and caching via vercel/og

04

Code blocks and Mermaid diagrams rendered with expressive-code and remark-mermaid

05

Comes with a CI pipeline using TypeScript, Biome, Cypress, and Lighthouse

06

CD supports Cloudflare Pages or GitHub Pages, plus a Docker build option

Template Details

Dong is the result of its author turning a personal blog run for years into an open-source theme. It is built on Astro v7 and positioned as a content-focused blog site. Content is split into two types: regular long-form posts and short posts, both managed as typed Markdown/MDX. Site configuration, articles, and i18n copy live under /src/content and /src/i18n respectively, keeping customization entry points relatively centralized.

Feature-wise it is fairly complete: built-in multilingual support, Pagefind site search, Open Graph images generated and cached via vercel/og, Google Analytics, and code blocks and Mermaid diagrams rendered by expressive-code and remark-mermaid respectively. The repository also includes a CI pipeline composed of TypeScript, Biome, Cypress E2E, and Lighthouse, plus CD configuration for Cloudflare Pages or GitHub Pages, and a Docker build option. The README claims a perfect Lighthouse score; this is the author's own statement, so actual deployment results should be treated as authoritative.

The main barrier to use is on the engineering side: familiarity with pnpm, Astro configuration, and content collections is required, and you must prepare your own .env (refer to .env.example) and deployment target. The clone command in the README points to the letter repository, which is inconsistent with dong, so it needs to be verified before starting; whether capabilities such as Google Analytics and OG images work out of the box should also be confirmed by running the demo and a local build first.

AstroBlog

Is it right for your project?

Use Cases

  • Building a personal technical blog with multilingual support
  • A writing site that needs to publish long-form and short content in parallel
  • Astro projects that want to deploy directly to Pages platforms using ready-made CI/CD configuration

Suitable For

  • Front-end developers familiar with Astro and pnpm workflows
  • Personal bloggers willing to maintain content and translation files according to directory conventions
  • Projects that need a coherent set of features such as site search, OG images, and multilingual support

Getting started & customization

Use these recorded setup notes alongside the repository instructions for your chosen version.

  1. 1

    The clone command in the README points to the letter repository; the dong repository address should actually be used

  2. 2

    Environment variables must be prepared according to .env.example, especially CI/CD-related configuration

  3. 3

    Set the correct site URL in astro.config.mjs before deployment

  4. 4

    The perfect Lighthouse score and feature availability are the author's own claims; verify them yourself after a local build

Read repository instructions

License & source material

Usage conditions & limitations

Free to use · keep license notice

This entry covers the free MIT version in the public repository; the free scope applies to that version's code and does not mean external services or third-party assets are free.

Must comply with when using

  • When using, modifying, or distributing the code, retain the original author's copyright notice and the full MIT license.
  • Free use, modification, and commercial use are permitted, as is distribution of the code; distribution must still include the copyright and license notice.
  • The code is provided as is, without warranties; the MIT license also disclaims author and copyright-holder liability.

Additional costs & items to verify

  • Demo images, fonts, icons, and other third-party assets must be checked against their respective licenses; the code's MIT license alone is not sufficient to judge them.
  • External services such as domains, hosting, databases, payments, or AI may incur separate charges.
View Original Text Basis

Based on the full MIT license and the repository README · 2026-09-27. 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
Astro Themes
Documentation and maintenance reference score
More documented · 87 / 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-19
Screenshot last checked
2026-09-27

A demo link is listed. Check it with your own content and viewport sizes; its presence does not confirm that forms, authentication or payments work.

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.

Review declaration: Codex(本次来源核对) · 2026-09-27

Inspect the recorded source material

SHA-256: 82a27ec9a5a1d848b1c2f5d612675faad6193cd0589f94bb1f31e8d835871c9b

2026-09-27T12:10:43.752Z

Source file / repository
<div align="center">
  <img alt="logo" src="./src/assets/images/brand/logo.svg#gh-light-mode-only" width="64" />
  <img alt="logo" src="./src/assets/images/readme/logo-light.svg#gh-dark-mode-only" width="64" />
</div>
<h1 align="center">
  Dong Blog
</h1>

<div align="center">
A battle-tested, feature-rich blog theme powered by Astro v7
</div>

<br />

> [!TIP]
> Been building [my blog](https://www.webdong.dev/en/) for years — so I turned it into an open-source theme. <br />
> You might be intrested in building personal site too, Check out [Letter Portfolio theme](https://github.com/riceball-tw/letter)!


## Key Features

Start your online [posts](https://riceball-tw.github.io/dong/en/post/) or [shortposts](https://riceball-tw.github.io/dong/en/shortpost/) through fully typed markdown and settings. Check out the [GitHub Pages Demo](https://riceball-tw.github.io/dong/en/).

- Optimize for speed (100% lighthouse score)
- Responsive & SEO-friendly
- Built-in i18n
- content
  - Open Graph image generation through [vercel/og](https://vercel.com/docs/og-image-generation) with cache
  - Page search through [Pagefind](https://pagefind.app/)
  - Google Analytic
  - Beautiful code block & Mermaid diagram using [expressive-code](https://github.com/expressive-code/expressive-code) and [remark-mermaid](https://github.com/temando/remark-mermaid)
- CI pipeline (TypeScript / [Biome linter](https://biomejs.dev/) / [Cypress E2E testing](https://www.cypress.io/) / [Lighthouse](https://github.com/GoogleChrome/lighthouse))
- CD pipeline ([Cloudflare Pages](https://pages.cloudflare.com/) or [GitHub Pages](https://pages.github.com/))

## Getting Started

### Development

```bash
# 1. Clone the repository
git clone https://github.com/riceball-tw/letter.git .

# 2. Install dependencies
pnpm install

# 3. Run development server
pnpm run dev
```

### Build

```bash
# a. Locally
# Deploy the contents of the `./dist` folder wherever you like.
pnpm install
pnpm build
pnpm preview

# b. Build docker image
docker build -t <your-astro-image-name> .
docker run -p <local-port>:<container-port> <your-astro-image-name>
```

### Customization

1. `astro.config.mjs`: Astro configs
    - `site`: Your final, deployed URL
2. `/src/content`: Site config, posts, shortposts (Markdown / MDX)
3. `/src/i18n`: Translations used in astro templates
4. `/public`: Assets used in the site (favicon, og image)
5. `/src/assets`: Assets used in the site (logo, logomark)
6. `/src/styles/global.css`: Styles
7. `/.github/workflows/testing-and-deploy-pipeline.yml`: GitHub CI/CD pipeline (setup `.env` base on `.env.example`)

## Helping out

For questions or support, please open an issue on GitHub.

## License

MIT
Report a correction

Explore similar templates

Compare previews and descriptions within the same stack and category.