mirror of
https://github.com/JimLiu/baoyu-skills.git
synced 2026-07-23 02:29:48 +08:00
262 lines
8.2 KiB
Markdown
262 lines
8.2 KiB
Markdown
---
|
|
name: preferences-schema
|
|
description: EXTEND.md YAML schema for baoyu-cover-image user preferences
|
|
---
|
|
|
|
# Preferences Schema
|
|
|
|
## Full Schema
|
|
|
|
```yaml
|
|
---
|
|
version: 3
|
|
|
|
watermark:
|
|
enabled: false
|
|
content: ""
|
|
position: bottom-right # bottom-right|bottom-left|bottom-center|top-right
|
|
|
|
preferred_type: null # hero|conceptual|typography|metaphor|scene|minimal or null for auto-select
|
|
|
|
preferred_palette: null # warm|elegant|cool|dark|earth|vivid|pastel|mono|retro|duotone|macaron or null for auto-select
|
|
|
|
preferred_rendering: null # flat-vector|hand-drawn|painterly|digital|pixel|chalk or null for auto-select
|
|
|
|
preferred_text: title-only # none|title-only|title-subtitle|text-rich
|
|
|
|
preferred_mood: balanced # subtle|balanced|bold
|
|
|
|
default_aspect: "2.35:1" # 2.35:1|16:9|1:1
|
|
|
|
quick_mode: false # Skip confirmation when true
|
|
|
|
language: null # zh|en|ja|ko|auto (null = auto-detect)
|
|
|
|
custom_palettes:
|
|
- name: my-palette
|
|
description: "Palette description"
|
|
colors:
|
|
primary: ["#1E3A5F", "#4A90D9"]
|
|
background: "#F5F7FA"
|
|
accents: ["#00B4D8"]
|
|
decorative_hints: "Clean lines, geometric shapes"
|
|
best_for: "Business, tech content"
|
|
---
|
|
```
|
|
|
|
## Field Reference
|
|
|
|
| Field | Type | Default | Description |
|
|
|-------|------|---------|-------------|
|
|
| `version` | int | 3 | Schema version |
|
|
| `watermark.enabled` | bool | false | Enable watermark |
|
|
| `watermark.content` | string | "" | Watermark text (@username or custom) |
|
|
| `watermark.position` | enum | bottom-right | Position on image |
|
|
| `preferred_type` | string | null | Type name or null for auto |
|
|
| `preferred_palette` | string | null | Palette name or null for auto |
|
|
| `preferred_rendering` | string | null | Rendering name or null for auto |
|
|
| `preferred_text` | string | title-only | Text density level |
|
|
| `preferred_mood` | string | balanced | Mood intensity level |
|
|
| `default_aspect` | string | "2.35:1" | Default aspect ratio |
|
|
| `quick_mode` | bool | false | Skip confirmation step |
|
|
| `language` | string | null | Output language (null = auto-detect) |
|
|
| `custom_palettes` | array | [] | User-defined palettes |
|
|
|
|
## Type Options
|
|
|
|
| Value | Description |
|
|
|-------|-------------|
|
|
| `hero` | Large visual impact, title overlay |
|
|
| `conceptual` | Concept visualization, abstract core ideas |
|
|
| `typography` | Text-focused layout, prominent title |
|
|
| `metaphor` | Visual metaphor, concrete expressing abstract |
|
|
| `scene` | Atmospheric scene, narrative feel |
|
|
| `minimal` | Minimalist composition, generous whitespace |
|
|
|
|
## Palette Options
|
|
|
|
| Value | Description |
|
|
|-------|-------------|
|
|
| `warm` | Friendly, approachable — orange, golden yellow, terracotta |
|
|
| `elegant` | Sophisticated, refined — soft coral, muted teal, dusty rose |
|
|
| `cool` | Technical, professional — engineering blue, navy, cyan |
|
|
| `dark` | Cinematic, premium — electric purple, cyan, magenta |
|
|
| `earth` | Natural, organic — forest green, sage, earth brown |
|
|
| `vivid` | Energetic, bold — bright red, neon green, electric blue |
|
|
| `pastel` | Gentle, whimsical — soft pink, mint, lavender |
|
|
| `mono` | Clean, focused — black, near-black, white |
|
|
| `retro` | Nostalgic, vintage — muted orange, dusty pink, maroon |
|
|
|
|
## Rendering Options
|
|
|
|
| Value | Description |
|
|
|-------|-------------|
|
|
| `flat-vector` | Clean outlines, uniform fills, geometric icons |
|
|
| `hand-drawn` | Sketchy, organic, imperfect strokes, paper texture |
|
|
| `painterly` | Soft brush strokes, color bleeds, watercolor feel |
|
|
| `digital` | Polished, precise edges, subtle gradients, UI components |
|
|
| `pixel` | Pixel grid, dithering, chunky 8-bit shapes |
|
|
| `chalk` | Chalk strokes, dust effects, blackboard texture |
|
|
|
|
## Text Options
|
|
|
|
| Value | Description |
|
|
|-------|-------------|
|
|
| `none` | Pure visual, no text elements |
|
|
| `title-only` | Single headline |
|
|
| `title-subtitle` | Title + subtitle |
|
|
| `text-rich` | Title + subtitle + keyword tags (2-4) |
|
|
|
|
## Mood Options
|
|
|
|
| Value | Description |
|
|
|-------|-------------|
|
|
| `subtle` | Low contrast, muted colors, calm aesthetic |
|
|
| `balanced` | Medium contrast, normal saturation, versatile |
|
|
| `bold` | High contrast, vivid colors, dynamic energy |
|
|
|
|
## Position Options
|
|
|
|
| Value | Description |
|
|
|-------|-------------|
|
|
| `bottom-right` | Lower right corner (default, most common) |
|
|
| `bottom-left` | Lower left corner |
|
|
| `bottom-center` | Bottom center |
|
|
| `top-right` | Upper right corner |
|
|
|
|
## Aspect Ratio Options
|
|
|
|
| Value | Description | Best For |
|
|
|-------|-------------|----------|
|
|
| `2.35:1` | Cinematic widescreen | Article headers, blog covers |
|
|
| `16:9` | Standard widescreen | Presentations, video thumbnails |
|
|
| `1:1` | Square | Social media, profile images |
|
|
|
|
## Custom Palette Fields
|
|
|
|
| Field | Required | Description |
|
|
|-------|----------|-------------|
|
|
| `name` | Yes | Unique palette identifier (kebab-case) |
|
|
| `description` | Yes | What the palette conveys |
|
|
| `colors.primary` | No | Main colors (array of hex) |
|
|
| `colors.background` | No | Background color (hex) |
|
|
| `colors.accents` | No | Accent colors (array of hex) |
|
|
| `decorative_hints` | No | Decorative elements and patterns |
|
|
| `best_for` | No | Recommended content types |
|
|
|
|
## Example: Minimal Preferences
|
|
|
|
```yaml
|
|
---
|
|
version: 3
|
|
watermark:
|
|
enabled: true
|
|
content: "@myhandle"
|
|
preferred_type: null
|
|
preferred_palette: elegant
|
|
preferred_rendering: hand-drawn
|
|
preferred_text: title-only
|
|
preferred_mood: balanced
|
|
quick_mode: false
|
|
---
|
|
```
|
|
|
|
## Example: Full Preferences
|
|
|
|
```yaml
|
|
---
|
|
version: 3
|
|
watermark:
|
|
enabled: true
|
|
content: "myblog.com"
|
|
position: bottom-right
|
|
|
|
preferred_type: conceptual
|
|
|
|
preferred_palette: cool
|
|
|
|
preferred_rendering: digital
|
|
|
|
preferred_text: title-subtitle
|
|
|
|
preferred_mood: subtle
|
|
|
|
default_aspect: "16:9"
|
|
|
|
quick_mode: true
|
|
|
|
language: en
|
|
|
|
custom_palettes:
|
|
- name: corporate-tech
|
|
description: "Professional B2B tech palette"
|
|
colors:
|
|
primary: ["#1E3A5F", "#4A90D9"]
|
|
background: "#F5F7FA"
|
|
accents: ["#00B4D8", "#48CAE4"]
|
|
decorative_hints: "Clean lines, subtle gradients, circuit patterns"
|
|
best_for: "SaaS, enterprise, technical"
|
|
---
|
|
```
|
|
|
|
## Migration from v2
|
|
|
|
When loading v2 schema, auto-upgrade:
|
|
|
|
| v2 Field | v3 Field | Migration |
|
|
|----------|----------|-----------|
|
|
| `version: 2` | `version: 3` | Update |
|
|
| `preferred_style` | `preferred_palette` + `preferred_rendering` | Use preset mapping table |
|
|
| `custom_styles` | `custom_palettes` | Rename, restructure fields |
|
|
|
|
**Style → Palette + Rendering mapping**:
|
|
|
|
| v2 `preferred_style` | v3 `preferred_palette` | v3 `preferred_rendering` |
|
|
|----------------------|----------------------|-------------------------|
|
|
| `elegant` | `elegant` | `hand-drawn` |
|
|
| `blueprint` | `cool` | `digital` |
|
|
| `chalkboard` | `dark` | `chalk` |
|
|
| `dark-atmospheric` | `dark` | `digital` |
|
|
| `editorial-infographic` | `cool` | `digital` |
|
|
| `fantasy-animation` | `pastel` | `painterly` |
|
|
| `flat-doodle` | `pastel` | `flat-vector` |
|
|
| `intuition-machine` | `retro` | `digital` |
|
|
| `minimal` | `mono` | `flat-vector` |
|
|
| `nature` | `earth` | `hand-drawn` |
|
|
| `notion` | `mono` | `digital` |
|
|
| `pixel-art` | `vivid` | `pixel` |
|
|
| `playful` | `pastel` | `hand-drawn` |
|
|
| `retro` | `retro` | `digital` |
|
|
| `sketch-notes` | `warm` | `hand-drawn` |
|
|
| `vector-illustration` | `retro` | `flat-vector` |
|
|
| `vintage` | `retro` | `hand-drawn` |
|
|
| `warm` | `warm` | `hand-drawn` |
|
|
| `watercolor` | `earth` | `painterly` |
|
|
| null (auto) | null | null |
|
|
|
|
**Custom style migration**:
|
|
|
|
| v2 Field | v3 Field |
|
|
|----------|----------|
|
|
| `custom_styles[].name` | `custom_palettes[].name` |
|
|
| `custom_styles[].description` | `custom_palettes[].description` |
|
|
| `custom_styles[].color_palette` | `custom_palettes[].colors` |
|
|
| `custom_styles[].visual_elements` | `custom_palettes[].decorative_hints` |
|
|
| `custom_styles[].typography` | (removed — determined by rendering) |
|
|
| `custom_styles[].best_for` | `custom_palettes[].best_for` |
|
|
|
|
## Migration from v1
|
|
|
|
When loading v1 schema, auto-upgrade to v3:
|
|
|
|
| v1 Field | v3 Field | Default Value |
|
|
|----------|----------|---------------|
|
|
| (missing) | `version` | 3 |
|
|
| (missing) | `preferred_palette` | null |
|
|
| (missing) | `preferred_rendering` | null |
|
|
| (missing) | `preferred_text` | title-only |
|
|
| (missing) | `preferred_mood` | balanced |
|
|
| (missing) | `quick_mode` | false |
|
|
|
|
v1 `--no-title` flag maps to `preferred_text: none`.
|