將可計算內容編排成書的開源專案Jupyter Book,已經交由Executable Book Project支援,並且現在發布了最新版本,更換建置引擎支援,使得建置更為快速,支援強大的MyST Markdown語言,並允許使用者將書籍輸出為更多元的類型。

Jupyter Book是一個方便用來編輯程式與科學相關書籍的開源專案,用戶可以在Jupyter Notebook中,完全以Markdown語法撰寫,並將其建置成為書籍,其特色是能將包含可計算內容等來源材料,編輯成為具出版水準的書籍、網站和文件。而原本Jupyter Book為Jupyter底下的一個專案,但現在被轉移到了Executable Book Project(EBP)之下,EBP是一個Jupyter生態系的開放社群,專為Jupyter可互動和可執行文件建置開源工具。

新版Jupyter Book最亮眼的功能,便是開始支援MyST(Markedly Structured Text)Markdown語言,而該語言實作了所有Sphinx文件引擎的功能,也就是說,可以在Sphinx執行的功能,就能夠使用MyST進行,讓用戶方便地以Markdown語言撰寫科學出版品。

由於Jupyter Notebook所使用的Jupyter Markdown,僅是MyST Markdown的子集,這代表Jupyter Notebook中任何預設的Markdown語法,在Jupyter Book中均有效,但如果用戶需要用到引用、圖表和參照等功能時,便可以在內容加入使用MyST Markdown語法。

舊版Jupyter Book使用Python和Jekyll來建構書本HTML,而新的Jupyter Book則僅使用Python,這簡化了建構書籍HTML的程序,另外,新的建置系統利用Jupyter Cache,僅會在程式碼有更新時才執行筆記本內容,並在建置時,插入來自快取的輸出,因此沒有更改的程式碼就不會被重新執行,進而節省建置時間。

而且因為使用Sphinx文件引擎,Jupyter Book除了支援HTML網站之外,也能執行更複雜的輸出,像是能夠利用HTML和LaTeX製作PDF,官方表示,多元格式的支援,讓Jupyter Book更具靈活性,能根據用戶需求,產生適合的書籍形式。

之所以新版Jupyter Book能有這麼多強大的功能,都要歸功於全新的堆疊,過去Jupyter Book使用Jekyll建置書籍,但現在則是使用Sphinx文件引擎,且因為Sphinx豐富的生態系,Jupyter Book能夠有效率地利用既存工具建立新功能,也能將開發的元件貢獻出來。

熱門新聞

Advertisement