Na Linux sistemima, alat Pandoc omogućava konverziju između više od 40 različitih formata datoteka. Osim toga, može se koristiti za kreiranje jednostavnog sistema „dokumenti kao kod“. To se postiže pisanjem u Markdown formatu, čuvanjem u Git-u, i objavljivanjem u željenom formatu.
Konverzija dokumenata i pristup „dokumenti kao kod“
Ako imate dokument u bilo kojem od brojnih formata koje Pandoc podržava, prebacivanje u drugi format je vrlo jednostavno. Ovaj alat je izuzetno koristan.
Međutim, prava snaga Pandoca dolazi do izražaja kada ga koristite kao osnovu za sistem „dokumenti kao kod“. Osnovna ideja ovog pristupa je primena tehnika i principa iz razvoja softvera na pisanje dokumentacije, posebno kada je reč o projektima razvoja softvera. Naravno, ovaj pristup možete primeniti na bilo koju vrstu dokumentacije.
Programeri koriste svoje omiljene uređivače ili integrisana razvojna okruženja (IDE) za pisanje programa. Kod koji unose se čuva u tekstualnim datotekama, koje sadrže izvorni kod programa.
Oni koriste sistem za kontrolu verzija (VCS), pri čemu je Git najpopularniji, kako bi pratili sve promene u izvornom kodu. To znači da programer ima kompletnu istoriju svih verzija datoteka sa izvornim kodom. Omogućava im da brzo pristupe bilo kojoj prethodnoj verziji datoteke. Git čuva datoteke u spremištu, koje može biti lokalno na računaru programera ili udaljeno, zajedničko, često smešteno u oblaku.
Kada su spremni da naprave funkcionalnu verziju programa, koriste kompajler koji čita izvorni kod i generiše izvršnu binarnu datoteku.
Kada dokumente pišete u lakom, tekstualnom jeziku za označavanje, možete koristiti VCS za kontrolu verzija. Kada ste spremni da distribuirati ili objavite dokument, Pandoc vam omogućava da generišete različite verzije dokumentacije, uključujući veb stranice (HTML), formate za obradu teksta (LibreOffice, Microsoft Word, TeX), prenosive formate dokumenata (PDF), e-knjige (ePub), i mnoge druge.
Sve ovo se može postići koristeći jedan set lakih tekstualnih datoteka koje su kontrolisane verzijama.
Instalacija Pandoca
Da biste instalirali Pandoc na Ubuntu, koristite sledeću komandu:
sudo apt-get install pandoc
Na Fedora sistemu, koristite sledeću komandu:
sudo dnf install pandoc
Na Manjaro sistemu, ukucajte:
sudo pacman -Syu pandoc
Možete proveriti instaliranu verziju koristeći opciju --version
:
pandoc --version
Korišćenje Pandoca bez datoteka
Ako koristite Pandoc bez opcija u komandnoj liniji, on će prihvatiti i unos koji kucate. Jednostavno pritisnite Ctrl+D da biste označili kraj unosa. Pandoc očekuje da kucate u Markdown formatu i generisaće HTML izlaz.
Pogledajmo primer:
pandoc
Ukucali smo nekoliko linija Markdown teksta i spremamo se da pritisnemo Ctrl+D.
Čim to učinimo, Pandoc generiše ekvivalentan HTML izlaz.
Međutim, da bismo efikasno koristili Pandoc, potrebno je raditi sa datotekama.
Osnove Markdowna
Markdown je jednostavan jezik za označavanje gde određeni znaci imaju posebna značenja. Za kreiranje Markdown datoteke, možete koristiti bilo koji uređivač običnog teksta.
Markdown je lako čitljiv jer ne sadrži vizuelno glomazne oznake koje bi odvlačile pažnju od teksta. Formatiranje u Markdown dokumentima je slično onom koje predstavlja. Ispod su neke od osnova:
Da biste tekst napisali u kurzivu, stavite ga unutar zvezdica. Ovo će biti naglašeno.
Da biste tekst podebljali, koristite dve zvezdice. Ovo će biti podebljano.
Naslovi se označavaju znakom „#“. Tekst je odvojen od znaka razmakom. Koristite jedan „#“ za naslov najvišeg nivoa, dva za drugi nivo, i tako dalje.
Da biste kreirali listu sa nabrajanjem, započnite svaku liniju liste zvezdicom i stavite razmak pre teksta.
Da biste kreirali numerisanu listu, započnite svaku liniju brojem praćenim tačkom, pa stavite razmak pre teksta.
Da biste kreirali hipervezu, stavite tekst veze unutar uglastih zagrada ([]), a URL unutar običnih zagrada (()), na primer: Primer linka.
Da biste umetnuli sliku, stavite uzvičnik ispred uglastih zagrada (![]). Unesite alternativni tekst slike u uglaste zagrade, pa stavite putanju do slike u obične zagrade [()], na primer: .
U narednom delu ćemo dati više primera upotrebe.
Konvertovanje datoteka
Konverzije datoteka su jednostavne. Pandoc obično prepoznaje formate datoteka na osnovu njihovih imena. U ovom primeru, generisaćemo HTML datoteku iz Markdown datoteke. Opcija -o
(izlaz) govori Pandocu naziv datoteke koju želimo da kreiramo:
pandoc -o sample.html sample.md
Naša Markdown datoteka, sample.md
, sadrži kratak odlomak Markdown koda prikazan na slici ispod.
Kreirana je datoteka pod imenom sample.html
. Kada dvaput kliknemo na datoteku, naš podrazumevani pregledač će je otvoriti.
Sada ćemo generisati Open Document Format tekstualni dokument, koji možemo otvoriti u LibreOffice Writer:
pandoc -o sample.odt sample.md
ODT datoteka ima isti sadržaj kao i HTML datoteka.
Korisna stvar je da se alternativni tekst za slike koristi za automatsko generisanje natpisa za sliku.
Definisanje formata datoteka
Opcije -f
(od) i -t
(do) se koriste da bi se Pandocu reklo u koje formate želite da konvertujete. Ovo može biti korisno ako radite sa formatom datoteke koji deli ekstenziju sa drugim sličnim formatima. Na primer, TeX i LaTeX koriste ekstenziju „.tex“.
Takođe koristimo opciju -s
(samostalno) kako bi Pandoc generisao celokupnu LaTeX preambulu, kako bi dokument bio kompletan, samostalan i dobro formiran LaTeX dokument. Bez opcije -s
(samostalno), izlaz bi i dalje bio dobro formiran LaTeX, ali bi se koristio unutar drugog LaTeX dokumenta, a ne kao samostalni dokument.
Ukucavamo sledeću komandu:
pandoc -f markdown -t latex -s -o sample.tex sample.md
Ako otvorite datoteku „sample.tex“ u uređivaču teksta, videćete generisani LaTeX kod. Ako imate LaTeX editor, možete otvoriti TEX datoteku da biste videli pregled kako se LaTeX komande interpretiraju. Smanjenje prozora kako bi stalo na sliku ispod je učinilo ekran skučenim, ali u stvarnosti je sve u redu.
Koristili smo LaTeX editor Texmaker. Ako želite da ga instalirate na Ubuntu, ukucajte:
sudo apt-get install texmaker
Na Fedora, komanda je:
sudo dnf install texmaker
Na Manjaro, koristite:
sudo pacman -Syu texmaker
Konverzija datoteka sa šablonima
Verovatno počinjete da shvatate fleksibilnost koju Pandoc pruža. Možete pisati jednom i objaviti u gotovo svim formatima. To je sjajno, ali dokumenti izgledaju nekako „goli“.
Pomoću šablona možete da diktirate koje stilove će Pandoc koristiti kada generiše dokumente. Na primer, možete reći Pandocu da koristi stilove definisane u CSS datoteci pomoću opcije --css
.
Kreirali smo malu CSS datoteku koja sadrži sledeći kod. On menja razmak iznad i ispod stila zaglavlja prvog nivoa. Takođe menja boju teksta u belu, a boju pozadine u nijansu plave:
h1 { color: #FFFFFF; background-color: #3C33FF; margin-top: 0px; margin-bottom: 1px; }
Kompletna komanda je ispod – imajte na umu da smo koristili i opciju -s
(samostalno):
pandoc -o sample.html -s --css sample.css sample.md
Pandoc koristi jedan stil iz naše minimalne CSS datoteke i primenjuje ga na naslov prvog nivoa.
Još jedna opcija za fino podešavanje koja vam je dostupna kada radite sa HTML datotekama je da uključite HTML tagove u vašu Markdown datoteku. Oni će biti prosleđeni u generisanu HTML datoteku kao standardni HTML tagovi.
Međutim, ovu tehniku treba koristiti samo kada generišete HTML izlaz. Ako radite sa više formata datoteka, Pandoc će ignorisati HTML tagove za datoteke koje nisu HTML i proslediće ih kao tekst.
Takođe možemo definisati koji stilovi se koriste kada se generišu ODT datoteke. Otvorite prazan LibreOffice Writer dokument i prilagodite naslove i stilove fontova kako bi odgovarali vašim potrebama. U našem primeru, dodali smo i zaglavlje i podnožje. Sačuvajte dokument kao „odt-template.odt“.
Sada možemo koristiti ovaj dokument kao šablon pomoću opcije --reference-doc
:
pandoc -o sample.odt --reference-doc=odt-template.odt sample.md
Uporedite ovo sa prethodnim ODT primerom. Ovaj dokument koristi drugačiji font, ima naslove u boji i uključuje zaglavlja i podnožja. Međutim, generisan je iz iste „sample.md“ Markdown datoteke.
Referentni dokument šabloni se mogu koristiti za označavanje različitih faza izrade dokumenta. Na primer, možete imati šablone koji imaju vodene žigove „Nacrt“ ili „Za pregled“. Šablon bez vodenog žiga bi se koristio za finalizovani dokument.
Generisanje PDF dokumenata
Po podrazumevanim postavkama, Pandoc koristi LaTeX PDF mehanizam za generisanje PDF datoteka. Najlakši način da budete sigurni da ste zadovoljili sve LaTeX zavisnosti je da instalirate LaTeX editor, kao što je Texmaker.
Međutim, to je prilično velika instalacija – i TeX i LaTeX su prilično veliki. Ako imate malo prostora na disku, ili znate da nikada nećete koristiti TeX ili LaTeX, možda ćete radije generisati ODT datoteku. Zatim je možete jednostavno otvoriti u LibreOffice Writer-u i sačuvati kao PDF.
Dokumenti kao kod
Postoji nekoliko prednosti korišćenja Markdown-a kao jezika za pisanje:
- Rad u običnim tekstualnim datotekama je brz: učitavaju se brže od tekstualnih procesora slične veličine, a takođe se i brže kreću kroz dokument. Mnogi editori, uključujući gedit, Vim i Emacs, koriste isticanje sintakse za Markdown tekst.
- Imaćete vremensku liniju svih verzija vaših dokumenata: ako svoju dokumentaciju skladištite u VCS, kao što je Git, možete lako videti razlike između bilo koje dve verzije iste datoteke. Međutim, ovo zaista funkcioniše samo kada su datoteke običan tekst, jer to VCS očekuje da radi.
- VCS može da zabeleži ko je izvršio promene i kada: ovo je posebno korisno ako često sarađujete sa drugima na velikim projektima. Takođe, obezbeđuje centralno skladište za same dokumente. Mnoge Git usluge u oblaku, kao što su GitHub, GitLab i Bitbucket, imaju besplatne nivoe u svojim modelima cena.
- Možete generisati svoje dokumente u više formata: pomoću nekoliko jednostavnih skripti, možete izvući stilove iz CSS i referentnih dokumenata. Ako svoje dokumente čuvate u VCS spremištu koje je integrisano sa CI/CD platformama, one se mogu automatski generisati kad god se softver izgradi.
Konačne misli
Postoji mnogo više opcija i funkcija u Pandocu od onoga što smo ovde opisali. Procesi konverzije za većinu tipova datoteka mogu se detaljno podesiti i fino prilagoditi. Da biste saznali više, pogledajte sjajne primere na zvaničnoj Pandoc veb stranici.