1 个不稳定版本
0.1.0 | 2023年12月9日 |
---|
#15 in #pages
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