Skip to content

Latest commit

 

History

History
93 lines (75 loc) · 3.68 KB

8.md

File metadata and controls

93 lines (75 loc) · 3.68 KB

第一次提交

  • 将当前版本作为0.8.0版本发布,2013-08-01,初始版本作为0.7.0
  • 相对于第一次的初始版本,0.8.0有以下改动:
    • url支持丑陋格式(index)和好看的格式(index.html)
    • 支持指定输出目录
    • 自动将static目录同步到输出目录
    • 启动参数支持长短格式,补充了部分启动参数的功能
    • 配置和front matter添加了对yaml/toml格式的支持
    • 支持前一页后一页(当前提交更新)
    • 支持系列(可能是指索引:分类和标签)
    • 添加了verbose输出
    • bug修复

源码阅读:

  • 添加前一页后一页功能
  • 构建站点有3个步骤:处理/渲染/写到输出目录
  • 在处理过程中,主要是初始化site对象,初始化page对象,初始化每个page的front matter
  • 新增的前一页后一页功能,就是再page对象初始化之后,按发布日期排序之后

第二次提交

源码阅读:

  • 索引,以前的分类和标签都会单独放在一个组数据结构:
  • map(分类/标签,page数组), 现在改为 map(分类/标签,(具体的分类或标签名, page数量)数组)
  • 再渲染中,如果发现了索引模板(indexes/indexes.html),会生成相应的html文件,目录对应索引名
  • 索引属于site的部分,所以OrderedIndexList 有序的索引对象就放在SiteInfo里,而不是像之前的指针
  • 将之前public下的static目录放到static下面

第三次提交

添加索引页的说明

  • 用户可以自定义索引,索引可以用来干什么:
    • 内容中的索引
    • content的分类/分组/区分系列
  • 索引必须要在config中定义,定义的格式是kv对,tag:"tags",或是 topic:"topics",key是单数,值是复数
  • 单数键复数值在代码中有体现,单数和复数,会利用inflection包来做处理,
  • 但是这个包目前支持少数语言,所以,复数的写法,还是得用户来搞定
  • 在配置文件中定义了索引后,就可以添加索引模板
    • 每一个索引,都需要一个索引模板,模板位置:/layout/indexes/单数.html
  • 如果索引是标签(tag),渲染后,会丢在输出目录下的/tags/标签名
  • 在添加索引模板后,下一步就是在content文件中指明分类/标签,在front matter中
    • 在front matter的写法也是有规定的:元数据的表示也是kv表示,k是索引复数,v可以是任意
    • eg: 配置中定义可以用tag表示标签(tag:"tags"), 那么在content中可以这么写(tags:["学习","c++","2019","bug系列"])
  • 最后就是显示, 在页面引用时使用 .Params.tags

附加功能:索引的索引:一个单独的索引页,存放其他的索引信息

索引模板中支持的变量:

  • .Title The title for the content.
  • .Date The date the content is published on.
  • .Permalink The Permanent link for this page.
  • .RSSLink Link to the indexes' rss link.
  • .Data.Pages The content that is assigned this index.
  • .Data.singular The index itself.

第四次提交

文档更新:

  • hugo是比其他大部分静态站点生成器都快的工具
  • 速度很快,大约一个content 1ms左右
  • hugo适合很多场景:博客/文档
  • 增加了release-notes
  • 模板中新增两个参数:Prev和Next

更新路线图:

  • 分页
  • 支持其他顶级page,现在只有homepage,后面还有about等
  • 支持系列
  • 语法高亮
  • 页面的 前一页/后一页
  • 相关post
  • 支持toml的front matter
  • 适当支持yaml的front matter
  • 支持其他格式
  • 更好的错误处理
  • 命令
  • 动作,eg: hugo create page

总结

回顾:

  • 新增前一页后一页
  • 明确了索引的规则(配置/模板/使用/显示)
  • 将static目录独立出来
  • 启动参数的完善:支持长短格式/完善部分参数
  • 添加索引的索引