npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

@karamem0/zenn-plugin-emoji

v0.7.2

Published

Zenn の記事のアイキャッチ絵文字を内容から生成するためのプラグインです。

Readme

zenn-plugin-emoji

.github/workflows/trigger-on-main.yml License

Zenn のアイキャッチ絵文字を記事の内容から生成するためのプラグインです。

事前準備

このプラグインでは OpenAI の GPT を使用しますが環境は提供していません。OpenAI または Azure OpenAI Service の環境をあらかじめご用意ください。また、このプラグインを実行したことによるいかなる損害も責任を負いません。

Zenn の GitHub 連携を行っているリポジトリにパッケージをインストールします。

npm install @karamem0/zenn-plugin-emoji

.env または .env.local ファイルを作成し以下の環境変数を設定します。

|キー名|説明|OpenAI|Azure OpenAI Service (API キー)|Azure OpenAI Service (Entra ID アプリケーション)| |-|-|-|-|-| |OPENAI_API_KEY|OpenAI の API キー|X||| |OPENAI_API_VERSION|OpenAI の API バージョン (2024-05-01 など)||X|X| |OPENAI_MODEL_NAME|OpenAI の場合はモデル名、Azure OpenAI Serviceの場合はデプロイ名|X|X|X| |AZURE_OPENAI_API_KEY|Azure OpenAI Service の API キー||X|| |AZURE_OPENAI_ENDPOINT|Azure OpenAI Service のエンドポイント||X|X| |AZURE_CLIENT_ID|Entra ID アプリケーションのクライアント ID|||X| |AZURE_CLIENT_SECRET|Entra ID アプリケーションのクライアント シークレット|||X| |AZURE_TENANT_ID|Entra ID アプリケーションのテナント ID|||X|

以下に OpenAI および Azure OpenAI Service 環境ごとの設定例を示します。

  • OpenAI の例

    OPENAI_API_KEY=<your-openai-api-key>
    OPENAI_MODEL_NAME=<your-openai-model-name>
  • Azure OpenAI Service (API キー) の例

    AZURE_OPENAI_API_KEY=<your-aoai-api-key>
    AZURE_OPENAI_ENDPOINT=https://<your-aoai-resoure-name>.openai.azure.com
    OPENAI_API_VERSION=<your-aoai-api-version>
    OPENAI_MODEL_NAME=<your-aoai-deployment-name>
  • Azure OpenAI Service (Entra ID アプリケーション) の例

    Entra ID アプリケーションに対して Cognitive Services OpenAI User のロールの割り当てが必要です。

    AZURE_CLIENT_ID=<your-app-client-id>
    AZURE_CLIENT_SECRET=<your-app-client-secret>
    AZURE_TENANT_ID=<your-app-tenant-id>
    AZURE_OPENAI_ENDPOINT=https://<your-aoai-resoure-name>.openai.azure.com
    OPENAI_API_VERSION=<your-aoai-api-version>
    OPENAI_MODEL_NAME=<your-aoai-deployment-name>

使用方法

アイキャッチ絵文字を生成する

既定ではアイキャッチ絵文字が存在しないファイルを対象にします。オプションを付けない場合はコンソールに結果のみを表示しファイルは更新しません。

npx zenn-emoji
articles/ebd6b7f4e118f3.md: 💻 プログラミングを学ぶというテーマからコンピュータをイメージしました。

生成したアイキャッチ絵文字でファイルを更新する

-u オプションを付けることで生成したアイキャッチ絵文字でファイルを更新します。

npx zenn-emoji -u

前回の結果でファイルを更新する

-c オプションを付けることで前回の実行結果でファイルを更新します。すぐにファイルを更新せずに結果を確認してから更新する場合におすすめです。

npx zenn-emoji       # 生成結果を確認して
npx zenn-emoji -u -c # ファイルを更新する

生成済みのファイルを対象にする

-f オプションを付けることでアイキャッチ絵文字が存在するファイルも対象にします。

npx zenn-emoji -f
articles/1d7a517be7f801.md: ⏳ 非同期処理という言葉から時間の経過をイメージしました。
articles/261cbfd985d9b8.md: 🌐 AIというテーマから、世界中に広がる技術の可能性をイメージしました。
articles/ebd6b7f4e118f3.md: 💻 プログラミングというテーマから、コンピュータをイメージしました。

特定のファイルのみを対象にする

ターゲットを省略した場合 artcles/*.md を対象にします。ターゲットを指定すると特定のファイルのみを対象にできます。

npx zenn-emoji articles/ebd6b7f4e118f3.md

MCP サーバー

-s オプションを付けることで MCP サーバーとしての利用が可能です。

{
  "servers": {
    "zenn-plugin-emoji": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "zenn-emoji",
        "--mcp-server"
      ]
    }
  }
}

オプション

|短い名前|長い名前|説明| |-|-|-| |-u|--update|対象のファイルを更新します。| |-c|--cache|前回実行時のキャッシュを再利用します。| |-f|--force|アイキャッチ絵文字が設定されているファイルの更新を強制します。| |-q|--quiet|メッセージの表示を抑制します。| |-b|--batch-size|バッチ要求のサイズを指定します。| |-s|--mcp-server|MCP サーバーを起動します。|