非营利活动网站搭建
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_f8aa8765/activity-web-build 技能。
技能介绍
非营利组织做活动时,常卡在一个现实问题上:宣传页、报名表单、现场签到和反馈问卷分散在不同工具里,负责同事又不一定懂前端和部署。这个技能把活动网站拆成五类页面,并统一到可双击打开的 .html 单文件输出,目标是让不懂技术的人也能把一套活动站点跑起来。
核心能力
- 五类站点识别:按“宣传 / 报名 / 签到 / 留言墙 / 问卷”分流;用户说“整套都要”时,按顺序逐页生成。
- 文档优先:先问是否有提案、新闻稿、讲者名单、日程表;上传后自动解析并回读关键信息,减少手填字段。
- 能自动化就自动化:报名和问卷优先通过
scripts/generate_google_form.py直出 Google 表单,数据天然进入 Google Sheets;静态页面可走 EdgeOne Pages、GitHub Pages 或npx vercel --prod --yes部署。 - 签到后端:
assets/checkin.html支持姓名搜索和现场补录两种模式;后端assets/checkin-apps-script.js使用doGet返回名单、doPost处理签到或补录,数据写入 Attendees 与 Checkins 两个 sheet。 - 跨域处理:
file://读取 Google Sheets 用 JSONP;写回 Apps Script 用navigator.sendBeacon(),失败再用fetch兜底,同时写localStorage做离线备份。 - 交互降级:优先给单选
▸、多选☐/☑的预设选项;WorkBuddy 支持原生 checkbox 时直接渲染勾选框,否则退化为编号列表。
关键流程
- 判断页面类型并确认是否已有活动文档。
- 收集活动名、日期、地点等无法穷举的信息,其余尽量给选项让用户点选。
- 替换模板占位符:
{{PLACEHOLDER_NAME}}必须精确匹配,生成后校验不能残留{{ }};空数组片段直接不渲染。 - 报名/问卷默认走 Google Forms API;只有用户明确偏好独立网页、没有 Google 账号或 API 不可恢复时,才落到
assets/registration.html和assets/survey.html。 - 涉及 Google Sheets 后端的部署,必须先
present_files references/apps-script-deploy-tutorial.html,再输出 11 步文字速览,并请用户确认后逐步带做。
边界与注意点
- 单文件网页不做 CDN 依赖,也不引入 npm 包;颜色集中在
:rootCSS 变量里,方便换主题。 - 绝不猜用户数据:接入 Google Sheets 前必须让用户截图 sheet tab 和列头,并确认哪一列映射到姓名、机构、邮箱或签到码;不要硬编码
Attendees这类名称。 - 部署话术要面向非技术用户,不说 MCP、API、SCF、COS;只说明“需要授权一次”还是“我来帮你放到网上”。
- 留言墙如果要实时同步,需要
assets/scf-backend/main.py部署到腾讯云函数,并创建 COS bucket;注册腾讯云账号因实名要求仍需人工完成。
使用场景
- 社区组织要办环保讲座,需要快速生成宣传落地页并支持手机报名
- 公益机构每月办志愿者培训,需现场签到并实时统计出席人数
- 主办方办完活动要收集反馈问卷,自动生成表单并汇总到在线表格
- 活动团队要搭建留言墙,让参与者写下心愿并实时展示
适合人员
- 非营利机构活动专员,需要搭建活动宣传页并收集报名信息
- 公益组织志愿者协调员,负责现场签到和出席率统计
- 社区活动组织者,缺乏技术背景但需要快速生成活动网页
- 公益项目执行者,需要通过问卷收集参与者反馈