#静态网站 #HTML #网站 #静态 #构建器 #文本文件 #包含

应用 csi

处理文本文件目录的工具。特别适用于构建静态网站。

3 个稳定版本

1.0.2 2019年4月25日
1.0.1 2019年2月25日
0.9.9 2019年2月25日
0.0.1 2019年2月25日

964文本处理 中排名

每月 25 下载

Apache-2.0

20KB
435

CSI

Crates.io Crates.io Travis CI

CSI — 客户端包含 - 是处理文本文件目录的工具。它允许您定义包含其他文件的文件,并替换变量。

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

功能

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

安装

您可以在 Github 发布 页上找到 Linux 和 macOS 的静态二进制文件。

或者,您可以使用 cargo 在 Rust 支持的任何平台上安装此工具。

cargo install csi

用法

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

例如,给定以下命令

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

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

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

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

指令

CSI 的功能通过 指令 提供,这些是文件中的简单语句。指令用 [] 括起来 -- 例如 [include raw my-file.html]。指令是空格分隔的参数列表。

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

变量替换

您可以使用 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>

变更日志

1.0.2 - 2019-04-25

  • 修复破坏 [var html <name>] 使用的错误

1.0.1 - 2019-02-24

  • 没有功能更改。
  • 使用 TravisCI 的自动化管道构建和发布。

1.0.0 - 2019-02-24

  • 初始发布。

无运行时依赖