#html #directive #statically #resolved #include #file #src

app htmli

为HTML提供的静态解析包含指令

3个版本

使用旧的Rust 2015

0.1.3 2017年6月28日
0.1.2 2017年6月28日
0.1.1 2017年4月19日
0.1.0 2017年4月19日

#3 in #resolved

MPL-2.0 许可证

10KB
181 代码行

htmli

为HTML提供静态解析包含指令。


htmli允许您将HTML页面拆分为更小的模块。您只需将一个特殊的包含元素

<include src="dir/file.html" />

放置在您想要放置dir/file.html内容的地方,给htmli HTML页面的路径和要写入的文件,然后您就完成了。

包含元素是相对于入口文件解析的。所以如果您有以下目录结构

www/
    include/
        btn-menu.html
        nav.html
    main.html

并且有以下的HTML

<!-- main.html  -->
<!doctype html>
<html>
    <head></head>
    <body>
        <include src="include/nav.html" />
    </body>
</html>

<!-- include/btn-menu.html  -->
<div id="btn-menu" class="btn">Push Me</div>

<!-- include/nav.html  -->
<div class="nav">
    <include src="include/menu-btn.html" />
</div>

htmli将首先获取main.html,插入include/nav.html,当它遇到include/btn-menu.html的包含指令时,它将从main.html所在的目录解析路径。

用法

htmli - Utility to statically resolve html-include directives.

Usage:
    htmli <file> [--minify] [--output=<f>]
    htmli (-h | --help)
    htmli --version

Options:
    -m --minify        Minifies output.
    -o --output=<f>    Direct output to file.

    -h --help          Show this screen.
    --version          Show version.

安装

首先安装Rust

Crates.io
$ cargo install htmli
来源
$ git clone https://github.com/nathansizemore/htmli
$ cd htmli
$ cargo install

作者

Nathan Sizemore,[email protected]

许可证

htmli可在MPL-2.0许可证下使用。有关更多信息,请参阅LICENSE文件。

依赖

~4.5MB
~102K SLoC