4
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

MantisにMarkdownとコードのハイライトを導入

Posted at

Mantis1.2.17でQiitaのようにMarkdownを書きたかったのと、オプションでQiitaのようなコードのハイライトが提供されていたので導入しました。
まだテスト中ですが、現在のやり方を忘れないように記録しておきます。

+αで使ってみた所感を書いて、公式の丸写し感を緩和させる!

概要

MantisBT Markdownのreadmeそのままです

Markdownを導入するために

MantisBT Markdownプラグインの導入

MantisBT Markdownからzipファイルをダウンロードします。
Gitってなんですか

zipを解凍したら、Markdownというディレクトリができるはずなので、Mantisを設置しているサーバーに
(mantisbt設置場所)/plugins/Markdown1
となるように設置します。(恐らく同階層にMantisCoreFormattingがあると思います)

設置が済んだら、Mantisへブラウザから管理者権限でログインします。
その後、
管理 → プラグインの管理
へ移動します。

プラグインの一覧が表示されるので、下部の「利用できるプラグイン」にMantisBT Markdownがあればファイルの設置は成功です。
このままではまだ有効ではないので、
MantisBT Markdown行の右端の操作カラムから、「追加」を選択します。
CAUTION: Installing this plugin will disable the default MantisBT text formatting.
という警告がでると思いますが、この設定は後で行うので無視して追加を選択。
「インストール済みプラグイン」へ移動されていれば、有効になっています。

MantisBT Markdownプラグインの設定

「インストール済みプラグイン」からプラグイン名MantisBT Markdownが設定画面へのリンクになります。
設定は以下の画像のようにします。
screenshot-2.png

これでMarkdownが有効になりました。(まだ完全ではない)
後は好みでこの設定画面をいじってください。

MantisBT KK Highlightプラグインの導入

Mantis highlightcodeプラグインのインストールと設定方法が詳しいです。

MantisBT KK Highlightを導入すれば、Markdownで囲ったコードが、指定した言語に合わせてCSSで修飾されます。
可読性がよくなりますが、Markdownに必須というわけではありません。

MantisBT Markdownの導入と同じです。

MantisBT Markdownからzipファイルをダウンロードします。
Gitって

zipを解凍したら、Highlightというディレクトリができるはずなので、Mantisを設置しているサーバーに
(mantisbt設置場所)/plugins/Highlight1

あとは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にします。

system2_2015-06-24_17-03-42.png

以上で設定が完了です。完全に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に誘導して、広めて、プラグインの有効化へ、という道もアリじゃないかなぁ

  1. zip解凍時に出来たzipファイル名のディレクトリは不要です 2

4
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?