Filtro Scheda Documenti Discourse

: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 Mi Piace

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 Mi Piace

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 Mi Piace

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 Mi Piace

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.

C’è un modo per cambiare l’ordine di smistamento delle schede, anche se richiede la modifica del codice? Vorrei che fosse alfabetico anziché per numero di argomenti. Grazie!

1 Mi Piace

Ciao a tutti. La documentazione e questa estensione della documentazione sono fantastiche. Solo una cosa però. Qualcuno può aiutarmi ad aggiungere queste schede alle sezioni top_menu o homepage? Sarebbe fantastico avere una homepage standard con ‘Latest’ di default, ma con queste schede in alto. Poi cliccare su una scheda porterebbe alla pagina della documentazione filtrata.

Inoltre, ho un altro plugin (Search box) nella sezione top_menu. Non sono riuscito a capire come cambiare l’ordine se più plugin sono visualizzati in questa sezione.

Grazie.

3 Mi Piace

Ciao @jordan.vidrine

Abbiamo provato il tc e funziona benissimo per il tuo caso d’uso. Ora possiamo creare una KB

In questo contesto, ho una domanda: puoi suggerire qualche soluzione alternativa per aggiungere alcuni parametri a ogni scheda di categoria o tag? In questo modo vorremmo aggiungere &order=title per influenzare l’ordinamento di ogni singola scheda di categoria o tag.

PS:

Hmmm.. Non sono sicuro.

Come vorresti che apparissero le schede di categoria e tag ordinate?

Ehi Jordan

Potremmo aggiungere un parametro di ordinamento nell’impostazione del tema icone delle categorie. Ad esempio, nel caso di 6,heart, possiamo aggiungere un comando di ordinamento aggiuntivo, ad esempio per ordinare per titolo dell’argomento in ordine crescente, sarebbe 6,heart,title-asc.

Quando si apre la scheda della categoria, verrebbero quindi semplicemente aggiunti i parametri docs come: /docs?ascending=true&category=71&order=title

Cosa ne pensi?

1 Mi Piace

Sebbene sia possibile che questo funzioni bene su un sito, senza molti feedback su questo argomento incentrato sulla capacità di ordinare le schede, non ritengo necessariamente che il tempo impiegato per far funzionare correttamente questo aspetto sia attualmente giustificato.

Detto questo, incoraggiamo le PR sui componenti, così come il fork di un componente da utilizzare a proprio modo!

Sentiti libero di creare una PR con questa funzionalità, o di fare un fork per svilupparla per te stesso.

3 Mi Piace

Posso creare una PR per questa richiesta poiché @jrgong sta sponsorizzando il lavoro.

4 Mi Piace

Ri-uppo questo! Qualcuno è riuscito a scoprirlo?

2 Mi Piace

La mia soluzione è stata quella di disattivare le schede (dato che ho troppe categorie per renderle comunque utili) e modificare l’ordine di ordinamento dei Documenti. Puoi saperne di più qui Modifying Discourse Docs to only allow for sorting by Title - #2 by Nick_Chomey

2 Mi Piace

Accogliamo con favore i PR vantaggiosi per i nostri componenti!

Se tu dovessi aggiungere la possibilità di ordinare queste schede, suggerirei di creare una nuova value-list dove puoi inserire l’ordine delle schede per ID di categoria e ID di tag. Non le aggiungerei a una value list già esistente per qualcosa di non correlato.

:smile:

1 Mi Piace

@jordan.vidrine Grazie per aver progettato l’ottimo componente. C’è un modo per disabilitare il componente sui dispositivi mobili ma mostrarlo su PC/Mac?

Va bene. Ma potresti almeno cambiare l’impostazione category icons in value-list? È molto più facile gestire le schede in più campi di testo piuttosto che in uno solo. :wink:

E come soluzione temporanea, sarebbe molto utile se ogni scheda della documentazione avesse una classe CSS con il rispettivo slug della categoria o del tag.

Prima: \u003ca class=\"docs-card-box category-card\"\u003e
Dopo: \u003ca class=\"docs-card-box [category-slug] category-card\"\u003e

1 Mi Piace

Questo è un buon suggerimento :+1:

2 Mi Piace

Fammi sapere se hai bisogno di aiuto con i test, sarò felice di fare da cavia :slight_smile:

1 Mi Piace

Dopo averci riflettuto ulteriormente, ho deciso di non modificare l’impostazione category icons in un elenco di valori poiché, senza un’opzione di fallback, causerebbe la rottura dei componenti degli utenti attuali.

Aggiungere un fallback implicherebbe verificare se l’utente ha impostato le icone nel campo corrente o nel nuovo campo value-list, e ritengo che sia troppo macchinoso aggiungere questo al componente, poiché aggiungerebbe un altro livello di impostazioni e causerebbe possibile confusione.

Per quanto riguarda le aggiunte di classi, è un’ottima idea, ma non ho una tempistica per quando verrà aggiunta poiché ci sono cose più urgenti che richiedono la mia attenzione.

Detto questo, quando possibile accogliamo anche PR per i nostri componenti, dopotutto siamo open source!

1 Mi Piace