#html-text #html #plain-text #converter #html-rendering #text

bin+lib august

用于将 HTML 转换为纯文本的 crate 和程序

6 个版本 (稳定版)

2.4.0 2020年5月31日
2.3.0 2019年10月29日
2.2.0 2019年1月10日
2.1.0 2018年12月27日
0.1.0 2018年12月21日

#1325文本处理

每月37次下载
2 crate 中使用

LGPL-3.0-or-later

52KB
1K SLoC

August

August 是一个用于将 HTML 转换为纯文本的 Rust crate 和程序。它专门用于将 HTML 邮件渲染为文本;然而,它也可以用于其他目的,例如将 HTML 转换为文本以进行全文索引或其他处理。

用法

将此添加到您的 Cargo.toml

[dependencies]
august = "^2.4"

并将此添加到您的代码中

use august;

let input = "<p>Hello</p><i>Here's some HTML!</i>";
println!("{}", august::convert(input, 79));
println!("---");
println!("{}", august::convert_unstyled(input, 79));

输出现在看起来像这样

Hello

/Here's some HTML!/
---
Hello

Here's some HTML!

命令行程序

Cargo 附带了一个小的命令行程序 august,它从 stdin 读取 HTML 并将文本打印到 stdout。如果您已启用 term-size 功能,它将使用终端宽度作为默认宽度,否则使用 79。您可以通过传递 -w WIDTH 作为参数来覆盖此值。

已知问题

  1. 目前没有 CSS 支持。可能在未来某个时候会实现一些支持,但尚不清楚哪些值得实现。

变更

2.4.0

  • 添加了无样式模式

2.3.0

  • 切换到更多基于流的函数
  • 更新 cargo 配置以使用 semver 版本来防止 0.x 依赖项损坏。

2.2.0

  • 添加更多文档。
  • 在终端大小下运行时使用终端宽度作为默认宽度。
  • 默认禁用 term-size 以减少静态链接大小。
  • 对于大文件,减少内存使用量约 30%。
  • 减少正则表达式的使用。

2.1.0

  • 添加对更多内联元素的支持:code、dfn、kbd、mark、q、samp、var、del、input、select。
  • 添加对 pre 元素的支持
  • 将不支持的内联元素以内联形式显示而不是块形式。

2.0

初始 Python 重写 (https://alantrick.ca/writings/programming/python_to_rust)。

依赖关系

~5–7MB
~124K SLoC