Folio Writer 發展藍圖
橫跨 Mac、iOS 與 iPad 的原生協作寫作。Markdown 優先,為學術工作者打造。
已推出的功能
Mac——Folio Writer 現已在 Mac App Store 上架。原生 Markdown 編輯器,具備完整的 Scrivener 式專案組織、即時數學公式,以及一鍵編譯為 PDF、Word、LaTeX 與 Typst。
現已推出
Mac 與 iOS
已上線——Mac 與 iOS 上的原生 App,具備完整的雲端同步。在 Mac 上寫作,在 iPad 上繼續,在 iPhone 上編輯。所有修改都會在裝置間即時同步。
即時協作
已上線——即時多人編輯,附在線狀態指示、批註討論串與修訂追蹤。就像 Overleaf 的工作流程,但具備原生 App 的效能與離線能力。
即將推出
1.18 版
開發中——尚未發布。寫作助手將支援這台 Mac 上的 ChatGPT(Codex)以及本機模型的 API 金鑰,活頁夾、編輯器、中繼資料與模板也有多項改進。正式發布前細節可能會有所變動。 ↓
iPad Pro
開發中——針對更大的螢幕最佳化。功能完整的手稿編輯,支援觸控式軌跡板與鍵盤。分割畫面多工處理,可同時查看參考資料與大綱。
1.18 即將推出的內容
1.18 版仍在開發中,尚未在 App Store 上架。以下說明介紹它將包含的內容;正式發布前細節可能會有所變動。
寫作助手
- 這台 Mac 上的 ChatGPT。新增供應商這台 Mac 上的 ChatGPT(Codex),以 Claude Code 供應商執行
claude的方式執行 OpenAI 的 Codex 命令列(codex exec):用你的 ChatGPT 帳號登入(codex login),不需要 API 金鑰,也不按 token 計費,回覆會直接以可審閱的建議回到 Folio Writer 中。codex命令會被自動找到(npm、Homebrew、Volta、你的 shell 的 PATH),你也可以在設定 ▸ 助手中指定它的路徑。在 App Store 版本中,它透過 Folio Helper 執行——需要 Folio Helper 1.7 或更新版本。 - 本機模型可以使用 API 金鑰。Unsloth 會為每個 App 核發一組金鑰,LM Studio 也可以設定為必須提供金鑰;把它貼到設定 ▸ 助手 ▸ 本機模型中,它會保存在你的鑰匙圈裡,並且只會以 bearer 權杖傳送給該伺服器。Ollama 不需要金鑰,照常運作。伺服器回傳 401 或 403 時,現在會告訴你去哪裡找它的金鑰。
活頁夾與編輯器
- 未命名文件會顯示開頭的文字。開啟設定 ▸ 通用 ▸ 顯示概要或開頭文字,而非「未命名」後,沒有概要的未命名文件會在活頁夾中顯示其內文的第一行——一小段圍欄 div 或一個零散的段落,不需要概要也能再次找到。對未命名文件而言,編輯器上方的標題列以及 Scrivenings 各段之間的分隔線會留白,而不再顯示「未命名」。
- 文件會連同其子文件一起開啟。選取一份底下巢狀包含項目的文件時,會像資料夾那樣把它們顯示為一段連續的文字——相當於 Scrivener 中對一組文件使用 Scrivenings。若想單獨編輯這樣的文件,可在設定 ▸ 編輯器 ▸ 子文件中關閉此功能。
- 方括號 span 直接顯示為文字。插入點不在其中時,
[1sg]{.smallcaps}會顯示為 1sg——[、]以及{.class #id key=val}尾端會像其他 Markdown 分隔符號一樣隱藏,編輯該 span 時再顯示出來。設定 ▸ 編輯器 ▸ Span 樣式可以把某個 class 對應到編輯器中的一種外觀——小型大寫字母、粗體、斜體、底線、等寬、著色或高亮文字——就像 Scrivener 的字元樣式那樣:.smallcaps與.sc預設顯示為小型大寫字母,.underline顯示底線;你還可以加入.name→ 某種色調、.gloss→ 斜體,以及你的篩選器所需要的任何對應。預覽與編譯不受影響。 - 屬性膠囊更低調了。
{#fig:x}、{.unnumbered}與 span 屬性現在以柔和的暖灰色膠囊、淡色文字顯示,而不再使用藍綠色底色——那種底色讓每個 span 與 div 看起來都像被高亮了。 - 模板文件保留所有欄位。模板資料夾中的文件現在會在檢查器與大綱中顯示「中繼資料與編譯」窗格——關鍵詞、日期、章節類型、編譯旗標、章節前綴與後綴、寫作目標——它所帶的值會寫入由它建立的每一份文件。
中繼資料與模板
- 輸入時即檢查 YAML。一旦前置中繼資料中出現 pandoc 或 Quarto 會拒絕的疏漏,中繼資料文件就會顯示一條不顯眼的提示列——縮排中用了定位字元、引號沒有閉合、同一個鍵設定了兩次、其他地方縮排兩個空格而這裡縮排三個、
|底下沒有內容,或是(以 Quarto 為渲染器時)journal:寫成了一般字串。每個問題都會標明所在的行;「顯示」會列出它們,「隱藏」則將其收起。 - 插入 ▸ 作者條目(YAML)。格式 ▸ 插入模板 ▸ 作者條目(YAML)會在插入點放入一個結構化的作者——姓名、電子郵件、ORCID、通訊作者旗標、所屬機構——採用模板與內建作者篩選器所讀取的結構,因此加入第二、第三位作者只需填空,不必記住格式。
- 檔案 ▸ 新建 Lua 篩選器…。在模板 ▸ Lua 篩選器下建立一份
.lua文件,它以一個範例骨架為基礎,其中已示範如何把 span 或 div 轉換為 LaTeX 與 Typst,並一步完成在專案設定中的註冊。那裡的「內建」選單在游標停留時會說明每個篩選器,註腳也會清楚說明:專案自己的篩選器會為每一位開啟該專案的人執行。 - Lua 篩選器以 Lua 顯示。模板 ▸ Lua 篩選器下的
.lua文件會以等寬字型開啟,並帶有 Lua 語法高亮——關鍵字、pandoc.*API 與元素名稱、字串、註解——Markdown 的各種便利功能(智慧型清單、#標籤自動完成、行內表格)都不會干擾程式碼。它在活頁夾中的圖示是 ƒ。 - 新建專案會記住你上次的位置。選擇器會開啟你上次停留的分類,每個模板也會標明它所附帶的內容:註明篩選器名稱的 Lua 篩選器膠囊(游標停留可查看其作用)、帶有研究資料資料夾的模板套件會顯示含圖表、取代內建模板的使用者模板會顯示你的內建模板副本。
修正
- 在活頁夾中把 Lua 篩選器文件移到另一個資料夾後,專案設定仍會指向它。
- 本身也被納入連續文字、又帶有子文件的文件不會再出現兩次;開啟 Elsevier 或 IEEE 作者篩選器進行 Typst 編譯時,結構化的作者資訊仍可被 Typst 本身的模板讀取。
為什麼要原生?
學術寫作值得比純網頁工具更好的選擇。原生 App 帶給你:
- 離線工作——在飛機上、研討會中、咖啡館裡寫作。重新連線時再同步。
- 效能——網頁 App 無法比擬的手稿處理能力與回應速度。
- 平台整合——無縫的複製/貼上、Finder 同步、系統快捷鍵、觸控式軌跡板手勢。
- 純文字的 Markdown——你的原始碼始終易讀、可納入版本控制(對 Git 友善),而且經得起未來考驗。
為什麼選 Markdown?
不同於 LaTeX(Overleaf)或新語言(Typst),Markdown 早已是學術運算領域的標準:Jupyter 筆記本、R Markdown、資料科學工作流程。你的手稿原始碼始終人類可讀,並能與你已在使用的工具整合。