[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-82049":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":14,"subscribersCount":14,"size":14,"stars1d":14,"stars7d":14,"stars30d":14,"stars90d":14,"forks30d":14,"starsTrendScore":14,"compositeScore":15,"rankGlobal":9,"rankLanguage":9,"license":16,"archived":17,"fork":17,"defaultBranch":18,"hasWiki":19,"hasPages":17,"topics":20,"createdAt":9,"pushedAt":9,"updatedAt":21,"readmeContent":22,"aiSummary":23,"trendingCount":14,"starSnapshotCount":14,"syncStatus":24,"lastSyncTime":25,"discoverSource":26},82049,"group-daily-newspaper","Larkin0302\u002Fgroup-daily-newspaper","Larkin0302","群日报·人民日报式 A3 报纸版 Claude Code Skill。AI 按当天故事量自适应 2\u002F4\u002F6 版，每版精确 A3 等高，可印刷彩打。",null,"Python",28,4,29,0,42.1,"MIT License",false,"main",true,[],"2026-06-12 04:01:36","# group-daily-newspaper\n\n> 把一个微信群一天（或一段时间）的对话，做成**可印刷的人民日报式 A3 报纸**——版数自适应（2\u002F4\u002F6\u002F8 偶数版），每版精确等高，可彩打。\n\n`group-daily` skill 的扩展版。`group-daily` 出杂志风长图，本 skill 把同一份 `story.json` 升级成报纸版 PDF。\n\n![demo](docs\u002Fdemo.jpg)\n\n---\n\n## ✦ 为什么做这个\n\n`group-daily` 的杂志风长图适合发朋友圈，但有人想——\n\n- 印出来当**实体周边**（巡演、生日报、年会纪念物）\n- 排版上更像**人民日报 \u002F 卫报 \u002F Wall Street Journal** 这种正式纸媒\n- 一份**可以裱起来挂墙上**的群文化档案\n\n本 skill 解决：\n\n- 严格 A3（297×420mm = 1123×1587px @96dpi）\n- 版数按当天故事量自适应（节点少 2 版、常规 4 版、丰富 6 版）\n- 每版精确等高 1587 px，强制一页一版\n- 每版独立 layout，不千篇一律\n- 主+副标自适应字号（按字数 22-42px 动态注入）\n- 中文 `word-break: keep-all` + ` \u002F ` 分隔保证 wrap 时每行结尾是完整词\n\n---\n\n## ✦ 安装\n\n```bash\n# 1) 先装 group-daily skill（本 skill 依赖它产出的 story.json + avatars.json）\ngit clone https:\u002F\u002Fgithub.com\u002F\u003Cuser>\u002Fgroup-daily ~\u002F.claude\u002Fskills\u002Fgroup-daily\n\n# 2) 装本 skill\ngit clone https:\u002F\u002Fgithub.com\u002F\u003Cuser>\u002Fgroup-daily-newspaper ~\u002F.claude\u002Fskills\u002Fgroup-daily-newspaper\n```\n\n依赖：\n\n- Chrome \u002F Chromium（headless PDF 输出）\n- Python 3.10+\n- 由 `group-daily` skill 产出的 `story.json` + `avatars.json`\n\n---\n\n## ✦ 用法\n\n```bash\n# 1) 先跑 group-daily 出 story.json + avatars.json\n#    详见 group-daily README\n\n# 2) 复制空白 layout-plan 模板\ncp ~\u002F.claude\u002Fskills\u002Fgroup-daily-newspaper\u002Fexamples\u002Flayout-plan-template.json \\\n   \u002Ftmp\u002Flayout-plan-\u003C日期>-\u003C群名>.json\n\n# 3) AI 按当天故事量决定版数（2\u002F4\u002F6\u002F8），填 plan 里的 pageN，每个加 template 字段：\n#    masthead（page1）\u002F communal（共建版）\u002F feature（副刊版）\u002F cast（高光附录版）\n\n# 4) 渲染 HTML\npython3 ~\u002F.claude\u002Fskills\u002Fgroup-daily-newspaper\u002Fscripts\u002Frender_newspaper.py \\\n   \u003Cstory.json> \u003Cavatars.json> \u003Clayout-plan.json> \u003Cout.html>\n\n# 5) 强制 height: 1587 + overflow:hidden 防 chrome 分页\nsed -i '' 's\u002Fmin-height: 1587px;\u002Fheight: 1587px; overflow: hidden;\u002F' \u003Cout.html>\n\n# 6) PDF 输出（A3 portrait）\n\u002FApplications\u002FGoogle\\ Chrome.app\u002FContents\u002FMacOS\u002FGoogle\\ Chrome \\\n  --headless=new --disable-gpu --no-sandbox \\\n  --user-data-dir=\u002Ftmp\u002Fcpdf-$(date +%s) \\\n  --virtual-time-budget=20000 --hide-scrollbars \\\n  --no-pdf-header-footer \\\n  --print-to-pdf=\u003Cout.pdf> file:\u002F\u002F\u003Cout.html>\n\n# 7) 验\npdfinfo \u003Cout.pdf> | grep -E \"Pages|Page size\"\n# 必须看到 Pages == 版数，Page size: 841.92 x 1191.12 pts (A3)\n```\n\n---\n\n## ✦ 4 种 template\n\n| template | renderer | 适用版 | 主要 figure |\n|---|---|---|---|\n| `masthead` | render_page_1 | 第 1 版头版 | 报头 + hero + aside figure + briefings + photo_strip + day_stats |\n| `communal` | render_page_2 | 共建版 \u002F 产出物版 | person_card + hero + produced_list + timeline_strip + quote_wall |\n| `feature` | render_page_3 | 副刊 \u002F 群魂 \u002F 深度版 | banner_image + hero + timeline_strip + letters + lingo |\n| `cast` | render_page_4 | 人物高光附录版（推荐放最后） | 8 高光 + SOP + QA + tomorrow + QR |\n\n---\n\n## ✦ 隐私 & 安全\n\n本 skill **完全本地运行**，不传任何数据到外部服务。\n\n- `examples\u002F` 只含**空白模板**，不含任何真实群对话\u002F人名\u002Fwxid\n- `.gitignore` 已配置：`layout-plan-2*.json` \u002F `story_2*.json` \u002F `*_images\u002F` 全部禁止上传\n- 渲染产物 `*-报纸版.{html,pdf}` 也在 .gitignore 中\n- 真实群数据请存到 `$GROUP_DAILY_VAULT`（默认 `~\u002FDocuments\u002FGroupDaily\u002F`），它不在 skill 仓库里\n\n**发 PR 前**自查：\n\n```bash\ngrep -rn \"wxid_\\|@chatroom\\|真群名\\|真人名\" .\n```\n\n---\n\n## ✦ 设计来源\n\n- 横向参考：人民日报、卫报、Wall Street Journal、Le Monde\n- 纵向参考：Spotify Wrapped、网易云年报、Stripe Annual Letter\n\n详细设计硬约束见 [`references\u002Fnewspaper-design.md`](references\u002Fnewspaper-design.md)。\n\n---\n\n## ✦ License\n\nMIT\n","group-daily-newspaper 项目能够将微信群的日常对话转换为可印刷的人民日报式A3报纸。其核心功能包括自适应版数（2\u002F4\u002F6\u002F8版），每版精确等高，适合彩打。技术上，该项目使用Python编写，依赖于Chrome\u002FChromium进行headless PDF输出，并且基于`group-daily` skill生成的数据文件。它适用于需要制作实体周边如巡演纪念、生日报或年会纪念物的场景，也适合希望将群文化档案以正式纸媒形式保存并展示的情况。此外，该工具在设计上考虑了隐私和安全，所有处理均在本地完成，不上传任何敏感信息到外部服务。",2,"2026-06-01 03:57:07","CREATED_QUERY"]