Kutawala Orodha za Markdown: Viwango vya Nafasi vya CommonMark & GitHub Flavored Markdown (GFM)
Msingi wa Kiufundi wa Uonyeshaji wa Orodha za Markdown
Markdown imejithibitisha kama lugha iliyosawazishwa ya alama kwa nyaraka za kisasa za programu, nyaraka za vipimo vya kiufundi, hifadhidata za maarifa ya kibinafsi, na mawasiliano ya wasanidi programu. Ingawa orodha za alama za ngazi moja (- item) na orodha za nambari (1. item) zinaonekana kuwa rahisi, kuunda miongozo ya nyaraka zenye ngazi nyingi zilizoingiliana huleta changamoto kubwa za upangaji. Visambaza msimbo mbalimbali vya Markdown—kama vile CommonMark, GitHub Flavored Markdown (GFM), Python-Markdown, na Pandoc—vinasisitiza sheria kali na za kina kuhusu uchaguzi wa alama za orodha, uwiano wa tab na nafasi, na nafasi za vitalu vya ndani.
Wakati orodha zinapobandikwa kutoka kwa wahariri mbalimbali wa maandishi (kama VS Code, Sublime Text, Xcode, Apple Notes, au Microsoft Word), makosa ya siri ya nafasi hutokea. Nafasi moja inayokosekana kwenye kipengele cha ndani inasababisha mkusanyaji wa Markdown kutafsiri ngazi ya ndani kama kipengele cha juu au aya iliyojitegemea. Zana ya Utiliome ya Nested List & Indentation Formatter inaondoa makosa haya kwa kuchambua muundo wa AST (Abstract Syntax Tree) wa maandishi yako na kuunda upya Markdown inayofuata viwango rasmi.
Sheria za Nafasi: Mwongozo wa Nafasi 2 dhidi ya Nafasi 4
Moja ya mijadala ya mara kwa mara katika usanifu wa nyaraka za kiufundi ni iwapo tutumie nafasi 2 au nafasi 4 kwa kila ngazi ya orodha ya ndani. Chaguo linategemea muundo wa kisambaza msimbo wa Markdown unaolengwa:
Sheria ya Nafasi 2 (Kiwango cha GFM & Prettier): Katika miundo ya kisasa ya nyaraka za web kama GitHub, Docusaurus, Nextra, na Obsidian, nafasi 2 kwa kila ngazi ya nafasi ni kiwango kinachotambulika. Muundo wa nafasi 2 unapatanisha maudhui ya ndani chini ya mwanzo wa maandishi ya kipengele cha juu:
- Kipengele cha ngazi ya juu 1 - Kipengele cha ndani 1.1 - Kipengele cha ndani 1.2 - Kipengele cha ndani kabisa 1.2.1 - Kipengele cha ngazi ya juu 2Sheria ya Nafasi 4 (CommonMark Thabiti & Python-Markdown): Utekelezaji thabiti wa CommonMark unahitaji vitalu vya ndani, vipande vya msimbo, na orodha za ndani ndani ya orodha za nambari viwekewe nafasi 4 (au Tab 1 kamili) ili kuhakikisha muundo sahihi wa kitalu cha juu:
1. Hatua ya kwanza ya nambari katika mchakato - Nukta ya ndani inayohusiana A - Nukta ya ndani inayohusiana B 2. Hatua ya pili ya nambari katika mchakatoMitego ya Tab dhidi ya Nafasi (Space): Kuchanganya alama za Tab (
\t) na alama za nafasi za ASCII (\x20) ndiyo chanzo kuu cha kuharibika kwa uonyeshaji wa nyaraka za Markdown. Injini za uonyeshaji wa web zitatafsiri tab kwa njia isiyo thabiti (mara nyingi kama safu 4 au 8), na kusababisha vitu vya ndani kuhama mpangilio unaoonekana. Utiliome inabadilisha kiotomatiki alama zote za tab kuwa mfuatano wa nafasi thabiti kulingana na mipangilio yako.
Kusawazisha Alama za Orodha na Urekebishaji wa Mfuatano wa Nambari
Markdown inaunga mkono alama tatu tofauti kwa orodha zisizo na nambari: alama ya kiungo (-), nyota (*), na alama ya kujumlisha (+). Ingawa zote tatu zinatengeneza vipengele halali vya HTML vya orodha (<ul>), kuchanganya aina za alama ndani ya hati moja kunaleta vurugu za kiutazamaji na kufeli ukaguzi wa kiotomatiki wa linter (kama sheria ya markdownlint MD004).
Zaidi ya hayo, mpangilio wa nambari za orodha mara nyingi unaharibika wakati wa urekebishaji. Waandishi mara nyingi hubandika vitu katikati ya mfuatano wa nambari au kutegemea mfuatano wa 1. unaoongezeka kiotomatiki:
<!-- Maandishi Yasiyopangwa / Yaliyoharibika -->
* Kipengele A
- Kipengele B
+ Kipengele C
1. Hatua ya kwanza
1. Hatua ya pili (iliyokopiwa kutoka rasimu)
4. Hatua iliyokosea mpangilio
Kipangishi cha Utiliome kinasawazisha alama zote za orodha zisizo na nambari kuwa alama moja uliyochagua (mfano, kubadilisha kila kipengele kuwa -) na kupanga upya mfuatano wa nambari kwa mlolongo sahihi (1., 2., 3.) au kuzisawazisha kuwa tarakimu moja (1., 1., 1.) kulingana na miongozo ya timu yako.