将任意文章/内容转换为 小红书风格 的 HTML 页面,输出多张可截图发布的图片,并附上 标题 + 正文摘要。
支持 两种风格:
风格主色调渐变适用场景热情风#FF6B6B (珊瑚红)#FF6B6B → #FF8E53营销/励志/个人成长/情感类科技风#4A90E2 (科技蓝)#4A90E2 → #7B68EE技术干货/编程/数据库/架构类
生成内容时,根据内容主题自动选择风格:
直接把你的文章内容发给我(可以是 Markdown 或纯文本),告诉我"帮我生成小红书内容"或"做成适合小红书的格式"。
示例:
"帮我把这篇关于 Redis 缓存的文章做成小红书风格的内容"
我会自动:
bash
cd ~/.openclaw/workspace/skills/xiaohongshu-content
bash scripts/generate_content.sh "你的内容" "输出标题" [tech|passion]
项目说明图片数量1张完整长图(包含所有内容)图片格式PNG图片宽度680px(小红书标准宽度)图片高度自动(根据内容长度)HTML输出可在浏览器打开查看完整效果截图工具wkhtmltoimage
技能包含两个预设模板:
两种风格共用相同的组件结构:
bash
cd /root/.openclaw/workspace/skills/xiaohongshu-content/outputs
# 生成长图(完整内容)
wkhtmltoimage --width 680 --quality 90 input.html output.png
# Python 截图(可获取精确尺寸)
python3 scripts/take_screenshot.py --input input.html --output output.png --width 680
text
[符号] + [核心关键词] + [效果词] + [平台词]
示例(科技风):
🔍 一文搞懂MySQL索引核心原理
💡 5分钟理解Redis缓存雪崩
🚀 微服务架构避坑指南
示例(热情风):
🔥 这个思维模式,悄悄拉开了差距
✨ 3个技巧,让你的效率翻倍
💪 坚持30天,发生惊人变化
text
[一句话概括价值] + [时间/难度暗示] + [行动引导]
示例:
Redis缓存穿透、击穿、雪崩一篇全搞懂,收藏慢慢看~
#Redis #缓存技术 #后端开发 #知识分享
依赖用途安装Python3截图脚本系统自带wkhtmltoimageHTML渲染引擎apt install wkhtmltopdfImageMagick图片裁剪apt install imagemagick
text
xiaohongshu-content/
├── SKILL.md # 本技能说明
├── scripts/
│ ├── generate_content.sh # 内容生成主脚本
│ ├── take_screenshot.py # Python截图工具
│ └── open_preview.sh # 浏览器打开预览
├── templates/
│ ├── tech_style.html # 科技风模板(蓝紫渐变)
│ └── passion_style.html # 热情风模板(红橙渐变)
└── outputs/ # 生成的内容目录
用户提供内容 → AI 生成以下内容:
标题: 🔍 MySQL 索引全景图解|用图书馆类比秒懂索引底层逻辑
正文:
聚簇索引、非聚簇索引、ICP、MRR、GROUP BY、最左前缀 —— 这篇用"图书馆"类比帮你彻底搞懂! 收藏慢慢看 💪 #MySQL #数据库索引 #技术干货 #知识分享 #后端开发
图片: 1 张完整长图(可发布到小红书)
如果内容包含数学公式,需要使用 katex 进行渲染。
html
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/katex.min.css">
<script src="https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/katex.min.js"></script>
公式使用 katex.render() 渲染到指定的 <span> 或 <div> 元素中:
javascript
katex.render(
"\\text{score}(t,d) = IDF(t) \\times \\frac{f(t,d) \\cdot (k_1 + 1)}{f(t,d) + k_1 \\cdot (1 - b + b \\cdot \\frac{|d|}{avgdl})}",
document.getElementById("formula-main"),
{ displayMode: true, throwOnError: false }
);
katex,调用时也要用小写window.onload:确保 DOM 加载完成后再渲染公式<span id="formula-xxx"></span>,JS 渲染到容器中displayMode: true:公式较长时使用行内显示模式html
<div class="formula-box">
<span id="formula-main"></span>
</div>
<br> 换行保持独立行,函数体/回调/链式调用使用 2 空格缩进,禁止所有代码挤在一行