#paper #markdown #terminal #terminal-file #viewer #render #syncat

app paper-terminal

将文件写入您的终端中的纸张。特别是如果这个文件是 Markdown 格式的话。

19 个版本 (8 个稳定版)

3.0.0 2023 年 11 月 14 日
2.2.1 2022 年 6 月 25 日
2.1.2 2021 年 4 月 2 日
2.1.1 2020 年 12 月 5 日
0.2.0 2019 年 6 月 12 日

命令行工具 中排名 #386

每月下载量 44

MIT 许可证 MIT

190KB
1.5K SLoC

纸张终端

dependency status

查看 paper.png 以查看其外观!

将文件写入您的终端中的纸张。 尤其是 如果这个文件是 Markdown 格式的话!支持的功能包括

  1. 常规文本和自动换行的段落。您可以使用预期的方式手动换行。
    使用硬回车。

    否则,段落将会有适当的间距。

  2. 标题

  3. 粗体 / 斜体 / 粗体和斜体 / 删除线

  4. 列表

    • 有序
    • 无序
      • 嵌套
  5. 规则

  6. 内联代码

  7. 代码块,与 syncat 集成以实现语法高亮。请注意,您必须安装 syncat 并将 syncat 可执行文件添加到您的路径中才能使用此功能。

    fn main() {
        println!("Hello world");
    }
    
  8. 引用

    引用

    以及嵌套引用

  9. 甚至图像!这是我家猫的照片

    My cat. His name is Cato

  10. 任务列表

    • 简单
    • 困难
  11. 脚注[^ft]

    [^ft]: 这是脚注内容!

  12. 表格

与其他命令行 Markdown 渲染器的比较

这不是一个非常好的比较... 这更像是一个表格的示例!

工具 CommonMark Paper 分页 换行 语法 图像 表格 看起来不错*
foxfriends/paper-terminal syncat 像素化
ttscoff/mdless pygmentize 有时
lunaryorn/mdcat syntect 有时

* 主观

样式

Paper 使用 syncat 样式表 允许完全自定义样式。请查看默认样式表(src/default.syncat),了解其工作原理。要覆盖默认样式,请创建您的活动 syncat 主题中的 paper.syncat

  • 不同的范围以节点形式表示,灵感来自相应的 HTML 标签名。

    • h1h6
    • strong
    • emphasis
    • strikethrough
    • code
    • blockquote
    • ulolli
    • footnote-reffootnote-deffootnote
    • 表格
    • 标题
    • 链接
  • 纸张和阴影可以与papershadow匹配。应用在paper上的样式将应用于所有内容。

  • 可以使用"prefix""suffix"标记来匹配装饰

    • 列表项符号
    • 引用标记
    • 代码块边距
  • "lang-tag"标记匹配代码块底角写出的语言名称

  • 您可以通过使用语言名称作为标记来将样式应用于具有特定语言的代码块

目前,前缀/后缀内容不可自定义,但如果需要,将来可能会添加此功能。

安装

可以使用Cargo从crates.io安装Paper

cargo install paper-terminal

使用方法

# Print the help
paper --help

# Render README.md
paper README.md

# Render README.md, with syntax highlighting
paper README.md -s
paper 0.1.0
Cameron Eldridge <cameldridge+git@gmail.com>
Prints papers in your terminal

USAGE:
    paper [FLAGS] [OPTIONS] [file]...

FLAGS:
        --dev          Print in debug mode
        --help         Prints help information
    -u, --hide-urls    Hide link URLs
    -i, --no-images    Disable drawing images
    -p, --plain        Don't parse as Markdown, just render the plain text on a paper
    -s, --syncat       Use syncat to highlight code blocks. Requires you have syncat installed.
    -V, --version      Prints version information

OPTIONS:
    -h, --h-margin <h-margin>    Horizontal margin (overrides --margin)
    -m, --margin <margin>        Margin (shortcut for horizontal and vertical margin set to the same value) [default:
                                 6]
    -v, --v-margin <v-margin>    Vertical margin (overrides --margin)
    -w, --width <width>          The width of the paper (including the space used for the margin) [default: 92]

ARGS:
    <file>...    Files to print

依赖项

~19–29MB
~246K SLoC