[{"data":1,"prerenderedAt":644},["ShallowReactive",2],{"/blog/4":3,"surround-/blog/4":635},{"id":4,"title":5,"body":6,"category":624,"date":625,"description":41,"extension":626,"image":627,"meta":628,"navigation":189,"path":629,"seo":630,"stem":631,"tags":632,"__hash__":634},"blog/blog/4.md","大字报·Pro - Cover Generator",{"type":7,"value":8,"toc":608},"minimark",[9,14,36,42,45,50,96,98,102,108,110,114,118,138,141,270,273,311,313,317,325,327,331,401,403,407,486,488,492,531,533,537,540,567,569,573,581,583,587,595,597,604],[10,11,13],"h1",{"id":12},"️-大字报pro-cover-generator","📽️ 大字报·Pro - Cover Generator",[15,16,18,19,18,24,18,28,18,32],"p",{"align":17},"center","\n  ",[20,21],"img",{"src":22,"alt":23},"https://img.shields.io/badge/React-19.2-61DAFB?style=flat-square&logo=react","React",[20,25],{"src":26,"alt":27},"https://img.shields.io/badge/Tauri-2.9-FFC131?style=flat-square&logo=tauri","Tauri",[20,29],{"src":30,"alt":31},"https://img.shields.io/badge/Vite-7.2-646CFF?style=flat-square&logo=vite","Vite",[20,33],{"src":34,"alt":35},"https://img.shields.io/badge/TailwindCSS-3.4-06B6D4?style=flat-square&logo=tailwindcss","TailwindCSS",[15,37,18,38],{"align":17},[39,40,41],"strong",{},"🎨 复古胶片风格 | 📱 公众号封面生成器 | 🖥️ 跨平台桌面应用",[43,44],"hr",{},[46,47,49],"h2",{"id":48},"特性亮点","✨ 特性亮点",[51,52,53,60,66,72,78,84,90],"ul",{},[54,55,56,59],"li",{},[39,57,58],{},"胶片颗粒效果"," - 使用 Canvas 生成高斯噪点，叠加 Overlay 混合模式，还原真实胶片质感",[54,61,62,65],{},[39,63,64],{},"16+ 古典字体"," - 内置汇文明朝、京华老宋、霞鹜文楷等多款精选中文古风字体",[54,67,68,71],{},[39,69,70],{},"拖拽式排版"," - 主标题、副标题、作者署名独立拖拽、缩放、行高调整",[54,73,74,77],{},[39,75,76],{},"公众号尺寸适配"," - 预设公众号首图 (2.35:1)、次图 (1:1)、拼接图等常用比例",[54,79,80,83],{},[39,81,82],{},"高清导出"," - 3x 分辨率渲染，基于 SVG 的 html-to-image，字体无损导出",[54,85,86,89],{},[39,87,88],{},"渐变背景"," - 支持纯色与径向渐变背景，6 款精心调配色彩预设",[54,91,92,95],{},[39,93,94],{},"跨平台"," - 基于 Tauri 2.0，支持 macOS / Windows / Linux",[43,97],{},[46,99,101],{"id":100},"预览","📸 预览",[15,103,104],{},[20,105],{"alt":106,"src":107},"Cover Generator Preview","./docs/preview.png",[43,109],{},[46,111,113],{"id":112},"快速开始","🚀 快速开始",[115,116,117],"h3",{"id":117},"前置要求",[51,119,120,130],{},[54,121,122,129],{},[123,124,128],"a",{"href":125,"rel":126},"https://nodejs.org/",[127],"nofollow","Node.js"," >= 18.x",[54,131,132,137],{},[123,133,136],{"href":134,"rel":135},"https://rustup.rs/",[127],"Rust"," (若需构建桌面应用)",[115,139,140],{"id":140},"安装与运行",[142,143,148],"pre",{"className":144,"code":145,"language":146,"meta":147,"style":147},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","# 克隆仓库\ngit clone https://github.com/zjp1997720/cover-app.git\ncd cover-app\n\n# 进入桌面应用目录\ncd cover-app-tauri\n\n# 安装依赖\nnpm install\n\n# 启动开发服务器 (仅 Web)\nnpm run dev\n\n# 启动 Tauri 桌面应用\nnpm run tauri dev\n","bash","",[149,150,151,160,174,184,191,197,205,210,216,225,230,236,247,252,258],"code",{"__ignoreMap":147},[152,153,156],"span",{"class":154,"line":155},"line",1,[152,157,159],{"class":158},"sHwdD","# 克隆仓库\n",[152,161,163,167,171],{"class":154,"line":162},2,[152,164,166],{"class":165},"sBMFI","git",[152,168,170],{"class":169},"sfazB"," clone",[152,172,173],{"class":169}," https://github.com/zjp1997720/cover-app.git\n",[152,175,177,181],{"class":154,"line":176},3,[152,178,180],{"class":179},"s2Zo4","cd",[152,182,183],{"class":169}," cover-app\n",[152,185,187],{"class":154,"line":186},4,[152,188,190],{"emptyLinePlaceholder":189},true,"\n",[152,192,194],{"class":154,"line":193},5,[152,195,196],{"class":158},"# 进入桌面应用目录\n",[152,198,200,202],{"class":154,"line":199},6,[152,201,180],{"class":179},[152,203,204],{"class":169}," cover-app-tauri\n",[152,206,208],{"class":154,"line":207},7,[152,209,190],{"emptyLinePlaceholder":189},[152,211,213],{"class":154,"line":212},8,[152,214,215],{"class":158},"# 安装依赖\n",[152,217,219,222],{"class":154,"line":218},9,[152,220,221],{"class":165},"npm",[152,223,224],{"class":169}," install\n",[152,226,228],{"class":154,"line":227},10,[152,229,190],{"emptyLinePlaceholder":189},[152,231,233],{"class":154,"line":232},11,[152,234,235],{"class":158},"# 启动开发服务器 (仅 Web)\n",[152,237,239,241,244],{"class":154,"line":238},12,[152,240,221],{"class":165},[152,242,243],{"class":169}," run",[152,245,246],{"class":169}," dev\n",[152,248,250],{"class":154,"line":249},13,[152,251,190],{"emptyLinePlaceholder":189},[152,253,255],{"class":154,"line":254},14,[152,256,257],{"class":158},"# 启动 Tauri 桌面应用\n",[152,259,261,263,265,268],{"class":154,"line":260},15,[152,262,221],{"class":165},[152,264,243],{"class":169},[152,266,267],{"class":169}," tauri",[152,269,246],{"class":169},[115,271,272],{"id":272},"构建生产版本",[142,274,276],{"className":144,"code":275,"language":146,"meta":147,"style":147},"# 构建 Web 版本\nnpm run build\n\n# 构建桌面应用 (macOS DMG)\nnpm run tauri build\n",[149,277,278,283,292,296,301],{"__ignoreMap":147},[152,279,280],{"class":154,"line":155},[152,281,282],{"class":158},"# 构建 Web 版本\n",[152,284,285,287,289],{"class":154,"line":162},[152,286,221],{"class":165},[152,288,243],{"class":169},[152,290,291],{"class":169}," build\n",[152,293,294],{"class":154,"line":176},[152,295,190],{"emptyLinePlaceholder":189},[152,297,298],{"class":154,"line":186},[152,299,300],{"class":158},"# 构建桌面应用 (macOS DMG)\n",[152,302,303,305,307,309],{"class":154,"line":193},[152,304,221],{"class":165},[152,306,243],{"class":169},[152,308,267],{"class":169},[152,310,291],{"class":169},[43,312],{},[46,314,316],{"id":315},"项目结构","📁 项目结构",[142,318,323],{"className":319,"code":321,"language":322},[320],"language-text","cover-app/\n├── cover-app-tauri/          # 🖥️ Tauri 桌面应用\n│   ├── src/                  # React 源代码\n│   │   ├── App.jsx           # 主组件 - 封面生成器核心逻辑\n│   │   ├── assets/fonts/     # 本地字体文件 (16 款)\n│   │   └── index.css         # 全局样式 & @font-face\n│   ├── src-tauri/            # Rust 后端\n│   │   ├── src/              # Tauri 核心代码\n│   │   ├── icons/            # 应用图标\n│   │   └── tauri.conf.json   # Tauri 配置\n│   └── package.json\n├── cover-app/                # 📱 纯 Web 版本 (早期开发)\n├── CoverGenerator.jsx        # 原始单文件组件 (参考)\n└── PROJECT_HANDOVER.md       # 项目交接文档\n","text",[149,324,321],{"__ignoreMap":147},[43,326],{},[46,328,330],{"id":329},"内置字体","🎨 内置字体",[332,333,334,347],"table",{},[335,336,337],"thead",{},[338,339,340,344],"tr",{},[341,342,343],"th",{},"分类",[341,345,346],{},"字体名称",[348,349,350,361,371,381,391],"tbody",{},[338,351,352,358],{},[353,354,355],"td",{},[39,356,357],{},"明朝/宋体",[353,359,360],{},"汇文明朝、京华老宋、香萃刻宋、古越轩粗明、造字工房朗宋、方正颜宋",[338,362,363,368],{},[353,364,365],{},[39,366,367],{},"楷书",[353,369,370],{},"霞鹜文楷、江西拙楷、字酷堂清楷、方正苏新诗柳楷、王汉宗颜楷",[338,372,373,378],{},[353,374,375],{},[39,376,377],{},"书法",[353,379,380],{},"黄庭坚书法、禹卫书法行书",[338,382,383,388],{},[353,384,385],{},[39,386,387],{},"艺术",[353,389,390],{},"新蒂雪山体、遥寄相思",[338,392,393,398],{},[353,394,395],{},[39,396,397],{},"现代",[353,399,400],{},"思源宋体、思源黑体、等宽字体",[43,402],{},[46,404,406],{"id":405},"️-技术栈","🛠️ 技术栈",[332,408,409,422],{},[335,410,411],{},[338,412,413,416,419],{},[341,414,415],{},"技术",[341,417,418],{},"版本",[341,420,421],{},"用途",[348,423,424,434,444,454,464,475],{},[338,425,426,428,431],{},[353,427,23],{},[353,429,430],{},"19.2",[353,432,433],{},"前端框架",[338,435,436,438,441],{},[353,437,27],{},[353,439,440],{},"2.9",[353,442,443],{},"跨平台桌面应用",[338,445,446,448,451],{},[353,447,31],{},[353,449,450],{},"7.2",[353,452,453],{},"构建工具",[338,455,456,458,461],{},[353,457,35],{},[353,459,460],{},"3.4",[353,462,463],{},"样式框架",[338,465,466,469,472],{},[353,467,468],{},"html-to-image",[353,470,471],{},"1.11",[353,473,474],{},"高清图片导出",[338,476,477,480,483],{},[353,478,479],{},"lucide-react",[353,481,482],{},"0.555",[353,484,485],{},"图标库",[43,487],{},[46,489,491],{"id":490},"使用指南","📝 使用指南",[493,494,495,501,507,513,519,525],"ol",{},[54,496,497,500],{},[39,498,499],{},"编辑文本"," - 在左侧控制面板输入主标题、副标题和作者信息",[54,502,503,506],{},[39,504,505],{},"选择字体"," - 从 16+ 款古典字体中选择合适的风格",[54,508,509,512],{},[39,510,511],{},"调整布局"," - 直接拖拽画布中的元素，调整位置和大小",[54,514,515,518],{},[39,516,517],{},"设置背景"," - 选择纯色或渐变背景，开启/关闭胶片颗粒效果",[54,520,521,524],{},[39,522,523],{},"选择尺寸"," - 根据需求选择公众号首图、次图或其他比例",[54,526,527,530],{},[39,528,529],{},"导出图片"," - 点击\"下载高清封面\"按钮导出 3x 高清 PNG",[43,532],{},[46,534,536],{"id":535},"贡献","🤝 贡献",[15,538,539],{},"欢迎提交 Issue 和 Pull Request！",[493,541,542,545,552,558,564],{},[54,543,544],{},"Fork 本仓库",[54,546,547,548,551],{},"创建特性分支 (",[149,549,550],{},"git checkout -b feature/AmazingFeature",")",[54,553,554,555,551],{},"提交更改 (",[149,556,557],{},"git commit -m 'Add some AmazingFeature'",[54,559,560,561,551],{},"推送到分支 (",[149,562,563],{},"git push origin feature/AmazingFeature",[54,565,566],{},"提交 Pull Request",[43,568],{},[46,570,572],{"id":571},"许可证","📄 许可证",[15,574,575,576,580],{},"本项目采用 ",[123,577,579],{"href":578},"LICENSE","MIT License"," 开源许可证。",[43,582],{},[46,584,586],{"id":585},"致谢","🙏 致谢",[51,588,589,592],{},[54,590,591],{},"感谢所有开源字体作者的无私贡献",[54,593,594],{},"灵感来源于复古胶片摄影与古籍印刷美学",[43,596],{},[15,598,599,600],{"align":17},"\n  Made with ❤️ by ",[123,601,603],{"href":602},"https://github.com/zjp1997720","zjp1997720",[605,606,607],"style",{},"html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":147,"searchDepth":162,"depth":162,"links":609},[610,611,612,617,618,619,620,621,622,623],{"id":48,"depth":162,"text":49},{"id":100,"depth":162,"text":101},{"id":112,"depth":162,"text":113,"children":613},[614,615,616],{"id":117,"depth":176,"text":117},{"id":140,"depth":176,"text":140},{"id":272,"depth":176,"text":272},{"id":315,"depth":162,"text":316},{"id":329,"depth":162,"text":330},{"id":405,"depth":162,"text":406},{"id":490,"depth":162,"text":491},{"id":535,"depth":162,"text":536},{"id":571,"depth":162,"text":572},{"id":585,"depth":162,"text":586},"开源项目","2025-12-18T00:00:00.000Z","md","/blog/blog-2.webp",{},"/blog/4",{"title":5,"description":41},"blog/4",[23,27,31,35,633],"设计工具","SnVato4XQabPfnpz5g1JBwWdOTHo9EPey3tvGeH8JfQ",{"newer":636,"older":640},{"title":637,"path":638,"date":639},"前端项目总体概览","/blog/2","2025-12-31T00:00:00.000Z",{"title":641,"path":642,"date":643},"智言AI企业级开源智能体搭建平台","/blog/1","2024-12-17T00:00:00.000Z",1775201095278]