Pandoc과 알려지지 않은 불가사의

내가 Haskell을 마지막으로 언급 한 것은 엑스모나드. 그러나 내가 당신에게 선물하는 것은 세상에서 유일한 주목할만한 것이 아닙니다.

확실히 모두가 이미 알고 있습니다 인하, 그리고 내가 제시하지 않으면. 텍스트를 작성할 때 더 빠르고 생산성을 높일 수있는 가벼운 마크 업 언어입니다. 지금은 충분합니다.

글쎄, Markdown은 혼자가 아니며 동일한 기능을 수행하기 위해 많은 언어가 있습니다. 일반적으로 모든 사람들은 일부 표시가있는 일반 텍스트를 가져 와서 HTML, LaTex 및 기타 형식으로 전달하는 아이디어를 가지고 있습니다. 거기까지 모두 좋습니다.

이것은 몇 가지 문제를 야기합니다. 첫째, 가장 중요한 것은 일부 구현에는 이런 저런 우리가 원하는 기능. 또는 이미 이것을 구현 한 마크 업 언어는 우리가 좋아하지 않습니다.

그리고 우리가 변덕에 휩싸이기 전에 더 나은 해결책이 있다는 것을 생각하고 깨달아야합니다. 마크 업 언어를 다른 것으로 바꾸는 것. 누군가.

이것이 Haskell이 등장하는 곳입니다. 내가 말하는 경이는 존재하고, 살아 있고, 이름이 있고, 작동하고, 놀랍습니다. 자신을 부르다 Pandoc 버클리 대학교의 철학자 인 John MacFarlane의 손에서 나왔습니다. 좋은 일이 시작 되니 기다려라.

할일 콘트라 할일

집중하지 않음으로써 pandoc이 모든 것을 평범한 범위로 제공 할 것으로 기대할 수 있습니다. 하지만. 그것은 훌륭하게 작동하고 놀라운 기능을 가지고 있습니다.

간단하게 유지하려면 소스 파일을 pandoc에 전달합니다. (Markdown 또는 reStructuredText 또는 pandoc이 지원하는 기타) 완성 된 형식으로 변환합니다.-모두 준비 되었나요?-

LaTex, 일반 HTML, PDF, DocBook, OpenDocument, docx, rtf, man, 일반 텍스트 및 최대 세 가지 유형의 HTML 프레젠테이션 내 목록은 짧고 매우 짧습니다. 다음은 그 힘을 보여주는 다이어그램입니다.

마지막으로 하스켈 도서관 (또는 서점, 원하는대로 부르세요)입니다. 다른 프로그램의 코드에 통합 될 수 있습니다. 하킬 가장 많이 악용되는 것 중 하나이며 pandoc을 사용하면 무해한 Markdown과 일부 LaTex에서 순수한 HTML로 변환 할 수있는 정적 페이지 생성기입니다.

여기에 사이트 목록 블로그 스타일의 개인 사이트로 이미 사용하고 있습니다.

그리고 그것을 끝내는 것은 꽤 빠릅니다. 그리고 이러한 모든 이점에도 불구하고 앵글로색슨 어권 국가에서만 확장되는 것으로 보이며 여기에는 이러한 유형의 프레젠테이션과 같은 정보가 거의 없습니다. 사용 설명서가 영어로되어 있기 때문일 수 있습니다.

단점

물론 있어야합니다. 비교적 짧은 스프레드를 제외하고 대부분의 게시자는이를 완전히 지원하지 않습니다.

Vim에는 구문 강조 기능이 있습니다. 파라 기본적으로 Markdown과 다른 것은 거의 없으므로 pandoc의 가장 멋진 부분 인 확장 구문을 놓칩니다.

원래 Markdown에서는 결코 제기되지 않았으며 코드 내 표, 인용, 각주, HTML 및 LaTex, 메타 데이터 및 고급 특성과 같이 우리의 삶을 더 쉽게 만듭니다.

그건 그렇고, Emacs는 여기에서 이점이 있습니다. 구문 강조와 몇 가지 유용한 명령을 제공하는 Markdown 모드가 있지만 pandoc 모드 본격적인 Vim과 경쟁 할 수 없습니다.

Vim에 여전히 관심이 있다면 여기에 구문 파일이 있습니다. emacs의 경우 이미 언급했듯이 markdown 및 pandoc 모드를 설치해야합니다.

바로 요점

text2tags 패키지를 찾을 때 pandoc을 발견했습니다. (다른 변환기이지만 더 제한적) en 크런치 방 이제 나는 그것이 데비안 이름으로 안정, 무엇을 추측, pandoc. ㅏ 적성 설치 이것에 충분합니다. 하지만 우리가 사용하는 것은 아치 리눅스 먼저 몇 가지 어려움을 겪어야합니다.

그 지옥의 의존성

우리가 가장 먼저 생각하는 것은 pacman -S pandoc을 만드는 것입니다. 음 ... 아니. 공식 저장소에는 패키지가 없으며 AUR의 패키지는 필요한 엄청난 양의 종속성으로 인해 작동하지 않습니다. Haskell에 대해 이미 알고 있다면 이제 cabal이 그것을 해결할 것이라고 생각할 것입니다. 그리고 예, 그러나 예약이 있습니다. 이렇게하려면 다음을 실행해야합니다.

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

이것은 작동하지만 권장하지 않습니다. 특히 Haskell의 세계를 탐구하고 싶다면 미래에 무서운 문제를 가져올 것이기 때문입니다.

분명히 ArchLinux와 그 철학에 대한 불만을 듣는 것은 이상하게 들리지만, 저장소에서 haskell-platform 패키지를 제거하여 마지막 환경을 충분히 개발하고 서로 호환; ghc 및 cabal-install이 업데이트 된 이유.

cabal을 사용하여 다른 패키지를 설치하려면 패키지를 다운로드하는 것이 가장 좋습니다. antiguos ghc 및 cabal-install from 아치 롤백 머신.

간단한 pacman -U로 설치합니다. 패킷 경로 pacman이 시스템을 업데이트 할 때 /etc/pacman.conf 파일에서 무시하도록합니다. 내부 섹션 패키지 무시.

이제 cabal을 사용하여 pandoc을 설치할 수 있으며 제대로 작동하도록 .bashrc 파일에 다음 줄을 넣습니다.

내보내기 경로 = ~ / .cabal / bin : $ PATH

그리고 그게 다야. 어마 어마한 일이지만 우리는 문제를 피합니다. 다른 패키지로 시작하려면 로컬에 설치하는 대신 다음을 사용할 수 있습니다. Hsenv 격리 된 환경을 만들고 Hakyll과 같은 설치로 인한 골칫거리를 피합니다.

그리고 일단 그것이 끔찍하다고 경고하면. 이 모든 것은 Haskell과 Cabal이 번들과 보석이있는 Ruby와 같은 다른 언어가 이미 제거했던 종속성 지옥을 아직 해결하지 못했기 때문입니다. 어쨌든이 작은 해결책은 이안 로스 Hakyll의 그룹의.

인내심을 가지십시오. 우리를 위해 컴파일하기 때문에 긴 설치입니다.

사용 및 결론

터미널을 가져와 다음과 같이 주문을 보냅니다.

pandoc -o output-file.ext -i original-file.md

Markdown (* .md, 내가 사용하는 확장자)은 다른 형식으로 대체 할 수 있으며 .ext는 출력에서 ​​사용 가능한 다른 형식으로 대체 할 수 있습니다.

저에게는이 작업을 거의 매일 수행하므로 특히 OpenDocument로 내보내는 데 많은 도움이되었습니다.

그리고 생태계는 놀랍습니다. MacFarlane은 Pandoc이 페이지를 변환하는 데 사용하는 Haskell에서 위키를 개발했지만 다른 이야기입니다. 그건 그렇고,이 게시물은 지금까지 작성한 대부분의 게시물과 마찬가지로 Pandoc으로 자랑스럽게 작성되었습니다.


기사의 내용은 우리의 원칙을 준수합니다. 편집 윤리. 오류를보고하려면 여기에.

4 코멘트, 당신의 것을 남겨주세요

코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자 : Miguel Ángel Gatón
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.

  1.   가디

    Markdown도 사용합니다. Kate와 Gedit는 구문을 강조하기 위해 플러그인을 설치할 수 있습니다. 그런 다음 ODT로 변환하기 위해 MultiMarkdown을 선택했습니다. "텍스트를 존중"하는 방법이 가장 많으므로 단락 스타일이있는 문서에 복사 할 때 더 편안합니다. Pandoc은 나에게 동일한 결과를주지 않았거나 적어도 나는 그것을하는 방법을 몰랐습니다 😛

    1.    안티

      –strict 옵션을 활성화하여 Pandoc이 표준 Markdown 만 사용하도록 할 수 있습니다. 그것이 당신이 의미하는 것이라면. 그러나 주요 장점은 형식 간의 다양성입니다.
      그들이 그것을 사용하는 것을 내가 본 작은 것과 함께 그것을 추천하십시오, 그것은 나를 해치지 않았습니다.

  2.   에루나모JAZZ

    LaTeX에서 reStructuredText로 이동하는 데 사용했습니다. 그는 그것을 아주 잘합니다 (대부분 xD)

  3.   MSX

    흥미 롭습니다. 공유해 주셔서 감사합니다.