用 YAML 定义清单模板,便于用 Git 等系统做版本控制
checklistfabrik — HTML 后台模板
作者 Linuxfabrik
ChecklistFabrik 是一个用 Python 编写的工具,把 YAML 模板渲染成可交互的 HTML 检查清单,并内置本地 Web 服务器与仪表盘,用于执行和记录重复性的运维流程。
看看你的网站会是什么样
浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。
全部页面与视图 3
截图用于了解视觉与布局,交互效果请以实际项目为准。
值得关注的模板亮点
从已有项目资料中,快速了解它的特点。
内置本地 Web 服务器与仪表盘,浏览器中分页填写并自动保存进度
模板支持 Jinja 变量与条件表达式,可动态排除不适用的页面或任务
任务渲染由可插拔的 Python 模块承担,模块可同时支持静态导出
支持模板 include 与以 Run 按钮启动的子清单,便于拆分长流程
clf-export 可将报告导出为 AsciiDoc、HTML、Markdown、PDF 或 reStructuredText
模板详细介绍
ChecklistFabrik(命令行工具 clf-play)面向需要反复执行的流程、SOP 和部署操作。它把 YAML 模板作为清单定义,通过内置的本地 Web 服务器在浏览器中呈现为分页的 HTML 表单,用户逐页填写后生成 YAML 格式的报告文件。模板支持 Jinja 模板语言的变量与布尔表达式,可据此动态决定页面或任务是否适用;任务渲染由可插拔的 Python 模块完成,模块位于 checklistfabrik.modules 命名空间并提供返回 HTML 的 main 方法,若额外提供 export 方法,该任务也能进入静态导出。
使用方式上,不带参数运行 clf-play 会打开仪表盘,自动识别当前目录下的 templates/ 与 reports/ 子目录,列出模板和已有报告,可一键新建或重新打开;也可用 --template 直接运行指定模板,或传入已有报告文件继续填写。每次翻页提交时进度都会写入报告文件,因此中途关闭浏览器标签不会丢失已提交的答案。模板之间可以通过 include 复用,也可以把另一个模板作为卡片嵌入页面,点击 Run 在新标签页中作为独立清单运行并生成自己的报告。
报告可通过 clf-export 转换为 AsciiDoc、HTML、Markdown、PDF 或 reStructuredText,导出文件默认写在报告旁边,不修改原 YAML;PDF 导出需要额外安装 checklistfabrik[pdf] 可选依赖。安装推荐使用 uv(uvx checklistfabrik 或 uv tool install checklistfabrik),也可从 Git 克隆后以可编辑模式安装。项目采用 Unlicense 许可,完整文档发布在 linuxfabrik.github.io/checklistfabrik。
适合你的项目吗?
适用场景
- 团队重复执行的运维检查与例行巡检
- 服务器月度维护等部署或变更流程的分步执行与记录
- 把标准操作流程(SOP)做成可填写、可留档的交互式清单
- 将已完成的报告导出为文档,提交到仓库或发布到文档站点
适合人群
- 需要把重复性流程标准化并保留执行记录的运维或 SRE 团队
- 习惯用 YAML 和 Git 管理流程定义的技术团队
- 希望用浏览器填写清单、又不想引入完整 Web 应用栈的用户
上手与定制指南
结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。
- 1
推荐用 uv 安装:uvx checklistfabrik 可直接运行,uv tool install checklistfabrik 可安装为工具;也可从 Git 克隆后执行 pip install --editable . 进行开发安装。
- 2
运行 clf-play 会打开仪表盘并自动识别当前目录下的 templates/ 与 reports/ 子目录,也可用 --templates-dir 和 --reports-dir 指定路径。
- 3
直接运行模板:clf-play --template path/to/template.yml path/to/report.yml;重新打开已有清单:clf-play path/to/existing_checklist.yml。
- 4
导出报告:clf-export path/to/report.yml --format rst,支持 asciidoc、html、markdown、pdf、rst;PDF 导出需额外安装 checklistfabrik[pdf]。
- 5
示例模板位于仓库的 examples/ 目录,可在该目录运行 clf-play 通过仪表盘浏览。
授权与来源资料
使用条件与限制
免费使用 · 保留许可声明本次收录的是公开仓库中采用 Unlicense 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。
使用时需要遵守
- 允许免费复制、修改、发布、使用、编译、销售和分发该版本代码,包括商业用途。
- 作者通过公有领域贡献声明放弃相关版权;该声明的法律效果取决于适用司法辖区。
- 代码按现状提供;担保与责任限制以原许可证及适用法律为准。
额外费用与待核对事项
- PDF 导出为可选功能,需额外安装 checklistfabrik[pdf] 依赖;不安装该依赖时无法导出 PDF,其余格式不受影响。
- 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 Unlicense 许可判断。
- 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
查看原文依据
for any purpose, commercial or non-commercial, and by any means
许可证原文
https://github.com/Linuxfabrik/checklistfabrik/blob/main/LICENSEhttps://github.com/Linuxfabrik/checklistfabrik/blob/main/README.mdPDF export needs an optional dependency:
README 原文
DeepSeek 根据仓库许可证和 README 整理 ·2026-10-02。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。
项目核对记录与介绍依据
模板资料
- 来源平台
- GitHub
- 资料与维护参考分
- 资料较完整 · 92 / 100
- 技术栈
- HTML
- 网站类型
- 后台 · 文档 · 工具站
这个分数如何计算
本站按许可资料(最高30分)、演示链接(12分)、预览图(10分)、Star数(15分)、记录的维护时间(15分)、描述完整度(8分)、功能记录(5分)和分类资料(5分)计算。它不是代码、安全或性能测试,也不是 Google 评分;有链接不代表已实测可用。
这个项目需要核对什么
- 记录的仓库更新时间
- 2026-10-02
- 截图检查日期
- 2026-10-02
已收录演示链接。请用你的内容与屏幕尺寸检查;有演示不代表表单、认证或支付已经可用。
目录记录的主要技术栈是 HTML。请通过依赖清单和锁文件核对实际版本与托管要求。这些说明基于收录资料,不代表代码审计或部署实测。
查看具体选型方法 →介绍的制作与核对状态
介绍由 AI 辅助整理目录与仓库资料。仓库作者不等于这篇介绍的审核者。
已完成服务器许可规则与 AI 来源核对;未经过人工编辑审核。
查看当时使用的来源资料
SHA-256: bceeb8470ad1613bad75038c91dc0db8845944b90acee44910852cf2af22a2ee
2026-10-02T07:17:03.158Z
来源文件 / 仓库<h1 align="center">
<a href="https://linuxfabrik.ch" target="_blank">
<picture>
<img width="600" src="https://download.linuxfabrik.ch/assets/linuxfabrik-clf-teaser.png">
</picture>
</a>
<br />
Linuxfabrik ChecklistFabrik
</h1>
<p align="center">
Python tool that generates interactive HTML checklists from YAML templates. Jinja conditionals, reusable includes, pluggable modules, built-in web server. Ideal for SOPs, deployments & recurring ops.
<span>•</span>
<b>made by <a href="https://linuxfabrik.ch/">Linuxfabrik</a></b>
</p>
<div align="center" markdown="1">



[](https://pypi.org/project/checklistfabrik/)


[](https://www.bestpractices.dev/projects/10574)
[](https://scorecard.dev/viewer/?uri=github.com/Linuxfabrik/checklistfabrik)
[](https://github.com/sponsors/Linuxfabrik)
[](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=7AW3VVX62TR4A&source=url)
</div>
<br />
# ChecklistFabrik - Open Source Checklist Maker Tool
ChecklistFabrik (clf-play) is a Python 3 tool designed to manage your team's recurring checklists,
processes, and procedures. It leverages simple yet powerful YAML templates to create interactive HTML forms for an enhanced user experience. Utilize variables and logic through the Jinja templating language to define adaptive procedures, and enjoy seamless progress tracking.
> If ChecklistFabrik helps you running your team's SOPs, deployments and recurring procedures, please give it a star.
## Documentation
Full documentation is available at [linuxfabrik.github.io/checklistfabrik](https://linuxfabrik.github.io/checklistfabrik/). It is automatically built and deployed on every push to `main`.
## Features
* **Auto-Save on Every Submit:**
Progress is written to the report file on every page change, not only on a clean shutdown. Closing the browser tab mid-run no longer loses already-submitted answers — re-open the report later to continue.
* **Dashboard:**
Run `clf-play` without arguments to open a web dashboard that lists all your templates and reports. Start new checklists or re-open previous ones with a single click.
* **Dynamic Item Exclusion:**
Automatically mark pages or tasks as inapplicable using conditional `when` expressions.
(See the [User Guide](docs/user_guide.md#conditional-pages-and-tasks) for details.)
* **HTML Interface with Built-In Web Server:**
View and complete checklists via a user-friendly HTML interface powered by a built-in local web server.
* **Jinja Templating Support:**
Create dynamic checklists using variables and Boolean expressions enabled by the Jinja templating language.
* **Simple YAML Checklists:**
Define templates and generate reports with plain YAML, making version control with systems such as Git straightforward.
* **Static Report Export:**
Convert a completed report into AsciiDoc, HTML, Markdown, PDF or reStructuredText with `clf-export`, or straight from the dashboard. Commit the result next to the YAML source, review it in a pull request or publish it in your documentation, without installing or starting ChecklistFabrik.
(See the [User Guide](docs/user_guide.md#exporting-reports) for details.)
* **Sub-Checklists with a "Run" Button:**
Embed another checklist template as a card on a page. Clicking the **Run** button launches the referenced template in a new browser tab as an independent checklist with its own report file — useful for splitting long procedures into reusable, self-contained sub-checklists.
* **Template Includes for Rapid Checklist Generation:**
Reuse checklist templates to quickly generate multiple checklists from a single file, eliminating the need to start from scratch each time.
## Definitions and Terms
* **Checklist:**
A series of tasks outlining a procedure, organized into pages.
* **Page:**
A collection of tasks displayed simultaneously to the user.
* **Report:**
The output of a checklist run—a YAML file generated from a template.
* **Task:**
A description of work to be performed.
Tasks can appear in various forms, such as text fields, checkboxes, radio buttons,
or non-interactive text blocks (see the [User Guide](docs/user_guide.md#task-modules) for details).
* **Checklist Template:**
A YAML file used to create checklists, intended for reuse rather than direct execution.
* **Task Module:**
To support an extensible architecture, ChecklistFabrik delegates task rendering to separate,
pluggable Python modules.
A valid task module is any Python module within the `checklistfabrik.modules` namespace
that provides a `main` method returning a dictionary that includes an `html` key with the rendered HTML as its value.
A module may additionally provide an `export` method that describes the task independently of any output format,
which makes it part of static report exports.
## Installation
### Using uv (recommended)
The recommended way to install ChecklistFabrik. You can run it without a permanent install:
```bash
uvx checklistfabrik
```
Or install it as a tool:
```bash
uv tool install checklistfabrik
```
For other installation methods (pipx, pip, development setup), see the [PyPI page](https://pypi.org/project/checklistfabrik/).
### From Git (For Development)
```bash
git clone https://github.com/Linuxfabrik/checklistfabrik.git
cd checklistfabrik
pip install --editable .
```
## Quick Start
A checklist template is a simple YAML file:
```yaml
title: 'Server Maintenance'
description: 'Monthly maintenance procedure for production servers.'
version: '2025031901'
pages:
- title: 'Preparation'
tasks:
- linuxfabrik.clf.text_input:
label: 'Ticket number'
required: true
fact_name: 'ticket'
- linuxfabrik.clf.checkbox_input:
values:
- label: 'Notify users about the maintenance window'
- label: 'Create a full backup'
required: true
- title: 'Maintenance'
tasks:
- linuxfabrik.clf.markdown:
content: 'Working on ticket **{{ ticket }}**.'
- linuxfabrik.clf.checkbox_input:
label: 'Apply updates and reboot'
required: true
```
Run it:
```shell
# Open the dashboard (auto-detects templates/ and reports/ subdirectories):
clf-play
# Or run a template directly:
clf-play --template server-maintenance.yml
```
To explore the bundled examples in a dashboard, run:
```shell
cd examples/
clf-play
```
For the full guide on creating checklists—including conditional pages, imports, and all task modules—see the [User Guide](docs/user_guide.md).
## Usage
### Open the Dashboard
```shell
clf-play
```
The dashboard scans for `*.yml` files and lists them as templates and reports:
1. If `templates/` and/or `reports/` subdirectories exist in the current working directory, they are used automatically.
2. If only one of them exists, the other falls back to the current directory.
3. If both point to the same directory, all files are shown in both sections — use "Run" to start a new checklist or "View" to re-open an existing one.
You can override this with explicit paths:
```shell
clf-play --templates-dir ./my-templates --reports-dir ./my-reports
```
### Create a New Checklist From a Template
```shell
clf-play --template path/to/template.yml path/to/report.yml
```
The destination file may be omitted; in that case:
- If the template specifies a `report_path`, then that field is used to generate a new filename.
- Otherwise, a generic, timestamped filename is generated.
### Re-Open an Existing Checklist
```shell
clf-play path/to/existing_checklist.yml
```
### Export a Report as a Static Document
```shell
clf-export path/to/report.yml --format rst
```
Supported formats are `asciidoc`, `html`, `markdown`, `pdf` and `rst`. The document is written next to the report unless `--output` or `--output-dir` says otherwise, and the YAML report itself is left untouched. Pass a directory to export all reports in it, and `--output -` to write to stdout.
PDF export needs an optional dependency:
```shell
pip install 'checklistfabrik[pdf]'
```
## Credits, License
* Authors: [Linuxfabrik GmbH, Zurich](https://www.linuxfabrik.ch)
* License: The Unlicense, see [LICENSE file](https://unlicense.org/)
看看同类模板
对比同技术栈与用途的模板,找到更适合的视觉与内容结构。

gentelella
Free admin dashboard template — vanilla JS, SCSS, Vite 8. No Bootstrap, no jQuery.
HTML · 后台

coreui-free-bootstrap-admin-template
Free Bootstrap Admin & Dashboard Template Built for AI-Assisted Development
HTML · 后台

dashboards
Responsive dashboard templates 📊✨
HTML · 后台

SB Admin 2
SB Admin 2 是 Start Bootstrap 推出的开源后台模板,基于 Bootstrap 构建,整体风格偏向经典管理界面。
HTML · 后台

Adminator-admin-dashboard
Adminator is easy to use and well design admin dashboard template with dark mode for web apps, websites, servi…
HTML · 后台

SB Admin
SB Admin 是 Start Bootstrap 推出的开源后台管理模板,基于 Bootstrap 构建,定位是简洁、实用的管理界面。
HTML · 后台
