Backlog で PlantUML をプレビューする環境
今携わっているプロジェクトは、プロジェクト管理もコード管理も Backlog を利用しています。
Online Project Management Software for Developers | Backlog
当然ドキュメントも Backlog の Wiki に書くんですが、微妙にかゆいところに手が届かない。日常的には Scrapbox や Kibela を使ってるんですが、いい感じのリンク機能もなければ、素敵な描画機能も無いので、苦心しながら使っている状態です。
未だに backlog 記法の wiki が大半を占めていて、backlog 記法は近年アップデートも感じられないし、syntax highlight も微妙だし、、、辛い。
PlantUML をプレビューしたい
Backlog の公式から Backlog Power Ups が出ていて、そこに PlanUML のプレビュー機能もあります。
ただ、コードを見てもらうとわかりますが、PlanUML の画像生成は公式のサーバーに投げることで実現しています。
backlog-power-ups/plantuml.js at master · nulab/backlog-power-ups · GitHub
const convertToImage = (elem) => { const $elem = $(elem); const text = $elem.text(); const data = compress(text); const url = `https://www.plantuml.com/plantuml/png/${data}`; $elem.replaceWith($("<img>").attr("src", url)); }
当然といえば当然ですが、内部の Wiki に書く情報なので、外部のサーバーにぶん投げるとなると、、、いろいろあります。
PlantUML Server を立てた
GitHub - plantuml/plantuml-server: PlantUML Online Server
公式でサーバーを公開してくれているので、これを立ててみました。
落ちる
原因までわかっていないのですが、ローカルの VS Code Plugin で書いていた UML を Backlog Wiki に貼り付けると、サーバーが落ちるという減少が起こりました。
当然、ローカルも同じ docker image を参照しているので、差は無いはずです。なので、おそらくサーバーに送りつける方法が違っているのだと思います。
上記の jQuery Integration あたりも見てみたんですが、まあ backlog-power-ups もほぼ同じことをやっているんですよね。
plantuml-service にした
GitHub - bitjourney/plantuml-service: High-performance HTTP service for PlantUML, used in Kibela
自分が Kibela を使っていることもあり、以前にビットジャーニー社が PlantUML のサーバーを公開していたなと思い出し、試しにこっちに変えてみました。
問題が解消し、いい感じに利用できるようになっています。
VS Code Plugin の方も見てみようかな
と思いつつ、当面は plantuml-service で運用しようと思っている次第です。