AstroBlog

astro-theme-pure — Astro Blog Template

By cworld1

Astro Theme Pure is an Astro-based blog and documentation theme under the Apache-2.0 license, featuring built-in site-wide search, table of contents, RSS, and dynamic OG image generation.

Explore the design

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

3 previews
Desktop homepage1 / 3
Desktop captureTop of page

Actual screenshot captured by the server browser.

All pages & views 3

Screenshots show visual appearance; interactive behavior may differ.

Recorded 2026-09-30View source

What stands out

A quick read of the recorded project description.

01

Built with Astro, outputs a static site, and can be deployed to any static hosting platform

02

Built-in site-wide search powered by pagefind, plus sitemap and RSS output

03

Provides article table of contents, dynamic Open Graph image generation, and a Mediumzoom image lightbox

04

Includes components such as Aside, Tabs, Timeline, Steps, Spoiler, GithubCard, LinkPreview, Quote, and QRCode

05

Under the Apache-2.0 license, allowing modification, commercial use, and distribution

06

Covers both blog and documentation content scenarios

Template Details

Astro Theme Pure is maintained by cworld1 and is an Astro theme for blog and documentation use cases. The repository is under the Apache-2.0 license, and the demo site is astro-pure.js.org. The theme provides a responsive layout, site-wide search (powered by pagefind), sitemap and RSS, article table of contents, dynamic Open Graph image generation, and a Mediumzoom image lightbox, along with reusable components such as Aside, Tabs, Timeline, Steps, Spoiler, GithubCard, LinkPreview, Quote, and QRCode.

For usage, the project requires Node.js 22.12.0 or newer (Astro does not support odd-numbered Node.js versions). Dependency installation and the development server can be run via Bun, pnpm, yarn, or npm, with the default development port being 4321. Site configuration is centralized in src/site.config.ts. New articles can be created with the bun pure new command. Build output goes to the ./dist directory and can be deployed to any static hosting platform. Deployment entry points for Vercel and Netlify are also provided, along with Docker and Docker Compose support.

Note that the README explicitly states that the Header and customization options are still under development (the template still exposes related configuration), so these capabilities may not yet be stable. Third-party assets such as demo images, fonts, and icons must be checked separately under their respective licenses; the Apache-2.0 license for the code does not cover these assets. External services such as domains and hosting may also incur costs.

AstroBlog

Is it right for your project?

Use Cases

  • Building a personal blog and publishing articles with images and text
  • Setting up a project documentation site and browsing content with a table of contents and site-wide search
  • Using components such as Aside, Tabs, and Timeline in articles to organize explanatory content
  • Distributing content via RSS and sitemap, and improving share presentation with dynamic OG images
  • Deploying build output to Vercel, Netlify, or other static hosting platforms

Suitable For

  • Developers using Astro who want a ready-made foundation for blogs and documentation
  • Maintainers of personal sites who need static output and can choose their own hosting platform
  • Users who accept centralized site configuration in src/site.config.ts
  • Users who can perform local development with Bun, pnpm, yarn, or npm

Getting started & customization

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

  1. 1

    Requires Node.js 22.12.0 or newer; Astro does not support odd-numbered Node.js versions such as 23

  2. 2

    After cloning the repository, edit src/site.config.ts to customize the site, then install dependencies and start the development server

  3. 3

    The development server runs at http://localhost:4321 by default

  4. 4

    Use bun pure new to create a new blog post, and bun run build to generate static output in ./dist

  5. 5

    The README states that the Header and customization options are still under development, and related configuration may not yet be stable

Read repository instructions

License & source material

Usage conditions & limitations

Free to use · keep license notice

This entry covers the free version under the Apache-2.0 license in the public repository; the free scope is the code of this version and does not mean that external services or third-party assets are free.

Must comply with when using

  • Free use, modification, commercial use, and distribution are permitted; when distributing, the Apache-2.0 license must be included.
  • Modified files must prominently indicate changes, 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 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

  • Using this theme requires Node.js 22.12.0 or newer, and Astro does not support odd-numbered Node.js versions such as 23; development and builds will not work properly if the environment does not meet these requirements.
  • The README explicitly states that the Header and customization options are still under development, and related configuration may be unstable; these are known incomplete features and should not be treated as ready capabilities.
  • To reuse theme components in other Astro projects, UnoCSS must be additionally introduced; otherwise, the components will not work as expected.
  • Deploying to different static hosting platforms may require modifying the astro.config.ts configuration and is not out-of-the-box.
  • Demo images, fonts, icons, and other third-party assets must be checked under their respective licenses and cannot be judged solely by the code's Apache-2.0 license.
  • External services such as domains, hosting, databases, payments, or AI may incur additional charges.
View Original Text Basis

no-charge, royalty-free, irrevocable copyright license

Original License Text

Astro 6.0+ requires Node.js 22.12.0 or newer. Odd-numbered Node.js versions such as 23 are not supported by Astro.

Original README

Known issues: Header & customize options is still under development (template exposed still).

Original README

For other astro projects, UnoCSS is required.

Original README

Depending on the deployment platform you choose, you may need to modify the `astro.config.ts` configuration file in the project.

Original README
https://github.com/cworld1/astro-theme-pure/blob/main/LICENSEhttps://github.com/cworld1/astro-theme-pure/blob/main/README.md

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
More documented · 95 / 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-26
Screenshot last checked
2026-10-01

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.

Automatically checked against source and license rules; no manual editorial review.

Inspect the recorded source material

SHA-256: d24aa04abaee6f1abd1224d339d7fd5bd934893ed9daff037e8b57e15ddb1f45

2026-10-01T13:32:29.381Z

Source file / repository
# Astro Theme Pure

English | [简体中文](./README-zh-CN.md)

A simple, fast and powerful blog & document theme built by Astro.

[![GitHub deployments](https://img.shields.io/github/deployments/cworld1/astro-theme-pure/production?style=flat&logo=vercel&label=vercel)](https://astro-pure.js.org/)
[![NPM Version](https://img.shields.io/npm/v/astro-pure?logo=npm&style=flat)](https://www.npmjs.com/package/astro-pure)
[![GitHub Release](https://img.shields.io/github/v/release/cworld1/astro-theme-pure?include_prereleases&style=flat&label=template)](https://github.com/cworld1/astro-theme-pure/releases)
[![GitHub License](https://img.shields.io/github/license/cworld1/astro-theme-pure?style=flat)](https://github.com/cworld1/astro-theme-pure/blob/main/LICENSE)

![image](./.github/assets/header.webp)
![image](./.github/assets/body.webp)

> [!NOTE]
> Known issues: Header & customize options is still under development (template exposed still).

## Introduction

Checkout [Demo Site →](https://astro-pure.js.org/)

### :fire: Features

- [x] :rocket: Fast & high performance
- [x] :star: Simple & clean design
- [x] :iphone: Responsive design
- [x] :mag: Full-site search built with [pagefind](https://pagefind.app/)
- [x] :world_map: Sitemap & RSS feed
- [x] :spider_web: SEO-friendly
- [x] :book: TOC (table of contents)
- [x] :framed_picture: Dynamic open graph generation for posts
- [x] :framed_picture: Mediumzoom lightbox for images

### :package: Components

Theme includes a lot of components, which can not only be used in the theme, but also in other astro projects.

> For other astro projects, UnoCSS is required. See [Package README](https://github.com/cworld1/astro-theme-pure/blob/main/packages/pure/README.md#use-with-common-astro-project) for more details.

- Basic components: `Aside`, `Tabs`, `Timeline`, `Steps`, `Spoiler`...
- Advanced components: `GithubCard`, `LinkPreview`, `Quote`, `QRCode`...

### :white_check_mark: Lighthouse score

[![lighthouse-score](./.github/assets/lighthouse-score.png)](https://pagespeed.web.dev/analysis/https-cworld-top/o229zrt5o4?form_factor=mobile&hl=en)

## Documentation

[Docs](https://astro-pure.js.org/docs) | [Showcase](https://github.com/cworld1/astro-theme-pure/issues/10)

## Package

See [astro-theme-pure](https://www.npmjs.com/package/astro-pure) on npm.

## Local development

### Environment requirements

> [!WARNING]
> Astro 6.0+ requires Node.js 22.12.0 or newer. Odd-numbered Node.js versions such as 23 are not supported by Astro.

You can choose one of the following methods for project development:

- [Bun](https://bun.com/get)
- [Node.js](https://nodejs.org/)

For deployment methods using container like [Docker](https://docs.docker.com/get-started/get-docker) & [Docker Compose](https://docs.docker.com/compose/install), please refer the documention [Using Docker Compose](https://astro-pure.js.org/docs/setup/using-docker-compose).

### Getting started

1. Clone the repository and enter the directory:

   ```shell
   git clone https://github.com/cworld1/astro-theme-pure.git
   cd astro-theme-pure
   ```

   Edit `src/site.config.ts` to customize the site.

2. Install dependencies:

   ```shell
   bun install
   ```

3. Start the development server:

   ```shell
   bun dev
   # or
   pnpm dev
   # or
   yarn run dev
   # or
   npm run dev
   ```

   The development server runs at <http://localhost:4321> by default.

### Creating a new blog article

After setting up either development environment, you can create a new blog article:

```shell
bun pure new
```

## Deployment

### Manual deployment

Build the production site into the `./dist` directory:

```shell
bun run build
```

Once the build is complete, the generated static files will be located in the `./dist` directory. You can deploy this directory to any platform that supports static site hosting.

Preview the production build locally:

```shell
bun preview
```

### Static hosting platforms

You can deploy your blog to any static site hosting platform.

- Refer to the official [Astro Deployment Guide](https://docs.astro.build/en/guides/deploy/) for specific deployment methods.
- Depending on the deployment platform you choose, you may need to modify the `astro.config.ts` configuration file in the project.

|                                                                        Vercel                                                                         |                                                                              Netlify                                                                               |
| :---------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------: |
| [![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fcworld1%2Fastro-theme-pure) | [![Deploy to Netlify](https://www.netlify.com/img/deploy/button.svg)](https://app.netlify.com/start/deploy?repository=https://github.com/cworld1/astro-theme-pure) |

## Contributions

To spend more time coding and less time fiddling with whitespace, this project uses code conventions and styles to encourage consistency. Code with a consistent style is easier (and less error-prone!) to review, maintain, and understand.

## Thanks

- [Astro Cactus](https://github.com/chrismwilliams/astro-theme-cactus)
- [Astro Resume](https://github.com/srleom/astro-theme-resume)
- [Starlight](https://github.com/withastro/starlight)

Other third party references are on [Docs#Contributions](https://astro-pure.js.org/docs/advanced/about). Appreciate for all open source libraries.

## License

This project is licensed under the Apache 2.0 License.

[![Star History Chart](https://star-history.dera.page/svg?repos=cworld1/astro-theme-pure&type=Date)](https://star-history.dera.page/#cworld1/astro-theme-pure&Date)
Report a correction

Explore similar templates

Compare previews and descriptions within the same stack and category.