#export #instance #hierarchy #pages #exporter #bookstack #book-stack

bin+lib bookstack-exporter

将 BookStack 实例导出为文件层次结构

1 个不稳定版本

0.1.0 2023年12月9日

#15 in #pages

MIT 许可证

19KB
369

BookStack Exporter

将 BookStack 实例导出为文件层次结构。

目前,此工具非常简单,不提供很多自定义或错误检查。查看 homeylab/bookstack-file-exporter 以查看它是否符合您的需求。

功能

  • 无额外依赖
  • 在 Windows 和 Linux 上运行
  • 导出 BookStack 中的所有页面,同时保持结构
    • 使用 shelve/book/chapter/page 别名进行命名

缺少的功能

  • 下载附件
  • 重写链接以使 html 导出可离线浏览

使用方法

Usage: bookstack-exporter [OPTIONS]

Options:
      --host <BOOKSTACK_HOST>
          Bookstack Host. Example: docs.example.com

  -e, --export-type <EXPORT_TYPE>
          Type of export to perform. Required unless set in the config file

          [possible values: html, pdf, markdown]

  -o, --output-dir <OUTPUT_DIR>
          Directory to export Bookstack to

  -i, --api-id <BOOKSTACK_API_TOKEN_ID>
          Bookstack API Token ID

          Can also be set with the environment variable BOOKSTACK_API_TOKEN_ID

  -s, --api-secret <BOOKSTACK_API_TOKEN_SECRET>
          Bookstack API Token Secret

          Can also be set with the environment variable BOOKSTACK_API_TOKEN_SECRET

  -c, --config-path <CONFIG_PATH>
          Optional config file

  -h, --help
          Print help (see a summary with '-h')

  -V, --version
          Print version

Examples:

    Load all config values from a custom config file path,
    and override export type to use the command line argument instead

    $ bookstack-exporter --config-path settings.toml --export-type pdf

    settings.toml:
        bookstack_host = "https://docs.example.com"
        output_dir = "export"
        export_type = "html"
        bookstack_api_token_id = "<token_id>"
        bookstack_api_token_secret = "<token_secret>"

配置文件

示例配置文件

bookstack_host = "https://docs.example.com"
output_dir = "export"
export_type = "html"
bookstack_api_token_id = "<token_id>"
bookstack_api_token_secret = "<token_secret>"

示例输出

.
└── export
    ├── my-shelf-1
    │         └── a-book
    │             ├── a-chapter-on-stuff
    │             │         └── this-page-in-a-chapter.hml
    │             └── some-page.html
    └── my-shelf-2
        └── another-book
            └── another-page.html

安装

发行版 页面下载您平台上的最新二进制文件。

构建

您需要设置一个 Rust 开发环境来编辑和构建此项目。

或者,您可以分叉此存储库并启动一个 GitHub Codespace 以使用预配置的开发环境。

要构建 bookstack-exporter

$ cargo build --release

从 Linux 向 Windows 跨编译

$ cargo install cargo-xwin
$ rustup target add x86_64-pc-windows-msvc.
$ cargo xwin build --release --xwin-arch x86_64 --target x86_64-pc-windows-msvc

贡献

此项目试图应用以下约定

待办事项

  • 清理文件路径
    • 只允许导出到指定的目录
  • 处理目录和文件已存在的情况
  • 清理代码
  • 错误处理
  • 测试

依赖项

~8–21MB
~316K SLoC