| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496 |
- #!/usr/bin/env python3
- """Convert the user manual markdown to a formatted DOCX file."""
- from docx import Document
- from docx.shared import Pt, Cm, RGBColor
- from docx.enum.text import WD_ALIGN_PARAGRAPH
- import re
- def create_manual():
- doc = Document()
- # Set default style
- style = doc.styles['Normal']
- style.font.name = '微软雅黑'
- style.font.size = Pt(11)
- style.font.color.rgb = RGBColor(0x33, 0x33, 0x33)
- style.paragraph_format.space_after = Pt(6)
- style.paragraph_format.line_spacing = 1.5
- def h(text, level=1):
- heading = doc.add_heading(text, level=level)
- for run in heading.runs:
- run.font.name = '微软雅黑'
- return heading
- def p(text, bold=False, size=None, color=None, align=None, indent=False):
- para = doc.add_paragraph()
- run = para.add_run(text)
- if bold: run.bold = True
- if size: run.font.size = Pt(size)
- if color: run.font.color.rgb = RGBColor(*color)
- if align: para.alignment = align
- if indent: para.paragraph_format.left_indent = Cm(1)
- run.font.name = '微软雅黑'
- return para
- def code(text):
- para = doc.add_paragraph()
- para.paragraph_format.left_indent = Cm(1)
- para.paragraph_format.space_before = Pt(4)
- para.paragraph_format.space_after = Pt(4)
- run = para.add_run(text)
- run.font.name = 'Consolas'
- run.font.size = Pt(9)
- run.font.color.rgb = RGBColor(0x1a, 0x1a, 0x2e)
- return para
- def tbl(headers, rows):
- table = doc.add_table(rows=1 + len(rows), cols=len(headers))
- table.style = 'Light Grid Accent 1'
- for i, h_text in enumerate(headers):
- cell = table.rows[0].cells[i]
- cell.text = h_text
- for cell_p in cell.paragraphs:
- for r in cell_p.runs:
- r.bold = True
- r.font.name = '微软雅黑'
- r.font.size = Pt(10)
- for ri, row in enumerate(rows):
- for ci, cell_text in enumerate(row):
- cell = table.rows[ri+1].cells[ci]
- cell.text = str(cell_text)
- for cell_p in cell.paragraphs:
- for r in cell_p.runs:
- r.font.name = '微软雅黑'
- r.font.size = Pt(10)
- doc.add_paragraph()
- return table
- def tip(text):
- para = doc.add_paragraph()
- para.paragraph_format.left_indent = Cm(1)
- run = para.add_run('💡 ' + text)
- run.font.name = '微软雅黑'
- run.font.size = Pt(10)
- run.font.color.rgb = RGBColor(0x25, 0x63, 0xeb)
- return para
- def image_placeholder(text):
- para = doc.add_paragraph()
- para.alignment = WD_ALIGN_PARAGRAPH.CENTER
- para.paragraph_format.space_before = Pt(12)
- para.paragraph_format.space_after = Pt(12)
- run = para.add_run(f'[此处插入截图:{text}]')
- run.font.name = '微软雅黑'
- run.font.size = Pt(10)
- run.font.color.rgb = RGBColor(0x93, 0x3a, 0xea)
- run.italic = True
- run.bold = True
- return para
- def page_break():
- doc.add_page_break()
- # ===== TITLE PAGE =====
- doc.add_paragraph()
- doc.add_paragraph()
- title_para = doc.add_paragraph()
- title_para.alignment = WD_ALIGN_PARAGRAPH.CENTER
- title_run = title_para.add_run('用 Claude Code 搭建企业产品独立站')
- title_run.font.size = Pt(28)
- title_run.font.color.rgb = RGBColor(0x0f, 0x17, 0x2a)
- title_run.bold = True
- title_run.font.name = '微软雅黑'
- subtitle_para = doc.add_paragraph()
- subtitle_para.alignment = WD_ALIGN_PARAGRAPH.CENTER
- subtitle_run = subtitle_para.add_run('零代码使用手册')
- subtitle_run.font.size = Pt(18)
- subtitle_run.font.color.rgb = RGBColor(0x25, 0x63, 0xeb)
- subtitle_run.bold = True
- subtitle_run.font.name = '微软雅黑'
- doc.add_paragraph()
- p('v1.0 · 2026年5月', size=10, color=(0x94, 0xa3, 0xb8), align=WD_ALIGN_PARAGRAPH.CENTER)
- doc.add_paragraph()
- p('适用人群:没有编程基础的市场、运营、产品经理', align=WD_ALIGN_PARAGRAPH.CENTER)
- p('所需工具:Claude Code(命令行版)+ 产品介绍 PPT', align=WD_ALIGN_PARAGRAPH.CENTER)
- p('产出成果:一个被 AI 搜索引擎收录的多语言产品官网', align=WD_ALIGN_PARAGRAPH.CENTER)
- p('全程耗时:约 1-2 小时(含 AI 自动生成时间)', align=WD_ALIGN_PARAGRAPH.CENTER)
- page_break()
- # ===== TABLE OF CONTENTS =====
- h('目录', level=1)
- toc_items = [
- '准备工作:你需要什么',
- '第一步:准备产品资料',
- '第二步:让 AI 学习你的产品',
- '第三步:让 AI 研究 SEO 策略',
- '第四步:让 AI 设计网站架构',
- '第五步:让 AI 编写网站',
- '第六步:检查网站效果',
- '第七步:发现样式问题并修复',
- '第八步:部署上线(可选)',
- '常见问题排查',
- '附录 A:给 AI 的完整提示词合集',
- '附录 B:我们的实战案例复盘',
- '附录 C:GEO 优化清单',
- '附录 D:关键技术概念解释',
- ]
- for i, item in enumerate(toc_items):
- p(f'{i+1}. {item}', size=11)
- page_break()
- # ===== SECTION 1: 准备工作 =====
- h('1. 准备工作:你需要什么', level=1)
- h('硬件/软件要求', level=2)
- tbl(['项目', '要求'], [
- ['电脑', 'Windows / Mac 均可'],
- ['网络', '能正常访问互联网'],
- ['Claude Code', '已安装并登录'],
- ['Node.js', 'Claude Code 自带,无需单独安装'],
- ])
- h('材料要求', level=2)
- tbl(['材料', '格式', '说明'], [
- ['产品介绍 PPT', '.pptx', '产品定位、功能、品牌故事等'],
- ['品牌手册', '.pptx 或 .pdf', '愿景、使命、价值观等'],
- ])
- image_placeholder('准备就绪的文件夹,内含 PPT 文件')
- h('确认 Claude Code 已启动', level=2)
- p('打开终端(Windows 按 Win+R,输入 cmd,回车),输入:')
- code('claude')
- p('看到欢迎界面说明启动成功。')
- image_placeholder('Claude Code 启动后的欢迎界面')
- # ===== SECTION 2 =====
- h('2. 第一步:准备产品资料', level=1)
- h('操作目标', level=2)
- p('将 PPT 产品资料放到一个文件夹里,让 Claude Code 能找到它们。')
- h('步骤 2.1:创建文件夹', level=2)
- p('在电脑上创建一个文件夹来存放所有材料。例如:')
- code('D:\\我的项目\\产品介绍\\')
- p('将你的产品 PPT 文件放入这个文件夹。')
- image_placeholder('文件夹中放置了 PPT 文件')
- h('步骤 2.2:确认工作目录', level=2)
- p('在 Claude Code 中,输入以下命令查看当前工作目录:')
- code('你现在在哪个文件夹工作?')
- p('Claude 会告诉你当前的工作路径,记下这个路径。')
- image_placeholder('Claude 回复当前工作路径')
- # ===== SECTION 3 =====
- h('3. 第二步:让 AI 学习你的产品', level=1)
- h('操作目标', level=2)
- p('让 Claude 读取你的 PPT 资料,深入理解你的产品、品牌和业务。')
- h('步骤 3.1:发送第一个提示词', level=2)
- p('将以下提示词完整复制到 Claude Code 对话框中,替换 [文件夹路径] 为实际路径:')
- code('请读取我放在 [你的产品介绍文件夹路径] 目录下的所有 PPT 文件,\n深度理解我们的产品定位、品牌理念、核心功能、目标客户和竞争优势。\n然后帮我总结:\n1. 产品的核心定位是什么?\n2. 产品解决什么痛点?\n3. 产品有哪些核心功能?\n4. 目标客户是谁?')
- image_placeholder('在 Claude Code 中粘贴提示词')
- h('步骤 3.2:确认 AI 的理解', level=2)
- p('Claude 会输出对产品的理解摘要。仔细阅读,确认理解正确。')
- p('如果 AI 有理解偏差,直接告诉它:"第 2 点不太对,正确的理解应该是……"')
- image_placeholder('Claude 输出的产品理解摘要')
- # ===== SECTION 4 =====
- h('4. 第三步:让 AI 研究 SEO 策略', level=1)
- h('操作目标', level=2)
- p('让 Claude 搜索互联网上关于 GEO(生成式引擎优化)的最佳实践。')
- h('为什么这步很重要?', level=2)
- p('传统 SEO 是让 Google 收录你的网站。但现在越来越多用户用 ChatGPT、豆包等 AI 工具搜索信息。GEO 就是让你的网站在 AI 回答中被引用和推荐的技巧。')
- h('步骤 4.1:复制以下提示词', level=2)
- code('请帮我做三件事:\n\n1. 搜索 GEO(Generative Engine Optimization)的最佳实践和最新策略\n\n2. 搜索 Astro 框架制作多语言网站的 SEO 最佳实践\n\n3. 基于你对我们产品的理解,梳理目标用户可能会搜索什么内容、\n 问什么问题,建立一个问题库\n\n然后把以上内容整理成一个 GEO 优化方案。')
- image_placeholder('粘贴 GEO 研究提示词')
- h('步骤 4.2:等待 AI 完成研究', level=2)
- p('Claude 会自动搜索多个网页,阅读内容,然后整理出一份完整的 GEO 方案。约需 1-3 分钟。')
- image_placeholder('Claude 输出的 GEO 优化方案摘要')
- h('步骤 4.3:确认方案', level=2)
- p('阅读 AI 输出的内容,重点关注:')
- p('• 关键词列表:用户搜索时会用的词', indent=True)
- p('• 问题库:用户可能会问的问题', indent=True)
- p('• 内容建议:网站需要包含的内容', indent=True)
- # ===== SECTION 5 =====
- h('5. 第四步:让 AI 设计网站架构', level=1)
- h('操作目标', level=2)
- p('让 Claude 规划网站的页面结构、导航、每个页面的内容。')
- h('具体步骤', level=2)
- p('复制以下提示词,一次性发送:')
- code('基于你对产品资料的学习和 GEO 研究,现在帮我规划完整的网站架构。\n\n请完成以下工作:\n1. 设计网站的页面地图(sitemap),列出所有页面\n2. 设计中英文双语的 URL 结构\n3. 规划每个页面的核心内容\n4. 列出所有需要做的 GEO 优化措施\n5. 把规划写入一个 ARCHITECTURE.md 文件\n\n输出格式要清晰,让我这个不懂技术的人也能看明白。')
- image_placeholder('Claude 输出的网站架构设计')
- # ===== SECTION 6 =====
- h('6. 第五步:让 AI 编写网站', level=1)
- h('操作目标', level=2)
- p('让 Claude 自动生成整个网站的代码。')
- h('步骤 6.1:发送生成指令', level=2)
- p('复制以下提示词,确保一次性完整发送:')
- code('现在请开始实际的网站搭建。\n\n要求:\n1. 使用 Astro 框架\n2. 支持中英文双语(/zh/ 和 /en/)\n3. 包含完整的 GEO 优化(结构化数据、hreflang、FAQ schema 等)\n4. 创建一个 website 目录存放所有代码\n5. 所有代码一次性生成,确保完整可运行\n\n请在开始前先创建任务清单,然后逐步执行每个任务,\n直到网站可以正常构建和预览。')
- image_placeholder('粘贴网站生成提示词')
- h('步骤 6.2:等待代码生成', level=2)
- p('Claude 会自动完成:创建项目结构、编写所有页面、配置 SEO/GEO 优化、设置中英文双语、自动安装依赖包、构建并启动网站。约需 10-20 分钟。')
- image_placeholder('Claude 正在生成代码的进度显示')
- h('步骤 6.3:网站生成完成', level=2)
- p('构建成功后会看到:')
- code('38 page(s) built in 2.32s\nComplete!')
- image_placeholder('构建成功的输出信息')
- # ===== SECTION 7 =====
- h('7. 第六步:检查网站效果', level=1)
- h('操作目标', level=2)
- p('在浏览器中查看生成的网站。')
- h('步骤 7.1:让 Claude 打开浏览器', level=2)
- code('帮我用浏览器打开网站首页看看效果')
- image_placeholder('浏览器中打开的网站首页')
- h('步骤 7.2:检查清单', level=2)
- tbl(['检查项', '正常标准', '✅/❌'], [
- ['页面排版', '文字、图片排列整齐,无重叠', ''],
- ['导航菜单', '能正常展开,链接可点击', ''],
- ['语言切换', '点"EN"能切换到英文版', ''],
- ['手机显示', '手机浏览器中正常显示', ''],
- ['页面加载速度', '2 秒内打开', ''],
- ])
- # ===== SECTION 8 =====
- h('8. 第七步:发现样式问题并修复', level=1)
- p('这是本次实战中实际遇到的问题,供你参考。')
- h('问题描述', level=2)
- p('网站打开后只有文字,排版完全乱了。')
- image_placeholder('排版错乱的网站')
- h('原因分析', level=2)
- p('Claude 使用的技术方案中引用了海外 CDN 资源(Google Fonts、Partytown 等),国内网络无法访问。')
- h('修复步骤', level=2)
- p('直接复制以下提示词给 Claude:')
- code('网页打开后排版是乱的,只有文字没有样式。\n请你检查是否引用了海外 CDN 资源(如 Google Fonts、Partytown 等),\n把这些都替换为国内可用的替代方案或完全移除。\n修复后重新构建并打开浏览器给我看。\n\n另外,请建立一条规则记住:以后在国内网络环境下做项目,\n禁止使用任何海外 CDN 资源。')
- image_placeholder('粘贴修复提示词')
- p('Claude 会自动:')
- p('1. 切换到 Tailwind CSS v3(国内稳定版本)', indent=True)
- p('2. 移除 Partytown 组件', indent=True)
- p('3. 移除 Google Fonts 引用', indent=True)
- p('4. 重新安装依赖并构建', indent=True)
- p('5. 建立持久化规则,以后不会再犯', indent=True)
- image_placeholder('修复后排版正常的网站')
- # ===== SECTION 9 =====
- h('9. 第八步:部署上线(可选)', level=1)
- h('操作目标', level=2)
- p('将网站发布到互联网上,让所有人都能访问。')
- h('推荐方案', level=2)
- tbl(['平台', '费用', '适合人群', '操作难度'], [
- ['Vercel', '免费额度够用', '所有人', '⭐ 最简单'],
- ['Cloudflare Pages', '免费', '有小技术基础', '⭐⭐'],
- ['GitHub Pages', '免费', '有 GitHub 账号', '⭐⭐'],
- ])
- h('使用 Vercel 部署(推荐新手)', level=2)
- code('帮我把这个网站部署到 Vercel 上。')
- p('Claude 会引导你完成:注册 Vercel 账号、安装 Vercel CLI、一键部署。')
- h('绑定自己的域名', level=2)
- code('网站部署好了,我想绑定自己的域名 www.我的公司.com,\n请告诉我怎么做?')
- # ===== SECTION 10 =====
- h('10. 常见问题排查', level=1)
- h('Q1:生成的代码有错误,网站打不开', level=2)
- code('构建时报错了,错误信息如下:\n[粘贴错误信息]\n请帮我修复。')
- h('Q2:网站内容需要修改', level=2)
- code('请把首页的标题从"XX"改为"YY",并添加一段关于我们新产品的介绍。')
- h('Q3:想增加新的页面', level=2)
- code('请帮我在网站上增加一个"客户案例"页面,列出以下 3 个案例:\n1. [案例1名称]:[简述]\n2. [案例2名称]:[简述]\n3. [案例3名称]:[简述]')
- h('Q4:想让网站更好看', level=2)
- code('首页的配色太单调了,能否换成更现代的风格?\n主题色改为蓝色系 (#2563eb),搭配紫色点缀。')
- h('Q5:Claude 操作到一半停了', level=2)
- code('继续刚才未完成的工作。')
- # ===== APPENDIX A =====
- page_break()
- h('附录 A:给 AI 的完整提示词合集', level=1)
- p('使用时,将 [方括号] 中的内容替换为你的实际信息。')
- h('A.1 产品学习提示词', level=2)
- code('请读取我放在 [文件夹路径] 目录下的所有 PPT 文件,\n深度理解我们的产品定位、品牌理念、核心功能、目标客户和竞争优势。\n然后帮我总结产品的核心定位、解决的痛点、核心功能和目标客户。')
- h('A.2 GEO 研究提示词', level=2)
- code('请搜索 GEO 的最佳实践。\n然后基于你对我们产品的理解:\n1. 梳理目标用户可能会搜索的内容和问题\n2. 建立一个问题库\n3. 整理关键词列表\n4. 制定完整的内容策略')
- h('A.3 网站架构设计提示词', level=2)
- code('基于产品学习和GEO研究,帮我规划完整的网站架构:\n1. 网站页面地图(sitemap)\n2. 中英文双语URL结构\n3. 每个页面的核心内容\n4. GEO优化措施清单')
- h('A.4 网站生成提示词', level=2)
- code('请使用 Astro 框架,帮我创建一个完整的产品官网。\n要求:\n- 支持中英文双语(/zh/ 和 /en/)\n- 包含完整的GEO优化\n- 所有代码放在 website 目录下\n- 确保在国内网络环境下所有资源可用\n- 完成后自动构建并用浏览器打开')
- h('A.5 样式修复提示词', level=2)
- code('网页排版乱了,请检查是否有海外CDN依赖并修复。\n以后在国内环境做项目,禁止使用海外CDN资源。')
- h('A.6 内容修改提示词', level=2)
- code('请修改 [页面名称] 页面的以下内容:\n- [修改项1]\n- [修改项2]')
- # ===== APPENDIX B =====
- page_break()
- h('附录 B:我们的实战案例复盘', level=1)
- h('B.1 任务全景', level=2)
- tbl(['阶段', '输入', '输出', '耗时'], [
- ['产品学习', '2 个 PPTX 文件(共 58 页)', '产品理解摘要', '~3 分钟'],
- ['SEO 研究', '"搜索 GEO 最佳实践"', 'GEO 优化方案 + 问题库', '~5 分钟'],
- ['架构设计', '"设计网站架构"', '完整网站地图 + URL 结构', '~5 分钟'],
- ['代码生成', '"使用 Astro 框架搭建"', '38 个页面 + 全部配置', '~15 分钟'],
- ['样式修复', '"页面排版乱了"', '切换到 Tailwind v3 方案', '~5 分钟'],
- ['总计', '', '', '~35 分钟'],
- ])
- h('B.2 产出统计', level=2)
- tbl(['指标', '数值'], [
- ['页面总数', '38 个(中英双语)'],
- ['代码文件', '40+ 个'],
- ['博客文章', '3 篇 GEO 优化文章'],
- ['FAQ 条目', '10 个(含结构化数据)'],
- ['术语定义', '13 个(中英双语)'],
- ['SEO Schema 类型', '6 种'],
- ['支持语言', '中文 + 英文'],
- ])
- h('B.3 人机分工', level=2)
- tbl(['人类做的事', 'AI 做的事'], [
- ['提供产品 PPT 资料', '读取和分析 PPT'],
- ['审核 AI 理解和方案', '搜索 SEO 最佳实践'],
- ['检查网站效果', '设计网站架构'],
- ['发现排版问题', '编写全部代码'],
- ['反馈问题给 AI', '自动修复技术问题'],
- ['', '构建和启动网站'],
- ])
- # ===== APPENDIX C =====
- page_break()
- h('附录 C:GEO 优化清单', level=1)
- p('以下是所有实施的 GEO 措施,可交给 AI 逐项检查。')
- h('C.1 结构化数据', level=2)
- p('✅ 网站首页:Organization schema(告诉 AI 这是哪家公司)')
- p('✅ FAQ 页面:FAQPage schema(让 AI 直接引用问答)')
- p('✅ 博客文章:TechArticle schema(标注作者、发布时间)')
- p('✅ 产品页面:SoftwareApplication schema(标注产品信息)')
- p('✅ 所有页面:BreadcrumbList schema(标注页面层级)')
- h('C.2 多语言 SEO', level=2)
- p('✅ hreflang 标签:告知搜索引擎中英文版本对应关系')
- p('✅ x-default 标签:指定默认语言版本')
- p('✅ 规范链接(canonical URL):避免重复内容问题')
- p('✅ 多语言站点地图(sitemap):列出所有语言版本')
- h('C.3 AI 爬虫友好', level=2)
- p('✅ llms.txt:专门给 AI 爬虫的站点说明文件')
- p('✅ robots.txt:明确允许 ChatGPT、Google AI 等爬虫访问')
- p('✅ 术语表页面:为专业术语提供权威定义')
- p('✅ 每篇博客标注"作者 + 发布时间"')
- h('C.4 内容策略', level=2)
- p('✅ 为核心概念建立专属页面')
- p('✅ FAQ 回答直接、权威、结构化')
- p('✅ 博客覆盖高频搜索问题')
- p('✅ 内容互联(文章之间互相引用链接)')
- # ===== APPENDIX D =====
- page_break()
- h('附录 D:关键技术概念解释', level=1)
- p('以下内容面向非技术读者,用"白话"解释涉及的技术概念。', size=10, color=(0x94, 0xa3, 0xb8))
- concepts = [
- ('Astro 是什么?',
- '一个"静态网站生成器",能像搭积木一样把网站的各个部分拼在一起,最终输出为纯 HTML 文件,加载极快。',
- '传统的网站像"现场炒菜"——用户访问时服务器现做。Astro 像"预制菜"——提前做好,用户来了直接端上桌。'),
- ('Tailwind CSS 是什么?',
- '一个"样式工具箱",通过给 HTML 标签添加简短的类名来控制外观,不需要写 CSS 代码。',
- '传统写样式像"从零设计一套家具",Tailwind 像"宜家的标准化配件"——你只需要选择搭配。'),
- ('GEO 是什么?',
- 'Generative Engine Optimization,生成式引擎优化。让你的内容被 ChatGPT、豆包等 AI 在回答中引用和推荐。',
- '传统 SEO 像在图书馆卡片目录中排名靠前;GEO 像是让你的书成为图书馆员回答问题时必引用的参考书。'),
- ('JSON-LD 是什么?',
- '在网页中嵌入"机器可读的标签",告诉搜索引擎和 AI"这段文字是 FAQ 问答"、"这个页面是产品介绍"。',
- '就像超市货架上商品的条形码——人类看包装就知道是什么,但扫码器需要条形码。JSON-LD 就是给 AI 的"条形码"。'),
- ('hreflang 是什么?',
- '告诉搜索引擎"这个页面有中文版和英文版,中文版在这里,英文版在那里",避免被当作重复内容。',
- '就像一本书有中英文两个版本,封面标注"中文版"和"English Edition",读者不会困惑。'),
- ('i18n 是什么?',
- 'Internationalization(国际化)的缩写——i 和 n 之间有 18 个字母。指让网站支持多种语言。',
- ''),
- ]
- for name, explanation, analogy in concepts:
- h(name, level=2)
- p(f'一句话解释:{explanation}')
- if analogy:
- p(f'类比:{analogy}', size=10, color=(0x64, 0x74, 0x8b))
- # ===== CONCLUSION =====
- page_break()
- h('总结', level=1)
- p('你现在拥有了一套完整的方法:')
- steps = [
- '准备好产品 PPT → 放到文件夹',
- '打开 Claude Code → 粘贴本手册的提示词',
- '审核 AI 输出 → 必要时反馈调整',
- '获得成品网站 → 浏览器直接看效果',
- ]
- for i, step in enumerate(steps, 1):
- p(f'{i}. {step}', indent=True)
- h('最重要的原则', level=2)
- p('✅ 提示词要完整清晰,一次性说清楚需求')
- p('✅ 每一步确认 AI 理解正确再继续')
- p('✅ 遇到问题直接反馈,AI 会自己修复')
- p('✅ 让 AI 建立规则,下次不再犯同类错误')
- doc.add_paragraph()
- doc.add_paragraph()
- footer_para = doc.add_paragraph()
- footer_para.alignment = WD_ALIGN_PARAGRAPH.CENTER
- footer_run = footer_para.add_run('— 手册结束 —')
- footer_run.font.size = Pt(10)
- footer_run.font.color.rgb = RGBColor(0x94, 0xa3, 0xb8)
- footer_run.font.name = '微软雅黑'
- doc.add_paragraph()
- version_para = doc.add_paragraph()
- version_para.alignment = WD_ALIGN_PARAGRAPH.CENTER
- vr = version_para.add_run('v1.0 · 2026年5月 · 基于未来飞马(Fmode)产品官网实战编写')
- vr.font.size = Pt(9)
- vr.font.color.rgb = RGBColor(0x94, 0xa3, 0xb8)
- vr.font.name = '微软雅黑'
- # Save
- output_path = 'd:/workspace/temp/newp/产品独立站搭建手册-Claude版.docx'
- doc.save(output_path)
- print(f'✅ DOCX saved to: {output_path}')
- if __name__ == '__main__':
- create_manual()
|