Kramdown tez, sof Ruby Markdown-superset konvertori
Download 258.14 Kb.
|
Sintaksis Kramdown (1)
- Bu sahifa navigatsiya:
- Kod oraligi
Tasvirlar havolalar ishlatadiganga o'xshash sintaksis orqali belgilanishi mumkin. Farqi shundaki, siz birinchi kvadrat qavs oldidan undov belgisini qo'llashingiz kerak va oddiy havolaning havola matni rasm havolasining muqobil matniga aylanadi. Oddiy havolalarda bo'lgani kabi, rasm havolalari ham inline yoki mos yozuvlar uslubida yozilishi mumkin. Masalan: Here comes a ![smiley](../images/smiley.png)! And here ![too](../images/other.png 'Title text'). Or ![here]. With empty alt text ![](see.jpg) Rasmlar uchun havola ta'rifi oddiy havolalar uchun havola ta'rifi bilan bir xil. Qo'shimcha atributlar span va blok IALlar orqali qo'shilishi mumkinligi sababli, masalan, tasvir kengligi va balandligini belgilash mumkin: Here is an inline ![smiley](smiley.png){:height="36px" width="36px"}. And here is a referenced ![smile] [smile]: smile.png {: height="36px" width="36px"} Ta'kidlash Kramdown ikki turdagi urg'uni qo'llab-quvvatlaydi: engil va kuchli urg'u. *Yagona yulduzcha yoki pastki chiziq bilan o'ralgan matn qismlari _engil urg'u berilgan matn sifatida, ikkita yulduzcha yoki pastki chiziq bilan o'ralgan matn qismlari kuchli urg'uli matn sifatida ko'rib chiqiladi. O'rab olingan, boshlang'ich chegaralovchidan keyin bo'sh joy qolmasligi va to'xtatuvchidan oldin bo'sh joy bo'lmasligi kerakligini anglatadi. Mana engil va kuchli urg'u bilan matn uchun misol: *some text* _some text_ **some text** __some text__ Yulduzcha shakli bitta so'z ichida ham ruxsat etiladi: This is un*believe*able! This d_oe_s not work! Matnni ham engil, ham kuchli urg'u bilan belgilash mumkin, ehtimol turli chegaralovchilar yordamida. Biroq, yorug'lik bilan ta'kidlangan matn ichida kuchli yoki yorug'likka kuchli joylash mumkin emas: This is a ***text with light and strong emphasis***. This **is _emphasized_ as well**. This *does _not_ work*. This **does __not__ work either**. Agar bitta yoki ikkita yulduzcha yoki pastki chiziq bo'shliqlar bilan o'ralgan bo'lsa, ular tom ma'noda ishlanadi. Agar siz yulduzcha yoki pastki chiziqning so'zma-so'z ma'nosini majburlamoqchi bo'lsangiz, https://kramdown.gettalong.org/syntax.html 22/30 07.05.2023, 19:53 Sintaksis | Kramdown teskari chiziqdan qochishingiz mumkin: This is a * literal asterisk. These are ** two literal asterisk. As \*are\* these! Kod oralig'i Bu kod bloki elementining oraliq darajasidagi ekvivalenti . Matn qismini orqa belgilar bilan o'rab, kod oralig'i sifatida belgilashingiz mumkin `. Masalan: Use `` tags for this. E'tibor bering, kod oralig'idagi barcha maxsus belgilar to'g'ri ishlanadi. Misol uchun, kod oralig'i HTMLga aylantirilganda, belgilar <, >va &ularning tegishli HTML hamkasblari bilan almashtiriladi. Kod oralig'iga to'g'ridan-to'g'ri teskari belgini qo'shish uchun siz ikki yoki undan ortiq teskari belgini chegaralovchi sifatida ishlatishingiz kerak. Siz boshlanishdan keyin va tugash chegarasidan oldin bitta ixtiyoriy bo'sh joy qo'yishingiz mumkin (bu bo'shliqlar chiqishda ishlatilmaydi). Masalan: Here is a literal `` ` `` backtick. And here is `` `some` `` text (note the two spaces so that one is left in the output!). Bo'shliqlar bilan o'ralgan bitta teskari belgi tom ma'nodagi orqa belgisi sifatida qabul qilinadi. Agar siz teskari belgining so'zma-so'z ma'nosini majburlamoqchi bo'lsangiz, undan qochishingiz mumkin: This is a ` literal backtick. As \`are\` these! Kod bloklarida bo'lgani kabi, IAL yordamida kod oralig'i tilini o'rnatishingiz mumkin : This is a Ruby code fragment `x = Class.new`{:.language-ruby} HTML oraliqlari HTML teglari nafaqat blok darajasida, balki span darajasida ham qo'llanilishi mumkin. Span-darajadagi HTML teglari faqat bitta blok-darajali element ichida ishlatilishi mumkin, bir blok darajasidagi elementda boshlang'ich tegdan va boshqasida yakuniy tegdan foydalanish mumkin emas. E'tibor bering, faqat to'g'ri XHTML qo'llab-quvvatlanadi! />Bu, masalan, o'rniga foydalanish kerak degan ma'noni anglatadi (garchi kramdown iloji bo'lsa, bunday xatolarni tuzatishga harakat qiladi). Odatiy bo'lib, kramdown span HTML teglari ichida kramdown sintaksisini tahlil qiladi. Biroq, bu xatti-harakat variant bilan sozlanishi mumkin parse_span_html. Agar bu ga o'rnatilgan bo'lsa true, HTML oraliqlarida sintaksisni tahlil qilish yoqilgan bo'lsa, ga o'rnatilgan bo'lsa false, tahlil qilish o'chiriladi. Bundan tashqari, atribut yordamida har bir teg asosida sintaksisni tahlil qilishni yoqish/o'chirish mumkin markdown: Agar HTML tegi atributiga ega bo'lsa markdown="0", u holda HTML tegi ichida hech qanday tahlil (HTML span teglarini tahlil qilishdan tashqari) amalga oshirilmaydi. Agar HTML tegida atribut bo'lsa markdown="1", tegning mazmuni span darajasidagi elementlar sifatida tahlil qilinadi. Agar HTML tegi atributiga ega bo'lsa markdown="block", HTML oraliqlari blok darajasidagi elementlarni o'z ichiga olmaydi va atribut e'tiborga olinmasligi sababli ogohlantirish beriladi. Agar HTML tegida atribut bo'lsa markdown="span", tegning mazmuni span darajasidagi elementlar sifatida tahlil qilinadi. https://kramdown.gettalong.org/syntax.html 23/30 07.05.2023, 19:53 Sintaksis | Kramdown Span-darajadagi HTML tegining mazmuni odatda span-darajali elementlar sifatida tahlil qilinadi. Ammo shuni yodda tutingki, shunga o'xshash ba'zi teglar tahlil qilinmaydi, ya'ni ularning mazmuni o'zgartirilmaydi. XML izohlaridan ham foydalanish mumkin (ularning mazmuni tahlil qilinmaydi). Biroq, HTML teglarida bo'lgani kabi, boshi va oxiri bir xil blok darajasidagi elementda paydo bo'lishi kerak. Span-darajadagi XML sharhlari, shuningdek umumiy span-darajadagi HTML va XML teglari oldidan bitta satrda kamida bitta boʻsh joy boʻlmagan belgi boʻlishi kerak, shunda kramdown ularni blok darajasidagi element sifatida emas, balki span-darajali element sifatida toʻgʻri tan oladi. Biroq, barcha span HTML teglari, ya'ni a, em, b, …, (ochish yoki yopish) satr boshida paydo bo'lishi mumkin. To'g'ri joylashtirish va noto'g'ri ishlatilgan so'nggi teglar yoki blok HTML teglari chiqishdan olib tashlanishini ta'minlash uchun yopilmagan span-darajali HTML teglari span-darajali matn oxirida to'g'ri yopiladi: This is This is automatically closed. This is . This is automatically closed. Shuni ham yodda tutingki, HTML span tegidagi bir yoki bir nechta ketma-ket yangi satr belgilari bitta bo'sh joy bilan almashtiriladi, masalan: Link: href="some link">text Link: href="some link">text Izohlar Bu sintaksis xususiyati asl Markdown sintaksisining bir qismi emas. Fikr va sintaksis PHP Markdown Extra paketidan olingan. Kramdowndagi izohlar havola uslubidagi havolalar va havola ta'riflariga o'xshaydi. Izoh belgisini matnning to'g'ri joyiga qo'yishingiz kerak va haqiqiy izoh mazmuni hujjatning istalgan joyida aniqlanishi mumkin. Aniqroq aytganda, izoh belgisini kvadrat qavslar ichiga izoh nomini qo'yish orqali yaratish mumkin. Izoh nomi karet ( ^) bilan boshlanishi kerak, undan keyin so'z belgisi yoki raqam, so'ngra ixtiyoriy ravishda boshqa so'z belgilari, raqamlar yoki tire belgilari qo'yilishi kerak. Masalan: This is some text.[^1]. Other text.[^footnote]. Esda tutingki, izoh belgilaridan havolaning havola matnining bir qismi sifatida foydalanish mumkin emas, chunki bu HTMLda ruxsat etilmagan ichki havolalarga olib keladi. Xuddi shu nomdagi izoh belgilari bir xil izoh ta'rifiga bog'lanadi. Izohning haqiqiy nomi muhim emas, chunki izohlarning raqamlanishi hujjatdagi izoh belgilarining joylashuvi orqali boshqariladi (birinchi topilgan izoh belgisi 1 raqamini, ikkinchi yangi izoh belgisi 2 raqamini oladi va hokazo). . Agar identifikator uchun izoh ta'rifi topilgan bo'lsa, izoh yaratiladi. Aks holda izoh belgisi izoh havolasiga aylantirilmaydi. Shuni ham yodda tutingki, IAL oralig'i orqali o'rnatilgan barcha atributlar izoh belgisi uchun e'tiborga olinmaydi! Izoh ta'rifi izoh mazmunini aniqlash uchun ishlatiladi va quyidagi tuzilishga ega: Izoh nomi kvadrat qavs ichida, ixtiyoriy ravishda uchta bo'sh joygacha chekinish bilan, keyin ikki nuqta va bir yoki bir nechta ixtiyoriy boʻshliq, keyin izoh matni https://kramdown.gettalong.org/syntax.html 24/30 07.05.2023, 19:53 Sintaksis | Kramdown va ixtiyoriy ravishda quyidagi satrlarda standart kod bloklari sintaksisiga rioya qilishi kerak bo'lgan ko'proq matn (etakchi to'rtta bo'sh joy/bitta yorliq tabiiy ravishda matndan olib tashlanadi) Izoh ta'riflari, bu erda tavsiflangan bo'lsa-da, kontent bo'lmagan blok darajasidagi elementlardir. Izohning butun tarkibi blok darajasidagi matn kabi ko'rib chiqiladi va shuning uchun har qanday joriy blok darajasidagi elementni o'z ichiga olishi mumkin (shuningdek, har qanday blok darajasidagi element birinchi element bo'lishi mumkin). Agar siz birinchi element sifatida kod blokiga ega bo'lishni istasangiz, birinchi qatordagi barcha yetakchi bo'shliqlar/yorliqlar olib tashlanganligiga e'tibor bering. Izoh ta'riflarining ba'zi misollari: [^1]: Some *crazy* footnote definition. [^footnote]: > Blockquotes can be in a footnote. as well as code blocks or, naturally, simple paragraphs. [^other-note]: no code block here (spaces are stripped away) [^codeblock-note]: this is now a code block (8 spaces indentation) Kramdown hujjatida izoh ta'rifini qayerga qo'yganingiz muhim emas; barcha havola qilingan izoh ta'riflarining mazmuni kramdown hujjatining oxirida joylashtiriladi. Havola qilinmagan izoh ta'riflari e'tiborga olinmaydi. Agar bir nechta izoh ta'riflari bir xil izoh nomiga ega bo'lsa, barcha izohlar ta'riflari, ammo oxirgisi e'tiborga olinmaydi. Izoh ta'riflari kontent bo'lmagan blok darajasidagi elementlar bo'lsa-da, atributlarni biriktirish uchun blok IAL'lardan foydalanish mumkin. Ushbu atributlardan qanday foydalanish konvertorga bog'liq. Download 258.14 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling