2023. január 2., hétfő

A Markdown egyszerűsített leíró nyelvről (Oktatási célra)

Sok oldalleíró nyelvvel ismerledtünk meg eddig, de most a lustákra gondolunk akik restek tanulni.Természetesen mindehhez fontos, hogy a blogmotoron „tekerjen” az éppen aktuális Markdown PhP verzió, és egy plugin (markup selecter), ami választhatóvá teszi a szerkesztőfelületen a Markdown beviteli formátumot.
Azért felfedezhetünk némi hasonlóságot a html tagakkel vagy a phpval is.
Kedvcsonálónak nézzünk néhány egyszerű beállítást;
Alapvető beállítások
Főcím
Syntaxis:

##Főcím     Minél több az andráskereszt (#), annál kisebb a címsor!
Alcím 1.
Syntaxis:

###Alcím 1.     Minél több az andráskereszt (#), annál kisebb a címsor!
Alcím 2.
Syntaxis:

####Alcím 2.     Minél több az andráskereszt (#), annál kisebb a címsor!
Alcím 3.
Syntaxis:

#####Alcím 3.     Minél több az andráskereszt (#), annál kisebb a címsor!
Vastag betű

Syntaxis:

**Vastag betű**     Két csillag (**), majd egy kis szöveg, azután ismét két csillag (**)
Döntött betű

Syntaxis:

*Döntött betű*     Egy csillag (*), majd egy kis szöveg, azután ismét egy csillag (*)
Sortörés (Html-ben: <br />)

Syntaxis:

A szövegsor után 2 db. space (szóköz), és már kezdődik is egy újabb sor.
Szakasz vagy bekezdéstörés (Html-ben: <p></p>)

Syntaxis:

A szövegsor után 1 db. üres sor, és már kezdődik is egy újabb bekezdés.
Listaelemek
Egyszerű felsorolás:

listaelem1.
listaelem2.
listaelem3.

Syntaxis:

* listaelem1.
* listaelem2.
* listaelem3.

Az első listaelem1 előtt egy üres sort kell hagyni, és az utolsó listaelem3 után is
egy üres sornak kell állnia.
Számozott felsorolás:

listaelem1.
listaelem2.
listaelem3.

Syntaxis:

1. listaelem1.  
2. listaelem2.  
1. listaelem3.  

Az első listaelem1 előtt egy üres sort kell hagyni, és az utolsó listaelem3 után is 
egy üres sornak kell állnia. A számozásnak nem kell folyamatosnak lennie, így
könnyebb cserélni a listaelemeket. Amennyiben egy szám mögött pont van, azt a 
Markdown felsorolásnak fogja tekinteni. Ez az évszámoknál problémás lehet.
Évszámok felsorolása (dátum helyes megjelenítése):

2010. augusztus 19. = első nap,
2010. augusztus 20. = második nap,
2010. augusztus 21. = harmadik nap.


Syntaxis:

2010\. augusztus 19.
2010\. augusztus 20.
2010\. augusztus 21.

Amennyiben az első évszám előtt üres sor áll, és/vagy az utolsó évszám mögött üres sor áll,
akkor a Markdown felsorolásnak tekinti az évszámokat és helytelenül jeleníti meg. Pl.:

1. augusztus 19.
2. augusztus 20.
3. augusztus 21.

Ezért a helyes megjelenítéshez az évszám pontja elé egy (\) jelet kell kitenni.
Linkek megjelenítése
Egyszerű linkek megjelenítése:

https://digiblog.hu

Syntaxis:

<https://digiblog.hu> Az URL-t (webcím) kacsacsőrrel kell „körbezárni.”
Szöveges hivatkozás weboldalra „title” opcióval:

Ugorj a weblapunkra!

Syntaxis:

[Ugorj a weblapunkra!](https://digiblog.hu/ "Ajánlott weblap")
Ez esetben az „Ugorj a weblapunkra!” szöveg jelenik meg a felületen,
amire ráklikkelve a https://digiblog.hu weblapra ugrunk. 
„title” opció: ha a link fölé visszük az egeret, akkor kis buborékban az 
„Ajánlott weblap” felirat jelenik meg.
-----------------------
Syntaxis:

[A Wysiwyg webszerkesztőkről általában](/riportok-a-wysiwyg-webszerkesztokrol-altalaban/)
Az írásunkban linkként a „A Wysiwyg webszerkesztőkről általában” fog megjelenni,
amire ráklikkelve a saját szerverünkön/blogunkon lévő másik cikkre ugorhatunk.
A linket a „/riportok-a-wysiwyg-webszerkesztokrol-altalaban/” relatív útvonallal adtuk meg,
így egy esetleges domain név (digiblog.hu) változtatáskor nem kell akár több száz cikkben
átírnunk a hivatkozásokat.
Képek megjelenítése
Sajnos a Markdown a képkezelést nagyon nehézzé teszi, ezért ez esetben célszerű a legegyszerűbb HTML-kódokat alkalmazni a helyes megjelenítés érdekében. A Markdown előnye, hogy a HTML-kódokat is helyesen kezeli.
Syntaxis:

<p markdown="1">
<div class="kepbalra">
<img src="/wp-content/uploads/2010/08/riportok-a-szamitogep-hat-evtizede.jpg"
    class="kepkeret" title="A számítógép hat évtizede"/>
</div>
**képmegjelenítés balra rendezve** Lorem ipsum ...
</p>


1. képfelirat (középre igazított kép)

Syntaxis:

<p class="kozepre">
<img src="/wp-content/uploads/2010/08/riportok-a-szamitogep-hat-evtizede.jpg"
class="kepkeret" title="A számítógép hat évtizede"/>
</p>
<p markdown="1" class="kozepre">1. képfelirat (**középre igazított kép**)</p>

Syntaxis:

<p markdown="1">
<div class="kepjobbra">
<img src="/wp-content/uploads/2010/08/riportok-a-szamitogep-hat-evtizede.jpg"
    class="kepkeret" title="A számítógép hat évtizede"/>
</div>
**képmegjelenítés balra rendezve** Lorem ipsum ...
</p>
Utószó
Talán feltűnt, hogy a fenti kódrészletekben stílusokat is használtunk pl.: <div class="kepjobbra">. A portáloknál a stílusokat egy helyen definiálják, ez a stíluslapfájl. Az ebben felsorolt stílusok minden oldalon használhatók, ezek révén lesz egységes a honlap minden oldala.

A stíluslap fájlba (.css kiterjesztésű) ezeket a kiegészítéseket rakjátok:

.kepbalra {
  text-align: center;
  float: left;
  padding-right: 10px;
}
.kozepre {
  text-align: center;
}
.kepjobbra {
  text-align: center;
  float: right;
  padding-left: 10px;
}
.kepkeret {
  border: 2px double gray;
}


Markdown Extra
A Markdown Extra egy olyan változat, mely a PHP-ben, Pythonban és Rubyban megvalósított Markdownon alapul. További az eredeti sepcifikációban nem elérhető funkciókkal egészült ki.

Kiegészítő funkciók:

Markdown jelölés a HTML blokkokon belül
elemek id/class atrribútumokkal
elkülönített kód-blokkok
táblázatok
definíciós listák
lábjegyzetek
rövidítések
LiaScript
A LiaScript egy interaktív, oktatási felhasználásra tervezett Elmben és Typescriptben megvalósított Markdown-változat, mely az alábbi funkciókkal egészült ki:

animációk
automatikus beszédkimenet
matematikai képletek (KaTeX használatával)
ASCII művészeti diagramok
különböző kvízek és felmérések
natív JavaScript (JS) támogatás: a JS kódok különféle elemekhez csatolhatóak, így a kódok futtathatók és szerkeszthetőek.

Hol használható?
Az előnye és hátránya előtt érdemes megismerni a főbb felhasználási területeket, így könnyebb lesz értékelni a hasznosságát. Az egyik legismertebb felhasználási
területe a blog és egyéb hasonló webalapú tartalomkészítés. Ez a bejegyzés és az
előzők is markdown formátumban készültek. Nagyon kényelmes, hiszen a html nyelv
az már elég összetett (nem igazán kezdőbarát a sok jelöléssel), a markdown ismeri a főbb formázásokat. A másik felhasználási területe (mivel szövegszerkesztésre készült) a szövegszerkesztés.
Nagyon sok szerkesztő készült már hozzá, illetve sok egyéb program is ezt a
formátumot használja, még ha nem is emeli ki ezt a jellemzőt. Ilyen a Joplin is,
ami egyrészt jegyzetelő, másrészt web tartalom lementő eszköz. Bár
gyakorlatlannak az első időben hihetetlen lehet, de akár könyveket is megírhatsz
markdown formátumban, ha az úgy kényelmes neked. Bárhol használhatod, ahol a
formázási igénynek megfelel a tudása és jellemzően szöveget kell készíteni.

Miért érdemes ezzel foglalkozni?
A markdown nyelv igen egyszerű. Egy tucatot sem éri el azoknak a jelzéseknek a száma, amivel már kihasználhatod a lehetőségeit. Ezeket megtanulni maximum öt perc. Az összetetteknél sem kell sokat agyalni, logikusak, és megjegyezhető a jelzésrendszere. Egy formázási parancs kevesebb és egyszerűbb, mint a html-nél. Itt nincs minden esetben kötelező lezáró jelzés, és a nyitó és záró formázás az ugyanaz.
A markdown kifejezetten gépelés központú, azaz a formázásokhoz nem kell elvenni a kezedet a billentyűről. Ahogy majd a jelöléseknél megbeszéljük, itt pár karakter begépelésével kapjuk meg a formázást. Ez sokkal gyorsabb, mint akár az ikonokat megnyomni, vagy akár gyorsbillentyűket használni.
Van grafikus program is, nagyon sok. Így ha nem szereted a gépelés közbeni formázást és ikonokat nyomni egyszerűbb, akkor használhatsz olyant is. Ahol akár a szövegbe helyezett formázási parancsokkal, akár pedig az ikonok nyomkodásával eléred a célodat. Sokkal könnyebb így a markdown nyelv elsajátítása.
A markdown szöveg sima szöveg, a formázási parancsok a szövegben helyezkednek el. Ami egy emberi szem által is olvasható szöveget ad. Így nem kell semmi speciális (pld. LibreOffice) a szöveg olvashatóvá tételére. Akár egy sima vim is alkalmas lesz bárhol a megjelenítéséhez. Így soha nem lesz problémád, hogy egy régebbi MS doksit az újabbak nem jól jelenítenek meg, vagy éppen be sem olvasnak. Aki már próbált régebbi doksit, olyant, ami valami egzotikus szerkesztővel készült egy mai programba beolvastatni értékeli ezt. Nagyon sok ismert formátumba exportálható. Így nyugodtan írhatom ezt a bejegyzést a gépemen markdown jelöléssel, akár pdf-be exportálva, akár a blogba beillesztve olvasható lesz, és a formázások megmaradnak.
Mivel a markdown nyelv egyszerű, tiszta és hibamentes megjelenítést ad bármelyik területen. Nem fordul elő olyan formázási lehetőség, ami egyedileg, az adott szerkesztő programra lesz jellemző, a másik nem ismeri fel. Ez az alap markdown jelzésekre igaz, mert vannak kiterjesztett megoldások is. De akkor sem krikszkraksz vackok jelennek meg, hanem értelmezhető karakterek a szövegben.
A grafikus szerkesztő programok is tiszta kódot adnak. Ha az egyik nem tetszik, akár menet közben is válthatsz.
Bármelyik szövegszerkesztővel dolgozhatsz. Ez a szöveg nvim alatt készül, de a helyesírást a LibreOffice ellenőrzi majd.
A személyes kedvencem a hordozhatóság.
Nagyon sok egyszerűbb szerkesztőnél, de grafikus programok közt is akad ilyen: a szintaxis kiemelés. Így vizuálisan is látom mi és hogyan van jelölve. Bár nem feltétlen szükséges, de érdemes használni.
A markdown hiányosságai
Bár megfelelő a formázási képessége, de lesznek hiányosságok. Ha a html-lel összehasonlítjuk messze nincs annyi formázási lehetőség.
A markdown nyelv egyszerű, de egy képet már nem annyira egyszerű belerakni a szövegbe – méretezve, pozicionálva.
A markdown alapja
Már szerintem senkinek sem lesz meglepetés, a markdown alapja a folyamatos írás közbeni formázás. Ezért bevezettek fél tucatnyi alap jelzést, ami vezérli a formázást. Ezek logikusan összerakott és gépelés közben (jellemzően angol kiosztásnál) gyorsan elérhető kombinációk. Nem kell attól tartani, hogy véletlenül a normál szövegedet is, vagy rövidítéseket formázási parancsnak vesz. A _ – * # igazán kézreálló billentyű!

Az alap kiemelések
Címsorok jelölése
A markdown a címsorokat # jellel jelöli. Már itt ki kell emelni, hogy a hibás értelmezést elkerülendő fontos a pontos jelölés: itt a címsoroknál a sor elején lévő # jeleket veszi csak és kizárólag figyelembe. A # karakter nem feltétlen a sor legelső karaktere, de előtte csak üres hely lehet. Ami hasonlóan fontos a # sorozat és a címsor neve közt egy üres karakter, space kell. Bár a markdown elég lazán veszik a formalitásokat, van amire figyelni kell! Ez a címsor kiemelés a html h1…h6 sorainak felel meg. Egy # jel az a legmagasabb szint, és ezt követi a ## majd a többi. Ha weboldalra kerül fel, valóban jól érdemes megjelölni a címsor mélységet, mert – mint ahogy látni – van olyan szerkesztő, ami automatikusan legenerál egy tartalomjegyzéket. Ez gyorsítja az olvasást, a megfelelő helyre való ugrást.

Minta:

Főcím h1
Cím h2
Alcím h3
Fejezet h4
Alfejezet h5
Még kisebb alfejezet h6
Ami a markdown alatt így néz ki:

# Főcím h1
## Cím h2
### Alcím h3
#### Fejezet h4
##### Alfejezet h5
###### Még kisebb alfejezet h6

Igen, ez valóban nem bonyolult!

Ha hét # jelet raksz ki, akkor sok esetben főcímként kezeli. Az alcímek mélysége maximum hat lehet, ami bővel elég.
Igen, van más módja is a címek jelzésének.

Az is lehet egy főcím
Illetve ez is:
Ami eredetiben így néz ki:

Az is lehet egy főcím
===============

Illetve ez is:
—-

Nem kell a sort végig írni = vagy – jelekkel, elég, ha párat beírsz.

A hatóköre a formázásnak a sorvége. Azaz a sorvége karakterig (entert ütsz) tart. Logikus, gyors, és nem kell lezáró jelzés, mint a html-nél.

Nem kötelező, mert a markdown ezzel nem törődik, de a kompatibilitás érdekében a fejléc elé és után is írjunk be üres sorokat! Ez azért is hasznos, mert amikor sima szövegszerkesztőben előnézeti kép nélkül szerkesztünk jobban átlátható az íráskép.

Betű formázások
A markdown a szokásos formázásokat ismeri. Itt is érdemes megjegyezni a formai követelményeket, és követni! Bár itt is többféle megoldást is használhatunk, kövessünk egyet.

A kövér szöveget két-két _ vagy * közé kell tenni.

Ez a kövér kiemelés jelzése, de így is írhatod.

Ez a **kövér kiemelés jelzése**, de __így is írhatod__.

Itt fontos a lezáró, dupla jel használata. A hatókör a következő jelig tart.

Hasonlóképp jelöljük a dőlt betűket, de csak egy karakter kerül elé, és mögé.

Ez egy dőlt betű, amit így is jelölhetem, de itt sem kötelező a szóköz.
Ez *egy dőlt betű*, amit _így is jelölhetem_, de itt sem kötelező a szóköz.

Dőlt és kövér jelölése figyelemre méltó nagyon figyelemreméltó egyszerű: a kétfajta jelzést vegyítjük.
__*Dőlt és kövér jelölése*__ figyelemre méltó nagyon figyelemreméltó egyszerű: a kétfajta jelzést vegyítjük.

De megoldható, hogy a * vagy a _ jelet triplán használjuk. Talán ez a jobb gyakorlat!
De ___megoldható___, hogy a * vagy a  jelet triplán használjuk. ***Talán ez a jobb gyakorlat!***

Az áthúzás jele a ~ azaz az AltGr és az 1-es a betűk feletti sorból, kettő ~ kell!

Ezt áthúztam!

~~Ezt áthúztam!~~

A formázásokat kombinálhatjuk, akár egy-egy formázást szó közben is használhatunk.

A formázásokat kombinálhatjuk, akár egy-egy formázást szó k**özba**n is ha***sználhat***unk.

A szöveg formázásnál a sorvég (két space és sima enter ütése) és a paragrafus, azaz bekezdés (üres sor beillesztése) hasonlóan egyszerű. Itt is igaz: van más módszer is, de a fentieket ajánlják a legtöbb helyen.

Egyéb alapformázás
A haladó formázások már nem az alap írásképhez, hanem azon túli eszközökkel foglalkozik. Én csak párat ismertetek, azokat, melyeket használok.

Az első a felsorolás azaz listák. A felsorolás alapesete a “rendezetlen” felsorolás. Itt nincs sorszámozás, csak egy felsorolás jel kerül be. Ahogy a többi is, ez is nagyon gyorsan megoldható, egyszerű és kézreálló.

Első felsorolás
Második felsorolás
harmadik felsorolás
– Első felsorolás
– Második felsorolás
– harmadik felsorolás

Ahogy látni egyszerűen egy – jel kerül a sor elé és már kész is sima felsorolás. Ha egy-egy felsorolásnál behúzásokat is alkalmazhatunk:

Első felsorolás
Első alpont
Második alpont
Második felsorolás
– Első felsorolás
[TAB]- Első alpont
[TAB]- Második alpont
– Második felsorolás

Itt simán egy TAB leütése a sor elején adja az alpontokat. Több mélységet is használhatsz!

Rendezetlen lista létrehozásához kötőjeleket (-), csillagok (*), vagy pluszjelek (+) lehetnek a jelzések.

A rendezett lista, azaz a sorszámozott lista készítése is egyszerű.

Első felsorolás
Második felsorolás
harmadik felsorolás
Azaz simán sorszámozod a felsorolást. Nem kötelező a felsorolást ilyen szépen besorszámozni, elég minden tag elé egy 1. írni.

1. Első felsorolás
1. Második felsorolás
1. harmadik felsorolás

A többi a markdown dolga. Bár ez lehet, hogy nem minden esetben a legjobb, mert egy-egy sorszámot esetleg ki szeretnénk hagyni.
Itt is használhatsz behúzást, szintén a TAB segítségével.

Problémás lehet pld. az évszámok szerepeltetése a felsorolás elején. Ilyenkor a visszaper jelet. a \ (altGr + q) tesszük be.

1990. évben indult el.
3. helyezett lett
Így néz ki markdown nyelven:

– 1990\. évben indult el.
– 3\. helyezett lett

Érdemes tudni: a markdown alatt a visszaper jel a menekülő karakter. Ezzel semlegesítesz egy-egy formázásra kijelölt karakter formázási parancsát. Lehetséges ilyen igény is: _így jelenjen meg_. Amit így kell írni: \_így jelenjen meg\_

Ez az első listaelem.
Íme a lista második eleme.
A második listaelem alá még egy bekezdést kell hozzáadnom.

És itt a harmadik listaelem.
Ez is egyszerű megoldani, mert az első tag után üres sort adunk, majd egy TAB után kezdjük az ide szánt különálló bekezdést.

Mivel én a táblázatok szerkesztésében nem vagyok otthon, így azokról nem ejtek szót.

Elválasztó vonal készítése.

A lehető legkönnyebbé tették. A sor elején el kell kezdeni gépelni a megfelelő karaktereket: *, -, _ és pár már jelzi a markdown számára, hogy ide majd egy elválasztó vonal kell. A kinézete olyan lesz, amilyen (pld. a weboldalon) a beállítás.

A haladóbb megoldások
Ide soroltam a nem hagyományos megoldásokat, melyeket sima szövegeknél ritkán használunk, de blogban, főleg számítástechnikai blogban azért gyakrabban.

Az első, és mindenképp hasznos megoldás az idézet blokk. Ez kiemel egy-egy szövegrész, és attraktívabbá teszi a kinézetet. A megoldás a sor elejére lehelyezett “nagyobb mint” jel, azaz a kacsacsőr. A magyar billentyűzeten a AlrtGr és a y adja.

Egy

Kettő

Három

Gyakran használhatjuk és feldobja a szöveget. Ha üres sort akarunk beilleszteni, akkor ez elé is kell a kacsacsőr!

Itt is van lehetőség behúzásra, beágyazásra, amit a kacsacsőr többszörözésével érünk el.

 

Ez ködszinten így néz ki:

> Egy
>> Kettő
>>> Három
>
> Gyakran használhatjuk és feldobja a szöveget. Ha üres sort akarunk beilleszteni, akkor ez elé is kell a kacsacsőr!
>> Itt is van lehetőség behúzásra, beágyazásra, amit a kacsacsőr többszörözésével érünk el.

Bár első pillanatba elég katyvasz, de a második beillesztett blokk után már nem érti az ember miért is jó, ha ikonokat kell nyomkodni ehhez.

Az idézetek, kiemelt szövegekben bármelyik eddig megismert formázást is beilleszthetjük!

Ez egy felsorolás, amiben az egyik szót még formáztuk is

Első sor
Ez a második, amiben ezt és ezt meg ezt is formáztuk
Itt meg át is húztunk valamit
Ez így néz ki markdown szerkesztőben:

Ez egy felsorolás, amiben az egyik szót még formáztuk is
> – Első sor
> – Ez a második, amiben **ezt** és *ezt* meg ***ezt is*** formáztuk
> – Itt meg ~~át is húztunk valamit~~

Akár itt, akár más ilyen (pld. felsorolás, táblázat) elé és után egy üres sort érdemes tenni. Nem kötelező, de a kód olvasása, vagy a kész alkotás sok esetben szebb lesz.

Számítástechnikai blogokban gyakori a kódok, parancsok kiemelése. Az egyik megoldás a kódok backtick-be  (`)   zárása. Azaz egy parancs így kapja meg a jelölés: `parancs`. Gyors és kényelmes megoldás, A backtick az AltGr + 7 lenyomásával készül a magyar billentyűzeten. Érdemes olyan kiegészítőt, plugint használni, ami automatikusan párosával rakja ki. Így nem marad el a lezáró jel sem.

A hosszabb kódok akár a fenti módszerrel, akár pedig az alábbi megoldással jól kiemelhetőek:

function prev() {
  PREV=$(fc -lrn | head -n 1)
  sh -c "pet new printf %q "$PREV"" } [ -f ~/.fzf.zsh ] && source ~/.fzf.zsh
A sorok elé egy TAB-ot rakunk. Egyes szerkesztőknél van lehetőség a blokkot kijelölni, majd egy lépésben behúzatni vele.

Vannak más, komplexebb megoldások is. Azokra nem térek ki, mert viszonylag ritkán használom.

Link beszúrása markdown dokumentumba.

Duck Duck Go

[Duck Duck Go](https://duckduckgo.com)  formátumban történik. A [] közé a megjelenő nevet, a () közé pedig a linket illesztjük. Bár az fokú elsőfokú pillanatban ez macerásnak tűnik, de akár a kedvenc szövegszerkesztődben alapból elérhető automata kiegészítővel, ami a megadott jeleket párosával írja be, akár pedig erre alkalmas pluginnal gyorsan megoldhatod. Én a más ismertetett autocorrect plugint használtam nvim alatt, ahol a ll karakter sorozathoz rendeltem a []() karakter sorozatot, így a ll lenyomása a link markdown kódját adta ki.

A markdown elég elterjedt nyelv, így több kiterjesztett verziót is találhatunk. Ezek plusz jelöléseket adnak hozzá az alaphoz. A most bemutatott két megoldás nem feltétlen lesz jó mindenhol! Speciális, matematikai, folyamatábra stb. téren hasznos megoldásokkal lehet találkozni egyes erre szakosodott markdown variációkban.

Nagyon kedvelt megoldás a jelölő négyzetek, task listák használata egy-egy dokumentumban.
Erre is van lehetőség Github Flavored Markdown verzióban, amit sok szerkesztő ismer.

Első sor, kipipálva!
Ez még nincs kész.
Ez sincs!
Sejthetem, hogy ennyi olvasás után már nem kell elmondani, mit és hova kell írni. Villámgyorsan tudunk jól kinéző blokkokat készíteni.

– [x] Első sor, kipipálva!
– [ ] Ez még nincs kész.
– [ ] Ez sincs!

A másik kedvelt megoldás a billentyűk kiemelése ilyen módszerrel: ctrl+c. Itt a ‘{}’ jelek közé kell tenni a megfelelő szöveget. Ezt sem egyszerű begépelni magyar kiosztásnál, így ez is kapott egy autocorrect iabbrev bejegyzést.
Bár elvileg ez a billentyűk kiemelésre szolgál, hasznos lehet szöveg kiemelésénél is.

Ahogy láthattátok maga a lapleíró nyelv nem igazán bonyolult, pár jelzéssel oldja meg a feladatát. Ami nem azt jelenti, hogy nem kell begyakorolni! Érdemes kialakítani a saját írásmódunkat, mit és hogyan tudunk a legkényelmesebben megoldani.

Nvim és a markdown
Az nvim már ismert, most a kedvencem is. Így át kellett gondolni a nvim és a markdown kapcsolatát. Ami két feladatból áll:

Szintaxis kiemelést meg kell oldani
A realtime, azonnali előnézet kialakítása
Itt is, mint az nvim-nél nem a megoldás nehéz, hanem a bőség zavara okoz problémát. Nagyon sok plugin van ezekhez a feladatokhoz. Így mindenki nézzen körbe, hogy neki mi a megfelelő! Én figyelemre méltó nagyon figyelemreméltó szubjektíven választottam, a kiválasztott markdown pluginok lehetőségeinek csak kis részét használom.

Markdown szintaxis kiemelés, és még egy kis plusz
Alapesetben bármelyik általános szintaxis kiemelő jó. Ismeri és kiemeli a jelölt szavakat.
Ha például a Plyglot plugint használod majd mindegyik szintaxishoz jó beállítást kapsz. Így én ezt használtam, majd tértem át a erre a pluginra.
A telepítése az általad választott mód történik, ami nem okozhat gondot.

A miért pont ez kérdése már összetettebb. Nagyon szubjektíven két megoldását kedveltem meg.

Az egyik a kódkiemelés/elrejtés.

A kód szintaxis kiemelése itt beállítástól függően más és más lesz. Alapesetben a kiemelés a megszokott módszerrel történik, a jeleket, és a szöveget szépen megjeleníti. Ahogy a többi is. A set conceallevel= beállítás változtatásával jön a trükk! A beállítástól függően a jelzések eltűnnek, és csak a formázott szöveg marad meg.
Azaz a **vastagított** kép helyett a vastagított látszik. Amikor a sorra lép a kurzor ezt a rejtést feloldja, látni lehet a vezérlő karaktereket. Ez átláthatóbbá teszi a képet és biztosítja, hogy nem ütöttem el semmi formázást.



Nem kell kiemelnem, hiszen természetes: az nvim terminálos program, így csak azokat tudja így elrejteni, amiket meg is tud jeleníteni!

Kis kísérletezés után már kényelmes lesz. Érdemes lesz az egész erre vonatkozó leírást áttanulmányozni, mert az alapvető elrejtésen kívül egyes kiegészítőkre is adhatunk rejtési beállítást.

A másik lehetőség, ami megfogott a fold megoldás professzionális kezelése.

A címszavaknál a mélységének megfelelően elrejti a szöveget, majd ha kell kinyitja a “harmonikát”. Itt a leírás elején lévő billentyű parancsokat érdemes átolvasni!
Be lehet állítani melyik cím mélységig legyen a hajtogatás, elég jól tesztre szabható a dolog.

Miért is kell ez nekem? Ha normálisan összeállítottam a fejezetcímeket, alfejezet címeket és már elég sokat fel is töltöttem, akkor elég nagy lesz a doksi. Abban navigálni nehézkes, megnyitáskor azt a fejezetet megkeresni, amit szerkeszteni akarok. Ha csak a címek, fejezet fejlécek láthatóak, akkor hamar megtaláljuk a kellő részt és csak azt görgetjük le.


Szuper megoldás!

A plugin sokkal többet tud, de én ezeket használom. A leírás, a help példákkal, beállításokkal segíti a jó konfigurálást.

Előnézeti kép lehetősége
Az elején nem árt, ha látjuk is mit szerkesztünk. Ezt biztosítja az előnézeti képet adó plugin. Ideális, ha mindenféle egyéb teendő nélkül realtime generálja le az előnézetet a megszokott böngésződben. Erre sokféle plugin létezik, én egy egyszerűt választottam.
A plugin itt található. A telepítése két lépésből áll. Az első  az előnézetet generáló eszköz telepítése. Ha többféle szerkesztőt is használsz, akkor ez a megoldás ideális, mert ennek van egyéb szerkesztőhöz is modulja.
A npm install -g livedown parancs lefutása után már a megszokott mód telepítheted a modult. A modul aktiválása után már kész a működésre. Gyakorlatilag három paranccsal vezérled.

A :LivedownPreview bekapcsolja a működést, amivel elindul a böngésződ és ott látod a kimeneti képet. A szerkesztés így kényelmes lesz. Nagyon kényelmes! A :LivedownKill parancs kikapcsolja. Ez a kettő gyakorlatilag az, amit én csak az első próba alkalmával használtam.
:LivedownToggle toggle, azaz váltókapcsoló sokkal hasznosabb. Ha készítesz egy gyorsbillentyűt hozzá, akkor ki- és bekapcsolás egy gombbal történik. Így az amúgy kezes megoldás már mindent tud, amit kell.



Itt a realtime annyit tesz, hogy amikor mented a doksit (:w) akkor jelenik meg a mentett, szerkesztett kép a böngészőben.

Grafikus megoldások
Grafikus szerkesztőknek két irányvonala van. Az egyiket most elfelejtjük, mert a webes felületeket nem igazán vizsgáltam. Ezek nagyon jók pár sor, vagy egy oldal megszerkesztéséhez, esetleg gyakorláshoz. De annak nincs versenytársa, amikor kiválasztasz, telepítesz és beállogatsz egy programot. Közel egy tucat nagyon figyelemreméltó, jó markdown szerkesztő található, érdemes végignézni mindegyiket. Én itt is egy szubjektív döntést hoztam a bemutatáshoz. Egy ismérvet kiemelten vizsgáltam: appimage is legyen. Ez nem kifejezetten a markdown téma, de próbálgatni, tesztelni így könnyebb, gyorsabb.

Egy egyszerű, de jó markdown szerkesztő
A választásom egy egyszerű, de hasznos eszközre esett, ami figyelemre méltó nagyon figyelemreméltó sok kimeneti formát ismer: PamWriter , ami nem a legelterjedtebb, legismertebb. Érdemes a leírását elolvasni, de a menük böngészésével is sokat megtudhatunk. Az egyik kellemes tulajdonsága a ki/be kapcsolható előnézet. Így ha írunk valamit nézhetjük is a kész anyagot, de akár zavartalan módba is átkapcsolhatunk. Ez a zavartalan mód egyre elterjedtebb. Itt kikapcsolunk minden olyan felületet, ikonsor stb. ami elterelhetné a figyelmünket. A fájl menüben a megszokott tételek mellet érdemes az export sort megtekinteni. Itt a lehető legtöbb kimeneti formátum közül választhatsz. Így jó esélyed van arra, hogy nem kell más exportáló, konvertáló programot keresni.
Ami más nem megszokott, a clipboad-ra való exportálás. Itt kiemelném a sima szövegként való vágólapra mentést. Ilyenkor a markdown karaktereit eltüntetve sima szöveget kapunk, ami bármely más programba gond nélkül beilleszthető.

A Format, azaz formázás pont első körben hiányosnak tűnik, mert csak három formázási lehetőséget ad. Ez volt az egyik olyan pont, ami miatt ezt választottam. Nincs túl nagy értelme úgy tanulni a markdown nyelvet, hogy közben ott van a formázási ikon és azt nyomkodja az ember, vagy a menübe keresgéli a megfelelő formázást.
A markdown leíró nyelv alap használata törekszik a logikus, egyszerű formázásokra. Ezt a kényelmet és a folyamatos írási lehetőséget vesztem el, ha az ikonokat nyomkodom, vagy a menüben keresgélek.
A View már érdekesebb. Itt a kinézetet állítjuk, ki/be kapcsolhatjuk az előnézetet. Haladóbbaknak, akik különféle egyéb dolgokat is szeretnek látni a Developer Tools is hasznos lehet.
Itt még a F11 lehet fontos: zavartalan írási képet ad, az egész monitoros megoldással.

Ennyi? Igen. Itt figyelemre méltó nagyon figyelemreméltó kevés extra funkciót kapunk, a LibreOffice és hasonló megoldásokhoz képest szerénynek tűnő kinézettel. A markdown nagy előnye, hogy nem kell hozzá más csak a saját tudásunk, amivel gyorsan, gépelés közben formázhatunk.

Összefoglalva
A mardown egy lapleíró nyelv, ami a hordozhatóság és a folyamatos írást helyezi előtérbe.Az emberi szem számára olvasható kimenete miatt az így készült dokumentumokat minden szövegszerkesztőben olvasni tudjuk.
A szerkesztő program gyakorlatilag a legegyszerűbb is lehet (ilyen pld a vim, nvim), de kényelemért pár beépülőt megnéztünk. Aki ennél grafikusabbat szeretne, ajánlottam egy grafikust is, ami (hasonlóan sok egyébhez!) appimage formában is leérhető. Így telepítés nélkül is kipróbálhatod, és nem vagy kitéve annak, hogy a disztribútorod mit tesz bele a tárolóidba!
Bár jelenleg a Linux témában keresgéltünk megoldásokat, hasomlóképp a Windows, és Mac rendszerek alatt is használható alternatívákat kapunk.
Sokakban felmerülhet a kérdés: ha ilyen sima, egyszerű és a fenti tulajdonságoknak eleget tevő formátumot akarunk, akkor a egyszerű szöveg miért nem jó? Mert ott nincs formázás! Bár teljesen hodrozható és majdnem bármilyen szerkesztővel szerkeszthető, de ha a kimenetnek formásnak kell lenni, akkor a txt nem felel meg.

1 megjegyzés:

  1. Gratula! Remek összefoglaló! Hozzátenném, hogy a fejlesztők Mekkája, a github.com index fájlja, a "README.md" is markdown alapú. Mindenképpen ajánlanám a most ismerkedőknek az alábbi weboldalakat: https://markdownlivepreview.com/ (online szerkesztő) és https://www.markdownguide.org/cheat-sheet/ (Cheat Sheet fájl).

    VálaszTörlés