HTML工具站

theme-tapestry-dev — HTML 工具站模板

作者 anirbanbasu

Tapestry 是一个 Zola 静态站点生成器主题,本仓库是它的开发 monorepo,同时负责构建演示站并在打标签时把 themes/tapestry/ 同步到独立主题仓库。

看看你的网站会是什么样

浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。

2 个预览视图
桌面端首页1 / 2
桌面端截图首屏预览

由服务器浏览器实际访问页面后截取。

全部页面与视图 2

截图用于了解视觉与布局,交互效果请以实际项目为准。

采集于 2026-10-04查看来源

值得关注的模板亮点

从已有项目资料中,快速了解它的特点。

01

同时承担演示站构建部署与主题源码开发,主题代码位于 themes/tapestry/

02

打标签时通过工作流把 themes/tapestry/ 同步到独立主题仓库,供子模块安装

03

包含 Playwright + axe-core 的无障碍、视觉回归与键盘导航测试套件

04

specs/ 中冻结了设计令牌、品牌 logo、展示风格切换器与第三方素材许可等契约

05

主题面向 Tera v2,不向后兼容上游 terminus,后者仅作只读参考保留

06

字体自托管,不在运行时从 CDN 加载

模板详细介绍

Tapestry 是面向 Zola 静态站点生成器的主题。本仓库是它的开发 monorepo,承担两件事:一是用仓库内的 content/ 内容夹具和 config.toml 直接构建并部署线上演示站;二是作为主题本身的唯一开发来源,主题代码位于 themes/tapestry/,每次打标签发布时由工作流把该目录同步到独立的 anirbanbasu/tapestry 仓库,供终端用户以 Git 子模块方式安装。日常主题开发都在本仓库的 themes/tapestry/** 中进行,独立主题仓库不应直接编辑。

仓库还包含 themes/terminus/(Tapestry 的上游主题,只读参考,不就地修改)、content/(测试与演示共用的内容夹具)、specs/(已冻结的契约:terminus 特性契约、各风格组设计令牌、品牌 logo 规范、展示风格切换器规范、视觉与无障碍测试套件规范、第三方素材许可)、prototypes/(早期设计探索,不直接接入线上主题)、tests/visual-a11y/(Playwright + axe-core 的无障碍、视觉回归与键盘导航测试套件)以及 .github/workflows/(构建部署演示站、打标签发布主题、在相关 PR 上运行视觉与无障碍套件、按需更新视觉回归基线)。

主题基于 terminus 派生,不向后兼容 terminus:它面向 Tera v2,而 Tera v2 没有宏和短代码。字体为自托管 WOFF2 文件,以 Google Fonts 为上游来源,不在运行时从 CDN 加载。图标等内置素材包括 Font Awesome Free 与一个 Openclipart 爪印图标,完整归属与许可条款记录在 specs/third-party-licenses.md。仓库内 CLAUDE.md 与 CONSTITUTION.md 是操作性与不可协商的设计参考,后者规定了 WCAG 2.1 AA、无 JS 策略及其三项例外、terminus 血统固定、自托管字体、12 列网格与导航折叠等标准。

使用限制:本仓库是开发仓库而非可直接安装的主题包,安装主题应参考 themes/tapestry/README.md 与独立主题仓库。本地开发前需确认 Zola 版本与 CONSTITUTION.md §3 中的固定版本一致。修改 themes/tapestry/**、content/**、tests/** 或 config.toml 的 PR 需先运行自动化测试套件,且合并前仍需人工键盘操作检查。

HTML工具站

适合你的项目吗?

适用场景

  • 开发或维护 Tapestry 主题本身,在 themes/tapestry/** 中修改 Tera 模板、Sass 与静态资源
  • 通过仓库内的 content/ 与 config.toml 构建并部署 Tapestry 线上演示站
  • 在打标签发布时把主题目录同步到独立仓库,供他人以 Git 子模块方式安装
  • 在涉及主题、内容或配置的 PR 上运行无障碍、视觉回归与键盘导航测试
  • 查阅 specs/ 中冻结的设计令牌与第三方素材许可,核对改动是否符合既定契约

适合人群

  • 需要为 Zola 站点选用或定制主题、并愿意以子模块方式安装的开发者
  • 参与 Tapestry 主题开发、需要按 CONSTITUTION.md 标准提交改动的贡献者
  • 需要参考无障碍测试与视觉回归测试组织方式的静态站点项目维护者

上手与定制指南

结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。

  1. 1

    本地开发前确认 Zola 版本与 CONSTITUTION.md §3 中的固定版本一致,再依赖任何 Zola/Tera 特性

  2. 2

    常用命令为 zola build、zola serve、zola check;justfile 封装了 serve、安装 pre-commit 钩子、更新钩子版本、运行视觉与无障碍测试、更新视觉基线等流程

  3. 3

    克隆后先运行 just install-pre-commit-hooks 安装仓库的 pre-commit 钩子

  4. 4

    修改 themes/tapestry/**、content/**、tests/** 或 config.toml 的 PR 需先运行自动化测试套件,合并前还需人工键盘操作检查

  5. 5

    视觉回归基线更新应通过 update-visual-baselines.yaml 工作流进行,本地脚本仅用于测试脚本本身,因为不同机器的字体渲染存在差异

查看仓库使用说明

授权与来源资料

使用条件与限制

免费使用 · 保留许可声明

本次收录的是公开仓库中采用 MIT 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。

使用时需要遵守

  • 允许免费使用、修改、商用和分发该版本代码。
  • 分发代码副本或实质性部分时,保留原作者版权声明和完整 MIT 许可声明。
  • 代码按现状提供;担保与责任限制以原许可证及适用法律为准。

额外费用与待核对事项

  • 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
  • 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
  • 本仓库是开发用 monorepo,并非可直接安装的主题包;若要把 Tapestry 作为主题安装到自己的 Zola 站点,应改用 themes/tapestry/README.md 与独立主题仓库。
  • 依赖任何 Zola/Tera 特性前,必须先确认本地 Zola 版本与 CONSTITUTION.md §3 中固定的版本一致,否则相关特性不可靠。
  • 合并前仍必须进行一次人工纯键盘操作检查,该步骤无法在 CI 中完全自动化。
  • 视觉回归基线更新应通过 update-visual-baselines.yaml 的 GitHub Actions 工作流进行,本地脚本仅用于测试脚本本身,因为不同机器的字体渲染存在差异。
  • Tapestry 不向后兼容上游 terminus:它面向 Tera v2,而 Tera v2 没有宏和短代码,因此不能沿用 terminus 的宏/短代码写法。
  • 字体等资源不在运行时从 CDN 加载,需使用自托管资源,不能改为运行时 CDN 引用。
查看原文依据

Permission is hereby granted, free of charge

许可证原文

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

README 原文

Confirm your local Zola version matches the pin in `CONSTITUTION.md` §3 before relying on any Zola/Tera feature

README 原文

A manual keyboard-only pass is still required before merge

README 原文

real baseline updates should go through the `update-visual-baselines.yaml` GitHub Actions workflow instead

README 原文

Tapestry is not backward-compatible with terminus: it targets Tera v2, which has no macros or shortcodes.

README 原文

never loaded at runtime from a CDN

README 原文
https://github.com/anirbanbasu/theme-tapestry-dev/blob/master/LICENSEhttps://github.com/anirbanbasu/theme-tapestry-dev/blob/master/README.md

DeepSeek 根据仓库许可证和 README 整理 ·2026-10-04。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。

项目核对记录与介绍依据

模板资料

来源平台
GitHub
资料与维护参考分
资料较完整 · 80 / 100
技术栈
HTML
网站类型
工具站
这个分数如何计算

本站按许可资料(最高30分)、演示链接(12分)、预览图(10分)、Star数(15分)、记录的维护时间(15分)、描述完整度(8分)、功能记录(5分)和分类资料(5分)计算。它不是代码、安全或性能测试,也不是 Google 评分;有链接不代表已实测可用。

这个项目需要核对什么

记录的仓库更新时间
2026-10-04
截图检查日期
2026-10-04

已收录演示链接。请用你的内容与屏幕尺寸检查;有演示不代表表单、认证或支付已经可用。

目录记录的主要技术栈是 HTML。请通过依赖清单和锁文件核对实际版本与托管要求。这些说明基于收录资料,不代表代码审计或部署实测。

查看具体选型方法 →

介绍的制作与核对状态

介绍由 AI 辅助整理目录与仓库资料。仓库作者不等于这篇介绍的审核者。

审核声明: [email protected] · 2026-10-04

查看当时使用的来源资料

SHA-256: 20d09441d8e6e65ddea35f18e498c2104406a323253e20b054c23d54497b73da

2026-10-04T16:08:55.772Z

来源文件 / 仓库
# Tapestry

[![Visual & accessibility tests](https://github.com/anirbanbasu/theme-tapestry-dev/actions/workflows/visual-a11y-tests.yaml/badge.svg)](https://github.com/anirbanbasu/theme-tapestry-dev/actions/workflows/visual-a11y-tests.yaml) [![Build and deploy Zola website](https://github.com/anirbanbasu/theme-tapestry-dev/actions/workflows/publish.yaml/badge.svg)](https://github.com/anirbanbasu/theme-tapestry-dev/actions/workflows/publish.yaml) [![Publish theme](https://github.com/anirbanbasu/theme-tapestry-dev/actions/workflows/publish-theme.yaml/badge.svg)](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).
反馈内容错误

看看同类模板

对比同技术栈与用途的模板,找到更适合的视觉与内容结构。