Linux 명령줄에서 pandoc을 사용하여 파일을 변환하는 방법
게시 됨: 2022-01-29 Linux에서 pandoc
을 사용하여 40개 이상의 파일 형식 간에 변환할 수 있습니다. Markdown으로 작성하고 git
에 저장하고 지원되는 형식으로 게시하여 간단한 코드로서의 문서 시스템을 만드는 데 사용할 수도 있습니다.
문서 변환 및 코드로서의 문서
pandoc's
지원하는 다양한 파일 형식의 문서가 있는 경우 이를 다른 형식으로 변환하는 것은 간단합니다. 있으면 편리한 도구입니다!
그러나 pandoc
의 진정한 힘은 간단한 docs-as-code 시스템의 기초로 사용할 때 분명해집니다. docs-as-code의 전제는 소프트웨어 개발의 기술과 원칙 중 일부를 채택하고 이를 문서 작성, 특히 소프트웨어 개발 프로젝트에 적용하는 것입니다. 하지만 모든 종류의 문서 개발에 적용할 수 있습니다.
소프트웨어 개발자는 선호하는 편집기 또는 통합 개발 환경(IDE)을 사용하여 프로그램을 작성합니다. 입력한 코드는 텍스트 파일에 저장됩니다. 여기에는 프로그램의 소스 코드가 포함되어 있습니다.
그들은 버전 제어 시스템 또는 VCS(Git이 가장 널리 사용됨)를 사용하여 개발 및 향상되는 소스 코드의 변경 사항을 캡처합니다. 이것은 프로그래머가 소스 코드 파일의 모든 버전에 대한 완전한 기록을 가지고 있음을 의미합니다. 파일의 이전 버전에 빠르게 액세스할 수 있습니다. Git은 파일을 저장소에 저장합니다. 각 개발자의 컴퓨터에는 로컬 리포지토리가 있고 종종 클라우드에서 호스팅되는 중앙 공유 원격 리포지토리가 있습니다.
프로그램의 작동 버전을 생성할 준비가 되면 컴파일러를 사용하여 소스 코드를 읽고 바이너리 실행 파일을 생성합니다.
가벼운 텍스트 기반 마크업 언어로 문서를 작성하면 VCS를 사용하여 작성 버전을 제어할 수 있습니다. 문서를 배포하거나 게시할 준비가 되면 pandoc
을 사용하여 웹 기반(HTML), 워드 프로세서 또는 조판(LibreOffice, Microsoft Word, TeX)을 포함하여 필요한 만큼 다양한 버전의 문서를 생성할 수 있습니다. , PDF(Portable Document Format), e-Book(ePub) 등
버전이 제어되는 가벼운 텍스트 파일 세트에서 이 모든 작업을 수행할 수 있습니다.
판독 설치
Ubuntu에 pandoc
을 설치하려면 다음 명령을 사용하십시오.
sudo apt-get 설치 판독
Fedora에서 필요한 명령은 다음과 같습니다.
sudo dnf 설치 판독
Manjaro에서는 다음을 입력해야 합니다.
sudo pacman - 슈 판독
--version
옵션을 사용하여 설치한 버전을 확인할 수 있습니다.
판독 --버전
파일 없이 pandoc 사용하기
명령줄 옵션 없이 pandoc
을 사용하는 경우 입력된 입력도 수락합니다. Ctrl+D를 누르면 입력이 완료되었음을 나타냅니다. pandoc
은 Markdown 형식으로 입력할 것으로 예상하고 HTML 출력을 생성합니다.
예를 살펴보겠습니다.
판독
Markdown 몇 줄을 입력했고 Ctrl+D를 누르려고 합니다.
그렇게 하는 즉시 pandoc
은 동등한 HTML 출력을 생성합니다.
pandoc
으로 유용한 작업을 수행하려면 실제로 파일을 사용해야 합니다.
마크다운 기본
마크다운은 가벼운 마크업 언어이며 특정 문자에 특별한 의미가 부여됩니다. 일반 텍스트 편집기를 사용하여 Markdown 파일을 만들 수 있습니다.
마크다운은 텍스트에서 주의를 산만하게 하는 시각적으로 번거로운 태그가 없기 때문에 쉽게 읽을 수 있습니다. Markdown 문서의 서식은 해당 문서가 나타내는 서식과 유사합니다. 다음은 몇 가지 기본 사항입니다.
- 기울임꼴로 텍스트를 강조하려면 별표로 묶습니다.
*This will be emphasized*
- 텍스트를 굵게 표시 하려면 별표 두 개를 사용합니다.
**This will be in bold**
- 제목은 숫자 기호/해시 표시(
#
)로 표시됩니다. 텍스트는 공백으로 해시와 구분됩니다. 최상위 표제에는 하나의 해시를 사용하고 두 번째 수준에는 두 개를 사용하는 식입니다. - 글머리 기호 목록을 만들려면 목록의 각 줄을 별표로 시작하고 텍스트 앞에 공백을 삽입합니다.
- 번호 매기기 목록을 만들려면 각 줄을 숫자로 시작하고 마침표를 입력한 다음 텍스트 앞에 공백을 삽입합니다.
- 하이퍼링크를 생성하려면
[Link to How to Geek](https://www.howtogeek.com/)
와 같이 사이트 이름을 대괄호([]
)로 묶고 URL을 괄호 [()
]로 묶습니다. . - 이미지를 삽입하려면 대괄호(
![]
) 바로 앞에 느낌표를 입력합니다. 대괄호 안에 이미지의 대체 텍스트를 입력합니다. 그런 다음 이미지의 경로를 괄호 [()
“]로 묶습니다. 다음은 예입니다:![The Geek](HTG.png)
.
다음 섹션에서 이들 모두에 대한 더 많은 예를 다룰 것입니다.
관련: Markdown이란 무엇이며 어떻게 사용합니까?
파일 변환
파일 변환은 간단합니다. pandoc
은 일반적으로 파일 이름에서 작업 중인 파일 형식을 알아낼 수 있습니다. 여기에서는 Markdown 파일에서 HTML 파일을 생성할 것입니다. -o
(출력) 옵션은 pandoc
에 생성하려는 파일의 이름을 알려줍니다.
pandoc -o sample.html sample.md
샘플 Markdown 파일 sample.md에는 아래 이미지에 표시된 Markdown의 짧은 섹션이 포함되어 있습니다.
sample.html이라는 파일이 생성됩니다. 파일을 두 번 클릭하면 기본 브라우저에서 파일을 엽니다.
이제 LibreOffice Writer에서 열 수 있는 Open Document Format 텍스트 문서를 생성해 보겠습니다.
판독 -o sample.odt sample.md
ODT 파일은 HTML 파일과 동일한 내용을 가지고 있습니다.
깔끔한 터치는 그림에 대한 캡션을 자동으로 생성하는 데에도 사용되는 이미지의 대체 텍스트입니다.
파일 형식 지정
-f
(from) 및 -t
(to) 옵션은 변환하려는 파일 형식을 pandoc
에 알려주는 데 사용됩니다. 이는 다른 관련 형식과 파일 확장자를 공유하는 파일 형식으로 작업하는 경우에 유용할 수 있습니다. 예를 들어, TeX와 LaTeX는 모두 ".tex" 확장자를 사용합니다.
또한 -s
(독립 실행형) 옵션을 사용하므로 pandoc
은 문서가 완전하고 자체 포함되며 올바른 형식의 LaTeX 문서가 되는 데 필요한 모든 LaTeX 프리앰블을 생성합니다. -s
(독립 실행형) 옵션이 없으면 출력은 여전히 다른 LaTeX 문서에 삽입될 수 있는 올바른 형식의 LaTeX이며 독립 실행형 LaTeX 문서로 제대로 구문 분석되지 않습니다.
다음을 입력합니다.
pandoc -f 마크다운 -t 라텍스 -s -o sample.tex sample.md
텍스트 편집기에서 "sample.tex" 파일을 열면 생성된 LaTeX를 볼 수 있습니다. LaTeX 편집기가 있는 경우 TEX 파일을 열어 LaTeX 조판 명령이 어떻게 해석되는지 미리 볼 수 있습니다. 아래 이미지에 맞게 창을 축소하면 디스플레이가 좁아보이지만 실제로는 괜찮았습니다.
Texmaker라는 LaTeX 편집기를 사용했습니다. Ubuntu에 설치하려면 다음을 입력하십시오.
sudo apt-get 설치 texmaker
Fedora에서 명령은 다음과 같습니다.
sudo dnf 설치 texmaker
만자로에서는 다음을 사용합니다.
sudo pacman - 슈텍스메이커
템플릿으로 파일 변환
당신은 아마도 pandoc
이 제공하는 유연성을 이해하기 시작했을 것입니다. 한 번 작성하고 거의 모든 형식으로 게시할 수 있습니다. 그것은 대단한 위업이지만 문서는 약간 바닐라처럼 보입니다.
템플릿을 사용하면 pandoc
이 문서를 생성할 때 사용하는 스타일을 지정할 수 있습니다. 예를 들어 --css
옵션을 사용하여 CSS(Cascading Style Sheets) 파일에 정의된 스타일을 사용하도록 pandoc
에 지시할 수 있습니다.
아래 텍스트가 포함된 작은 CSS 파일을 만들었습니다. 레벨 헤더 위와 아래의 간격을 한 스타일로 변경합니다. 또한 텍스트 색상을 흰색으로 변경하고 배경 색상을 파란색 음영으로 변경합니다.
h1 { 색상: #FFFFFF; 배경색: #3C33FF; 여백 상단: 0px; 여백-하단: 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"로 저장합니다.
이제 --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, GitLab 및 BitBucket과 같은 많은 클라우드 호스팅 Git 서비스에는 가격 모델에 프리 티어가 있습니다.
- 여러 형식으로 문서를 생성할 수 있습니다. 몇 가지 간단한 셸 스크립트를 사용하여 CSS 및 참조 문서에서 스타일을 가져올 수 있습니다. CI/CD(지속적 통합 및 지속적 배포) 플랫폼과 통합되는 VCS 저장소에 문서를 저장하면 소프트웨어가 구축될 때마다 문서가 자동으로 생성될 수 있습니다.
관련 : GitHub 란 무엇이며 무엇을 위해 사용됩니까?
마지막 생각들
pandoc에는 여기에서 다룬 것보다 더 많은 옵션과 기능이 있습니다. 대부분의 파일 형식에 대한 변환 프로세스를 조정하고 미세 조정할 수 있습니다. 더 자세히 알아보려면 공식(매우 상세한) pandoc 웹 페이지에서 훌륭한 예를 확인하십시오.
리눅스 명령어 | ||
파일 | tar · pv · cat · tac · chmod · grep · diff · sed · ar · man · pushd · popd · fsck · testdisk · seq · fd · pandoc · cd · $PATH · awk · join · jq · fold · uniq · journalctl · tail · stat · ls · fstab · echo · less · chgrp · chown · rev · 보기 · 문자열 · 유형 · 이름 바꾸기 · zip · 압축 풀기 · 마운트 · 언마운트 · 설치 · fdisk · mkfs · rm · rmdir · rsync · df · gpg · vi · nano · mkdir · du · ln · 패치 · 변환 · rclone · 파쇄 · srm | |
프로세스 | alias · screen · top · nice · renice · progress · strace · systemd · tmux · chsh · history · at · batch · free · which · dmesg · chfn · usermod · ps · chroot · xargs · tty · pinky · lsof · vmstat · timeout · wall · yes · kill · sleep · sudo · su · time · groupadd · usermod · groups · lshw · 종료 · 재부팅 · 정지 · poweroff · passwd · lscpu · crontab · 날짜 · bg · fg | |
네트워킹 | netstat · ping · traceroute · ip · ss · whois · fail2ban · bmon · dig · finger · nmap · ftp · curl · wget · who · whoami · w · iptables · ssh-keygen · ufw |
관련: 개발자 및 열광자를 위한 최고의 Linux 노트북