使用 EmDash 管理後台,讓條目從第一份草稿走到已發布頁面。編輯器會將 草稿變更與訪客可見的版本分開保存,因此儲存和發布是兩個獨立的 操作。
開啟集合
在你的站台上開啟 /_emdash/admin 並登入。在側邊欄中選擇一個集合,例如 Posts 或 Pages。
集合頁面會列出它的條目。在這裡你可以:
- 選擇 Add New 建立條目;
- 依條目標題、slug 和標記為可搜尋的欄位搜尋;
- 依發布狀態、作者、署名、日期和地區設定篩選;
- 在條目的各頁之間切換,並選擇每頁顯示 20、50 還是 100 筆;
- 選擇條目進行批次發布、退回草稿或移入垃圾桶;以及
- 開啟 Trash 還原或永久刪除條目。
編輯器中可用的欄位和發布功能取決於集合的內容模型。 例如,集合可能支援修訂、預覽、分類法或搜尋。
建立並發布條目
-
在集合頁面上選擇 Add New。
-
填寫必填欄位。如果集合有標題欄位,EmDash 會用它來建議 slug。你可以在發布前編輯 slug。
-
新增本文和輔助欄位,例如摘要、特色圖片、署名、分類 或標籤。
-
選擇 Save。第一次儲存會將條目建立為草稿,並開啟其固定的編輯器 URL。
-
檢查草稿。如果集合支援預覽,請選擇 Preview,在發布前查看算繪後的 頁面。
-
選擇 Publish now,然後確認。已儲存的草稿會成為公開 內容查詢回傳的線上版本。
條目有穩定的內容 ID 和獨立的 slug。即使 slug 發生變化,ID
仍會識別同一個條目。範本通常使用
getEmDashCollection() 回傳的面向 URL 的識別碼;查詢內容指南
解釋了這兩個值。
撰寫富文字
Portable Text 欄位提供區塊編輯器,可用於標題、段落、引用、清單、連結、 圖片、影片、圖庫、程式碼區塊、表格、HTML 區塊和可重複使用的區段。已安裝的外掛可能會 新增更多區塊。
使用工具列設定所選文字的格式。要插入區塊,請選擇段落旁邊的新增區塊控制項,
或輸入 / 並依名稱搜尋區塊。圖片區塊和圖庫區塊會開啟與圖片欄位相同的
媒體選擇器。
你也可以將圖片和影片檔案拖入編輯器,或貼上複製的圖片或螢幕截圖。每個檔案 都會上傳到媒體庫,並在上傳完成後出現在前後的區塊之間。如果 上傳失敗,原因會顯示在該檔案本應出現的位置。
選擇圖片區塊時,其上方會出現工具列。你可以用它替換圖片、編輯其替代 文字、設定對齊、新增連結或刪除該區塊。圖片有描述後,Alt text 按鈕會醒目顯示, 懸停時會顯示該描述。僅為媒體庫圖片檔名的替代文字 不算作描述。在圖片下方的欄位中輸入說明文字,然後按 Enter 即可在其下方 繼續書寫。選取圖片後,按 Tab 會移到說明文字,再移到工具列。
工具列中的 Image settings 會開啟該圖片這次使用的所有設定,包括其 顯示尺寸和可選的工具提示。其中的 Edit asset 會開啟底層的媒體庫項目, 變更或替換該資源可能會影響其他使用它的條目。關於這一區別,請參閱 媒體庫。
新增影片
輸入 /video,然後從媒體庫中選擇影片,或在開啟的選取器中上傳一個。
選擇影片後,影片區塊才會被新增。你也可以把影片檔案拖放到文字中的
任意位置。
影片會在編輯器中依其在站台上的樣子播放,寬度與文字一致。在其下方的欄位中輸入說明文字, 然後按 Enter 即可繼續在其下方書寫。
將滑鼠停留在影片上或選取它,其角落會顯示 Replace video 和 Delete video。 在選取的影片上按 Tab 會移到播放器,按空白鍵即可播放,然後依序移到說明文字和 這兩個按鈕。按 Escape 返回該區塊。
上傳遵循媒體庫的大小限制
maxUploadSize,除非你調高,否則為 50 MiB。
新增 HTML、CSS 和 JavaScript
HTML 區塊用於存放其他區塊無法表達的程式碼,例如嵌入內容、註冊表單或小型小工具。它的分頁有 HTML、CSS、JS 和
Preview。每個程式碼分頁都是一個程式碼編輯器,按 Tab 鍵會縮排;按 Escape 鍵可返回周圍的文字。CSS 和 JS
分頁是選用的:你也可以把包含 <style> 和 <script> 元素的完整程式碼片段直接貼到 HTML 分頁中。
Preview 會依你的站台算繪的方式顯示該區塊。開啟條目時,執行 JavaScript 的區塊會等到你選擇 Run preview 後才執行, 因此有問題的指令碼不會讓編輯器當機。
區塊的選單用於設定你的站台如何算繪它:
- Isolated frame 會在一個隨內容自動增高的沙箱框架中執行該區塊的 HTML、CSS 和 JavaScript。該框架無法讀取你站台的
Cookie、儲存空間或頁面,你站台的樣式也不會影響它。相對連結從你站台的根目錄解析。訪客在框架內點擊之後,框架可以在訪客
目前的分頁或新分頁中開啟其他頁面。新的 HTML 區塊使用此模式,但從其他網站或瀏覽器分頁貼進來的區塊不使用。
不要像
height: 100vh那樣依框架的視口來設定內容尺寸:框架會增高以容納內容,而這會讓內容再次變高,一直持續到框架 達到 20,000 像素為止。 - Inline 會把 HTML 放入頁面中,並使用你站台的樣式。你的站台會保留文字格式、連結、清單、表格、圖片和 iframe,
並移除其他標記,例如指令碼、
<style>元素、style屬性、媒體和表單控制項。來自 YouTube 和 Vimeo 以外網站的 iframe 會被清空。內嵌區塊沒有 CSS 或 JS 分頁。
搜尋引擎可能不會把隔離框架內的文字視為頁面的一部分。請把對搜尋重要的文字放在段落或內嵌區塊中。
嵌入其他網站的頁面
iframe 區塊用於顯示其他網站的頁面,例如影片、地圖或表單。輸入 /iframe,然後將該網站的嵌入程式碼或連結貼到 Code 分頁中。
YouTube 和 Vimeo 的連結會變成它們各自的播放器,其他任何 https 連結則照原樣嵌入。Preview 會顯示被嵌入的頁面。
開啟條目時,已儲存的區塊會等到你選擇 Load preview 才載入,因此在你提出要求之前,管理後台不會載入其他網站的頁面。
從其他網站或瀏覽器分頁貼進來的 iframe 區塊是空的。
只有 https 頁面可以被嵌入,並且該區塊只保留嵌入程式碼中它所需要的部分:位址、標題、尺寸、全螢幕支援,以及播放器使用的權限。 有些網站拒絕出現在其他網站的頁面內;它們的預覽會保持空白,或顯示來自該網站的錯誤。
執行指令碼而不是 iframe 的嵌入程式碼(例如某些社群媒體貼文)應放入 HTML 區塊。
儲存草稿變更
第一次儲存之後,編輯器會在你停止輸入兩秒後自動儲存變更。Save 按鈕會依序變為 Saving… 和 Saved,讓你確認伺服器已接受 草稿。自動儲存會取代目前的自動儲存修訂,而不是在每次停頓時都用一個 檢查點填滿修訂歷程。
如果希望編輯過程中的某個時間點保留在修訂歷程中,請選擇 Save。如果 儲存失敗,編輯器會保留未儲存的欄位並顯示錯誤。在按鈕恢復為 Saved, 或你已將未儲存的內容複製到別處之前,請不要離開頁面。
對於已發布的條目,儲存變更只會更新其草稿。訪客仍會收到 之前的線上修訂。使用 Preview draft 檢查待發布版本,使用 Live View 檢查 公開版本,當草稿準備好取代它時,使用 Publish changes。
變更已發布條目的 slug 遵循相同的草稿流程。公開 URL 會在你 發布草稿時變更,而不是在自動儲存執行時變更。
與其他編輯者協作
開啟條目會為該條目和地區設定取得編輯鎖。如果其他人已經 開啟了它,EmDash 會標明鎖的持有者,並提供兩個選擇:
- Open read-only 以不接受編輯的方式顯示條目,這樣你就不會輸入 會被捨棄的內容。
- Take over 將鎖交給你。對方會保留已輸入的內容,但在兩分鐘內 對方的編輯器會提示你持有該條目。對方的下一次儲存會被拒絕。
條目開啟期間,鎖會持續續期,當你離開編輯器或關閉分頁時釋放。 如果瀏覽器或電腦在未釋放鎖的情況下關閉,鎖會在最後一次 續期的七分鐘後過期。
鎖對每個地區設定是獨立的,因此兩個人可以編輯同一條目的不同翻譯。 當另一位編輯者持有鎖時,指令碼、API 用戶端或 MCP 用戶端同樣會被拒絕, 除非使用文件中說明的覆寫方式。完整的 API 行為請參閱條目編輯鎖, MCP 工具請參閱 內容生命週期與署名。
管理員可以在 Content Types 下依序開啟集合、Edit locking, 為集合關閉鎖定。
發布或排程變更
發布和排程使用不同的控制項:
- Publish now 在確認後將新草稿上線。
- Publish changes 在確認後將已發布條目的待發布變更上線。
- Schedule 設定新條目或待發布變更上線的時間。
- Change schedule 更新既有的排程。
- Remove schedule 取消既有的排程。
- Unpublish 將線上修訂從公開查詢中移除,取消所有排程,並保留 一份可編輯的草稿。
要為條目排程,請先儲存,選擇發布摘要下方的 Schedule,然後選擇一個 未來的日期和時間。編輯器會顯示排程所用的時區。在該時間之前, 目前的線上修訂保持公開;對於新條目,則尚無任何公開內容。
Node.js 部署會自動執行排程發布掃描。Cloudflare Workers 需要 Cron Trigger。Cloudflare 入門範本已包含它;現有部署可以依照 排程發布驗證觸發器。
查看發布日曆
日曆會顯示各集合中已發布和已排程的內容。Contributor 及更高角色可以從側邊欄或指令面板開啟 Calendar。當有內容 已排程時,儀表板的 Scheduled 計數也會連結到日曆。
日曆有兩種檢視:
- Month 顯示日期格線。已發布的條目顯示為一般行,已排程的條目顯示為 卡片。懸停或聚焦某個條目可查看其完整標題、狀態、時間和集合。當某一天 的條目多到放不下時,選擇 +N more 即可全部列出。
- Agenda 依天列出該月,並顯示每個條目的時間。在目前月份中,今天之前的日期 預設摺疊,除非其中某天有逾期條目,紅線標記目前時刻。
在手機或其他窄螢幕上,日曆會以 Agenda 開啟,Month 則顯示一個 日期選擇器,有條目的日期上帶有圓點。選擇某一天即可列出其條目。
選擇某個條目可在側邊面板中開啟其詳細資料,按住 Ctrl 點擊(macOS 上為 Cmd 點擊)則會 在新分頁的編輯器中開啟。面板顯示條目的狀態、時間、集合、地區設定和 翻譯、署名以及最後編輯時間。在面板中,你可以在編輯器中開啟條目、預覽已排程的變更, 或在站台上查看已發布的條目。如果你有權發布該條目 (Author 可發布自己的條目,Editor 及更高角色可發布任何條目), 還可以重新排程、移除排程,或立即發布逾期的條目。在手機上,面板會以 螢幕底部的面板形式開啟。
使用 Filter 可依集合和狀態縮小兩種檢視的範圍,在多語言站台上還可依地區設定縮小範圍。篩選器、檢視、月份和已開啟的條目 都保存在頁面 URL 中,因此你可以將其加入書籤或分享。
條目依站台所在時區放置在相應日期上,日曆會在月份旁邊標明該時區。如果你的 瀏覽器使用不同的時區,日曆會給出提示,條目時間也會以你自己的 時區顯示。
日曆會顯示:
- 已發布的條目,顯示在其發布日期;
- 已排程的條目,顯示在其排程日期;以及
- 已發布條目的已排程變更,顯示在其排程日期,並標記為 Update。變更 上線後,該條目只會顯示在其原始發布日期。
排程時間已超過兩分鐘的排程會標記為 Overdue。這通常意味著 排程發布掃描沒有執行;請參閱發布或排程變更。
日曆不包含沒有排程的草稿、垃圾桶中的條目,以及在側邊欄中隱藏的 集合。儀表板的 Scheduled 計數涵蓋所有月份並包含隱藏的集合,因此 可能高於日曆為某一個月顯示的數量。
日曆每月最多載入 1,000 個條目,包括格線中顯示的 相鄰月份的日期。條目更多時,它會說明已載入的條目截止到哪一天,並將 之後的日期標記為未載入。
還原修訂
支援修訂的集合會在設定面板中顯示 Revisions。展開它可查看已儲存的 版本以及各版本之間變更的欄位。選擇一個修訂以查看其內容,如果想再次使用 該版本,請選擇 Restore。
還原會建立一個包含所選內容的新修訂。它不會刪除之前的 修訂,因此之後你仍然可以查看完整的歷程序列。
翻譯條目
當啟用國際化後,Translations 面板 會顯示目前條目已設定的地區設定。
-
開啟來源條目,在設定面板中找到 Translations。
-
為尚無條目的地區設定選擇 Translate。
-
編輯複製過來的標題、slug、本文和其他可翻譯欄位。
-
選擇 Save,然後在準備好時發布或排程該翻譯。
每個翻譯都有自己的 slug、發布狀態、排程和修訂歷程。使用集合頁面上的地區設定 選擇器可一次查看一種語言。
將內容移入垃圾桶
開啟條目的動作選單,或在集合頁面上選擇一列或多列,然後選擇 Move to Trash。移入垃圾桶的條目不再出現在一般內容查詢中,但仍可在集合的 Trash 分頁中找到。
在 Trash 中,選擇 Restore 可將條目放回集合。還原的條目會以 無排程的草稿形式返回。發布後即可公開。
自動化內容工作
REST API 和 EmDash CLI 支援相同的草稿和發布工作流程。集合欄位屬於
請求的 data 物件內部。更新會儲存一份草稿修訂;發布是單獨的操作。
更新或發布時請傳入最新的 _rev 值,這樣伺服器會拒絕過期的寫入,而不是
覆寫較新的工作成果。
狀態轉換、權限、衝突和鉤子請參閱內容生命週期參考。 REST API 參考定義了請求和回應本文, CLI 參考涵蓋了等效的終端機指令。