Kramdown tez, sof Ruby Markdown-superset konvertori


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

Agar boshqa barcha ro'yxat elementlari birinchi element sifatida tegishli paragrafni o'z ichiga olsa, oxirgi ro'yxat elementining matni ham paragraf tegiga o'raladi . Bu quyidagi foydalanish holatlarini kutilganidek ishlaydi, ya'ni barcha ro'yxat elementlari paragraflarga o'raladi:

* First list item

* Second list item

* Last list item

Asl Markdown sintaksisi sahifasi bir yoki bir nechta bo'sh qatorlar bilan ajratilgan ro'yxat elementlari paragraf teglariga o'ralganligini bildiradi. Bu shuni anglatadiki, agar ro'yxatda bo'sh satrlar bilan ajratilgan blok darajasidagi elementlar bo'lsa, birinchi matn ham paragrafga o'raladi. Yuqoridagi qoidani eslab qolish oson va birinchi roʻyxat matni qachon xatboshiga oʻralishini aniq belgilash imkonini beradi. Yuqoridagi qoida g'oyasi Pandoc to'plamidan keladi.


Yuqoridagi misollardan ko'rinib turibdiki, ro'yxat elementlari orasidagi bo'sh qatorlarga ruxsat beriladi.

Ro'yxat elementining mazmuni blok darajasidagi elementlarni o'z ichiga olishi mumkinligi sababli siz quyidagilarni qilishingiz mumkin:

* First item

A second paragraph

* nested list

> blockquote

* Second item

Biroq, ro'yxat elementidan keyin darhol kod blokiga ega bo'lishni istasangiz, muammo bor. Ushbu muammoni chetlab o'tish uchun siz EOB markeridan foydalanishingiz mumkin:

* This is a list item.

The second para of the list item. ^
A code block following the list item.

Roʻyxat elementida birinchi element sifatida istalgan blok darajasidagi elementga ega boʻlishingiz mumkin. Biroq, yuqorida ta'riflanganidek, ro'yxat elementi belgisi bo'lgan satrning etakchi yorliqlari yoki bo'shliqlari olib tashlanadi. Bu birinchi element sifatida kod blokiga ega bo'lishni xohlaganingizda muammoga olib keladi. Ushbu muammoning echimi quyidagi konstruktsiyadir:

https://kramdown.gettalong.org/syntax.html 11/30
07.05.2023, 19:53 Sintaksis | Kramdown
* ⋅⋅⋅⋅⋅⋅⋅Thisisacodeblock(indentationneedstobe4(1)+4(1) ⋅⋅⋅⋅⋅⋅⋅spaces(tabs)).

E'tibor bering, ro'yxat belgisiga kamida bitta bo'sh joy yoki yorliq qo'shilishi kerak! Aks holda, satr ro'yxat elementining boshi sifatida tan olinmaydi, lekin ro'yxat belgisini o'z ichiga olgan paragraf sifatida talqin qilinadi.


Agar siz to'g'ridan-to'g'ri bir ro'yxatni boshqasiga ega bo'lishni istasangiz (ikkalasi ham bir xil ro'yxat turiga ega, ya'ni tartiblangan yoki tartibsiz), ikkalasini ajratish uchun EOB markeridan foydalanishingiz kerak:

* List one ^
* List two

Paragraflar qatorlarni oʻrashni qoʻllab-quvvatlaganligi sababli , odatda ixcham ichki roʻyxatni, yaʼni matn paragraflarga oʻralmagan roʻyxatni yaratish mumkin boʻlmaydi, chunki undan keyin boʻsh qator yoʻq, lekin pastki roʻyxat mavjud:

* This is just text.
* this is a sub list item
* this is a sub sub list item * This is just text,
spanning two lines
* this is a nested list item.

Biroq, bu tez-tez ishlatiladigan sintaksis va shuning uchun kramdown tomonidan qo'llab-quvvatlanadi.

Agar siz xatboshini ro'yxat elementi markeriga o'xshash narsa bilan boshlamoqchi bo'lsangiz, undan qochishingiz kerak. Bu tartiblangan roʻyxatdagi davr yoki tartiblanmagan roʻyxatdagi roʻyxat elementi belgisidan qochish orqali amalga oshiriladi:

1984\. It was great
\- others say that, too!

Boshida aytib o'tilganidek, ro'yxat elementiga atributlarni qo'llash uchun ixtiyoriy IAL ro'yxat elementi belgisidan keyin ishlatilishi mumkin:

* {:.cls} This item has the class "cls". Here continues the above paragraph.

* This is a normal list item.

Ta'riflar ro'yxati

Bu sintaksis xususiyati asl Markdown sintaksisining bir qismi emas. Fikr va sintaksis PHP Markdown Extra paketidan olingan.

Ta'riflar ro'yxati bir yoki bir nechta atamalarga bir yoki bir nechta ta'riflarni belgilash imkonini beradi.

Oddiy xatboshidan keyin taʼrif belgisi boʻlgan satr (ixtiyoriy ravishda uchta boʻsh joygacha chekinishi mumkin boʻlgan ikki nuqta), soʻngra kamida bitta yorliq yoki bitta boʻsh joy, ixtiyoriy ravishda qoʻllanilishi kerak boʻlgan IAL qoʻshilsa, taʼriflar roʻyxati boshlanadi . ro'yxat bandiga, so'ngra ta'rifning birinchi qismiga. Ta'rif belgisi bo'lgan qator ixtiyoriy ravishda oldingi paragrafdan bo'sh qator bilan ajratilishi mumkin. Quyidagi ta'rif mazmuni bilan yaxshi moslashishga imkon berish uchun asosiy yorliqlar yoki bo'shliqlar ta'rifning birinchi qatoridan olib tashlanadi. Oldingi paragrafning har bir satri atama sifatida qabul qilinadi va satrlar oraliq darajali elementlar sifatida alohida tahlil qilinadi. Har bir bunday atama ixtiyoriy ravishda atamaga qo'llanilishi kerak bo'lgan IAL bilan boshlanishi mumkin.


Quyida oddiy ta'riflar ro'yxati keltirilgan:

https://kramdown.gettalong.org/syntax.html 12/30
07.05.2023, 19:53 Sintaksis | Kramdown
kramdown
: A Markdown-superset converter

Maruku
: Another Markdown-superset converter

Xuddi shu satrdagi ta'rif belgisidan keyin paydo bo'ladigan birinchi bo'sh joy bo'lmagan belgining ustun raqami ta'rifning keyingi satrlari uchun ishlatilishi kerak bo'lgan chegarani bildiradi. Agar bunday belgi bo'lmasa, to'rtta bo'sh joy yoki bitta yorliqdan foydalanish kerak bo'ladi. Chiziqli satrlardan keyin satrlarni o'rash tufayli har qanday chekinish miqdori bo'lgan matnni o'z ichiga olgan satrlar kelishi mumkin . Shuni yodda tutingki, satrlarni o'rash bo'limida ko'rsatilgan qoidalarga qo'shimcha ravishda, ro'yxat elementi boshqa ta'rif belgisi bo'lgan qatorga duch kelganda ham tugaydi.


Chegirma ta'rifdan olib tashlanadi va u (ta'rif tabiiy ravishda ta'rif belgisi bilan qatorning mazmunini ham o'z ichiga oladi) blok darajasidagi elementlarni o'z ichiga olgan matn sifatida qayta ishlanadi. Agar bir nechta ta'rif mavjud bo'lsa, atama uchun barcha boshqa ta'rif belgilari uchta bo'shliqqa yoki oxirgi ta'rifning chekinishi uchun ishlatiladigan bo'shliqlar soni minus biriga, qaysi raqam kichikroq bo'lsa, chekinishi mumkin. Masalan:

definition term 1 definition term 2
: This is the first line. Since the first non-space characters appears in column 3, all other lines have to be indented 2 spaces (or lazy syntax may
be used after an indented line). This tells kramdown that the lines belong to the definition.
: This is the another definition for the same term. It uses a different number of spaces for indentation which is okay but should generally be avoided.
: The definition marker is indented 3 spaces which is allowed but should also be avoided.

Shunday qilib, yuqorida mumkin bo'lgan va ular uchun ikkita atama va uchta ta'rifdan iborat ta'riflar ro'yxatini yaratgan bo'lsa-da, bir xil ta'riflar ro'yxatida turli xil (ta'rif belgisi va ta'rif) chekinishlarni, shuningdek, dangasa chekinishni ishlatish tavsiya etilmaydi!


Terminning ta'rifi matn va/yoki blok darajasidagi elementlardan iborat. Agar ta'rifdan oldin bo'sh qator bo'lmasa , ta'rifning birinchi qismi faqat matn bo'ladi, agar u xatboshi bo'lsa:

definition term
: This definition will just be text because it would normally be a paragraph and the there is no preceding blank line.

> although the definition contains other block-level elements

: This definition *will* be a paragraph since it is preceded by a blank line.


Har qanday blok darajasidagi elementni ro'yxat elementida birinchi element sifatida ko'rsatish qoidalari ta'rifga ham tegishli.

Boshida aytib o'tilganidek, atama yoki ta'rifga atributlarni qo'llash uchun ixtiyoriy IAL ishlatilishi mumkin:

{:#term} Term with id="term"
: {:.cls} Definition with class "cls"

{:#term1} First term {:#term2} Second term : {:.cls} Definition


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