post_waver

CSDN平台Semi-auto发布指南

版本: v1.0 更新日期: 2026-04-03 编辑器: Markdown编辑器


🚀 快速开始

3分钟发布到CSDN

  1. 转换内容: 使用PostWaver将Markdown转换为CSDN格式
    pnpm transform:csdn content/posts/your-article.md
    
  2. 复制内容: 点击”复制到剪贴板”按钮

  3. 粘贴到CSDN:
    • 访问 https://mp.csdn.net/mp_blog/creation/editor
    • 粘贴内容到编辑器
    • 检查格式和图片占位符
  4. 上传图片: 根据📷 图片: xxx (请手动上传)提示上传本地图片

  5. 发布: 设置标题、标签、分类后发布

📖 完整指南

一、CSDN编辑器概述

CSDN使用的是Markdown编辑器,具有以下特点:


二、Markdown支持

2.1 完全支持的语法

基础语法

语法 示例 说明
标题 # H1 ~ ###### H6 支持1-6级标题
粗体 **粗体** 双星号包围
斜体 *斜体* 单星号包围
粗斜体 ***粗斜体*** 三星号包围
删除线 ~~删除线~~ 双波浪线包围
行内代码 `代码` 反引号包围
代码块 ```language 三个反引号,可指定语言
分割线 ***--- 三个或更多星号/短横线

列表

# 无序列表
- 项目1
- 项目2
  - 嵌套项目

# 有序列表
1. 项目1
2. 项目2

# 任务列表
- [x] 已完成
- [ ] 未完成

引用

> 这是引用文本
> 可以有多行

链接和图片

# 链接
[CSDN](https://www.csdn.net)
[带标题](https://www.csdn.net "标题")

# 图片
![图片描述](https://example.com/image.jpg)

表格(GFM)

| 列1 | 列2 | 列3 |
|-----|-----|-----|
| A   | B   | C   |

# 带对齐
| 左对齐 | 居中 | 右对齐 |
|:-------|:----:|-------:|
| A      |  B   |      C |

2.2 扩展语法支持

数学公式(LaTeX)

CSDN支持LaTeX数学公式:

行内公式

$E = mc^2$

块级公式

$$
\frac{n!}{k!(n-k)!} = \binom{n}{k}
$$

常用符号


2.3 代码高亮支持

CSDN支持多种编程语言的语法高亮,常见语言包括:


2.4 部分支持的语法

语法 支持情况 说明
脚注 ⚠️ 需确认 标准Markdown支持,但需测试CSDN是否支持
目录 ❓ 未知 需测试 [TOC] 是否生效
定义列表 ❌ 不支持 非标准语法
缩写 ❌ 不支持 非标准语法

2.5 不支持的语法

语法 说明
上标/下标(非公式) H~2~Ox^2^
高亮文本 ==高亮==
Emoji短代码 :smile: (可直接输入Emoji字符)

三、HTML支持

3.1 支持的HTML标签

CSDN编辑器会过滤或转换部分HTML标签,以确保安全性。

基本支持(需测试确认):

可能被过滤

3.2 样式处理

内联样式

CSS类

最佳实践


四、图片处理

4.1 外链图片

完全支持外链图片

推荐做法

![图片描述](https://example.com/image.jpg)

支持的图片格式

4.2 本地图片

支持拖拽上传

操作方式

  1. 在编辑器中直接拖拽图片文件
  2. 图片会自动上传到CSDN图床
  3. 自动生成Markdown语法

图片大小限制

4.3 图片对齐和尺寸

基本语法

![图片](url)

尺寸控制

对齐方式


五、PostWaver CSDN转换器

5.1 转换器功能

PostWaver的CSDN转换器位于 packages/transformer/src/to-csdn.ts,提供以下功能:

核心功能

5.2 使用方法

命令行使用

# 转换单个文件
pnpm transform:csdn content/posts/your-article.md

# 转换并保存
pnpm transform:csdn content/posts/your-article.md > output/csdn-article.md

编程使用

import { transformForCsdn } from '@content-hub/transformer'

const markdown = '# 标题\n\n这是内容'
const result = await transformForCsdn(markdown, {
  removeLocalImages: true,
  includeRelatedLinks: true,
  postId: 'post-123',
  relatedPosts: [...],
  blogBaseUrl: 'https://your-blog.github.io/'
})

5.3 转换选项

interface CsdnTransformOptions {
  /** 文章ID */
  postId?: string
  /** 相关文章列表 */
  relatedPosts?: IndexedPost[]
  /** 博客基础URL */
  blogBaseUrl?: string
  /** 是否添加相关文章链接 */
  includeRelatedLinks?: boolean
  /** 是否移除本地图片(用于复制到外部平台) */
  removeLocalImages?: boolean
}

5.4 本地图片处理

当启用 removeLocalImages: true 时,转换器会:

  1. 识别本地图片:查找 assets/ 目录下的图片
  2. 生成占位符:替换为 📷 图片: filename (请手动上传)
  3. 保留外链图片:HTTP/HTTPS开头的图片URL保持不变

示例

# 输入
![本地图片](assets/images/screenshot.png)

# 输出
📷 图片: screenshot.png (请手动上传)

六、发布工作流

6.1 完整发布流程

┌─────────────────┐
│ 1. 写作Markdown │
└────────┬────────┘
         │
         ▼
┌─────────────────┐
│ 2. 转换为CSDN   │ ← PostWaver
│   格式          │
└────────┬────────┘
         │
         ▼
┌─────────────────┐
│ 3. 复制到剪贴板 │
└────────┬────────┘
         │
         ▼
┌─────────────────┐
│ 4. 粘贴到CSDN   │ ← CSDN编辑器
│   编辑器        │
└────────┬────────┘
         │
         ▼
┌─────────────────┐
│ 5. 上传本地图片 │
└────────┬────────┘
         │
         ▼
┌─────────────────┐
│ 6. 检查格式     │
└────────┬────────┘
         │
         ▼
┌─────────────────┐
│ 7. 设置元数据   │
│ (标题/标签/分类)│
└────────┬────────┘
         │
         ▼
┌─────────────────┐
│ 8. 发布文章     │
└─────────────────┘

6.2 使用Web UI

  1. 启动Web UI
    pnpm dev
    
  2. 访问发布界面
    • 打开浏览器访问 http://localhost:5173
    • 导航到 /publish 路由
  3. 选择平台
    • 点击”CSDN”平台按钮
    • 系统会自动应用CSDN转换规则
  4. 预览和复制
    • 查看转换后的内容预览
    • 确认格式正确后点击”复制”

6.3 批量发布

Web UI支持批量发布多篇文章到CSDN:

  1. 扫描文章:点击”🔄 扫描文章”按钮
  2. 选择平台:选择”CSDN”
  3. 批量选择:勾选要发布的文章
  4. 批量处理:系统会依次转换每篇文章
  5. 逐篇发布:按照界面提示逐篇复制到CSDN

七、最佳实践

7.1 推荐的转换策略

对于PostWaver项目,CSDN平台的转换策略:

// CSDN转换流程
1. 解析Markdown源文件
2. 验证语法兼容性确保所有语法都被CSDN支持
3. 处理特殊元素
   - 数学公式保留LaTeX格式CSDN支持
   - 代码块确保语言标识正确
   - 表格确保使用GFM语法
4. 处理图片
   - 本地图片转换为上传占位符
   - 外链图片直接保留
5. 输出标准Markdown格式

7.2 需要特殊处理的元素

数学公式

源格式

$E = mc^2$

CSDN支持:✅ 完全支持,无需转换

任务列表

源格式

- [x] 已完成
- [ ] 未完成

CSDN支持:✅ 完全支持(GFM语法)

7.3 注意事项

  1. 避免使用HTML控制样式
    • CSDN主要通过Markdown语法渲染
    • HTML标签可能被过滤
  2. 代码块必须指定语言
    // ❌ 不推荐
    

    code here

    
    // ✅ 推荐
    ```javascript
    code here
    

    ```

  3. 表格使用GFM语法
    • 不要使用HTML表格
    • 使用管道符|格式
  4. 图片使用外链或手动上传
    • PostWaver会标记本地图片
    • 需要在CSDN编辑器中手动上传
  5. 数学公式使用LaTeX
    • 不要使用图片代替公式
    • 使用标准LaTeX语法

八、常见问题

Q1: 粘贴后格式乱了怎么办?

A: 推荐做法:

  1. 使用PostWaver转换后的内容
  2. 检查是否启用了正确的转换选项
  3. 手动调整小部分格式问题

Q2: 代码块没有高亮?

A: 检查:

  1. 是否指定了语言标识
  2. 语言名称是否正确
  3. 使用小写(推荐)

Q3: 表格显示不正常?

A: 确保:

  1. 使用GFM表格语法(管道符)
  2. 表头分隔符至少3个短横线
  3. 列对齐使用冒号(可选)

Q4: 数学公式不显示?

A: 检查:

  1. 使用单个$表示行内公式
  2. 使用双个$$表示块级公式
  3. LaTeX语法是否正确

Q5: 本地图片怎么处理?

A:

  1. PostWaver会生成上传占位符
  2. 在CSDN编辑器中拖拽上传
  3. 或使用图床服务生成外链
  4. 替换占位符文本

Q6: 如何设置文章元数据?

A:

  1. 标题:在CSDN编辑器顶部设置
  2. 标签:手动添加相关标签
  3. 分类:选择合适的文章分类
  4. 摘要:自动生成或手动编辑

九、平台特性

9.1 CSDN特有功能

文章类型

发布设置

文章权限

9.2 SEO优化

关键词设置

文章描述


十、参考资源

官方文档

相关文章


十一、测试检查清单

在PostWaver项目中,发布到CSDN前应检查:


文档版本: v1.0 最后更新: 2026-04-03 维护者: PostWaver项目