RTE:インポートされたドキュメントコードのクリーンアップ

Dokuwiki (dokuwiki [DokuWiki]) から Discourse にコンテンツを移行中です。Dokuwiki の構文はクリーンな Markdown ではないため、手動で編集する必要があります。通常は古いエディターを使用していますが、すべての文字が表示されるためです。しかし、古いエディターでは奇妙な「ジャンプ効果」が見られます。テキストブロックを選択してフォーマットしようとすると、カーソルが上下にジャンプします。そのため、長いテキストの再フォーマットは事実上不可能であり、常に編集ウィンドウを再配置する必要があります。これを説明するのは難しいですが、スクリーンキャストで示すことしかできません… この効果は以前に Cursor jumping around in composer / editor text box で説明されていました。

RTE エディターではこの効果は見られません。しかし、他のシステムからインポートされたジャンクコードをクリーンアップするオプションが見つかりません…

「いいね!」 1

このジャンクコードはどのようなものか教えていただけますか?

「いいね!」 1

どのくらいの量ですか? 数十、数百、数千の投稿ですか?

もし数件以上であれば、インポートスクリプトを使用して行うのが理にかなっているでしょう。もしそれほど多くないのであれば、手作業で編集しようとするよりも、マークダウンを修正するコードを入手する方がまだ理にかなっているでしょう。(さらに奇抜な解決策としては、プラグインで DokuWiki の編集を処理するという方法もあります)。

それほど多くはありませんが、スクリプトベース/プログラムによるソリューションを検討するのに十分かもしれません。難しいのは、コードがDokuWiki構文(wiki:syntax_に_bootstrap [DokuWiki] 3テンプレート(https://getbootstrap.com)の拡張UIコードが加わっていることです。見た目は良いですが、このように設定した際にコンテンツ移行を考慮していませんでした。主な問題はDokuWiki構文ではなく、Bootstrapの<div>…の類です。コード例:

<div class="level1">&nbsp;</div> <h2 class="page-header pb-3 mb-4 mt-5">Plattenplatz ermitteln</h2> <div class="level2"> <p>Filtern auf ext4, was ist verfügbar?</p> <pre class="code"> root@tokoeka ~ # df -h -t ext4 --total Filesystem Size Used Avail Use% Mounted on /dev/mapper/pve-root 196G 39G 148G 21% / /dev/md0 486M 400M 57M 88% /boot /dev/mapper/pve-data 3.0T 560G 2.3T 20% /mnt/data /dev/mapper/pve-backup 414G 40K 393G 1% /mnt/backup total 3.6T 598G 2.8T 18% - </pre> <p>&nbsp;</p> <p>Filtern auf ext4, was wird genutzt?</p> <pre class="code"> root@tokoeka ~ # df -h -t ext4 --output=used Used 39G 400M 560G 40K 598G </pre> <p>&nbsp;</p> </div>

ええ。それはひどいですね。nokogiriで少し時間をかければ、マークダウンに変換できるでしょう。

リッチエディタモードでこの正確なtext/htmlコンテンツのクリップボードを貼り付けると、次のようなマークダウンが生成されます。

## プレイトスペースを特定する
 
ext4でフィルタリング、何が利用可能か?
 
```
 root@tokoeka ~ # df -h -t ext4 --total Filesystem Size Used Avail Use% Mounted on /dev/mapper/pve-root 196G 39G 148G 21% / /dev/md0 486M 400M 57M 88% /boot /dev/mapper/pve-data 3.0T 560G 2.3T 20% /mnt/data /dev/mapper/pve-backup 414G 40K 393G 1% /mnt/backup total 3.6T 598G 2.8T 18% - 
```
 
 
ext4でフィルタリング、何が使用されているか?
 
```
 root@tokoeka ~ # df -h -t ext4 --output=used Used 39G 400M 560G 40K 598G 
```

これは、私たちが気にしないもの(divclassなど)に関してはロスがありますが、hNpre、またはProseMirrorスキーマで定義されているものはすべて理解します。これは、テーマコンポーネントやプラグインからのものを含む、ProseMirrorのパーサーによって使用されるparseDOM定義を登録している[さまざまなエディタ拡張機能](https://github.com/search?q=repo%3Adiscourse%20parseDOM%20%20discourse%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%

「いいね!」 1