md-to-html
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseSkill: md-to-html
Skill: md-to-html
WHAT
WHAT
Purpose và context
目的与上下文
- Purpose: Markdown → self-contained HTML: Mermaid diagrams, Chart.js, styled tables, code highlight, floating TOC.
- Trigger (when to use):
- Render/share as HTML
.md - Doc has steps, comparisons, numbers to visualize
- Need browser-ready professional output
- Trigger phrases: ,
/md-to-html,md2html,biến md thành html,render md,xuất html từ mdvisualize doc
- Render/share
- Non-goals: không sửa nội dung file nguồn; không ghi HTML cạnh file
.mdnguồn; không phải site tài liệu nhiều trang có thiết kế riêng (đó là.md).docs-site-macos
- 目的: Markdown → 自包含 HTML:Mermaid 图表、Chart.js、样式化表格、代码高亮、浮动 TOC。
- 触发条件(何时使用):
- 将 渲染或共享为 HTML
.md - 文档包含步骤、对比或需要可视化的数据
- 需要可直接在浏览器中打开的专业输出
- 触发短语:、
/md-to-html、md2html、biến md thành html、render md、xuất html từ mdvisualize doc
- 将
- 非目标: 不修改源 文件的内容;不在源
.md文件旁写入 HTML;不用于带自定义设计的多页文档站点(那属于.md)。docs-site-macos
Mental model
思维模型
file .md → (template đầy đủ ngoài) → HTML standalone (Mermaid · Chart.js · bảng · code highlight · TOC) + output requirements bắt buộc → html/<tên>.html → output report draftfile .md →(外部完整模板)→ 独立 HTML(Mermaid · Chart.js · 表格 · 代码高亮 · TOC)+ 强制输出要求 → html/<ten>.html → 输出报告草稿Input và output contract
输入与输出约定
| Field | Required? | Ý nghĩa | |
|---|---|---|---|
| In | file | có | nội dung cần render |
| In | Full instructions | không | template chi tiết bên ngoài; output requirements dưới đây áp dụng bất kể template |
| Out | HTML → | có | NOT same dir as source |
| Out | output report | có (trừ khi 0 artefact) | mục Delivery |
| 字段 | 是否必需? | 含义 | |
|---|---|---|---|
| 输入 | 源 | 是 | 需要渲染的内容 |
| 输入 | 完整说明 | 否 | 外部详细模板;无论是否有模板,下方的输出要求均适用 |
| 输出 | HTML → | 是 | 不得与源 |
| 输出 | 输出报告 | 是(除非产物数为 0) | 用于交付 |
Rules và capabilities
规则与能力
- RULE-01 (MUST): Output HTML → dir, NOT same dir as source
html/..md - RULE-02 (MUST): Output requirements (don't ship a broken page) — the generated HTML must include every item in "Output requirements" below, regardless of the external template.
- Capabilities: đọc file Markdown; ghi file HTML tĩnh + draft wiki. Thư viện render (Mermaid, Chart.js) nhúng trong trang.
- RULE-01(MUST):输出 HTML → 目录,不得与源
html/位于同一目录。.md - RULE-02(MUST):满足输出要求(不要交付损坏的页面)——无论外部模板如何,生成的 HTML 必须包含下方“输出要求”中的每一项。
- 能力:读取 Markdown 文件;写入静态 HTML 文件和 wiki 草稿。渲染库(Mermaid、Chart.js)嵌入页面中。
Failure boundaries
失败边界
- Không tìm thấy file nguồn → blocked, hỏi đường dẫn.
.md - Template ngoài () không có → vẫn render theo Purpose + Output requirements ở đây (không coi là lỗi).
~/.gemini/... - Trang thiếu một mục trong Output requirements → failed, sửa trước khi giao ("don't ship a broken page").
- 未找到源 文件 → blocked,询问文件路径。
.md - 外部模板()不存在 → 仍根据此处的目的与输出要求进行渲染(不视为错误)。
~/.gemini/... - 页面缺少“输出要求”中的某一项 → failed,交付前修复(“不要交付损坏的页面”)。
HOW
HOW
Main workflow
主工作流
| Step | Type | Inputs | Action | Outputs/exit | Failure/next |
|---|---|---|---|---|---|
| W01 | deterministic | đường dẫn | Đọc file nguồn (+ Full instructions ngoài nếu có) | nội dung | không có file → blocked |
| W02 | judgment | nội dung | Chọn cách visualize: steps/so sánh → Mermaid, số liệu → Chart.js, bảng styled, code highlight, floating TOC | bản dựng HTML | — |
| W03 | deterministic | HTML | Kiểm đủ Output requirements (danh sách dưới) | checklist đủ | thiếu → sửa, lặp W03 |
| W04 | effect | HTML | Ghi | file HTML | — |
| W05 | effect | kết quả | Output report draft (mục Delivery) | draft + index + log | 0 artefact → skip |
Chi tiết từng bước (nguồn chân lý cho W01–W05):
| 步骤 | 类型 | 输入 | 操作 | 输出/退出 | 失败/下一步 |
|---|---|---|---|---|---|
| W01 | 确定性 | | 读取源文件(若存在,也读取外部完整说明) | 内容 | 没有文件 → blocked |
| W02 | 判断 | 内容 | 选择可视化方式:步骤/对比 → Mermaid,数据 → Chart.js,样式化表格、代码高亮、浮动 TOC | HTML 草稿 | — |
| W03 | 确定性 | HTML | 检查是否满足输出要求(见下方列表) | 完整检查清单 | 缺少项目 → 修复并重复 W03 |
| W04 | 执行 | HTML | 写入 | HTML 文件 | — |
| W05 | 执行 | 结果 | 起草输出报告(见“交付”部分) | 草稿 + 索引 + 日志 | 0 个产物 → 跳过 |
每个步骤的详细信息(W01–W05 的唯一真实来源):
Output
输出
HTML → dir (e.g. ). NOT same dir as source .
html/html/tên-file.html.mdHTML → 目录(例如 )。不得与源 位于同一目录。
html/html/ten-file.html.mdOutput requirements (don't ship a broken page)
输出要求(不要交付损坏的页面)
The generated HTML must include, regardless of the external template:
- +
<meta charset="utf-8">and a real<meta name="viewport" content="width=device-width, initial-scale=1">— without viewport the TOC/tables overflow on mobile.<title> - so the floating-TOC links and any buttons show a keyboard focus ring.
:focus-visible{outline:2px solid <accent>;outline-offset:2px} - on
font-variant-numeric:tabular-nums(number columns must not jiggle).table - to skip Mermaid/Chart entry animation and set
@media(prefers-reduced-motion:reduce); addscroll-behavior:auto+html{scroll-behavior:smooth}so TOC anchor jumps glide and headings don't hide under any sticky header.scroll-margin-top - A favicon (inline data-URI is fine) and /
alton informative diagrams.<title>
无论外部模板如何,生成的 HTML 必须包含:
- +
<meta charset="utf-8">和真实的<meta name="viewport" content="width=device-width, initial-scale=1">——没有 viewport 时,TOC/表格会在移动端溢出。<title> - ,使浮动 TOC 链接及所有按钮显示键盘焦点环。
:focus-visible{outline:2px solid <accent>;outline-offset:2px} - 在 上设置
table(数字列不得发生位置抖动)。font-variant-numeric:tabular-nums - 使用 跳过 Mermaid/Chart 入场动画并设置
@media(prefers-reduced-motion:reduce);添加scroll-behavior:auto+html{scroll-behavior:smooth},使 TOC 锚点跳转平滑进行,并避免标题被任何吸顶栏遮挡。scroll-margin-top - 一个 favicon(可使用内联 data URI),并为信息型图表提供 /
alt。<title>
Full instructions
完整说明
~/.gemini/antigravity/skills/md-to-html/SKILL.md~/.gemini/antigravity/skills/md-to-html/SKILL.mdBranches
分支
Không có nhánh phụ trong version này.
此版本没有子分支。
Validation và stopping
验证与停止条件
W03 là checklist tất định (grep được trong HTML: , , , , , , favicon). Chất lượng visualize (chọn Mermaid hay Chart) cần review mắt. Dừng khi file ở qua đủ checklist và report đã ghi.
charsetviewport<title>:focus-visibletabular-numsprefers-reduced-motionhtml/W03 是确定性检查清单(可在 HTML 中通过 grep 检查:、、、、、、favicon)。可视化质量(选择 Mermaid 还是 Chart)需要目视审查。当文件位于 、通过全部检查清单且报告已写入时停止。
charsetviewport<title>:focus-visibletabular-numsprefers-reduced-motionhtml/Examples
示例
- Positive: →
/md-to-html llmwiki/wiki/concepts/solid-what-how.mdcó TOC nổi, bảng WHAT/HOW styledhtml/solid-what-how.html, viewport + focus ring + reduced-motion; drafttabular-nums+ dòng index/log.DDMMYY-md-to-html-swh.md - Boundary/failure: bản dựng thiếu → W03 fail (TOC/bảng tràn trên mobile) → thêm rồi mới ghi file; không ghi HTML cạnh file
<meta name="viewport">nguồn..md
- 正向示例: →
/md-to-html llmwiki/wiki/concepts/solid-what-how.md包含浮动 TOC、使用html/solid-what-how.html的样式化 WHAT/HOW 表格、viewport + focus ring + reduced-motion;同时生成草稿tabular-nums以及索引/日志行。DDMMYY-md-to-html-swh.md - 边界/失败: 构建结果缺少 → W03 失败(TOC/表格在移动端溢出)→ 添加后才能写入文件;不得在源
<meta name="viewport">文件旁写入 HTML。.md
Delivery — Output Report
交付——输出报告
After all main skill tasks complete, write a propose draft to the wiki.
完成所有主要 skill 任务后,向 wiki 写入一份提议草稿。
Steps
步骤
1. Build the filename:
- Format:
DDMMYY-<ten>.md - = today (e.g.,
DDMMYYfor 2 June 2026)020626 - = 2–4 kebab-case words summarising what was done (e.g.,
<ten>,landing-page-coteccons,brand-kit-fintech)ingest-auth-spec
2. Write :
llmwiki/wiki/sources/draft/DDMMYY-<ten>.md---
type: draft
title: "DDMMYY-<ten>"
status: proposed
tags: [<skill-name>, output-report]
timestamp: YYYY-MM-DD
---1. 构建文件名:
- 格式:
DDMMYY-<ten>.md - = 今天(例如,
DDMMYY表示 2026 年 6 月 2 日)020626 - = 2–4 个概括已完成工作的 kebab-case 单词(例如,
<ten>、landing-page-coteccons、brand-kit-fintech)ingest-auth-spec
2. 写入 :
llmwiki/wiki/sources/draft/DDMMYY-<ten>.md---
type: draft
title: "DDMMYY-<ten>"
status: proposed
tags: [<skill-name>, output-report]
timestamp: YYYY-MM-DD
---DDMMYY-<ten>
DDMMYY-<ten>
Type: draft
Status: proposed
Tags: <skill-name>, output-report
Proposed: YYYY-MM-DD
Type: draft
Status: proposed
Tags: <skill-name>, output-report
Proposed: YYYY-MM-DD
What
What
<One sentence — what this skill invocation produced or decided>
<One sentence — what this skill invocation produced or decided>
Output
Output
<Key artefacts, files created/modified, or decisions made>
<Key artefacts, files created/modified, or decisions made>
Files
Files
| File | Action |
|---|---|
| created / modified |
| File | Action |
|---|---|
| created / modified |
Notes
Notes
- Invoked via: skill
/<skill-name>
- Invoked via: skill
/<skill-name>
Origin
Origin
- Draft:
wiki/sources/draft/DDMMYY-<ten>.md - Commit: (filled by verify-before-commit)
- Date promoted: (filled by verify-before-commit)
**3. Update wiki index & log:**
- `llmwiki/wiki/index.md` — append one row: `| [DDMMYY-<ten>](sources/draft/DDMMYY-<ten>.md) | draft | YYYY-MM-DD |`
- `llmwiki/wiki/log.md` — append: `## YYYY-MM-DD — <skill-name> — <ten>`
> Skip only when the skill produces zero artefacts and zero decisions (e.g., a pure display mode like `/caveman-stats`).- Draft:
wiki/sources/draft/DDMMYY-<ten>.md - Commit: (filled by verify-before-commit)
- Date promoted: (filled by verify-before-commit)
**3. 更新 wiki 索引与日志:**
- `llmwiki/wiki/index.md`——追加一行:`| [DDMMYY-<ten>](sources/draft/DDMMYY-<ten>.md) | draft | YYYY-MM-DD |`
- `llmwiki/wiki/log.md`——追加:`## YYYY-MM-DD — <skill-name> — <ten>`
> 仅当该 skill 产生零个产物和零项决策时跳过(例如,像 `/caveman-stats` 这样的纯显示模式)。