管理面板

本頁內容

管理面板是 EmDash 網站附帶的編輯介面。它由 Astro 應用程式在 /_emdash/admin/ 提供服務,使用與公開頁面相同的資料庫、媒體儲存、內容模型和外掛。

首次造訪新網站的管理路由時會開啟設定精靈。設定完成後,已登入使用者的權限決定了哪些內容和管理工具可用。

工作區域

導覽會適配網站的集合和已安裝的外掛。編輯器或管理員可能看到的主要區域如下:

區域用途
儀表板包含網站和外掛小工具的起始檢視
集合名稱,如文章列出、建立、編輯、發布項目和將項目移到資源回收筒
集合群組可摺疊的資料夾,包含共用群組的集合,以及僅指派給該資料夾中集合的分類法
媒體上傳、搜尋、檢查、取代和刪除檔案
分類法和署名組織內容和管理署名作者
選單和小工具區域管理導覽和由網站渲染的編輯器控制區域
留言在集合啟用留言時審核和管理留言
內容類型建立集合和欄位,變更其設定
外掛安裝、設定和開啟外掛提供的頁面
設定設定網站、身分驗證、備份、郵件、搜尋和其他服務

此介面管理資料和設定。Astro 頁面和元件仍然定義公開佈局。在管理後台新增選單項目或小工具,只有當 Astro 元件查詢並渲染該選單或小工具區域時,才會改變公開網站。

內容編輯器

內容編輯器根據所選集合建構表單。短文字欄位變為文字輸入,portableText 欄位變為富文本編輯器,媒體欄位開啟媒體選擇器,參照欄位允許編輯器選擇另一個項目。集合設定會在適用的地方新增發布、預覽、修訂、留言和搜尋控制項。

富文本編輯器支援標題、清單、引用、程式碼、連結、圖片和已註冊的自訂區塊。如果匯入的內容包含編輯器無法顯示的區塊,EmDash 會保留儲存的區塊,而不是在下次儲存時刪除它。

儲存和發布是具有草稿的集合的獨立狀態。儲存將目前工作存為草稿。發布發布變更使該儲存版本可用於公開查詢。排程發布記錄了草稿或待處理變更應何時公開。

當集合啟用了編輯鎖定時,開啟一個項目會為該編輯器保持鎖定。鎖定活躍時,其他寫作者會被拒絕,而不是默默覆寫項目。如果編輯器載入項目後項目發生了變更,EmDash 也會拒絕過時的儲存,這樣編輯器可以重新載入較新的版本而不是覆寫它。

角色和權限

EmDash 包含五個角色:訂閱者、投稿者、作者、編輯和管理員。權限隨角色級別的提高而增加,但所有權對於內容和媒體操作仍然重要。例如,作者可以編輯和發布自己的項目,而編輯可以對任何項目執行此操作。

管理區域有獨立的權限檢查:

  • 編輯可以管理分類法、選單、署名、小工具、區段和其他作者的內容。
  • 管理員可以變更內容模型、使用者、外掛、重新導向、備份和設定,並可以永久刪除資源回收筒中的內容。
  • 伺服器會檢查每個操作的權限。隱藏導覽項目不是安全邊界。

有關帳號設定和完整的角色描述,請閱讀身分驗證和使用者角色

媒體

媒體庫可以以網格或清單形式顯示檔案,搜尋和篩選檔案,顯示中繼資料,並執行多項目操作。上傳行為取決於設定的儲存轉接器。當轉接器支援簽署上傳時,瀏覽器使用短期簽署 URL 將檔案傳送到儲存,然後向 EmDash 確認上傳完成。

刪除媒體項目可能會影響參照它的項目。在刪除公開頁面上使用的資源之前,請使用媒體使用資訊和取代工具。有關上傳、取代和刪除工作流程,請參閱媒體庫

外掛介面

外掛可以新增儀表板小工具、設定區段、編輯器控制項或完整的管理頁面。外掛頁面掛載在該外掛自己的管理路由下;它不能取代核心管理介面。即使管理連結僅向特定角色顯示,外掛仍然需要對任何受保護操作進行伺服器端權限檢查。

要新增擴充功能,請閱讀安裝外掛。建構介面的網站開發者應該使用原生外掛管理 API,而不是修改核心管理應用程式。

設定要求

管理後台是一個 React 應用程式,因此 Astro 專案必須安裝 @astrojs/reactreactreact-dom,並在 astro.config.mjs 中註冊 react()。網站還需要伺服器輸出、資料庫和媒體儲存。完整的本機設定請參見將 EmDash 新增到現有 Astro 專案