simple-confluence-to-markdown
Version:
Convert Confluence Pages to Markdown
93 lines (65 loc) • 3.47 kB
Markdown
# Confluence 转 Markdown
转换 [Confluence 的 HTML 导出文件](#conflhowto) to Markdown文件
## 安装
你必须先安装 [pandoc] 命令行工具. 确保他运行:
```
pandoc --version
```
安装npm依赖:
```
npm install simple-confluence-to-markdown -g
```
## 使用
在转换器的目录中:
```
simple-confluence-to-markdown -i <pathResource> -o <pathResult>
```
### 参数
参数 | 描述
--- | ---
`<pathResource>` | 要转换的文件或目录,其中包含提取的 Confluence 导出内容
`<pathResult>` | 输出结果将生成到的目录。默认为当前工作目录
## 程序描述 <a name="process-description"></a>
- Confluence页面ID在HTML文件名和链接中被替换为该页面的标题
- 创建总体索引index.md,链接到所有Confluence空间-它们的索引
- 图像和其他插入的附件链接到生成的markdown文件
- 整个`images`和`attachments`目录都被复制到结果目录中
- 没有检查特定文件/图像是否被使用
- 生成的markdown链接到内部页面时,不包含尾部的**.md**扩展名,以符合[gitit]的要求
- 可以通过在`.js`文件中找到所有出现`gitit requires link to pages without .md extension`的地方,并在那里添加扩展名来更改此行为。
- pandoc实用程序可以接受许多选项来改变其默认行为
- 可以通过将它们添加到[`App.js`](src/App.js)文件中的`outputTypesAdd`,`outputTypesRemove`,`extraOptions`属性来传递给它们
- 这里是pandoc可以接受的[选项列表][pandoc-options]
- 整个应用程序使用一个控制台日志记录器,默认的详细程度设置为INFO
- 可以在[`Logger.js`](src/App.js)文件中将详细程度更改为DEBUG、INFO、WARNING、ERROR级别
- 对Confluence页面的HTML文本应用一系列格式化规则,以便正确转换
- 可以在[`Page.js`](src/Page.js)文件中查看和/或更改这些规则
- 这些规则本身位于[`Formatter.js`](src/Formatter.js)文件中
### 改进空间
如果您发现有任何不满意的地方,欢迎您提交 PR(Pull Request)。上面的 [程序描述](#process-description) 部分提到了一些很好的起点。
### 导出为 HTML
请注意,如果转换器不知道如何处理某种样式,HTML 转 Markdown 通常会保留 HTML 不变(Markdown 允许使用 HTML 标签)。
## Confluence 数据导出的逐步指南 <a name="conflhowto"></a>
1. 进入空间,选择左下方底部的侧边栏上的 `空间管理 > 内容管理`。
2. 选择导出。只有具有**导出空间**权限的用户才能看到该选项。
3. 选择 HTML,然后选择下一步。
4. 决定是否需要自定义导出:
- 选择普通导出以生成一个包含您有权限查看的所有页面的 HTML 文件。
- 选择自定义导出,如果您想导出页面的子集,或者排除评论。
5. 解压缩 ZIP 文件。
**警告**
请注意,博客不会被导出为 HTML。您需要手动复制它或将其导出为 XML 或 PDF。但是这些格式不能被此工具处理。
### 开发
- node >= 10
```
npm i // 安装依赖
npm test // 测试
npm run release // 发布
git push --follow-tags origin master && npm publish // npm 发布
```
# 鸣谢
感谢 meridius。
[pandoc]: http://pandoc.org/installing.html
[pandoc-options]: http://hackage.haskell.org/package/pandoc
[gitit]: https://github.com/jgm/gitit/
[confluence-to-markdown]: https://github.com/meridius/confluence-to-markdown