多行文本去缩进
灵感:热门库 dedent(ES6 string tag that strips indentation)。
> 小四原创:源码里缩进对齐写模板,输出用 dedent 去掉左侧公共空白。
> CRM 跟进话术、邮件正文、Agent 提示词多行块用。
何时使用
- 源码缩进导致模板首行前有多余空格
- 多行短信/邮件文案要干净换行
- 单元测试里写期望多行字符串
硬约束
- 依赖:
dedent。 - 用 tagged template 或函数调用均可(以库 API 为准)。
- 实现要点注释标 小四原创。
- 不做 Mustache/完整模板引擎。
推荐实现
import dedent from 'dedent'
// 小四原创:多行文本去缩进
export function cleanBlock(strings: TemplateStringsArray, ...values: unknown[]) {
return dedent(strings, ...values)
}
Agent 步骤
npm i dedent。- 多行文案改为
dedent\...``。 - 自测:输出行首无因源码缩进带来的多余空格。
不要做
- 手写
.replace(/^ +/gm, '')误伤有意缩进。 - 与「消息模板」类 Skill 整篇复读:本 Skill 侧重 缩进剥离。
附加
- README.md · reference.md · templates/usage.md