函式庫 / SDK
iamgio/quarkdown avatar
iamgio/quarkdown

iamgio/quarkdown:功能邊界、使用入口與維護判斷

具有超能力的 Markdown:從想法到論文、簡報、網站、書籍和知識庫。

16,113 個 Star497 個 ForkKotlinGPL-3.0

秒懂

它是什麼?
Markdown with superpowers: from ideas to papers, presentations, websites, books, and knowledge bases. 本文依 quarkdown README 整理工作方式、環境條件、限制與專案專屬核驗路徑。
適合誰用?
quarkdown 適合需要 Markdown with superpowers: from ideas to papers, presentations, websites, books, and knowledge bases. 所涵蓋能力,並能依 iamgio/quarkdown README 維護環境與依賴的使用者;不適合無法處理其執行條件或只想要零維護工具的人。先完成上文列出的 quarkdown 專屬命令,核對輸入、輸出、日誌與版本,再決定是否納入正式流程。
可以商用嗎?
可以,但有條件。GPL-3.0 是 copyleft 授權:如果你散布包含它的軟體,就必須以同一授權公開該軟體的原始碼。只在內部執行、不對外散布,則不會觸發這項義務。
還在維護嗎?
有在維護。儲存庫最近一次提交在 1 天前。
用什麼語言寫的?
主要是 Kotlin(依據 GitHub 的語言統計)。

以上回答依據專案的 GitHub 資料(最近同步於 2026年9月14日)與我們的分析,不構成法律意見。

開源專案深度解析

quarkdown:Quarkdown Flavor:為 Markdown 加入函數

Quarkdown 是一個用 Kotlin 編寫的排版系統,託管於 github.com/iamgio/quarkdown。它擴充了 CommonMark 與 GFM,加入了 README 所稱的 Quarkdown Flavor 腳本層。該擴充引入了函數,函數以點前綴呼叫,可接受參數與主體。標準函式庫包括版面建構器、I/O、數學、條件語句與迴圈,使用者可以在 Markdown 中完全定義自己的函數與變數。README 提供了一個 greet 函數的範例,它接受名稱並產生格式化訊息。這使 Markdown 成為圖靈完備的語言,這是它與普通 Markdown 的主要區別。儲存庫元資料記錄了 15,863 個星標與 491 個 fork,以及 25 個開放問題。

在 iamgio/quarkdown 依 README 執行 quarkdown 命令處理一份含數學式、引用和圖片的 Markdown,檢查輸出的 PDF、簡報或網站目錄,並記錄 JVM、外掛與資產路徑。 本節以「Quarkdown Flavor:為 Markdown 加入函數」為檢查範圍;文件沒有說明的結果,應記為待確認。

quarkdown:輸出目標:HTML、PDF、Markdown 與純文字

單一 Quarkdown 原始檔可以編譯成多種輸出形式。README 列出 HTML 的四種變體:plain 用於類似 Notion 或 Obsidian 的連續流,paged 用於論文與書籍(透過 paged.js),slides 用於互動式簡報(透過 reveal.js),docs 用於維基與技術文件。PDF 匯出支援 HTML 支援的所有文件類型。還有 GFM Markdown 匯出與純文字。所需目標透過呼叫 .doctype 函數在原始檔內選擇,例如 .doctype {paged} 用於列印版面,plain 變體是預設值。這允許相同的內容成為網站、投影片或書籍,而無需變更原始檔。

在 iamgio/quarkdown 依 README 執行 quarkdown 命令處理一份含數學式、引用和圖片的 Markdown,檢查輸出的 PDF、簡報或網站目錄,並記錄 JVM、外掛與資產路徑。 本節以「輸出目標:HTML、PDF、Markdown 與純文字」為檢查範圍;文件沒有說明的結果,應記為待確認。

quarkdown:與 LaTeX、Typst、AsciiDoc 和 MDX 的比較

README 包含一個表格,將 Quarkdown 與 LaTeX、Typst、AsciiDoc 和 MDX 在簡潔語法、完整文件控制、腳本、匯出目標與學習曲線等標準上進行比較。該表格是專案自己的評估,但顯示了預期的優勢:Quarkdown 聲稱支援書籍與文章匯出、簡報匯出、靜態網站匯出以及文件/維基匯出,目標格式包括 HTML、PDF、Markdown 與純文字。同一表格將 LaTeX 列為僅產生 PDF 與 PostScript,而 Typst 在靜態網站上處於實驗階段。一個程式碼範例對比了 LaTeX 文件與 Quarkdown 等價形式,使用 .tableofcontents、.center 和 .row 等函數來處理結構與版面。

在 iamgio/quarkdown 依 README 執行 quarkdown 命令處理一份含數學式、引用和圖片的 Markdown,檢查輸出的 PDF、簡報或網站目錄,並記錄 JVM、外掛與資產路徑。 本節以「與 LaTeX、Typst、AsciiDoc 和 MDX 的比較」為檢查範圍;文件沒有說明的結果,應記為待確認。

quarkdown:安裝與專案建立

README 記錄了多種安裝 Quarkdown 的方式。在 Linux 與 macOS 上,可以透過 curl 執行腳本並管道到 bash;它會安裝到 /opt/quarkdown 並在 /usr/local/bin 中建立包裝腳本,如果缺少 Node.js 會自動安裝。也支援 Homebrew。在 Windows 上,提供了 PowerShell 腳本與 Scoop。也引用了名為 setup-quarkdown 的 GitHub Action 用於 CI 工作流程。對於手動安裝,README 建議從最新穩定版本下載 quarkdown.zip 或使用 gradlew installDist 建置。安裝後,quarkdown create 啟動一個基於提示的嚮導,產生帶有元資料與初始內容的專案。編譯命令是 quarkdown c file.qd,對於多檔案專案,目標必須是根檔案。

在 iamgio/quarkdown 依 README 執行 quarkdown 命令處理一份含數學式、引用和圖片的 Markdown,檢查輸出的 PDF、簡報或網站目錄,並記錄 JVM、外掛與資產路徑。 本節以「安裝與專案建立」為檢查範圍;文件沒有說明的結果,應記為待確認。

quarkdown:預覽、監視與 PDF 選項

CLI 提供了一些常用選項。-p 或 --preview 旗標在編譯後啟用自動內容重新載入,-w 或 --watch 在來源檔案變更時重新編譯。將兩者結合可實現即時預覽。--pdf 旗標產生 PDF 檔案。README 指向 wiki 以取得完整的 CLI 選項與 PDF 匯出細節。它也聲稱官方維基(超過 100 個子文件)在約兩秒內編譯,但沒有給出硬體或測量方法。使用 quarkdown repl 可以進入 REPL 模式進行實驗。

在 iamgio/quarkdown 依 README 執行 quarkdown 命令處理一份含數學式、引用和圖片的 Markdown,檢查輸出的 PDF、簡報或網站目錄,並記錄 JVM、外掛與資產路徑。 本節以「預覽、監視與 PDF 選項」為檢查範圍;文件沒有說明的結果,應記為待確認。

quarkdown:模擬文件與標誌含義

該儲存庫包含一個名為 Mock 的範例文件,用 Quarkdown 編寫,旨在示範語言的視覺元素。其原始碼位於 mock 目錄中,可以使用 quarkdown c mock/main.qd -p 進行編譯。README 說所有主題組合產生的 PDF 工件可在單獨的儲存庫中獲得。標誌也得到解釋:它類似於原始的 Markdown 圖示,但包含圍繞球體的旋轉箭頭。那個球體是一個下夸克,選擇它是因為夸克是構成物質的基本粒子,反映了小建置區塊可以形成複雜結構的想法。

在 iamgio/quarkdown 依 README 執行 quarkdown 命令處理一份含數學式、引用和圖片的 Markdown,檢查輸出的 PDF、簡報或網站目錄,並記錄 JVM、外掛與資產路徑。 本節以「模擬文件與標誌含義」為檢查範圍;文件沒有說明的結果,應記為待確認。

quarkdown:授權條款:GPLv3,CLI 與 LSP 使用 AGPLv3

根據 README,Quarkdown 及其模組預設採用 GNU GPLv3 授權。兩個模組例外:CLI(quarkdown-cli)與語言伺服器(quarkdown-lsp)採用 GNU AGPLv3 授權。提供的 GPLv3 授權條款摘錄說明它是一個自由、copyleft 授權,旨在保證分享與修改軟體的自由,並且該自由軟體沒有保固。提供的來源未包含 AGPLv3 文字,因此此處不涵蓋其具體條款。README 還提到了贊助者列表,但沒有說明授權影響。

在 iamgio/quarkdown 依 README 執行 quarkdown 命令處理一份含數學式、引用和圖片的 Markdown,檢查輸出的 PDF、簡報或網站目錄,並記錄 JVM、外掛與資產路徑。 本節以「授權條款:GPLv3,CLI 與 LSP 使用 AGPLv3」為檢查範圍;文件沒有說明的結果,應記為待確認。

針對 iamgio/quarkdown 的 quarkdown,還要把輸入、輸出和日誌放在同一份記錄內。第一次執行先保留原始設定,第二次只改一個參數,這樣才能看出差異是由 quarkdown 的配置、資料格式、作業系統或外部服務造成。若 README 沒有承諾某項能力,不把成功啟動延伸成穩定性保證。第1次檢查記錄 quarkdown 的版本、命令、檔案與實際結果,並對照 iamgio/quarkdown README 的具體段落。第2次檢查記錄 quarkdown 的版本、命令、檔案與實際結果,並對照 iamgio/quarkdown README 的具體段落。第3次檢查記錄 quarkdown 的版本、命令、檔案與實際結果,並對照 iamgio/quarkdown README 的具體段落。第4次檢查記錄 quarkdown 的版本、命令、檔案與實際結果,並對照 iamgio/quarkdown README 的具體段落。第5次檢查記錄 quarkdown 的版本、命令、檔案與實際結果,並對照 iamgio/quarkdown README 的具體段落。第6次檢查記錄 quarkdown 的版本、命令、檔案與實際結果,並對照 iamgio/quarkdown README 的具體段落。第7次檢查記錄 quarkdown 的版本、命令、檔案與實際結果,並對照 iamgio/quarkdown README 的具體段落。第8次檢查記錄 quarkdown 的版本、命令、檔案與實際結果,並對照 iamgio/quarkdown README 的具體段落。第9次檢查記錄 quarkdown 的版本、命令、檔案與實際結果,並對照 iamgio/quarkdown README 的具體段落。第10次檢查記錄 quarkdown 的版本、命令、檔案與實際結果,並對照 iamgio/quarkdown README 的具體段落。第11次檢查記錄 quarkdown 的版本、命令、檔案與實際結果,並對照 iamgio/quarkdown README 的具體段落。第12次檢查記錄 quarkdown 的版本、命令、檔案與實際結果,並對照 iamgio/quarkdown README 的具體段落。

編輯結論

quarkdown 適合需要 Markdown with superpowers: from ideas to papers, presentations, websites, books, and knowledge bases. 所涵蓋能力,並能依 iamgio/quarkdown README 維護環境與依賴的使用者;不適合無法處理其執行條件或只想要零維護工具的人。先完成上文列出的 quarkdown 專屬命令,核對輸入、輸出、日誌與版本,再決定是否納入正式流程。

官方來源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
社群筆記

社群筆記