👀
Hugo製自作ブログとZennに同時投稿できるツールを作った話
はじめに
せっかくだから自分の作ったホームページを運用したい!でも最近流行りのZennにも投稿したい...!そんなこと、ありますよね。
Zennを見る側としてよく使うのですが、使えば使うほど抗いがたい魅力を感じてしまい私はこんな気持ちになってしまいました。
さてどうするか。そうだね同時投稿だね!
ということで同時投稿を行うツールを制作しました。
概要
フローは以下の通りです
- ローカルでHugoディレクトリ内にPageBandle形式で記事作成
- Zennに対応したMarkdownに変換
- Zenn CLIに対応したディレクトリ構成で保存
- Zenn CLIを通してZennに投稿
これをPythoスクリプトにまとめ1コマンドで実行可能にしました。
前提条件
- Zenn CLIの導入が完了し、Zenn CLIを用いた記事投稿が可能な状態であること
- Pythonが実行可能であること
スクリプト説明
以下リポジトリ内のScripts/に入っています。ここでは詳しく解説はしませんが、コード内にコメントで簡単な説明を行っています。
使い方は、PageBandle形式でHugo内に記事を作成した後、以下のコマンドでPythonスクリプトを実行するだけです。
作成したPageBandleのパスを文字列で渡しつつ実行することで機能します。
python Hugo_Zenn_postTool.py {作成したPageBandleのパス}
最後に
Hugo側のデプロイは別に行う必要があるので厳密には同時投稿ではないかも...
とはいえ、Hugoの記事を書けば1コマンドでZennにも投稿できる仕組みを作ることができて大満足です。
現段階だとHugoのショートコードやZennに特有な記法(リンク埋め込みなど)には対応できていません。今後はそのあたりの変換処理も拡充できていけたらなと思います。
Discussion