Convert Confluence pages to Markdown with attachments.
Project description
kb2md
将 Confluence 页面导出为本地 Markdown 文件,并自动下载附件与图片,支持子页面批量导出。
安装
pip install kb2md
快速开始
1. 配置默认 URL 和 Token(可选,推荐)
kb2md --set-default-url https://kb.cvte.com
kb2md --set-default-token "你的PAT"
也可以同时设置:
kb2md --set-default-url https://kb.cvte.com --set-default-token "你的PAT"
2. 导出单个页面
# 使用 page ID(已设置默认 URL 和 Token 时)
kb2md 514437503
# 或使用完整 URL
kb2md https://kb.cvte.com/pages/viewpage.action?pageId=514437503
# 临时指定 Token
kb2md 514437503 --token "你的Token"
3. 导出子页面
# 只导出直接子页面
kb2md --subpage 514437503
# 递归导出所有子页面
kb2md --all-subpage 514437503
升级
# 直接升级到最新版本
kb2md update
# 仅检查是否有新版本,不执行安装
kb2md update --check
执行其他命令时,kb2md 会在后台自动检查 PyPI 是否有新版本。如果检测到有更新,会在命令结束后提示:
A new version of kb2md is available: 0.3.0 (current 0.2.0). Run `kb2md update` to upgrade.
后台检查默认每 24 小时最多执行一次,结果缓存在 ~/.kb2md/config.json 中。
注意:
kb2md update通过pip install --upgrade kb2md升级。如果你是通过 pipx、系统包管理器或只读环境安装的,可能需要使用对应的管理器手动升级。
命令行参数
| 参数 | 说明 |
|---|---|
page_ref |
页面 ID、Confluence URL,或 update 升级命令 |
--url |
Confluence base URL(临时覆盖默认值) |
--token |
Confluence Personal Access Token |
--output-dir |
输出目录,默认 ./output |
--subpage |
下载直接子页面 |
--all-subpage |
递归下载所有子页面 |
--no-chrome-cookies |
禁用 Chrome Cookie 下载附件 |
--cookie |
手动指定浏览器 Cookie 下载附件(Windows 必需) |
--set-default-url |
设置默认 Confluence URL |
--set-default-token |
设置默认 Confluence Token/PAT |
--get-default-url |
查看当前默认 URL |
--verbose |
开启详细日志 |
--version |
显示版本 |
--check |
与 update 一起使用时只检查新版本,不安装 |
输出结构
output/
├── 页面标题[514437503].md
└── 514437503_page/
├── 子页面标题[childId].md
├── childId_attach/
│ └── ...
└── childId_page/
└── ...
附件下载与 Cookie
Confluence 的附件下载接口无法通过 PAT/Token 直接下载,需要借助浏览器中已登录会话的 Cookie。
-
macOS:
kb2md通过pycookiecheat自动读取 Chrome 中的 Cookie,使用时需满足以下条件:- 使用 Chrome 浏览器。
- 浏览器中已登录 Confluence 知识库系统。
首次下载时会弹出系统提示对话框:
Python 想要使用您存储在钥匙串的“Chrome Safe Storage”中的机密信息。
此时需要输入当前电脑用户的登录密码进行确认:
- 如果选择“允许”,则每次运行
kb2md时都会再次弹出该对话框。 - 建议选择“始终允许”,后续使用时便不会再提示。
pycookiecheat项目地址:https://github.com/n8henrie/pycookiecheat
-
Windows:
pycookiecheat不支持 Windows,因此必须手动提供 Cookie:- 在浏览器中登录 Confluence。
- 复制当前站点的 Cookie(可通过浏览器开发者工具,或安装 Cookie Tool 扩展快速复制)。
- 执行命令时通过
--cookie传入:kb2md 514437503 --cookie "key1=value1; key2=value2"
- 如果未提供
--cookie,命令会输出警告,附件将无法下载。
环境变量
CONFLUENCE_URL: 默认 Confluence URLCONFLUENCE_TOKEN: 默认 Token
开发
pip install -e ".[dev]"
pytest --cov=kb2md --cov-report=term-missing
安全提示
- 不要把 Token 写死在代码或命令历史中
- 推荐通过环境变量注入 Token
- 使用
--set-default-token时,Token 会保存在~/.kb2md/config.json,该文件权限设置为仅所有者可读写(0o600) - 共享机器上请谨慎使用
--set-default-token
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file kb2md-0.3.0.tar.gz.
File metadata
- Download URL: kb2md-0.3.0.tar.gz
- Upload date:
- Size: 367.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
47ff58288274e3fb70060c5dac0f459d7d3e536a8bb63003bf6218ce53cb86f7
|
|
| MD5 |
2eb74a7d340a7a10a188d3025c06a73e
|
|
| BLAKE2b-256 |
5a739234980c8739447482c7c99b7fc4ad05da5f0b5fc1682c101b4ce3c7077a
|
File details
Details for the file kb2md-0.3.0-py3-none-any.whl.
File metadata
- Download URL: kb2md-0.3.0-py3-none-any.whl
- Upload date:
- Size: 23.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ccde34f4e7dbde03b3bd5c8068bcdb99e77e9b8e47dc4058de4c999220becb60
|
|
| MD5 |
1f38994474dcd81e3711cfba846df79e
|
|
| BLAKE2b-256 |
20dcc899d431f7dc220d3a6e832da0c2466c7367bc529487a992af3dd03baf26
|