Discourse Docs カードフィルター

:discourse2: 概要 Discourse Docs カードフィルターは、Discourse Docs プラグインと併用するために設計されており、ユーザーが /docs ページにアクセスした際に、素早くフィルタリング結果を得られるよう、クリック可能な「カード」を配置することを可能にします。
:eyeglasses: プレビュー Discourse テーマクリエーターでプレビュー
:hammer_and_wrench: リポジトリリンク https://github.com/discourse/discourse-docs-card-filter
:open_book: Discourse テーマは初めてですか? Discourse テーマの使い方の初心者ガイド

このテーマコンポーネントをインストール

機能

上記は、docs プラグインで以下の設定を適用することでレンダリングされます。

設定

各カテゴリまたはタグのカードフィルターにカスタムアイコンを選択できます。また、カテゴリカードフィルター内にカテゴリの説明を表示することも可能です。

名前 説明
category icons 対応するカテゴリ ID に対してアイコンとトピックの順序を選択します。例:‘6,heart,title-asc’ はカテゴリ 6 にハートアイコンを割り当て、トピックリストをアクティビティの昇順で並べ替えます。注:順序は (title,activity)-(asc/desc) の形式で指定可能です。
category description Docs ページのカテゴリカードフィルターにカテゴリの説明を表示する機能を有効化します。
tag icons 対応するタグのスラッグに対してアイコンとトピックの順序を選択します。例:‘featured,heart,activity-desc’ は featured タグにハートアイコンを割り当て、トピックリストをアクティビティの降順で並べ替えます。注:順序は (title,activity)-(asc/desc) の形式で指定可能です。
翻訳 デフォルト
topics トピック
topic トピック

:discourse2: 当方でホストされていますか? テーマコンポーネントは、Standard、Business、Enterprise プランで利用可能です。

「いいね!」 33

ありがとうございます!ユーザーが(プライベートな)カテゴリの表示権限を持っていない場合、そのカテゴリのカードは検索ボックスの上に表示されないのでしょうか?(あるいはサイドバーにも表示されないと思いますが、挙動が一貫していることを確認したいため質問しました。)

「いいね!」 1

これは、カテゴリ情報を以下のコードから取得しているため、想定通りのはずです。

@discourseComputed("category")
  categoryInfo(category) {
    return this.site.categories.findBy("id", category.id);
  },

私の知る限り、this.site.categories は現在のユーザーが閲覧できるカテゴリのみを返します。

「いいね!」 2

素晴らしいですね。これにより、複数の作業グループに所属する方々が、所属グループの参照資料に素早くアクセスし、グループAとグループBなどを瞬時に絞り込むことができる、非常に使いやすいツールになります。ありがとうございます!

「いいね!」 3

/docs のカウンターは、カテゴリが作成された後にそのカテゴリに移動されたトピックをカウントしない可能性がありますか?

新しくカテゴリを作成し、ドキュメントに追加して、いくつかのトピックを移動しましたが、カウンターはまだ「0 トピック」と表示されています。

編集:更新されるのに少し時間がかかるようです。

カードの並べ替え順序を変更する方法はありますか。コードの変更が必要な場合でも構いません。トピック数ではなく、アルファベット順にしたいです。よろしくお願いします!

「いいね!」 1

皆さん、こんにちは。ドキュメントとこのドキュメントの拡張機能は素晴らしいです。ただ一つだけ。これらのカードを top_menu または homepage セクションに追加する方法について、どなたかお手伝いいただけますか?デフォルトで「最新」が表示される標準のホームページがあり、これらのカードが一番上に表示されると素晴らしいでしょう。その後、カードをクリックするとフィルタリングされたドキュメントページに移動します。

また、top_menu セクションには別のプラグイン(検索ボックス)があります。このセクションに複数のプラグインが表示されている場合、順序を変更する方法がわかりませんでした。

よろしくお願いします。

「いいね!」 3

@jordan.vidrine様

tcを試したところ、ユースケースにうまく適合しました。これでKBを作成できます。

この件に関して質問があります。各カテゴリまたはタグカードにパラメータを追加する回避策はありますか?これにより、各個別のカテゴリまたはタグカードの並べ替えに影響を与えるために&order=titleを追加したいと考えています。

追伸:

うーん、よくわかりません。

カテゴリカードとタグカードの並び順をどのように表示したいですか?

ジョーダンさん

「カテゴリアイコン」のテーマ設定に並べ替えパラメータを追加できます。たとえば、「6,heart」の場合、並べ替えコマンドを追加できます。たとえば、トピックタイトルを昇順で並べ替える場合は、「6,heart,title-asc」となります。

カテゴリカードを開くと、次のようにドキュメントパラメータが追加されます。/docs?ascending=true&category=71&order=title

どう思われますか?

「いいね!」 1

サイトではうまく機能する可能性がありますが、カードの並べ替え機能に焦点を当てたこのトピックに関するフィードバックが少ないため、この機能を適切に機能させるために費やされた時間は現在正当化されているとは思いません。

とはいえ、コンポーネントのプルリクエスト(PR)や、コンポーネントを独自の目的でフォークすることを奨励しています。

この機能のプルリクエスト(PR)を作成するか、ご自身で開発するためにフォークしてください。

「いいね!」 3

@jrgong が作業をスポンサーしてくれるので、このリクエストに対してPRを作成できます。

「いいね!」 4

これを再度上げます!誰か解決策を見つけましたか?

「いいね!」 2

私の解決策は、カードをオフにすることでした(あまりにも多くのカテゴリがあり、役に立たないため)そして、ドキュメントの並べ替え順序を変更することでした。詳細については、こちらをご覧ください。Modifying Discourse Docs to only allow for sorting by Title - #2 by Nick_Chomey

「いいね!」 2

コンポーネントへの有益なプルリクエスト(PR)は、大歓迎です!

これらのカードをソートする機能を追加する場合、カテゴリIDとタグIDのカードの順序を指定できる新しい値リストを作成することをお勧めします。関連性のない既存の値リストにそれらを追加することはありません。

:smile:

「いいね!」 1

@jordan.vidrine 素晴らしいコンポーネントをデザインしていただきありがとうございます。モバイルデバイスでコンポーネントを無効にし、PC/Macで表示できるようにするには、何か方法はありますか?

なるほど。しかし、少なくとも category icons の設定を value-list に変更していただけませんか?単一のテキストフィールドよりも、複数のテキストフィールドでカードを管理する方がはるかに簡単です。 :wink:

そして、一時的な回避策として、各ドキュメントカードにそれぞれのカテゴリまたはタグのスラッグを持つ CSS クラスがあれば、非常に役立ちます。

変更前: \u003ca class=\"docs-card-box category-card\"\u003e
変更後: \u003ca class=\"docs-card-box [category-slug] category-card\"\u003e

「いいね!」 1

これは良い提案です :+1:

「いいね!」 2

テストでお手伝いが必要な場合はお知らせください。喜んで実験台になります :slight_smile:

「いいね!」 1

さらに検討した結果、category icons の設定を値リストに変更しないことにしました。フォールバックオプションがないと、現在のユーザーのコンポーネントが破損する可能性があるためです。

フォールバックを追加するには、ユーザーが現在のフィールドにアイコンを設定しているか、または新しい value-list フィールドに設定しているかを確認する必要があります。これはこのコンポーネントに追加するには煩雑すぎると感じており、設定レベルがさらに増え、混乱を招く可能性があります。

クラスの追加については、素晴らしいアイデアですが、より優先度の高い事項があるため、いつ追加できるかのタイムラインはありません。

とはいえ、可能な限り、当社のコンポーネントへのプルリクエストも歓迎します。私たちは結局のところオープンソースなのですから!

「いいね!」 1