Linux 명령줄에서 pandoc을 사용하여 파일을 변환하는 방법

Linux에서 pandoc을 사용하여 40개 이상의 파일 형식 간에 변환할 수 있습니다. Markdown으로 작성하고 git에 저장하고 지원되는 형식으로 게시하여 간단한 코드로서의 문서 시스템을 만드는 데 사용할 수도 있습니다.

문서 변환 및 코드로서의 문서

pandoc의 문서가 있는 경우 많은 지원 파일 형식, 다른 것으로 변환하는 것은 간단합니다. 있으면 편리한 도구입니다!

그러나 pandoc의 진정한 힘은 간단한 docs-as-code 시스템의 기초로 사용할 때 분명해집니다. docs-as-code의 전제는 소프트웨어 개발의 기술과 원칙 중 일부를 채택하고 이를 문서 작성, 특히 소프트웨어 개발 프로젝트에 적용하는 것입니다. 하지만 모든 종류의 문서 개발에 적용할 수 있습니다.

소프트웨어 개발자는 선호하는 편집기를 사용하거나 통합 개발 환경 (IDE) 프로그램을 작성합니다. 입력한 코드는 텍스트 파일에 저장됩니다. 여기에는 다음이 포함됩니다. 소스 코드 프로그램을 위해.

그들은 사용 버전 관리 시스템, 또는 VCS(힘내 가장 많이 사용됨), 소스 코드가 개발 및 향상됨에 따라 변경 사항을 캡처합니다. 이것은 프로그래머가 소스 코드 파일의 모든 버전에 대한 완전한 기록을 가지고 있음을 의미합니다. 파일의 이전 버전에 빠르게 액세스할 수 있습니다. Git은 파일을 저장소에 저장합니다. 각 개발자의 컴퓨터에는 로컬 리포지토리가 있고 종종 클라우드에서 호스팅되는 중앙 공유 원격 리포지토리가 있습니다.

프로그램의 작동 버전을 생성할 준비가 되면 다음을 사용합니다. 컴파일러 소스 코드를 읽고 바이너리 실행 파일을 생성합니다.

가벼운 텍스트 기반 마크업 언어로 문서를 작성하면 VCS를 사용하여 작성 버전을 제어할 수 있습니다. 문서를 배포하거나 게시할 준비가 되면 pandoc을 사용하여 웹 기반(HTML), 워드 프로세서 또는 조판(리브레오피스, 마이크로 소프트 워드, 텍스), 휴대용 문서 형식(PDF), 전자책(ePub), 등등.

버전이 제어되는 가벼운 텍스트 파일 세트에서 이 모든 작업을 수행할 수 있습니다.

판독 설치

Ubuntu에 pandoc을 설치하려면 다음 명령을 사용하십시오.

sudo apt-get install pandoc

Fedora에서 필요한 명령은 다음과 같습니다.

sudo dnf install pandoc

Manjaro에서는 다음을 입력해야 합니다.

sudo pacman -Syu pandoc

–version 옵션을 사용하여 설치한 버전을 확인할 수 있습니다.

pandoc --version

파일 없이 pandoc 사용하기

명령줄 옵션 없이 pandoc을 사용하는 경우 입력된 입력도 수락합니다. Ctrl+D를 누르면 입력이 완료되었음을 나타냅니다. pandoc은 Markdown 형식으로 입력할 것으로 예상하고 HTML 출력을 생성합니다.

  사용할 최고의 Arch Linux AUR 도우미 앱 5가지

예를 살펴보겠습니다.

pandoc

Markdown 몇 줄을 입력했고 Ctrl+D를 누르려고 합니다.

그렇게 하는 즉시 pandoc은 동등한 HTML 출력을 생성합니다.

하지만 pandoc으로 유용한 작업을 수행하려면 파일을 사용해야 합니다.

마크다운 기본

마크다운은 가벼운 마크업 언어이며 특정 문자에 특별한 의미가 부여됩니다. 일반 텍스트 편집기를 사용하여 Markdown 파일을 만들 수 있습니다.

마크다운은 텍스트에서 주의를 산만하게 하는 시각적으로 번거로운 태그가 없기 때문에 쉽게 읽을 수 있습니다. Markdown 문서의 서식은 해당 문서가 나타내는 서식과 유사합니다. 다음은 몇 가지 기본 사항입니다.

기울임꼴로 텍스트를 강조하려면 별표로 묶습니다. *강조합니다*
텍스트를 굵게 표시하려면 별표 두 개를 사용합니다. **굵게 표시됩니다**
제목은 숫자 기호/해시 표시(#)로 표시됩니다. 텍스트는 공백으로 해시와 구분됩니다. 최상위 표제에는 하나의 해시를 사용하고 두 번째 수준에는 두 개를 사용하는 식입니다.
글머리 기호 목록을 만들려면 목록의 각 줄을 별표로 시작하고 텍스트 앞에 공백을 삽입합니다.
번호 매기기 목록을 만들려면 각 줄을 숫자로 시작하고 마침표를 입력한 다음 텍스트 앞에 공백을 삽입합니다.
하이퍼링크를 만들려면 사이트 이름을 대괄호([]) 및 괄호 안의 URL [()] 이렇게: [Link to How to Geek](https://www.wdzwdz.com/).
이미지를 삽입하려면 대괄호(![]). 대괄호 안에 이미지의 대체 텍스트를 입력합니다. 그런 다음 이미지의 경로를 괄호로 묶습니다. [()“]. 다음은 예입니다. ![The Geek](HTG.png).

다음 섹션에서 이들 모두에 대한 더 많은 예를 다룰 것입니다.

파일 변환

파일 변환은 간단합니다. pandoc은 일반적으로 파일 이름에서 작업 중인 파일 형식을 알아낼 수 있습니다. 여기에서는 Markdown 파일에서 HTML 파일을 생성할 것입니다. -o(출력) 옵션은 pandoc에 생성하려는 파일의 이름을 알려줍니다.

pandoc -o sample.html sample.md

샘플 Markdown 파일 sample.md에는 아래 이미지에 표시된 Markdown의 짧은 섹션이 포함되어 있습니다.

sample.html이라는 파일이 생성됩니다. 파일을 두 번 클릭하면 기본 브라우저에서 파일을 엽니다.

이제 생성해 봅시다. 문서 형식 열기 열 수 있는 텍스트 문서 리브레오피스 라이터:

pandoc -o sample.odt sample.md

ODT 파일은 HTML 파일과 동일한 내용을 가지고 있습니다.

깔끔한 터치는 그림에 대한 캡션을 자동으로 생성하는 데에도 사용되는 이미지의 대체 텍스트입니다.

파일 형식 지정

-f(from) 및 -t(to) 옵션은 변환하려는 파일 형식을 pandoc에 알려주는 데 사용됩니다. 이는 다른 관련 형식과 파일 확장자를 공유하는 파일 형식으로 작업하는 경우에 유용할 수 있습니다. 예를 들어, 텍스, 그리고 유액 둘 다 “.tex” 확장자를 사용합니다.

  Gradio를 사용하여 Linux 데스크탑에서 라디오를 듣는 방법

우리는 또한 -s(독립 실행형) 옵션을 사용하므로 pandoc은 문서가 완전하고 독립적이며 잘 구성된 LaTeX 문서에 필요한 모든 LaTeX 프리앰블을 생성합니다. -s(독립 실행형) 옵션이 없으면 출력은 여전히 ​​다른 LaTeX 문서에 삽입될 수 있는 올바른 형식의 LaTeX이며 독립 실행형 LaTeX 문서로 제대로 구문 분석되지 않습니다.

다음을 입력합니다.

pandoc -f markdown -t latex -s -o sample.tex sample.md

텍스트 편집기에서 “sample.tex” 파일을 열면 생성된 LaTeX를 볼 수 있습니다. LaTeX 편집기가 있는 경우 TEX 파일을 열어 LaTeX 조판 명령이 어떻게 해석되는지 미리 볼 수 있습니다. 아래 이미지에 맞게 창을 축소하면 디스플레이가 좁아보이지만 실제로는 괜찮았습니다.

우리는 LaTeX 편집기를 사용했습니다. 텍스메이커. Ubuntu에 설치하려면 다음을 입력하십시오.

sudo apt-get install texmaker

Fedora에서 명령은 다음과 같습니다.

sudo dnf install texmaker

만자로에서는 다음을 사용합니다.

sudo pacman -Syu texmaker

템플릿으로 파일 변환

아마도 pandoc이 제공하는 유연성을 이해하기 시작했을 것입니다. 한 번만 작성하면 거의 모든 형식으로 게시할 수 있습니다. 그것은 대단한 위업이지만 문서는 약간 바닐라처럼 보입니다.

템플릿을 사용하면 pandoc이 문서를 생성할 때 사용하는 스타일을 지정할 수 있습니다. 예를 들어 pandoc에 정의된 스타일을 사용하도록 지시할 수 있습니다. 계단식 스타일 시트 (CSS) 파일에 –css 옵션을 추가합니다.

아래 텍스트가 포함된 작은 CSS 파일을 만들었습니다. 레벨 헤더 위와 아래의 간격을 한 스타일로 변경합니다. 또한 텍스트 색상을 흰색으로 변경하고 배경 색상을 파란색 음영으로 변경합니다.

h1 {
  color: #FFFFFF;
  background-color: #3C33FF;
  margin-top: 0px;
  margin-bottom: 1px;
}

전체 명령은 다음과 같습니다. 독립 실행형 옵션(-s)도 사용했습니다.

pandoc -o sample.html -s --css sample.css sample.md

pandoc은 미니멀리스트 CSS 파일의 단일 스타일을 사용하여 레벨 1 헤더에 적용합니다.

HTML 파일로 작업할 때 사용할 수 있는 또 다른 미세 조정 옵션은 마크다운 파일에 HTML 마크업을 포함하는 것입니다. 이것은 생성된 HTML 파일에 표준 HTML 마크업으로 전달됩니다.

그러나 이 기술은 HTML 출력만 생성할 때를 위해 예약해야 합니다. 여러 파일 형식으로 작업하는 경우 pandoc은 HTML이 아닌 파일에 대한 HTML 마크업을 무시하고 텍스트로 해당 파일에 전달됩니다.

ODT 파일이 생성될 때 사용되는 스타일도 지정할 수 있습니다. 빈 LibreOffice Writer 문서를 열고 필요에 맞게 제목과 글꼴 스타일을 조정하십시오. 이 예에서는 머리글과 바닥글도 추가했습니다. 문서를 “odt-template.odt”로 저장합니다.

  Linux 서버에서 Kanboard를 작동시키는 방법

이제 –reference-doc 옵션이 있는 템플릿으로 사용할 수 있습니다.

pandoc -o sample.odt --reference-doc=odt-template.odt sample.md

이것을 이전의 ODT 예제와 비교하십시오. 이 문서는 다른 글꼴을 사용하고 색상이 지정된 머리글과 머리글과 바닥글을 포함합니다. 그러나 정확히 동일한 “sample.md” Markdown 파일에서 생성되었습니다.

참조 문서 템플릿은 문서 제작의 여러 단계를 나타내는 데 사용할 수 있습니다. 예를 들어 “초안” 또는 “검토용” 워터마크가 있는 템플릿이 있을 수 있습니다. 워터마크가 없는 템플릿은 최종 문서에 사용됩니다.

PDF 생성

기본적으로 pandoc은 LaTeX PDF 엔진을 사용하여 PDF 파일을 생성합니다. 적절한 LaTeX 종속성이 충족되었는지 확인하는 가장 쉬운 방법은 Texmaker와 같은 LaTeX 편집기를 설치하는 것입니다.

그것은 꽤 큰 설치입니다. Tex와 LaTeX는 둘 다 꽤 무겁습니다. 하드 드라이브 공간이 제한되어 있거나 TeX 또는 LaTeX를 사용하지 않을 것임을 알고 있다면 ODT 파일을 생성하는 것이 좋습니다. 그런 다음 LibreOffice Writer에서 열고 PDF로 저장할 수 있습니다.

코드로서의 문서

Markdown을 쓰기 언어로 사용하면 다음과 같은 몇 가지 이점이 있습니다.

일반 텍스트 파일 작업은 빠릅니다. 비슷한 크기의 워드 프로세서 파일보다 로드 속도가 빠르며 문서 전체를 더 빨리 이동하는 경향도 있습니다. gedit , Vim 및 Emacs를 포함한 많은 편집기는 Markdown 텍스트와 함께 구문 강조 표시를 사용합니다.
문서의 모든 버전에 대한 타임라인이 표시됩니다. Git과 같은 VCS에 문서를 저장하면 동일한 파일의 두 버전 간의 차이점을 쉽게 확인할 수 있습니다. 그러나 이것은 파일이 일반 텍스트인 경우에만 실제로 작동합니다. VCS가 작동할 것으로 기대하는 것이기 때문입니다.
VCS는 누가 변경했는지, 언제 변경했는지 기록할 수 있습니다. 이는 대규모 프로젝트에서 다른 사람들과 자주 공동 작업하는 경우에 특히 유용합니다. 또한 문서 자체에 대한 중앙 저장소를 제공합니다. GitHub와 같은 많은 클라우드 호스팅 Git 서비스, GitLab, 그리고 비트버킷, 가격 모델에 프리 티어가 있습니다.
여러 형식으로 문서를 생성할 수 있습니다. 몇 가지 간단한 셸 스크립트를 사용하여 CSS 및 참조 문서에서 스타일을 가져올 수 있습니다. 다음과 통합되는 VCS 저장소에 문서를 저장하는 경우 지속적 통합 및 지속적 배포 (CI/CD) 플랫폼에서는 소프트웨어가 빌드될 때마다 자동으로 생성될 수 있습니다.

마지막 생각들

더 많은 옵션과 기능이 있습니다. 판독 여기에서 다룬 것보다 대부분의 파일 형식에 대한 변환 프로세스를 조정하고 미세 조정할 수 있습니다. 자세한 내용은 공식(및 매우 상세한)에서 우수한 예를 확인하십시오. 판독 웹페이지.