Hexo站點(diǎn)中添加文章目錄以及歸檔

通過(guò)前面的介紹究西,Hexo站點(diǎn)的布局應(yīng)該了解得差不多了识啦,這次主要介紹一下如何使用Hexo自帶的幫助函數(shù)在站點(diǎn)中添加歸檔以及文章目錄捏浊。添加這兩塊功能都是使用了Hexo提供的幫助函數(shù)福扬,創(chuàng)建對(duì)應(yīng)局部模塊之前毅贮,首先要想想這兩塊內(nèi)容應(yīng)該屬于哪個(gè)布局昆咽?要添加到哪個(gè)局部模塊下驾凶?考慮這些是為了整潔性,當(dāng)你添加的東西越來(lái)越多的時(shí)候才不至于令自己混亂掷酗。

一调违、文章目錄

文章目錄肯定是添加到post布局上,這個(gè)毋庸置疑泻轰,因?yàn)橹挥锌次恼略斍轫?yè)的時(shí)候才需要目錄技肩。那么我們?cè)谀夸?code>layout/_partial/post/下創(chuàng)建toc.ejs文件,代碼如下:

<div id="toc" class="toc-article">
    <div class="toc-title">目錄</div>
    <%- toc(item.content, {list_number: false}) %>
</div>

這里使用了Hexo提供的toc()幫助函數(shù)浮声,它的使用方法如下:

<%- toc(str, [options]) %>

str就是文章內(nèi)容虚婿,options有兩個(gè)參數(shù),一個(gè)是class泳挥,也就是html標(biāo)簽的class值然痊,默認(rèn)為toc;一個(gè)是list_number屉符,是否顯示列表編號(hào)剧浸,默認(rèn)值是true。

接下考慮把這個(gè)局部模塊放到哪呢矗钟,既然屬于post布局辛蚊,那么就看看layout/post.ejs代碼如下:

<%- partial('_partial/article', {item: page, index: false}) %>

很明顯,我們要到_partial/article.ejs文件里添加toc.ejs真仲,添加后article.ejs代碼如下:

......
    <div class="entry">
      <% if (item.excerpt && index){ %>   <!--01-->
        <%- item.excerpt %>
      <% } else { if (item.toc !== false) {%>   <!--02-->
        <%- partial('post/toc') %>
      <% } %>
        <%- item.content %>
      <% } %>
    </div>
......

01袋马、判斷是否有摘要以及index值,顯然post.ejs傳過(guò)來(lái)的index值為false秸应;
02虑凛、接下來(lái)判斷page.toc是不是不等于false碑宴,這一塊的主要作用是可以在文章的前置聲明里設(shè)置toc: false來(lái)關(guān)閉目錄功能。當(dāng)沒(méi)有設(shè)置false時(shí)桑谍,插入上面寫的toc.ejs局部模塊延柠。

OK!完美嵌入進(jìn)去锣披,接下來(lái)就是設(shè)置樣式了贞间,進(jìn)入source/css/_partial/目錄下,創(chuàng)建toc.styl雹仿,代碼這里就不貼出了增热,具體查看github。最后別忘了在source/css/style.styl文件里加入這句了@import '_partial/toc'胧辽。顯示如下圖峻仇,樣式可以自行調(diào)整。

toc01.jpg

二邑商、歸檔sidebar

默認(rèn)的hexo-theme-light主題沒(méi)有添加歸檔的sidebar掛件摄咆,于是我將該widget添加到了主題light-ch中。先看一下效果如下圖:

archive01.png

sidebar中的局部模塊都在layout/_widget中人断,于是在該文件夾下創(chuàng)建archive.ejs吭从,代碼如下:

<% if (site.posts.length){ %>
  <div class="widget tag">
    <h3 class="title">歸檔</h3>
    <%- list_archives({format: "YYYY年MM月"}) %>
  </div>
<% } %>

然后在主題的配置文件中_config.yml中加入該widget,如下所示:

widgets:
    - category
    - archive
    - tagcloud
    - weibo

最后就是設(shè)置樣式了恶迈,在source/css/_partial/sidebar.styl文件中加入了這么一段就能如上顯示了影锈。

.archive-list
    font-size 0.9em
    padding 15px 20px 
    .archive-list-count
        margin-left 8px
        font-size 0.8em
        color color-meta
        &:before
            content '('
        &:after
            content ')'

這段樣式是為了和分類列表保持一致。詳細(xì)代碼參照github來(lái)自定義樣式蝉绷。

總結(jié)

這里通過(guò)添加文章目錄以及歸檔側(cè)邊欄的實(shí)戰(zhàn)練習(xí)鸭廷,大致了解了如何在Hexo站點(diǎn)中添加局部模塊和widget,基本上也就這兩種類型熔吗。
諸如添加百度統(tǒng)計(jì)辆床、多說(shuō)評(píng)論以及微博小插件等等,都可以歸屬為上述兩類桅狠,這里就不再贅述讼载,詳情可以參照github上代碼,有什么問(wèn)題可以隨時(shí)向我提issue中跌。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末咨堤,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子漩符,更是在濱河造成了極大的恐慌一喘,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,635評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異凸克,居然都是意外死亡议蟆,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,543評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門萎战,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)咐容,“玉大人,你說(shuō)我怎么就攤上這事蚂维〈亮#” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 168,083評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵虫啥,是天一觀的道長(zhǎng)蔚约。 經(jīng)常有香客問(wèn)我,道長(zhǎng)孝鹊,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 59,640評(píng)論 1 296
  • 正文 為了忘掉前任展蒂,我火速辦了婚禮又活,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘锰悼。我一直安慰自己柳骄,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,640評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布箕般。 她就那樣靜靜地躺著耐薯,像睡著了一般。 火紅的嫁衣襯著肌膚如雪丝里。 梳的紋絲不亂的頭發(fā)上曲初,一...
    開(kāi)封第一講書人閱讀 52,262評(píng)論 1 308
  • 那天,我揣著相機(jī)與錄音杯聚,去河邊找鬼臼婆。 笑死,一個(gè)胖子當(dāng)著我的面吹牛幌绍,可吹牛的內(nèi)容都是我干的颁褂。 我是一名探鬼主播,決...
    沈念sama閱讀 40,833評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼傀广,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼颁独!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起伪冰,我...
    開(kāi)封第一講書人閱讀 39,736評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤誓酒,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后贮聂,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體丰捷,經(jīng)...
    沈念sama閱讀 46,280評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡坯墨,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,369評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了病往。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片捣染。...
    茶點(diǎn)故事閱讀 40,503評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖停巷,靈堂內(nèi)的尸體忽然破棺而出耍攘,到底是詐尸還是另有隱情,我是刑警寧澤畔勤,帶...
    沈念sama閱讀 36,185評(píng)論 5 350
  • 正文 年R本政府宣布蕾各,位于F島的核電站,受9級(jí)特大地震影響庆揪,放射性物質(zhì)發(fā)生泄漏式曲。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,870評(píng)論 3 333
  • 文/蒙蒙 一缸榛、第九天 我趴在偏房一處隱蔽的房頂上張望吝羞。 院中可真熱鬧,春花似錦内颗、人聲如沸钧排。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 32,340評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)恨溜。三九已至,卻和暖如春找前,著一層夾襖步出監(jiān)牢的瞬間糟袁,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,460評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工躺盛, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留系吭,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,909評(píng)論 3 376
  • 正文 我出身青樓颗品,卻偏偏與公主長(zhǎng)得像肯尺,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子躯枢,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,512評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容