1 个不稳定版本
| 0.1.1 | 2021 年 4 月 11 日 |
|---|
#82 在 #preprocessor
9KB
113 行
Hippo
Hippo 是一个实验性的编译时资源预处理器;其预期用途是使用现有工具链对网页资源进行预处理。
⚠️ 项目范围及其编程接口很可能发生变化。
用法
一个 struct 或 enum 可以从 Preprocess 继承以嵌入命令的输出。可以通过 Self::HIPPO_DATA,Self::preprocessed_data() 或其 Display 实现访问处理后的输出。
Rust
use hippo::Preprocess;
#[derive(Preprocess)]
#[hippo("sass", "css/main.scss")]
pub struct MainCSS;
Hippo.toml
[sass]
command = "sassc"
flags = ["-t", "compressed"]
prefix = "static/"
format = "utf-8"
配置
Hippo 将在包根目录中查找 Hippo.conf;此文件定义了一个或多个将被提供给从 Preprocess 继承的任何 struct 或 enum 的预处理器。
预处理器通过其 TOML 部分 identification,其行为由其键值对控制。以下键值对被识别
| 键 | 类型 | 描述 |
|---|---|---|
| command | 字符串 | 要执行的命令。必需。 |
| flags | 字符串数组 | 命令选项的集合。可选。 |
| prefix | 字符串 | 要附加到输入参数的路径前缀。可选。 |
| format | 字符串 | 输出格式。必须是 "bytes"(默认)或 "utf-8"。 |
依赖关系
~0.5–1.1MB
~26K SLoC