Typora 突然要收費了,原先我用這個工具來將一些用 markdown 寫的文件轉換成 pdf 版本,現在要找個替代方案了。
前言
老實說,軟體業的商業模式真的頗難。前些陣子 HackMD 也是提出了 Prime 方案 1,主打一些免費版沒有的進階功能,但是免不了的那些免費仔還是佔多數 (包括目前覺得那些功能可有可無的我)。Typora 直接將 stable 版本轉成必須付費才能使用,這兩種我個人覺得都各有優缺,畢竟生存下去的才是贏家。不過使用者付費的意識逐漸抬頭,這類情況應該會越來越常發生,請珍惜目前能使用到的免費服務,若能接受這些收費軟體也歡迎付費支持。延伸閱讀: Benson的跨域商業人生 - 開源軟體的商業模式分析 (三)。
由於我個人只是懶得為了轉換成 pdf 而用 word 打文件,所以替代方案算是很容易找。本篇將使用 VSCode 的一款 Extension 來達成 markdown 轉 PDF 的功能。
Markdown in VSCode
VSCode 中編輯 markdown 雖然不能像 Typora 那樣幾乎所見即所得 2,不過能夠及時渲染算是相當堪用。
Convert to PDF
這裡使用的工具是 yzane.markdown-pdf,下載後可以做一些設定 (建議使用 global settings.json,workspace 有時候可以有時候不行) 如下使其產生的檔案跟 github 渲染的結果類似。其中 “markdown-pdf.styles” 所需要的 “github.css” 可以到 tuzz/github.css 拿到,並放在跟 “.md” 同一個路徑。
{
// ... other settings in settings.json
"markdown-pdf.highlightStyle": "./github.css",
"markdown-pdf.breaks": true,
"markdown-pdf.headerTemplate": "<!--<div style=\"font-size: 9px; margin-left: 1cm;\"> <span class='title'></span></div> <div style=\"font-size: 9px; margin-left: auto; margin-right: 1cm; \"> <span class='date'></span></div>-->",
"markdown-pdf.stylesRelativePathFile": true,
"markdown-pdf.styles": [
"./github.css"
]
// ...
}
- breaks: 預設 markdown 要兩個空格才換行,設定成
true
可以在 markdown 換行時就在 pdf 產生換行 - headerTemplate 原先會在每一頁的 header 產生檔名,我的設定把它移除,詳細設定可以參考該工具網站
另外,附上我微調過的 “github.css”,有以下調整:
- Add support for chinese font
- Force the color of single code block e.g.,
x
, to black
轉換時使用 Ctrl-Shift-P
使用 markdown pdf: export (pdf)
注意事項
- 沒有 footnote 功能
- footer 會自動產生頁碼,這點很棒
- 螢光筆標示要從
==XXX==
改成<mark>XXX</mark>
- 強制換頁可以使用
<div class="page"/>
- 網址部分不會自動產生連結,所以
https://aben20807.github.io/
要改成[https://aben20807.github.io/](https://aben20807.github.io/)