فلتر بطاقات Discourse Docs

:discourse2: Summary Discourse Docs Card Filter is to be used with the Discourse Docs Plugin and allows you to place “Cards” that act as a clickable filter for quicker filter results upon entering the /docs page by your users.
:eyeglasses: Preview Preview on Discourse Theme Creator
:hammer_and_wrench: Repository Link https://github.com/discourse/discourse-docs-card-filter
:open_book: New to Discourse Themes? Beginner’s guide to using Discourse Themes

Install this theme component

Features

The above would be rendered with these settings in the docs plugin:

Settings

You can select custom icons for each category or tag card filter. You can also allow category descriptions to be rendered in the category card filters.

Name Description
category icons Choose icons & topics order for corresponding category IDs. ex. ‘6,heart,title-asc’ would assign the heart icon to category 6 & will order topic list by ascending activity. NOTE: order can be (title,activity)-(asc/desc)
category description Enable the category description to be displayed in the category card filters for the docs page.
tag icons Choose icons & topics order for corresponding tag slugs. ex. ‘featured,heart,activity-desc’ would assign the heart icon to featured tag & will order topic list by ascending activity. NOTE: order can be (title,activity)-(asc/desc)
Translation Default
topics Topics
topic Topic

:discourse2: Hosted by us? Theme components are available to use on our Standard, Business, and Enterprise plans.

Last edited by @JammyDodger 2024-06-12T08:47:57Z

Check documentPerform check on document:
33 إعجابًا

Thanks for building this! Is it the case that if a user doesn’t have view permissions on a (private) category, the card for that private category won’t appear above the search box? (Or I suppose on the sidebar, but just want to confirm the behavior is consistent.)

إعجاب واحد (1)

This should be the case as we are getting the category info from

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

To my knowledge, this.site.categories will only return those the current user can view.

إعجابَين (2)

Excellent. That will make it a real easy-to-use tool for people in our multiple workgroups who want quick access to their group(s) reference materials, and quickly filter our Group A from Group B, etc. Thanks!

3 إعجابات

Is it possible that the counter on /docs does not count topics moved into that category after it is already created?

I just made a new category, added in docs, moved a few topics but the counter still says “0 topic”.

EDIT: seems it just takes a while to update.

هل هناك طريقة لتغيير ترتيب الفرز للبطاقات، حتى لو تطلب ذلك تعديل الكود؟ أود أن يكون أبجديًا بدلاً من عدد الموضوعات. شكرًا!

إعجاب واحد (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)

في حين أنه من الممكن أن يعمل هذا بشكل جيد على موقع ما، ودون الكثير من التعليقات حول هذا الموضوع الذي يركز على القدرة على فرز البطاقات، لا أشعر بالضرورة أن الوقت المستغرق لجعل هذا يعمل بشكل صحيح مبرر حاليًا.

ومع ذلك، فإننا نشجع على تقديم طلبات السحب (PRs) على المكونات، وكذلك على استنساخ مكون لاستخدامه بطريقتك الخاصة!

لا تتردد في تقديم طلب سحب (PR) بهذه الوظيفة، أو استنساخها لتطويرها بنفسك.

3 إعجابات

يمكنني تقديم طلب سحب لهذا الطلب حيث أن @jrgong ترعى العمل.

4 إعجابات

رفع هذا الموضوع! هل تمكن أي شخص من معرفة ذلك؟

إعجابَين (2)

كان حلي هو إيقاف تشغيل البطاقات (نظرًا لأن لدي العديد من الفئات لجعلها مفيدة على أي حال) وتعديل ترتيب فرز المستندات. يمكنك رؤية المزيد حول ذلك هنا Modifying Discourse Docs to only allow for sorting by Title - #2 by Nick_Chomey

إعجابَين (2)

نرحب بالتأكيد بطلبات السحب (PRs) المفيدة لمكوناتنا!

إذا كنت ستضيف القدرة على فرز هذه البطاقات، أقترح إنشاء قائمة قيم جديدة حيث يمكنك وضع ترتيب البطاقات حسب معرف الفئة ومعرف العلامة. لن أضيفها إلى قائمة قيم موجودة بالفعل لشيء غير ذي صلة.

:smile:

إعجاب واحد (1)

@jordan.vidrine شكراً لك على تصميم المكون الرائع. هل هناك أي طريقة لتعطيل المكون على الأجهزة المحمولة ولكن عرضه على أجهزة الكمبيوتر الشخصية/أجهزة Mac؟

حسناً. ولكن هل يمكنك على الأقل تغيير إعداد أيقونات الفئة إلى قائمة قيم؟ من الأسهل بكثير إدارة البطاقات في حقول نصية متعددة بدلاً من حقل واحد. :wink:

وكحل مؤقت، سيكون من المفيد للغاية إذا كان لكل بطاقة مستندات فئة CSS مع الشريحة الفئوية أو الوسم المعني.

قبل: <a>
بعد: <a class="docs-card-box [category-slug] category-card">

إعجاب واحد (1)

هذا اقتراح جيد :+1:

إعجابَين (2)

أخبرني إذا كنت بحاجة إلى مساعدة في الاختبار، سأكون سعيدًا بأن أكون فأر التجارب :slight_smile:

إعجاب واحد (1)

بعد التفكير مليًا، قررت عدم تغيير إعداد أيقونات الفئة إلى قائمة قيم، لأنه بدون خيار احتياطي، سيتسبب ذلك في تعطل مكونات المستخدمين الحاليين.

ستبدو إضافة خيار احتياطي كالتالي: التحقق مما إذا كان المستخدم قد قام بتعيين الأيقونات في الحقل الحالي، أو الحقل الجديد قائمة القيم، وأعتقد أن هذا معقد للغاية لإضافته إلى هذا المكون، لأنه سيضيف مستوى آخر من الإعدادات ويسبب ارتباكًا محتملاً.

بالنسبة لإضافات الفئة، إنها فكرة رائعة، لكن ليس لدي جدول زمني لموعد إضافة ذلك حيث توجد أشياء أكثر أهمية تحتاج إلى اهتمامي.

ومع ذلك، عندما يكون ذلك ممكنًا، نرحب أيضًا بطلبات السحب (PRs) لمكوناتنا، فنحن مفتوحو المصدر في النهاية!

إعجاب واحد (1)