Nie znam bardziej precyzyjnego sposobu zadawania pytań „Czy mogę zdefiniować nazwę klasy w akapicie za pomocą Markdown?” Zapomniałeś przeczytać tytuł?
Ryan Florence
[Biased] Jeśli jesteś użytkownikiem Node, sprawdź Rho . Chociaż nie jest w 100% kompatybilny z Markdown, nadal możesz uznać go za bardzo atrakcyjny, ponieważ ma funkcję, której potrzebujesz.
(Testowane za pomocą parsera MaRuKu) możesz użyć po prostu „{.class-name}” na początku wiersza tekstu, aby uzyskać efekt znacznika P. Część id jest jednak ignorowana.
David Hutchison,
75
Surowy kod HTML jest właściwie całkowicie poprawny w przecenach. Na przykład:
Normal*markdown* paragraph.<p class="myclass">This paragraph has a class"myclass"</p>
Tylko upewnij się, że kod HTML nie znajduje się wewnątrz bloku kodu.
Nie miałem o tym pojęcia. Działa całkiem nieźle z Markdown Preview (Sublime 3), który używa wbudowanego PythonMarkdownparsera.
Mihai
3
Jak wspomniano powyżej, sama przecena pozostawia Cię w spokoju. Jednak w zależności od implementacji istnieją pewne obejścia:
Co najmniej jedna wersja MD uważa <div>się za znacznik na poziomie bloku, ale <DIV>jest to tylko tekst. Jednak we wszystkich przeglądarkach wielkość liter nie jest rozróżniana. Pozwala to zachować prostotę składni MD kosztem dodawania znaczników kontenera div.
Oto więc obejście:
<DIVclass=foo>
Paragraphs here inherit class foo from above.
</div>
Wadą tego jest to, że kod wyjściowy ma <p>tagi zawijające <div>wiersze (oba, pierwszy, ponieważ nie jest, a drugi, ponieważ nie pasuje. Żadna przeglądarka nie przejmuje się tym, co znalazłem, ale kod wygrał ”) t validate. MD i tak ma tendencję do umieszczania zapasowych <p>tagów.
Kilka wersji markdown implementuje konwencję, <tag markdown="1">w którym to przypadku MD wykonuje normalne przetwarzanie wewnątrz tagu. Powyższy przykład to:
<divmarkdown="1"class=foo>
Paragraphs here inherit class foo from above.
</div>
Obecna wersja MultiMarkdown firmy Fletcher umożliwia atrybutom podążanie za odsyłaczem, jeśli używane są odnośniki.
Uwaga: upewnij się, że używasz znaczników kodu; większość tego posta była ukryta, ponieważ został zinterpretowany jako tagi HTML.
Lawrence Dol
Dzięki - hack DIV jest jedyną odpowiedzią, która wydaje się działać z pegdown / cegdown. (Pegdown jest również rozszerzalny za pomocą wtyczek, więc mógłbym to zrobić na dłuższą metę)
Należy również wspomnieć, że <span>tagi dopuszczają wewnątrz nich - elementy na poziomie bloku natywnie negują MD w nich, chyba że skonfigurujesz je tak, aby tego nie robiły, ale style wbudowane natywnie zezwalają na MD w nich. W związku z tym często robię coś podobnego do ...
Thisis a superfluous paragraph thing.<span class="class-red">And thus I delve intomy topic,Lorem ipsum lollipop bubblegum.</span>And thus with that I conclude.
Nie jestem w 100% pewien, czy jest to uniwersalne, ale wydaje się, że tak jest we wszystkich edytorach MD, z których korzystałem.
Odpowiedzi:
Dupe: Jak ustawić atrybut klasy HTML w Markdown?
Natywnie? Nie ale...
Nie, składnia Markdowna nie może. Możesz ustawić wartości identyfikatorów za pomocą Markdown Extra do.
Jeśli chcesz, możesz użyć zwykłego kodu HTML i dodać atrybut,
markdown="1"
aby kontynuować konwersję przecen w ramach elementu HTML. Wymaga to jednak Markdown Extra .Możliwe rozwiązanie: (nieprzetestowane i przeznaczone
<blockquote>
)Znalazłem w Internecie:
Funkcjonować
Obniżka cen
Wynik
źródło
Surowy kod HTML jest właściwie całkowicie poprawny w przecenach. Na przykład:
Tylko upewnij się, że kod HTML nie znajduje się wewnątrz bloku kodu.
źródło
Jeśli Twoje środowisko to JavaScript, użyj markdown-it wraz z wtyczką markdown-it-attrs :
Wynik
jsfiddle
Uwaga: pamiętaj o aspekcie bezpieczeństwa, zezwalając na atrybuty w promocji!
Zastrzeżenie, jestem autorem przecenionych-it-atr.
źródło
Markdown powinien mieć taką możliwość, ale tak nie jest. Zamiast tego utkniesz w superzbiorach Markdown specyficznych dla języka:
PHP: Markdown Extra
Ruby: Kramdown , Maruku
Ale jeśli musisz przestrzegać prawdziwej składni Markdown, utkniesz z wstawianiem surowego kodu HTML, co jest mniej idealne.
źródło
Jeśli twój smak przeceny to kramdown, możesz ustawić klasę css w ten sposób:
Następnie w swoim pliku css ustawiasz css w ten sposób:
źródło
Oto działający przykład dla kramdown po odpowiedzi @ Yarina.
Źródła: https://kramdown.gettalong.org/syntax.html#inline-attribute-lists
źródło
Python
Markdown
parsera.Jak wspomniano powyżej, sama przecena pozostawia Cię w spokoju. Jednak w zależności od implementacji istnieją pewne obejścia:
Co najmniej jedna wersja MD uważa
<div>
się za znacznik na poziomie bloku, ale<DIV>
jest to tylko tekst. Jednak we wszystkich przeglądarkach wielkość liter nie jest rozróżniana. Pozwala to zachować prostotę składni MD kosztem dodawania znaczników kontenera div.Oto więc obejście:
Wadą tego jest to, że kod wyjściowy ma
<p>
tagi zawijające<div>
wiersze (oba, pierwszy, ponieważ nie jest, a drugi, ponieważ nie pasuje. Żadna przeglądarka nie przejmuje się tym, co znalazłem, ale kod wygrał ”) t validate. MD i tak ma tendencję do umieszczania zapasowych<p>
tagów.Kilka wersji markdown implementuje konwencję,
<tag markdown="1">
w którym to przypadku MD wykonuje normalne przetwarzanie wewnątrz tagu. Powyższy przykład to:Obecna wersja MultiMarkdown firmy Fletcher umożliwia atrybutom podążanie za odsyłaczem, jeśli używane są odnośniki.
źródło
W slim przecenie użyj tego:
Przetłumaczyć na:
źródło
Należy również wspomnieć, że
<span>
tagi dopuszczają wewnątrz nich - elementy na poziomie bloku natywnie negują MD w nich, chyba że skonfigurujesz je tak, aby tego nie robiły, ale style wbudowane natywnie zezwalają na MD w nich. W związku z tym często robię coś podobnego do ...Nie jestem w 100% pewien, czy jest to uniwersalne, ale wydaje się, że tak jest we wszystkich edytorach MD, z których korzystałem.
źródło
Jeśli potrzebujesz tylko selektora do celów JavaScript (tak jak ja), możesz po prostu użyć
href
atrybutu zamiastclass
lubid
:Po prostu zrób to:
Markdown nie zignoruje ani nie usunie
href
atrybutu, tak jak robi to w przypadku klas i identyfikatorów.Więc w swoim Javascript lub jQuery możesz zrobić:
Przynajmniej działa to w mojej wersji Markdown ...
źródło