Mantis1.2.17でQiitaのようにMarkdownを書きたかったのと、オプションでQiitaのようなコードのハイライトが提供されていたので導入しました。
まだテスト中ですが、現在のやり方を忘れないように記録しておきます。
+αで使ってみた所感を書いて、公式の丸写し感を緩和させる!
概要
MantisBT Markdownのreadmeそのままです
Markdownを導入するために
- MantisBT Markdownプラグインの導入
- MantisBT Markdownプラグインの設定
- (MantisBT KK Highlightプラグインの導入)任意
- デフォルトの
MantisBT フォーマティング
プラグインの設定
MantisBT Markdownプラグインの導入
MantisBT Markdownからzipファイルをダウンロードします。
Gitってなんですか
zipを解凍したら、Markdown
というディレクトリができるはずなので、Mantisを設置しているサーバーに
(mantisbt設置場所)/plugins/Markdown
1
となるように設置します。(恐らく同階層にMantisCoreFormatting
があると思います)
設置が済んだら、Mantisへブラウザから管理者権限でログインします。
その後、
管理 → プラグインの管理
へ移動します。
プラグインの一覧が表示されるので、下部の「利用できるプラグイン」にMantisBT Markdownがあればファイルの設置は成功です。
このままではまだ有効ではないので、
MantisBT Markdown行の右端の操作カラムから、「追加」を選択します。
CAUTION: Installing this plugin will disable the default MantisBT text formatting.
という警告がでると思いますが、この設定は後で行うので無視して追加を選択。
「インストール済みプラグイン」へ移動されていれば、有効になっています。
MantisBT Markdownプラグインの設定
「インストール済みプラグイン」からプラグイン名MantisBT Markdownが設定画面へのリンクになります。
設定は以下の画像のようにします。
これでMarkdownが有効になりました。(まだ完全ではない)
後は好みでこの設定画面をいじってください。
MantisBT KK Highlightプラグインの導入
Mantis highlightcodeプラグインのインストールと設定方法が詳しいです。
MantisBT KK Highlightを導入すれば、Markdownで囲ったコードが、指定した言語に合わせてCSSで修飾されます。
可読性がよくなりますが、Markdownに必須というわけではありません。
MantisBT Markdownの導入と同じです。
MantisBT Markdownからzipファイルをダウンロードします。
Gitって
zipを解凍したら、Highlight
というディレクトリができるはずなので、Mantisを設置しているサーバーに
(mantisbt設置場所)/plugins/Highlight
1
あとはMantisBT Markdownと同じですが、こちらは追加時に警告も出ませんし、設定もとくに不要です。
設定では色分けのテーマが選べますので、好みのものを。
余裕があれば、readmeを読んで、ハイライトできる言語を覚えておきましょう
余裕があるので書きます
詳しくはやっぱりreadme
ハイライト可能 | 指定方法(小文字化でないものは太字) |
---|---|
Python | python |
Python profiler results | profile |
Ruby | ruby |
Perl | perl |
PHP | php |
XML | xml |
HTML | html |
CSS | css |
Django | django |
Javascript | javascript |
VBScript | vbscript |
Delphi | delphi |
Java | java |
C++ | cpp |
C# | cs |
RenderMan RSL | rsl |
RenderMan RIB | rib |
Maya Embedded Language | mel |
SQL | sql |
Smalltalk | smalltalk |
Lisp | lisp |
Ini | ini |
Apache | apache |
DOS | dos |
Bash | bash |
Diff | diff |
Axapta | axapta |
1C | 1c |
AVR assembler | avrasm |
Parser3 | parser3 |
MantisBT フォーマティング
プラグインの設定
MantisBT Markdownインストール時の警告にしたがい、デフォルトプラグインによるテキスト処理をオフにします。
Mantisへブラウザから管理者権限でログインします。
その後、
管理 → プラグインの管理
へ移動します。
MantisBT フォーマティング 1.0x
(xはアルファベット1文字)をクリックして、設定画面へ。
画像のようにテキスト処理をOFFにします。
以上で設定が完了です。完全にMarkdownが有効になりました。
今後の運用および過去の課題への影響
課題=チケット、バグ報告
導入後、過去の課題を眺めた結果、いろいろと問題がありました。
>を使った引用
これは<blockquote>
とCSSの問題だと思いますが、インデントされているだけで引用とわかりづらいし、Markdownの引用終了は空行のためちょっと癖がある(引用直下で解答や、空行含めた引用など)
引用直下記述が多く、引用に含まれているコメントなどがちらほらありました。
改行+タブorスペース4つ で<pre><code>
されるパターン
ログの出力やコードのベタ貼りをしている箇所で、部分的にコード判定されハイライトされている箇所が見受けられました。
これはコード全体を「```」で囲めば解決しそうですが、
インデントするだけでコードと捉えられるのは誤爆が多そうです
Linuxのコマンド
これもコードのベタ貼り問題です。
バグ再現用などのために、実行したコマンドが書かれることがありますが、
Linuxのコマンドであることを表そうと、ターミナルの#
から記載すると見出しになってしまっています。
```lang:name 記法が使えない
これはQiitaが便利すぎ?
Qiita風に書いて脳内変換していた弊害です。
:nameがあるとコードとみなされません。(:nameがなければlangは有効)
あと、Javascriptコードを「```js」としてしまっていたり…
(Mantisではjavascript
と非省略)
普通に書くにはエスケープが必要
>や#などを普通に使いたいとなると、\
によるエスケープが必要になります。
プレビューが見れない
Qiitaに毒されすぎ問題その2?
プレビューが見れないので実際の結果は更新するまでわかりません。
投稿→Markdownが変→修正
がかなり多くなりそうです。
課題の作成者・監視者には無駄な更新メールが飛びますし、
さらにうちでは課題の変更をSlackと連動して通知しているので無駄通知がログを汚します……
<code>
外のHTMLが有効
最後にして現在最大の問題
コードベタ貼り問題
<code>
外のHTMLが有効になっているので、画面が崩れたり、フォームがちょくちょくあったりします。
これも<code>
で囲めばいいと思いますが、もし変な<script>
があったりしたら…どうなるんでしょうか。
思いの外Markdown化の影響が大きく、これはMantisを使う人はMarkdownの習得が必須になりそうな予感がします…
覚えれば便利なのですが、全員にその学習コストを支払わせ、Mantisへの参加ハードルを上げることはイマイチかなーて気がします。
建前は開発者以外も参加することになっているんで。
なのでプラグインによるMarkdown化はやめて、今までどおり自分だけMarkdownで書いて脳内変換…とするかもしれません。
Markdownのメリットは平でも読みやすくなんとなく意味は伝わりますし、「なんでそんな書き方してるの?」ってところからMarkdownに誘導して、広めて、プラグインの有効化へ、という道もアリじゃないかなぁ