5 个版本
0.1.5 | 2023年11月30日 |
---|---|
0.1.4 | 2023年3月29日 |
0.1.3 | 2022年9月8日 |
0.1.1 | 2020年11月18日 |
0.1.0 | 2020年11月15日 |
#227 在 命令行实用程序
77KB
1.5K SLoC
to-html
将终端通过将 ANSI 转义序列转换为 HTML 在网站上渲染的终端包装器。支持许多外壳,包括 bash、fish、ksh 和 zsh。
变更日志 ☑
变更日志可以在 此处 找到。
安装 🚀
如何安装 to-html 在 版本页面 上解释。
用法 📚
执行一个命令
to-html 'echo "Hello world"'
执行多个命令
to-html 'echo "Hello "' 'echo world' ls
命令可以包含外壳语法,包括管道和重定向
to-html "echo Hello world! | grep 'H' > somefile.txt"
默认外壳是 bash。使用 --shell
/-s
使用不同的外壳
to-html -sfish "../" "ls" # executed with fish
默认情况下,to-html 输出 <pre>
标签。使用 --doc
/-d
生成整个 HTML 文档(包括 CSS)
to-html -d "ls --color" > output.html
默认情况下,to-html 只显示一个箭头(>
)作为提示。要显示当前工作目录,请传递 --cwd
/-c
to-html -c "cd .." "ls"
示例输出
~/Develop/to-html/crates $ cd .. ~/Develop/to-html $ ls Cargo.lock CHANGELOG.md docs README.md target Cargo.toml crates LICENSE src ~/Develop/to-html $
(GitHub 上无法显示颜色)
ANSI 支持 🎨
to-html
只支持 SGR 参数(文本样式和颜色)。然而,覆盖其输出的程序,如进度条,似乎“直接工作”。请纠正我如果我是错的。
如果您需要在网站上使用更高级的终端特性,我建议您使用 xterm.js。
样式表 💎
将其包含在您的网站上以获取提示的语法高亮显示
点击展开样式表
.terminal {
background-color: #141414;
overflow: auto;
color: white;
line-height: 120%;
}
.terminal .shell {
color: #32d132;
user-select: none;
pointer-events: none;
}
.terminal .cmd {
color: #419df3;
}
.terminal .hl {
color: #00ffff;
font-weight: bold;
}
.terminal .arg {
color: white;
}
.terminal .str {
color: #ffba24;
}
.terminal .pipe,
.terminal .punct {
color: #a2be00;
}
.terminal .flag {
color: #ff7167;
}
.terminal .esc {
color: #d558f5;
font-weight: bold;
}
.terminal .caret {
background-color: white;
user-select: none;
}
可以使用 CSS 类覆盖默认终端颜色,例如
.terminal {
--red: #f44;
--bright-red: #f88;
}
演示 📸
> to-html 'cargo test' "to-html 'cargo test'"
替代方案
在 Gnome 终端 中,您可以定义一个键绑定以将终端内容作为 HTML 复制。
行为准则 🤝
请友好并尊重他人。这是一个每个人都可以感到安全的地方,因此我打算执行Rust行为准则。
贡献 🙌
感谢您的帮助!帮助的最简单方法是提交错误报告或在问题跟踪器中提出新功能。
如果您想创建一个拉取请求,请确保满足以下要求
- 代码有文档说明
- 如果您添加了一个包含不安全代码的依赖项,请解释为什么需要它
- 请尽量保持编译时间短,如果可行的话
此外,为了通过持续集成,代码必须
- 使用 cargo fmt 正确格式化
- 通过 cargo clippy
- 使用最新的稳定版Rust在Ubuntu和macOS上编译。
- 所有测试都必须通过
就这样!如果您有任何问题,请随意创建一个问题。
依赖项
~6–17MB
~199K SLoC