〜Pegmatite が素晴らしいツールなので自分好み(GitHub Enterprise Serverで使えるよう)にしてみた〜道のりとその先へ・・・
拝啓背景
- 願望として
- ドキュメント(管理)をどうにかしたい
- GitHub Enterpriseがあるので有効活用したい
-
PlantUML を使うとテキストベースで図が描けるので利用したい
- PlantUMLはMarkdownに埋め込める
- GitHub Flavored Markdown でもモチロンOK
-
Asciidoc にも埋め込める
- Githubでレンダリングされる軽量マークアップ言語 のうち、割と人気っぽくてMarkdownに記法が近く(※個人的感想)、Markdownに足りないテーブルの結合が書けるので併用したい
- PlantUMLはMarkdownに埋め込める
- Githubだとサイズの小さいCSVやTSVがテーブル表示されるので利用したい
- ローカルは Visual Studio Code のプラグインでプレビュー可(Markdown, Asciidoc, PlantUMLもそれぞれ在る)
- Github( Enterprise)側でも図が見たい
- 埋め込めるが図自体のバージョン管理/差分比較がし難くなるため、ブラウザの拡張機能で実現したい
- 良さそうな拡張機能があった
- GitHub Enterprise(コーポレートドメイン)では使えない
- デベロッパーモードで改造するしかない
- ソース等を良く見てみると機能改修もできる?
- とりあえずローカル環境で弄ってみる
- ソース等を良く見てみると機能改修もできる?
- デベロッパーモードで改造するしかない
- GitHub Enterprise(コーポレートドメイン)では使えない
- 良さそうな拡張機能があった
- 埋め込めるが図自体のバージョン管理/差分比較がし難くなるため、ブラウザの拡張機能で実現したい
環境
- macOS High Sierra
- バージョン 10.13.6
- MacBook Pro (Retina, 13-inch, Early 2015)
- (社内認証)プロキシ サーバー 有
- Cntlm利用
※Windows(10)環境でもOK(だと思います)
- Pegmatite 1.5.1
結果(※都合によりGitHub環境)
やった(will contribute if accepted)こと
- GitHub からFork
-
develop
ブランチからfeature
ブランチを作成 - 自分好みへ
-
feature
ブランチをdevelop
へrebase- READMEではこのように記載されているが、実際は下記の運用となっている
-
feature
ブランチをdevelop
へpull request <= イマココ
3. 自分好みへ(詳細)
- Asciidoc対応が
gitlab.com
のみだったので、github.com
にも対応させる- 合わせてAsciidocの場合と同様Markdownでもコードブロック背景が画像描画の際には親背景となるように変更
- GithubがSPA?pjax利用?のため、ページ遷移してもスクリプトが起動しない
-
Issuse に挙がっているが、別アプローチ
- ソースコードはベストではなくベターな感じです・・・
-
Issuse に挙がっているが、別アプローチ
その他PR予定なもの
- ドキュメント(Markdown)のtypo修正
- オプション(options.html)のcss記述typo修正
- rawdeflate.jsのバージョンアップ
- コチラ によると現バージョンの方が広まっているようだが・・・
- 上記「結果」で利用したサンプル追加
本当の自分好み対応はローカルのみ(PR対象外)
- 社内で利用しているGitHub Enterprise Server(コーポレートドメイン)も対応させた
- Google Chrome 機能拡張をデベロッパー モードにし、上記のディレクトリを読み込んだ
※別途、ローカル環境にDockerで PlantUML Server を起動させ、オプションでローカル環境を指定した(セキュリティ面で)
感想
本投稿時点ではpull request前のため「自分好み」と表現していますが、(PRが受け入れられたら)世の中に貢献できる内容だと思っています。
Google Chrome ExtensionsはJavaScriptをゴリゴリ書ける人が開発した方が良いとは思いますが、ゼロベースでなければOSSらしく参加するのもアリではないでしょうか。
PlantUMLは素晴らしい!
もっと広まって欲しいです。
ただ、ローカルのPlantUML Serverは重いので、社内で強いサーバを建ててもらえるよう活動していきたいと思っています。