Homepage bookshelf displays books grouped by cover image and the category field
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.
Actual screenshot captured by the server browser.
All pages & views 2
Screenshots show visual appearance; interactive behavior may differ.
What stands out
A quick read of the recorded project description.
Wiki-style chapter reading pages with sidebar navigation
Ctrl+K search can search both books and chapters
Dark/light theme switching, mobile sidebar slides in
Outputs sitemap, RSS, Open Graph, and canonical URL
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.
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
Create a project with npm create astro@latest -- --template IMMINJU/astro-theme-chapterlog, then run npm install and npm run dev
- 2
For each book, create book.yaml and chapter Markdown files under src/content/books/{slug}/, and place cover images in public/covers/
- 3
Modify the site name, description, URL, and author in src/data/site.ts, and adjust interface text in src/data/labels.ts
- 4
Categories are determined by the category field in book.yaml, with colors automatically assigned and cycling through up to 5 palettes
- 5
Third-party assets such as demo images, fonts, and icons require separate license verification; external services such as hosting may incur additional charges
License & source material
Usage conditions & limitations
Free to use · keep license noticeThis 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
https://github.com/IMMINJU/astro-theme-chapterlog/blob/main/LICENSEhttps://github.com/IMMINJU/astro-theme-chapterlog/blob/main/README.mdPermission is hereby granted, free of charge
Original License Text
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.

[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
[](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
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
accessible-astro-starter
An accessibility-focused Astro 6 starter template with WCAG 2.2 AA practices, Tailwind CSS 4, TypeScript, Prettier, ESLint, form validation, blog and portfolio examples, and preference toggles for dark mode, high contrast, and reduced motion.
Astro · Blog

astro-erudite
astro-erudite is an opinionated, unstyled static blog template built with Astro and native CSS, with no UI or CSS framework and minimal dependencies.
Astro · Portfolio

astro-shopify
A lightweight Shopify headless ecommerce starter template built with Astro and Svelte, integrating the Shopify Storefront API for product and inventory data, with built-in cart state management and basic add-to-cart and checkout flow.
Astro · E-commerce

brutal
Brutal is a neobrutalism Astro starter theme from ElianCodes, derived from the author's personal site and generalized. It includes a Markdown blog collection, build-time RSS and sitemap, image optimization, Tailwind CSS styling, and Biome checks, with no JavaScript by default.
Astro · Starter

qwind
Qwind is a free and open-source website template built on Qwik and Tailwind CSS, featuring directory-based routing via QwikCity, a Markdown blog, dark mode, and static deployment configuration.
Astro · Tool Site
