Hugo事始め2023

テクニック
記事内に広告が含まれています。

このサイトはWordPressからHugoへ移行しました。(2023/09/21)その後、また戻しています。(2024/04/22)

HugoでよくあるGithubやGitlab、Netlifyと連携した形ではなく、ホスティングサーバにファイルをアップロードする形にしました。

自分自身がそれ系に詳しくないということが最大の理由です。サーバを移転する前に、Hugoに慣れる意味でも、余計な手間を増やしたくない理由もあります。

軌道に乗ったら、Netlifyは使ってみたい。

このWebサイトは元々、コンテンツが50未満しかありませんでした。それでも移行するのは骨が折れたー。

実際の作業より、下準備に時間がかかったように思う。

WordPressとは勝手が違うため、同じ表現を実現させられるか下調べを地道にやりました。

下調べをメモしていたので、このHugoカテゴリにまとめておくことに繋がります。

今後、Hugoカテゴリには、Hugoのカスタマイズを中心に載せていく予定です。

WordPressのxmlからMarkdown(.md)ファイルへ変換

最も面倒だったのは変換です。wordpressから書き出したxml形式の記事を、Markdown形式の.mdファイルへなるべく手作業なしに変換させたかったからです。

Hugoで新規にサイト始めるなら、これは全く必要ありません。

変換させるのに、WordPressのプラグインを探しても、まともに動作しないらしい。というか、更新されておらず古い。

適当な物がない中、こちらのサイトを参考、というかそのまま活用させてもらいました。感謝。

WordPressからHugoへ:全投稿をMarkdownにエクスポートする (3)

Pythonで実現させているのですが、スクリプトは、一部だけ修正して実行させた。
画像URLの場所違い判定を追記する形です。

(wp-xml2hugo.py 95行目に挿入)

if len(s) != 6:
    src_file = 'uploads/'+s[5]+'/'+s[6]+'/'+ bn
else:
    src_file = 'uploads/'+ bn

日付け取得のため、4番目と5番目のリスト配列で取り出しているようで、自分はアップロード画像を日付けで管理していなかったため、範囲を超えているエラーになった。

仕方ないので、リスト配列の数が6つの場合と、それ以下(多分4)の場合は日付けを入れない処理にしてみた。正確には年月(2023/09)
これで画像は無事に記事と同じフォルダにコピーされた。

※他にも問題は残った。コンテンツ内の画像URLはURLを省略できず、そのまま絶対パスで出力された。プログラムのエラーは出ないから、後で生成されたmdファイルから削除することにした。

この辺はプログラムに詳しくない者として、なんとか対応できたのでヨシとする。

Hugoの大変さはテーマによるところが大きい

HugoにもWordPressみたいにテーマがあります。数はそこまで多くはない。実際に使いたいデザインや機能を絞ると10個くらいといったイメージ。

問題は、テーマによってカスタマイズがとても難しい面があることです。

立て続けに5個くらいを試した中、今利用している「Mainroad」が一番分かりやすかった。

試したのは、PaperMod、Relearn、Tranquilpeak、book。どれもデザインは気に入ったが、どうにも難しく感じてしまった。

その点、Mainroadは各HTMLもシンプルで把握しやすい。ファイル構成も他より無骨ながら、カスタマイズするにはちょうどいい。

カスタマイズしてしまうと、気軽にテーマを変更できないのはWordPressと同じです。
見た目は変更できるから、テーマに備わっている機能面や、シンプルな構成を重視したいと思った。

更新するのもrsyncで一発

あくまでもホスティングサーバにファイルを置いている使い方での話。

環境がMacやLinuxで、コマンド操作に慣れている前提なら、rsyncコマンドでストレスはありません。

publicフォルダを削除してからhugoコマンドをするシェルスクリプトと、それに加えてSSH接続でrsyncさせるシェルスクリプトを作り、とても快適に更新できています。

コンテンツも別にhugo newコマンドではなく、既存のファイルをコピーして作ってもいい。所詮はテキストファイルだから、そもそも別のアプリで書いていることもあります。

とにかく更新は気軽・気楽という感じです。

WordPressだと、手数が多くなる印象で、慣れても億劫に思うことがしばしばあった。

静的サイトへ出戻った感がある

WordPressがこんなに普及する前は、MovableTypeが有名でした。更にその前はレンタルブログだった。
ブログの前は、単純にHTMLで書いていくのが普通だった。

オーサリングソフトでAdobeになる前のDreamweaverを愛用していたけど、あの頃に戻った感がとてもあります。

半分はコードをそのまま書いて、残り半分をマウスで操作する感じなアレです。

オーサリングソフトが無かった頃は、Windowsのメモ帳や秀丸エディタでしたからね。そこにも近いかも知れない。

動的サイトの登場で、色んなことができるようになり、リッチなネット世界になりました。
一方で、悪いことをする輩も増えてしまった。

WordPressに疲れた理由の1つに、セキュリティ対策があります。もうね、無法地帯な感じ。総当たりでbotだから、何と闘うのか意味も分かりませんね。

Hugoは静的サイトの利点を活かして、単純にコンテンツの更新だけを楽しめるから気に入っています。

動画もいいけど、文字文化が好きな人にとっては、Hugoで幸せになれます。

WordPressはまだ使っていますが、順番に移行していこうと準備中。
既存サイトは面倒だー。