#yaml-config #generator #binary #website-generator #cli-tool #documentation-generator #forkdiff

bin+lib exor

包含电池的命令行工具,用于通过 YAML 配置文件生成 git 分支差异文档网站

3 个不稳定版本

0.1.1 2023年10月24日
0.1.0 2023年10月23日
0.0.1 2023年10月23日

888开发工具

MIT 许可证

1MB
116

exor

Build Status License Docs Latest Version rustc 1.31+

包含电池的命令行工具,用于通过 YAML 配置文件生成 git 分支差异文档网站。 Exor 处于 https://github.com/refcell/exor/labels/beta

安装 | 用户文档 | Crate 文档 | 参考 | 贡献 | 许可证 | 归属

什么是 exor?

exor 是一个包含电池的命令行工具,可以生成使用 YAML 配置文件的 git 分支差异详细文档网站。该项目是用 rust 重写的 forkdiff

使用方法

使用 cargo 安装 exor

cargo install exor

// TODO: 在线文档网站截图

要生成上述 git 分支差异文档网站,您可以使用以下 YAML 配置文件,并通过 --config(或简写为 -c)将其传递给 exor,如下所示

exor --config op-reth.yml

以下是在上面使用的 op-reth.yml 配置文件。

title: "op-reth"
logo: "./etc/logo.png"
footer: |
  [Fork-diff](https://github.com/protolambda/forkdiff) overview of [op-reth](https://github.com/anton-rs/op-reth), a fork of [reth](https://github.com/paradigmxyz/reth) and execution-engine of the [OP Stack](https://github.com/ethereum-optimism/optimism).
base:
  name: paradigmxyz/reth
  url: https://github.com/paradigmxyz/reth
  ref: refs/heads/main
fork:
  name: anton-rs/op-reth
  url: https://github.com/anton-rs/op-reth
  ref: refs/heads/clabby/op-reth
def:
    title: "op-reth"
    description: |
      This is an overview of the changes in [op-reth](https://github.com/anton-rs/op-reth), a fork of [reth](https://github.com/paradigmxyz/reth), part of the [OP Stack](https://github.com/ethereum-optimism/optimism).
      <br />
      <br />
      Similar minimal-diff forks of Ethereum Execution Clients for the [OP Stack](https://github.com/ethereum-optimism/optimism) include:
        <br />
        - [op-erigon](https://github.com/testinprod-io/op-erigon) built by [testinprod-io](https://github.com/testinprod-io).
        <br />
        - [op-geth](https://github.com/ethereum-optimism/op-geth) built by [optimism](https://github.com/ethereum-optimism/optimism).
    globs:
      - "hello/world/greeter.go"  # list files of which the patches should be included
      - "hello/util/*"  # use file globs to include multiple files
      - "hello/util/*[!_test].go"  # you can ignore things with globs too
    sub:
      - title: "Consensus Crate"
        description: "Documents op-reth changes to the consensus crate."
        globs:
          - "crates/consensus/*"
          - "crates/consensus/auto-seal/src/lib.rs"
        sub:
          - title: "Beacon Head Updates"
            description: "Allows the beacon consensus engine to update the head."
            globs:
              - "crates/consensus/beacon/*"
              - "crates/consensus/beacon/src/engine/*"
          - title: "Consensus Validation Changes"
            description: "Validates consensus headers behind the optimism feature flag only when the optimism chain spec option is truthy."
            globs:
              - "crates/consensus/common/*"
              - "crates/consensus/common/src/*"
      - title: "Miscellaneous"
        description: "Automated or otherwise unimportant file changes."
        globs:
          - "Cargo.lock"
          # The EF Test Cargo.toml is picked up on a strange carriage return diff I believe
          - "testing/ef-tests/Cargo.toml"
ignore:
  - "*.sum"

在底层,exor 使用 tera,这是一个受 Jinja2Django 语言模板 启发的模板引擎。

贡献

欢迎所有贡献!强烈鼓励实验,并欢迎提出新问题。

故障排除 & 故障报告

请检查现有问题以查找类似错误,如果尚未存在相关问题,请 提出问题

归属

exor 是对 @protolambdaforkdiff 网站的从头重写。

许可证

本项目采用 MIT 许可证。免费和开源,永远如此。

依赖项

~14–30MB
~423K SLoC