Gestione degli ancoraggi nei post creati con markdown

Ehi community, sto usando un sito discourse per pubblicare alcune specifiche scritte principalmente in markdown, ma mi sono imbattuto nel problema che gli ancoraggi utilizzati per le intestazioni vengono visualizzati, mentre dovrebbero essere nascosti.

Qualcuno sa se c’è un modo per nasconderli?

2 Mi Piace

Ciao, benvenuto!

Questa sintassi proviene da kramdown o PHP Markdown Extra?

Discourse si basa su MarkdownIt, che è basato sulla specifica CommonMark. Non supporta la specifica di un ID di intestazione.

Sembra che ne abbiano discusso a un certo punto: Anchors in markdown - Spec - CommonMark Discussion, ma non vedo alcuna conclusione definitiva.

Tuttavia, Discourse genera automaticamente l’ancora.
Puoi vederlo qui:

Essenzialmente, puoi aspettarti questi ID:

  • h-{headingId} (nessun ID post, nessun slug)
  • h-{slug}-{headingId} (nessun ID post)
  • p-{postId}-h-{headingId} (ID post, nessun slug)
  • p-{postId}-h-{slug}-{headingId} (ID post, slug)

Ad esempio:

Se preferisci, puoi comunque creare un’ancora manualmente con HTML, ad esempio: <a name="anchor_name"></a>


Risorse aggiuntive –
Se hai bisogno di generare un Sommario, c’è questo componente per te:

5 Mi Piace

Grazie mille @Arkshine!

Il problema è più che altro perché pubblichiamo i markdown utilizzati anche per altri scopi su Discourse, quindi le persone che gestiscono i documenti utilizzano questi ancoraggi per riferimenti incrociati quando uniscono più markdown in un unico documento.

Penso che creerò una sorta di script per ripulire prima di pubblicare il contenuto.

3 Mi Piace

Capisco!
La soluzione è anche creare un plugin per Discourse con un plugin markdown per supportare questa sintassi. Se hai del budget, potresti chiedere su Marketplace.

@Nihokam

Se sei ancora interessato, ho creato un piccolo plugin per Discourse che gestisce la specifica di un ID di ancoraggio accanto all’intestazione.

Funziona insieme alle ancore automatiche delle intestazioni di Discourse.
Nota che è un supporto di base. Ci sono probabilmente molte varianti, ma questo plugin supporta solo le seguenti:

## La mia intestazione {#sezione_personalizzata}

genererà:


<a name="sezione_personalizzata" href="#sezione_personalizzata" class="custom-anchor-id"></a>

Puoi provarlo! Fammi sapere se riscontri problemi.

2 Mi Piace

Grazie @Arkshine!

Verificherò con il nostro amministratore di discourse riguardo al suo utilizzo :grin:

1 Mi Piace

@Arkshine Sai come vengono generati gli ancoraggi in Discourse (il sito web attuale)? Te lo chiedo perché non sembrano seguire i pattern che hai condiviso. Ad esempio, guarda questo:

https://meta.discourse.org/t/adding-a-table-to-your-post-using-markdown/66544#creating-a-simple-table-1

C’è un’impostazione per questo? Non sono riuscito a trovarla. O usano <a>? O il tuo plugin?