目次
その他の記事はこちら
ブログ移行日記(その2)です。前回はHugoとは?というのと、自分が選んだテーマについて記載しました。 本家の手順などを参考にすると、Hugoにテーマを適用し、でHTMLを生成して、表示するところまでできるはずです。
今回は、OctopressのmarkdownファイルをHugo用に変換する方法について紹介します。お手製ですが、Pythonスクリプトを作ったので、そちらも合わせて簡単に紹介する予定です。
参考ブログ
「Octopress Hugo 移行」でググるといくつか出てきます。先人の知恵ありがたいですね。 ということで、私はこちらの2つのブログを参考にさせていただきました。ありがとうございます。
画像のコピー
画像はそのまま上記参考ブログを元にsource/images
からstatic/images
にコピーしました。特にディレクトリ構造の変更とかもしませんでした。
コンテンツのコピー
こちらは、コピーのタイミングでいくつか変換などの処理を行いました。 ファイルの変換にはPythonのスクリプトを書きました。 自分向けの移行ツールなんで、ディレクトリ名とか引数にすらしてないです。。。
参考ブログと同様の変換
- メタデータの日付変換
- categoriesをtagsに変換
- 画像タグの変換
- タイトル、画像のサイズなどに合わせていくつか分岐があります。
参考ブログとは異なる変換、変更
- コードブロックは無変換
- 0.60.0からCode Fencesに対応したみたいなので不要でした。
- ディレクトリ構造の変更
- ファイルを年ごとのディレクトリに格納(これまでは、全てのファイルが同一ディレクトリにあった)
- 拡張子の変更 (
.markdown
->.md
) - メタデータに
author
の追加(自分しか書かないんですけどね)
URLをOctopressに合わせる
Google検索からの流入もあり、これまでのURLに変更はかけたくないなと。 こちらも参考ブログに記載があるので、そのまま参考にさせていただきました。
slug
については、移行ツールでファイル名を元に追加する処理を書きました。
HTMLを含んだMarkdownの対応
TweetやAmazonのアフィリエイトのリンクがHTMLタグでいくつかの記事に含まれており、デフォルトの設定だと表示されません。
config.toml
ファイルに以下の設定を追記することで、出力されるようになりました。
[markup.goldmark.renderer]
unsafe = true
名前がunsafe
なので、ちょっと気になりますが。。。
すべての記事を表示してチェックしてみたわけではないので、おかしな記事を見つけた方は連絡をいただけると助かります。
まとめ
OctopressのファイルをHugo用にコピーや変換した方法を思い出しながら書いてみました。基本的には参考ブログに上げた2つのブログを真似したものになります。
次は、利用したテーマのサンプル設定を元に、自分用に変更した点などについて書き残しておこうかな?
comments powered by Disqus
See Also by Hugo
- ブログ移行日記(その5) - Jugemのブログを移行
- ブログ移行日記(その1) - Hugoとテーマ
- ブログ移行日記(その4) - 検索機能(Algolia)の導入
- ブログ移行日記(その3) - Hugoの設定と微調整(テーマに合わせた)
- OctopressからHugoへ移行中(まだ途中)