上一篇大致介紹了Hexo站點的布局,每個主題的布局結構是不一樣的,但是都是類似的,所以明白了Hexo生成站點的原理就能看懂所有主題的布局,這里還是以主題light-ch為例來講解如何添加一個新的布局resume.ejs
。
1、在layout
文件夾中添加布局文件
想要一個新的布局,要么通過對layout
的判斷在article.ejs
局部模塊中修改,要不就是新建一個resume.ejs
布局文件,指向另外一個局部模塊。這里我選擇了后面一種方法,避免混亂。
首先在layout
文件下創建resume.ejs
文件,里面代碼如下:
<%- partial('_partial/resume') %>
它指向的是一個局部模塊,里面就是想要顯示的樣式了。把它替換到layout.ejs
文件中<%- body %>
的位置上就是你的resume頁面了。
假如這里替換到<%- body %>
的樣式也不是我想要的,那么就可以修改layout.ejs
文件如下:
<%- partial('_partial/head') %>
<body>
<header id="header" class="inner"><%- partial('_partial/header') %></header>
<% if(page.layout == 'resume') {%>
<%- body %>
<% }else{ %>
<div id="content" class="inner">
<div id="main-col" class="alignleft"><div id="wrapper"><%- body %></div></div>
<aside id="sidebar" class="alignright"><%- partial('_partial/sidebar') %></aside>
<div class="clearfix"></div>
</div>
<% } %>
<footer id="footer" class="inner"><%- partial('_partial/footer') %></footer>
<%- partial('_partial/after_footer') %>
</body>
</html>
我只想要保留header
以及footer
的部分,其他的部分我想單獨設計,那么如上加個判斷條件就行了。當布局為resume的時候,完全按照我的_partial/resume
模版樣式。那么接下來就是考驗設計網頁的功底了。
2、resume布局的局部模塊
在_partial
目錄下創建resume.ejs
局部模塊,這里的內容就是想顯示的頁面布局了,可以發揮自己的設計能力,設計一個漂亮的頁面,我的示例代碼如下:
<div class="resume">
<div class="resume-left">
<img src="/assets/img/avatar/psb.jpg" alt="photo">
<span>Email:</span>
<a href="#">1911986273@qq.com</a>
</div>
<div class="resume-entry">
<%- page.content %>
</div>
</div>
頁面結構有了,下面就要添加樣式文件了,你可以在source/css/_partial/
目錄中添加resume.styl
,然后在source/css/style.styl
中引入(在最后一行加入@import '_partial/resume'
)就行了。
3、在頁面中添加page
通過命令hexo new page resume
創建一頁,Hexo會自動在根目錄下的source文件夾下創建resume文件夾,文件夾下有index.md
文件,編輯index.md
寫上你的簡歷主要內容。
index.md的前置聲明一定要加上
layout: resume
,不然你的布局就形同虛設了。(如果不設置,默認會是page布局)
source/
├── _drafts/
├── _posts/
├── resume/
├──index.md
然后打開主題light-ch
目錄下的_config.yml
配置文件,在menu下添加一行代碼。
menu:
首頁: /
個人簡歷: /resume
至此,大功告成,瀏覽一下個人簡歷頁面。Demo