Szövegek megjelenítése terminálban

Linux tipp
Szövegek megjelenítése terminálban

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 teleíptő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