3个版本

0.1.2 2022年8月22日
0.1.1 2022年5月4日
0.1.0 2022年4月28日

#508模板引擎

MIT/Apache

24KB
453

mdiu

使用Gemtext构建文档

许可证

许可方式为以下之一

任选其一。

贡献

除非您明确声明,否则根据Apache-2.0许可证定义,您有意提交以包含在作品中的任何贡献,将按照上述方式双许可,不附加任何额外条款或条件。


lib.rs:

使用Gemtext构建文档

mdiu提供了一个正确且灵活的方法来创建使用Gemtext的小型文档。

Manual Data Insertion Unit命名,这是Gemini机载计算机的一部分。

示例

使用构建器创建文档

use mdiu::{Document, Gemtext, ToMarkup};

let gemtext = Document::new()
    .h1("my gemlog")
    .text("welcome")
    .build()?
    .to_markup::<Gemtext>();

assert_eq!(gemtext, "# my gemlog\nwelcome\n");

逐块创建文档

use mdiu::{Block, Content, Gemtext, Level, Markup};

let h1 = Block::Heading(Level::One, "my gemlog".parse()?);
let text = Block::Text(Content::new("welcome")?);
let doc = vec![h1, text];

let gemtext = <Gemtext>::markup(&doc);

assert_eq!(gemtext, "# my gemlog\nwelcome\n");

特性

默认支持将格式化为Gemtext。以下格式也有额外功能

  • html
  • markdown

计划实现Gemtext解析功能,但尚未实现。

替代方案

虽然mdiu仅涵盖Gemtext,但以下crates涵盖了完整的Gemini协议

依赖

~575KB