2015-05-07 19 views
6

C'è un modo per visualizzare un elenco ordinato in ordine inverso in Markdown normale?Markdown in ordine inverso elenco?

Ho letto sull'opzione "reverse" HTML (How to display a reverse-ordered list in HTML?, http://www.w3schools.com/tags/tryit.asp?filename=tryhtml5_ol_reversed) ma preferirei una soluzione Markdown se esiste.

Per chiarire, c'è un modo per scrivere qualcosa di simile:

0. Coffee 
0. Tea 
0. Milk 

e lo hanno reso come

3 Caffè

2 Bollitore

1 Latte

invece del regolare

1 Caffè

2 Bollitore

3 Latte

+0

È possibile creare l'elenco in ordine inverso. In altre parole, fallo manualmente. Oppure puoi sempre creare il tuo elenco in HTML puro. Ma non sono a conoscenza di alcuna implementazione Markdown che supporti l'attributo 'reverse'. – Waylan

+1

Non sono sicuro di come potrei farlo manualmente: '3. Voce 2. Elemento 1. L'articolo è reso come '1. Elemento 2. Elemento 3. Elemento ' Besires, questo significherebbe la numerazione di tutti gli elementi ogni volta che è necessario aggiungere un elemento in cima all'elenco. – user42174

+0

Oh, aspetta, vuoi dire che i numeri degli oggetti sono invertiti ma gli oggetti sono ancora nell'ordine originale - mi spiace di aver perso quel dettaglio. Non è possibile non utilizzare l'HTML non elaborato – Waylan

risposta

5

Non so di una semplice soluzione Markdown, ma per coloro che sono disposti a considerare estensioni di markdown piuttosto comuni, è possibile ottenere questo utilizzando kramdown. In Kramdown, puoi aggiungere qualsiasi attributo a qualsiasi blocco HTML. Quindi, tutto quello che dovete fare è:

0. first item 
0. second item 
0. another item 
{: reversed="reversed"} 

Questo aggiungerà l'attributo reversed al <ol> blocco e genererà l'effetto desiderato.

Vedere the kramdown documentation per la sintassi.

4

I documentation stati (in parte):

E 'importante notare che i numeri reali si utilizza per contrassegnare la lista ha nessun effetto sull'output HTML prodotto da Markdown. ... [esempi esclusi per chiarezza e brevità] ...

Il punto è, se lo si desidera, è possibile utilizzare i numeri ordinali negli elenchi di Markdown ordinati, in modo che i numeri nella sorgente corrispondano ai numeri nel proprio HTML pubblicato. Ma se vuoi essere pigro, non devi.

Se si utilizza la numerazione di elenco pigro, tuttavia, è comunque necessario avviare l'elenco con il numero 1. A un certo punto in futuro, Markdown può supportare l'avvio di elenchi ordinati su un numero arbitrario.

Infatti, alcune implementazioni hanno iniziato a sostenere l'attributo start (one example); tuttavia, è raro. E anche allora, viene fatto riferimento solo al numero del primo oggetto. I numeri dati per il resto degli articoli sono ancora ignorati.

Non sono a conoscenza di alcuna implementazione che supporta l'attributo reverse. Inoltre, come lo rileverebbe il parser? Tutti i numeri devono essere controllati dal parser? O solo i primi due?

Dato che HTML non fornisce un modo per definire manualmente manualmente il numero di ciascuna voce di elenco, non vi è alcun motivo per cui un parser Markdown si preoccupi di quali numeri sono assegnati a ogni singolo elemento. Quindi la maggior parte (tutti?) Non lo fa.

Ovviamente, Markdown supporta raw HTML. Come lo stato delle regole di sintassi:

Per qualsiasi markup non coperto dalla sintassi di Markdown, è sufficiente utilizzare l'HTML stesso.

Pertanto, è possibile definire manualmente la vostra lista in HTML grezzo all'interno del documento Markdown:

A paragraph of Markdown text 

<ol reversed> 
    <li>Coffee</li> 
    <li>Tea</li> 
    <li>Milk</li> 
</ol> 

More Markdown text. 

e la filosofia dietro perché questo è il modo corretto per farlo è spiegato in questo modo:

Markdown non è un sostituto per HTML o anche vicino ad esso. La sua sintassi è molto piccola, corrispondente solo a un sottoinsieme molto piccolo di tag HTML. L'idea non è quella di creare una sintassi che renda più semplice l'inserimento di tag HTML. A mio parere, i tag HTML sono già facili da inserire.

Problemi correlati