Notero は、アイテムとメモを Notion に同期するための Zotero プラグインです。使用するには:
コンセプト by @arhoff ??? |で構築? @dvanoni より
Notero プラグインは、Notero 設定で指定したコレクション内で追加または変更される Zotero アイテムを監視します。項目が追加または変更されるたびに、Notero はいくつかのことを行います。
notion
タグを追加します。Zotero から Notion ページを開く便利な方法を提供することに加えて、リンク添付ファイルは、特定の Zotero アイテムに対応する Notion ページを更新できるように、Notero の参照としても機能します。
デフォルトでは、Notero は監視対象のコレクション内の項目が変更されるたびに同期します。この機能を無効にするには、Notero の環境設定で[項目が変更されたときに同期する] オプションのチェックを外します。
コレクションまたはアイテムのコンテキスト メニュー (右クリック) からアイテムを同期することもできます。
注記
「変更時の同期」機能が Notion に複数回保存されるのを防ぐため、タグとリンクの添付ファイルがアイテムに追加されたときに、Notero は Zotero に通知しません。つまり、それらは Zotero にすぐに表示されない可能性があり、表示するには別の項目に移動して戻る必要がある場合があります。
アイテムに関連付けられた Zotero ノートは、そのアイテムに対応するページのコンテンツとして Notion に同期できます。通常のアイテムと同様に、コンテキスト メニューの[Notion に同期]オプションを使用してノートを手動で同期できます。
ノートの自動同期は、Notero 設定の[ノートを同期]オプションで有効にできます。有効にすると、メモが変更されるたびに自動的に同期されます。さらに、通常のアイテムが同期されると、そのメモもすべて同期されます (まだ同期されていない場合)。
PDF から注釈 (メモとハイライト) を同期するには、まず注釈を Zotero メモに抽出する必要があります。
Notero を使用するには、Notion データベースをセットアップし、Notero に接続し、Zotero に Notero プラグインをインストールする必要があります。詳細な設定手順は以下のとおりです。
Zotero アイテムを同期する Notion データベースを作成します。
Notion ワークスペースに複製できる以下の例を参照してください。
https://www.notion.com/my-integrations で Notion 内部統合を作成し、すべての「コンテンツ機能」を有効にします。
前のステップの「内部統合シークレット」をメモします。
統合にデータベースへのアクセスを許可します。
Notion 開発者ドキュメントから:
- ワークスペースのデータベース ページに移動します。
- ページの右上隅にある[その他]メニューをクリックします。
- 下にスクロールして[接続] をクリックします。
- 「接続の検索... 」メニューで統合を検索して選択します。
必要に応じてデータベースのプロパティを構成します。詳細については、以下のデータベース プロパティのセクションを参照してください。
Notero は、以下にリストされているプロパティのデータを同期できます。 Notero で必要な唯一のプロパティは、 Titleプロパティ タイプを持つプロパティです。他のプロパティはオプションであるため、ニーズに合ったもののみを使用できます。
Titleプロパティには、他のプロパティ名と競合しない限り、 Name
以外の名前を付けることができます。他のプロパティの名前とタイプは、ここで指定したとおりに正確に構成する必要があります。プロパティ名では大文字と小文字が区別されるため、大文字と小文字は正確に一致する必要があることに注意してください。
プロパティのカスタマイズのサポートは将来的に計画されています。問題 #355 を参照してください。
プロパティ名 | プロパティの種類 | 注意事項 |
---|---|---|
Name | タイトル | Notero 環境設定のNotion ページ タイトルオプションで形式を設定可能 |
Abstract | 文章 | |
Authors | 文章 | |
Citation Key | 文章 | より優れた BibTeX が必要 |
Collections | 複数選択 | |
Date | 文章 | |
Date Added | 日付 | |
Date Modified | 日付 | |
DOI | URL | |
Editors | 文章 | |
Extra | 文章 | |
File Path | 文章 | |
Full Citation | 文章 | エクスポート→クイックコピー→アイテムフォーマットのZotero設定に基づいたフォーマット |
In-Text Citation | 文章 | エクスポート→クイックコピー→アイテムフォーマットのZotero設定に基づいたフォーマット |
Item Type | 選択 | |
Place | 文章 | |
Proceedings Title | 文章 | |
Publication | 文章 | |
Series Title | 文章 | |
Short Title | 文章 | |
Tags | 複数選択 | |
Title | 文章 | |
URL | URL | |
Year | 番号 | |
Zotero URI | URL | Zotero にサインインしている場合、Web ライブラリ内のアイテムを開きます |
重要
.xpi
ファイルの最新リリースをダウンロードします。.xpi
ファイルをダウンロードできます。.xpi
ファイルをインストールします。Notero のセットアップと使用に関する視覚的なガイドについては、コミュニティの素晴らしいメンバーによって作成された次のリソースを参照してください。
Notero の使用方法を共有し、ここに掲載したい場合は、お気軽に PR を送信するか、私までご連絡ください。
これは素晴らしいことですが、残念ながら、このプラグインの範囲を超えています。 Notion から Zotero に更新を取得するには、Notion から Webhook をサブスクライブし、Zotero API を使用して Zotero 内のアイテムを更新するホスト型サービスをセットアップする必要があります。 Notion はまだ正式な Webhook サポートをリリースしていませんが、これに使用できるサードパーティ ツールがいくつかあります。理論的には、これは技術的には可能ですが、別のプロジェクトになります。
Notion には次の制限があるため、現時点ではファイルを同期したり、ローカル ファイルにリンクしたりする適切な方法はありません。
http:
およびhttps:
URL のみをサポートするため、 file:
URL を使用してファイルに直接リンクすることはできません。現時点での最善の回避策は次のとおりです。
File Path
プロパティを使用して、ローカル ファイルの場所を指定します。Zotero URI
プロパティから Zotero Web インターフェイスを開いて、そこからファイルを開くことができます。監視対象のコレクションに既に存在する複数のアイテムを同期するには、コレクションまたはアイテムのコンテキスト メニューから実行できます。上記の「アイテムの同期」セクションを参照してください。
次のエラーが表示された場合:
APIResponseError: ID のデータベースが見つかりませんでした: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
これはおそらく、Notion データベースへのアクセス権を Notero に与えていないことを意味します。 「Notion の構成」セクションのすべての手順に従っていることを確認してください。データベースの右上隅にある[••]ボタンをクリックすると、Notero 用に作成した統合への接続が表示されます。
次のエラーが表示された場合:
APIResponseError: アーカイブされたページを更新できません。更新する前にページを解凍する必要があります。
これは、以前の同期ですでに Notion ページが作成されているアイテムを Notero が同期しようとしたが、そのページは削除されている場合に発生する可能性があります。 (Notion ページを削除すると、そのページがゴミ箱に移動され、Notion API ではこれを「アーカイブ済み」と呼ぶことに注意してください。)
「Notero の仕組み」セクションで説明したように、Notero は、アイテムに添付されたNotion
という名前のリンクを通じて、Zotero アイテムを Notion ページに関連付けます。この問題を解決するには、問題のあるアイテムのこのリンク添付ファイルを削除してから、再度同期を実行します。
次のエラーが表示された場合:
APIResponseError:プロパティは存在するプロパティではありません
これは、以前にアイテムを 1 つの Notion データベースに同期し、その後 Notero の設定を変更して別のデータベースを指定した場合に発生する可能性があります。 Notero は、新しいデータベースにページを作成するのではなく、古いデータベースのページを更新しようとしている可能性があり、異なるデータベースに異なるプロパティが設定されている場合にこのエラーが発生する可能性があります。
これを解決するには、Notion で古いデータベースを削除してから、Notion のゴミ箱から完全に削除する必要があります。
Notero によって同期されたすべてのプロパティを使用して構成された Notion データベースの例をいくつか提供します。
いずれかのサンプルを開いたら、ページの右上隅にある「複製」ボタンをクリックして、それを Notion ワークスペースに複製します。
Notero によって同期されたプロパティのみを含む空のデータベース。最初から始めて自分でカスタマイズする場合に便利です。
複数のビューといくつかのサンプル エントリを含むデータベース。さまざまなビューの使用方法については、以下を参照してください。
DOI
またはURL
プロパティをクリックすると、元のソースに簡単に移動できます。Extra
フィールドから手動でコピー&ペーストする必要がある場合があります。Zotero URI
プロパティをクリックして、Zotero のエントリを表示/編集するか、参考文献エントリを別の引用スタイルでエクスポートします。 Related References
プロパティを使用して、他の作品に簡単にリンクできます (例: 同じ特集号の記事、同じ編集された本の章、他の作品に応答または拡張する研究や解説)。 Notero は、generator-zotero-plugin で足場を構築されており、zotero-plugin から多大な影響を受けたビルド スクリプトを使用します。これらを作成してくれた @retorquere に感謝します。
以下の手順は、Zotero プラグイン開発ドキュメントに基づいており、Notero を自分で構築して実行できるようになります。
デフォルトの Zotero プロファイルへの潜在的な損傷を避けるために、開発目的で新しいプロファイルを作成できます。
Zotero の起動に使用される構成オプションを含むzotero.config.json
という名前のファイルを作成します。利用可能なすべての設定オプションの説明が含まれるサンプル ファイルについては、 zotero.config.example.json
参照してください。
依存関係をインストールします。
npm ci
Notero をビルドし、プラグインがインストールされた状態で Zotero を起動します。
npm start
あるいは、Zotero の希望するベータ版を開始することもできます。
npm run start-beta
start
スクリプトはいくつかの手順を実行します。
npm run build
実行して、プラグインをbuild
ディレクトリにビルドします。
定義されている場合は、 zotero.config.json
で指定されたscripts.prestart
コマンドを実行します。
build
ディレクトリへの絶対パスを含むファイルを、Zotero プロファイルディレクトリのextensions
ディレクトリに書き込みます。
Zotero プロファイル ディレクトリのprefs.js
からextensions.lastAppBuildId
行とextensions.lastAppVersion
行を削除します。
zotero.config.json
で指定されたプロファイルと次のコマンドライン引数を使用して Zotero を起動します。
-purgecaches -ZoteroDebugText -jsdebugger -datadir profile
定義されている場合は、 zotero.config.json
で指定されているscripts.poststart
コマンドを実行し、それにZOTERO_PID
環境変数を指定します。
リリースは GitHub Actions 経由で実行されます。 release
ワークフローでは、次のジョブが定義されます。
release-please
このジョブは、新しいユーザー向けコミットがmain
ブランチにプッシュされるときに、release-please アクションを使用してリリース PR を作成します。リリース PR により、パッケージのバージョンが上がり、変更ログが更新されます。 PR がマージされると、このジョブは新しいバージョン タグと GitHub リリースを作成します。
publish-artifacts
このジョブは、 release-please
ジョブによって新しいリリースが作成されたときに実行されます。 .xpi
ファイルをビルドし、リリースに公開します。また、更新されたマニフェスト ファイルを生成し、それをrelease
リリースに公開します。