首页
看点啥
插画图片
首页 科技看点 sailfish:实践指南

sailfish:实践指南

2026-09-12 0

实际评估sailfish时,我先确认它解决的具体问题:Rust 的简单、小型且极快的模板引擎。实际做日常自动化时,经常会碰到输入边界、依赖和失败处理如果不清楚就很难稳定复用,所以功能列表并不能代替验证。我建议用一项范围明确的真实任务完成最小试跑,重点记录配置时间、输出质量、异常信息和维护痕迹,再与现有方案比较。我的判断是,它更适合愿意先做小范围验证并复查原始文档的团队;若眼下没有这类需求,先保留观察即可。

Rust 的简单、小型且极快的模板引擎

用户指南 | API 文档 | 示例

✨ 特点

示例

依赖项:

[dependencies]
sailfish = "0.11.3"

您可以选择使用 TemplateSimple 直接访问字段:

模板文件(templates/hello.stpl):

`` erb

<% for msg in messages { %> <%= msg %> <% } %>

代码:

``生锈 使用旗鱼::TemplateSimple;

#[derive(TemplateSimple)] #[template(path = "hello.stpl")] 结构 HelloTemplate { 消息:Vec }

fn 主() { 让 ctx = HelloTemplate { messages: vec![String::from("foo"), String::from("bar")], }; println!("{}", ctx.render_once().unwrap()); }

Or use the more powerful Template/TemplateMut/TemplateOnce:

Template file (templates/hello.stpl):


  
    <% for msg in &self.messages { %>
      <%= msg %>
    <% } %>
    <%= self.say_hello() %>
  

Code:

use sailfish::Template;

#[derive(Template)]
#[template(path = "hello.stpl")]
struct HelloTemplate {
    messages: Vec
}

impl HelloTemplate {
    fn say_hello(&self) -> String {
        String::from("Hello!")
    }
}

fn main() {
    let ctx = HelloTemplate {
        messages: vec![String::from("foo"), String::from("bar")],
    };
    println!("{}", ctx.render().unwrap());
}

You can find more examples in examples directory.

路线图

表达你的支持

如果这个项目对您有帮助,请给个⭐!

文档部署说明

sudo apt install mkdocs mkdocs-material
cd sailfish_root_folder &&
cd docs && cd en 
mkdocs build

喜欢(0)

上一篇

BigBang:实践指南

BigBang:实践指南

下一篇

webtransport:实践指南

webtransport:实践指南
猜你喜欢