Discourseのドキュメントカテゴリ

|||
-|-|-|
:discourse2: | 概要 | Discourse Doc Categories は、特定のカテゴリをドキュメント用に確保し、それらに追加機能を提供する機能です。
:hammer_and_wrench: | リポジトリリンク |  https://github.com/discourse/discourse-doc-categories
:open_book: | インストールガイド | Discourseにプラグインをインストールする方法

> :warning: このプラグインは活発に開発されており、まだ完全に完成していません。

機能

Discourse Doc Categoriesプラグインを使用すると、既存のDiscourseフォーラムで構造化されたドキュメントをホストできます。これは、特定のカテゴリをドキュメント用に確保し、特定のドキュメントトピックを見つけやすくするための機能を提供することによって機能します。

Documentation カテゴリで実際に動作を確認できます。

カテゴリをドキュメントの場所としてマークすると、そのカテゴリに次の機能が有効になります。

  • カテゴリ内のすべてのドキュメントトピックのインデックスとして使用される指定されたトピック
  • カテゴリ内のさまざまなトピック間を移動するための新しいサイドバー。組み込みのフィルタリングおよび検索機能が含まれています。
  • インデックストピックの整合性を維持するのに役立つ新しいレポート

さらに、このプラグインは、廃止されたDocsプラグインから移行するサイトのリダイレクトを処理します。そのプラグインからのドキュメントリンクは既存のトピックURLにリダイレクトされ、以前のドキュメントホームページをメインのドキュメントカテゴリにリダイレクトするための設定があります。

設定

設定は example.discourse.com/admin/site_settings/category/doc_categories で利用できます。ここで、次の設定が見つかります。

  • doc categories enabled: Doc Categoriesプラグインを有効にするために選択します。
  • doc categories docs legacy enabled: 非推奨のDocsプラグインから移行した場合は、これを選択します。
  • doc categories homepage: 前の設定が有効な場合、非推奨のDocsプラグインからのランディングページがこのURLにリダイレクトされます。

ドキュメントに使用するカテゴリを指定するには、インデックストピックを割り当てます。これを行うには、カテゴリページの:wrench:アイコンをクリックしてカテゴリの設定を開きます。そこから、「設定」リンクをクリックし、「ドキュメントモード」セクションまでスクロールします。「インデックストピック」フィールドを使用して、カテゴリのインデックスに使用するトピックを指定します。

インデックストピック

ドキュメントカテゴリのインデックストピックは、2つの目的を果たします。

  1. カテゴリに含まれるすべてのトピックの中央リストです。
  2. このプラグインに含まれるサイドバーは、インデックストピックのコンテンツで構成されます。

インデックストピックのフォーマット

インデックストピックには、好きなコンテンツを含めることができます。サイドバーが正しく機能するためには、ドキュメントトピックの箇条書きリスト(または複数の箇条書きリスト)を含める必要があります。これらは単純にリスト内のトピックURLにすることができます。その場合、サイドバーには各ドキュメントトピックの完全なタイトルが表示されます。

タイトルが数語よりも長い場合、サイドバーに完全なタイトルを表示するのは実用的ではない可能性があるため、特定のトピックの短いタイトルを設定するには、URLの前に短縮されたタイトルをコロン(:)で区切って追加します。コロンの前のすべてのテキストがサイドバーに表示され、トピックURLにリンクされます。

インデックストピックをセクションに分割し、それぞれの上に(任意のレベルの)見出しを持つ複数のリストを使用できます。これらはサイドバーにこれらのセクションで表示されます。

開始するためのインデックストピックの例を次に示します。

カテゴリの簡単な説明を任意で追加できます。

## セクション1
* https://discourse.example.com/t/topic-title/12
* https://discourse.example.com/t/another-topic-title/34
* 短いタイトル: https://discourse.example.com/t/topic-with-a-long-title/56
* 別のタイトル: https://discourse.example.com/t/another-topic-with-a-long-title/78

## セクション2
* トピックタイトル: https://discourse.example.com/t/documentation-topic/98
* https://discourse.example.com/t/new-topic/76

この例では、次のようなドキュメントサイドバーが出力されます。

> :eyes: 実際に動作しているドキュメントカテゴリインデックスの例については、Documentation > Site Management インデックストピックを参照してください: https://meta.discourse.org/t/site-management-index/308032

インデックストピックの保守

カテゴリにコンテンツが追加、削除、または編集されてもインデックストピックは自動的に更新されませんが、プラグインにはインデックストピック内の不整合を強調する新しいレポートが含まれています。

  • インデックス化されていないトピック:
    example.discourse.com/admin/reports/doc_categories_missing_topics
    このレポートは、ドキュメントカテゴリでインデックスに追加されていないトピックを示します。

  • 余分な項目:
    example.discourse.com/admin/reports/doc_categories_extraneous_items
    このレポートは、インデックスに含まれているが、含めるべきではないと思われる項目を示します。レポートは、トピックがレポートに含まれた理由を示します。たとえば、削除された場合や、含まれているインデックストピックとは異なるカテゴリにある場合などです。

追加情報

検索用語に in:docs という文字列を追加すると、ドキュメント用にマークされたすべてのカテゴリ(つまり、インデックストピックが割り当てられているカテゴリ)が検索されます。

インデックス内の項目の最大数は、デフォルトで50に設定されている Max oneboxes per post サイト設定によって制御されます。50を超えるインデックス項目が必要な場合は、その設定の数値を増やしてください。

「いいね!」 33

これはかなり良いですね。他のセルフホスト型ドキュメントソリューションを調べていました(フォーラム構造は、新しい読者にとって時々少し混乱することがあります)。

Discourse の幸運を祈ります(Gitbook やその他と比較して :smiley:

「いいね!」 6

コンポーネント discourse-doc-sidebar(名前は合っていますか?)はもう必要ないのではないでしょうか?

「いいね!」 3

はい、新しいドキュメントサイドバー用に元々構築されたコンポーネントがこのプラグインに移動されました。

「いいね!」 4

もうタグは使えなくなってしまったようですね :slight_smile:

「いいね!」 4

アプローチは、Docsプラグインのように全く新しいものにするのではなく、コアのディスコースナビゲーションにきれいに統合されているので気に入っています。
切り替えさせていただきます!

「いいね!」 2

ここに置いておきますね、全くネイティブの機能リクエストではありません。これらの機能がこのプラグインに特化して適用されないかもしれませんが、ドキュメント環境にはどんなものでも優れた機能だと思います - 利点として、コア機能の素晴らしい追加にもなり得ます。 :thinking:

「いいね!」 5

脚注機能のようなものですが、グローバルにキーワードでトリガーされると、このような機能には最適です。

「いいね!」 3

フォーラム内の内部リンクにホバープレビューが表示される場合、これらは不要です。単語/リンクの置換で対応でき、単語にホバーするだけで投稿全体を読むことができます :smiley:

このような機能は非常に便利です(誰もドキュメントを読むのが好きではないですよね?)そして、このプラグインのリリースにより、ドキュメントをホストするための最良のソリューションを選択する私の旅の途中で、それを非常に難しくしています :stuck_out_tongue: Obsidianで管理されているコンテンツで、ドキュメントをQuartzに移行することを検討していました。

「いいね!」 2

3.3安定版との互換性はありませんか?

「いいね!」 3

はい、Discourse 3.3 と完全に互換性があります :slight_smile:

「いいね!」 2

いいえ、そうではありません。

/var/www/discourse/plugins/discourse-doc-categories/lib/doc_categories/initializers/invalidate_cache_on_enabled_setting_change.rb:8:in `apply': undefined method `on_enabled_change' for an instance of Plugin::Instance (NoMethodError)

** INCOMPATIBLE PLUGIN **
/var/www/discourse/plugins/discourse-doc-categories のプラグインのエラーにより、Discourse を起動できません。

DEV: Add plugin API to perform actions when the plugin is turned on/o… · discourse/discourse@366dfec · GitHub を参照してください。

「いいね!」 4

サイドバーのタイトルや項目で絵文字がレンダリングされると、とても素晴らしいです!

「いいね!」 3

皆さん、こんにちは!

申し訳ありません、これは私のミスでした。

Hughからプラグインが互換性があるか尋ねられた際に、私が開発中にコアに導入した新しいAPIが3.3の安定版に含まれていると誤解してしまいました。

残念ながら、実際にはそうではなく、プラグインが互換性を持つ最初の安定版は3.4になります。

この混乱について、改めてお詫び申し上げます。

「いいね!」 6

グループタグとタグについてはどうですか?

「いいね!」 3

@saquetim、説明ありがとうございます!

どういう意味かよくわかりません。もう少し詳しく説明していただけますか?

Docs プラグインでは、サイドバーにグループ別のタグを表示してフィルタリングできます。
新しいプラグインでも同じことができますか?

「いいね!」 2

新しいプラグインでは、現時点ではそれができません。将来的に検討する可能性はありますが、今のところ追加する予定はありません。

「いいね!」 2

はい、はい
本当にありがとうございます!

「いいね!」 1

本当に愚かだと思いますが、すべて正しく行ったと思います。トピックをカテゴリのインデックスとして名前を付け、ドキュメントプラグインをこのトピックにポイントするように設定しましたが、サイドバーが表示されません。スクリーンショット付きのステップバイステップのデモはありますか?ドキュメントカテゴリの設定に苦労しています。よろしくお願いします!

「いいね!」 1