Kramdown tez, sof Ruby Markdown-superset konvertori


Download 258.14 Kb.
bet7/11
Sana14.05.2023
Hajmi258.14 Kb.
#1461903
1   2   3   4   5   6   7   8   9   10   11
Bog'liq
Sintaksis Kramdown (1)

Gorizontal qoidalar

Kontentni vizual ravishda ajratish uchun gorizontal qoida ixtiyoriy ravishda bo'sh satrda bo'sh joylar yoki yorliqlar bilan ajratilgan uch yoki undan ortiq yulduzcha, tire yoki pastki chiziq (bir qatorda aralashmasligi mumkin) yordamida yaratiladi. Birinchi yulduzcha, chiziqcha yoki pastki chiziq ixtiyoriy ravishda uchta bo'sh joygacha chekinishi mumkin. Quyidagi misollar gorizontal qoida yaratishning turli imkoniyatlarini ko'rsatadi:

* * *

---

_ _ _ _

---------------

Matematik bloklar

Bu sintaksis xususiyati asl Markdown sintaksisining bir qismi emas. G'oya Maruku va Pandoc paketlaridan kelib chiqadi.


kramdown LaTeX-da yozilgan blok va span-darajali matematika uchun o'rnatilgan yordamga ega.

Matematik blok blok chegaralarida boshlanishi va tugashi kerak . U ikkita dollar belgisidan foydalanishni boshlaydi, ixtiyoriy ravishda uchta bo'shliqqa qadar bo'sh joy ajratiladi. Matematik blok satr oxirida paydo bo'ladigan keyingi ikkita dollar belgisigacha (ular bir xil satrda yoki keyingi qatorlardan birida bo'lishi mumkin) davom etadi, ya'ni ulardan keyin faqat bo'sh joy belgilari bo'lishi mumkin. Matematik blokning mazmuni haqiqiy LaTeX math bo'lishi kerak. U har doim \begin{displaymath}...\end{displaymath} muhit ichida o'ralgan bo'ladi, agar u \beginbayonot bilan boshlansa.


Quyidagi kramdaun fragmenti

$$ \begin{aligned}
& \phi(x,y) = \phi \left(\sum_{i=1}^n x_ie_i, \sum_{j=1}^n y_je_j \right) = \sum_{i=1}^n \sum_{j=1}^n x_i y_j \phi(e_i, e_j) = \\
& (x_1, \ldots, x_n) \left( \begin{array}{ccc} \phi(e_1, e_1) & \cdots & \phi(e_1, e_n) \\ \vdots & \ddots & \vdots \\
\phi(e_n, e_1) & \cdots & \phi(e_n, e_n) \end{array} \right)
\left( \begin{array}{c} y_1 \\
\vdots \\

https://kramdown.gettalong.org/syntax.html 16/30
07.05.2023, 19:53 Sintaksis | Kramdown
y_n
\end{array} \right) \end{aligned}
$$

sifatida ko'rsatadi (Javascript kutubxonasi MathJax yordamida).


n n
s ( x , y) = s (xiei, yjej) i = 1 j = 1
n n
= ∑∑xiyjz (ei, ej) = i = 1j = 1


z (e1, e1)


(x1, … , xn) ⋮ ⋱
z (en, e1)
z (e1, en) y1






⎟ ⎜ ⋮ ⎟
z (en, en) yn


Inline matematikadan foydalanish ham oson: matematikaviy tarkibingizni matematik blok kabi ikkita dollar belgisi bilan o'rab oling. Agar siz inline matematik bayonotni boshlashni xohlamasangiz, shunchaki dollar belgilaridan qoching va ular oddiy dollar belgilari sifatida ko'rib chiqiladi.


|Inline matematik bayonotlarda quvur belgisini ishlatadigan LaTeX kodi chiziqning jadval chizig'i sifatida tan olinishiga olib kelishi mumkinligini unutmang . \vert! o'rniga buyruq yordamida bu muammoni oldini olish mumkin |!


Agar sizda matematik blokga o'xshab ko'rinadigan xatboshi bo'lsa, lekin aslida faqat inline matematik bayonoti bo'lgan paragraf bo'lishi kerak bo'lsa, birinchi dollar belgisidan qochishingiz kerak:

The following is a math block:

$$ 5 + 5 $$

But next comes a paragraph with an inline math statement:

\$$ 5 + 5 $$

Agar siz hatto inline matematik bayonotni xohlamasangiz, birinchi ikki dollar belgisidan qoching:

\$\$ 5 + 5 $$

HTML bloklari

Asl Markdown sintaksisi HTML blokining chap chetidan boshlanishi kerakligini belgilaydi, ya'ni hech qanday chekinishga ruxsat berilmaydi. Bundan tashqari, HTML bloki bo'sh chiziqlar bilan o'ralgan bo'lishi kerak. Kramdown hujjatlari uchun ikkala cheklov ham olib tashlanadi. Bundan tashqari, original sintaksis kramdown bilan ruxsat etilgan HTML bloklarida Markdown sintaksisidan foydalanishga ruxsat bermaydi.


Agar span darajasida bo'lmagan HTML yorlig'i yoki umumiy XML yorlig'i (ochish yoki yopish) bilan boshlanadigan chiziq uch bo'shliqqa qadar chekinishi mumkin bo'lsa, HTML bloki ishga tushiriladi.


Quyidagi HTML teglari span-darajadagi HTML teglari hisoblanadi va HTML blok satrining boshida topilsa, HTML blokini boshlamaydi :

a abbr acronym b big bdo br button cite code del dfn em i img input ins kbd label option q rb rbc rp rt rtc ruby samp select small span strong sub sup textarea tt var

Topilgan boshlang'ich tegni keyingi tahlil qilish tegga va uning mazmuni uchta mumkin bo'lgan usullardan qaysi biri bilan tahlil qilinishiga bog'liq:

https://kramdown.gettalong.org/syntax.html 17/30

07.05.2023, 19:53 Sintaksis | Kramdown
Xom HTML bloki sifatida tahlil qilish: Agar HTML/XML yorlig'i tarkibi xom HTML sifatida ko'rib chiqilishi kerak bo'lsa, u holda bu nuqtadan boshlab faqat HTML/XML teglari tahlil qilinadi va matn mos keladigan yakuniy teg topilmaguncha yoki aniqlanmagan matn sifatida qayta ishlanadi. hujjatning oxiri. Har bir topilgan teg yana xom HTML sifatida tahlil qilinadi. Biroq, agar tegda markdownatribut bo'lsa, bu atribut shu tegning tahlilini boshqaradi (pastga qarang).


E'tibor bering, tahlilchi asosan faqat to'g'ri XHTML ni qo'llab-quvvatlaydi! Biroq, ba'zi istisnolar mavjud. Masalan, qiymatsiz atributlar (ya'ni mantiqiy atributlar) va tirnoqsiz atribut qiymatlari ham qo'llab-quvvatlanadi va kabi kontentsiz elementlar />sifatida yozilishi mumkin
. Agar noto'g'ri yopish yorlig'i topilsa, u e'tiborga olinmaydi.


Blok darajasidagi elementlar sifatida tahlil qilish: Agar HTML/XML teg mazmuni blok darajasidagi elementlarni o'z ichiga olgan matn sifatida tahlil qilinishi kerak bo'lsa, satrdagi qolgan matn blok darajasidagi tahlilchi tomonidan xuddi alohida satrda ko'rinadigandek tahlil qilinadi ( E'tibor bering : Bu shuningdek, agar chiziq boshlang'ich teg, matn va tugatish tegidan iborat bo'lsa, yakuniy teg topilmasligini anglatadi!). Quyidagi barcha satrlar blok-darajali elementlar sifatida mos keladigan so‘nggi tegga ega HTML blok qatori topilmaguncha yoki hujjatning oxirigacha tahlil qilinadi.


Span-darajadagi elementlar sifatida tahlil qilish: Agar HTML/XML
tegi tarkibi span darajasidagi elementlarni o'z ichiga olgan matn sifatida tahlil qilinishi kerak bo'lsa, keyingi mos keladigan so'nggi teggacha yoki hujjatning oxirigacha bo'lgan barcha matn tegning mazmuni bo'ladi va keyinroq bo'ladi. span-level parser tomonidan tahlil qilinadi. Bu shuni anglatadiki, agar mos keladigan so'nggi teg kod oralig'ida bo'lsa, u hali ham ishlatiladi!


Agar yakuniy tegdan keyin matn bo'lsa, u alohida satrda ko'rinadigandek tahlil qilinadi, xomashyo HTML bloki ichida bo'lmagan hollar bundan mustasno.


Bundan tashqari, agar noto'g'ri yopish yorlig'i topilsa, u e'tiborga olinmaydi.

E'tibor bering, barcha HTML teg va atribut nomlari kichik harflarga aylantiriladi!

Odatiy bo'lib, kramdown barcha blok HTML teglarini va barcha XML teglarini xom HTML bloklari sifatida tahlil qiladi. Biroq, bu bilan sozlanishi mumkin parse_block_html. Agar bu sozlangan boʻlsa true, HTML bloklarida sintaksisni tahlil qilish global miqyosda yoqilgan boʻladi. Bundan tashqari, atribut yordamida har bir teg asosida sintaksisni tahlil qilishni yoqish/o'chirish mumkin markdown:


Agar HTML tegida atribut bo'lsa markdown="0", teg xom HTML bloki sifatida tahlil qilinadi.

Agar HTML tegi atributiga ega bo'lsa markdown="1", bu tegda sintaksisni tahlil qilish uchun standart mexanizm qo'llaniladi.


Agar HTML tegida atribut bo'lsa markdown="block", tegning mazmuni blok darajasidagi elementlar sifatida tahlil qilinadi.


Agar HTML tegida atribut bo'lsa markdown="span", tegning mazmuni span darajasidagi elementlar sifatida tahlil qilinadi.


markdown="1"Quyidagi roʻyxatda qaysi HTML teglari qoʻllanilganda yoki parse_block_htmlboʻlganda sukut boʻyicha qaysi rejimda tahlil qilinganligi koʻrsatilgan true:


Xom HTML sifatida tahlil qiling

script style math option textarea pre code kbd samp var

Bundan tashqari, barcha umumiy XML teglari xom HTML bloklari sifatida tahlil qilinadi.

Blok darajasidagi elementlar sifatida tahlil qilish

applet button blockquote body colgroup dd div dl fieldset form iframe li map noscript object ol table tbody thead tfoot tr td ul

https://kramdown.gettalong.org/syntax.html 18/30
07.05.2023, 19:53 Sintaksis | Kramdown
Oraliq darajasidagi elementlar sifatida tahlil qiling

a abbr acronym address b bdo big cite caption code del dfn dt em h1 h2 h3 h4 h5 h6 i ins kbd label legend optgroup p pre q rb rbc rp rt rtc ruby samp select small span strong sub sup th tt var

Esda tutingki, barcha span-darajali HTML teglari HTML blokini yoqtiradi ayoki bboshlamaydi! Biroq, yuqoridagi ro'yxatlar, agar markdownatribut xom HTML blokidagi tegda ishlatilsa, span darajasidagi HTML teglarini ham o'z ichiga oladi.


Bu oddiy misol kiritish va uning HTML chiqishi bilan parse_block_htmlo'rnatilgan false:

This is a para.

Something in here.

Other para.


This
is a para.

Something in here.


Other
para.


Ko'rinib turibdiki, tegning mazmuni divxom HTML bloki sifatida tahlil qilinadi va yolg'iz qoladi. Biroq, agar markdown="1"atribut tegda ishlatilsa div, kontent blok darajasidagi elementlar sifatida tahlil qilinadi va shuning uchun paragrafga aylantiriladi.


Siz bir vaqtning o'zida bir nechta HTML teglaridan foydalanishingiz mumkin:

id="content"> id="layers"> id="layer1"> This is some text in the `layer1` div.

This is some text in the `layers` div.

This is a para outside the HTML block.

Biroq, esda tutingki, agar tegning mazmuni blok-darajali elementlar sifatida tahlil qilinsa, boshlang'ich/tugash tegidan keyin paydo bo'ladigan, lekin bir xil satrda paydo bo'ladigan tarkib xuddi yangi satrda paydo bo'lgandek qayta ishlanadi:

markdown="1">This is the first part of a para, which is continued here.



markdown="1">This works without problems because it is parsed as span-level elements


markdown="1">The end tag is not found because this line is parsed as a paragraph


parse_block_htmlga o'rnatish ba'zi istalmagan xatti-harakatlarga olib kelishi mumkinligi sababli true, odatda atribut yordamida blok/ko'cha darajasidagi elementlarni tahlil qilishni tanlab yoqish yoki o'chirish yaxshiroqdir markdown !


To'g'ri joylashtirishni ta'minlash uchun yopilmagan blok darajasidagi HTML teglari hujjat oxirida to'g'ri yopiladi va noto'g'ri ishlatilgan oxirgi teglar chiqishdan olib tashlanadi:

This is a para. markdown="1"> Another para.




This
is a para.


https://kramdown.gettalong.org/syntax.html 19/30
07.05.2023, 19:53 Sintaksis | Kramdown

Another
para.


XML sharhlarini tahlil qilish ham qo'llab-quvvatlanadi. XML sharhlarining mazmuni bir nechta satrlarni qamrab olishi mumkin. XML sharhining boshlanishi faqat satr boshida paydo bo'lishi mumkin, ixtiyoriy ravishda uchta bo'sh joygacha chekinish. Agar XML sharhi tugaganidan keyin matn bo'lsa, u alohida satrda ko'rsatilgandek tahlil qilinadi. XML sharhlarida kramdown sintaksisi qayta ishlanmaydi:

This is a para.
a *comment* --> a `comment`
spanning multiple lines --> First part of para, continues here.


Download 258.14 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   10   11




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling