问题
在对NexT主题进行定制时,用impress.js做了一个炫酷的 ‘关于’ 页面,集成到侧边栏之后发现只能替换原来的界面打开,这时有两个方法可以解决
- 在关于界面放一个Return按钮
- 在主页打开关于页面时弹出新的窗口
方法1:要决定什么时候,在什么地方放按钮,如果在最后一页放按钮,用户可能会浏览到最后一页就返回了,看不到最后的overview的画面,这是不理想的。
所以采用第二种方法。这里要做的其实就是在<a>标签里加上 target=”_blank” 属性。关键在于找到Hexo在生成index页面时的模板代码。
解决
一开始我搜索了Hexo的目录的含义,知道了所有的模板都在layout目录下,进入layout目录下首先注意到的是_macro目录下的sidebar.swig,很明显就是侧边栏的布局啊,这里我花费了好多时间,去找生成about那行代码的语句,然而并没有找到。
后来竟然在_partials目录下的header.swig文件下找到。只需要在195行附近,给下面这条语句加个判断,更改:
1 | <a href="{{ url_for(path) }}" rel="section"> |
为
1 | {% if (itemName == "about") %} |
这里需要注意的是swig的语法,一开始这里的条件语句我想当然的写成了 java 的语法,导致 hexo g 生成错误,具体语法可以参开这里。