Markdown Poster 免費轉圖片工具,把筆記排成社群分享圖

Markdown Poster 是把 Markdown 排成社群分享圖的免費工具,線上編輯器免登入就能輸出 PNG,內容留在瀏覽器處理。本文實測線上版、npm 套件與自架三個入口,拆開圖片繞經第三方公共代理、URL 渲染 API 現況與專案凍結等細節。

用 AI 摘要這篇文章:

打開網頁、把 Markdown 貼進左邊的編輯器,右邊立刻排出一張紫色漸層底、白色圓角卡片的圖,按下載鍵,一張 702×1351 的 PNG 存進下載夾,全程不用註冊,也沒有付費牆。這是 Markdown Poster 線上編輯器實測的第一分鐘,也是它最值得肯定的部分:把筆記變成能貼進社群的圖,這件事它真的做到了。而且排版細節經得起看,標題、引言區塊、編號清單、行內代碼標籤、圓角配圖,全照 Markdown 語法排得整整齊齊。

Markdown Poster 實際下載輸出的海報 PNG 成品Pin
實測下載的輸出成品,702×1351 手機直式海報

但這個名字底下其實藏著三個長得不一樣的入口:掛在 readpo.com 上的免費編輯器、npm 上的 React 套件 markdown-to-image、以及一份能自己部署的範例專案。三個入口都免費,拿到的東西卻不一樣,有的還帶著文件沒寫的細節。這篇把三條路各自攤開,最後再談誰該走哪一條。

一個開源組件,長出三個入口

Markdown Poster 的本體是 GitHub 上的 gcui-art/markdown-to-image 專案,2024 年 4 月開張,採 Apache-2.0 授權,到 2026 年 9 月約 1,990 顆星、194 次 fork,累積 99 次提交。它對外提供兩種用法:工程師把 Md2Poster 這個 React 組件裝進自己的專案,傳入 Markdown 字串就渲染出海報;一般人則直接用官方編輯器,貼字、預覽、匯出。倉庫的 example 資料夾就是那個編輯器的原始碼,官方還給了一鍵部署到 Vercel 的按鈕,讓你擁有一份自己的副本。

從組件的設計看得出它的出身。渲染引擎走 react-markdown 搭配 GFM 語法與原始 HTML 支援,表格、工作清單都吃得下;匯出用的是 modern-screenshot 這個純瀏覽器截圖函式庫,把排版好的畫面直接轉成 PNG,不經過任何伺服器。README 的示範內容是一份 AI 日報式的條列摘要,倉庫測試案例裡的素材是微信文章與新聞配圖,這個工具的設計中心從頭到尾都是資訊摘要海報,拿它排讀書筆記或社群貼文是讀者自己延伸出來的用法,也都排得動。整個專案由兩位主要作者撐起,提交數佔了九成以上,是典型的小團隊作品。

而官方編輯器的網址 readpo.com,屬於同一批人經營的 ReadPo 平台,一個 AI 閱讀與寫作助手產品,同一個組織還維護著 Suno API 等其他 AI 專案。也就是說,這個開源工具的免費編輯器,同時是商業平台的門面之一,頁尾放著淡色的 Powered by ReadPo 標示,頁面底段還推著一套海報渲染 API,想拿 Token 得註冊帳號,頂部橫幅則掛著自家另一款知識庫產品的宣傳。理解這層關係,後面幾個觀察才好讀。

線上編輯器:內容留在瀏覽器,代價是兩套流量統計

線上版是三個入口裡最省事的,實測過程也最乾淨。編輯器是帶行號的程式碼風格輸入區,左打字右預覽,改一個字右邊的卡片跟著重排;我錄下編輯期間的全部對外連線,共 83 個請求,其中送出資料的 POST 只有一筆,對象是 PostHog 的統計端點;沒有任何一筆把輸入的 Markdown 送回 readpo.com 自己的伺服器。換句話說,排版與匯出都發生在瀏覽器裡,筆記內容沒有落地站方,這點比多數要開帳號才能用的同類工具大方。畫面上三顆按鈕自訂、下載、複製各司其職,下載實測拿到的是乾淨的 PNG,複製鍵則是把同一張圖寫進剪貼簿,貼進通訊軟體就能用。

Markdown Poster 線上編輯器,左側 Markdown 輸入區、右側海報即時預覽Pin
左邊貼 Markdown,右邊即時排出紫色漸層海報預覽

代價是流量分析。頁面載入了 Plausible 與 PostHog 兩套統計服務,你在頁面上做了什麼會以事件形式送出去;內容本身雖然不外送,使用行為是會被記錄的。下載出來的圖也保留一個淡到幾乎看不見的 ReadPo 頁腳,想拿到完全乾淨、無頁腳的圖,得走 npm 組件這條路,或自架後動手把範例頁腳換掉。

編輯器的功能面是精簡路線。自訂面板提供背景、三款排版主題、文字大小與邊距四組控制;實測輸出是 702×1351 的手機直式,面板裡沒有比例與尺寸的選項,想要 16:9 或桌面寬幅,只能走 npm 組件,那邊的屬性有自動加三種固定的比例可選,尺寸分桌面與手機兩種。模板庫和多頁拼接都沒有,mermaid 圖與數學公式這類語法也排不了,兩者是 GitHub 上開了超過一年沒人回應的願望。另外要提醒台灣讀者:介面語言只有英文與簡體中文,按鈕字樣以繁體轉述是自訂、下載、複製,畫面原文是簡體字,預設的示範內容也是簡體,換成自己的字就沒這個問題。

npm 套件裡的兩行程式碼:你的圖片先繞去別人家

把套件原始碼抓下來讀,會找到一個 README 沒細說的設計。Md2PosterContent 元件在渲染 Markdown 時,會把每一張圖片的網址改寫成 api.allorigins.win/raw 開頭的代理連結再抓取,程式就兩行。README 把它稱為內建的圖片跨網域代理,用意是讓海報能直接引用網路上的圖,不被瀏覽器的跨網域安全政策擋在門外,這是瀏覽器截圖類工具的常見難題,處理方向本身合理。翻提交歷史還能看到它換過一次供應商,2024 年 5 月之前用的是掛在 beeposter.com 網域的代理,之後才改成現在這個公共服務。

問題在於 allorigins.win 是一個誰都能用的公共代理,與這個專案沒有任何從屬或付費關係。套用這個組件,等於海報裡每張圖的原始網址都會送進第三方服務再轉一手:隱私上,圖片位址對公共代理是看得到的;可靠度上,公共免費代理有限流與斷線的常態,它掛掉的日子,你的海報圖片就跟著開天窗,而且沒有客服可找。有意思的是,官方線上版實測時一筆 allorigins 請求都沒有,圖片是瀏覽器直連原站的。託管版與 npm 版的實作已經分道,文件卻沒有更新;要嵌入的人,這兩行程式碼值得自己換成可信賴的圖片代理或乾脆先抓到本機。順帶一提,組件的頁尾是開放的,嵌入的人可以放自己的署名;線上版那個 ReadPo 頁腳其實寫在範例專案的原始碼裡,照抄部署的自架版預設拿到的也是同一個,要消失得自己動手改。而複製到剪貼簿走的是瀏覽器的剪貼簿 API,自架時記得掛上 HTTPS,不然這顆按鈕會在純 HTTP 環境下失效。

自架的人接手的是一份冷凍庫

自架這條路聽起來最自由:照官方按鈕把編輯器部署到自己的 Vercel,就有一份完全屬於自己的版本,Apache-2.0 的授權也允許你改到面目全非。但接手之前要先感受專案的溫度。main 分支最後一次合併停在 2025 年 3 月 5 日,至今約一年半沒有動靜;沒有發布過任何正式 release,npm 版本停在 0.0.13,而且從 0.0.10 數上來總共只有四個版本。採用量的量級也看得出來:npm 套件過去 18 個月累積下載兩千三百多次,最近一個月兩百八十八次,對一個近兩千星的專案來說,真實嵌入量相當小,是典型的高星數、低採用、低維運狀態。

一鍵部署還有一段前科。2024 年 11 月起,多位使用者回報部署直接失敗,原因是範例專案的相依鎖檔與套件清單不同步,安裝當場報錯;作者在留言裡說會看看,相同失敗一路堆到 12 月,六個不同的人在下面留言碰壁。2025 年 2 月的最後一次整理把鎖檔重生了一份,規格與套件清單對上了,但那張 issue 至今沒有關閉,也沒有人回來留下部署成功四個字。現在按下部署按鈕會不會一次成功,沒有人掛保證;真失敗了先查鎖檔,別急著懷疑自己。

自架還有兩筆小帳要記。範例專案的相依清單裡預設帶著 Vercel Analytics,部署到 Vercel 會自動啟用,想要零統計的人記得拆掉;頁尾那行 Powered by ReadPo 也寫死在範例的原始碼裡,想要乾淨的圖得自己換掉。而把組件裝進既有網站的人,則有一張 2024 年就開著的 issue 等著:套件的樣式表會覆蓋全域樣式,深色主題的網站整合時得自己想辦法隔離。願望清單倒是排得很整齊,mermaid、數學公式、Docker 映像檔、Python 呼叫,14 張開啟的 issue 靜靜躺著等一個不會回來的維護者。社群自己想辦法的痕跡倒是有一個:2025 年 7 月有人 fork 出加了伺服器端渲染 API 的分支,給想批次產圖的人一條野路線。

文件寫的與你實際拿到的

對照原始碼與文件,有幾處落差值得點名。組件的 template 屬性列了引言卡與新聞摘要兩種模板,但整份實作裡這個屬性從來沒有被讀取,是宣告了卻不存在的功能。README 說有九款主題,那是 npm 組件的八個漸層配色加上一款圖片底圖,線上編輯器的自訂面板給的卻是另一套排版主題,兩邊講的不是同一件事。另外,線上版沒有比例選項,組件版的屬性倒是四個比例(含自動)與兩種尺寸都給了,這也是文件沒有同步更新的地方。

頁面行銷最力的那條 URL 渲染 API,照著畫面上的格式把 Markdown 接在 readpo.com/p/ 後面,我先後試了五次,伺服器都回 500 錯誤,訊息是上游抓取失敗。它可能是暫時故障,也可能要註冊 Token 才肯動,官方頁面的說法是註冊後免費取得,實際額度與限制頁面上沒有寫明。想把它接進自動化流程的人,動手前先自己打一次確認現況,別把行銷頁當文件。

三種需求,三種走法

只想偶爾把筆記變成圖的人,用線上版就好:免登入、一分鐘出圖,兩套統計對一般使用情境不算重擔,繁中使用者忍一下簡體介面就行。工程師想把海報功能做進產品,npm 套件能用,Apache-2.0 的授權也寬鬆,但動手前先把圖片代理那兩行程式碼改成自己的服務,並留意樣式覆蓋的舊帳。想要完全可控、能改模板與比例的人,自架是唯一的路。前提是接受接手冷凍專案的事實:出了問題自己修,修好也沒地方回饋上游。把自己的使用頻率想清楚再選:一週一張的量級,任何入口都綽綽有餘;要進生產線批次出圖的,先想想上游那個公共代理與零維運的 repo,再決定要不要把賭注壓在它身上。

要把 Markdown 排成圖片,我們先前寫過幾條不同路數可以對照:想找全程在本機處理、文字不上傳的版本,玉桃文饗軒 把隱私邊界做得更明白;想要知識卡片式的排版,md2card 走的是另一種視覺風格;而手上已經有一堆 PDF 想先轉成 Markdown 再加工的,to-markdown 轉換器 可以當前置工序。

Apache-2.0 隨你改,專案本身停在 2025 年 3 月

gcui-art/markdown-to-image 採 Apache-2.0 授權,商用、修改、再散布的空間都足夠,嵌入產品不需要另外談授權。專案本身的現況是:main 分支停在 2025 年 3 月、零 release、14 張開著的 issue、維護者重心明顯在 ReadPo 平台。工具能用與專案活著是兩件事,這裡前者成立、後者暫時不成立,想長期依賴的人把這句話放進決策就好。

Sliven 褚崇名
Sliven 褚崇名

每日分享科技新知、免費資源以及 WordPress、虛擬主機相關主題,任何問題歡迎在科技月球下方留言,或是發送 Email 至 [email protected] 與我聯繫。

文章: 1543

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *


Share to...