Communityライティング&編集github.com

BreynerAguilar/naver-blog-converter

🛠️ MarkdownファイルをNaverブログ互換のHTMLに変換し、Mermaid図のレンダリングとGoogle Cloudへのアップロードを自動化して、シームレスなコンテンツ共有を実現します。

naver-blog-converter とは?

このスキルは、MarkdownファイルをNaverブログ(ネイバーブログ)に投稿可能なHTML形式に変換するためのツールです。特に、Mermaid記法で書かれた図を自動的にレンダリングし、画像として埋め込むことで、Naverブログ上でも複雑な図を表示できるようにします。さらに、レンダリングされた画像やその他のアセットをGoogle Cloud Storage(GCS)に自動アップロードし、公開URLを生成する機能も備えています。主なユースケースとして、技術ブログの内容をMarkdownで執筆し、そのままNaverブログに公開したい場合に、手動でのHTML変換や画像ホスティングの手間を省くことができます。開発者やテクニカルライター向けに設計されており、Claude Code、Cursor、CodexなどのAIエージェントと連携することで、効率的なブログ投稿ワークフローを構築できます。動作にはGoogle Cloudの認証情報が必要であり、設定ファイルや環境変数で構成を管理します。

対応~Claude Code~Codex CLI~Cursor
npx skills add BreynerAguilar/naver-blog-converter

Installed? Explore more ライティング&編集 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

プレビュー

スキル README より

naver-blog-converter preview

ドキュメント

naver-blog-converter は何をしますか?

🛠️ MarkdownファイルをNaverブログ互換のHTMLに変換し、Mermaid図のレンダリングとGoogle Cloudへのアップロードを自動化して、シームレスなコンテンツ共有を実現します。

機能

  • Markdown → HTML変換: MarkdownファイルをNaverブログで利用可能なHTMLに変換します。
  • Mermaid図のレンダリング: Mermaid記法の図を自動的に画像に変換して埋め込みます。
  • Google Cloud Storageへのアップロード: 画像やその他のアセットをGCSにアップロードし、公開URLを生成します。

前提条件

  • Node.js (v16以上)
  • Google Cloudアカウントとプロジェクト
  • GCSバケット(公開アクセス可能)

インストール

npm install -g @breyneraguilar/naver-blog-converter

または、プロジェクト内でローカルにインストール:

npm install @breyneraguilar/naver-blog-converter

設定

  1. Google Cloudのサービスアカウントキー(JSON)を取得し、安全な場所に保存します。
  2. 環境変数を設定します:
export GOOGLE_APPLICATION_CREDENTIALS="/path/to/service-account-key.json"
export GCS_BUCKET_NAME="your-bucket-name"
  1. 設定ファイル naver-blog-config.json をプロジェクトのルートに作成します:
{
  "gcsBucket": "your-bucket-name",
  "gcsPathPrefix": "blog-images",
  "mermaidTheme": "default",
  "mermaidOutputFormat": "png"
}

使用方法

基本コマンド

npx naver-blog-convert input.md output.html

オプション

オプション説明デフォルト値
--config設定ファイルのパス./naver-blog-config.json
--uploadGCSに画像をアップロードtrue
--no-uploadアップロードをスキップ-
--mermaidMermaid図のレンダリングを有効化true
--no-mermaidMermaid図のレンダリングを無効化-

例

# 基本的な変換とアップロード
npx naver-blog-convert post.md post.html

# アップロードせずに変換のみ
npx naver-blog-convert post.md post.html --no-upload

# カスタム設定ファイルを使用
npx naver-blog-convert post.md post.html --config ./custom-config.json

Mermaid図のサポート

Markdown内のMermaidコードブロックは、自動的にレンダリングされ画像として埋め込まれます。

```mermaid
graph TD
    A[開始] --> B[処理]
    B --> C[終了]
```

レンダリング後、上記のコードブロックは以下のようなHTMLに置き換えられます:

<img src="https://storage.googleapis.com/your-bucket/blog-images/mermaid-abc123.png" alt="Mermaid図" />

Google Cloud Storageへのアップロード

変換されたHTML内の画像は自動的にGCSにアップロードされ、絶対URLに置き換えられます。これにより、Naverブログで画像が正しく表示されるようになります。

注意事項

  • GCSバケットは公開読み取りアクセスが許可されている必要があります。
  • レンダリングされたMermaid画像は、ローカルの一時ディレクトリ(/tmp または os.tmpdir())に保存された後、GCSにアップロードされて削除されます。
  • NaverブログのHTML制限(特定のタグや属性の制限)に準拠するため、出力HTMLは簡素化されています。

トラブルシューティング

Mermaid図がレンダリングされない

  • Puppeteer/Chromeがインストールされていることを確認してください(npx puppeteer browsers install chrome)。
  • インターネット接続を確認してください(Mermaidレンダリングに必要)。

GCSアップロードに失敗する

  • GOOGLE_APPLICATION_CREDENTIALS 環境変数が正しく設定されているか確認してください。
  • サービスアカウントにGCSバケットへの storage.objects.create 権限があることを確認してください。

ライセンス

MIT

関連スキル