使用 pandoc 將 Markdown 轉換為格式化文件
生活在普通文字世界麼?以下是無需使用文書處理器而建立別人要的格式化文件的方法。
如果你生活在普通文字世界裡,總會有人要求你提供格式化文件。我就經常遇到這個問題,特別是在 Day JobTM。雖然我已經給與我合作的開發團隊之一介紹了用於撰寫和審閱發行說明的 Docs Like Code 工作流程,但是還有少數人對 GitHub 和使用 Markdown 沒有興趣,他們更喜歡為特定的專有應用格式化的文件。
好訊息是,你不會被卡在將未格式化的文字複製貼上到文書處理器的問題當中。使用 pandoc,你可以快速地給人們他們想要的東西。讓我們看看如何使用 pandoc 將文件從 Markdown 轉換為 Linux 中的文書處理器格式。
請注意,pandoc 也可用於從兩種 BSD(NetBSD 和 FreeBSD)到 Chrome OS、MacOS 和 Windows 等的各種作業系統。
基本轉換
首先,在你的計算機上安裝 pandoc。然後,開啟控制檯終端視窗,並導航到包含要轉換的檔案的目錄。
輸入此命令以建立 ODT 檔案(可以使用 LibreOffice Writer 或 AbiWord 等字處理器開啟):
pandoc -t odt filename.md -o filename.odt
記得用實際檔名稱替換 filename
。如果你需要為其他文書處理器(你知道我的意思)建立一個檔案,替換命令列的 odt
為 docx
。以下是本文轉換為 ODT 檔案時的內容:
這些轉換結果雖然可用,但有點乏味。讓我們看看如何為轉換後的文件新增更多樣式。
帶樣式轉換
pandoc
有一個漂亮的功能,使你可以在將帶標記的純文字檔案轉換為字處理器格式時指定樣式模板。在此檔案中,你可以編輯文件中的少量樣式,包括控制段落、文章標題和副標題、段落標題、說明、基本的表格和超連結的樣式。
讓我們來看看能做什麼。
建立模板
要設定文件樣式,你不能只是使用任何一個模板就行。你需要生成 pandoc 稱之為引用模板的檔案,這是將文字檔案轉換為文書處理器文件時使用的模板。要建立此檔案,請在終端視窗中鍵入以下內容:
pandoc -o custom-reference.odt --print-default-data-file reference.odt
此命令建立一個名為 custom-reference.odt
的檔案。如果你正在使用其他文書處理程式,請將命令列中的 “odt” 更改為 “docx”。
在 LibreOffice Writer 中開啟模板檔案,然後按 F11
開啟 LibreOffice Writer 的 “樣式” 窗格。雖然 pandoc 手冊建議不要對該檔案進行其他更改,但我會在必要時更改頁面大小並新增頁首和頁尾。
使用模板
那麼,你要如何使用剛剛建立的模板?有兩種方法可以做到這一點。
最簡單的方法是將模板放在家目錄的 .pandoc
資料夾中,如果該資料夾不存在,則必須先建立該資料夾。當轉換文件時,pandoc
會使用此模板檔案。如果你需要多個模板,請參閱下一節瞭解如何從多個模板中進行選擇。
使用模板的另一種方法是在命令列鍵入以下轉換選項:
pandoc -t odt file-name.md --reference-doc=path-to-your-file/reference.odt -o file-name.odt
如果你想知道使用自定義模板轉換後的檔案是什麼樣的,這是一個示例:
選擇模板
很多人只需要一個 pandoc
模板,但是,有些人需要不止一個。
例如,在我的日常工作中,我使用了幾個模板:一個帶有 DRAFT 水印,一個帶有表示內部使用的水印,另一個用於文件的最終版本。每種型別的文件都需要不同的模板。
如果你有類似的需求,可以像使用單個模板一樣建立檔案 custom-reference.odt
,將生成的檔案重新命名為例如 custom-reference-draft.odt
這樣的名字,然後在 LibreOffice Writer 中開啟它並修改樣式。對你需要的每個模板重複此過程。
接下來,將檔案複製到家目錄中。如果你願意,你甚至可以將它們放在 .pandoc
資料夾中。
要在轉換時選擇特定模板,你需要在終端中執行此命令:
pandoc -t odt file-name.md --reference-doc=path-to-your-file/custom-template.odt -o file-name.odt
改變 custom-template.odt
為你的模板檔名。
結語
為了不用記住我不經常使用的一組選項,我拼湊了一些簡單的、非常蹩腳的單行指令碼,這些指令碼封裝了每個模板的選項。例如,我執行指令碼 todraft.sh
以使用帶有 DRAFT 水印的模板建立文書處理器文件。你可能也想要這樣做。
以下是使用包含 DRAFT 水印的模板的指令碼示例:
pandoc -t odt $1.md -o $1.odt --reference-doc=~/Documents/pandoc-templates/custom-reference-draft.odt
使用 pandoc 是一種不必放棄命令列生活而以人們要求的格式提供文件的好方法。此工具也不僅適用於 Markdown。我在本文中討論的內容還可以讓你在各種標記語言之間建立和轉換文件。有關更多詳細資訊,請參閱前面連結的 pandoc 官網。
via: https://opensource.com/article/19/5/convert-markdown-to-word-pandoc
作者:Scott Nesbitt 選題:lujun9972 譯者:wxy 校對:wxy
訂閱“Linux 中國”官方小程式來檢視
相關文章
- C# 將PDF文件轉換為Markdown文件C#
- Java 將Markdown檔案轉換為Word和PDF文件Java
- 在linux中使用 Pandoc 轉換檔案技巧Linux
- 將網頁轉換為Markdown的免費線上轉換工具網頁
- WebToLayers如何將網頁轉換為PSD文件?Web網頁
- 利用vbs指令碼將word文件轉換為pdf指令碼
- MD文件轉幻燈片軟體:Deckset MacOS電腦版Markdown文件無縫轉換為簡報Mac
- ? 掘金小冊 markdown 轉換器 將小冊轉為 md 離線閱讀
- 使用Adobe lifecycle Enterprise Service將word文件轉換成PDF
- 蘋果手機如何將PDF檔案轉換為Word文件蘋果
- 將go的結構定義轉化為markdown 表格(幫助快速生產文件)Go
- Python 將Word/ Exce/ PDF/ PPT文件轉為OFD文件Python
- 將json資料轉換為Python字典將json資料轉換為Python字典JSONPython
- 將HTML字元轉換為DOM節點並動態新增到文件中HTML字元
- go用unioffice轉換word文件為pdfGo
- 使用 SpanMetrics Connector 將 OpenTelemetry 跟蹤轉換為指標指標
- java將IP地址轉換為數字以及逆向轉換Java
- js將秒轉換為時分秒JS
- JavaScript將陣列轉換為字串JavaScript陣列字串
- Java 中將 InputStream 轉換為 StreamJava
- Java 中將 Short 轉換為 byte[]Java
- Thymeleaf將字串轉換為數字字串
- 將WordPress站點轉換為JoomlaOOM
- 如何在MySQL中使用CONVERT將字串轉換為數字MySql字串
- 使用C#,VB和Java將PDF轉換為DOC / DOCXJava
- 怎樣使用typora寫markdown文件
- [工具]Pandoc 使用筆記筆記
- 如何使用預覽將多個影像轉換為單個PDF
- Python將xml格式轉換為json格式PythonXMLJSON
- flink將bathch dataset 轉換為sql操作BATSQL
- JavaScript將物件轉換為JSON格式字串JavaScript物件JSON字串
- eval()將JSON格式字串轉換為物件JSON字串物件
- PHP 將數字轉換為漢字PHP
- transqlate:將任何SQL轉換為PostgreSQL方言SQL
- 如何將文字轉換為向量?(方法二)
- 如何將文字轉換為向量?(方法三)
- Java中將 Map 轉換為 Spring MultiValueMapJavaSpring
- 如何將CentOS 8轉換為CentOS StreamCentOS