20 éves a Pandoc, a univerzális dokumentumkonverter

enlightened Ez az oldal a közösségért készül. heart Kövess minket máshol is:  Linux Mint Magyar Közösség a Mastodon-on  Telegram csatorna – csak hírek  Beszélgessünk a Telegram – Linux csevegő csoport  Hírek olvasása RSS segítségével  Linux Mint Hivatalos Magyar Közösség a Facebook-on      Linux Mint Baráti Kör a Facebook-on
wink Ha hasznosnak találod, és szeretnéd, hogy folytatódjon, támogasd a munkát Ko-fi vagy Paypal segítségével. laugh

kami911 képe

A Pandoc nevű nyílt forráskódú eszköz, amelyet széles körben használnak dokumentumok különféle jelölőnyelvek közötti, illetve kiadási formátumokba történő átalakítására, most ünnepli 20. születésnapját.

Az első verzió 2006. augusztus 3-án jelent meg, GPL licenc alatt. A Pandoc 0.1 nagyjából 3000 sor Haskell kódból állt, és képes volt a dokumentumokat Markdown, reStructuredText, HTML és LaTeX formátumok között átalakítani, valamint RTF és S5 kimenetet előállítani.

Ahogy ez a nyílt forráskódú világban gyakran történik, a Haskell elsajátítására szánt személyes projektből idővel a nyelv egyik legismertebb alkalmazása lett.

Bár sokan egyszerűen dokumentumkonverterként emlegetik, a Pandoc valójában programozható dokumentumfeldolgozó rendszer. Olyan olvasómodulokat tartalmaz, amelyek a bemeneti formátumokat egy közös absztrakt szintaxisfára alakítják, és írómodulokat, amelyek ebből a belső reprezentációból állítják elő a kívánt kimeneti formátumot.

A Pandoc moduláris architektúrája miatt nem kell minden lehetséges formátumpárhoz külön konvertert készíteni; ha egy formátumhoz elkészült egy olvasó és egy író, akkor az már számos különböző átalakítási kombinációban részt vehet. Emellett a felhasználók egyedi szűrőkkel és a beépített Lua szkripttámogatással módosíthatják a köztes dokumentum szerkezetét.

A szoftver ma már rengeteg jelölőnyelvet, szövegszerkesztő-, tudományos, prezentációs és kiadási formátumot támogat, például Markdown, HTML, LaTeX, DOCX, ODT, EPUB, AsciiDoc, reStructuredText, Org Mode, Typst, Jupyter Notebook, PowerPoint, DocBook, JATS, valamint több wiki- és bibliográfiai formátum is használható vele.

A projekt jócskán túllépett az egyszerű szövegkonverzión. A Pandoc képes hivatkozásokat és irodalomjegyzéket előállítani, matematikai kifejezéseket kezelni, sablonokat és referencia-dokumentumokat használni, prezentációkat és elektronikus könyveket készíteni, így automatizált kiadási folyamatok alapjául is szolgálhat.

A projektet létrehozó MacFarlane szerint az elmúlt húsz évben több mint 200 Pandoc kiadás jelent meg, a négy fő csomag pedig ma már több mint 85 000 sor Haskell kódot tartalmaz, a teszteket nem számítva. Több mint 600 ember járult hozzá a projekthez, és 7346 GitHub problémát kezeltek.

A legutóbbi, 3.9-es verzió egy fontos új funkciót hozott: lehetővé vált az alkalmazás WebAssembly-re fordítása. Így már egy nagyrészt teljes funkcionalitású változat is futtatható közvetlenül böngészőben, anélkül hogy a dokumentumokat távoli szerverre kellene küldeni.

A cikk kitér az MI debate témájára is. MacFarlane elismeri, hogy a mesterséges intelligencia rendszerek már most is képesek bizonyos dokumentumformátumok között fordítani, de szerinte a Pandocnak továbbra is több fontos előnye van: jóval kevesebb energiát igényel, kiszámítható a kimenete, és megbízhatóbb átalakításokat végez.

Mindezek ellenére jelenleg a Pandoc továbbra is az egyik legsokoldalúbb kiadási eszköz a nyílt forráskódú közösségben. Egyszerre parancssori program és Haskell könyvtár, amely egyetlen strukturált dokumentumot számos formátumba tud átalakítani, például weboldallá vagy kézikönyv-oldallá, Word fájllá, tudományos cikké, prezentációvá vagy elektronikus könyvvé.

A Pandoc történetéről bővebben John MacFarlane hivatalos 20. évfordulós visszatekintésében lehet olvasni, a projekt forráskódja pedig az erre szolgáló hivatalos GitHub tárolóban érhető el.