標(biāo)簽: hexo 原創(chuàng)
由于部分段落的排版無(wú)法實(shí)現(xiàn),請(qǐng)查看原文凡傅。
地址:http://blog.lujingtao.com/2017/11/20/hexo-theme/
什么是主題家浇?
我們都知道挫望,一個(gè)正常的靜態(tài)網(wǎng)站的基本組成部分有三部分:html文件群驾锰,css資源群和javascript文件群扮碧。html組成網(wǎng)站的骨架磁椒,css規(guī)定頁(yè)面的樣式風(fēng)格堤瘤,javascript構(gòu)建頁(yè)面的各種交互效果與邏輯。他們就像三個(gè)兄弟浆熔,桃園三結(jié)義本辐,方能成就一番大業(yè),此為恒常。
而我們的博客慎皱,你的國(guó)老虫,也屬于網(wǎng)站。但是我們寫(xiě)的文章都是markdown格式的文件茫多,僅僅只是國(guó)中的老百姓祈匙,本身沒(méi)什么戰(zhàn)斗力,必須要在一個(gè)安逸的環(huán)境下才能安居樂(lè)業(yè)天揖。所以沒(méi)有三兄弟的國(guó)是完全招架不住的夺欲,更經(jīng)不起群雄以及他國(guó)使者的挑剔眼光。畢竟誰(shuí)心底里都有一顆壯志雄心今膊,對(duì)吧些阅。
于是,三兄弟万细,構(gòu)成了主題扑眉。
如何使用 or 更換主題
在hexo的官網(wǎng)上,有一個(gè)專(zhuān)門(mén)的主題頁(yè)赖钞,hexo theme腰素,里面的主題不可謂不琳瑯滿(mǎn)目。大家可以根據(jù)自己的愛(ài)好雪营,選擇一個(gè)對(duì)味的弓千。
下面就以個(gè)人制作的本主題mello為例。
安裝步驟
- 復(fù)制主題的倉(cāng)庫(kù)地址献起。進(jìn)入它的github倉(cāng)庫(kù)頁(yè)mellow洋访,復(fù)制
https://github.com/codefine/hexo-theme-mellow.git
- 下載主題到本地博客目錄。在命令行中谴餐,進(jìn)入本地博客目錄姻政,然后下載主題。
git clone https://github.com/codefine/hexo-theme-mellow.git themes/mellow
岂嗓。這條命令的尾部的themes/mellow
表示主題文件存放的目錄汁展。成功之后,就能在blog/themes
找到下載的主題了厌殉。 - 更換使用的主題食绿。目前我們使用的還是默認(rèn)的landscape主題,要換成新下載的mellow主題公罕。打開(kāi)站點(diǎn)配置文件
blog/_config.yml
器紧,找到theme: landscape
,把landscape換成mellow楼眷。 - 安裝依賴(lài)铲汪。
npm install --save hexo-generator-search hexo-generator-topindex hexo-helper-qrcode hexo-renderer-less
- 至此熊尉,更換主題基本結(jié)束。然后運(yùn)行
hexo clean
->hexo g
->hexo s
就可以預(yù)覽主題了桥状。
可能會(huì)出現(xiàn)的坑
Q : 運(yùn)行命令的時(shí)候報(bào)錯(cuò)帽揪,或者不報(bào)錯(cuò)硝清,但是打開(kāi)主題后沒(méi)有樣式文件辅斟?
A : 出現(xiàn)這個(gè)問(wèn)題大部分情況是因?yàn)槿鄙僭撝黝}必要的依賴(lài)。這個(gè)依賴(lài)囊括各種css預(yù)處理器以及主題內(nèi)部某些功能需要的組件芦拿,不同主題開(kāi)發(fā)者由于開(kāi)發(fā)習(xí)慣以及理念的不同士飒,可能會(huì)衍生出各種五花八門(mén)的依賴(lài)。所以這就需要我們仔細(xì)閱讀主題文檔蔗崎,把這些依賴(lài)都安裝好酵幕,還有可能需要設(shè)置一些東西,才能正常使用缓苛。
Q : 主題能正常顯示芳撒,但是里面的某些功能失效或者報(bào)錯(cuò)?
A : 這些主題都是開(kāi)發(fā)者從零開(kāi)始一點(diǎn)一點(diǎn)寫(xiě)出來(lái)的代碼集合未桥,出現(xiàn)某些bug再正常不過(guò)了笔刹,可能開(kāi)發(fā)者并沒(méi)有發(fā)現(xiàn),這就需要我們使用者來(lái)主動(dòng)聯(lián)系開(kāi)發(fā)者冬耿,幫助完善主題功能舌菜,讓更多的人更安心的使用。所以遇到這種問(wèn)題亦镶,不要慌日月,盡情的打小報(bào)告就行,哈哈哈缤骨。
Q : 主題好是好爱咬,但是某些功能我覺(jué)得不需要,某些功能我覺(jué)得很有必要但是沒(méi)有绊起?
A : 關(guān)于現(xiàn)有功能的增刪問(wèn)題精拟,一般一個(gè)結(jié)構(gòu)良好的主題都會(huì)在主題配置文件themes/主題文件包/_config.yml
中留有相應(yīng)的功能接口,我們只需要改變相應(yīng)接口的布爾值就能實(shí)現(xiàn)功能開(kāi)啟與關(guān)閉了勒庄,一般true表示開(kāi)啟串前,而false表示關(guān)閉。但是如果咱們需要的功能現(xiàn)有主題并沒(méi)有实蔽,或者主題并沒(méi)有留下功能開(kāi)啟關(guān)閉的接口荡碾,這就需要咱們自己看著辦了。動(dòng)手能力強(qiáng)的局装,可以直接修改源文件坛吁,不想自己親自上陣的那就只能聯(lián)系開(kāi)發(fā)者了劳殖。
Q : 換了主題之后,在部署的時(shí)候粗現(xiàn)了Error: ENOENT的錯(cuò)誤拨脉,并且博客倉(cāng)庫(kù)中的主題目錄為空哆姻,沒(méi)有部署上去?
A : 這是因?yàn)檫@個(gè)主題是從github上直接clone下來(lái)的玫膀,在主題文件內(nèi)會(huì)默認(rèn)帶有一個(gè).git
的隱藏目錄矛缨,這個(gè)目錄和deploy插件沖突。解決方法也很簡(jiǎn)單帖旨,就是刪掉.git
箕昭。用cd themes/cafe
進(jìn)入cafe主題中,然后用rm -rf .git
刪除解阅,再用cd ..
返回到博客目錄落竹,重新生成并部署。這樣做之后的缺點(diǎn)就是斷開(kāi)了與主題倉(cāng)庫(kù)之間的鏈接货抄,無(wú)法使用git pull
來(lái)更新主題述召,需要手動(dòng)更新。出現(xiàn)這個(gè)錯(cuò)誤多半是因?yàn)槟夸浿杏?.git
蟹地,全部找到并且刪除就行了积暖。
主題推薦
折騰主題的這個(gè)階段幾乎是每個(gè)人都要經(jīng)歷的,所以上述的很多主題我也都試過(guò)锈津,不乏一些空有顏值內(nèi)在空虛的呀酸,要么就是bug層出不窮影響使用了,要么就是作者afk聯(lián)系不上了琼梆。真是沒(méi)想到你們竟然是這樣的主題性誉?!
經(jīng)過(guò)本人海量實(shí)踐茎杂,在此只推薦兩個(gè)主題:
-
NexT
- 優(yōu)點(diǎn):從作者專(zhuān)門(mén)為文檔開(kāi)發(fā)了一整套網(wǎng)站來(lái)看错览,可以說(shuō)是功能非常健全的主題了,幾乎能滿(mǎn)足任何hexo使用者的所有需求煌往。
- 缺點(diǎn):有點(diǎn)笨重倾哺。也不利于二次開(kāi)發(fā)及邊緣開(kāi)發(fā)。
-
Mello
- 優(yōu)點(diǎn):作者是博主本人刽脖!
- 缺點(diǎn):
過(guò)于完美主題還很年輕羞海,還有很長(zhǎng)的路要走。
本人制作的主題已經(jīng)被官方收錄曲管,正在完善文檔中却邓,也會(huì)持續(xù)更新,歡迎大家使用院水,如果能在使用過(guò)程中提出一些寶貴的意見(jiàn)那絕對(duì)是極好的腊徙。如果覺(jué)得這小伙子做的主題還不錯(cuò)简十,請(qǐng)?jiān)趥}(cāng)庫(kù)右上角star一下,以示鼓勵(lì)撬腾。