#文档 #asciidoc #redhat #行注释 #stdin

app presciidoc

为其他工具预处理 AsciiDoc

1 个不稳定版本

0.4.1 2023年11月22日

#772文本处理

Apache-2.0

25KB
349

presciidoc (WIP)

为其他工具预处理 AsciiDoc。

本程序的目标是部分解析 AsciiDoc 文件,删除某些非段落元素,并以语法树的形式展示文档。其他工具可以稍后分析或进一步处理这种表示。

警告:此工具是仍在开发中的实验性工具,不能解析绝大多数的 AsciiDoc 语法。

安装

您可以使用各种包管理器在多个操作系统上安装 presciidoc

Fedora 和 CentOS Stream

  1. 启用 Copr 仓库

    # dnf copr enable mareksu/presciidoc
    
  2. 安装 presciidoc

    # dnf install presciidoc
    

    Copr 仓库仅分发 Fedora 的 支持 版本的软件包。如果您已经启用了仓库但软件包安装失败,请检查您的 Fedora 是否仍然受到支持。

在任何平台上从源代码安装

  1. 安装 Rust 工具链:请参阅 https://rustup.rs/

  2. 安装 presciidoc

    $ cargo install --git https://github.com/msuchane/presciidoc.git
    

使用方法

presciidoc 读取单个 AsciiDoc 文件,可以是指定的文件路径,也可以是您没有提供文件时从标准输入 (stdin)。

  • 默认情况下,它不对文档执行任何操作,并将其打印回终端 (stdout)。例如

    $ presciidoc proc_configuring-thing.adoc
    
    // The document starts here.
    [id="configuring-thing"]
    = Configuring thing
    
    ////
    Enter a module introduction here.
    ////
    An introduction...
    
  • 您可以使用 --no-comments (-c) 选项来删除所有行注释和注释块。presciidoc 将它们替换为空行,以便所有行号仍然与原始文件匹配

    $ presciidoc --no-comments proc_configuring-thing.adoc
    
    
    [id="configuring-thing"]
    = Configuring thing
    
    
    
    
    An introduction...
    
  • 要完全删除注释而不是替换它们,请添加 --remove-lines (-r) 选项

    $ presciidoc --no-comments --remove-lines proc_configuring-thing.adoc
    
    [id="configuring-thing"]
    = Configuring thing
    
    An introduction...
    
  • 要计算文件中有多少行是注释或字面量,请使用 --fraction (-f) 选项。这将计算其他情况下将被删除的行数的百分比

    $ presciidoc --no-comments --fraction proc_configuring-thing.adoc
    
    27.8%
    
  • 要保存更改,您可以覆盖原始文件或通过重定向输出创建新文件

    $ presciidoc -c -r proc_configuring-thing.adoc > modified.adoc
    
    [id="configuring-thing"]
    = Configuring thing
    
    An introduction...
    

依赖项

~7–17MB
~213K SLoC