一行程式碼讓純文本編輯器秒變 Markdown 編輯器

  • 2020 年 3 月 12 日
  • 筆記

轉自機器之心

只要你有純文本編輯器,加上一條語句,瞬間它就可以成為 Markdown 編輯器。

Markdeep 是一個用來寫純文本的插件,它能以 Markdown 的語法與渲染方式純文本,並在網頁上展示。同時,除了 Markdown 語法,Markdeep 還額外支援圖表、數學方程等擴展能力。

項目主頁:https://casual-effects.com/markdeep/

我們先看看效果,如下左邊是純文本編輯器的編輯頁面,右邊是在瀏覽器上的渲染效果:

Markdeep 非常容易使用,它也不需要安裝插件或聯網。如上所示只要在純文本最後加上「<!—Markdeep→」那一行的表達式,它就可以變成一個地道的 Markdown 編輯器。Markdeep 不需要額外安裝任何東西,也不需要導出、編譯等雜七雜八的過程。

看著 Markdeep 很簡單,但它的功能卻不少,一點也不遜色於 Typora 等正統的 Markdown 編輯器。不論我們是寫項目的 README 文檔、實驗報告,還是要做 PPT 或寫論文,它都能滿足。該項目提供了很多示例,例如生成的 PPT 是什麼樣的,後文會具體展示。

開源程式碼

Markdeep 是開源的,所以可以直接下載和修改源程式碼文件 markdeep.js。整個編輯器就是一個 JavaScript 腳本,上面定義了各種格式與渲染方式。作者表示,目前他正研究該如何有效降低腳本文件大小。

用於表格處理的部分程式碼,整個腳本有超過 5000 行程式碼。

腳本源碼地址:https://casual-effects.com/markdeep/latest/markdeep.js

作者表示,這個項目本來就是一個業餘項目,它並不會有完整的技術支援。不過只要提交的 Bug 足夠具體,作者都會完善它。此外,該項目還會經常加入一些新特性,從 2015 年 10 月份的第一版,到今年 2 月份的最新版,這個編輯器已經維護了很長時間。

Markdeep 怎麼用

如果你需要創建一個 Markdeep 的文件,只需要打開任意一個文本編輯器,然後開始編輯。完成文本編輯工作後,只需要在其底部寫下一個簡單的程式碼就行了。然後,將這個文檔保存為純文本文件,使用 .md.html 為擴展名。

<!-- Markdeep: --><style class="fallback">body{visibility:hidden;white-space:pre;font-family:monospace}</style><script src="markdeep.min.js" charset="utf-8"></script><script src="https://casual-effects.com/markdeep/latest/markdeep.min.js" charset="utf-8"></script><script>window.alreadyProcessedMarkdeep||(document.body.style.visibility="visible")</script>

如果你希望在源文檔中使用 Unicode,則需要在文檔頂部先加上這句話:

<meta charset="utf-8">

想要看看效果?你可以將文本拖入瀏覽器或雙擊它。即使網路離線也可以查閱文檔。如果不想因為離線而失去格式,可以將 markdeep.min.js 文件和文檔保存在一個文件夾中。

如果想要看看 Markdeep 原始文本,在文件 URL 最後加上「?noformat」即可。

上手示例

小編隨手測試了幾個典型 Markdown 語法,比如:代辦列表、自動鏈接、表格、內聯圖片、程式碼。與此同時,LaTeX 的數學表達式和圖形也能直接設計,而不需要任何插件。具體效果可參考:

簡而言之,配備完善,對於熟悉 Markdown 的小夥伴來說,用起來會十分順手及方便。這意味著,在有網的情況下,隨意拎一個文本編輯器後,就再也沒有人能攔得了你使用 Markdown 了。與此同時,時時預覽效果也非常簡便,只需要在文本編輯器里修改,瀏覽器中刷新下便可呈現最新效果。

Markdeep 能幹什麼

只要是 Markdown 支援的,Markdeep 就能夠支援,它在業界和學術界能得到廣泛使用。如下所示,各種題材與格式的文檔都能用 Markdeep 完成:

  • API 文檔
  • 教學大綱
  • 遊戲設計文件
  • 家庭作業
  • 課程 PPT
  • 軟體庫網站
  • 個人部落格
  • 簡歷
  • 論文

看起來 Markdeep 似乎什麼都能做,項目作者同樣也展示了這些方面的效果圖:

Markdeep 製作的 PPT。

Markdeep 製作的個人簡歷。

總之,除了使用方便、展示炫酷,Markdeep 的功能也是非常強大。正如其它開發者所強調的,Markdeep 是能製作簡單圖表的 Markdown 工具,它以一種「ASCII Art」的方式用純文本製作出圖形,並且不用渲染也非常明晰。