Handles both demo site build/deployment and theme source development, with theme code in themes/tapestry/
theme-tapestry-dev — HTML Tool Template
By anirbanbasu
Tapestry is a theme for the Zola static site generator. This repository is its development monorepo, which also builds the demo site and, on tagging, syncs themes/tapestry/ to a standalone theme repository.
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.
On tagging, a workflow syncs themes/tapestry/ to the standalone theme repository for submodule installation
Includes a Playwright + axe-core suite for accessibility, visual regression, and keyboard navigation testing
specs/ freezes contracts such as design tokens, brand logo, showcase style switcher, and third-party asset licenses
The theme targets Tera v2 and is not backward compatible with upstream terminus, which is kept only as a read-only reference
Fonts are self-hosted and not loaded from a CDN at runtime
Template Details
Tapestry is a theme for the Zola static site generator. This repository is its development monorepo and serves two purposes: first, it builds and deploys the live demo site directly using the in-repo content/ fixtures and config.toml; second, it is the sole development source for the theme itself, with theme code located in themes/tapestry/. On each tagged release, a workflow syncs that directory to the standalone anirbanbasu/tapestry repository so end users can install it as a Git submodule. Day-to-day theme development happens in themes/tapestry/** in this repository; the standalone theme repository should not be edited directly.
The repository also contains themes/terminus/ (Tapestry's upstream theme, kept as a read-only reference and not modified in place), content/ (content fixtures shared by tests and the demo), specs/ (frozen contracts: the terminus feature contract, design tokens for each style group, brand logo specifications, the showcase style switcher specification, the visual and accessibility test suite specification, and third-party asset licenses), prototypes/ (early design explorations not wired into the live theme), tests/visual-a11y/ (a Playwright + axe-core suite for accessibility, visual regression, and keyboard navigation testing), and .github/workflows/ (building and deploying the demo site, tagging and releasing the theme, running the visual and accessibility suites on relevant PRs, and updating visual regression baselines on demand).
The theme is derived from terminus and is not backward compatible with it: it targets Tera v2, which has no macros or shortcodes. Fonts are self-hosted WOFF2 files, sourced upstream from Google Fonts, and are not loaded from a CDN at runtime. Bundled assets such as icons include Font Awesome Free and an Openclipart paw print icon; full attribution and license terms are recorded in specs/third-party-licenses.md. The in-repo CLAUDE.md and CONSTITUTION.md are operational and non-negotiable design references; the latter sets standards including WCAG 2.1 AA, a no-JS policy with three exceptions, fixed terminus lineage, self-hosted fonts, a 12-column grid, and navigation collapse.
Usage constraints: this repository is a development repository, not a directly installable theme package; to install the theme, refer to themes/tapestry/README.md and the standalone theme repository. Before local development, confirm that the Zola version matches the pinned version in CONSTITUTION.md §3. PRs that modify themes/tapestry/**, content/**, tests/**, or config.toml must first run the automated test suite, and a manual keyboard operation check is still required before merging.
Is it right for your project?
Use Cases
- Developing or maintaining the Tapestry theme itself by modifying Tera templates, Sass, and static assets in themes/tapestry/**
- Building and deploying the live Tapestry demo site using the in-repo content/ and config.toml
- Syncing the theme directory to the standalone repository on tagged releases so others can install it as a Git submodule
- Running accessibility, visual regression, and keyboard navigation tests on PRs that touch the theme, content, or configuration
- Consulting the frozen design tokens and third-party asset licenses in specs/ to verify that changes comply with established contracts
Suitable For
- Developers who need to choose or customize a theme for a Zola site and are willing to install it as a submodule
- Contributors working on the Tapestry theme who need to submit changes according to the standards in CONSTITUTION.md
- Maintainers of static site projects who need a reference for organizing accessibility and visual regression tests
Getting started & customization
Use these recorded setup notes alongside the repository instructions for your chosen version.
- 1
Before local development, confirm that the Zola version matches the pinned version in CONSTITUTION.md §3 before relying on any Zola/Tera feature
- 2
Common commands are zola build, zola serve, and zola check; the justfile wraps workflows such as serve, installing pre-commit hooks, updating hook versions, running visual and accessibility tests, and updating visual baselines
- 3
After cloning, run just install-pre-commit-hooks to install the repository's pre-commit hooks
- 4
PRs that modify themes/tapestry/**, content/**, tests/**, or config.toml must first run the automated test suite, and a manual keyboard operation check is also required before merging
- 5
Visual regression baselines should be updated via the update-visual-baselines.yaml workflow; local scripts are only for the test scripts themselves, because font rendering differs across machines
License & source material
Usage conditions & limitations
Free to use · keep license noticeThis entry covers the free version of the public repository under the MIT license; the free scope is the code of that version and does not mean that external services or third-party assets are free.
Must comply with when using
- You may use, modify, commercialize, and distribute the code of this version for free.
- 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; 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.
- This repository is a development monorepo, not a directly installable theme package; to install Tapestry as a theme on your own Zola site, use themes/tapestry/README.md and the standalone theme repository instead.
- Before relying on any Zola/Tera feature, you must first confirm that your local Zola version matches the pinned version in CONSTITUTION.md §3; otherwise the relevant features are unreliable.
- A manual keyboard-only operation check is still required before merging, and this step cannot be fully automated in CI.
- Visual regression baselines should be updated via the update-visual-baselines.yaml GitHub Actions workflow; local scripts are only for the test scripts themselves, because font rendering differs across machines.
- Tapestry is not backward compatible with upstream terminus: it targets Tera v2, which has no macros or shortcodes, so terminus macro/shortcode usage cannot be carried over.
- Assets such as fonts are not loaded from a CDN at runtime; self-hosted assets must be used, and runtime CDN references cannot be substituted.
View Original Text Basis
Permission is hereby granted, free of charge
Original License Text
This is the **development monorepo**. If you're looking to install Tapestry as a theme for your own Zola site, see [themes/tapestry/README.md](themes/tapestry/README.md) instead
Original README
Confirm your local Zola version matches the pin in `CONSTITUTION.md` §3 before relying on any Zola/Tera feature
Original README
A manual keyboard-only pass is still required before merge
Original README
real baseline updates should go through the `update-visual-baselines.yaml` GitHub Actions workflow instead
Original README
Tapestry is not backward-compatible with terminus: it targets Tera v2, which has no macros or shortcodes.
Original README
https://github.com/anirbanbasu/theme-tapestry-dev/blob/master/LICENSEhttps://github.com/anirbanbasu/theme-tapestry-dev/blob/master/README.mdnever loaded at runtime from a CDN
Original README
Compiled by DeepSeek based on repository license and README ·2026-10-04. 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 · 80 / 100
- Technologies
- HTML
- Website type
- Tool Site
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-10-04
- Screenshot last checked
- 2026-10-04
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 HTML 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: 20d09441d8e6e65ddea35f18e498c2104406a323253e20b054c23d54497b73da
2026-10-04T16:08:55.772Z
Source file / repository# Tapestry [](https://github.com/anirbanbasu/theme-tapestry-dev/actions/workflows/visual-a11y-tests.yaml) [](https://github.com/anirbanbasu/theme-tapestry-dev/actions/workflows/publish.yaml) [](https://github.com/anirbanbasu/theme-tapestry-dev/actions/workflows/publish-theme.yaml) Tapestry is a theme for the Zola static site generator. This is the **development monorepo**. If you're looking to install Tapestry as a theme for your own Zola site, see [themes/tapestry/README.md](themes/tapestry/README.md) instead — that directory is what gets published as the standalone, submodule-installable [`anirbanbasu/tapestry`](https://github.com/anirbanbasu/tapestry) repository. ## What this repo is This repository serves two purposes at once: - It builds and deploys the live Tapestry demo site directly (see [`.github/workflows/publish.yaml`](.github/workflows/publish.yaml)), using the `content/` fixtures and `config.toml` committed here. - It is the source of truth for the theme itself, developed under `themes/tapestry/`. On every tagged release, [`.github/workflows/publish-theme.yaml`](.github/workflows/publish-theme.yaml) syncs just that directory out to the separate [`anirbanbasu/tapestry`](https://github.com/anirbanbasu/tapestry) repo, which is what end users add as a Git submodule. Day-to-day theme development happens here, in `themes/tapestry/**`; nothing in the standalone theme repo should be edited directly. Try the live demo (built from this repo's `content/` and `config.toml`): - [https://ghp-tapestry.netlify.app](https://ghp-tapestry.netlify.app) - [https://ghp-tapestry.anirbanbasu.com](https://ghp-tapestry.anirbanbasu.com) ## Repository layout - `themes/tapestry/` — the theme itself (Tera templates, Sass, static assets). This is what gets published to the standalone theme repo. - `themes/terminus/` — the upstream theme Tapestry is derived from, kept as a read-only reference. Never edited in place. - `content/` — content fixtures used both for testing/diffing and as the actual content of the live demo site. - `specs/` — frozen, checked-in contracts: the carried-over terminus features contract, per-style-group design tokens, the brand logo spec, the presentation style switcher spec, the visual/a11y test suite spec, and third-party asset licenses. - `prototypes/` — early-stage design exploration (style tiles, logo concepts). Never wired into the live theme directly; a direction is only adopted once its tokens are frozen into `specs/`. - `tests/visual-a11y/` — the Playwright + axe-core accessibility, visual regression, and keyboard-navigation test suite. - `.github/workflows/` — CI/CD: build & deploy the demo site, publish the theme on tag push, run the visual/a11y suite on relevant PRs, and update visual regression baselines on demand. `CLAUDE.md` and `CONSTITUTION.md` are the operational and non-negotiable design references for anyone working in this repo — read `CONSTITUTION.md` before any change touching accessibility, JavaScript, fonts, or terminus lineage. ## Quick start Confirm your local Zola version matches the pin in `CONSTITUTION.md` §3 before relying on any Zola/Tera feature: ```bash zola --version # expect 0.22.1 zola build # build the site into public/ zola serve # local dev server with live reload, http://127.0.0.1:1111 zola check # validate internal/external links and Markdown, no full build ``` A [`justfile`](justfile) wraps the more involved workflows: | Recipe | What it does | |---|---| | `just serve` | `zola serve` with a friendly banner. | | `just install-pre-commit-hooks` | Installs the repo's pre-commit hooks via `prek`. | | `just pre-commit-update` | Updates pinned pre-commit hook versions via `prek`. | | `just visual-a11y-tests-local [groups]` | Runs `zola check`, builds the site, and runs the accessibility, visual, and keyboard suites for the given presentation style groups (defaults to all five). Mirrors what CI runs. | | `just update-visual-baselines-local` | Regenerates visual regression screenshot baselines locally. Intended for testing the script only — font rendering varies across machines, so real baseline updates should go through the `update-visual-baselines.yaml` GitHub Actions workflow instead. | ## Testing Before opening a PR that touches `themes/tapestry/**`, `content/**`, `tests/**`, or `config.toml`, run the automated suite (`just visual-a11y-tests-local`, or see CLAUDE.md's verification workflow for the manual step-by-step). It runs an axe-core accessibility sweep, screenshot regression diffing, and keyboard-only interaction checks across every presentation style group — full spec in [`specs/visual-a11y-test-suite.md`](specs/visual-a11y-test-suite.md). The same suite runs in CI on every such PR ([`.github/workflows/visual-a11y-tests.yaml`](.github/workflows/visual-a11y-tests.yaml)). A manual keyboard-only pass is still required before merge — tracked as a checklist item in [`.github/pull_request_template.md`](.github/pull_request_template.md), since it can't be fully automated in CI. ## Contributing Contributions to the theme are welcome — see `CONSTITUTION.md` for the non-negotiable standards any change must meet (WCAG 2.1 AA, the no-JS policy and its three sanctioned exceptions, terminus lineage pinning, self-hosted fonts, the 12-column grid, and navigation collapse). 1. Run `just install-pre-commit-hooks` once, after cloning. 2. Make your change under `themes/tapestry/**` (or `content/**`/`specs/**` as appropriate). 3. Run the quick start commands above, then the test suite. 4. Open a PR against `master` using the checklist in [`.github/pull_request_template.md`](.github/pull_request_template.md). ## Credits and third-party assets This theme uses the following components: - **Theme:** Derived from [terminus](https://github.com/ebkalderon/terminus) (commit `aa8d8b6`) for [Zola](https://www.getzola.org/). Tapestry is not backward-compatible with terminus: it targets Tera v2, which has no macros or shortcodes. - **Fonts:** Self-hosted WOFF2 files, vendored from [Google Fonts](https://fonts.google.com/) as an upstream source only — never loaded at runtime from a CDN (see `CONSTITUTION.md` §4). - **Icons and other vendored assets:** Font Awesome Free (theme-switcher sun/moon icons, presentation style switcher gear icon) and an Openclipart paw print icon. Full attribution and license terms for every vendored asset are tracked in [specs/third-party-licenses.md](specs/third-party-licenses.md). ## License This project is licensed under the terms of the [MIT license](LICENSE).
Explore similar templates
Compare previews and descriptions within the same stack and category.

markdown live preview
An open-source Markdown live preview tool built with HTML, offering an online demo and a simple structure. It is suitable as a starting point for text-processing tool sites, Markdown editors, or front-end interaction prototypes.
HTML · Tool Site

kite
Kite is an open-source, Elm-based interactive graph theory visualization tool with a live online demo.
HTML · Tool Site

prisma erd
Prisma ERD is a pure front-end online tool that parses Prisma schemas and renders entity-relationship diagrams, helping developers quickly preview data models and share designs.
HTML · Tool Site

css color filter generator
An open-source, pure HTML tool site that converts any color into CSS filter values, with RGB input support and a live online demo. It references Barrett Sonntag's algorithm and extends it with interface optimizations.
HTML · Tool Site

PageTemplatify
PageTemplatify is a Python and Jinja2 static HTML generator driven by JSON configuration, with five built-in themes for corporate websites, SaaS, e-commerce, blogs, and news.
HTML · Tool Site

css grid layout generator
An open-source visual tool site for building complex CSS Grid layouts through a graphical interface and exporting HTML/CSS code, with a live online demo.
HTML · Tool Site
