メインコンテンツへスキップ

Obsidianコミュニティプラグインを公開してみる

· loading · loading ·
kiitosu
著者
kiitosu
画像処理やデバイスドライバ、データ基盤構築からWebバックエンドまで、多様な領域に携わってきました。地図解析や地図アプリケーションの仕組みにも経験があり、幅広い技術を活かした開発に取り組んでいます。休日は草野球とランニングを楽しんでいます。
目次

はじめに
#

Obsidian プラグインに入門しました。

生成AIマジ便利ですね、サクサクできます。

年ごとの比較カレンダーを作ってみましたので公開してみたいと思います。 どんなアプリかは最後に書きたいと思います。今回は公開方法を整理していきます。


プラグインを公開しよう
#

オブシディアンのコミュニティでプラグインを共有しようと思ったらプラグインの公開リストに提出するのがベストです。我々のレビューが終わり公開されたらユーザはObsidianでインストールして使うことができます。Obsidianのウェブサイトのプラグインディレクトリにも掲載祭されます。

事前準備
#

Githubのアカウントが必要です

始める前に
#

プロジェクトのルートに以下のファイルが必要です。

  • README.md にプラグインの目的と使い方を記載します
  • ライセンスを配置します。どんなライセンスが良いのかわからない場合はこちらを見てください。このような手順で追加作業を実施します。

ステップ1: プラグインをGithubに公開する
#

:::message テンプレートレポジトリを使った場合はスキップできる場合があります :::

レビューするためにGitHubのソースにアクセスする必要があります。GitHubの使い方がわからない場合はこちらを見てください。

ステップ2: リリースを作る
#

提出の準備が整ったプラグインのリリースを準備します。

  1. セマンティックバージョニングに従った versionmanifest.json で更新します。
  2. GitHubのリリースをつくります。 “Tag version” はリリースバージョンと一致する必要があります。
  3. リリース名と、説明を記載します。リリース名はObsidianでは使わないので何でも良いです。
  4. 次のファイルをリリースに含めるバイナリとしてアップロードします
    • main.js
    • manifest.json
    • style.css(optional)

:::message ここまでが自分が開発したレポジトリでの作業になります。 以降はobsidian-releaseでのブラウザ上の作業になります。 :::

ステップ3: プラグインのレビューを依頼する
#

ここでは、オブシディアンチームにプラグインのレビューを依頼します。

  1. obsidian-release をforkします。

  2. community-plugins.json で JSONに追記します。

    {
    "id": "doggo-dictation",
    "name": "Doggo Dictation",
    "author": "John Dolittle",
    "description": "Transcribes dog speech into notes.",
    "repo": "drdolittle/doggo-dictation"
    }
    

    今回は以下で進めてみました。

    {
        "id": "yearly-diary-comparator",
        "name": "Yearly Diary Comparator",
        "author": "kiitosu",
        "description": "Show a side-by-side yearly comparison of diary in daily notes.",
        "repo": "kiitosu/yearly-diary-comparator"
    },
    
    • id, name, author, description でプラグインがユーザにどの様に見える化が決まります。マニフェストの内容と合致する必要があります。
    • idはユニークです。 community-plugins.json を見て同じidが存在しないことを確認してください。idにobsidianは含められません。
    • repoはあなたのGitHubレポジトリです。レポジトリのURLが https://github.com/your-username/your-repo-name の場合は your-username/your-repo-name です.
  3. 右上の Commit changes… からコミットします

    :::message 上記の図では一番上に追加したのですが、これだとbotのチェックでエラーになってしまいました。 一番下に追加する必要があるようです。 :::

  4. Commit changes でコミットします :::message 公式にはPropose changesを選択します。という説明がありますが、そのようなUIは見つけられませんでした。またブランチについても特に指定がなく、main のままやってみます。 :::

  5. Open pull request を押します

  6. Preview を選び、Community Plugin を選びます

    :::message ちょっと不思議な作業ですが、リンク押下でPR時のテンプレートメッセージを貼り付けたいが、まだ整備されてない。そんな感じだと思います。 :::

  7. Create pull request を選択します

  8. プルリクエストの名前は "Add plugin: [...]" のようにしてください [...] はあなたのプラグインの名前です

  9. 詳細な説明を記載してください。完了した項目についてはチェックボックスに [x] を入れてください。

  10. Create pull request を押してください

これで提出完了です。botによるチェックを待ってください。結果がわかるまで数分掛かります。

  • Ready for review ラベルが付いたら自動チェックを通過したということです
  • Validation failed になったら Ready for review になるまで問題に対処する必要があります

後はObsidianチームによるレビュー完了を待ってください。

:::message レビューが終わるまでどれくらいかかるかはわからないので気長に待ってくれよ!ということです。現在300件弱のPRが溜まっていて、最も古いものは1月なので数カ月は掛かりそうということですね。 :::

ステップ4: レビューコメントに対応する
#

レビュー指摘に対応したらそれを伝えてください。新しいPRを作ることはしないでください。指摘対応が完了され次第プラグインを公開します。

次のステップ
#

プラグインが公開されたらコミュニティにアナウンスする時です!


最後に
#

公式の説明はここまでです! 文言が間違っていたりところどころ手順がわかりにくかったりしました。 しかし一度やってみれば難しいものではなかったです。 レビューが進めばいいですが、数カ月先でしょうか。気長に待ちます 🛏️

ちなみにアプリのコードは以下にあります。まだリリースPRがマージされていないのでObsidianからのインストールはできません。 @[card](https://github.com/kiitosu/yearly-diary-comparator" >}}

以下のイメージで、年毎に横並びにして日毎のサマリを比較できます。 効果が出るのが数年後ですが 😅 昔はエクセルで同じようなことをやっていたのでだいぶ進歩しました 💨

2025/05/21追記
#

obsidianのgithubのbot君から連絡が来ました。

いくつか問題があるので対応せよとのこと。

JavascriptやHTMLでstyleの設定をしないでCSSをつかってね、とのこと。 スクロール制御がうまくできなくて諦めてたんだけど改めて考えてみる。

You should avoid assigning styles via JavaScript or in HTML and instead move all these styles into CSS so that they are more easily adaptable by themes and snippets.

anyを使わないでねってこと。こっちはOptionなので直さなくても良さそうではある。

Casting to any should be avoided as much as possible.

とりあえず両方とも修正してみた。

Do NOT open a new PR for re-validation. Once you have pushed all of the required changes to your repo, the bot will update the labels on this PR within 6 hours. If you think some of the required changes are incorrect, please comment with /skip and the reason why you think the results are incorrect.

新しいPRを作らないでね。 あなたのレポジトリに変更をプッシュしたら、botが6時間以内にlaberlを更新するよ。 ということで6時間待つ!

30分くらいですぐレスポンスが来た。

次は人間のレビューらしい。

Reply by Email

関連記事

Obsidianコミュニティプラグイン入門
· loading · loading
ObsidianでRibbonに設定したボタンで特定のテンプレートのファイルを生成する
· loading · loading
Dockerとkubernetesをlocalで一緒に使ってみた
· loading · loading