外观
编辑团队与权限
这个站没有编辑部,但必须有人对内容负责。所以设了三层角色:站长只有一个人,编辑可以写但不能直接发布,投稿者不需要任何账号。
三种角色
| 角色 | 能做什么 | 不能做什么 | 需要什么 |
|---|---|---|---|
| 站长 | 发布、驳回、删改任何内容,管理站点配置 | —— | 仓库所有者,通常 1 人 |
| 编辑 | 进后台写稿、改稿、传图、保存为「待审核」 | 直接上线 | 一个 GitHub 账号 |
| 投稿者 | 用在线投稿工具生成文件发给你 | 进后台 | 什么都不需要 |
关键设计
编辑写的任何东西都不会自动上线。保存后只会生成一份「待审核」草稿,站长点「发布」才会真正出现在网站上。这是后台的 editorial_workflow 模式在起作用,不是靠人工自觉。
后台地址
你的网址 /admin/例如 https://friday402-12.github.io/yunyang-wiki/admin/(绑定了自己的域名,就换成那个域名)。
这个地址由构建自动推导,
admin/config.yml里的site_url/logo_url会在每次构建时对齐到真实域名,不用手动改。
这个页面不会被搜索引擎收录,也不会出现在导航里,只有知道地址的人能进。但看到登录页不等于有权限——没有 GitHub 账号授权,什么也改不了。
怎么给一个人开编辑权限
方式一:令牌登录(最简单,不用配任何服务器)
适合人数少、彼此信任的小团队(3–5 人)。每个编辑自己做一次,五分钟搞定。
- 打开 GitHub,进入 Settings → Developer settings → Personal access tokens → Fine-grained tokens
- 点 Generate new token,Repository access 选 Only select repositories,勾选本站仓库
- Permissions 里设置两项:
- Contents → Read and write
- Pull requests → Read and write
- 生成后复制那串
github_pat_...(只显示一次) - 打开本站
/admin/,点 Sign In with Token,粘贴进去
搞定。之后浏览器会记住,不用每次登录。
令牌等于密码
- 不要发到群里、不要截图、不要写进文档
- 令牌泄露 = 别人能以你的名义改仓库
- 建议设 90 天有效期,到期重新生成
- 某人退出团队,站长要让他立刻删除令牌
方式二:OAuth 登录(体验最好,但要配一次中转)
编辑点「用 GitHub 登录」就能进,不用碰令牌。缺点是 GitHub 不开放纯前端授权,必须部署一个 OAuth 中转(免费的 Cloudflare Worker),只需要站长配一次。
配置步骤见项目 README 的「开通编辑后台」一节。配好之后,编辑的体验和普通网站登录没有区别。
方式三:不加权限,走 PR 审核
如果只是想让某个人偶尔改一次,不用给他开权限。他可以在后台改完提交,系统会自动复制一份到他的账号下并开一个合并请求,你在 GitHub 上点 Merge 才会生效。
这个能力由配置里的 open_authoring: true 开启,默认已经打开。同时必须写 auth_scope: public_repo,否则 Sveltia 会报配置警告,并且会向编辑索取「所有仓库」的过大的权限——对一个只需要修个错字的同学来说,这个授权范围不该给。
审核规则
站长在后台看到「待审核」时,按这三条判断:
直接通过
- 补充事实、修正错误、更新过期信息
- 语气平实,没有情绪化表达
- 来源可核实(本人经历、官方通知、现场确认)
改完再通过
- 内容有用但结构乱 → 帮忙分个小标题
- 有错别字、口语太重 → 顺手改掉
- 缺摘要、缺日期 → 补上
驳回
- 对具体老师的负面评价,无论是否有依据
- 他人隐私:电话、成绩、住址、身份证
- 未经证实的传闻:「听说食堂要涨价」「据说某老师要调走」
- 版权材料:教材扫描件、试卷原文、付费资料
- 广告:推荐具体商家并附联系方式
一条底线
驳回时要说明理由,不要默默拒掉。一个人认真写了东西被无声无息地毙掉,他就不会再写第二次了。哪怕只回一句「这段涉及对老师的评价,我们暂时不收,其他部分我拆出来发了」,效果也完全不同。
编辑守则
写给已经拿到权限的人,六条:
- 不要删别人的内容。 觉得该删,先问作者或站长。
- 改事实,不改观点。 只要事实没错,作者的语气和措辞尽量保留。
- 动大结构前先说一声。 比如把一个栏目拆成两个。
- 一次改一件事。 一次提交里混着五处不相关的修改,审核时很难判断。
- 不确定就问,不要猜。 尤其是电话、价格、时间这类会误导人的数字。
- 每年至少回头看一眼自己负责的栏目。 校园信息一年就烂,页面上那个「内容可能过期」的黄条就是在提醒这件事。
常见问题
Q:编辑能删掉整篇文章吗? 在后台不能,后台只提供保存和提交。真要删,需要站长在仓库里操作。这是故意设计的——防止误删。
Q:两个人同时改同一篇会冲突吗? 会。后台不做锁,后保存的覆盖先保存的。所以约定一下:改之前说一声,或者各改各的文章。
Q:编辑能看到别人写的草稿吗? 能,后台里所有待审核的条目都可见。这也是为什么只给信任的人开权限。
Q:站长毕业了怎么办? 仓库所有权可以转移,或者提前指定一个共同维护者。这件事应该在你还活跃的时候做,而不是等毕业。 见参与共建里关于长期维护的说明。