當前位置:
首頁 > 知識 > 使用 pandoc 將 Markdown 轉換為格式化文檔

使用 pandoc 將 Markdown 轉換為格式化文檔

使用 pandoc 將 Markdown 轉換為格式化文檔


生活在普通文本世界么?以下是無需使用文字處理器而創建別人要的格式化文檔的方法。

-- Scott Nesbitt(作者)

如果你生活在 普通文本 世界裡,總會有人要求你提供格式化文檔。我就經常遇到這個問題,特別是在 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 將 Markdown 轉換為格式化文檔

Basic conversion results with pandoc.

這些轉換結果雖然可用,但有點乏味。讓我們看看如何為轉換後的文檔添加更多樣式。

帶樣式轉換

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 將 Markdown 轉換為格式化文檔

A document converted using a pandoc style templat


選擇模板

很多人只需要一個 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

本文由 LCTT 原創編譯, Linux中國 榮譽推出


點擊「了解更多」可訪問文內鏈接

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Linux技術 的精彩文章:

幫助你駕馭 Kubernetes 的 4 個工具
管理你的 shell 環境

TAG:Linux技術 |