Szövegek terminálban? Hogyan lehet egy szöveget megjeleníteni terminálos üzemben? Cat! Első és jogos válasz ez szokott lenni. Bár a cat egy nagyon jó program, de van egy nagy hibája: fekete-fehér. Ami a legtöbbször nem jelent gondot, de a jobb olvashatóság miatt a kódoknál már igen. A másik hiba, hogy nem veszi figyelembe a formázást, azaz valóban csak a nyers szöveget mutatja.
Ezekkel együtt lehet élni, de már van jobb megoldás is a szöveg megjelenítése témában.
Az egyik megoldás logikusan, ha a megfelelő szöveget az arra rendelt speciális programmal jelenítettjük meg. Ez járható út, a legtöbb szövegformátumhoz van nagyon jó és működő betekintő program. Ennél feltételként említhetjük meg, hogy kell mindegyikhez egy program, amit telepíteni kell és nem utolsósorban az sem árt ha fejben tartjuk a nevét.
Ennek az egyik variációja, ha nem a terminálba íratjuk ki a szöveget, hanem egy univerzális (pld. nvim vagy annak valamelyik variációja) szerkesztőben nyitjuk meg. Az nvim nagyon sok formátumot ismer, rengeteg plugin van hozzá!
A másik megoldás már sokkal jobb, gyorsabb:
Egy univerzális program a terminálban
Ebből is van több, így mindenkinek érdemes lesz körbenézni az interneten. Én most egy kisebb programra mutatok rá, amit megkedveltem. Valóban csak rámutatás a cél, mert az összes tudására nem térek ki. Nem csak a szöveg normális megjelenítésére képes, tud szöveget is formázni. Akinek ilyen lehetőség kell a leírást érdemes tanulmányozni. Nekem csak egy funkciója kell: jelenítse meg a szövegeket (forráskód, .md fájl stb.) színesen az terminálban.
A rich-cli alapjai
A program egy python alapra épülő egyszerű kis megoldás. Így a telepítése sem ördöngösség, ha nincs meg valamelyik tárolódban. A python saját telepítőjével fel lehet rakni:
pip3 install rich-cli
Ha nincs fenn a pip megfelelő verziója, akkor a disztribúciódnak megfelelően telepítsd fel! Nem csak most, hanem a későbbiekben is szükség lehet rá.
A telepítés után nekem nem indult el a program, így egy kis hiba javítással kellett kezdenem. Nem a program volt hibás, hanem én… A program a /home/laci/.local/bin útvonalra rakja fel szabályosan a rich állományait. Nekem nem volt benne a PATH-ban. A megoldás egyszerű: bele kell rakni az elérési útvonalba.
Zavaró, ha egy program nem saját könyvtárat hoz létre, hanem csak beszórja a fájlokat a bin-be. A megoldás itt is egyszerű: létrehoztam egy alkönyvtárat és abba pakoltam át mindent. Kicsi munka és rendezettebb lesz a /home/laci/.local/bin.
Bár most kiírta a pip3 normálisan, hogy jó lenne ha ezt megtenném, mert hiba van, de sok esetben nem ellenőrzi le a telepítő, így ha valami nem megy, előbb erre gyanakodjunk.
A rich-cli használata
A megszokott mód előbb a --help kapcsolóval hívjuk meg a főbb paramétereket. Most két egyszerű műveletet használunk csak. Az egyik a szöveg megjelenítése. Ami nem túl meglepő mód:
rich minta.sh
Rögvest kinyomja a tartalmat a terminálba. Látható: faék egyszerűségű az alap használat, a cat helyett a rich a parancs.
rich minta.sh -n -g
Az -n a sorszámozást kapcsolja, a -g a behúzásokat jeleníti meg vonallal. Így már valóban jól néz ki a kimenet.
Elméletileg témázni is lehet a kimenetet, ami a leírás szerint:
rich minta.sh --theme dracula
Nekem ez nem kell, de sokaknak kellemes lehet. Szép, és sok esetben a rendszer témának megfelelő színekkel jön elő így a kimenet. A témát véglegesíteni is lehet, de én nem foglalkoztam ezzel, hiszen egy viszonylag ritkán használt program és már alapból is szép.
Ami ezzel szemben nagyon hasznos a lapozó bekapcsolása. A terminálos kimenetek egyik nagyon zavaró tulajdonsága, ha a sok szöveg egyben jelenik meg, ellapozza az elejét. A lapozó bekapcsolása a --pager -rel történik.
rich minta.sh -n -g --pager
Kellemes lenne a kimenetet valami módszerrel sima html-be menteni, amit egy web-oldalba be is lehet rakni.
rich minta.sh -o minta.html
Így már a formázott és megfelelően színezet html kód rendelkezésedre áll. Itt már van értelme a téma bekapcsolásnak, hogy az oldaladnak megfelelő legyen a színezés.
Kb, ennyi, amit minimum érdemes tudni a rich-cli programról.
A programot 2022. szeptemberében MX Linux alatt próbáltam ki
Hozzászólások
Jópofa cucc, köszi nem
Beküldte kami911 -
Értékelés:
Jópofa cucc, köszi nem ismertem, érdemes volt elolvasni a bejegyzést.