はてなブログからWordPressに移行しました。
はてなブログからWordPressへ移行した後には、色々と作業が必要なのですが、その一つにはてなブログ時代の目次を削除する作業があります。
[:contents]の一括削除では対応できない
はてなブログでは、見たまま編集から目次を挿入するとHTMLに下記記述がされます。
<p>[:contents]</p>
はてなブログの記事をWordPressへインポートした際に、[:contents]という文字がそのままであれば、WordPressのSearch Regexプラグインを使って簡単に一括で削除することができます。
しかし、以前までは[:contents]がそのまま引き継がれていたのが、2019年5月時点では以下のようにulタグとliタグでリスト表示されるようになっています。
これだと、一括で簡単に削除できません。
そこで、今回の記事では、はてなブログ時代の目次をSearch Regexプラグインを使って一括で削除する方法について解説します。
はてなブログの目次を一括で削除する方法
はてなブログ時代の目次を一括で削除するには、Search Regexプラグインで正規表現を利用します。
正規表現を利用するには、case-insensitiveにチェックを入れます。
そして、Search patternのボックスに正規表現パターンとして下記文字列を入力します。
|<ul class="table-of-contents">([\s\S]*?)</ul>|
Replace patternのボックスは空のままで問題ありません。
この状態で、ちゃんとはてなブログ時代の目次部分が選択されるか確認するためにReplaceボタンを押します。
※この時点でReplace&Saveボタンは押さないこと
検索結果として、置き換え対象部分が赤でハイライトされます。
検索結果の一覧を確認して、問題なければReplace&Saveボタンを押してWordPress内の全記事に対して、はてなブログ時代の目次部分を削除します。
目次を削除した後の作業
はてなブログ時代の目次を一括で削除できたら、WordPressのプラグインを使って新たに目次が表示されるようにします。
WordPressの目次プラグインといったら、「Table of Contents Plus」が有名で利用している人も多いです。
しかし、「Table of Contents Plus」はもうかれこれ3年以上更新されていません。
実際問題プラグインをインストールして有効化してみると、特段問題は感じませんが、常時使うプラグインとしては脆弱性やセキュリティリスクが高いのでなるべく使用は避けたいところです。
そこで本ブログでは、「Easy Table of Contents」を利用しています。
「Easy Table of Contents」は、インストールして、有効化するだけで目次が表示されますが、設定例について紹介しておきます。
プラグインをインストールして、有効化したら、WordPressの管理画面で設定を選択し、「目次」を選択します。
そうすると、「Easy Table of Contents」の設定項目が表示されます。
この設定項目では、目次をどこに表示するかや、見出しが何個以上ある場合に目次を表示するかなどのカスタマイズができます。
私の場合は、以下のように設定しています。
- 自動挿入:投稿のみ表示
- 位置:最初の見出し前に表示
- 表示条件:見出しが3個以上ある場合に目次を表示
- 見出しラベルを表示するかどうか:チェックON
- 見出しラベル:目次
以上、WordPressではてなブログの目次を一括で削除する手順について今回は解説しました。
参考になった場合は、SNSやブログ等でシェアしてもらえると嬉しいです。