Zenn のアイキャッチ絵文字を記事の内容から生成するプラグインを作りました

2024/08/28に公開

こちらのポストにインスパイアされて作ってみました。

https://x.com/__syumai/status/1826866708633497645

Zenn では new:article をすることでランダムな絵文字を使うことができます。しかしランダムなので記事の内容に沿っていないこともあります。絵文字を考えるのが面倒ですし、同じ絵文字にしてしまう人も多いです。そこで、記事の内容から絵文字を生成してくれるプラグインを作りました。

https://www.npmjs.com/package/@karamem0/zenn-plugin-emoji

Zenn と GitHub 連携しているプロジェクトにパッケージをインストールします。

npm install @karamem0/zenn-plugin-emoji

ルートに .env (.env.local でも可) を作成し OpenAI の API キーとモデル名を設定します。.env は GitHub にアップロードしないように .gitignore で除外しておくことをお勧めします。また Azure OpenAI Service も利用できます。

OPENAI_API_KEY=...
OPENAI_MODEL_NAME=gpt-4o-mini

以下のコマンドを実行します。

npx zenn-emoji articles/hogehoge.md

次のような結果が得られます。

articles/hogehoge.md: ✨

自動的に記事を更新する場合は -u オプションを指定します。

npx zenn-emoji articles/hogehoge.md -u

ソース コードはこちらに公開しています。

https://github.com/karamem0/zenn-plugin-emoji

Discussion