四天里往同一个技术社区发了四篇稿,从「写完就能发」到「每次都要过一遍清单」,中间被编辑器拦下过、被发布设置坑过、也自己撤换过配图。这篇不聊写作,只把发布前那些必须逐项确认的小事攒成一张表。它们都不难,但漏一项,轻则被打回重填,重则白等一轮审核。

:不是所有 Markdown 都能原样粘进去
用的是社区自带的 Markdown 编辑器(Monaco 内核),粘贴进去之后有几处会悄悄变形。
1)代码块必须标语言,而且不是所有标记都认。
我第一版稿子里有两处写成了 ```text,发布时直接被拦:「文中第 1、3 处代码块未设置语言,请补全后再操作」。查了编辑器支持列表,纯文本要用 ```txt。改完本地稿件和编辑器两边同步,才过得去。经验是:每段围栏都显式写语言,别留空,也别凭习惯写 text。
2)表格表头别用 # 开头。
保存草稿再重载,表头里以 # 起头的那一列会变成零宽字符,页面上看着像空白。排查时用 charCodeAt(2) 逐字比对才找出来。后来直接把表头首列改成「序号」这种普通词,问题消失。表头一律用纯文字,不用 Markdown 标记。
3)草稿箱抽屉开着时,「发布」按钮是隐藏的。
保存完草稿,右侧抽屉不会自动收起,得先点「关闭」,发布按钮才回来。第一次遇到还以为按钮失效了。
4)别在发布版里留 H1。
标题走的是独立输入框,正文里再写一个 # 大标题 会重复。发布版统一从 ## 起。
发布前我会在编辑器里跑一次自检,只看四件事:
正文长度、图片数量、围栏语言标记、零宽字符数量
const v = monaco.editor.getModels()[0].getValue();
return {
len: v.length,
imgs: (v.match(/!\[/g) || []).length,
fences: (v.match(/^```(\w+)/gm) || []),
zero: (v.match(/\u200b/g) || []).length
};四项都干净,再往下走。
签名 URL 不用怕,但要知道它会被转存。 上传后插进正文的是带签名的临时地址,有效期约 1 小时。我原本担心定时发布时链接失效,实测前一天发的文章,线上图片已经被社区转存到永久 CDN 域名,不再依赖原始签名。所以「先上传拿 URL → 写进本地发布版 → 稍后发布」这条链路是安全的,但别把临时 URL 当永久素材存进资料库。
对比图必须同一套渲染参数。 有一版「修改前 / 修改后」对比图,左边浅底、右边深色衬底,读者第一反应是「你改了配色」,而不是「你改了形状」。后来把两张图用同一底色、同一尺寸重出,争议就没了。对比只留一个变量。
客户端截图先过一遍隐私。 桌面截图里很容易带上私人任务标题、未发布的草稿名、账号信息。我最后全部换成自绘信息图——纯内容、无界面、无原书素材。这条不只是美观问题,也是发布前最该做的一次脱敏。
配图我固定做 1280×720 横版,画完逐张用看图检查一遍:文字有没有出卡片、有没有重叠、有没有被截断、最小字号在手机宽度下能不能读。检查出问题就重绘,不将就。

:四个开关,每个都有后果
序号 | 项目 | 我的做法 | 为什么 |
|---|---|---|---|
1 | 原创声明 | 按稿件情况决定,不一律勾 | 声明原创意味着主张首发且引用比例受限,转载、多平台先发、大段引用的稿子不该勾 |
2 | 自动插入链接 | 关 | 会自动把正文里的关键词挂上站内链接,读起来像被插了广告 |
3 | 文章标签 | 逐个核对下拉项 | 搜索栏里会冒出同名活动标签,我曾经差点把一个早已结束的活动标签带上,发现后立刻删掉 |
4 | 付费 / VIP / 收费可见 | 一律不开 | 日常投稿就是分享,不设任何阅读门槛 |
标签那一项最容易翻车:输入关键词后弹出的候选不一定贴题,要看清选中的是不是你自己想加的那个,加完再读一遍标签栏全文。
点「确认发布」之前,我会再读一次面板原始状态,而不是只看界面上勾没勾:
radios: 发布形式是否选中预期值
checks: 自动插链 / 评论 / 其他复选框状态
tags: 标签栏实际文本,逐项核对
paid: 面板文本里是否出现 VIP / 付费 / 收费前几篇涉及读书笔记,这块尤其要单独过一遍。
同一篇稿子,在 A 平台可以声明原创,在 B 平台未必——不是内容变了,是两个平台的规则口径不同。所以合规检查不能复用结论,每个渠道都要单独判断一次。
顺带一提:涉及书稿的公众号版本,我把三处较长引文改成了转述,占比从 9.8% 降到 7.4%,并单独另存了一份「合规复核版」,原定稿不动。改写留副本,别覆盖原件,返工时能省很多事。

[ 编辑器 ]
□ 每个代码块都标了语言(纯文本用 txt,不用 text)
□ 表格表头是纯文字,无 # 等标记
□ 正文无 H1(标题走独立输入框)
□ 零宽字符 = 0
□ 草稿箱抽屉已关闭,发布按钮可见
[ 配图 ]
□ 图片已上传,正文里是站内可访问地址
□ 对比图同底色、同尺寸、只差一个变量
□ 逐张看过:无溢出 / 无重叠 / 无截断 / 手机可读
□ 无客户端截图、无私人信息、无原书内页
[ 发布设置 ]
□ 原创声明按稿件情况单独判断
□ 自动插链已关
□ 标签逐个核对,无过期活动标签
□ 付费 / VIP / 收费可见:全部关闭
[ 内容 ]
□ 无大段引用,引文占比已算过并留余量
□ 署名、作品名、非官方合作、支持正版齐全
□ 不提供全文 / 下载 / 内页截图,不提来路
□ 无导流、无营销话术
□ 改写另存副本,原件保留
[ 发布后 ]
□ 打开线上页复核:标题、配图加载数、代码块语言
□ 确认审核状态,不把「发布成功」当成「已公开」单看每一项都是十秒钟的事,但四篇下来,真正浪费时间的从来不是写稿,是「明明点完了却没生效」之后回头找原因:哪个字段被吞了、哪个按钮被抽屉挡了、哪张图被误读了。
把这些检查固化成一张表,本质上是把「靠记性」换成「靠流程」。写完不必立刻发,存成草稿、按表过一遍、再从服务端重载一次确认内容没变形——这一步看起来最没必要,却是我这四篇里唯一每次都救回点东西的一步。
日常投稿没有即时奖励,按收录和评选走,所以也没什么可急的。能留下来的,是下次不用再踩同一遍。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。