diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json index cd19142..c2cee2e 100644 --- a/.claude-plugin/marketplace.json +++ b/.claude-plugin/marketplace.json @@ -43,7 +43,9 @@ "skills": [ "./skills/baoyu-danger-x-to-markdown", "./skills/baoyu-compress-image", - "./skills/baoyu-url-to-markdown" + "./skills/baoyu-url-to-markdown", + "./skills/baoyu-format-markdown", + "./skills/baoyu-markdown-to-html" ] } ] diff --git a/README.md b/README.md index adf019c..67efd18 100644 --- a/README.md +++ b/README.md @@ -55,7 +55,7 @@ Simply tell Claude Code: |--------|-------------|--------| | **content-skills** | Content generation and publishing | [xhs-images](#baoyu-xhs-images), [infographic](#baoyu-infographic), [cover-image](#baoyu-cover-image), [slide-deck](#baoyu-slide-deck), [comic](#baoyu-comic), [article-illustrator](#baoyu-article-illustrator), [post-to-x](#baoyu-post-to-x), [post-to-wechat](#baoyu-post-to-wechat) | | **ai-generation-skills** | AI-powered generation backends | [image-gen](#baoyu-image-gen), [danger-gemini-web](#baoyu-danger-gemini-web) | -| **utility-skills** | Utility tools for content processing | [url-to-markdown](#baoyu-url-to-markdown), [danger-x-to-markdown](#baoyu-danger-x-to-markdown), [compress-image](#baoyu-compress-image) | +| **utility-skills** | Utility tools for content processing | [url-to-markdown](#baoyu-url-to-markdown), [danger-x-to-markdown](#baoyu-danger-x-to-markdown), [compress-image](#baoyu-compress-image), [format-markdown](#baoyu-format-markdown) | ## Update Skills @@ -678,6 +678,43 @@ Compress images to reduce file size while maintaining quality. /baoyu-compress-image path/to/images/ --quality 80 ``` +#### baoyu-format-markdown + +Format plain text or markdown files with proper frontmatter, titles, summaries, headings, bold, lists, and code blocks. + +```bash +# Format a markdown file +/baoyu-format-markdown path/to/article.md + +# Format with specific output +/baoyu-format-markdown path/to/draft.md +``` + +**Workflow**: +1. Read source file and analyze content structure +2. Check/create YAML frontmatter (title, slug, summary, featureImage) +3. Handle title: use existing, extract from H1, or generate candidates +4. Apply formatting: headings, bold, lists, code blocks, quotes +5. Save to `{filename}-formatted.md` +6. Run typography script: ASCII→fullwidth quotes, CJK spacing, autocorrect + +**Frontmatter Fields**: +| Field | Processing | +|-------|------------| +| `title` | Use existing, extract H1, or generate candidates | +| `slug` | Infer from file path or generate from title | +| `summary` | Generate engaging summary (100-150 chars) | +| `featureImage` | Check for `imgs/cover.png` in same directory | + +**Formatting Rules**: +| Element | Format | +|---------|--------| +| Titles | `#`, `##`, `###` hierarchy | +| Key points | `**bold**` | +| Parallel items | `-` unordered or `1.` ordered lists | +| Code/commands | `` `inline` `` or ` ```block``` ` | +| Quotes | `>` blockquote | + ## Environment Configuration Some skills require API keys or custom configuration. Environment variables can be set in `.env` files: diff --git a/README.zh.md b/README.zh.md index 7db1a8a..a030050 100644 --- a/README.zh.md +++ b/README.zh.md @@ -55,7 +55,7 @@ npx skills add jimliu/baoyu-skills |------|------|----------| | **content-skills** | 内容生成和发布 | [xhs-images](#baoyu-xhs-images), [infographic](#baoyu-infographic), [cover-image](#baoyu-cover-image), [slide-deck](#baoyu-slide-deck), [comic](#baoyu-comic), [article-illustrator](#baoyu-article-illustrator), [post-to-x](#baoyu-post-to-x), [post-to-wechat](#baoyu-post-to-wechat) | | **ai-generation-skills** | AI 生成后端 | [image-gen](#baoyu-image-gen), [danger-gemini-web](#baoyu-danger-gemini-web) | -| **utility-skills** | 内容处理工具 | [url-to-markdown](#baoyu-url-to-markdown), [danger-x-to-markdown](#baoyu-danger-x-to-markdown), [compress-image](#baoyu-compress-image) | +| **utility-skills** | 内容处理工具 | [url-to-markdown](#baoyu-url-to-markdown), [danger-x-to-markdown](#baoyu-danger-x-to-markdown), [compress-image](#baoyu-compress-image), [format-markdown](#baoyu-format-markdown) | ## 更新技能 @@ -678,6 +678,43 @@ AI 驱动的生成后端。 /baoyu-compress-image path/to/images/ --quality 80 ``` +#### baoyu-format-markdown + +格式化纯文本或 Markdown 文件,添加 frontmatter、标题、摘要、层级标题、加粗、列表和代码块。 + +```bash +# 格式化 markdown 文件 +/baoyu-format-markdown path/to/article.md + +# 格式化指定文件 +/baoyu-format-markdown path/to/draft.md +``` + +**工作流程**: +1. 读取源文件并分析内容结构 +2. 检查/创建 YAML frontmatter(title、slug、summary、featureImage) +3. 处理标题:使用现有标题、提取 H1 或生成候选标题 +4. 应用格式:层级标题、加粗、列表、代码块、引用 +5. 保存为 `{文件名}-formatted.md` +6. 运行排版脚本:半角引号→全角引号、中英文空格、autocorrect + +**Frontmatter 字段**: +| 字段 | 处理方式 | +|------|----------| +| `title` | 使用现有、提取 H1 或生成候选 | +| `slug` | 从文件路径推断或根据标题生成 | +| `summary` | 生成吸引人的摘要(100-150 字) | +| `featureImage` | 检查同目录下 `imgs/cover.png` | + +**格式化规则**: +| 元素 | 格式 | +|------|------| +| 标题 | `#`、`##`、`###` 层级 | +| 重点内容 | `**加粗**` | +| 并列要点 | `-` 无序列表或 `1.` 有序列表 | +| 代码/命令 | `` `行内` `` 或 ` ```代码块``` ` | +| 引用 | `>` 引用块 | + ## 环境配置 部分技能需要 API 密钥或自定义配置。环境变量可以在 `.env` 文件中设置: