2015-05-07 16 views
6

Czy istnieje sposób wyświetlenia listy uporządkowanej odwrotnie za pomocą prostego oznaczenia?Markdown Reverse uporządkowano listę?

Przeczytałem o opcji "reverse" HTML (How to display a reverse-ordered list in HTML?, http://www.w3schools.com/tags/tryit.asp?filename=tryhtml5_ol_reversed), ale preferowałbym rozwiązanie Markdown, jeśli takie istnieje.

celu wyjaśnienia, czy istnieje sposób, aby napisać coś takiego:

0. Coffee 
0. Tea 
0. Milk 

i go renderowane jako

3 kawy

2 Tea

1 Mleko

zamiast zwykłego

1 Kawa

2 Tea

3 Mleko

+0

Możesz stworzyć swoją listę w odwrotnej kolejności. Innymi słowy, rób to ręcznie. Możesz też zawsze stworzyć listę w surowym kodzie HTML. Ale nie jestem świadomy żadnej implementacji Markdown, która obsługuje atrybut 'reverse'. – Waylan

+1

Nie jestem pewien, jak mógłbym zrobić to ręcznie: '3. Pozycja 2. Pozycja 1. Pozycja " jest renderowana jako ' 1. Pozycja 2. Pozycja nr 3. Pozycja " " Oznacza to ponumerowanie wszystkich pozycji za każdym razem, gdy muszę dodać jedną pozycję na górze listy. – user42174

+0

Och, czekaj, masz na myśli numery pozycji są odwrócone, ale elementy są nadal w oryginalnym porządku - przepraszam, że przegapiłem ten szczegół. Nie jest to możliwe poza używaniem surowego HTML – Waylan

Odpowiedz

5

Nie znam prostego rozwiązania Markdown, ale dla tych, którzy są skłonni rozważyć dość powszechne rozszerzenia przecinków, można to osiągnąć za pomocą kramdown. W Kramdown możesz dodać dowolny atrybut do dowolnego bloku HTML. Tak, wszystko co musisz zrobić, to:

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

Spowoduje to dodanie atrybutu reversed do bloku <ol> i przyniesie pożądany efekt.

Zobacz the kramdown documentation dla składni.

4

The documentation stanów (częściowo):

Ważne jest, aby pamiętać, że rzeczywista liczba użyć, aby zaznaczyć listę mają brak wpływu na wyjście HTML, które produkuje Markdown. ... [przykłady wyłączone dla jasności i zwięzłości] ...

Chodzi o to, jeśli chcesz, możesz użyć numerów porządkowych na zamówionych listach Markdown, tak aby liczby w twoim źródle odpowiadały liczbom w twoim opublikowany HTML. Ale jeśli chcesz być leniwy, nie musisz.

Jeśli jednak używasz leniwej numeracji list, powinieneś nadal otwierać listę z numerem 1. W pewnym momencie w przyszłości Markdown może wspierać uruchamianie uporządkowanych list pod dowolnym numerem.

W rzeczywistości kilka wdrożeń zaczęło obsługiwać atrybut start (one example); jednak jest to rzadkie. I nawet wtedy odwołuje się tylko numer pierwszego elementu. Liczby podane w pozostałych pozycjach są nadal ignorowane.

Nie jestem świadomy żadnej implementacji, która obsługuje atrybut reverse. Poza tym, w jaki sposób parser to wykryje? Czy wszystkie liczby muszą być sprawdzone przez analizator składni? A może tylko pierwsze dwa?

Ponieważ HTML w rzeczywistości nie zapewnia ręcznego ręcznego definiowania numeru każdego elementu listy, nie ma powodu, dla którego analizator analizatora Markdown miałby dbać o to, które numery są przypisane do poszczególnych elementów. Dlatego większość (wszystko?) Nie.

Oczywiście Markdown obsługuje raw HTML. Zgodnie z regułami składni:

Dla każdego znacznika, który nie jest uwzględniony w składni Markdown, wystarczy użyć samego HTML.

Dlatego można ręcznie zdefiniować listę surowca HTML w dokumencie Markdown:

A paragraph of Markdown text 

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

More Markdown text. 

a filozofię dlatego, że jest poprawny sposób to zrobić jest wyjaśnione w ten sposób:

Markdown nie zastępuje HTML, ani nawet w jego pobliżu. Jego składnia jest bardzo mała, co odpowiada tylko bardzo niewielkiemu podzbiorowi znaczników HTML. Pomysł nie polega na tworzeniu składni ułatwiającej wstawianie znaczników HTML. Moim zdaniem tagi HTML są już łatwe do wstawienia.