Pandoc dhe mrekullitë e panjohura

Herën e fundit që përmenda Haskell ishte në një artikull rreth XMonad. Sidoqoftë, nuk është e vetmja gjë e shquar në botë që po ju paraqes.

Me siguri të gjithë e dinë tashmë Markdown, dhe nëse nuk i paraqes ato. Isshtë një gjuhë e lehtë e shënjimit që na lejon të jemi më të shpejtë dhe më produktivë kur shkruajmë një tekst. Tani mjaft.

Epo, Markdown nuk është i vetmi dhe ka një mori gjuhësh atje për të kryer të njëjtin funksion. Normalisht të gjithë shkojnë me idenë për të marrë një tekst të thjeshtë me disa shenja dhe për ta kaluar atë për ta formësuar atë si HTML, LaTex dhe të tjerët. Të gjitha mirë deri atje.

Kjo sjell disa probleme. E para dhe më e rëndësishmja, disa implementime nuk i kanë të gjithë tiparet që duam. Ose një gjuhë shënimi që e ka zbatuar tashmë këtë që nuk na pëlqen.

Dhe para se të kapemi nga tekat, duhet të mendoni dhe kuptoni se ekziston një zgjidhje më e mirë. Diçka që e kthen çdo gjuhë të shënjimit në diçka tjetër. Çdokush.

Këtu hyn në fotografi Haskell. Mrekullia për të cilën unë flas ekziston, është e gjallë, ka një emër, funksionon dhe është e mahnitshme. Thirrja në vetvete pandok dhe erdhi nga dora e një filozofi nga Universiteti i Berkeley, John MacFarlane. Mbaje, sepse e mira fillon.

Të gjithë kundër të gjithëve

Ne mund të presim që pandoc të ofrojë mbulim mediokër të gjithçkaje, duke mos u përqendruar. Por jo. Workedshtë punuar në mënyrë të shkëlqyeshme dhe ka funksionalitete të mahnitshme.

Për ta mbajtur atë të thjeshtë, ju kaloni çdo skedar burimi te pandoc (ose në Markdown ose në reStructuredText ose në të tjerët që mbështet pandoc) dhe e shndërron atë në një format të përfunduar, si - a janë të gjithë gati? -

LaTex, HTML i thjeshtë, PDF, DocBook, OpenDocument, docx, rtf, njeri, tekst i thjeshtë dhe deri në tre lloje të ndryshme të prezantimeve HTML; dhe lista ime është e shkurtër, shumë e shkurtër. Këtu është një diagram që ilustron fuqinë e tij:

Dhe e fundit, por jo më pak e rëndësishmja, është një bibliotekë Haskell (ose librari, quajeni si të doni); që mund të integrohen në kodin e programeve të tjera. hakyll Shtë një nga ata që e shfrytëzon më shumë, duke qenë një gjenerator i faqeve statike që, kur përdor pandoc, mund të shndërrohet nga Markdown i padëmshëm dhe disa LaTex në HTML të pastër.

Këtu a lista e faqeve të cilët tashmë e përdorin atë si një faqe personale, në stilin e një blogu.

Dhe është shumë shpejt, për ta përfunduar atë. Dhe edhe me të gjitha këto përparësi, duket se ajo zgjerohet vetëm në vendet anglo-saksone dhe këtu vështirë se ka ndonjë informacion të disponueshëm, të tilla si - dhe dëmton - prezantime të këtij lloji. Ndoshta është për shkak se udhëzuesi i përdorimit është në anglisht.

Kundrat

Sigurisht që duhet të ketë. Përveç përhapjes relativisht të shkurtër, shumica e botuesve nuk e mbështesin plotësisht atë.

Vim ka theksimin e sintaksës para Markdown dhe pak tjetër si parazgjedhje, kështu që ne humbasim disa nga gjërat më interesante në lidhje me pandoc: sintaksën e saj të zgjeruar.

Gjërat e ngritura kurrë në Markdown origjinal dhe që e bëjnë jetën tonë më të lehtë, të tilla si tabela, citime, shënime në fund të faqes, HTML dhe LaTex brenda kodit, meta të dhëna dhe karakteristika më të përparuara.

Nga rruga, Emacs ka një avantazh këtu. Ka një regjim Markdown që na jep theksimin e sintaksës dhe disa komanda të dobishme, por ekziston një modaliteti pandoc i plotë, ekuivalenti i tij Vim ende nuk mund të konkurrojë me të.

Nëse jeni akoma i interesuar ta merrni atë në Vim, këtu është skedari sintaksor. Për emacs ju duhet të instaloni modalitetet e shënjimit dhe pandoc, siç është përmendur tashmë.

Drejt në pikë

Kam zbuluar pandoc kur kërkoja paketën text2tags (një konvertues tjetër por më i kufizuar) en Përtyp dhe tani e di që është në dispozicion në Debian e qëndrueshme me emrin, me mend se çfarë, pandoc. A instalimi i aftësisë mjaft për këtë. Por ato që përdorim ArchLinux së pari duhet të pësojmë disa pengesa.

Ai ferr i varësisë

Gjëja e parë për të cilën mendojmë është të bëjmë një pacman -S pandoc. Epo, jo. Nuk ka asnjë paketë në depot zyrtare dhe AUR nuk funksionon, për shkak të sasisë masive të varësive që kërkon. Nëse tashmë dini diçka për Haskell, tani do të mendoni se kabali do ta zgjidhë atë. Dhe po, por me rezerva. Për ta bërë këtë duhet të ekzekutoni sa vijon:

sudo pacman -S ghc kabal-instalo kabal azhurnim kabal instalo pandoc

Kjo duhet të funksionojë, por unë nuk e rekomandoj atë. Sidomos nëse doni të thelloheni në botën e Haskell, sepse kjo do t'ju sjellë probleme të tmerrshme në të ardhmen.

Me siguri tingëllon e çuditshme të dëgjosh një ankesë në lidhje me ArchLinux dhe filozofinë e tij, por mua më duket një marrëzi e plotë të heqësh paketën e platformës haskell nga depot, e cila siguroi mjedisin e fundit të zhvilluar mjaftueshëm dhe kompatibile me njeri-tjetrin; pse instalimi ghc dhe kabal u azhurnuan.

Nëse dëshironi të instaloni paketa të tjera duke përdorur kabal, është më mirë të shkarkoni paketat i vjetër instalo ghc dhe kabale nga Makinë Rikthimi Harku.

Ne i instalojmë ato me një pacman-U të thjeshtë paketë-rrugë dhe ne bëjmë që pacman t'i injorojë ata kur azhurnon sistemin, në skedarin /etc/pacman.conf; brenda seksionit InjoroPkg.

Tani ne jemi në gjendje të përdorim cabal për të instaluar pandoc dhe që ajo të funksionojë siç duhet, ne e vendosim këtë rresht në skedarin tonë .bashrc:

Rruga e eksportit = ~ / .kabal / shportë: $ PATH

Dhe kjo eshte. Diçka e largët, por ne shmangim problemet. Nëse dëshironi të filloni me paketa të tjera, në vend që t'i instaloni ato në vend, mund t'i përdorni hsenv për të krijuar ambiente të izoluara dhe për të shmangur dhimbjen e kokës në instalimin, për shembull, të Hakyll.

Dhe një herë ju paralajmëroj se është e tmerrshme. E gjithë kjo sepse Haskell dhe Cabal nuk e kanë zgjidhur ende ferrin e varësisë që gjuhët e tjera tashmë e kanë hequr qafe, të tilla si Ruby me Paketën e saj dhe xhevahiret. Gjithsesi, kjo zgjidhje e vogël është për shkak të ian ross të grupit të Hakyll.

Jini të durueshëm. Installshtë një instalim i gjatë, sepse e përpilon atë për ne.

Përdorimi dhe përfundimet

Ju merrni një terminal dhe dërgoni një porosi si kjo:

pandoc -o-dalje-skedar.ext -i origjinal- file.md

Ku Markdown (* .md, është shtrirja që unë përdor) mund të zëvendësohet nga çdo format tjetër dhe .teksti nga cilido tjetër i disponueshëm në dalje.

Për mua, që e bëj këtë praktikisht çdo ditë, më ka ndihmuar shumë, veçanërisht për të eksportuar në OpenDocument.

Dhe ekosistemi është i pabesueshëm. Vetë MacFarlane ka zhvilluar një wiki në Haskell, të cilën Pandoc e përdor për të kthyer faqet e saj, por kjo është për një histori tjetër. Nga rruga, ky post ishte shkruar me krenari me Pandoc, si shumica e atyre që kam shkruar deri më tani,


4 komente, lini tuajën

Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: Miguel Ángel Gatón
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.

  1.   gadi dijo

    Unë gjithashtu përdor Markdown. Kate dhe Gedit mund të kenë të instaluar një shtojcë për të theksuar sintaksën. Pastaj për ta kthyer në ODT unë zgjedh MultiMarkdown, është ai që më së shumti, si ta thuash, "respekton tekstin" në mënyrë që kur ta kopjosh atë në një dokument me stilet e paragrafit të jetë më komod. Pandoc nuk më ka dhënë të njëjtat rezultate, ose të paktën nuk kam ditur ta bëj

    1.    anti dijo

      Ju mund ta bëni Pandoc të marrë vetëm Markdown standard, duke aktivizuar opsionin - strikt; nëse këtë e keni fjalën. Sidoqoftë, përparësia e tij kryesore është shkathtësia midis formateve.
      Duke e rekomanduar, me pak që kam parë që e përdorin, nuk më lëndoi.

  2.   erunamoJAZZ dijo

    Unë e kam përdorur atë për të shkuar nga LaTeX në reStructuredText. Ai e bën atë shumë mirë (shumicën e kohës xD)

  3.   MSX dijo

    Interesante, faleminderit për ndarjen.