你好博客 2 ?Hello Again?


前言

这次改动的主要目的是提供一个 oopre 的题面查看和数据下载的方式。正好借此机会进一步的了解 hexo 博客的构建机制,为未来的改动打下基础。

想要做的事儿

想法是开一个子页面 oopre,然后 index 就是一个介绍,给出每次作业的链接。然后其下的页面就是每次作业,再在每次作业最后加上一个下载数据链接即可。

关于 Hexo

这下我基本上是理解了 hexo 的构建思路。首先就是所有的东西都储存在 source 这个目录下(当然可以在 hexo 的 config 里面更改),然后渲染后的成品放在 public 目录下,最后 push 到 github 时,把 public 目录下的东西覆盖 .deploy_git 然后发布即可。所以实际上 github 仓库内容是和 .deploy_git 目录同步的,.deploy_git又是来自 public 的,public 则是由 source 渲染得到的。

下面重点说一下渲染过程。首先检查 hexo 的 config 下的 skip_render 变量,这个数组里面的内容是绝对不用渲染,会直接复制进 public 目录。(小贴士:** 表示递归遍历文件夹下所有文件和文件夹)然后其他在 source 目录下的文件均会被渲染。渲染方式是首先看 md 文件头部有没有 layout 变量,有 layout 的,在主题目录里的 layout 目录下找到对应的 layout 文件渲染,否则一律按照 posts 渲染。至于 source 目录里两个下划线开头的目录,显然有特殊用处的嘛……

理解这些简单 Hexo 渲染流程之后,魔改就比较简单了,虽然我还不是很会写网页……

关于这次的改动

这次的改动的话主要是新增了 oopre 相关的几个 ejs 文件。

  1. 用于 index 的 oopre.ejs,这个主要功能是网页重定向,重定向至介绍 oopre 的那篇博客。
  2. 用于展示题面的 oopre_hw.ejs,主要由 post.ejs 复制而来,主要改动就是去除了一些不需要的判断语句,另外把内容页换成了 oopre-detail-toc.ejs
  3. _partial/oopre-detail-toc.ejs,从 _partial/post-detail-toc.ejs 复制而来。主要改动就是把 _partial/post-detail.ejs 换成了 _partial/oopre-detail.ejs
  4. _partial/oopre-detail.ejs,改动主要是 tag 和 category 恒定为 oopre,然后超链接恒为 /oopre

参考资料

  1. 网页重定向:https://blog.csdn.net/penngrove/article/details/6933860

评论
  目录