Listora
带审核的本地目录:搜索、地图、10 种列表类型、会员提交、评价、认领和仪表板。
插件
Listora
带审核的本地目录:搜索、地图、10 种列表类型、会员提交、评价、认领和仪表板。
描述
Listora 把 EmDash 站点变成本地目录。访客可以搜索并在地图上浏览列表。会员可以添加列表、撰写评价、收藏喜欢的条目并认领商家。所有内容在上线前都由你在后台批准。
你将获得
- 目录与搜索。 关键词和位置搜索,按类型、分类和城市筛选,网格和列表视图,精选行和地图。
- 10 种列表类型。 从商家、餐厅到活动、招聘和房地产,每种都有自己的字段和 schema.org 类型。
- 会员提交。 五步表单,带重复检查、屏蔽词列表和每小时限额。
- 评价与认领。 每位会员对每个列表只能评价一次,商家的所有者可以认领自己的商家。两者都需等待批准。
- 所有者工具。 所有者可以编辑自己的列表、添加照片、阅读访客的留言、回复评价,并为即将到期的列表续期。编辑、照片和回复都需等待你的批准。
- 照片与到期。 每个列表都有图库,并可选择设置列表保持上线的天数。
- 导入与导出。 将列表下载为电子表格,或从 CSV 文件以草稿形式添加,每次 100 个。
- 后台审核。 为所有待处理内容设置队列、统计数量的仪表板卡片,以及 Settings 页面。
它如何协同工作
Listora 是引擎:路由、存储和后台界面。EmDash 插件无法为站点添加页面,所以公开页面以套件形式提供,用一条命令即可复制进去。请为开发者预留十分钟。参见“安装”。
访客可以浏览列表并向列表留言。添加、评价、收藏和认领需要账号。
它请求的权限
- 内容(读取、写入、发布)和内容类型(读取):列表就是你站点上的内容。
- 分类(读取、分配):表单会提供你自己的分类。
- 媒体(添加):所有者的照片。
- 电子邮件(发送):当有留言等待处理或列表即将到期时,向所有者发送简短通知。不会通过电子邮件发送任何访客文字,并且每种通知都可以关闭。
安装
安装之前
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:暂不支持。 在 Cloudflare Workers 上,EmDash 为每次插件调用向站点提供 10 个请求,而此插件的若干页面和操作需要更多,因此会失败。适配的版本正在开发中。Node 站点不受影响。
停止开发服务器并重新启动。现在后台菜单中会显示 Registry。
2. 插件是引擎。访客页面来自它的站点套件。 注册表插件无法为你的站点添加页面。在你复制套件之前,它的地址(例如 /listings/)会显示你站点的 404 页面。这是正常现象。下面的套件复制只需一条命令。
3. 你需要 Node 22.16 或更高版本,用于 npx emdash seed 这一步。
已在 EmDash 1.3.1 上以 Node 上的 blog 模板验证。
安装步骤
-
Admin、Registry,搜索 Listora,Install,然后接受权限。
-
在你站点的根文件夹中运行:
kit="$(mktemp -d)" && git clone --depth 1 \ --branch v0.6.3 \ https://github.com/wbcomdesigns/emdash-listora \ "$kit/emdash-listora" && "$kit/emdash-listora/scripts/add-to-site.sh" . -
运行打印出的 seed 命令。重启开发服务器。
-
在 Admin、Menus 中添加打印出的菜单链接。
-
打开 Listora,Get started。
每次更新后,请使用新标签重新运行第 2 步。
完整指南:https://github.com/wbcomdesigns/emdash-listora/blob/v0.6.3/docs/website/getting-started/install.md
常见问题
为什么安装后 /listings/ 是 404?
EmDash 插件无法创建页面。请运行“安装”中的设置命令,把页面添加到你的站点,然后重新加载。
访客可以添加列表或评价吗? 不可以。访客可以浏览,并可向列表留言。添加列表、评价、收藏和认领需要已登录的账号,这样可以减少垃圾内容,并让每个列表都有所有者。
新列表会立即上线吗? 只有在你于 Settings 中关闭审批时才会。开启审批时(这是默认设置),列表会在队列中等待,直到你批准。所有者的编辑、照片和对评价的回复始终需要等你批准。
它支持深色模式吗? 支持。套件的颜色会跟随你站点的主题。
它会发送电子邮件吗? 如果你的站点设置了电子邮件,它会向列表所有者发送两种简短通知:有留言在等待,以及你的列表将在七天后到期。两者都不包含访客文字,并且都可以在 Settings 中关闭。没有电子邮件时,所有者仍可在自己的账号中看到一切。
有付费版本吗? 没有。这里的一切都是免费的。
我可以在博客文章中显示列表吗?
可以,只需多一步。套件中包含一个用于文章和页面文本的 Listings 区块,你需要在 astro.config.mjs 中启用它。安装指南中有需要添加的行。
我可以从电子表格迁入列表吗?
可以。站点管理员可以在 /listings/import/ 导入 CSV 文件。各行会先经过检查,并以草稿形式导入,每个文件最多 100 行。
更新日志
0.6.3
更新后请再次复制套件,在你站点的根文件夹中运行:
kit="$(mktemp -d)" &&
git clone --depth 1 \
--branch v0.6.3 \
https://github.com/wbcomdesigns/emdash-listora \
"$kit/emdash-listora" &&
"$kit/emdash-listora/scripts/add-to-site.sh" .
- 修复:中途中断的批准会让列表或照片回到队列;More reviews 上方在评价表单之前留有间距;损坏的评价链接会显示一条简单的消息。
- 改进:账号选项卡在手机上会换行;评价数量超过 10 时,账号会显示完整的评价数量;在全新站点上,Settings 会注明 /listings/import/。
0.6.2
更新后请再次复制套件。
- 新增:Get started 会给出已安装版本对应的套件命令,以及它添加的访客地址。
- 修复:在大型站点上,列表不再止于 100 行;队列中的示例列表可以批准;过期的第二次决定会被拒绝;空目录会明确说明;深色模式按钮对比度达到 4.5:1。
- 安全:新列表会限制每个字段的存储长度;公开的健康检查不会写入任何内容。
- 改进:后台分组命名为 Listora,评价页面命名为 Listing reviews。
0.6.1
- 安全:地图弹窗以纯文本显示列表标题;电子邮件只以纯地址形式存储。更新后请再次复制套件。
- 修复:续期和编辑会跟随列表当前的所有者。
0.6.0
- 安全:网站链接必须是完整的 http 或 https 地址;服务器端调用在 EmDash 内部运行,不经过网络请求。
- 改进:设置分选项卡显示,每个后台列表都有 Find 和 Load more,所有访客可见的文字集中在一个文件中。更新后请再次复制套件。
更早的版本:https://github.com/wbcomdesigns/emdash-listora/blob/main/CHANGELOG.md