# 编写

> 用纯 HTML 编写页面，并借助少量 htmlpress-* 组件来撰写文档。

Htmlpress 开箱即支持纯语义化 HTML，另外提供一小组 `htmlpress-*` 组件，覆盖 HTML 没有对应元素的场景：提示框、标签页、步骤、卡片、终端、图表等。一个项目就是一个文件夹：其中每个 `.html` 和 `.md` 文件都是一个页面，其他文件则按原样复制到输出中的相同路径。`.git/` 和 `.htmlpress/` 这类点文件夹以及 `node_modules/` 会被跳过。下面每个页面介绍编写功能的一个方面。

每个示例都同时给出 HTML 和 Markdown 写法，后者是 `.md` 页面使用的 [Livemark](https://livemark.dev) 语法：选中一个标签页，所有页面的示例都会随之切换。

## 功能

### [HTML 页面](/zh/authoring/html-pages/)

完整文档或片段，其 head 即元数据，任何元素、样式或脚本都可使用。

### [Markdown 页面](/zh/authoring/markdown-pages/)

用 Markdown 编写的页面，支持前置元数据和指令。

### [前置元数据](/zh/authoring/frontmatter/)

设置页面标题、描述和排序的 `<head>` 标签。

### [标题](/zh/authoring/headings/)

自动生成的 ID、自定义锚点和目录。

### [链接](/zh/authoring/links/)

内部链接、外部链接和锚点链接、URL 以及基础路径。

### [媒体](/zh/authoring/media/)

可缩放的图片，以及视频和音频嵌入。

### [文本格式](/zh/authoring/text-formatting/)

粗体、斜体、列表、引用块、脚注、定义列表和缩写。

### [富元素](/zh/authoring/rich-elements/)

表格、提示框、标签页、步骤、卡片、徽章、按钮和文件树。

### [代码块](/zh/authoring/code-blocks/)

复制按钮、代码标签页、包管理器标签页和终端。

### [高级语法](/zh/authoring/advanced-syntax/)

Head 标签、脚本、Mermaid 图表和项目组件。
