3行で言うと…
今週のブログ担当は前田稔です。本記事では、Redmine のテキスト書式を変換するプラグイン「Redmine Reformat」を試した結果をご紹介します。
社内 Redmine のテキスト書式は Textile が使われています。しかし、色々な機運が高まり脱 Textile に向けて試行錯誤中です。その一環として、「Redmine Reformat」というプラグインを用いて、Textile 形式から CommonMark Markdown 形式への変換を試してみました。
「Redmine Reformat」は、Redmine で使用されるテキスト書式を変換するための rake タスクを提供するプラグインです。ソースコードは以下で公開されています。
orchitech/redmine_reformat: A Swiss-Army Knife for Converting Redmine Rich Text Data
なお、Textile からの変換は pandoc のインストールが必要です。
Redmineの以前のバージョンでは、テキスト書式としてTextile、Markdown(Redcarpetベース)、CommonMark Markdownが使えました。 最近、CommonMark Markdownへの移行が進み、Redmine 5.1からデフォルトの書式がTextileからCommonMark Markdownに変更されました。 また、互換性のため残されていたRedcarpetベースのMarkdownも、Redmine 6.0.0 から廃止されました。 そこで、変換先の書式をCommonMark Markdownにしました。
詳しくは以下のリンクを参照してください。
チケットの説明(履歴を含む)や Wiki など、テキスト書式が有効な項目において機械的な変換ができることを期待していました。 結果として、一部修正が必要なケースがあるものの、概ね期待通りの変換が可能であることが確認できました。
| 変換前の Wiki 表示(Textile) | 変換後の Wiki 表示(CommonMark Markdown) |
|---|---|
![]() |
![]() |
以下の場合には手動での修正が必要になる可能性があります。
{border: 1px solid green;} などのスタイル指定次の環境で検証しました。Redmine ならびに pandoc は検証時点で最新のバージョンを使用しています。
Environment: Redmine version 6.0.2.stable Ruby version 3.3.6-p108 (2024-11-05) [x86_64-linux] Rails version 7.2.2 Environment development Database adapter PostgreSQL Mailer queue ActiveJob::QueueAdapters::AsyncAdapter Mailer delivery smtp Redmine settings: Redmine theme Default SCM: Subversion 1.14.2 Mercurial 6.3.2 Bazaar 3.3.2 Git 2.47.1 Filesystem Redmine plugins: redmine_reformat 0.8.3
$ pandoc --version pandoc 3.6.2
以下のコマンドで変換を実行しました。テキスト書式の設定は自動的に更新されます。
bin/rails reformat:convert to_formatting=common_mark
変換が完了すると、Progress monitoring finished. と表示されます。
pandoc を使用して変換されたテーブル(表)は、パイプ(|)とハイフン(-)で表現されます。ただし、表示が崩れる場合があります。その場合、pandoc の変換拡張である -pipe_tables を使用すると、HTML の <table> タグ形式で出力可能です。これにより、意図したレイアウトを再現できる場合があります。
pandoc の変換コマンド の例:
module RedmineReformat module Converters module TextileToMarkdown class Conversion PANDOC_COMMAND = [ 'pandoc', '--wrap=preserve', '-f', 'textile-smart', '-t', 'gfm-pipe_tables' ]
参考リンク:
本記事では、Redmine のテキスト書式を CommonMark Markdown に変換するプラグイン「Redmine Reformat」を用いた検証結果を共有しました。テキスト書式の変換を検討されている方の参考になれば幸いです。
【スタッフ募集中】
「My Redmine」など弊社提供サービスのお問い合わせ対応を担当するカスタマーサポートスタッフを募集しています。
弊社での勤務に関心をお持ちの方は、知り合いの弊社社員・関係者を通じてご連絡ください。採用情報の詳細
|
Ruby on Rails アプリケーションである Redmine の Wasm 化を試しました。 |
|
Redmineのバグを発見し、原因調査、修正、Redmine.orgへのパッチ提供、そして取り込まれるまでの一連の流れを、実際の事例を基に紹介します。 |
|
Redmineのチケットやフォーラムに返信するとき、メッセージを部分的に引用して返信する機能を開発しました。この機能はRedmine 6.0で使えるようになりました。 |
|
Redmine 6.0でデフォルトテーマが改善され見やすく、読みやすくなりました。その改善内容を紹介します。 |
|
Redmineのフォーラム機能におけるユーザー体験を向上させるため、画面遷移を減らし、部分的にシームレスな更新を実現するためにTurbo Framesを試しました。 |
|
年末年始 休業のお知らせ(12/26午後〜1/4 休業) 年末年始は2025年12月26日(金)午後から2026年1月4日(日)まで休業いたします。 |
|
My Redmine 2026 新春アップデートのお知らせ(RedMica 4.0対応) 2025年12月中旬にMy Redmine 2026 新春アップデートを実施します。 |
|
請求関連書類がダウンロード可能になったことを通知バナーで確認できるようになりました 請求関連書類がダウンロード可能な状態になると、ご利用中のMy Redmineに通知バナーが表示されます。 |
|
プロジェクト管理ツール「RedMica」バージョン 4.0.0をリリース Redmine互換のオープンソースソフトウェア 今日使える明日のRedmine「RedMica」のバージョン4.0.0をリリースしました。 |
|
Redmineの最新情報をメールでお知らせする「Redmine News」配信中 新バージョンやセキュリティ修正のリリース情報、そのほか最新情報を迅速にお届け |