Use md2wechat when the user wants to:
- convert Markdown into WeChat Official Account HTML
- inspect resolved article metadata, readiness, and publish risks before conversion
- generate a local preview artifact or upload drafts
- inspect live capabilities, providers, themes, and prompts
- generate covers, infographics, or other article images
- create image posts
- write in creator styles or remove AI writing traces
Intent Routing
Choose the command family before doing any publish action:
- Use
convert/inspect/previewwhen the user wants a standard WeChat article draft (news), HTML conversion, article metadata, article preview, or a draft that needs--cover. - Use
create_image_postwhen the user says小绿书,图文笔记,图片消息,newspic,多图帖子, or asks to publish an image-first post rather than an article HTML draft. - Do not route
小绿书/图文笔记requests toconvert --draftjust because the user also has a Markdown article. A Markdown file can still be the image source forcreate_image_post -m article.md. - Treat
convert --draftandcreate_image_postas different publish targets, not interchangeable command variants.
Defaults And Config
- Use this skill only when
md2wechatis already available onPATH. - Draft upload and publish-related actions require
WECHAT_APPIDandWECHAT_SECRET. - Image generation may require additional image-service configuration in
~/.config/md2wechat/config.yaml. convertdefaults toapimode unless the user explicitly asks for--mode ai.- Check configuration in this order:
~/.config/md2wechat/config.yaml- environment variables such as
MD2WECHAT_BASE_URL - project-local
md2wechat.yaml,md2wechat.yml, ormd2wechat.json
- If the user asks to switch API domain, update
api.md2wechat_base_urlorMD2WECHAT_BASE_URL. - Treat live CLI discovery output as the source of truth. Do not guess provider names, theme names, or prompt names from repository files alone.
Discovery First
Run these before selecting a provider, theme, or prompt:
md2wechat version --jsonmd2wechat capabilities --jsonmd2wechat providers list --jsonmd2wechat themes list --jsonmd2wechat prompts list --jsonmd2wechat prompts list --kind image --jsonmd2wechat prompts list --kind image --archetype cover --json
Inspect a specific resource before using it:
md2wechat providers show openrouter --jsonmd2wechat providers show volcengine --jsonmd2wechat themes show autumn-warm --jsonmd2wechat prompts show cover-default --kind image --jsonmd2wechat prompts show cover-hero --kind image --archetype cover --tag hero --jsonmd2wechat prompts show infographic-victorian-engraving-banner --kind image --archetype infographic --tag victorian --jsonmd2wechat prompts render cover-default --kind image --var article_title='Example' --json
When choosing image presets, prefer the prompt metadata returned by prompts show --json, especially primary_use_case, compatible_use_cases, recommended_aspect_ratios, and default_aspect_ratio.
When choosing an image model, prefer providers show <name> --json and read supported_models before hard-coding --model.
Core Commands
Configuration:
md2wechat config initmd2wechat config show --format jsonmd2wechat config validate
Conversion:
md2wechat inspect article.mdmd2wechat preview article.mdmd2wechat convert article.md --previewmd2wechat convert article.md -o output.htmlmd2wechat convert article.md --draft --cover cover.jpgmd2wechat convert article.md --mode ai --theme autumn-warm --previewmd2wechat convert article.md --title "新标题" --author "作者名" --digest "摘要"
Image handling:
md2wechat upload_image photo.jpgmd2wechat download_and_upload https://example.com/image.jpgmd2wechat generate_image "A cute cat sitting on a windowsill"md2wechat generate_image --preset cover-hero --article article.md --size 2560x1440md2wechat generate_cover --article article.mdmd2wechat generate_infographic --article article.md --preset infographic-comparisonmd2wechat generate_infographic --article article.md --preset infographic-dark-ticket-cn --aspect 21:9md2wechat generate_infographic --article article.md --preset infographic-handdrawn-sketchnote
Drafts and image posts:
md2wechat create_draft draft.jsonmd2wechat test-draft article.html cover.jpgmd2wechat create_image_post --helpmd2wechat create_image_post -t "Weekend Trip" --images photo1.jpg,photo2.jpgmd2wechat create_image_post -t "Travel Diary" -m article.mdecho "Daily check-in" | md2wechat create_image_post -t "Daily" --images pic.jpgmd2wechat create_image_post -t "Test" --images a.jpg,b.jpg --dry-run
Writing and humanizing:
md2wechat write --listmd2wechat write --style dan-koemd2wechat write --style dan-koe --input-type fragment article.mdmd2wechat write --style dan-koe --cover-onlymd2wechat write --style dan-koe --covermd2wechat write --style dan-koe --humanize --humanize-intensity aggressivemd2wechat humanize article.mdmd2wechat humanize article.md --intensity aggressivemd2wechat humanize article.md --show-changesmd2wechat humanize article.md -o output.md
Article Metadata Rules
For convert, metadata resolution is:
- Title:
--title->frontmatter.title-> first Markdown heading ->未命名文章 - Author:
--author->frontmatter.author - Digest:
--digest->frontmatter.digest->frontmatter.summary->frontmatter.description
Limits enforced by the CLI:
--title: max 32 characters--author: max 16 characters--digest: max 128 characters
Draft behavior:
- If digest is still empty when creating a draft, the draft layer generates one from article HTML content with a 120-character fallback.
- Creating a draft requires either
--coveror--cover-media-id. --coveris a local image path contract for article drafts.--cover-media-idis for an existing WeChat permanent cover asset. Do not assume a WeChat URL ormmbiz.qpic.cnURL can be reused asthumb_media_id.inspectis the source-of-truth command for resolved metadata, readiness, and checks.previewv1 writes a standalone local HTML preview file. It does not start a workbench, write back to Markdown, upload images, or create drafts.convert --previewis still the convert-path preview flag; it is not the same thing as the standalonepreviewcommand.preview --mode aiis degraded confirmation only; it must not be treated as final AI-generated layout.--title/--author/--digestaffect draft metadata, not necessarily visible body HTML.- Markdown images are only uploaded/replaced during
--uploador--draft, not during plainconvert --preview.
Publish Gate · MANDATORY CHECKPOINT
Before any --draft, create_draft, or test-draft push to WeChat, you MUST present the following to the user and wait for explicit confirmation:
┌─────────────────────────────────────────┐
│ 🔴 PUBLISH GATE — 发布前审查 │
├─────────────────────────────────────────┤
│ ☐ 标题(≤32字,确认措辞) │
│ ☐ 作者(≤16字,确认署名) │
│ ☐ 封面图(已生成/已选择,用户看过) │
│ ☐ 摘要(≤128字,前60字可见需精炼) │
│ ☐ 排版风格(主题名,已确认) │
│ ☐ 用户回复"发"/"推"/"OK"等明确批准 │
└─────────────────────────────────────────┘
Gate Rules (ironclad rules that must not be crossed)
- Title must be displayed — Send the full title text to the user to view, and note the character count. Do not say "the title is fine" without displaying the content.
- Author must be confirmed — Do not assume the author name. The default is frontmatter.author or empty. An empty value must be filled in by the user.
- Cover image must be visualized — Send the cover image to the user as an image message. Do not just say "the cover has been generated." ≥2 alternative options is even better.
- Summary must be displayed — Display the full summary text, and note the WeChat fold line (first 60 characters).
- Explicit approval — The user must reply with an explicit affirmative word (post/push/OK/fine/good/works/go) before continuing. Silence ≠ consent.
- Every missing gate item must be reported — If a field is empty, proactively mark it ⚠️ missing and ask the user to fill it in.
Gate Output Template (review output template)
📋 发布审查
🏷️ 标题(27/32字):
微信排版从2小时到2秒:我用一行命令干掉了公众号最烦人的活
✍️ 作者(9/16字):
Daniel Li
📝 摘要(73/128字,折叠线≈60字):
从手动排版到全自动发布,md2wechat 一行命令搞定公众号 Markdown→草稿箱的全流程。含 20 个自定义主题详解,让你的文章从此有视觉人设。
🖼️ 封面:[发送封面图]
🎨 排版风格:Coffee Notes(06·暖色系·焦糖棕)
---
以上信息确认无误?回复"发"推送到草稿箱,或告知修改内容。
Agent Rules
- Start with discovery commands before committing to a provider, theme, or prompt.
- Route by publish target first: article draft =>
convert; image post / Xiaolvshu / newspic =>create_image_post. - CRITICAL: The Publish Gate above is MANDATORY. Every draft push MUST pass through it. No exceptions.
- Prefer the confirm-first flow for article work:
inspect->preview-> Publish Gate ->--draft. - If the user says
小绿书,图文笔记,图片消息,newspic, or asks for a multi-image post, prefercreate_image_posteven when the source content lives in Markdown. - Prefer
generate_coverorgenerate_infographicover a rawgenerate_image "prompt"call when a bundled preset fits the task. - Validate config before any draft, publish, or image-post action.
- If draft creation returns
45004, check digest/summary/description before assuming the body content is too long. - If the user asks for AI conversion or style writing, be explicit that the CLI may return an AI request/prompt rather than final HTML or prose unless the workflow completes the external model step.
- Do not perform draft creation, publishing, or remote image generation unless the user asked for it.
Custom AI Themes (Daniel Li · agi-super-team)
When using md2wechat convert --mode ai --theme custom, select the appropriate theme from below based on article content and audience. Provide the full theme specification as the AI prompt for conversion.
Theme Selection Guide
| Category | # | Theme Name | Best For |
|---|---|---|---|
| Minimalist style | 01 | Swiss Minimal | Design, architecture, modern art |
| Minimalist style | 02 | Nordic Clean | Lifestyle, home, travel |
| Minimalist style | 03 | Japanese Zen | Philosophy, prose, Eastern aesthetics |
| Minimalist style | 04 | Editorial Print | In-depth reporting, industry analysis |
| Warm color scheme | 05 | Golden Hour | Lifestyle, food, emotions |
| Warm color scheme | 06 | Coffee Notes | Startup diary, prose, reflections |
| Warm color scheme | 09 | Rose Quartz | Female-oriented, beauty, emotions |
| Warm color scheme | 20 | Desert Dawn | Travel, adventure, free life |
| Dark color scheme | 07 | Elegant Noir | Brand stories, high-end lifestyle |
| Dark color scheme | 08 | Deep Ocean | AI, technology, data analysis |
| Dark color scheme | 10 | Cyber Neon | Geek, Web3, future culture |
| Dark color scheme | 18 | Midnight Blue | Late-night reading, poetry, philosophy |
| Artsy style | 11 | Monet Garden | Artsy, art, nature |
| Artsy style | 12 | Academic Classic | Academic, knowledge, history |
| Artsy style | 14 | Ink Wash | Eastern culture, calligraphy and painting, Zen |
| Artsy style | 17 | Forest Mist | Nature, meditation, sustainability |
| Modern style | 13 | Aurora Gradient | Creativity, design, future trends |
| Modern style | 15 | Glass Morphism | Product design, UX, lifestyle |
| Modern style | 16 | Brutalist Raw | Street culture, independent views |
| Modern style | 19 | Summer Mint | Pop culture, social media |
Minimalist style
01 · Swiss Minimal
- Style: Swiss International Style · red, black, and white · Helvetica
- Colors: primary color #000000 pure black, accent color #CC0000 Swiss red, background #FFFFFF pure white, auxiliary gray #F5F5F5
- Fonts: heading Helvetica Bold / body Helvetica Neue Light / quote Helvetica Neue Italic
- Layout: strict grid system, headings left-aligned with large font weight, body narrow column width 620px, lots of whitespace, paragraph spacing 2em, divider lines extremely thin at 1px
- Features: Asymmetric layout, large font sizes for numbers, full-bleed images, no rounded corners, no shadows, red, black, and white only—never introduce a fourth color
- CSS Core:
font-family: 'Helvetica Neue', sans-serif; max-width: 620px; line-height: 1.8; h2 { font-size: 28px; font-weight: 700; border-left: 4px solid #CC0000; padding-left: 16px; } - Applicable to: Design theory, architectural criticism, modern art, brand strategy
02 · Nordic Clean
- Style: Nordic hygge · oak white · sky blue-gray
- Colors: Primary #2C3E50 dark blue-gray, background #FAF7F2 oak white warm cream, accent #87CEEB sky blue, secondary #E8E0D5 light oak
- Fonts: Headings Playfair Display / body Lora or Georgia / notes Helvetica Neue Light
- Layout: Spacious typography, line height 2.0, large paragraph spacing, rounded card-style quote blocks, interspersed light backgrounds, images with soft 8px rounded corners
- Features: Warm and soft, not harsh; oak-toned background; card-style content areas; thin gold divider lines; no pure black text
- CSS Core:
body { background: #FAF7F2; color: #2C3E50; } h2 { color: #2C3E50; border-bottom: 2px solid #E8E0D5; padding-bottom: 8px; } blockquote { background: #FFF; border-radius: 8px; border-left: 3px solid #87CEEB; padding: 16px 20px; } - Applicable to: Home life, travelogues, personal essays, slow living
03 · Japanese Zen
- Style: Wabi-sabi · ink · rice paper · negative space
- Colors: Primary #2B2B2B ink, background #F5F0E8 rice paper, accent #8B4513 tea brown, secondary #D4C5B9
- Fonts: Headings Noto Serif SC Bold / body Noto Serif SC Regular / notes Kaiti
- Layout: Vertical-writing feel adapted to horizontal, extra-large negative space, short paragraphs, centered headings, separation of image and text, narrow text blocks 560px, asymmetrical left/right margins
- Features: Abundant white space, ink-tone gradients, rice paper texture background, seal-red accents, quotes with vertical bars, no cards and no rounded corners
- CSS Core:
body { background: #F5F0E8; color: #2B2B2B; } h2 { text-align: center; font-size: 24px; letter-spacing: 4px; margin: 48px 0 32px; } p { max-width: 560px; margin: 0 auto 24px; } .accent { color: #C04040; } - Applicable to: Eastern philosophy, Zen practice, calligraphy and painting criticism, prose
04 · Editorial Print
- Style: Editorial · Georgia serif · pure black
- Colors: Primary #1A1A1A, background #FCFCFC, accent #1A1A1A (bold is emphasis), divider #DDD
- Fonts: Headings Georgia Bold / body Georgia Regular / quotes Georgia Italic / drop cap 3 lines
- Layout: Newspaper-magazine feel, drop cap, clear two-level heading hierarchy, centered large italic quotes, no first-line indent, narrow column width 600px
- Features: Traditional editorial aesthetics, drop cap, serif body text, images with captions, no color emphasis, pure typography does the talking
- CSS Core:
font-family: Georgia, serif; max-width: 600px; p:first-of-type::first-letter { font-size: 3.5em; float: left; line-height: 0.8; padding-right: 8px; } blockquote { text-align: center; font-style: italic; font-size: 1.2em; } - Applicable to: In-depth reporting, industry analysis, long-form argument, news features
Warm color palette
05 · Golden Hour
- Style: Sunset warm light · earth tones · backlit feel
- Colors: Primary #5D4037 dark brown, background #FFF8F0 warm cream, accent #E67E22 sunset orange, gradient #FFE0B2 → #FFCC80, secondary #FFECB3
- Fonts: Headings Merriweather Bold / body Noto Sans SC Light / quotes Dancing Script or Kaiti
- Layout: Warm gradient blocks, wide images, card-style subheadings, alternating warm-toned background blocks, gradient divider lines
- Features: Sunset tones, warm and healing, backlit gradient backgrounds, images with warm color filter overlays
- CSS Core:
body { background: #FFF8F0; color: #5D4037; } h2 { color: #E67E22; } .highlight-box { background: linear-gradient(135deg, #FFE0B2, #FFCC80); padding: 20px; border-radius: 12px; } - Applicable to: Lifestyle, food photography, travel journal, emotional prose
06 · Coffee Notes
- Style: Coffee shop · Caramel brown · Rough handmade feel
- Color: Primary #3E2723 dark coffee, background #FBF7F0 milk foam white, accent #A0522D caramel, auxiliary #D7CCC8 latte gray, card color #C8B89D
- Font: Headings Amatic SC or ZCOOL XiaoWei / body Noto Sans SC Regular / handwritten notes
- Layout: Rough texture, handmade labels, paper texture background, handwritten/brush headings, short and friendly paragraphs, icon-style dividers
- Features: Coffee shop blackboard feel, handwritten headings, rough-edged cards, caramel accents, warm but not flashy
- CSS Core:
body { background: #FBF7F0; color: #3E2723; } h2 { font-family: 'ZCOOL XiaoWei', serif; color: #3E2723; border-bottom: 2px dashed #D7CCC8; } .note { background: #EFEBE4; border-left: 4px solid #A0522D; padding: 12px 16px; } - Applicable: Startup diary, personal thoughts, reading notes, coffee shop essays
09 · Rose Quartz
- Style: Dried rose · Soft pink · Healing
- Color: Primary #4A3548 deep rose gray, background #FDF5F5 soft pink base, accent #C4727F dried rose, gradient #F5E0E5 → #EDD5DC, auxiliary #F0E0E5
- Font: Headings Playfair Display / body Noto Serif SC / quotes Kai italic
- Layout: Soft pink gradient cards, 12px rounded corners, lots of whitespace, pink-toned dividers, soft-focus effect on images, light and airy
- Features: Dried rose tones, soft and non-glaring, feminine but not overly sweet, strong healing feel, petal accents
- CSS Core:
body { background: #FDF5F5; color: #4A3548; } h2 { color: #C4727F; } .card { background: linear-gradient(135deg, #F5E0E5, #EDD5DC); border-radius: 12px; padding: 20px; } blockquote { border-left: 3px solid #C4727F; color: #8B6B7A; } - Applicable: Beauty and skincare, women's growth, emotional stories, lifestyle
20 · Desert Dawn
- Style: Desert dawn · Terracotta · Cactus
- Color: Primary #5D4037 dark brown, background #FAF0E6 sand, accent #C67B5C terracotta, auxiliary #E8C9A0 dune gold, greenery #7B8D6F cactus green
- Font: Headings Montserrat Bold / body Lora / notes monospace
- Layout: Wide images, earth tones, rough texture, thick line dividers, irregular cards, label-style subheadings
- Features: Desert tones, terracotta texture, cactus green accents, rugged and natural, free-spirited, large images and large text
- CSS Core:
body { background: #FAF0E6; color: #5D4037; } h2 { color: #C67B5C; border-left: 5px solid #C67B5C; padding-left: 16px; } .accent-green { color: #7B8D6F; } hr { border: 2px solid #E8C9A0; } - Applicable: Travel adventure, freelance, outdoor sports, nomadic life
Dark color scheme
07 · Elegant Noir
- Style: Black gold luxury · VOGUE · Champagne gold
- Color: Primary #0A0A0A black, accent #D4AF37 champagne gold, text #EAEAEA light gray-white, auxiliary #2A2A2A dark gray, #C9A84C dark gold
- Font: Headings Playfair Display Bold / body Cormorant Garamond / quotes Playfair Display Italic
- Layout: Dark background, gold headings, serif fonts, ultra-thin gold line dividers, high-contrast images, text centered or right-aligned
- Features: Luxury brand feel, gold text on black background, elegant serif type, thin gold lines, reduced image saturation + gold filter
- CSS Core:
body { background: #0A0A0A; color: #EAEAEA; } h2 { color: #D4AF37; font-family: 'Playfair Display', serif; text-align: center; letter-spacing: 2px; } hr { border-color: #D4AF37; height: 1px; } blockquote { border-left: 2px solid #D4AF37; color: #C9A84C; } - Applicable: Brand stories, luxury goods, high-end lifestyle, fashion commentary
08 · Deep Ocean
- Style: Deep sea · Cyan glow · Tech feel
- Color: Primary color #0A1628 deep-sea black-blue, accent color #00D4FF cyan fluorescent, text #C8D6E5 light blue-gray, auxiliary #1A2A4A, gradient #0A1628 → #0D2137
- Typography: Headings Space Mono Bold / Body Inter Regular / Code Fira Code
- Layout: Dark background, fluorescent headings, monospaced code areas, data cards, tech icons, glowing border effects
- Features: Deep-sea dark tones, cyan fluorescent highlights, tech-style lines, terminal-style code blocks, data visualization cards
- CSS Core:
body { background: #0A1628; color: #C8D6E5; } h2 { color: #00D4FF; font-family: 'Space Mono', monospace; } code { background: #1A2A4A; color: #00D4FF; padding: 2px 6px; border-radius: 3px; } pre { background: #0D2137; border: 1px solid #00D4FF33; } .data-card { border: 1px solid #00D4FF44; border-radius: 8px; } - Use Cases: AI technology, data analysis, programming tutorials, tech reviews
10 · Cyber Neon
- Style: Cyberpunk · Neon Green · Glitch Aesthetic
- Colors: Primary color #0D0D0D pure black, accent color #00FF41 neon green, secondary accent #FF00FF magenta, text #E0E0E0, auxiliary #1A1A1A
- Typography: Headings Orbtron / Body Share Tech Mono / Code VT323
- Layout: Black background, neon borders, glitch-effect headings, terminal-style code blocks, neon green underlines, scanline texture
- Features: Cyberpunk, neon glow, glitch effects, scanlines, terminal aesthetic, monospaced fonts throughout
- CSS Core:
body { background: #0D0D0D; color: #E0E0E0; } h2 { color: #00FF41; text-shadow: 0 0 10px #00FF4188, 0 0 20px #00FF4144; font-family: 'Share Tech Mono', monospace; } a { color: #FF00FF; } blockquote { border-left: 3px solid #00FF41; box-shadow: 0 0 10px #00FF4122; } - Use Cases: Web3, blockchain, geek culture, sci-fi reviews, gaming
18 · Midnight Blue
- Style: Midnight Blue · Silver Moon · Starry Sky
- Colors: Primary color #0C1929 midnight blue-black, text #B8C9E0 moonlight gray, accent color #7B9EC4 silver blue, auxiliary #1A2D47, starlight #E8D5B7 warm gold
- Typography: Headings Spectral Bold / Body EB Garamond / Quotes Cormorant Italic
- Layout: Immersive dark tones, serif body text, centered poetic style, starry embellishments, minimalist dividers, generous whitespace for breathing room
- Features: Late-night reading feel, blue-black background with serif typefaces, moonlight-white text, poetic whitespace, warm gold starlight accents
- CSS Core:
body { background: #0C1929; color: #B8C9E0; } h2 { color: #E8D5B7; font-family: 'Spectral', serif; text-align: center; } p { font-family: 'EB Garamond', serif; } .poem { text-align: center; font-style: italic; color: #7B9EC4; } - Use Cases: Late-night articles, poetry, philosophical reflections, astrophotography
Literary Style
11 · Monet Garden
- Style: Impressionism · Monet · Oil Painting Feel
- Colors: Primary color #4A6B5D water lily green, background #F5F2EB linen canvas, accent color #9B7CB6 lavender purple, auxiliary #E8C4A0 warm yellow, #C4D7E0 sky blue, #E8B4B8 rose pink
- Typography: Headings Dancing Script / Body EB Garamond / Annotations Kai style
- Layout: Soft gradients, oil-painting-textured borders, blending colors, image-text overlays, irregular shapes, hazy filters
- Features: Impressionist color palette, soft brushstroke feel, translucent layered colors, garden atmosphere, Monet water lily palette
- CSS Core:
body { background: #F5F2EB; color: #4A6B5D; } h2 { font-family: 'Dancing Script', cursive; color: #9B7CB6; font-size: 32px; } .impression-box { background: linear-gradient(135deg, #E8C4A044, #C4D7E044, #E8B4B844); border-radius: 16px; } - Use Cases: Art reviews, garden life, Impressionism introductions, literary creation
12 · Academic Classic
- Style: Oxford academic style · Deep green · Gold foil
- Colors: Primary color #1B3A2D Oxford deep green, background #F9F6F0 parchment, accent color #B8943E gold foil, auxiliary #8B6F47 leather brown
- Typography: Headings Playfair Display SC Bold / Body Libre Baskerville / Quotes EB Garamond Italic
- Layout: Classical symmetry, gold-foil title, parchment background, drop cap, Roman numeral chapter numbers, thin gold line dividers
- Features: Oxford-Cambridge collegiate feel, classic pairing of deep green + gold foil, serif typeface, warm parchment tones, decorative line at chapter openings
- CSS Core:
body { background: #F9F6F0; color: #1B3A2D; } h2 { color: #B8943E; font-family: 'Playfair Display SC', serif; text-align: center; border-top: 1px solid #B8943E; border-bottom: 1px solid #B8943E; padding: 12px 0; } p::first-letter { color: #B8943E; } - Use Cases: Academic articles, historical research, classic book reviews, knowledge popularization
14 · Ink Wash
- Style: Chinese ink wash · negative space · seal red
- Colors: Primary #1A1A1A deep ink, background #F7F3EC rice paper, accent #C04040 seal red, grayscale #888 #BBB #DDD (five ink tones)
- Fonts: Headings ZCOOL XiaoWei / body Noto Serif SC / quotes kai script / vertical text
- Layout: Generous negative space, seal-red headings, ink-wash gradient background, vertical quotes, colophon-style annotations, mountain-shaped dividers
- Features: Chinese ink painting aesthetic, ink in five tones, seal-red accents, rice paper background, large areas of negative space, colophon and signature
- CSS Core:
body { background: #F7F3EC; color: #1A1A1A; } h2 { font-family: 'ZCOOL XiaoWei', serif; color: #C04040; font-size: 28px; text-align: center; } blockquote { font-family: 'KaiTi', serif; writing-mode: vertical-rl; float: right; color: #666; } .seal { color: #C04040; } - Use Cases: Chinese calligraphy and painting, Eastern aesthetics, classical literature, Zen tea culture
17 · Forest Mist
- Style: Morning mist forest · moss green · healing
- Colors: Primary #2D4A3E deep moss green, background #F2F7F2 morning mist white, accent #7B9D6E moss green, secondary #C5D8C0 light mist green, #4A7C59 pine green
- Fonts: Headings Nunito Light / body Lora / quotes EB Garamond Italic
- Layout: Soft green tones, rounded corners, ample breathing room, natural texture dividers, card-based, illustration style
- Features: Healing forest feel, morning mist palette, moss green layers, gentle and non-irritating, meditative atmosphere
- CSS Core:
body { background: #F2F7F2; color: #2D4A3E; } h2 { color: #4A7C59; font-weight: 300; } .card { background: #FFF; border-radius: 16px; box-shadow: 0 2px 16px rgba(45,74,62,0.06); } blockquote { border-left: 3px solid #7B9D6E; background: #F2F7F2; } - Use Cases: Nature healing, meditation and mindfulness, sustainable living, forest bathing
Modern Series
13 · Aurora Gradient
- Style: Aurora dreamscape · purple-green gradient · translucent
- Colors: Primary #1A1A2E deep purple-black, gradient #6C63FF → #00D2FF → #00F5A0 → #E040FB, text #E8E8F0
- Fonts: Headings Space Grotesk Bold / body Inter Regular / code JetBrains Mono
- Layout: Aurora gradient blocks, translucent feel on dark background, glassmorphism cards, gradient borders, glowing headings, dynamic visuals
- Features: Aurora color gradients, translucent glass feel, blending of four colors purple, green, blue, and pink, futuristic, boundless creativity
- CSS Core:
body { background: #1A1A2E; color: #E8E8F0; } h2 { background: linear-gradient(135deg, #6C63FF, #00F5A0); -webkit-background-clip: text; -webkit-text-fill-color: transparent; } .glass-card { background: rgba(255,255,255,0.05); backdrop-filter: blur(10px); border: 1px solid rgba(108,99,255,0.3); border-radius: 12px; } - Use Cases: Creative design, future trends, digital art, brand innovation
15 · Glass Morphism
- Style: Frosted glass · semi-transparent · iOS style
- Colors: Primary #2C2C2E iOS gray, background #F2F2F7 iOS light gray, accent #007AFF Apple blue, glass #FFFFFF88, secondary #E5E5EA
- Fonts: Headings SF Pro Display Bold / body SF Pro Text Regular / annotations SF Pro Text Light
- Layout: Frosted glass cards, semi-transparent overlays, 16px rounded corners, soft shadows, minimalist line frames, native iOS feel
- Features: Apple design language, frosted glass blur effect, semi-transparent layers, refined rounded corners, clean line frames
- CSS Core:
body { background: #F2F2F7; color: #2C2C2E; } .glass { background: rgba(255,255,255,0.72); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); border-radius: 16px; border: 1px solid rgba(0,0,0,0.08); } h2 { color: #007AFF; } - Applicable: Product design, UX review, iOS development, tech lifestyle
16 · Brutalist Raw
- Style: Brutalism · Thick borders · Anti-refinement
- Colors: Primary #000 black, background #FFF white, accent #FF4500 alert orange, secondary #EEE plain gray, no gradients
- Fonts: Headings Impact or Anton / body Courier New monospace / notes Arial Bold
- Layout: Thick black borders 4px+, right angles no rounded corners, large block divisions, mainly black and white + monochrome violent accent, raw HTML feel
- Features: Reject refinement, thick borders and bold fonts, minimalist and extremely bold, anti-design, punk attitude, raw Web 1.0 aesthetic
- CSS Core:
body { background: #FFF; color: #000; } h2 { font-family: 'Anton', sans-serif; font-size: 36px; border: 4px solid #000; display: inline-block; padding: 8px 16px; } .brutal-box { border: 3px solid #000; padding: 20px; box-shadow: 6px 6px 0 #000; } a { color: #FF4500; text-decoration: underline; } - Applicable: Street culture, independent opinions, anti-mainstream, design criticism
19 · Summer Mint
- Style: Summer mint · Jelly feel · Gen Z
- Colors: Primary #2D3436 dark gray, background #F0FFF4 mint white, accent #00B894 mint green, secondary #55EFC4 jelly green, #FFEAA7 lemon yellow, #FAB1A0 peach pink
- Fonts: Headings Quicksand Bold / body Nunito Regular / notes Comic Neue
- Layout: Rounded corners 16px+, jelly-feel cards, colorful tags, emoji accents, short paragraphs, bouncy rhythm, speech bubbles
- Features: Gen Z aesthetic, jelly texture, mint green + candy colors, lively and bouncy, emoji-friendly, relaxed and not serious
- CSS Core:
body { background: #F0FFF4; color: #2D3436; } h2 { color: #00B894; font-family: 'Quicksand', sans-serif; } .bubble { background: #FFF; border-radius: 18px; box-shadow: 0 4px 12px rgba(0,184,148,0.12); padding: 16px; } .tag { background: #55EFC4; border-radius: 20px; color: #2D3436; padding: 4px 12px; } - Applicable: Pop culture, social media, campus life, Gen Z topics
Usage with md2wechat
To use these themes with md2wechat AI mode, specify the theme name and provide its specification as the AI prompt:
# AI mode with custom theme prompt
md2wechat convert article.md --mode ai --theme custom --preview
# Combine with humanization
md2wechat convert article.md --mode ai --theme custom --preview
md2wechat humanize article.md --intensity medium
# Full pipeline with cover generation
md2wechat convert article.md --mode ai --theme custom -o output.html
md2wechat generate_cover --article article.md --preset cover-hero
md2wechat convert output.html --draft --cover cover.jpg
When using AI mode conversion, embed the selected theme's color palette, font stack, layout rules, and CSS core into the AI prompt to guide the HTML generation.
Safety And Transparency
- Reads local Markdown files and local images.
- May download remote images when asked.
- May call external image-generation services when configured.
- May upload HTML, images, drafts, and image posts to WeChat when the user explicitly requests those actions.