mirror of
https://github.com/comeonzhj/Auto-Redbook-Skills.git
synced 2026-03-27 12:49:27 +08:00
refactor md2Redbook skill with themes and paging
This commit is contained in:
169
SKILL.md
169
SKILL.md
@@ -1,18 +1,17 @@
|
||||
---
|
||||
name: Auto-Redbook
|
||||
description: 小红书笔记素材创作技能。当用户需要创建小红书笔记素材时使用这个技能。技能包含:根据用户的需求和提供的资料,撰写小红书笔记内容(标题+正文),生成图片卡片(封面+正文卡片,支持多种样式主题)。
|
||||
name: xhs-note-creator
|
||||
description: 小红书笔记素材创作技能。当用户需要创建小红书笔记素材时使用这个技能。技能包含:根据用户的需求和提供的资料,撰写小红书笔记内容(标题+正文),生成图片卡片(封面+正文卡片),以及发布小红书笔记。
|
||||
---
|
||||
|
||||
# 小红书笔记创作技能
|
||||
|
||||
这个技能用于创建专业的小红书笔记素材,包括内容撰写、图片卡片生成(支持7种样式主题)和智能分页渲染。
|
||||
这个技能用于创建专业的小红书笔记素材,包括内容撰写、图片卡片生成和笔记发布。
|
||||
|
||||
## 使用场景
|
||||
|
||||
- 用户需要创建小红书笔记时
|
||||
- 用户提供资料需要转化为小红书风格内容时
|
||||
- 用户需要生成精美的图片卡片用于发布时
|
||||
- 用户需要多种风格样式选择时
|
||||
|
||||
## 工作流程
|
||||
|
||||
@@ -48,11 +47,11 @@ subtitle: "副标题文案" # 封面副标题(不超过15字)
|
||||
```
|
||||
|
||||
2. 用于渲染卡片的 Markdown 文本内容:
|
||||
- 使用 `---` 分割线将正文分隔为多个卡片段落
|
||||
- 每个分段的文字控制在 200 字左右
|
||||
- 脚本会自动检测内容高度并智能分页
|
||||
- 当待渲染内容必须严格切分为独立的数张图片时,可使用 `---` 分割线主动将正文分隔为多个卡片段落(每个段落文本控制在 200 字左右),输出图片时使用参数`-m separator`
|
||||
- 当待渲染内容无需严格分割,生成正常 Markdown 文本即可,跟下方分页模式参数规则按需选择
|
||||
|
||||
完整 Markdown 文档内容示例:
|
||||
|
||||
完整示例:
|
||||
```markdown
|
||||
---
|
||||
emoji: "💡"
|
||||
@@ -60,7 +59,7 @@ title: "5个效率神器让工作效率翻倍"
|
||||
subtitle: "对着抄作业就好了,一起变高效"
|
||||
---
|
||||
|
||||
# 神器一:Notion 📝
|
||||
# 📝 神器一:Notion
|
||||
|
||||
> 全能型笔记工具,支持数据库、看板、日历等多种视图...
|
||||
|
||||
@@ -69,11 +68,11 @@ subtitle: "对着抄作业就好了,一起变高效"
|
||||
- 特色一
|
||||
- 特色二
|
||||
|
||||
---
|
||||
|
||||
# 神器二:Raycast ⚡
|
||||
# ⚡ 神器二:Raycast
|
||||
|
||||
\`\`\`
|
||||
可使用代码块来增加渲染后图片的视觉丰富度
|
||||
\`\`\`
|
||||
|
||||
## 推荐原因
|
||||
|
||||
@@ -81,82 +80,82 @@ subtitle: "对着抄作业就好了,一起变高效"
|
||||
- 原因二
|
||||
- ……
|
||||
|
||||
---
|
||||
|
||||
# 神器三:Arc 🌈
|
||||
# 🌈 神器三:Arc
|
||||
|
||||
全新理念的浏览器,侧边栏标签管理...
|
||||
|
||||
...
|
||||
|
||||
#效率工具 #生产力 #Mac软件
|
||||
```
|
||||
|
||||
### 第三步:渲染图片卡片
|
||||
|
||||
将 Markdown 文档渲染为图片卡片。**推荐使用 V2 版本脚本**,支持智能分页和多种样式。
|
||||
|
||||
#### V2 渲染脚本(推荐)
|
||||
|
||||
V2 版本新增特性:
|
||||
- ✅ **智能分页**:自动检测内容高度,超出时自动拆分到多张卡片
|
||||
- ✅ **多种样式**:支持 7 种预设样式主题
|
||||
- ✅ **字数预估**:基于字数预分配内容,减少渲染次数
|
||||
|
||||
**Python 版本:**
|
||||
将 Markdown 文档渲染为图片卡片。使用以下脚本渲染:
|
||||
|
||||
```bash
|
||||
# 基本用法
|
||||
python scripts/render_xhs_v2.py <markdown_file>
|
||||
|
||||
# 指定输出目录
|
||||
python scripts/render_xhs_v2.py <markdown_file> -o <output_directory>
|
||||
|
||||
# 指定样式主题
|
||||
python scripts/render_xhs_v2.py <markdown_file> --style xiaohongshu
|
||||
|
||||
# 查看所有可用样式
|
||||
python scripts/render_xhs_v2.py --list-styles
|
||||
python scripts/render_xhs.py <markdown_file> [options]
|
||||
```
|
||||
|
||||
**Node.js 版本:**
|
||||
- 默认输出目录为当前工作目录
|
||||
- 生成的图片包括:封面(cover.png)和正文卡片(card_1.png, card_2.png, ...)
|
||||
|
||||
#### 渲染参数(Python)
|
||||
|
||||
| 参数 | 简写 | 说明 | 默认值 |
|
||||
|---|---|---|---|
|
||||
| `--output-dir` | `-o` | 输出目录 | 当前工作目录 |
|
||||
| `--theme` | `-t` | 排版主题 | `default` |
|
||||
| `--mode` | `-m` | 分页模式 | `separator` |
|
||||
| `--width` | `-w` | 图片宽度 | `1080` |
|
||||
| `--height` | | 图片高度(`dynamic` 下为最小高度) | `1440` |
|
||||
| `--max-height` | | `dynamic` 最大高度 | `4320` |
|
||||
| `--dpr` | | 设备像素比(清晰度) | `2` |
|
||||
|
||||
#### 排版主题(`--theme`)
|
||||
|
||||
- `default`:默认简约浅灰渐变背景(`#f3f3f3 -> #f9f9f9`)
|
||||
- `playful-geometric`:活泼几何(Memphis)
|
||||
- `neo-brutalism`:新粗野主义
|
||||
- `botanical`:植物园自然
|
||||
- `professional`:专业商务
|
||||
- `retro`:复古怀旧
|
||||
- `terminal`:终端命令行
|
||||
- `sketch`:手绘素描
|
||||
|
||||
#### 分页模式(`--mode`)
|
||||
|
||||
- `separator`:按 `---` 分隔符分页(适合内容已手动控量)
|
||||
- `auto-fit`:固定尺寸下自动缩放文字,避免溢出/留白(适合封面+单张图片但尺寸固定的情况)
|
||||
- `auto-split`:按渲染后高度自动切分分页(适合切分不影响阅读的长文内容)
|
||||
- `dynamic`:根据内容动态调整图片高度(注意:图片最高 4320,字数超过 550 的不建使用此模式)
|
||||
|
||||
#### 常用示例
|
||||
|
||||
```bash
|
||||
# 基本用法
|
||||
node scripts/render_xhs_v2.js <markdown_file>
|
||||
# 1) 默认主题 + 手动分隔分页
|
||||
python scripts/render_xhs.py content.md -m separator
|
||||
|
||||
# 指定输出目录和样式
|
||||
node scripts/render_xhs_v2.js <markdown_file> -o ./output --style mint
|
||||
# 2) 固定 1080x1440,自动缩放文字,尽量填满画面
|
||||
python scripts/render_xhs.py content.md -m auto-fit
|
||||
|
||||
# 查看所有可用样式
|
||||
node scripts/render_xhs_v2.js --list-styles
|
||||
# 3) 自动切分分页(推荐:内容长短不稳定)
|
||||
python scripts/render_xhs.py content.md -m auto-split
|
||||
|
||||
# 4) 动态高度(允许不同高度卡片)
|
||||
python scripts/render_xhs.py content.md -m dynamic --max-height 4320
|
||||
|
||||
# 5) 切换主题
|
||||
python scripts/render_xhs.py content.md -t playful-geometric -m auto-split
|
||||
```
|
||||
|
||||
#### 可用样式主题
|
||||
|
||||
| 样式键 | 名称 | 描述 |
|
||||
|--------|------|------|
|
||||
| `purple` | 紫韵 | 默认样式,紫蓝色渐变 |
|
||||
| `xiaohongshu` | 小红书红 | 小红书品牌色系 |
|
||||
| `mint` | 清新薄荷 | 绿色/自然调 |
|
||||
| `sunset` | 日落橙 | 粉色/日落渐变 |
|
||||
| `ocean` | 深海蓝 | 蓝绿色海洋调 |
|
||||
| `elegant` | 优雅白 | 简约灰白调 |
|
||||
| `dark` | 暗黑模式 | 深色背景,高对比度 |
|
||||
|
||||
#### 旧版渲染脚本(保留)
|
||||
|
||||
如需使用旧版(不支持自动分页):
|
||||
#### Node.js 渲染(可选)
|
||||
|
||||
```bash
|
||||
# Python 版本
|
||||
python scripts/render_xhs.py <markdown_file> [--output-dir <output_directory>]
|
||||
|
||||
# Node.js 版本
|
||||
node scripts/render_xhs.js <markdown_file> [--output-dir <output_directory>]
|
||||
node scripts/render_xhs.js content.md -t default -m separator
|
||||
```
|
||||
|
||||
**旧版已知问题**:单张卡片内容过多时可能出现文字溢出,需手动用 `---` 分隔。
|
||||
Node.js 参数与 Python 基本一致:`--output-dir/-o`、`--theme/-t`、`--mode/-m`、`--width/-w`、`--height`、`--max-height`、`--dpr`。
|
||||
|
||||
### 第四步:发布小红书笔记(可选)
|
||||
|
||||
@@ -168,7 +167,7 @@ python scripts/publish_xhs.py --title "笔记标题" --desc "笔记描述" --ima
|
||||
|
||||
**前置条件**:
|
||||
|
||||
1. 在同目录下创建 `.env` 文件,配置小红书 Cookie:
|
||||
1. 需配置小红书 Cookie:
|
||||
```
|
||||
XHS_COOKIE=your_cookie_string_here
|
||||
```
|
||||
@@ -184,46 +183,30 @@ XHS_COOKIE=your_cookie_string_here
|
||||
- 尺寸比例:3:4(小红书推荐比例)
|
||||
- 基准尺寸:1080×1440px
|
||||
- 包含:Emoji 装饰、大标题、副标题
|
||||
- 样式:渐变背景 + 圆角内容区(根据所选主题变化)
|
||||
- 样式:渐变背景 + 圆角内容区
|
||||
|
||||
### 正文卡片
|
||||
- 尺寸比例:3:4
|
||||
- 基准尺寸:1080×1440px
|
||||
- 支持:标题、段落、列表、引用、代码块、图片
|
||||
- 样式:白色卡片 + 渐变背景边框(根据所选主题变化)
|
||||
- V2 版本:自动分页,单张卡片内容不会溢出
|
||||
- 样式:白色卡片 + 渐变背景边框
|
||||
|
||||
## 技能资源
|
||||
|
||||
### 脚本文件
|
||||
- `scripts/render_xhs.py` - Python V1 渲染脚本(旧版)
|
||||
- `scripts/render_xhs.js` - Node.js V1 渲染脚本(旧版)
|
||||
- `scripts/render_xhs_v2.py` - Python V2 渲染脚本(推荐 ✅)
|
||||
- `scripts/render_xhs_v2.js` - Node.js V2 渲染脚本(推荐 ✅)
|
||||
- `scripts/render_xhs.py` - Python 渲染脚本
|
||||
- `scripts/render_xhs.js` - Node.js 渲染脚本
|
||||
- `scripts/publish_xhs.py` - 小红书发布脚本
|
||||
|
||||
### 资源文件
|
||||
- `assets/cover.html` - 封面 HTML 模板(旧版)
|
||||
- `assets/card.html` - 正文卡片 HTML 模板(旧版)
|
||||
- `assets/styles.css` - 共用样式表(旧版)
|
||||
- `assets/example.md` - 示例 Markdown 文件
|
||||
- `assets/cover.html` - 封面 HTML 模板
|
||||
- `assets/card.html` - 正文卡片 HTML 模板
|
||||
- `assets/styles.css` - 共用样式表
|
||||
|
||||
## 注意事项
|
||||
|
||||
1. **V2 版本推荐**:V2 版本支持智能分页,可自动处理内容溢出问题
|
||||
2. **样式选择**:根据内容风格选择合适的样式主题
|
||||
3. **Markdown 位置**:Markdown 文件应保存在工作目录,渲染后的图片也保存在工作目录
|
||||
4. **内容长度**:建议每个 `---` 分隔的内容块控制在 200 字以内
|
||||
5. **Cookie 有效期**:发布功能的 Cookie 有过期限制,过期后需要重新获取
|
||||
6. **发布依赖**:发布功能依赖 xhs 库,需要安装:`pip install xhs`
|
||||
|
||||
## 智能分页说明
|
||||
|
||||
V2 版本的智能分页机制:
|
||||
|
||||
1. **预估阶段**:基于字数、元素类型预估内容高度
|
||||
2. **预渲染阶段**:使用 Playwright 预渲染并测量实际高度
|
||||
3. **拆分阶段**:如果内容超出,按段落/行智能拆分内容
|
||||
4. **固定输出**:每张卡片固定为 1080×1440px,确保一致性
|
||||
|
||||
这种机制确保无论内容多长,都不会出现文字溢出问题。
|
||||
1. Markdown 文件应保存在工作目录,渲染后的图片也保存在工作目录
|
||||
2. 技能目录 (`md2Redbook/`) 仅存放脚本和模板,不存放用户数据
|
||||
3. 图片尺寸会根据内容自动调整,但保持 3:4 比例
|
||||
4. Cookie 有有效期限制,过期后需要重新获取
|
||||
5. 发布功能依赖 xhs 库,需要安装:`pip install xhs`
|
||||
|
||||
Reference in New Issue
Block a user