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" .