2 个不稳定版本

0.2.0 2020年2月20日
0.1.0 2019年12月31日

#329 in 模板引擎

MIT 许可证

23KB
467

Meet

Meet : 构建静态网站最快的方式!

open.kriry.com 上所有项目网站均使用 meet 编写。

直接使用

cargo build --bin watch
cargo build --bin start
watch start docs target/dist --ext .html

监控

监控 是一个用于递归监控当前工作目录并在其内容更改时运行命令的工具。

它集成了 Git,因此如果被忽略的文件更改,它不会重新运行命令。

用法

watch <command> [<arg>]...

启动

启动 是一个用于处理文本文件目录的工具。它允许您定义包含其他文件的文件,并替换变量。

主要用例是使构建纯 HTML 网站变得更简单。

功能

  • 处理文件目录
  • 在文件中包含其他文件
  • 将变量设置为任意值
  • 在文件中包含环境和作用域变量值

用法

start <input-directory> <output-directory> [--ext <extension>]...

示例

start src target/dist --ext .html --ext .css

启动将遍历输入目录并处理所有文件。

  • 如果文件以 _ 开头,它将被跳过。
  • 如果文件以 .html.css 结尾,它将被处理并写入输出目录。
  • 如果没有,它将被原样复制到输出目录。

请注意,目录结构被保留。

指令

启动的功能通过 指令 提供,这些指令是文件中的简单语句。指令用 [] 包围 -- 例如 [include raw my-file.html]。指令是一系列由空格分隔的参数。

为了简化其行为,启动不删除空白。如果指令无法解析,程序将失败退出。

变量替换

您可以使用 varopt 指令将环境变量替换到文件中。 var 表示变量是必需的,而 opt 表示它是可选的。

如果变量未定义,并且使用了 opt,则指令将评估为空字符串。

var <format> <variable>
opt <format> <variable>

格式可以是 htmlraw。如果是 html,它将用于 HTML 文档进行转义。如果是 raw,它将直接替换。

当使用 raw 时,请确保自己不会受到 XSS 攻击。

<p>Hello [var html MY_VAR]</p>

设置

您可以为当前文件或包含的文件设置变量。

set <name> <value>
[set name John]
[include raw _template.html]

存储

存储会将所有当前评估的内容放入指定的变量中。存储指令之后的内容将被排除。这在定义文件中的某些内容,然后在渲染变量的模板上下文中评估它时非常有用。也称为装饰器模式。

stash <variable>
<p>This is my content</p>

[stash content][require _layout.html]

包含

您可以在其他文件中包含文件。如果一个文件包含一个包含自己的文件,该包含将被忽略以打破循环。

文件路径相对于正在处理的文件。

如果文件不存在,则指令将评估为空字符串。

include <format> [path]

格式可以是 htmlraw。如果是 html,它将用于 HTML 文档进行转义。如果是 raw,它将直接替换。

当使用 raw 时,请确保自己不会受到 XSS 攻击。

<pre>[include raw /etc/passwd]</pre>

要求

您可以在其他文件中要求文件。如果一个文件包含一个包含自己的文件,程序将以失败退出。

文件路径相对于正在处理的文件。

如果文件不存在,程序将以失败退出。

require <format> [path]

格式可以是 htmlraw。如果是 html,它将用于 HTML 文档进行转义。如果是 raw,它将直接替换。

当使用 raw 时,请确保自己不会受到 XSS 攻击。

<pre>[require raw /etc/passwd]</pre>

依赖关系

~0.4–9MB
~57K SLoC