これまで,mkdocsを使ってMarkdownをビルドしてHerokuにCIでPushしていました.書いてからビルドしてブラウザから開くのが面倒だったのでConfluenceに移行しました.
移行ツールをGitHubで探したらアップロードまで行ってくれるツールがありました.
RittmanMead/md_to_conf: Markdown to Confluence import
使い方はマニュアル通りです.複数ファイルのアップロードはシェル芸でやりました.スペースが含まれるとBashのforが別の要素として認識するので,特殊変数 IFS
を改行だけにしておきます.並列で実行すると早くアップロードできると思います. -g
でアップロード後にブラウザでConfluenceを勝手に開かないようになります.
upload.bash
# !/bin/bash -xe
export CONFLUENCE_ORGNAME='xxxx'
export CONFLUENCE_USERNAME='mail@example.com'
export CONFLUENCE_API_KEY='XXXXX'
export IFS="
"
for f in `find . -type f | grep \.md`
do
echo python ../md_to_conf/md2conf.py -g `printf %q "$f"` DOCS | bash
done
実行結果
2020-03-29 14:26:13,194 - INFO - main [614] - Markdown file: ./Linux/シェルの実装.md
2020-03-29 14:26:13,194 - INFO - main [615] - Space Key: DOCS
2020-03-29 14:26:13,195 - INFO - main [621] - Title: シェルの実装
2020-03-29 14:26:13,207 - INFO - main [644] - Checking if Atlas page exists...
2020-03-29 14:26:13,207 - INFO - get_page [294] - Retrieving page information: シェルの実装
2020-03-29 14:26:13,631 - INFO - create_page [405] - Creating page...
2020-03-29 14:26:14,979 - INFO - create_page [441] - Page created in docs with ID: 165830.
2020-03-29 14:26:14,980 - INFO - create_page [442] - URL: https://xxxx.atlassian.net/wiki/spaces/DOCS/pages/165830
2020-03-29 14:26:14,983 - INFO - main [666] - Markdown Converter completed successfully.
Webからもアップロードが出来ていることが確認できます.
世界的に使われているツールは,サードパーティ製ツールがあるので快適です.