feat(baoyu-infographic): support flexible aspect ratios

Accept custom W:H ratios (e.g., 3:4, 4:3, 2.35:1) in addition to
named presets (landscape/portrait/square).
This commit is contained in:
Jim Liu 宝玉 2026-03-12 01:50:36 -05:00
parent 873b60aee5
commit 1e6e6637ac
3 changed files with 13 additions and 6 deletions

View File

@ -169,8 +169,9 @@ Generate professional infographics with 20 layout types and 17 visual styles. An
# Specify both # Specify both
/baoyu-infographic path/to/content.md --layout funnel --style corporate-memphis /baoyu-infographic path/to/content.md --layout funnel --style corporate-memphis
# With aspect ratio # With aspect ratio (named preset or custom W:H)
/baoyu-infographic path/to/content.md --aspect portrait /baoyu-infographic path/to/content.md --aspect portrait
/baoyu-infographic path/to/content.md --aspect 3:4
``` ```
**Options**: **Options**:
@ -178,7 +179,7 @@ Generate professional infographics with 20 layout types and 17 visual styles. An
|--------|-------------| |--------|-------------|
| `--layout <name>` | Information layout (20 options) | | `--layout <name>` | Information layout (20 options) |
| `--style <name>` | Visual style (17 options, default: craft-handmade) | | `--style <name>` | Visual style (17 options, default: craft-handmade) |
| `--aspect <ratio>` | landscape (16:9), portrait (9:16), square (1:1) | | `--aspect <ratio>` | Named: landscape (16:9), portrait (9:16), square (1:1). Custom: any W:H ratio (e.g., 3:4, 4:3, 2.35:1) |
| `--lang <code>` | Output language (en, zh, ja, etc.) | | `--lang <code>` | Output language (en, zh, ja, etc.) |
**Layouts** (information structure): **Layouts** (information structure):

View File

@ -169,8 +169,9 @@ clawhub install baoyu-markdown-to-html
# 同时指定布局和风格 # 同时指定布局和风格
/baoyu-infographic path/to/content.md --layout funnel --style corporate-memphis /baoyu-infographic path/to/content.md --layout funnel --style corporate-memphis
# 指定比例 # 指定比例(预设名称或自定义 W:H
/baoyu-infographic path/to/content.md --aspect portrait /baoyu-infographic path/to/content.md --aspect portrait
/baoyu-infographic path/to/content.md --aspect 3:4
``` ```
**选项** **选项**
@ -178,7 +179,7 @@ clawhub install baoyu-markdown-to-html
|------|------| |------|------|
| `--layout <name>` | 信息布局20 种选项) | | `--layout <name>` | 信息布局20 种选项) |
| `--style <name>` | 视觉风格17 种选项默认craft-handmade | | `--style <name>` | 视觉风格17 种选项默认craft-handmade |
| `--aspect <ratio>` | landscape (16:9)、portrait (9:16)、square (1:1) | | `--aspect <ratio>` | 预设:landscape (16:9)、portrait (9:16)、square (1:1)。自定义:任意 W:H 比例(如 3:4、4:3、2.35:1 |
| `--lang <code>` | 输出语言en、zh、ja 等) | | `--lang <code>` | 输出语言en、zh、ja 等) |
**布局**(信息结构): **布局**(信息结构):

View File

@ -17,6 +17,7 @@ Two dimensions: **layout** (information structure) × **style** (visual aestheti
/baoyu-infographic path/to/content.md /baoyu-infographic path/to/content.md
/baoyu-infographic path/to/content.md --layout hierarchical-layers --style technical-schematic /baoyu-infographic path/to/content.md --layout hierarchical-layers --style technical-schematic
/baoyu-infographic path/to/content.md --aspect portrait --lang zh /baoyu-infographic path/to/content.md --aspect portrait --lang zh
/baoyu-infographic path/to/content.md --aspect 3:4
/baoyu-infographic # then paste content /baoyu-infographic # then paste content
``` ```
@ -26,7 +27,7 @@ Two dimensions: **layout** (information structure) × **style** (visual aestheti
|--------|--------| |--------|--------|
| `--layout` | 21 options (see Layout Gallery), default: bento-grid | | `--layout` | 21 options (see Layout Gallery), default: bento-grid |
| `--style` | 20 options (see Style Gallery), default: craft-handmade | | `--style` | 20 options (see Style Gallery), default: craft-handmade |
| `--aspect` | landscape (16:9), portrait (9:16), square (1:1) | | `--aspect` | Named: landscape (16:9), portrait (9:16), square (1:1). Custom: any W:H ratio (e.g., 3:4, 4:3, 2.35:1) |
| `--lang` | en, zh, ja, etc. | | `--lang` | en, zh, ja, etc. |
## Layout Gallery ## Layout Gallery
@ -220,7 +221,7 @@ Use **single AskUserQuestion call** with multiple questions to confirm all optio
| Question | When | Options | | Question | When | Options |
|----------|------|---------| |----------|------|---------|
| **Combination** | Always | 3+ layout×style combos with rationale | | **Combination** | Always | 3+ layout×style combos with rationale |
| **Aspect** | Always | landscape (16:9), portrait (9:16), square (1:1) | | **Aspect** | Always | Named presets (landscape/portrait/square) or custom W:H ratio (e.g., 3:4, 4:3, 2.35:1) |
| **Language** | Only if source ≠ user language | Language for text content | | **Language** | Only if source ≠ user language | Language for text content |
**Important**: Do NOT split into separate AskUserQuestion calls. Combine all applicable questions into one call. **Important**: Do NOT split into separate AskUserQuestion calls. Combine all applicable questions into one call.
@ -236,6 +237,10 @@ Combine:
4. Structured content from Step 2 4. Structured content from Step 2
5. All text in confirmed language 5. All text in confirmed language
**Aspect ratio resolution** for `{{ASPECT_RATIO}}`:
- Named presets → ratio string: landscape→`16:9`, portrait→`9:16`, square→`1:1`
- Custom W:H ratios → use as-is (e.g., `3:4`, `4:3`, `2.35:1`)
### Step 6: Generate Image ### Step 6: Generate Image
1. Select available image generation skill (ask user if multiple) 1. Select available image generation skill (ask user if multiple)