Hugo

画像埋め込み用ショートコードテスト

本文を追加するとこんな感じになります。

ショートコード自体はかなりシンプルで、URLを構築する部分と、メタデータを並べる部分、そしてそれらを配置する部分しかありません。

テーマの設定が変わっていた

当ブログでは、hugo のテーマに Mainroad を使っています。

2020年になって新しい記事を追加しようとしましたが、どうもトップページに追加した記事が一覧されない現象に出くわし、困った状況になっていました。

最終変更日の手動設定

ox-hugo を使った Hugo への markdown 出力では、最終更新日( lastmod )を設定できる。

さらに次のように設定すれば、ファイル保存時に自動的に最終更新日を設定できる。

(setq org-hugo-auto-set-lastmod t)

しばらくはこの設定でうまく運用できていたが、細かい修正等で、わざわざ更新日を更新する必要がないことも多いことがわかった。

記事の Org file にリンクを貼る

せっかく ox-hugo で記事を書いているので、Hugo記事のソースとなる orgfile を明示したい。

毎度手動でそのリンクを生成するのは面倒なので、マクロで実現してみる。

まず、マクロから呼び出す関数を書く。

Hugo の data ディレクトリ

環境構築がほぼ完了。基本的な処理フローは?と言えば、「書いて、デプロイ」のホント2ステップだけ。

  1. Emacs Org Mode でメモを取るように書く(org-capture経由もOK)
  2. deploy スクリプトを走らせる(サーバにrsyncしたり、GitHubにpush)

以上、楽すぎた。ありがとう Org ModeHugoox-hugo たち!

ファイル名をUUIDで自動生成するテスト

次のように org-capture を準備して、 C-c r B 押下すると、テンプレートが立ち上がる。カーソルはタイトル行に置かれる。 C-c C-c を押してそのまま保存でも良いが、それなりの分量の文章を書くならば、 C-u C-c C-c として保存先のサブツリーに移動してから編集する方がより安全といえる。

画像の埋め込みテスト

まず前提として、このサイトのようにドメイン直下にディレクトリを作ってブログを運用する場合には、デフォルトだと figure shotcode が正しく動作しない。対応策は、 config.tomlcanonifyURLs=true にすること。

アマゾンアフィリエイトコードの展開テスト

HUGO shortcodesを使って、Amazonアフィリエイトのリンクを組み込みます。

動かすのはちょっと大変。以下は、今回のために作った shortcodes で、これ加えて、Product Advertising API を用いたXMLデータのダウンロードスクリプト、XMLからJSON形式のデータを作り、 ./data/asin/B01N3PBDGJ.json として保存しておく必要があります。