AstroStarter

astro-theme-chapterlog — Astro Starter Template

By IMMINJU

An Astro-based personal bookshelf theme that organizes book notes by chapter and provides a wiki-style sidebar reading interface.

Explore the design

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

2 previews
Desktop homepage1 / 2
Desktop captureTop of page

Actual screenshot captured by the server browser.

All pages & views 2

Screenshots show visual appearance; interactive behavior may differ.

Recorded 2026-10-03View source

What stands out

A quick read of the recorded project description.

01

Homepage bookshelf displays books grouped by cover image and the category field

02

Wiki-style chapter reading pages with sidebar navigation

03

Ctrl+K search can search both books and chapters

04

Dark/light theme switching, mobile sidebar slides in

05

Outputs sitemap, RSS, Open Graph, and canonical URL

06

Pure static build, deployable to any static host

Template Details

ChapterLog is an Astro static site theme for building a personal bookshelf: the homepage displays books grouped by cover image and category, and entering a book lets you read it chapter by chapter with wiki-style sidebar navigation. Content is managed as files, with each book placed under the src/content/books/{slug}/ directory, containing a book.yaml metadata file and several chapter Markdown files; book.yaml defines the book title, author, translator, publisher, publication date, category, cover path, and the hierarchical structure of parts and chapters, while the frontmatter of chapter Markdown can declare section headings. The theme includes built-in Ctrl+K search (covering books and chapters), dark/light theme switching, a mobile slide-in sidebar, a 404 page, and SEO-related output such as sitemap, RSS, Open Graph, and canonical URL. The site name, description, URL, and author are configured in src/data/site.ts, and interface text is centralized in src/data/labels.ts for easy localization; books are grouped by the category field in book.yaml, with category colors automatically assigned and cycling through up to 5 palettes. The build output is pure static files and can be deployed to Vercel, Netlify, Cloudflare Pages, GitHub Pages, and other static hosts. The project uses marked to parse Markdown and js-yaml to parse YAML, and the code is released under the MIT license.

AstroLauncher

Is it right for your project?

Use Cases

  • Organize and publish personal reading notes, archived by book and chapter
  • Create an online chapter reading page with sidebar navigation for a specific book
  • Build a personal book list page that displays books grouped by cover image

Suitable For

  • Individual users who want to manage book content with Markdown and YAML files
  • Sites that need static output and can be deployed to any static host
  • Reading note projects that prefer a wiki-style sidebar reading experience

Getting started & customization

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

  1. 1

    Create a project with npm create astro@latest -- --template IMMINJU/astro-theme-chapterlog, then run npm install and npm run dev

  2. 2

    For each book, create book.yaml and chapter Markdown files under src/content/books/{slug}/, and place cover images in public/covers/

  3. 3

    Modify the site name, description, URL, and author in src/data/site.ts, and adjust interface text in src/data/labels.ts

  4. 4

    Categories are determined by the category field in book.yaml, with colors automatically assigned and cycling through up to 5 palettes

  5. 5

    Third-party assets such as demo images, fonts, and icons require separate license verification; external services such as hosting may incur additional charges

Read repository instructions

License & source material

Usage conditions & limitations

Free to use · keep license notice

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

Must comply with when using

  • Free use, modification, commercial use, and distribution of this version's code are permitted.
  • When distributing copies or substantial portions of the code, retain the original author's copyright notice and the full MIT license notice.
  • 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

  • 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 MIT license.
  • External services such as domains, hosting, databases, payments, or AI may incur additional charges.
View Original Text Basis

Compiled by DeepSeek based on repository license and README ·2026-10-03. 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 · 83 / 100
Technologies
Astro
Website type
Starter
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-03-16
Screenshot last checked
2026-10-03

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: [email protected] · 2026-10-04

Inspect the recorded source material

SHA-256: ffa13c0f21752e6b683208274f1ca91e20ba4f523ef3a5033ab967c08606ecd9

2026-10-03T15:26:43.662Z

Source file / repository
# astro-theme-chapterlog

A minimal Astro theme for building your personal bookshelf. Organize books by chapter with a clean wiki-style layout.

![ChapterLog Screenshot](public/og.png)

[Live Demo](https://astro-theme-chapterlog.vercel.app)

## Features

- Bookshelf home page with cover images and category grouping
- Wiki-style chapter reader with sidebar navigation
- Search (Ctrl+K) across books and chapters
- Dark/light theme toggle
- Mobile responsive with slide-in sidebar
- SEO-ready (sitemap, RSS, Open Graph, canonical URLs)
- 404 page
- Fully static — deploy anywhere

## Quick Start

```bash
# Create a new project from this theme
npm create astro@latest -- --template IMMINJU/astro-theme-chapterlog

# Install dependencies
npm install

# Start dev server
npm run dev
```

## Adding a Book

Each book lives in `src/content/books/{slug}/` with a `book.yaml` and chapter markdown files.

### 1. Create `book.yaml`

```yaml
# src/content/books/my-book/book.yaml
title: My Book
author: Author Name
translator: ""
publisher: Publisher
publishedAt: "2024.01.01"
category: Software Design
cover: /covers/my-book.svg
parts:
  - title: Part 1
    chapters:
      - slug: chapter-01
        number: 1
        title: Introduction
      - slug: chapter-02
        number: 2
        title: Getting Started
```

### 2. Write chapters

```markdown
<!-- src/content/books/my-book/chapter-01.md -->
---
sections:
  - "1.1 Why This Book"
  - "1.2 How to Read It"
---

## Why This Book

Your chapter notes here...
```

### 3. Add a cover image (optional)

Place a cover image in `public/covers/` and reference it in `book.yaml`. SVG or JPG/PNG both work.

## Configuration

Edit `src/data/site.ts` to personalize:

```typescript
export const site = {
  name: "ChapterLog",
  description: "My personal bookshelf — chapter-by-chapter book notes",
  url: "https://your-site.vercel.app",
  author: "Your Name",
};
```

### Categories

Books are grouped by the `category` field in `book.yaml`. Colors are assigned automatically per category — up to 5 distinct palettes cycle through.

### Labels

UI strings are in `src/data/labels.ts`. Edit them to localize or customize wording.

## Project Structure

```
src/
├── components/
│   ├── Sidebar.astro        # Book navigation sidebar
│   └── Search.astro         # Search modal (Ctrl+K)
├── content/books/
│   └── {slug}/
│       ├── book.yaml         # Book metadata + chapter definitions
│       ├── chapter-01.md
│       └── ...
├── data/
│   ├── books.ts              # YAML loader → Book[]
│   ├── labels.ts             # UI strings
│   └── site.ts               # Site configuration
├── layouts/
│   ├── Layout.astro          # Base HTML layout
│   └── WikiLayout.astro      # Sidebar + content layout
├── pages/
│   ├── index.astro           # Bookshelf home
│   ├── 404.astro             # Not found page
│   ├── api/search-index.json.ts
│   ├── rss.xml.ts
│   └── [book]/
│       ├── index.astro       # Book overview
│       └── [chapter].astro   # Chapter reader
└── styles/
    └── global.css            # CSS variables + theme
```

## Deploy

[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https://github.com/IMMINJU/astro-theme-chapterlog)

Or deploy to any static hosting (Netlify, Cloudflare Pages, GitHub Pages).

## Tech Stack

- [Astro](https://astro.build) — Static site framework
- [marked](https://marked.js.org) — Markdown parser
- [js-yaml](https://github.com/nodeca/js-yaml) — YAML parser

## License

MIT
Report a correction

Explore similar templates

Compare previews and descriptions within the same stack and category.