インポートしたMyBBデータベースのMyCodeの問題

MyBB フォーラムを Discourse に移行している最中です。
インポートされた投稿を見ると、多くの投稿(すべてではありませんが)に可視化された MyCode フォーマットタグが含まれています。

例(別のスレッドの主題である UTF-8 文字エンコーディングの問題も apparent です):

TTTThao Nguyen

Jul '18

ありがとう、Paul。下の回答を見ると、これは機能しないかもしれません。

[color=#222222][size=medium][size=small][font=Calibri, sans-serif]これは階段が建物とみなされるかどうかの問題ではありません。私の質問はそれを否定するものではなく、むしろ 2 つの建物を 1 つの建物とするか 2 つの建物とするかを判断するための、2 つの建物の間の接続の性質に関するものです。[/font][/size][/size][/color]
[color=#222222][size=medium][size=small][font=Calibri, sans-serif] [/font][/size][/size][/color][color=#222222][size=small][font=Calibri, sans-serif]2 つの建物の間に内部接続やアクセスがないため、1 つの建物/防火区画とは解釈されません。[/font][/size][/color]
[color=#222222][size=medium][size=small][font=Calibri, sans-serif] [/font][/size][/size][/color][color=#222222][size=small][font=Calibri, sans-serif]したがって、C/AS1 5.1.2 が適用されます[/font][/size][/color]

つまり、「内部アクセス」が決定的な要因ですね…しかし、内部アクセスがない状態で家に取り付けられたガレージなどが防火等級を必要としない例をたくさん目にしたことは確かです。(参考までに、この案件には防火エンジニアがいますが、彼らの言うことにも耳を貸さないようです!!)もしかしたら、良い防火エンジニアも雇う必要があるかもしれませんね!!! :-/

とにかく、このフォーラムに投稿するよう提案してくれてありがとう。アドバイスとサポートに感謝します!!

これらをどのように解析すれば、MyBB では適切に表示されていた意図したフォーマット(タグそのものではなく)が、可能な限り Discourse でも適切に表示されるでしょうか?

少なくとも部分的には、Discourse がユーザーが選択したフォント、サイズ、色付きのテキストをサポートしていないことが問題なのではないかと推測しています。

[color=#222222][size=medium][size=small][font=Calibri, sans-serif]

あるいは、私がハードリターンだと推測しているもの

[hr]

私自身は Discourse が複数のフォントなどをサポートしないことに特に問題はありませんが、インポート時に使えないフォーマットタグがきれいにフィルタリングされる方法があれば良いのですが。

Discourse の現在のバージョンではもう動作していないようですが、GitHub - discourse/discourse-bbcode: vBulletin BBCode plugin · GitHub をインストールして、これが役立つことを期待しました。

同様に、MyCode タグが添付画像(MyBB 元のテキスト内にインラインで表示されていたもの)を参照している場合、その添付画像をタグそのものではなく、テキストと同様にインラインで表示させるにはどうすればよいでしょうか?

vBulletin インポーターをご覧いただくと、このようなタグの置換を多数行っていることがわかります。また、多くのタグをサポートする bbcode プラグインもあります。

引用については、開始タグの前に改行があり、終了タグの後に改行があることを確認する必要があります。

非常に古い(2002 年製)PhpBB フォーラムをインポートした際、私も同じ問題に直面しました。その際、インポータにいくつかの正規表現を追加して、これらの BBCode タグを削除(場合によっては置換)しました。結果的に非常にうまく機能しました。

また、[quotes] の問題にも直面しました。その際、それらを独自の行に「移動」させないと、Markdown で正しく表示されませんでした。

個人的なログにこんな記述を見つけました。これがこの特定の問題に対して私が達成した内容だと信じています:

text.gsub!(/(\[\/?quote.*?\])/mi) { |q| "\n#{q}\n" }

当時の私の記述によると、15 万件のメッセージにあるすべての引用に対して機能しましたが、57 件の引用は不明な理由で失敗しました。しかし、その失敗数はごくわずかだったので、それほど問題にはなりませんでした。それらを手動で修正することもできました。

vBulletin インポーターには、さまざまな引用バージョンに対応する複数の置換機能があります。適切な参照のために投稿番号を取得する機能も含まれています。