2 个版本
0.0.2 | 2024 年 4 月 5 日 |
---|---|
0.0.1 | 2024 年 3 月 3 日 |
257 在 模板引擎 中
116 每月下载量
用于 mockingbird
1.5MB
4.5K SLoC
Harper + Mockingbird
这是一个正在进行中的项目。
lib.rs
:
用于创建极快静态站点生成器的工具包。
概述
Sketch 是一个用于创建非常快的静态站点生成器的库:消耗文件并输出静态 HTML 网站及其资产的程序。它不对源内容的结构或内容操作强加任何特定结构。
内部,Harper 按以下方式组织内容
+-------+
| Site |
+---+---+
|
+-----------------------------+--------------------------------+
| |
| +------------+ +------------+ +-------+ +-------+ |
| | Collection |... | Collection | | Asset |... | Asset | |
| +------------+ +------+-----+ +-------+ +-------+ |
| | |
| +----------------------+----------------------+ |
| | +--------+ +------------+ | |
| | | index? | | data group | | |
| | +--------+ +-----+------+ | |
| | +------+ +------+ +------+ | +------+ | |
| | | item |...| item | | data |...| data | | |
| | +------+ +------+ +------+ +------+ | |
| +---------------------------------------------+ |
+--------------------------------------------------------------+
换句话说,一个 站点 由以下组成
-
集合,由
-
项组成,可能已排序,其中之一可能是 索引。项表示为字符串键和类似 JSON 的值的字典。这个字典称为项的 元数据。所有项数据都存储在其 元数据 中。元数据在项处理过程中进行转换。
-
组织成 数据组 的 数据。
您可以将集合视为目录,其内容分为文本内容(项)和数据,尽管它不一定必须按此方式组织。
-
-
资产
资产,如图像和样式表,将根据文件的类型对应的管道进行渲染。
渲染
站点通常通过以下一系列操作进行渲染
- 将目录中的文件读取到集合中。
- 根据 SSG 的喜好对项的元数据进行转换。典型的转换可能如下所示
- 前言元数据直接读取到文件的元数据中。
- 将项文本渲染为 markdown 并存储在
content
元数据字段中。 - 使用项的
metadata
作为模板上下文将项渲染到模板中。
- 根据 SSG 的喜好对资产进行转换。
- 将完全转换后的内容写入输出目录。
依赖项
~19–30MB
~482K SLoC