#html #预处理器 #静态 # #路径 #文件 #sa

已废弃 htmlprep

已废弃(请使用sarascript代替):用于创建静态HTML文件的HTML预处理器

6个版本

0.0.5 2024年1月9日
0.0.5-c2023年7月20日
0.0.4 2023年7月20日
0.0.3 2023年7月4日
0.0.2 2023年7月3日

#19 in #预处理器

MIT/Apache

18KB
248

本软件包不再维护。请使用sarascript代替。

Sarascript 替代 htmlprep。如果您仍然打算使用 htmlprep(它实际上只是一个文本替换工具),请注意 htmlprep 不尊重 HTML 注释。

这是一个用于 rust 的 HTML 预处理器。

有哪些使用场景?

  • 在每个页面上添加导航栏/页脚等。
  • 在每页的 中插入相同的元标签。
  • 作为一个自定义 rust 服务器中的库。
  • 在本地计算机上预处理一个目录,并将处理后的目录复制到生产计算机上。

深入探讨一个使用场景

假设您有一个包含几十页信息的静态网站。为了使导航更方便,您可能想在所有页面上包含一个导航栏。您可能只想在一个位置编辑导航栏,并让所有网页相应更新。您有几个严肃的选择

  1. 使用PHP,在您的HTML文件中添加一个include指令,动态或静态地包含一个导航栏
  2. 在您的页面上添加一个脚本,该脚本修改DOM客户端并插入一个导航栏
  3. 使用允许您在服务器端插入任意HTML/CSS/JS的Web框架。

这个库允许您以静态方式执行第一个选项,而不依赖于PHP。

为什么不直接使用PHP呢?

您可以。PHP可以生成静态文件。 这里有一个Stack Overflow上的脚本,可以做到这一点。您甚至可以使用PHP获得更多功能。但是,如果您不能使用PHP,想处理服务器端的HTML,并且不想将自己锁定在JavaScript框架中,那么这个crate可以满足所有这些条件。

特性

  • 在您的HTML中包含任意数量的任意文件
  • 一次性预处理单个文件或整个文件夹
  • 自定义设置,以便文件扩展名确定
    • 哪些文件应该被处理
    • 处理后的文件应具有什么扩展名
    • 哪些文件应该被忽略
    • 哪些文件应该直接复制
  • 设置包含的根目录(包含路径可以根据您的Web服务器的根目录设置)
  • 所有预处理器关键字和指令都在注释中,这意味着如果您喜欢,原始HTML代码仍然有效(我喜欢)。
  • 足够快:在我的电脑上可以每秒处理超过1GB的HTML文件。尚未进行严格的基准测试。

依赖关系

~2.1–3MB
~53K SLoC