Markdown書式のRedmineのテーブルやリストで改行

Markdown書式のRedmineのテーブルやリストで改行

Markdown書式のRedmineのテーブルやリストで改行

ここ最近、Redmineを導入する際にはMarkdown書式を採用することが多いのだけど、テーブルやリストで改行する方法を忘れがちなので備忘録。

前提

・Redmine: 3.4
*3系ならマイナーバージョンには依存しないと思う。
*2系でも使えるかもしれないけど、2系ではALLOWED_TAGSを使う方がよさげ。

やりたいこと

やりたいことを簡単に説明すると、下記ソースの<br>のところで改行を入れたい。

|ツール名|情報|
|---|---|
|Redmine|カテゴリ:プロジェクト管理ツール<br>
言わずと知れたプロジェクト管理ツール|
|Asana|カテゴリ:プロジェクト管理ツール<br>
最近、イケてると話題のプロジェクト管理ツール|
|Trello|カテゴリ:タスク管理ツール<br>
小人数のチームのタスクを管理するのに向いてるツール|

通常のMarkdownならこれでも改行してくれるけど、Markdown方式のRedmineではこれでは改行してくれない。

対応方法

マクロとして登録してしまいます。
マクロとして登録することで{{macro_list}}にも表示されるので、使い方が分かって便利!

下記の通り修正します。

修正ファイル:$redmine/lib/redmine/wiki_formatting/macros.rb
# add start から # /add end までを追記

      # Builtin macros
      desc "Sample macro."
      macro :hello_world do |obj, args, text|
        h("Hello world! Object: #{obj.class.name}, " + 
          (args.empty? ? "Called with no argument" : "Arguments: #{args.join(', ')}") +
          " and " + (text.present? ? "a #{text.size} bytes long block of text." : "no block of text.")
        )
      end

      # add start 
      desc "Output br tag. Example:\n\n" + 
             "list: - first line{{br}}second line\n" + 
             "table : |left td|right td first lien{{br}}second line|"
      macro :br do |obj, args|
        raw "<br>"
      end
      # /add end

      desc "Displays a list of all available macros, including description if available."
      macro :macro_list do |obj, args|
        out = ''.html_safe
        @@available_macros.each do |macro, options|
          out << content_tag('dt', content_tag('code', macro.to_s))
          out << content_tag('dd', content_tag('pre', options[:desc]))
        end
        content_tag('dl', out)
      end

使い方

改行したい場所に<br>ではなく、{{br}}と記述します。

|ツール名|情報|
|---|---|
|Redmine|カテゴリ:プロジェクト管理ツール{{br}}言わずと知れたプロジェクト管理ツール|
|Asana|カテゴリ:プロジェクト管理ツール{{br}}最近、イケてると話題のプロジェクト管理ツール|
|Trello|カテゴリ:タスク管理ツール{{br}}小人数のチームのタスクを管理するのに向いてるツール|

- Redmine:カテゴリ:プロジェクト管理ツール{{br}}言わずと知れたプロジェクト管理ツール
- Asana:カテゴリ:プロジェクト管理ツール{{br}}最近、イケてると話題のプロジェクト管理ツール
- Trello:カテゴリ:タスク管理ツール{{br}}小人数のチームのタスクを管理するのに向いてるツール

こんな感じで開業されていい感じ!

シェアする

  • このエントリーをはてなブックマークに追加

フォローする