- 前端
- 文档
【免费下载链接】academicpages.github.io
Github Pages template based upon HTML and Markdown for personal, portfolio-based websites.
导读
本文以 academicpages.github.io 学术个人主页模板自带的_pages/terms.md页面为线索,完整解析该模板"条款与隐私政策"页面的内容结构、Jekyll 页面机制,并深入仓库源码,揭示页面中提到的 Log Files、Cookies、Disqus 评论登录 Cookie 与 Google Analytics 在模板中的真实落点——即_config.yml中的analytics、comments配置项与_includes下的实现文件。读完本文,你将掌握如何在自己的学术主页中撰写合规的隐私政策、如何按模板机制启用/关闭站点分析服务,以及隐私承诺与底层实现之间的对应关系。
一、terms.md 在模板中的定位:一个"非菜单"独立页面
_pages/terms.md是 academicpages.github.io 中标准站点的"Terms and Privacy Policy"页面。它的 Jekyll Front Matter 只有三个字段:
--- permalink: /terms/ title: "Terms and Privacy Policy" modified: 2016-06-06 ---permalink: /terms/将该页面固定映射到站点根路径下的/terms/URL,不依赖文件系统路径,便于搜索引擎与访客记忆;title直接声明页面用途,同时会被 Jekyll 用作<title>与页面标题;modified记录页面最后修订时间,是维护合规文档的常见实践。
页面正文开头包含两个 Liquid 模板标签:
{% include base_path %} {% include toc %}base_path由_includes/base_path提供,用于在站点的baseurl非空时正确拼接静态资源与链接前缀;toc则在页面顶部生成目录,方便访客在较长的隐私政策中快速跳转。从_data/navigation.yml可以看到,默认顶部导航(Publications、Talks、Teaching、Portfolio、Blog Posts、CV、Guide)并未包含/terms/,这说明它属于典型"非菜单页面"(同类页面还有_pages/non-menu-page.md),只在页脚等位置被引用,而不是挤占主导航。默认模板的页脚(_includes/footer.html)会输出版权声明与 Sitemap 链接,用户可在其中补充指向/terms/的链接。
二、隐私政策正文:模板给出的内容骨架
terms.md的正文由三大部分构成,它是模板为每位站长预设的隐私政策草稿。下面完整展开其内容与含义。
1. 核心承诺:绝不分享个人信息
页面开篇即声明:"访客的隐私极为重要",并给出第一原则——未经访客直接同意,绝不向任何人分享访客的邮箱地址或任何其他个人信息。这是整份隐私政策的基石,也是后续所有数据收集说明的约束前提。
2. Log Files(服务器日志)
与许多网站一致,该站点通过日志文件了解流量"何时、来自何处、以何种频率"到达站点。Log Files 中记录的信息包括:
- Internet Protocol addresses(IP 地址)
- Types of browser(浏览器类型)
- Internet Service Provider(ISP,网络服务提供商)
- Date and time stamp(日期与时间戳)
- Referring and exit pages(来源页与离开页)
- Number of clicks(点击次数)
原文同时强调:上述所有信息均不与任何可识别个人身份的信息相关联——即日志只用于宏观流量分析,不用于追踪具体访客身份。
3. Cookies 与 Web Beacons(Cookie 与网络信标)
这一部分是隐私政策中与模板功能耦合最深的部分,原文覆盖了四个场景:
- "便捷" Cookie:当访客在站点提交评论时,浏览器会保存"便捷"Cookie,以便下次评论时更快登录第三方评论系统 Disqus;
- 第三方广告商:第三方广告商可能在自己的浏览器中放置并读取 Cookie,或使用 Web Beacons 采集信息。本站对这些 Cookie 没有访问权或控制权,因此建议访客查阅各广告服务器的隐私政策以了解其做法与退出方式;
- 禁用 Cookie:访客可通过浏览器设置禁用 Cookie,具体操作方式需查阅所用浏览器的官方说明;
- Google Analytics:Google Analytics 是站点用于理解访客如何与网站互动的网络分析工具,它通过 Cookies 与 Web Beacons 报告网站趋势,而不识别单个访客身份。
三、源码印证:隐私政策中的每项技术都有模板实现
terms.md不是空谈——模板为它提到的每一项数据采集机制都提供了真实的配置入口与实现代码,全部集中在_config.yml与_includes目录。
1. Analytics(Google Analytics)的配置与三套实现
在_config.yml中,分析功能由analytics区块控制:
# Analytics analytics: provider : "false" # false (default), "google", "google-universal", "google-analytics-4", "custom" google: tracking_id :provider取值包括false(默认,关闭)、google、google-universal、google-analytics-4、custom;- 选择任一 Google 系 provider 后,需在
analytics.google.tracking_id中填入你的 Google Analytics 跟踪 ID。
这些配置的实际加载逻辑位于_includes/analytics.html:它首先判断site.analytics.provider是否设置且当前页面的page.analytics不为false(即支持单页关闭统计),然后按 provider 值case分发到对应模板:
| provider 取值 | 引入的实现文件 | 说明 |
|---|---|---|
google | _includes/analytics-providers/google.html | 经典异步ga.js方案,通过_gaq.push(['_setAccount', tracking_id])设置账户并_trackPageview记录页面浏览 |
google-universal | _includes/analytics-providers/google-universal.html | Universal Analytics(analytics.js),使用ga('create', tracking_id, 'auto')与ga('send', 'pageview') |
google-analytics-4 | _includes/analytics-providers/google-analytics-4.html | 最新 GA4,通过gtag('config', tracking_id)上报,加载https://www.googletagmanager.com/gtag/js?id=... |
custom | _includes/analytics-providers/custom.html | 空模板,供站长自行嵌入其他统计脚本 |
从源码结构可以推断,模板对 analytics 的实现刻意保持"声明式":站长只需在_config.yml中切换 provider 并填写tracking_id,analytics.html的case分发会自动注入对应脚本,无需改动页面模板。这也意味着隐私政策中"Google Analytics 通过 Cookie 与 Web Beacon 报告网站趋势"的描述,其真实落点就是这三个 provider 文件中的任一段异步脚本。
2. 评论系统与"便捷 Cookie":Disqus 的配置与加载
terms.md中"提交评论时保存便捷 Cookie 以加速 Disqus 登录"的描述,对应_config.yml的comments区块:
comments: provider : # false (default), "disqus", "discourse", "facebook", "google-plus", "staticman", "custom" disqus: shortname :当provider设为disqus并填写disqus.shortname后,_includes/comments.html会在页面渲染<section id="disqus_thread">并引入_includes/comments-providers/disqus.html。后者会动态注入两段脚本:embed.js用于加载评论区,count.js用于显示评论数,二者的域名均由disqus_shortname拼接而成。Disqus 作为第三方评论服务,其登录态正是通过浏览器 Cookie 维持的——这正是隐私政策中"便捷 Cookie"条款要说明的对象。
3. 隐私承诺的落点:评论数据中的邮箱哈希
terms.md承诺"不分享访客邮箱"。在模板的静态评论方案(Staticman,_config.yml中comments.provider可设为staticman)下,这个承诺有具体的工程实现:_config.yml的staticman.transforms.email被设为"md5",即评论者邮箱在写入站点数据前先经 MD5 哈希化。仓库中的示例数据_data/comments/welcome-to-jekyll/comment-1470942205700.yml印证了这一点——其email字段存储的是1ce71bc10b86565464b612093d89707e这样的哈希串,而非明文邮箱,同时name、url、message、date等字段也被记录用于渲染评论区。
换句话说,即使站点启用评论功能,模板的默认设计也避免在公开的站点数据中暴露明文邮箱,与terms.md的承诺方向一致。
四、如何在自己的站点落地这份隐私政策
如果你基于 academicpages.github.io 建立自己的学术主页,可按以下步骤落地:
- 保留并改写页面:将
_pages/terms.md的正文按你的实际情况改写(例如:是否启用第三方广告、是否部署自己的分析工具、评论系统选用哪个 provider),并保留permalink: /terms/以保证 URL 稳定; - 如实声明分析功能:如果你在
_config.yml中将analytics.provider从默认的false改为google/google-universal/google-analytics-4并填写tracking_id,务必在隐私政策的 Google Analytics 段落中说明你所使用的具体版本;反之,若保持false,则页面中关于统计工具的表述应相应调整; - 如实声明评论功能:若在
_config.yml启用disqus并填写shortname,保留"便捷 Cookie / Disqus 登录"说明;若采用staticman,可补充"邮箱经哈希处理"的说明; - 可选的单页控制:
_includes/analytics.html支持在任一页面 Front Matter 中设置analytics: false以关闭该页统计(例如对隐私政策页面本身关闭追踪),这是一个容易被忽视的合规细节; - 入口链接:默认主导航不含
/terms/,你可以在_data/navigation.yml中追加导航项,或在页脚模板_includes/footer.html的版权区补充指向/terms/的链接。
五、小结:模板把"合规"做进了配置层
academicpages.github.io 的terms.md并非孤立文档,而是与模板的配置系统深度耦合:analytics.provider与comments.provider决定站点实际采集哪些数据,terms.md则负责向访客如实披露这些行为。理解这一对应关系后,站长在启用任何统计或评论服务时,都能同步更新隐私政策,做到"配置即声明、声明即配置"——这正是学术个人主页在 GDPR 等隐私法规环境下保持合规的实用路径。相关实现文件均可继续深入阅读:_includes/analytics.html、_includes/comments.html、_config.yml与_data/comments/下的示例评论数据。
- 前端
- 文档
【免费下载链接】academicpages.github.io
Github Pages template based upon HTML and Markdown for personal, portfolio-based websites.
相关推荐
Utopia数据接入全解析:PDF、DOCX、网页、RSS到GitHub,10+种格式一次同步
Utopia数据接入全解析:PDF、DOCX、网页、RSS到GitHub,10+种格式一次同步 Utopia 是一款开源的企业级世界模型(双时态知识图谱平台),
后端前端人工智能RAG知识图谱知识管理搜索引擎k-skill 实战:korean-privacy-terms 技能详解——基于 thin wrapper 为 Next.js 项目生成韩国隐私政策与合规文档
k skill 实战:korean privacy terms 技能详解——基于 thin wrapper 为 Next.js 项目生成韩国隐私政策与合规文档
人工智能AI 技能Notepads 隐私政策全解析:数据采集范围、Telemetry 实现与用户权益指南
Notepads 隐私政策全解析:数据采集范围、Telemetry 实现与用户权益指南 导读 本文基于 Notepads 项目根目录的 PRIVACY.md h
桌面应用
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考