
前端文档【免费下载链接】academicpages.github.ioGithub Pages template based upon HTML and Markdown for personal, portfolio-based websites.项目地址https://gitcode.com/gh_mirrors/ac/academicpages.github.io点击查看免费下载导读本指南以仓库中 _teaching/2015-spring-teaching-2.md 这篇教学经历模板文档为入口深入解析 academicpages.github.ioAcademic Pages一个基于 HTML 与 Markdown 的个人学术主页 GitHub Pages 模板中教学经历Teaching页面从front matter 声明 → Jekyll Collection 收集 → 列表页循环渲染 → 详情页展示的完整链路。读完本文你将掌握如何新增一条教学经历、每个字段的真实作用、列表与详情页分别由哪些模板渲染以及如何用 Markdown 语法填充正文直接可用于搭建自己的学术主页。一、教学经历文档的定位不只是占位符_teaching/2015-spring-teaching-2.md是 Academic Pages 模板自带的教学经历示例文档。它的正文只有寥寥数行占位文本但真正决定页面行为的是文件头部的 YAML front matter--- title: Teaching experience 2 collection: teaching type: Workshop permalink: /teaching/2015-spring-teaching-1 venue: University 1, Department date: 2015-01-01 location: City, Country --- This is a description of a teaching experience. You can use markdown like any other post. Heading 1 Heading 2 Heading 3 从源码结构看这份文档承担两个职责其一作为_teaching/集合collection的一个真实条目被 Jekyll 收集并渲染成独立页面其二作为模板样例向使用者展示教学经历页可用的全部 front matter 字段。因此它虽然简短却是理解整个教学板块渲染机制的钥匙。二、front matter 字段逐个拆解每个键的真实作用结合 _config.yml 的集合定义与 _includes/archive-single.html 的渲染逻辑可以逐字段确认其语义字段示例值作用与依据titleTeaching experience 2页面标题。在详情页由 _layouts/single.html 渲染为h1 classpage__title在列表页经markdownify处理后输出为条目标题collectionteaching声明该文档归属teaching集合是 Jekyll 收集与分组的核心标识typeWorkshop教学形式标签如 Workshop / Undergraduate course / Tutorial 等。列表页渲染时会以{{ post.type }}的形式直接输出permalink/teaching/2015-spring-teaching-1该页面的固定 URL。注意文档中此值与文件名前缀2015-spring-teaching-2并不一致属于模板占位内容实际使用时建议保持一致venueUniversity 1, Department教学机构/院系名称列表页以斜体i{{ post.venue }}/i展示date2015-01-01教学时间。列表页通过{{ post.date \| default: 1900-01-01 \| date: %Y }}仅提取年份展示locationCity, Country教学地点。该字段在详情页模板talk.html中有同类用法{{page.location}}在archive-single.html中不直接输出属于预留的展示信息值得注意的细节是date的处理方式_includes/archive-single.html 中使用了default: 1900-01-01兜底即使某条教学记录忘记写date列表页也不会报错而是显示 1900。这体现了模板对不完整 front matter 的容错设计。三、从文件到页面Jekyll Collection 的注册与渲染链路3.1 集合注册_config.yml中的 teaching 配置任何放在_teaching/目录下的 Markdown 文件要成为教学经历前提是它在站点配置中被声明为集合。_config.yml 中给出了明确配置collections: teaching: output: true permalink: /:collection/:path/ publications: output: true permalink: /:collection/:path/ portfolio: output: true permalink: /:collection/:path/ talks: output: true permalink: /:collection/:path/其中output: true表示集合中的每个条目都会生成独立的静态 HTML 页面permalink: /:collection/:path/则规定了 URL 结构——teaching集合下的2015-spring-teaching-2.md默认会得到/teaching/2015-spring-teaching-2/这样的路径front matter 中的permalink可以覆盖该默认值。3.2 默认布局teaching 条目的站点级默认值紧接着的defaults配置为 teaching 集合统一注入了页面行为_config.yml# _teaching - scope: path: type: teaching values: layout: single author_profile: true share: true comments: true这意味着你甚至不需要在每个教学经历文档里写layoutJekyll 会自动为其套用single布局并开启作者侧边栏author_profile、社交分享share和评论comments。3.3 列表页_pages/teaching.html的循环渲染教学经历聚合页由 _pages/teaching.html 驱动其核心逻辑只有几行{% include base_path %} {% for post in site.teaching reversed %} {% include archive-single.html %} {% endfor %}site.teaching是 Jekyll 根据_config.yml中的集合声明自动生成的集合对象reversed让条目按 front matter 中的日期倒序展示最新的课程排在前面每个条目通过 _includes/archive-single.html 渲染该模板内有一段专门针对 teaching 集合的分支逻辑{% if post.collection teaching %} p {{ post.type }}, i{{ post.venue }}/i, {{ post.date | default: 1900-01-01 | date: %Y }} /p可以看到列表条目最终展示为Workshop, *University 1, Department*, 2015这样的信息行——这正是你填写的type、venue、date三个字段的组合输出格式由模板硬编码无需手工排版。3.4 详情页single布局中的内容呈现点击列表条目后进入详情页。teaching 条目默认使用single布局_layouts/single.html 会在页面头部渲染title为一级标题并输出date格式化为Month DD, YYYY将文档正文front matter 之后的所有内容渲染为page__content区块渲染页脚元信息与分页导航post_pagination。也就是说正文中的Heading 1 Heading 2 Heading 3 这类 Setext 风格标题用与-表示 H1/H2会被 Jekyll 的 Markdown 引擎正确解析为各级标题与其他任何 Jekyll 帖子无异——这正是文档中那句 You can use markdown like any other post 的实际含义。四、实操如何新增一条自己的教学经历基于上述机制添加一条教学经历只需三步第 1 步新建文档。在_teaching/目录下创建形如2016-spring-course-1.md的文件文件名建议以时间开头便于排序与识别。第 2 步填写 front matter。参考模板补齐以下字段--- title: 机器学习导论 collection: teaching type: Graduate course permalink: /teaching/2016-spring-course-1 venue: School of Computer Science date: 2016-01-15 location: Beijing, China ---第 3 步撰写正文。在 front matter 之后自由使用 Markdown 描述课程大纲、教学目标、课件链接等。如需放置课件 PDF可将其放入files/目录然后按files/下的相对路径引用如课件注意 PDF 等二进制文件需先上传到仓库。保存后Jekyll 会在下次构建时自动完成收集、排序与渲染_pages/teaching.html的列表中出现新条目同时生成独立详情页。五、本地预览与验证修改教学经历文档后建议先本地预览再推送安装依赖Linux 下sudo apt install ruby-dev ruby-bundler nodejs安装 Ruby 依赖bundle install如遇权限错误可执行bundle config set --local path vendor/bundle后重试启动本地服务bundle exec jekyll serve -l -H localhost访问http://localhost:4000/teaching/查看教学列表页。注意Markdown 正文的修改会触发自动重建但_config.yml中集合配置的变更需要重启 Jekyll 才生效详见 README.md。六、扩展teaching 集合与其他集合的对照_config.yml中 teaching 与publications、portfolio、talks共享相同的集合注册模式但各有定制publications列表页展示 Published invenue, year见 archive-single.html并提供论文 PDF、Slides、BibTeX 的下载链接逻辑talks使用专用的talk布局_layouts/talk.html 中额外输出talk_type、venue、location信息portfolio常用于作品展示支持grid网格视图。可见 teaching 集合的 front matter 字段type/venue/date/location并非孤例而是模板为学术履历类内容统一设计的信息模型理解教学页面的机制后可以举一反三地迁移到其他集合。七、小结_teaching/2015-spring-teaching-2.md表面上是占位文档实则完整承载了 Academic Pages 教学板块的字段契约collection声明归属、type/venue/date/location定义履历信息、permalink控制 URL正文则复用标准 Markdown。这套机制由_config.yml的集合注册与默认值、_pages/teaching.html的循环、archive-single.html的分支渲染以及single布局的详情展示共同支撑构成了一个零代码新增页面的声明式内容管线——你只需要填写 Markdown 文件剩下的渲染交给 Jekyll 与模板完成。赞分享前端文档【免费下载链接】academicpages.github.ioGithub Pages template based upon HTML and Markdown for personal, portfolio-based websites.项目地址https://gitcode.com/gh_mirrors/ac/academicpages.github.io点击查看免费下载相关推荐Jekyll Front Matter 详解用 YAML 元数据驱动页面变量与 Liquid 模板渲染Jekyll Front Matter 详解用 YAML 元数据驱动页面变量与 Liquid 模板渲染 本文基于 Jekyll 官方分步教程 03 front前端CMS深入解析 Hugo Blox academic-cv 作者档案配置从 Front Matter 到页面渲染深入解析 Hugo Blox academic cv 作者档案配置从 Front Matter 到页面渲染 导读 作者档案Author Profile是静态站点前端开发工具Hugo 页面过期日期ExpiryDate 方法、front matter 配置与 --buildExpired 构建控制Hugo 页面过期日期ExpiryDate 方法、front matter 配置与 buildExpired 构建控制 本篇技术指南深入讲解 Hugo 静态站开发工具前端CLI上一篇effect-smol Fiber 运行时指标记录机制解析从变更记录看 yielded fibers 重复计数问题的修复下一篇Authelia 国际化i18n实现全景从多语言前端到 Crowdin 众包翻译与语言选择器创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考