Pandokas ir nežinomi stebuklai

Paskutinį kartą Haskellį paminėjau straipsnyje apie XMonadas. Tačiau tai nėra vienintelis nepaprastas dalykas pasaulyje, kurį jums pristatau.

Tikrai visi jau žino Akcijos kainosir jei jų nepateiksiu. Tai lengva žymėjimo kalba, leidžianti būti greitesnė ir produktyvesnė rašant tekstą. Kol kas užteks.

Na, „Markdown“ nėra vienas ir yra daugybė kalbų, atliekančių tą pačią funkciją. Paprastai visi sugalvoja paimti paprastą tekstą su tam tikrais ženklais ir perduoti jį formuojant kaip HTML, „LaTex“ ir kitus. Viskas gerai ten.

Tai kelia keletą problemų. Visų pirma, kai kurie diegimai neturi todas norimų funkcijų. Arba žymėjimo kalba, kuri jau įdiegė tai, kas mums nepatinka.

Ir kol mes nesusigaudome užgaidose, turite pagalvoti ir suvokti, kad yra geresnis sprendimas. Kažkas, kas bet kurią žymėjimo kalbą paverčia kažkuo kitu. Bet kas.

Čia Haskellas patenka į paveikslą. Stebuklas, apie kurį kalbu, egzistuoja, jis gyvas, turi vardą, veikia ir yra nuostabus. Skambina pati pandokas ir tai atėjo iš Berklio universiteto filosofo Johno MacFarlane'o rankos. Laikykis, nes prasideda gėris.

Visi prieš visus

Galėtume tikėtis, kad pandokas pasiūlys vidutiniškai viską, nesusitelkdamas. Bet ne. Tai puikiai dirbta ir pasižymi nuostabiomis funkcijomis.

Kad būtų paprasčiau, bet kokį šaltinio failą perduodate „pandoc“ („Markdown“, „reStructuredText“ ar kituose, kuriuos palaiko pandokas) ir konvertuoja jį į baigtą formatą, pavyzdžiui - ar visi pasiruošę? -

„LaTex“, paprastas HTML, PDF, „DocBook“, „OpenDocument“, „docx“, „rtf“, „man“, paprastas tekstas ir iki trijų skirtingų tipų HTML pristatymų; ir mano sąrašas yra trumpas, labai trumpas. Čia yra schema, iliustruojanti jo galią:

Ir paskutinis, bet ne mažiau svarbus dalykas - tai „Haskell“ biblioteka (arba knygynas, vadinkite tai, ko norite); kurį galima integruoti į kitų programų kodą. Hakylė Tai yra vienas iš labiausiai išnaudojamų, tai yra statinis puslapių generatorius, kurį naudojant pandoc galima paversti nepavojingą „Markdown“ ir kai kuriuos „LaTex“ į grynus HTML.

Čia a svetainių sąrašas kurie jau naudojasi asmenine svetaine tinklaraščio stiliumi.

Ir tai padaryti gana greitai. Net ir turint visus šiuos pranašumus, atrodo, kad jis plečiasi tik anglosaksiškai kalbančiose šalyse ir čia beveik nėra informacijos, tokios kaip - ir skauda - tokio tipo pristatymai. Gal todėl, kad vartotojo instrukcija yra anglų kalba.

Minusai

Žinoma, turi būti. Be palyginti trumpo paplitimo, dauguma leidėjų to visiškai nepalaiko.

Vimas turi sintaksės paryškinimą punktas Pažymėjimas ir dar mažai kas pagal nutylėjimą, todėl mes praleidome kai kuriuos šauniausius dalykus apie pandoką: išplėstą jo sintaksę.

Niekada originaliame „Markdown“ nekelti dalykai, kurie palengvina mūsų gyvenimą, pvz., Lentelės, citatos, išnašos, HTML ir „LaTex“ kode, metaduomenys ir pažangesnės charakteristikos.

Beje, čia Emacas turi pranašumą. Jis turi žymėjimo režimą, kuris suteikia mums sintaksės paryškinimą ir keletą naudingų komandų, tačiau yra Pandoc režimas visavertis, kurio „Vim“ atitikmuo vis dar negali su juo konkuruoti.

Jei vis dar norite jį įtraukti į „Vim“, čia yra sintaksės failas. „Emacs“ turite įdiegti žymėjimo ir „pandoc“ režimus, kaip jau minėta.

Tiesiai prie reikalo

Pandoką atradau ieškodamas „text2tags“ paketo (kitas keitiklis, bet labiau ribotas) en crunchbang ir dabar žinau, kad jis yra debian stabilus su pavadinimu, atspėk ką, pandokas. A tinkamumo diegimas užtenka tam. Bet tuos, kuriuos naudojame „ArchLinux“ pirmiausia turime patirti porą nesėkmių.

Tas priklausomybės pragaras

Pirmas dalykas, apie kurį galvojame, yra „Pacman-S“ pandoko gaminimas. Gerai ne. Oficialiose saugyklose nėra paketo, o AUR neveikia dėl didžiulio jai reikalingų priklausomybių. Jei jau ką nors žinote apie Haskellą, dabar pagalvosite, kad kabala tai išspręs. Ir taip, bet su išlygomis. Norėdami tai padaryti, turite paleisti šiuos veiksmus:

sudo pacman -S ghc cabal-install cabal update cabal install pandoc

Tai turėtų veikti, bet aš nerekomenduoju. Ypač jei norite patekti į Haskello pasaulį, nes tai ateityje atneš jums šiurpių problemų.

Be abejo, keistai skamba skundas dėl „ArchLinux“ ir jo filosofijos, bet man atrodo visiška nesąmonė iš saugyklų pašalinus „haskell-platform“ paketą, kuris suteikė paskutinei aplinkai pakankamai išplėtotą ir suderinami vienas su kitu; kodėl atnaujintas „ghc“ ir „cabal-install“.

Jei norite įdiegti kitus paketus naudodami „cabal“, geriausia atsisiųsti paketus senas ghc ir cabal-install nuo „Arch Rollback Machine“.

Mes juos įdiegiame su paprastu pacman -U paketo kelias ir mes verčiame „Pacman“ juos ignoruoti atnaujindami sistemą faile /etc/pacman.conf; vidinis skyrius IgnoruotiPkg.

Dabar mes galime naudoti „cabal“, kad įdiegtume „pandoc“ ir kad jis veiktų taip, kaip turėtų, šią eilutę įrašėme į .bashrc failą:

eksportuoti PATH = ~ / .cabal / bin: $ PATH

Štai ir viskas. Kažkas iš tolo, bet mes išvengiame problemų. Jei norite pradėti nuo kitų paketų, užuot juos įdiegę vietoje, galite naudoti hsenv sukurti izoliuotą aplinką ir išvengti galvos skausmo diegiant, pavyzdžiui, „Hakyll“.

Kartą perspėju, kad tai siaubinga. Visa tai todėl, kad Haskellas ir Cabalas dar neišsprendė priklausomybės pragaro, kurio jau atsikratė kitos kalbos, pavyzdžiui, „Ruby“ su savo ryšuliu ir brangakmeniais. Bet kokiu atveju, už šį mažą sprendimą esu skolingas Ianas Rossas iš Hakyllo grupės.

Būk kantrus. Tai yra ilgas diegimas, nes jis jį kompiliuoja mums.

Naudojimas ir išvados

Paimate terminalą ir siunčiate tokį užsakymą:

pandoc -o output-file.ext -i originalus-failas.md

Kur „Markdown“ (* .md yra mano naudojamas plėtinys) galima pakeisti bet kokiu kitu formatu, o „.ext“ - bet kuriuo kitu išvestyje esančiu.

Man, kad tai darau praktiškai kiekvieną dieną, man tai labai padėjo, ypač eksportuoti į „OpenDocument“.

Ir ekosistema yra neįtikėtina. Pats „MacFarlane“ sukūrė „Haskell“ wiki, kurį „Pandoc“ naudoja konvertuodamas savo puslapius, bet tai jau kitai istorijai. Beje, šis įrašas buvo išdidžiai parašytas kartu su „Pandoc“, kaip ir dauguma tų, kuriuos rašiau iki šiol,


4 komentarai, palikite savo

Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Atsakingas už duomenis: Miguel Ángel Gatón
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.

  1.   gadi sakė

    Aš taip pat naudoju „Markdown“. Kate ir Gedit gali būti įdiegę papildinį, kad paryškintų sintaksę. Tada, norėdamas konvertuoti jį į ODT, pasirenku „MultiMarkdown“. Tai yra tas, kuris labiausiai, kaip pasakyti, „gerbia tekstą“, kad kopijuojant jį į dokumentą su pastraipų stiliais būtų patogiau. „Pandoc“ man nedavė tų pačių rezultatų, ar bent aš nežinojau, kaip tai padaryti 😛

    1.    kovos sakė

      Galite priversti „Pandoc“ naudoti tik standartinį žymėjimą, įjungdami parinktį –strict; jei tai turi omeny. Tačiau pagrindinis jo pranašumas yra formatų universalumas.
      Rekomenduok tai, nes mažai ką mačiau, kad jie ja naudojasi, man nepakenkė.

  2.   erunamoJAZZ sakė

    Aš naudoju jį pereidamas iš „LaTeX“ į „ReStructuredText“. Jis tai daro labai gerai (dažniausiai xD)

  3.   MSX sakė

    Įdomu, ačiū už pasidalinimą.