👀

Hugo製自作ブログとZennに同時投稿できるツールを作った話

2024/09/26に公開

thumbnail

はじめに

せっかくだから自分の作ったホームページを運用したい!でも最近流行りのZennにも投稿したい...!そんなこと、ありますよね。

Zennを見る側としてよく使うのですが、使えば使うほど抗いがたい魅力を感じてしまい私はこんな気持ちになってしまいました。

さてどうするか。そうだね同時投稿だね!

ということで同時投稿を行うツールを制作しました。

概要

フローは以下の通りです

  1. ローカルでHugoディレクトリ内にPageBandle形式で記事作成
  2. Zennに対応したMarkdownに変換
  3. Zenn CLIに対応したディレクトリ構成で保存
  4. Zenn CLIを通してZennに投稿

これをPythoスクリプトにまとめ1コマンドで実行可能にしました。

前提条件

  • Zenn CLIの導入が完了し、Zenn CLIを用いた記事投稿が可能な状態であること
  • Pythonが実行可能であること

スクリプト説明

以下リポジトリ内のScripts/に入っています。ここでは詳しく解説はしませんが、コード内にコメントで簡単な説明を行っています。

https://github.com/laTH380/Zenn_CLI_content

使い方は、PageBandle形式でHugo内に記事を作成した後、以下のコマンドでPythonスクリプトを実行するだけです。
作成したPageBandleのパスを文字列で渡しつつ実行することで機能します。

python Hugo_Zenn_postTool.py {作成したPageBandleのパス}

最後に

Hugo側のデプロイは別に行う必要があるので厳密には同時投稿ではないかも...

とはいえ、Hugoの記事を書けば1コマンドでZennにも投稿できる仕組みを作ることができて大満足です。

現段階だとHugoのショートコードやZennに特有な記法(リンク埋め込みなど)には対応できていません。今後はそのあたりの変換処理も拡充できていけたらなと思います。

参考記事

GitHubで編集を提案

Discussion