#render #traits #unimarkup #markup #html #rendering #elements

unimarkup-render

提供用于渲染 Unimarkup 标记的特性和类型的 Crate

1 个不稳定版本

0.4.0 2023 年 4 月 23 日

#105#markup


4 个 Crate 中使用 (2 个直接使用)

MIT 许可证

9KB
62

Unimarkup Render

此 Crate 定义了用于将 Unimarkup 元素渲染到所有支持格式的类型和特性。因此,所有 Unimarkup 元素都必须实现此 Crate 中定义的 Render 特性。

添加新的 Unimarkup 元素

新添加的 Unimarkup 元素必须实现 Render 特性。

impl Render for NewElement {
  fn render_html(&self) -> Result<Html, LogId> {
    // implement rendering to HTML for this new element
  }
}

添加新的输出格式

要添加新的输出格式,必须扩展 Render 特性。

注意:这会影响所有实现 Render 特性的 Unimarkup 元素!

pub trait Render {
  // ...
  // previous output formats
  // ...

  /// Renders Unimarkup to the new output format
  fn render_new_format(&self) => Result<NewFormat, LogId>;
}

语法高亮

Crate 还通过使用 syntect Crate 的 highlight 模块提供语法高亮功能。

依赖关系

~6–16MB
~172K SLoC