#html #html-templating #javascript #write #syntax #template #document

bin+lib aurochs

像使用 JavaScript 一样编写 HTML,但使用 Rust

3 个版本

0.1.2 2023 年 3 月 1 日
0.1.1 2023 年 2 月 26 日
0.1.0 2023 年 2 月 25 日

292模板引擎

MIT 许可证

18KB
138

Aurochs

发音为 O-rocks

历史

是一种已经灭绝的牛科动物,被认为是现代家牛的野生祖先。公牛肩高可达 180 厘米(71 英寸),母牛肩高可达 155 厘米(61 英寸),是全新世最大的食草动物之一;它有巨大的长而宽的角,长度可达 80 厘米(31 英寸)。[Wiki]

一些用例可能包括

  1. 一个服务器端应用程序,您在其中使用 Rust 生成 HTML,并将生成的字符串作为请求结果发送
  2. 一个静态网站生成器,您创建一个博客模板,该模板接受一组参数并返回 HTML 表示形式
  3. 一个用于使用 HTML 的应用程序的前端生成器,例如 TauriElectron

将创建 HTML 元素的某些 JavaScript 功能引入 Rust

用法

Aurochs 是一个 HTML 生成器。使用与 JavaScript 类似的语法,轻松创建模板、生成 HTML 并创建惊人的应用程序。

⚠️ 目前此项目不稳定。每次版本更新都会引入破坏性更改。请在自己的风险下使用,并且最好在生产环境之外使用。

use aurochs::Document;

fn main() {
    let mut html = Document::create_element("html");
    html.set_attribute("lang", "en");

    let mut title = Document::create_element("title");
    title.inner_text("Aurochs");

    let mut head = Document::create_element("head");
    head.append_child(title);

    let mut paragraph = Document::create_element("p");
    paragraph.inner_text("Hello World!");

    let mut _break = Document::create_element("br");
    _break.set_attribute("class", "breaking");

    let mut _break2 = _break.clone_node();
    _break2.set_attribute("id", "still_breaking");

    let mut body = Document::create_element("body");
    body.append_child_list(vec![ paragraph, _break, _break2 ]);

    html.append_child_list(vec![ head, body ]);

    println!("{}", html.render());

    /*
    <html lang="en">
        <head>
            <title>Aurochs</title>
        </head>
        <body>
            <p>Hello World!</p>
            <br class="breaking">
            <br class="breaking" id="still_breaking">
        </body>
    </html>
    */
}

无运行时依赖