feat: 管理台搜索/分区刷新、评论人员体系、相关项目,修复内容源自动获取,完善 MCP 自描述
管理台: - 内容管理新增名称搜索(title/slug/url/description),状态与翻页链接保留搜索词 - 菜单改为真实链接,每次点击重新向后台取数渲染分区,不再依赖手动刷新 - 内容管理每页固定 20 条 - pending 条目按钮改为「预览」,active 为「查看」 评论体系: - 评论提交新增必填联系方式(手机号/邮箱),前端不做展示 - 首次评论以「昵称+联系方式」建档,之后需匹配且未被禁用 - 后台评论管理新增联系方式列;新增评论人员管理页,可启用/禁用/改名/删除 - 评论昵称输入框不再预置 admin 相关项目: - 新增 entry_relations 双向关联,详情页侧栏展示并写入机读 JSON - 编辑页可添加/移除关联 内容源自动获取: - 修复 rss 适配器把 feed url 当成条目 url 的根本问题,支持 Atom link/href 与相对链接 - eryajf-weekly 限定正文容器取链接,修正项目说明的提取与「(opens new window)」清理 - pipeline 增加轮内去重与单条失败隔离;scheduler 对非法 cron 明确告警 MCP: - 重写 instructions 为八节说明,新增 usage 工具返回结构化接入文档 - 补全各工具的参数、用途与返回格式说明;baseUrl 取自当次请求 - 首页 MCP 区块与 README 同步补充写入示例与踩坑清单 测试: 新增 comments/relations/admin/ingest-adapters 用例,共 29 个全部通过
This commit is contained in:
@@ -732,6 +732,20 @@ button.chip:hover {
|
||||
.step pre .s {
|
||||
color: #ffd9a0;
|
||||
}
|
||||
.step pre .c {
|
||||
color: #7d86a8;
|
||||
font-style: italic;
|
||||
}
|
||||
.tools-table td:nth-child(2) {
|
||||
font-family: var(--font-mono);
|
||||
font-size: 11.5px;
|
||||
color: var(--dim-on-panel);
|
||||
white-space: nowrap;
|
||||
}
|
||||
.tools-table td:last-child {
|
||||
color: var(--dim-on-panel);
|
||||
line-height: 1.6;
|
||||
}
|
||||
.tools-table {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
@@ -2035,6 +2049,113 @@ button.chip:hover {
|
||||
}
|
||||
}
|
||||
|
||||
.mcp-pitfalls {
|
||||
margin-top: 30px;
|
||||
padding: 20px 22px;
|
||||
border: var(--border);
|
||||
border-radius: 12px;
|
||||
background: var(--paper);
|
||||
}
|
||||
.mcp-pitfalls ol {
|
||||
margin: 0;
|
||||
padding-left: 20px;
|
||||
display: grid;
|
||||
gap: 9px;
|
||||
}
|
||||
.mcp-pitfalls li {
|
||||
font-size: 13.5px;
|
||||
line-height: 1.7;
|
||||
color: var(--ink-dim);
|
||||
}
|
||||
.mcp-pitfalls li b {
|
||||
color: var(--ink);
|
||||
}
|
||||
.mcp-pitfalls .mono {
|
||||
font-size: 12.5px;
|
||||
}
|
||||
|
||||
/* ---------- 管理台:分区导航 / 搜索 / 评论人员 / 相关项目 ---------- */
|
||||
.admin-nav a[data-section] {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
border-radius: 8px;
|
||||
padding: 10px 12px;
|
||||
font-size: 14px;
|
||||
font-weight: 600;
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
}
|
||||
.admin-nav a[data-section][aria-current="true"] {
|
||||
background: var(--ink);
|
||||
color: var(--paper);
|
||||
}
|
||||
.admin-nav .admin-nav-refresh {
|
||||
margin-top: auto;
|
||||
padding: 9px 12px;
|
||||
border-radius: 8px;
|
||||
border: var(--border);
|
||||
font-family: var(--font-mono);
|
||||
font-size: 12px;
|
||||
color: var(--ink-dim);
|
||||
text-decoration: none;
|
||||
text-align: center;
|
||||
}
|
||||
.admin-nav .admin-nav-refresh:hover {
|
||||
color: var(--ink);
|
||||
border-color: var(--ink);
|
||||
}
|
||||
|
||||
.admin-search {
|
||||
display: flex;
|
||||
gap: 8px;
|
||||
align-items: center;
|
||||
margin-top: 14px;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
.admin-search .input {
|
||||
flex: 1;
|
||||
min-width: 240px;
|
||||
}
|
||||
|
||||
.related-list {
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
display: grid;
|
||||
gap: 10px;
|
||||
}
|
||||
.related-list li {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
gap: 10px;
|
||||
padding: 9px 0;
|
||||
border-bottom: 1px dashed var(--ink-faint);
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
.related-list li:last-child {
|
||||
border-bottom: 0;
|
||||
}
|
||||
.related-list li > a {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
min-width: 0;
|
||||
}
|
||||
.related-list li > a:hover b {
|
||||
color: var(--riso-blue);
|
||||
}
|
||||
.related-list .chip-type {
|
||||
flex: none;
|
||||
}
|
||||
aside .related-list li {
|
||||
display: block;
|
||||
padding: 10px 0;
|
||||
}
|
||||
|
||||
/* ---------- 降低动效 ---------- */
|
||||
@media (prefers-reduced-motion: reduce) {
|
||||
html {
|
||||
|
||||
Reference in New Issue
Block a user