ch-0011 Chapter 10: Edit and Host Code with GitHub
- 原书章节: Chapter 10 Edit and Host Code with GitHub(pp. 265–294)
- 输入来源: 本地 pdf(HandsOnDataViz.pdf)
摘要
本书上半场依赖 Google/Tableau 等第三方平台,缺点是定制受限、且受平台条款与服务存续 制约。本章带领读者"大跳一步":学会在 GitHub 上复制(fork)、编辑并托管开源代码 模板,把图表/地图发布到自己控制的网站(GitHub Pages)。作者用"菜谱"比喻:模板 就是公开菜谱,fork 就是抄一份再按自己口味改(如加核桃),还能回馈社区。
GitHub 基础:repo(代码仓库)像公开菜谱集;开源许可证决定能否商用(MIT License 宽松、可商用);平台有网页界面与桌面工具(GitHub Desktop)+ 编辑器(Atom)。
实战流程(以 leaflet-map-simple 模板为例):用 GitHub 的 template 功能创建自己的 repo → 在网页里找到 EDIT here 注释修改代码(如改成自己的地名/坐标)→ 用 GitHub Pages 发布成公开网页 → 再把网页链接接回 repo,形成一个"编辑 ⇄ 预览"双标签页工作流。 教程最后演示把 GitHub Pages 链接转成 iframe 嵌到自己的网站(衔接 ch-0010),以及 GitHub Desktop 批量上传文件与 Atom 高效编辑。
要点归纳
- 代码模板(code template)= 预写好的软件指令,改数据即可发布,无需编程经验
- fork(复制)他人 repo → 修改 → 重新公开分享,是开源协作的基本动作
- GitHub Pages 把 repo 变成免费公开网站,是代码模板的默认宿主
- 许可证决定使用权:MIT 可商用(Chart.js 用它),有些库仅限非商业(Highcharts, 详见 ch-0012)
- 用
EDIT here注释定位可改行,是最友好的"代码-好奇者"入口
术语 / 概念
- GitHub — 全球最大的代码托管平台(微软旗下)
- repository(repo,仓库) — 存放代码与文件的目录单位
- fork(派生) — 复制他人 repo 到自己的账号下再修改
- GitHub Pages — 用 repo 免费托管静态网站的功能
- code template(代码模板) — 可直接套用的预写代码骨架
- open-source license(开源许可证) — 规定代码使用/分发/商用权限(MIT 等)
- README — repo 的说明文件(通常用 Markdown 写)
原句摘录
Code templates are similar to cookbook recipes... Recipes are templates, meaning that you can follow them precisely, or modify them to suit your tastes.
...you can never be sure that third-party apps will remain free, or at least have a free tier, forever, whereas open-source tools are here to stay, free of charge, as long as someone maintains the code.
疑问 / 待查
- 本书模板放在 HandsOnDataViz 组织的 GitHub 账号下,可直接 fork 实操
- GitHub 2020 年把默认分支从 master 改为 main(书中提及),实操时注意分支名
Backlinks (1)
flowchart LR
n0["ch-0001 凶案、侦探与母亲的信(第 2–163 章)"]
n1["ch-0002 坦白、出逃与和解(第 163–233 章)"]
n2["The Curious Incident of the Dog in the Night-Time 人物"]
n3["The Curious Incident of the Dog in the Night-Time(整理完成)"]
n4["The Curious Incident of the Dog in the Night-Time 笔记"]
n5["The Curious Incident of the Dog in the Night-Time 故事线"]
n6["E-Commerce Bench(整理完成)"]
n7["E-Commerce Bench 笔记"]
n8["part-0001 摘要与引言:一年期电商运营基准(Abstract + §1)"]
n9["part-0002 相关工作与定位:continuing 任务谱系(Table 1 + §2)"]
n10["part-0003 基准设计:四层架构与确定性经济(§3 主体)"]
n11["part-0004 实验结果:18 模型的多维画像(Table 2 + §4)"]
n12["part-0005 结论与参考文献(§5 + References)"]
n13["part-0006 工具集与 agent harness:18 工具与上下文管理(Table 3 + Appendix A)"]
n14["part-0007 数据层:类目、店型、日历与供应商(Appendix B)"]
n15["part-0008 经济引擎:13 步结算与需求/退货/成本公式(Table 7 + Appendix C)"]
n16["part-0009 确定性谈判内核:决策函数与骗局目录(Appendix D)"]
n17["part-0010 评测指标定义:六个维度与统计口径(Appendix E)"]
n18["part-0011 每维度结果导览与模型/实验设置(Table 10 + Appendix F)"]
n19["part-0012 失败案例研究:骗局实录与一次破产(Appendix G)"]
n20["part-0013 失败模式规则表与提示词设计(Table 18 + Appendix H)"]
n21["The End of Software Engineering(整理完成)"]
n22["The End of Software Engineering 笔记"]
n23["part-0001 摘要与引言:范式重构的宣告(Abstract + §1 前段)"]
n24["part-0002 第一性原理:传统软件与 Agent 系统的形式化模型(§1 后段 + §2)"]
n25["part-0003 三代交付史与 AI→Software→Result 的失败(§3.1–3.2)"]
n26["part-0004 Agent→Result 与 Agentic Engineering 学科(§3.3 + §4)"]
n27["part-0005 实证证据与 EvoClaw 落差(§5)"]
n28["part-0006 四阶段演进路线图(前段:表 3 + Stage I–III)"]
n29["part-0007 路线图后段与建议:实践者与研究者(§6.3 后段 + §6.4 + §7.1–7.2)"]
n30["ch-0001 Introduction(为什么做数据可视化)"]
n31["ch-0002 选工具讲你的数据故事(Ch 1)"]
n32["ch-0003 强化电子表格技能(Ch 2)"]
n33["ch-0004 找到并质询你的数据(Ch 3)"]
n34["ch-0005 清洗脏数据(Ch 4)"]
n35["ch-0006 做有意义的比较(Ch 5)"]
n36["ch-0007 图表化你的数据(Ch 6)"]
n37["ch-0008 地图化你的数据(Ch 7)"]
n38["ch-0009 表格化你的数据(Ch 8)"]
n39["ch-0010 嵌入网页(Ch 9)"]
n40["ch-0011 用 GitHub 编辑与托管代码(Ch 10)"]
n41["ch-0012 Chart.js 与 Highcharts 模板(Ch 11)"]
n42["ch-0013 Leaflet 地图模板(Ch 12)"]
n43["ch-0014 转换你的地图数据(Ch 13)"]
n44["ch-0015 识别谎言、减少偏差(Ch 14)"]
n45["ch-0016 讲述并展示你的数据故事(Ch 15)"]
n46["ch-0017 附录 A 排查常见问题"]
n47["Hands-On Data Visualization(整理完成)"]
n48["Hands-On Data Visualization 笔记"]
n49["Reading"]
n0 --> n4
n3 --> n0
n3 --> n1
n3 --> n2
n3 --> n4
n3 --> n5
n5 --> n3
n6 --> n7
n6 --> n8
n6 --> n9
n6 --> n10
n6 --> n11
n6 --> n12
n6 --> n13
n6 --> n14
n6 --> n15
n6 --> n16
n6 --> n17
n6 --> n18
n6 --> n19
n6 --> n20
n21 --> n22
n21 --> n23
n21 --> n24
n21 --> n25
n21 --> n26
n21 --> n27
n21 --> n28
n21 --> n29
n22 --> n21
n47 --> n30
n47 --> n31
n47 --> n32
n47 --> n33
n47 --> n34
n47 --> n35
n47 --> n36
n47 --> n37
n47 --> n38
n47 --> n39
n47 --> n40
n47 --> n41
n47 --> n42
n47 --> n43
n47 --> n44
n47 --> n45
n47 --> n46
n47 --> n48
n49 --> n3
n49 --> n6
n49 --> n21
n49 --> n47
click n0 "../../curious-incident/ch-0001/" "ch-0001 凶案、侦探与母亲的信(第 2–163 章)"
click n1 "../../curious-incident/ch-0002/" "ch-0002 坦白、出逃与和解(第 163–233 章)"
click n2 "../../curious-incident/characters/" "The Curious Incident of the Dog in the Night-Time 人物"
click n3 "../../curious-incident/" "The Curious Incident of the Dog in the Night-Time(整理完成)"
click n4 "../../curious-incident/notes/" "The Curious Incident of the Dog in the Night-Time 笔记"
click n5 "../../curious-incident/storyline/" "The Curious Incident of the Dog in the Night-Time 故事线"
click n6 "../../e-commerce-bench/" "E-Commerce Bench(整理完成)"
click n7 "../../e-commerce-bench/notes/" "E-Commerce Bench 笔记"
click n8 "../../e-commerce-bench/part-0001/" "part-0001 摘要与引言:一年期电商运营基准(Abstract + §1)"
click n9 "../../e-commerce-bench/part-0002/" "part-0002 相关工作与定位:continuing 任务谱系(Table 1 + §2)"
click n10 "../../e-commerce-bench/part-0003/" "part-0003 基准设计:四层架构与确定性经济(§3 主体)"
click n11 "../../e-commerce-bench/part-0004/" "part-0004 实验结果:18 模型的多维画像(Table 2 + §4)"
click n12 "../../e-commerce-bench/part-0005/" "part-0005 结论与参考文献(§5 + References)"
click n13 "../../e-commerce-bench/part-0006/" "part-0006 工具集与 agent harness:18 工具与上下文管理(Table 3 + Appendix A)"
click n14 "../../e-commerce-bench/part-0007/" "part-0007 数据层:类目、店型、日历与供应商(Appendix B)"
click n15 "../../e-commerce-bench/part-0008/" "part-0008 经济引擎:13 步结算与需求/退货/成本公式(Table 7 + Appendix C)"
click n16 "../../e-commerce-bench/part-0009/" "part-0009 确定性谈判内核:决策函数与骗局目录(Appendix D)"
click n17 "../../e-commerce-bench/part-0010/" "part-0010 评测指标定义:六个维度与统计口径(Appendix E)"
click n18 "../../e-commerce-bench/part-0011/" "part-0011 每维度结果导览与模型/实验设置(Table 10 + Appendix F)"
click n19 "../../e-commerce-bench/part-0012/" "part-0012 失败案例研究:骗局实录与一次破产(Appendix G)"
click n20 "../../e-commerce-bench/part-0013/" "part-0013 失败模式规则表与提示词设计(Table 18 + Appendix H)"
click n21 "../../end-of-software-engineering/" "The End of Software Engineering(整理完成)"
click n22 "../../end-of-software-engineering/notes/" "The End of Software Engineering 笔记"
click n23 "../../end-of-software-engineering/part-0001/" "part-0001 摘要与引言:范式重构的宣告(Abstract + §1 前段)"
click n24 "../../end-of-software-engineering/part-0002/" "part-0002 第一性原理:传统软件与 Agent 系统的形式化模型(§1 后段 + §2)"
click n25 "../../end-of-software-engineering/part-0003/" "part-0003 三代交付史与 AI→Software→Result 的失败(§3.1–3.2)"
click n26 "../../end-of-software-engineering/part-0004/" "part-0004 Agent→Result 与 Agentic Engineering 学科(§3.3 + §4)"
click n27 "../../end-of-software-engineering/part-0005/" "part-0005 实证证据与 EvoClaw 落差(§5)"
click n28 "../../end-of-software-engineering/part-0006/" "part-0006 四阶段演进路线图(前段:表 3 + Stage I–III)"
click n29 "../../end-of-software-engineering/part-0007/" "part-0007 路线图后段与建议:实践者与研究者(§6.3 后段 + §6.4 + §7.1–7.2)"
click n30 "../ch-0001/" "ch-0001 Introduction(为什么做数据可视化)"
click n31 "../ch-0002/" "ch-0002 选工具讲你的数据故事(Ch 1)"
click n32 "../ch-0003/" "ch-0003 强化电子表格技能(Ch 2)"
click n33 "../ch-0004/" "ch-0004 找到并质询你的数据(Ch 3)"
click n34 "../ch-0005/" "ch-0005 清洗脏数据(Ch 4)"
click n35 "../ch-0006/" "ch-0006 做有意义的比较(Ch 5)"
click n36 "../ch-0007/" "ch-0007 图表化你的数据(Ch 6)"
click n37 "../ch-0008/" "ch-0008 地图化你的数据(Ch 7)"
click n38 "../ch-0009/" "ch-0009 表格化你的数据(Ch 8)"
click n39 "../ch-0010/" "ch-0010 嵌入网页(Ch 9)"
click n40 "./" "ch-0011 用 GitHub 编辑与托管代码(Ch 10)"
click n41 "../ch-0012/" "ch-0012 Chart.js 与 Highcharts 模板(Ch 11)"
click n42 "../ch-0013/" "ch-0013 Leaflet 地图模板(Ch 12)"
click n43 "../ch-0014/" "ch-0014 转换你的地图数据(Ch 13)"
click n44 "../ch-0015/" "ch-0015 识别谎言、减少偏差(Ch 14)"
click n45 "../ch-0016/" "ch-0016 讲述并展示你的数据故事(Ch 15)"
click n46 "../ch-0017/" "ch-0017 附录 A 排查常见问题"
click n47 "../" "Hands-On Data Visualization(整理完成)"
click n48 "../notes/" "Hands-On Data Visualization 笔记"
click n49 "../../" "Reading"