Kramdown tez, sof Ruby Markdown-superset konvertori


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

Qisqartmalar

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


kramdown qisqartmaga to'liq iborani belgilash uchun sintaksisni taqdim etadi. Matnni yozayotganda, siz hech qanday maxsus ish qilishingiz shart emas. Biroq, qisqartma ta'riflarini qo'shsangiz, matndagi qisqartmalar avtomatik ravishda belgilanadi. Qisqartmalar yopish qavsdan tashqari har qanday belgidan iborat bo'lishi mumkin.

Qisqartma ta'rifi qisqartma uchun to'liq iborani aniqlash uchun ishlatiladi va quyidagi tuzilishga ega:

Yulduzcha va qisqartma kvadrat qavslar ichida, ixtiyoriy ravishda uchta bo'sh joygacha chekinish, keyin ikki nuqta va qisqartmaning toʻliq iborasi bitta qatorga qoʻyiladi (bosh va keyingi boʻshliqlar toʻliq iboradan olib tashlanadi).


Xuddi shu qisqartma uchun keyingi qisqartma ta'riflari oldingilarini bekor qiladi va qisqartma ta'rifini kramdown hujjatida qayerga qo'yishingiz muhim emas. Bo'sh ta'riflarga ham ruxsat beriladi.


Qisqartmalarning ta'riflari mazmunan bo'lmagan blok darajasidagi elementlar bo'lsa-da, qo'shimcha atributlarni belgilash uchun blok IAL'lardan foydalanish mumkin.


Mana bir nechta misollar:

This is some text not written in HTML but in another language!

*[another language]: It's called Markdown

https://kramdown.gettalong.org/syntax.html 25/30
07.05.2023, 19:53 Sintaksis | Kramdown
*[HTML]: HyperTextMarkupLanguage {:.mega-big}

Qisqartirish ta'riflari, bu erda tavsiflangan bo'lsa-da, kontent bo'lmagan blok darajasidagi elementlardir.

Tipografik belgilar

Asl Markdown sintaksisi bu o'zgarishlarni qo'llab-quvvatlamaydi.

kramdown quyidagi oddiy ASCII belgilarini mos keladigan tipografik belgilarga aylantiradi:

---em-tire bo'ladi (bu kabi -)
--chiziqchaga aylanadi (bu kabi -) ...ellipsga aylanadi (shunday ...)
<<chap guillemetga aylanadi (bunday «) - ixtiyoriy keyingi bo'shliq buzilmaydigan bo'shliqqa aylanadi >>to'g'ri guillemetga aylanadi (bu kabi ») - ixtiyoriy etakchi makon buzilmaydigan bo'shliqqa aylanadi


Tahlil qiluvchi oddiy bitta 'va qo'sh tirnoqlarni ""xushbichim tirnoq" bilan almashtiradi. Kramdown qo'shtirnoqlarni noto'g'ri almashtiradigan paytlar bo'lishi mumkin . Agar shunday bo'lsa, shunchaki \'escape\"qo'shtirnoqlarni qo'ying va ular chiroyli so'zlar bilan almashtirilmaydi.

Tarkib bo'lmagan elementlar

Bu bo'limda kramdown hujjatlarida foydalaniladigan mazmundan tashqari elementlar, ya'ni hujjat uchun tarkibni ta'minlamaydigan, lekin blok darajasidagi elementlarni ajratish yoki elementlarga atributlarni biriktirish kabi boshqa maqsadlarga ega bo'lgan elementlar tasvirlangan.


Kontent bo'lmagan uchta blok darajasidagi elementlar bu erda tavsiflanmagan, chunki ular joylashgan joyda yaxshiroq moslashadi:

havola ta'riflari izoh ta'riflari qisqartma ta'rifi

Blokni tugatish belgisi

EOB belgisi standart Markdown sintaksisining bir qismi emas.

End-Of-Block (EOB) belgisi – ^bo‘sh satrdagi birinchi belgi blok darajasidagi element bo‘lib, undan keyin blok darajasidagi element bo‘lsa ham blok darajasidagi elementning oxirini belgilash uchun foydalanish mumkin. ishlatiladi, aks holda davom ettiriladi. Agar tugatish uchun blok darajasidagi element bo'lmasa, EOB belgisi shunchaki e'tiborga olinmaydi.

Ko'pgina kramdown hujjatlarida EOB markerini topa olmaysiz, lekin ba'zida undan istalgan natijalarga erishish uchun foydalanish kerak bo'ladi, aks holda bu mumkin bo'lmaydi. Biroq, uni faqat o'ta zarur hollarda ishlatish kerak!


Misol uchun, quyida sizga ikkita elementdan iborat bitta ro'yxat berilgan:

* list item one

* list item two

EOB markeridan foydalanib, har birida bitta elementdan iborat ikkita ro'yxat yaratishingiz mumkin:

https://kramdown.gettalong.org/syntax.html 26/30
07.05.2023, 19:53 Sintaksis | Kramdown
* list one ^
* list two

Atributlar roʻyxati taʼriflari

Bu sintaksis xususiyati asl Markdown sintaksisining bir qismi emas. Fikr va sintaksis Maruku paketidan keladi.


Bu Maruku -ning blok va span-darajali elementlarga atributlar qo'shish xususiyatini amalga oshirishdir (nomlash ham Maruku-dan olingan). Ushbu blok darajasidagi element keyinroq murojaat qilish mumkin bo'lgan atributlarni aniqlash uchun ishlatiladi. Block Inline Atributlar ro‘yxati blok darajasidagi elementga atributlarni biriktirish uchun, Span Inline Atributlar ro‘yxati esa span darajasidagi elementga atributlarni biriktirish uchun ishlatiladi.


Quyida atributlar roʻyxati taʼriflariga (ALD) baʼzi misollar keltirilgan va undan keyin sintaktik tushuntirish keladi:

{:ref-name: #myid .my-class}
{:other: ref-name #id-of-other title="hallo you"}
{:test: key="value \" with quote" and other='quote brace \}'}

ALD liniyasi quyidagi tuzilishga ega:

chap qavs, ixtiyoriy ravishda oldin uchta bo'sh joy, keyin ikki nuqta, havola nomi va boshqa ikki nuqta,
keyin atribut ta'riflari (ruxsat berilgan belgilar teskari chiziqli yopilish qavslari yoki tashqariga chiqmagan yopish qavslaridan tashqari har qanday belgidir),
so‘ng yopilish qavs va qator oxirigacha ixtiyoriy bo‘shliqlar qo‘yiladi.


Malumot nomi so'z belgisi yoki raqam bilan boshlanishi kerak, ixtiyoriy ravishda keyin boshqa so'z belgilari, raqamlari yoki tire belgilari bo'lishi kerak.

Bir yoki bir nechta bo'sh joy bilan ajratilishi kerak bo'lgan to'rt xil atribut ta'riflari mavjud:

havolalar

Bu haqiqiy havola nomi boʻlishi kerak. U boshqa ALD ga murojaat qilish uchun ishlatiladi, shuning uchun boshqa ALD atributlari ham shu xususiyatga kiradi. Atributlarni yig'ishda mos yozuvlar nomi e'tiborga olinmaydi, agar bu mos yozuvlar nomi bilan atribut ta'riflari ro'yxati mavjud bo'lmasa. Misol uchun, oddiy havola o'xshaydi id.


kalit-qiymat juftliklari

Kalit-qiymat juftligi kalit nomi bilan belgilanadi, u mos yozuvlar nomlari qoidalariga, keyin tenglik belgisiga, so'ngra bitta yoki ikkita tirnoq ichidagi qiymatga rioya qilishi kerak. Qiymat ichidagi qiymat chegaralagichini (bitta yoki qo'sh tirnoq) ishlatishingiz kerak bo'lsa, undan teskari chiziq bilan qochishingiz kerak. Kalit-qiymat juftliklari blok yoki oraliq darajali elementlar uchun ixtiyoriy atributlarni belgilash uchun ishlatilishi mumkin. Masalan, kalit-qiymat juftligi key1="bef \"quoted\" aft"yoki ga o'xshaydi title='This is a title'.

ID nomi

Identifikator nomi xesh va keyin ASCII alifbo belgisi (AZ yoki az) bilan boshlanishi kerak bo'lgan identifikator nomidan, ixtiyoriy ravishda boshqa ASCII belgilar, raqamlar, tire yoki ikki nuqta qo'yish orqali aniqlanadi. Bu kalit-qiymat juftligi uchun qisqa qo'l, id="IDNAME"chunki u tez-tez ishlatiladi. ID nomi blok yoki oraliq darajali elementning noyob identifikatorini belgilaydi. Misol uchun, ID nomi ga o'xshaydi #myid.

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

Sinf nomi nuqta, so'ngra bo'sh joy, nuqta belgisi va xesh belgisidan tashqari har qanday belgini o'z ichiga olishi mumkin bo'lgan sinf nomi yordamida aniqlanadi.


Bu (deyarli, lekin unchalik emas) kalit-qiymat juftligi uchun qisqa qo'ldir #000000">". Deyarli, chunki bu aslida sinf nomi atributning joriy qiymatiga qo'shilishi kerakligini anglatadi class. Quyidagi ALDlarning barchasi ekvivalentdir:

{:id: .cls1 .cls2}
{:id: .cls2}
{:id: .cls2} {:id: #000000"> cls2"}


Sinf nomlari misolidan ko'rinib turibdiki, avvalroq belgilangan atributlar keyinchalik aniqlangan bir xil nomga ega bo'lgan atributlar ustiga yoziladi.

Bundan tashqari, atribut taʼriflari qismida yuqoridagi toʻrt turdan biriga mos kelmaydigan hamma narsa eʼtiborga olinmaydi.


Agar bir xil mos yozuvlar nomiga ega bir nechta ALD mavjud bo'lsa, barcha ALDlarning atribut ta'riflari xuddi bitta ALDda aniqlanganidek qayta ishlanadi.


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