- 早就聽說(shuō)可以自己弄一個(gè)博客然后免費(fèi)部署到github上面纷纫,但是一直沒(méi)機(jī)會(huì)著手去做叁扫,前幾天三妈,機(jī)緣巧合之下,發(fā)現(xiàn)了Hexo這個(gè)好東西莫绣,這才發(fā)現(xiàn)原來(lái)它就是我苦苦找尋的的東西啊畴蒲。真是“踏破鐵鞋無(wú)覓處,得來(lái)全不費(fèi)功夫对室。”啊模燥。
- 那好,lz要開始搭建個(gè)人博客啦(入坑了)掩宜。期間各種坑只能自己體會(huì)蔫骂,雖然外面已經(jīng)很多搭建的教程了,但是我也來(lái)湊個(gè)熱鬧牺汤,其實(shí)也算是記錄一下自己學(xué)習(xí)的過(guò)程辽旋,還有期間所遇的各種坑以至于不得不中斷到改日再戰(zhàn)的坑,在次記錄一下讓后面的小伙伴們更方便一些慧瘤,不至于那么慘戴已。
- 首先必須安裝一下Git for windows,然后申請(qǐng)個(gè)GitHub賬號(hào)啊固该,建議日后想從事CS相關(guān)的童鞋多上上全球最大的同性交友網(wǎng)站(GitHub)锅减,里面的好東西真不少,受益匪淺啊伐坏。
-
Git不會(huì)的童鞋網(wǎng)上搜一下怔匣,很簡(jiǎn)單,在此附上一張命令速查表桦沉,方便快捷每瞒,雖然貌似后面都沒(méi)用到git命令。
- 然后是Node.js下載,穩(wěn)定版和最新版都可以纯露,個(gè)人喜好剿骨,Hexo是靠node驅(qū)動(dòng),所以以上除了github以外都是是必須的埠褪。
- 有不想用國(guó)外網(wǎng)站的童鞋也可以使用國(guó)內(nèi)的Coding浓利,原理一樣挤庇,反正都是仿Github的。雖說(shuō)國(guó)外網(wǎng)站有可能被墻贷掖,而且比起國(guó)內(nèi)的慢一點(diǎn)嫡秕,但是我同時(shí)部署了Coding和Github,后者瞬間就能訪問(wèn)了苹威,而前者昆咽,呵呵。
- 對(duì)了牙甫,第一個(gè)坑來(lái)了掷酗,安裝完畢之后一定要重啟,不然后面使用npm命令安裝Hexo時(shí)會(huì)提示找不到命令窟哺,然后才能繼續(xù)后面的步驟汇在。重啟完畢之后就可以愉快地開始安裝了,在Git Bash端執(zhí)行下面的命令就可以安裝Hexo了脏答。
$ npm install hexo-cli -g
- 然后初始化hexo糕殉,進(jìn)入文件之后就可以執(zhí)行后面的命令了。
$ hexo init blog
$ cd blog
- 介紹一下hexo下用到的命令:
$ hexo g/generate #生成靜態(tài)文件
$ hexo s/server #啟動(dòng)服務(wù)器殖告,主要用來(lái)本地預(yù)覽
$ hexo d/deploy #將本地文件發(fā)布到github或Coding上
$ hexo n/new "postName"#新建一篇文章
$ hexo n/new page "pageName" #新建頁(yè)面
$ hexo h/help # 查看幫助
$ hexo v/version #查看Hexo的版本
- 進(jìn)入文件之后執(zhí)行hexo g和hexo s之后然后用瀏覽器打開http://localhost:4000/阿蝶,不出意外的話,你就可以看到你的博客了黄绩,就像下面這個(gè)樣子的羡洁,當(dāng)然這個(gè)博客只是在本地的,hexo3.0使用的默認(rèn)主題是landscape爽丹。
- 然后你就可以進(jìn)行愉快的個(gè)性化玩耍了筑煮,其中也是各種坑,首先是挑選自己喜歡的主題粤蝎,然后使用git clone下載到本地真仲,就可以開心地設(shè)置了。
- 首先打開hexo文件的_condig.yml配置文件初澎,還有一個(gè)是themes主題下你選擇主題的配置文件_condig.yml秸应,兩個(gè)配置文件名一樣,但是一個(gè)是主配置文件碑宴,一個(gè)是主題配置文件软啼,不要搞混。
- 配置過(guò)程中也有不少坑延柠,有遇到一個(gè)地方多了或者少了個(gè)空格什么的導(dǎo)致整個(gè)項(xiàng)目不能運(yùn)行的祸挪,還有配置之后沒(méi)有達(dá)到預(yù)期效果的,其實(shí)只要按照你選擇的主題的文檔來(lái)贞间,仔細(xì)一點(diǎn)贿条,基本上是沒(méi)什么問(wèn)題的盈罐。
- 當(dāng)然,我就是按照文檔來(lái)配置的闪唆,中間也是各種各樣的問(wèn)題盅粪,但是,基本上都是網(wǎng)上查查就能查到的普通問(wèn)題悄蕾。
- 我選的主題是Next.Picces,配置好之后效果如下所示
- 有點(diǎn)小清新是不是票顾,嗯,地址在此,歡迎來(lái)踩帆调。
- 主題中所包含的功能就已經(jīng)很多了奠骄,比如百度統(tǒng)計(jì)、打賞番刊、搜索等功能含鳞,只要去找到文件中相對(duì)應(yīng)的地方,然后設(shè)置就可以使用了芹务。愚蠢的我一開始還想去自己實(shí)現(xiàn)一些功能蝉绷,但是后來(lái)仔細(xì)閱讀主題文檔之后才發(fā)現(xiàn),原來(lái)都有啊枣抱,其自帶的功能已足夠滿足我等騷年熔吗。
- 所以我又去百度統(tǒng)計(jì)、多說(shuō)佳晶、leancloud網(wǎng)站注冊(cè)之后桅狠,然后拿到id之后放在配置文件中相應(yīng)的地方就可以了,而且還實(shí)現(xiàn)了打賞功能轿秧,但是并沒(méi)什么卵用中跌。
- 使用文檔很重要啊,這是我主題的使用文檔菇篡。
- 好了漩符,到此,你已經(jīng)配置好本地逸贾,然后預(yù)覽好之后就可以發(fā)布了陨仅,使用下面
hexo g
hexo d
- 命令就可以啦津滞,但是天有不測(cè)風(fēng)云铝侵,遇到錯(cuò)誤,
ERROR Deployer not found : github
- 不用急触徐,執(zhí)行一下這條命令就可以咪鲜,還有可能遇到說(shuō)你的github地址不是倉(cāng)庫(kù),那是因?yàn)槟愕牡刂窙](méi)有設(shè)置正確撞鹉,檢查一下空格之類的疟丙。
npm install hexo-deployer-git --save
- 要想以上命令起作用颖侄,前提是你的配置文件已經(jīng)配置如下,這個(gè)是同時(shí)發(fā)布到Github和Coding上面
deploy:
type: git
repo:
coding: git@git.coding.net:HalShaw/halshaw.git,master
github: https://github.com/HalShaw/halshaw.github.io.git,master
- 如果只想發(fā)布到GIthub上享郊,稍微改一下
deploy:
type: git
repository: https://github.com/HalShaw/halshaw.github.io.git
branch: master
- 一切順利的話览祖,就可以啦。但是炊琉,慢著展蒂,又出現(xiàn)問(wèn)題了。命令行返回
Invalid argument
- what?什么鬼苔咪?明明本地都可以成功預(yù)覽了锰悼,但是為什么發(fā)布不了了呢,我就被這個(gè)hexo d搞了好久团赏,查了好久才明白箕般,原因是我在我的hexo目錄下,我又執(zhí)行了
npm install
- 又安裝了一個(gè)hexo舔清,所以不能發(fā)布了丝里,所以刪除之后就可以高興滴執(zhí)行hexo d啦。
- 謝天謝地体谒,終于發(fā)布上去了丙者,然而,不到一分鐘营密,我就收到了Github發(fā)來(lái)的郵件
創(chuàng)建page失敗械媒,madan,招誰(shuí)惹誰(shuí)了我评汰,怎么遇到這么多問(wèn)題呢纷捞。又是一番搜索之后找到了一個(gè)我認(rèn)為滿意的答案
- Make a backup of the content locally
- Delete the repository from GitHub
- Delete the repository locally
- Recreate the repository, ensuring that you don't include the repository within the repository locally, which is what you did previously
- Push it to GitHub
- 意思就是我git倉(cāng)庫(kù)里面又包括其他倉(cāng)庫(kù)啦,讓我把他們搞好之后再上傳被去,果然主儡,我到主題文件下把.git文件刪除之后,然后再次發(fā)布惨缆,終于糜值,大功告成。就是剛才那個(gè)小清新的博客啦坯墨。
- 然后就開始寫文章吧寂汇,該博客只支持markdown語(yǔ)法,所以不會(huì)的小伙伴也不要怕捣染,花個(gè)幾分鐘就可以上手啦骄瓣。在Git終端輸入上面的新建文章命令就可以新建一篇文章啦。然后會(huì)顯示文章所在路徑耍攘,找到并打開開始寫文章吧榕栏。
$ hexo n my first
INFO Created: D:\hexo1\hexo\source\_posts\first.md
- 打開之后是這樣的畔勤,你可以自己設(shè)置標(biāo)簽和分類,然后就開始寫你自己的故事吧扒磁。
title: my first#標(biāo)題和日期必須唯一庆揪,因?yàn)樵L問(wèn)文章的url是根據(jù)二者生成的
date: 2016-08-25 15:33:58
tags: 'try' #標(biāo)簽
categories: "技術(shù)" #分類
- 然后之后寫文章每次部署都需要執(zhí)行如下的命令,需要先清理數(shù)據(jù)庫(kù)妨托,生成靜態(tài)文件之后預(yù)覽嚷硫,然后發(fā)布。
hexo clean
hexo g
hexo s
hexo d
- 好啦始鱼,到這里仔掸,文章已經(jīng)寫好,然后發(fā)布之后就可以去找小伙伴炫耀啦医清。