Sử dụng Pandoc để dễ dàng chuyển đổi tệp văn bản sang định dạng PDF hoặc sách điện tử
Trong bài viết trước, chúng tôi đã tìm hiểu cách Markdown có thể nhanh chóng giúp bạn tạo mã HTML sạch sẽ được sử dụng trong một trang web hoặc blog. Nhưng điều gì sẽ xảy ra nếu bạn cũng muốn sản xuất một ebook sử dụng cùng một nội dung như bạn có trên web? Trong khi bộ công cụ Markdown được nhắm mục tiêu tạo nội dung web, có một công cụ khác cho phép bạn lấy Markdown và biến nó thành tài liệu OpenOffice / LibreOffice, PDF hoặc thậm chí là sách điện tử phù hợp với Kindle hoặc trình đọc sách điện tử khác - Pandoc.
Cài đặt gói pandoc trên hệ thống Ubuntu đã chết đơn giản với lệnh sau:
sudo apt-get cài đặt pandoc
Sau khi cài đặt, bạn có thể ngay lập tức sử dụng Pandoc thay cho Markdown để tạo HTML bằng lệnh sau:
pandoc -r markdown -w html -o * yourfilename * .html * yourfilename * .md
Cú pháp và cờ như sau:
- “-r” - định dạng đọc
- “-w” - định dạng ghi
- “-o” - tên tệp của đầu ra
Lệnh trên làm là đọc từ một tệp đánh dấu và xuất tệp ở định dạng HTML có cùng tên tệp.
Ví dụ trên sẽ xuất ra tệp ở định dạng HTML, nhưng bạn có thể sử dụng Pandoc để tạo các định dạng khác.
Định dạng văn bản tài liệu mở (ODT)
Nếu bạn cần trao đổi tài liệu của mình với những người sử dụng một bộ phần mềm văn phòng chung chung hơn, chẳng hạn như OpenOffice / LibreOffice hoặc Microsoft Office, bạn có thể chuyển đổi nó sang định dạng ODT bằng Pandoc. Nếu bạn nghĩ rằng bạn sẽ làm điều này thường xuyên, nó hữu ích để thiết lập một mẫu trước. Thứ nhất, tạo một tài liệu đơn giản (chẳng hạn như một tiêu đề và một dòng hoặc hai văn bản) trong Markdown và chuyển nó thành ODT bằng lệnh sau đây:
pandoc -r markdown -w odt -o pandoctemplate.odt * yourfilename * .md
Sau đó, mở tệp “pandoctemplate.odt” trong Open / LibreOffice để thay đổi phông chữ, khoảng cách, lề, v.v ... theo ý thích của bạn. Đảm bảo sử dụng Kiểu để định cấu hình này - một số chi tiết về cách sử dụng kiểu có sẵn tại đây. Khi tài liệu của bạn được thiết lập theo ý thích của bạn, bạn có thể sử dụng nó làm mẫu để tạo tệp ODT từ Markdown trong tương lai bằng cách thêm nó vào lệnh trên:
pandoc -r markdown -w odt --reference-odt = pandoctemplate.odt -o * yourfilename * .odt * yourfilename * .md
Bây giờ khi bạn chuyển đổi một tệp Markdown thành ODT, nó sẽ tự động được định dạng với các kiểu mà bạn đã tạo trước đó. Pandoc cũng hỗ trợ chuyển đổi sang định dạng mới (phiên bản 2007 trở lên) của Microsoft Word với cờ “ --reference-docx=templatefile.docx
“.
Định dạng tài liệu di động (PDF)
Khi tôi cần tạo các tệp PDF từ Markdown, tôi thường chuyển đổi nó thành ODT và sử dụng chức năng Export to PDF của LibreOffice hoặc nếu đó là một nhóm lớn các tệp, tiện ích dòng lệnh “unoconv”. Nếu bạn là người dùng LaTeX và có một số gói được cài đặt (phần này của tài liệu Pandoc mô tả những gì cần thiết), bạn có thể xuất tệp PDF bằng lệnh sau:
pandoc -r markdown -o * yourfilename * .pdf * yourfilename * .md
Lưu ý sự vắng mặt của cờ “-w” trong trường hợp này.
Sách điện tử ePub
Để xuất bản sách điện tử phù hợp với hầu hết các trình đọc điện tử (ePub là định dạng được hầu hết tất cả người đọc xử lý), bạn có thể muốn có một số mục cụ thể cho định dạng đó được chuẩn bị trước. Bao gồm các:
- Biểu định kiểu, được viết bằng CSS, mô tả cách ePub sẽ hiển thị
- Siêu dữ liệu, chẳng hạn như người sáng tạo, mô tả, quyền đối với công việc và ngôn ngữ
- Ảnh bìa
Tuy nhiên, nếu bạn không có, Pandoc sẽ sử dụng một số giá trị mặc định hợp lý. Lệnh sau sẽ chuyển đổi tài liệu Markdown của bạn thành ePub:
pandoc -r markdown -w epub --epub-metadata = * metadatafile * .xml --epub-cover-image = * ảnh bìa * .jpg --epub-stylesheet = * stylesheet * .css -o * yourfilename * .epub * yourfilename * .md
Mẹo đánh dấu bổ sung
Dưới đây là một số mẹo và thủ thuật bổ sung mà tôi sử dụng trong quá trình sử dụng Markdown cho các tác vụ viết của mình:
- Vì đó là văn bản thuần túy, nếu bạn sử dụng DropBox để giữ cho các tệp được đồng bộ giữa các thiết bị, bạn có thể sử dụng trình soạn thảo văn bản tích hợp để tạo hoặc cập nhật các tài liệu Markdown của bạn trên Web. Ngoài ra còn có các trình soạn thảo có sẵn cho Linux (tôi thích ReText rất nhiều) và Android (Tôi đã chuyển đổi giữa Writer, Epistle và trình soạn thảo mã DroidEdit gần đây).
- Ngoài ra, vì đó là văn bản thuần túy, các hệ thống phiên bản đồng thời (chẳng hạn như Subversion) thực hiện công việc tuyệt vời trong việc theo dõi các phiên bản và hiển thị sự khác biệt giữa chúng.
- Khi bạn đã chuyển đổi một vài tài liệu và biết bạn cần những cờ nào cho tất cả các định dạng mà bạn muốn, bạn có thể tạo một kịch bản lệnh shell đơn giản để xuất tất cả chúng cùng một lúc.
Tôi đã tìm thấy Markdown là một cách tuyệt vời để soạn thảo nội dung, trong môi trường "không phân tâm" (hầu hết các trình soạn thảo văn bản thuần túy), hỗ trợ đầu ra cho nhiều định dạng, nhưng không yêu cầu bất kỳ ứng dụng chuyên dụng nào.
Tín dụng hình ảnh: Chụp cận cảnh máy đánh chữ, khái niệm Chương một của Big Kho ảnh.