--- name: magazine-layout description: | 将文本内容转换为精美的杂志风格HTML页面,支持专业排版和多种视觉风格。触发场景:(1) 用户想将文本/文章转换为杂志风格HTML,(2) 用户提到"杂志排版"、"杂志设计"、"文章排版"、"专业排版"、"文本美化"、"magazine layout",(3) 用户需要优雅排版的HTML页面,(4) 用户需要将设计内容导出为PDF。支持12种独特视觉风格,使用Tailwind CSS。 --- # 杂志排版设计师 将纯文本转换为专业设计的杂志风格HTML页面,使用Tailwind CSS实现精美排版。 ## 快速开始 1. 用户提供文本内容 2. **与用户讨论并选择合适的风格** 3. 根据选定风格生成完整HTML 4. 可选:导出为PDF ## 工作流程 ### 第一步:分析内容结构 识别文本的结构元素: - 标题和副标题 - 章节和小标题 - 重要引言或金句 - 列表和数据要点 - 作者/日期信息 ### 第二步:风格选择(与用户协商) **重要**:必须向用户展示风格选项,与用户讨论后再确定。使用 AskUserQuestion 工具让用户选择。 阅读 [references/styles.md](references/styles.md) 获取完整模板。 **可选风格一览:** | 编号 | 风格名称 | 适用场景 | 视觉特点 | |-----|---------|---------|---------| | 1 | 经典优雅 (Classic Elegance) | 文学、散文、回忆录 | 衬线字体、暖色调、首字下沉、装饰性分隔线 | | 2 | 现代极简 (Modern Minimalist) | 科技博客、现代文章 | 无衬线字体、大量留白、简洁线条 | | 3 | 科技杂志 (Tech Magazine) | 编程、技术内容 | 渐变色彩、代码块样式、未来感设计 | | 4 | 自然生活 (Nature & Lifestyle) | 生活方式、旅行、美食 | 自然绿色调、有机造型、手写风格点缀 | | 5 | 大胆社论 (Bold Editorial) | 观点、评论文章 | 超大标题、高对比黑白、红色强调 | | 6 | 复古怀旧 (Vintage Retro) | 历史、怀旧内容 | 复古边框、打字机字体、羊皮纸质感 | | 7 | 商务专业 (Corporate Professional) | 商业报告、企业文档 | 海军蓝配色、清晰层级、专业严谨 | | 8 | 创意艺术 (Creative Art) | 设计、艺术创作 | 不对称布局、色块装饰、手绘风格 | | 9 | 学术期刊 (Academic Journal) | 学术论文、研究报告 | 双栏布局、摘要样式、引用格式 | | 10 | 时尚奢华 (Fashion Luxe) | 时尚、奢侈品内容 | 金色点缀、优雅衬线、精致留白 | | 11 | 新闻报道 (News & Report) | 新闻、新闻报道 | 报纸风格、多级标题、突发标签 | | 12 | 暗黑科技 (Dark Mode Tech) | 开发者内容 | 深色背景、荧光配色、终端风格 | **风格推荐逻辑:** - 文学/散文类 → 推荐:经典优雅、复古怀旧 - 技术/编程类 → 推荐:科技杂志、暗黑科技、现代极简 - 商业/报告类 → 推荐:商务专业、新闻报道 - 生活/旅行类 → 推荐:自然生活、时尚奢华 - 观点/评论类 → 推荐:大胆社论、创意艺术 - 学术/研究类 → 推荐:学术期刊 **用户也可以:** - 混合多种风格元素 - 自定义颜色、字体 - 调整页面尺寸和间距 ### 第三步:生成HTML 从 [references/styles.md](references/styles.md) 读取选定风格的模板,生成完整HTML。 **生成规则:** 1. 严格使用选定风格的模板结构 2. **保留用户原文的全部内容** - 绝不删减或总结 3. 应用合适的排版组件: - 首段使用 `drop-cap` 首字下沉 - 重要语句使用 `blockquote` 引言样式 - 章节间使用风格专属的分隔线 - 正确的标题层级 (h1 > h2 > h3) 4. **必须包含智能分页CSS**(见下方说明) 5. 内容必须适应页面尺寸 6. 包含所有CSS(内联或通过CDN引入Tailwind、Google Fonts) 7. 输出完整、自包含的HTML文件 **核心排版组件:** ```html

首段文字内容...

"重要引言内容"

— 来源

主标题

副标题或导语

``` **智能分页CSS(必须包含):** 确保PDF导出时内容不会在元素中间被切断。每个模板已内置此CSS,生成HTML时必须保留: ```css /* 打印/PDF模式 */ @media print { /* 标题后禁止分页 */ h1, h2, h3, .chapter-number, .chapter-title { page-break-after: avoid; break-after: avoid; } /* 块级元素内部禁止分页 */ blockquote, .highlight-box, .stage-item, .question-item, .code-block, .terminal, figure, img, table { page-break-inside: avoid; break-inside: avoid; } /* 列表保持完整 */ ul, ol, .numbered-list, .stage-list { page-break-inside: avoid; break-inside: avoid; } /* 分隔线后禁止分页 */ .elegant-divider, .divider, hr { page-break-after: avoid; break-after: avoid; } /* 段落孤行寡行控制 */ p { orphans: 3; widows: 3; } } /* 非打印时也应用,确保PDF渲染一致 */ blockquote, .highlight-box, .code-block, .terminal, figure, img, table { page-break-inside: avoid; break-inside: avoid; } ``` | CSS属性 | 效果 | 适用元素 | |--------|------|---------| | `page-break-inside: avoid` | 元素内部禁止分页 | 引言、卡片、列表 | | `page-break-after: avoid` | 元素后禁止分页 | 标题、分隔线 | | `orphans: 3` | 页底至少保留3行 | 段落 | | `widows: 3` | 页顶至少保留3行 | 段落 | ### 第四步:PDF导出(可选) 使用 `scripts/html_to_pdf.py` 脚本: ```bash # 检查可用引擎 python scripts/html_to_pdf.py --check # 转换(自动检测最佳引擎) python scripts/html_to_pdf.py magazine.html # 指定输出文件名 python scripts/html_to_pdf.py magazine.html output.pdf # 使用特定引擎 python scripts/html_to_pdf.py magazine.html --engine playwright ``` **引擎安装方法:** - Playwright(推荐): `pip install playwright && playwright install chromium` - WeasyPrint: `pip install weasyprint` - wkhtmltopdf: `brew install wkhtmltopdf` (macOS) ## 长文分页处理 **智能分页**:所有模板已内置分页控制CSS,PDF导出时自动避免在以下位置分页: - 标题与正文之间 - 引用块、高亮框、列表内部 - 分隔线与下方内容之间 对于超长内容(需手动分割时): 1. 在自然断点处分页(每页约800-1000字) 2. 生成独立HTML文件:`文章_第1页.html`、`文章_第2页.html` 3. 每页都是完整自包含的HTML(含完整CSS和分页控制) ## 输出格式 ```markdown ## 您的杂志页面 将以下代码保存为 `文章.html`: \`\`\`html ...完整HTML代码... \`\`\` **查看方式:** 用浏览器打开 `文章.html` **导出PDF:** `python scripts/html_to_pdf.py 文章.html` ``` ## 风格定制 用户可能要求修改: - **颜色**:修改CSS变量或Tailwind类 - **字体**:更新Google Fonts导入 - **间距**:调整padding、margin、line-height - **布局**:修改页面宽高尺寸 在保持整体风格协调的前提下应用修改。 ## 资源文件 ### scripts/ - `html_to_pdf.py` - HTML转PDF脚本,支持多种渲染引擎(Playwright/WeasyPrint/wkhtmltopdf) ### references/ - `styles.md` - 全部12种风格的完整模板,包含配色方案、字体设置、智能分页CSS和HTML模板代码