KnowX Knowledge Base
EmDash 的可搜尋知識庫:分類、文章回饋,以及讀者搜尋內容的報告。
外掛
KnowX Knowledge Base
EmDash 的可搜尋知識庫:分類、文章回饋,以及讀者搜尋內容的報告。
描述
KnowX 把 EmDash 網站變成說明中心。訪客可以搜尋答案、瀏覽主題,並告訴你一篇文章是否有幫助。你可以看到哪些搜尋沒有結果,以及哪些文章的「否」票多於「是」票。
你將獲得
- 說明首頁。 一個搜尋框與若干主題卡片。當你有多個頂層分類時,每張卡片會顯示名稱、簡短描述與你選擇的圖示。
- 文章。 目錄、標題上的複製連結、程式碼上的複製、上一篇與下一篇、最後更新日期,以及選用的版本徽章。
- 搜尋。 使用 EmDash 自帶的搜尋,僅限你勾選的內容類型。輸入時即時顯示結果,另有結果頁面。每個結果都會說明它是哪種內容。
- FAQ。 有自己的頁面,並為搜尋引擎提供 FAQ 資料。
- 這篇文章有幫助嗎。 每篇文章都有「是」或「否」。在選擇「否」之後,可以請讀者留下一則簡短留言。
- 仍需協助。 在搜尋無結果之後與投下「否」票之後,顯示一個聯絡按鈕。你設定一個連結。該設定為空時會隱藏。
- 洞察與搜尋。 依名稱列出成效不佳的文章、以純文字顯示的留言、熱門搜尋,以及沒有結果的搜尋。
- 儀表板卡片。 本週的無結果搜尋,以及最沒有幫助的文章。
它如何協同運作
KnowX 是引擎:路由、儲存與後台介面。EmDash 外掛無法為你的網站新增頁面,所以公開頁面以網站套件的形式提供,只需複製一次。參見「安裝」。
當主機向 EmDash 提供訪客的位址(Cloudflare,或 trustedProxyHeaders)時,訪客可以搜尋、閱讀與投票。在其他環境中,訪客需要透過登入連結才能投票,會員則照常投票。
安裝
安裝之前
1. 你的網站需要沙箱執行器。 登錄庫外掛在沙箱中執行。在網站具備沙箱執行器之前,Admin、Plugins 會顯示「No plugins configured」,選單中也沒有 Registry。
- Node: 在你的網站中執行
npm install @emdash-cms/sandbox-workerd workerd,然後在astro.config.mjs的emdash()內加入sandboxRunner: "@emdash-cms/sandbox-workerd/sandbox",。 - Cloudflare: 加入
import from "@emdash-cms/cloudflare";與sandboxRunner: sandbox(),。它需要 Workers Paid 方案、名為LOADER的worker_loaders繫結(在你的 Wrangler 設定中取消註解),以及作為storage: r2(...)的 R2 儲存貯體,否則安裝會因 “Storage error while installing plugin” 而中止。然後執行npm run deploy。
停止開發伺服器並重新啟動。現在後台選單中會顯示 Registry。
2. 外掛是引擎。訪客頁面來自它的網站套件。 登錄庫外掛無法為你的網站新增頁面。在你複製套件之前,它的位址(例如 /docs/)會顯示你網站的 404 頁面。這是正常現象。下面的套件複製只需一道指令。
3. 你需要 Node 22.16 或更新版本,用於 npx emdash seed 這一步。
已在 EmDash 1.3.1 上使用 blog 範本驗證,包括 Node 與 Cloudflare Workers(透過登錄庫安裝)。
安裝步驟
-
Admin、Registry,搜尋 KnowX,Install,然後接受權限。
-
在你網站的根資料夾中執行:
kit="$(mktemp -d)" && git clone --depth 1 \ --branch v0.2.1 \ https://github.com/wbcomdesigns/emdash-knowx \ "$kit/emdash-knowx" && "$kit/emdash-knowx/scripts/add-to-site.sh" . -
重新啟動開發伺服器。
-
在 Admin、Menus 中加入
/docs/與/docs/faq/。 -
開啟 KnowX、Insights,然後在 Content、Help articles 中新增文章。
每次更新後都要再次執行第 2 步。指南:https://github.com/wbcomdesigns/emdash-knowx/blob/v0.2.1/docs/website/getting-started/install.md
常見問題
為什麼安裝後 /docs/ 是 404?
外掛無法建立頁面。請執行「安裝」分頁中的兩行套件指令,然後重新啟動開發伺服器。
透過登錄庫安裝後,投票或搜尋記錄失敗?
請複製最新的網站套件。舊套件只呼叫 /plugins/knowx/。透過登錄庫安裝會使用產生的 id。最新的套件會先嘗試該 id,再嘗試名稱。
訪客可以投票和搜尋嗎?
搜尋與閱讀一律可以。投票則要在主機向 EmDash 提供訪客位址(Cloudflare,或 trustedProxyHeaders)時才行;在其他環境中,訪客會看到登入連結,會員則可投票。
搜尋會尋找文章和頁面嗎? 只會尋找你在 Settings 中勾選的內容類型。Help articles 預設開啟。在其集合中關閉了搜尋的類型不會傳回結果。
它會寄送電子郵件嗎? 不會。聯絡按鈕是你設定的一個連結:一個頁面、一個 http(s) 位址,或一個 mailto 位址。
它支援深色模式嗎? 支援。套件的顏色會跟隨你網站的主題。
有付費版本嗎? 沒有。這裡的一切都是免費的。
我可以在文章中放一個搜尋框嗎? 透過登錄庫安裝不行。那需要受信任的安裝,而它不屬於此版本。
變更記錄
0.2.1
從 0.1.x 更新後,Insights 會顯示其升級進度,直到完成。
- 修正 - 在 0.1.x 的投票仍在遷移期間,Insights 不再顯示「None yet」。
- 修正 - 在頁面指令碼載入之前點擊「是」或「否」,現在會被保留並傳送。請再次複製套件。
0.2.0
現在每個說明頁面、投票、搜尋與後台介面都符合 Cloudflare 每次外掛呼叫 10 個請求的上限。
- 新增 - 每篇文章保留持續更新的「是」與「否」計數,隨投票更新。
- 新增 - 新的 Searches 畫面包含熱門搜尋與無結果的搜尋。
- 新增 - 0.1.x 的資料會在開啟 Insights 時一步一步遷移過來。
- 改進 - 「這篇文章有幫助嗎」會立即回應點擊,並顯示投票正在傳送。請再次複製套件。
- 修正 - 在 Cloudflare 上,投票已儲存後不再顯示「Something went wrong」。
- 修正 - 在 Cloudflare 上,Insights、Settings 及其動作在繁忙的網站上不再失敗。
- 修正 - 設定卡片會說明在沒有 SQLite 的網站上應在哪裡建立內容類型。
0.1.5
- 安全性:只有在主機向 EmDash 提供訪客的位址時,才會統計訪客的投票與搜尋;在其他環境中,訪客需登入後才能投票。搜尋記錄上限為 5000 個詞條。
- 新增:一道指令即可複製套件並建立內容類型。Insights 會顯示 Set up visitor pages 卡片,Top searches 支援尋找與分頁。
- 修正:Insights 會統計每一次搜尋與投票;說明頁面與佈景主題框架對齊;深色模式按鈕對比度達到 4.5:1。
更早的版本:https://github.com/wbcomdesigns/emdash-knowx/blob/main/CHANGELOG.md
要複製此版本的套件,請在你網站的根資料夾中執行:
kit="$(mktemp -d)" &&
git clone --depth 1 \
--branch v0.2.1 \
https://github.com/wbcomdesigns/emdash-knowx \
"$kit/emdash-knowx" &&
"$kit/emdash-knowx/scripts/add-to-site.sh" .