6个版本
0.0.5 | 2024年1月9日 |
---|---|
0.0.5-c | 2023年7月20日 |
0.0.4 | 2023年7月20日 |
0.0.3 | 2023年7月4日 |
0.0.2 | 2023年7月3日 |
#19 in #预处理器
18KB
248 行
本软件包不再维护。请使用sarascript代替。
Sarascript 替代 htmlprep。如果您仍然打算使用 htmlprep(它实际上只是一个文本替换工具),请注意 htmlprep 不尊重 HTML 注释。
这是一个用于 rust 的 HTML 预处理器。
有哪些使用场景?
- 在每个页面上添加导航栏/页脚等。
- 在每页的 中插入相同的元标签。
- 作为一个自定义 rust 服务器中的库。
- 在本地计算机上预处理一个目录,并将处理后的目录复制到生产计算机上。
深入探讨一个使用场景
假设您有一个包含几十页信息的静态网站。为了使导航更方便,您可能想在所有页面上包含一个导航栏。您可能只想在一个位置编辑导航栏,并让所有网页相应更新。您有几个严肃的选择
- 使用PHP,在您的HTML文件中添加一个include指令,动态或静态地包含一个导航栏
- 在您的页面上添加一个脚本,该脚本修改DOM客户端并插入一个导航栏
- 使用允许您在服务器端插入任意HTML/CSS/JS的Web框架。
这个库允许您以静态方式执行第一个选项,而不依赖于PHP。
为什么不直接使用PHP呢?
您可以。PHP可以生成静态文件。 这里有一个Stack Overflow上的脚本,可以做到这一点。您甚至可以使用PHP获得更多功能。但是,如果您不能使用PHP,想处理服务器端的HTML,并且不想将自己锁定在JavaScript框架中,那么这个crate可以满足所有这些条件。
特性
- 在您的HTML中包含任意数量的任意文件
- 一次性预处理单个文件或整个文件夹
- 自定义设置,以便文件扩展名确定
- 哪些文件应该被处理
- 处理后的文件应具有什么扩展名
- 哪些文件应该被忽略
- 哪些文件应该直接复制
- 设置包含的根目录(包含路径可以根据您的Web服务器的根目录设置)
- 所有预处理器关键字和指令都在注释中,这意味着如果您喜欢,原始HTML代码仍然有效(我喜欢)。
- 足够快:在我的电脑上可以每秒处理超过1GB的HTML文件。尚未进行严格的基准测试。
依赖关系
~2.1–3MB
~53K SLoC