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を試しました。 |
![]() |
2025年2月16日 オライリー本の全冊公開日のお知らせ(もくもく勉強会も同時開催) ファーエンドテクノロジーが所蔵するオライリー本(全冊)公開日のご案内です。公開日には「もくもく勉強会」も同時開催します。 |
![]() |
プロジェクト管理ツール「RedMica」バージョン 3.1.0をリリース Redmine互換のオープンソースソフトウェア ファーエンドテクノロジー株式会社は、2024年11月19日(日本時間)、Redmine互換のプロジェクト管理ソフトウェア「RedMica 3.1.0」をリリースしました。 |
![]() |
プロジェクト管理ツールRedmineのクラウドサービス「My Redmine」の海外向けサービス「My Redmine Global Edition」の提供を開始 「My Redmine」の海外向けサービスとして、新たに「My Redmine Global Edition」の提供を開始しました。 |
![]() |
オープンソースのプロジェクト管理・タスク管理ツール「Redmine」の定番書籍、『入門 Redmine 第6版』が発売 オープンソースの課題管理システム「Redmine」の定番書籍が改訂され、第6版となって発売されました。 |
![]() |
Redmineの最新情報をメールでお知らせする「Redmine News」配信中 新バージョンやセキュリティ修正のリリース情報、そのほか最新情報を迅速にお届け |