三段论:知识星球富文本排版
把任意来源的内容整理成结构固定、视觉清爽、可直接粘贴进知识星球编辑器的 HTML。核心排版:居中主标题 → N 个「事实-逻辑-观点」模块(模块间灰色分隔线)→ 一句话总结。
第一步:拿到内容
- 直接粘贴的文字 / 文案 / 转写稿 → 直接使用
- txt、docx 等上传文件 → 从 /mnt/user-data/uploads 读取
- 文章链接 → 用 web_fetch 抓取正文
- 视频链接(抖音、B站、视频号等)→ fetch 通常只能拿到标题和简介,拿不到完整口播内容。先抓能抓到的;如果信息不足以支撑三段式,明确告知用户局限并请其提供转写稿。
- 事实和数据必须全部来自原始材料。材料里没有的信息宁可不写,绝不脑补编造。
第二步:规划模块
- 一个「事实-逻辑-观点」模块只讲一件事:一个事件 / 一个主题 / 一个标的。
- 单模块正文(三段合计,含标点,不含「【事实】」等标签和模块标题)硬性 ≤500 字。写完必须跑校验脚本确认。
- 模块数量:默认 2 个,最多 3 个。只有 2 个模块确实讲不完核心内容时才用第 3 个,绝不为了「覆盖全面」而增加模块。
- 内容聚焦:只围绕原始材料的核心主线和每个模块的主题取材;与核心无直接关系的背景铺垫、边角数据、附带内容直接舍弃。宁可少讲,不要跑题。
- 模块标题(不含「一、」这类序号)硬性 ≤15 字,同时要让人一眼知道发生了什么:「主体 + 动作/变化 + 结果」,写完数一遍字数,校验脚本也会检查。
- 好:「光模块放量大跌,资金流出创新高」(15 字,事件清楚)
- 差:「市场分析」(看不出发生了什么);「光模块板块单日放量下跌4%,主力资金净流出创三个月新高」(超长)
- 多模块时标题加序号(一、二、三……)。
第三步:写三段
- 【事实】 只陈述客观发生的事:时间、主体、数据、动作。不带评价。
- 【逻辑】 解释为什么会这样:因果链、机制、背景。承接事实、引出观点。
- 【观点】 给出判断和启示:这意味着什么、接下来该关注什么。涉及股票/投资内容时用分析性表述(如「关注」「留意风险」「值得跟踪」),避免「买入/卖出」式直接建议。
- 涉股内容固定规则:个股报告中,券商的评级与目标价是核心事实,写入【事实】段并注明券商与日期,帖子结尾加一行「评级与目标价为券商观点,不构成投资建议」;行业报告中附带的个股评级/目标价表不进帖子。无论哪种,【观点】段只给分析框架与验证清单。
- 【一句话总结】 全文只有一条,放在最末,提炼整篇最重要的判断,≤40 字,整句红色加粗。
第四步:配色规则
只用三种颜色,全部写成内联 style:
| 颜色 | 色值 | 用途 |
|---|---|---|
| 红 | #D32F2F | 核心判断、风险提示、必须记住的结论(主要在【观点】和总结) |
| 蓝 | #1565C0 | 重点数据及其关键前后文(主要在【事实】,每模块 1–3 处) |
| 灰 | #999999 | 仅用于分隔线 |
- 彩色(红+蓝)字符占正文总字符(不含分隔线)的 15%–30%。宁可偏少,不要满屏是色。
- 蓝色不是见数字就标:只标当条内容里最重要的 1–3 个数据,次要数据保持黑色。可以连同数据的关键前后文一起上色(如「净流出48亿元,规模为今年2月以来最大」),让读者扫到蓝色就能直接读懂这条数据的含义,不必只标裸数字。
- 一次只染短语(2–20 字),不要整段染色(一句话总结除外)。
- 标签「【事实】【逻辑】【观点】」用加粗,不上色。
第五步:HTML 模板(粘贴安全)
知识星球编辑器粘贴时只保留基础格式,必须遵守:
- 只用
<p><strong><span><br>四种内容标签 - 只用内联 style;允许的属性:
color、text-align:center;font-size只允许出现在主标题上(部分编辑器版本会丢弃字号,属正常降级,不影响其余排版) - 禁止
<div><h1>–<h6><hr><ul><ol><table><img>、class、<style>块和外部 CSS - 分隔线用灰色「────」字符段落实现,不用
<hr> - 每个模块用 HTML 注释
<!--M1--><!--/M1-->包裹(粘贴时不可见,供校验脚本定位模块边界) - 段落之间需要留白时用
<p><br></p>
固定骨架(按此生成,模块数按内容增减):
<!DOCTYPE html>
<html>
<head><meta charset="utf-8"></head>
<body>
<p style="text-align:center;"><strong><span style="font-size:19px;">主标题:一眼看懂发生了什么</span></strong></p>
<p><br></p>
<!--M1-->
<p style="text-align:center;"><strong>一、模块标题(直接说清事件)</strong></p>
<p><strong>【事实】</strong>客观陈述……重点数据连同前后文上色,如<span style="color:#1565C0;">净流出48亿元,创年内新高</span>;次要数据不上色……</p>
<p><strong>【逻辑】</strong>因果与机制……</p>
<p><strong>【观点】</strong>判断与启示……<span style="color:#D32F2F;">核心结论上红色</span>……</p>
<!--/M1-->
<p style="text-align:center;color:#999999;">─────────────</p>
<!--M2-->
<p style="text-align:center;"><strong>二、下一个模块标题</strong></p>
<p><strong>【事实】</strong>……</p>
<p><strong>【逻辑】</strong>……</p>
<p><strong>【观点】</strong>……</p>
<!--/M2-->
<p style="text-align:center;color:#999999;">─────────────</p>
<p><strong>【一句话总结】</strong><strong><span style="color:#D32F2F;">全文最重要的一个判断,不超过40字。</span></strong></p>
</body>
</html>
第六步:校验(必做,不可跳过)
python <本技能目录>/scripts/validate_zsxq_html.py <输出文件.html>
脚本检查:每个模块 ≤500 字、模块数量(默认 2 个、最多 3 个)、模块标题 ≤15 字(不含序号)、彩色比例 15%–30%、是否出现禁用标签、结构完整性(居中主标题 / 每模块三段标签齐全 / 分隔线 / 一句话总结)。任何一项不通过 → 修改后重跑,直到全部通过再交付。超字数优先删【逻辑】里的重复铺垫;彩色超比例优先给整句染色的地方瘦身,只保留短语。
第七步:交付
- 最终文件保存到 /mnt/user-data/outputs/,文件名用帖子主题的拼音或英文短语(如 guangmokuai-huitiao.html)。
- 用 present_files 交给用户。
- 告诉用户用法:浏览器打开 HTML → 全选(Ctrl/Cmd+A)→ 复制 → 到知识星球编辑器粘贴。颜色和加粗会保留;居中和字号视编辑器版本可能降级为普通文本,属正常现象。
- 如界面支持内嵌预览(如 visualize 工具),可同时给一个白底预览让用户先看效果再下载。