思維導(dǎo)圖總覽:
簡介
Hexo:
Hexo 是一款基于Node.js技俐、快速堕花、簡潔且高效的博客框架哮内。Hexo 使用 Markdown(或其他渲染引擎)解析文章祈噪,在幾秒內(nèi)泽铛,即可利用靚麗的主題生成靜態(tài)網(wǎng)頁。
官網(wǎng) https://hexo.io/zh-cn/docs/index.html
NodeJs:
Nodejs框架是基于V8的引擎辑鲤,是目前速度最快的Javascript引擎盔腔。chrome瀏覽器就基于V8,同時打開20-30個網(wǎng)頁都很流暢月褥。Nodejs標(biāo)準(zhǔn)的web開發(fā)框架Express弛随,可以幫助我們迅速建立web站點,比起PHP的開發(fā)效率更高宁赤,而且學(xué)習(xí)曲線更低舀透。非常適合小型網(wǎng)站,個性化網(wǎng)站决左,我們自己的Geek網(wǎng)站c倒弧走贪!
JS是腳本語言,腳本語言需要一個解析器才能運行惑芭。對于寫在HTML頁面里面的JS坠狡,瀏覽器充當(dāng)了解析器的角色。而對于需要獨立運行的JS遂跟,NodeJS就是一個解析器逃沿。
每種解析器就是一個運行環(huán)境,不但允許JS定義各種數(shù)據(jù)結(jié)構(gòu)幻锁,進(jìn)行各種計算凯亮,還允許JS使用運行環(huán)境提供的內(nèi)置對象和方法做一些事情。例如運行在瀏覽器中的JS的用途是操作DOM哄尔,瀏覽器就提供了document之類的內(nèi)置對象触幼。而運行在NodeJS中的JS的用途是操作磁盤文件或者搭建HTTP服務(wù)器,NodeJS就相應(yīng)提供了fs究飞、http等內(nèi)置對象.
【規(guī)律使我們開闊置谦,但文化使我們更加深刻∫诟担】
弄清楚一樣?xùn)|西存在的意義還是蠻重要的媒峡,因此,我們要上一堂歷史課咯~
話說當(dāng)年NodeJS的作者啊葵擎,在創(chuàng)造NodeJS之初谅阿,他想實現(xiàn)一個高性能的Web服務(wù)器,這廝首先看重的是事件機制和異步IO模型的優(yōu)越性酬滤,而不是JS签餐。但是呢,他首要做的一件事就是要找一門語言盯串,來實現(xiàn)他偉大的想法氯檐,而這門語言不能是自帶IO功能的(為毛線不能自帶啊体捏?那個立志成為海賊王的男人嘛冠摄,發(fā)現(xiàn)以前同步IO太TM坑爹咯,要自己實現(xiàn)一個異步IO模型几缭,并且能良好的支持事件機制( ⊙ o ⊙ )昂佑尽!)年栓。JS沒有自帶IO功能拆挥,天生就用于處理瀏覽器的DOM事件,并且有一大群屌絲程序員某抓,因此就成為了天然的選擇啦纸兔。
如他所愿黄锤,NodeJS在服務(wù)器端活躍起來,出現(xiàn)了大批基于NodeJS的Web服務(wù)食拜。而另一方面,NodeJS讓前端的開發(fā)人員(說你耶)如獲神器副编,終于可以在自己的有生之年负甸,讓自己的能力范圍內(nèi)跳出瀏覽器窗口。自從這春風(fēng)拂面痹届,大批的開發(fā)工具如雨后春筍般涌現(xiàn)呻待,前端開發(fā)者的謎之微笑,燦若桃花(閉上眼睛队腐,用心感受)蚕捉。SO,對于前端而言柴淘,雖然不是人人都要拿NodeJS寫一個服務(wù)器程序迫淹,但其簡單程度可至使用命令交互模式調(diào)試JS代碼片段,復(fù)雜可至編寫工具提高工作效率为严×舶荆可謂,居家旅行必備的裝逼神器第股。
NodeJS生態(tài)圈正欣欣向榮应民,畫面太美,不忍直視夕吻。
Github
GitHub is the single largest host for Git repositories, and is the central point of collaboration for millions of developers and projects. A large percentage of all Git repositories are hosted on GitHub, and many open-source projects use it for Git hosting, issue tracking, code review, and other things. So while it’s not a direct part of the Git open source project, there’s a good chance that you’ll want or need to interact with GitHub at some point while using Git professionally.
--摘自官方文檔
(⊙o⊙)… 這堆雞腸是神馬意思诲锹?好吧,我意譯一下涉馅,水平有限归园,請不吝賜教。
Github是Git倉庫唯一且最大的主機稚矿,它是數(shù)以萬計的開發(fā)者和項目協(xié)作的中心點蔓倍。絕大部分Git倉庫托管在GitHub上,許多的開源項目使用Github的Git倉庫托管服務(wù)盐捷,問題跟蹤偶翅,代碼復(fù)查和其他的東西。因此碉渡,雖然它不是直接參與Git的開源項目聚谁,但這是一個你會想要或者需要在某些時候?qū)I(yè)地使用Git與github互動的好機會。
(翻譯得好爛... ... )
Git
是一個開源的分布式版本控制系統(tǒng)滞诺,用以有效形导、高速的處理從很小到非常大的項目版本管理环疼。
Github page:
GitHub Pages本用于介紹托管在GitHub的項目, 不過朵耕,由于他的空間免費穩(wěn)定炫隶,用來做搭建一個博客再好不過了。
github Pages可以被認(rèn)為是用戶編寫的阎曹、托管在github上的靜態(tài)網(wǎng)頁伪阶。
Markdown
Markdown 是一種輕量級標(biāo)記語言,創(chuàng)始人為約翰·格魯伯(John Gruber)处嫌。它允許人們“使用易讀易寫的純文本格式編寫文檔栅贴,然后轉(zhuǎn)換成有效的XHTML(或者HTML)文檔”。[1]這種語言吸收了很多在電子郵件中已有的純文本標(biāo)記的特性熏迹。
優(yōu)點:
1檐薯、簡單,容易上手
2注暗、純文本實現(xiàn)坛缕,程序員最愛,容易擴(kuò)展捆昏,方便和其他工具聯(lián)動
3祷膳、平臺支持廣:以Github為首的各種平臺、各種博客都支持屡立,基本上現(xiàn)在面向程序員的輸入框都可以用Markdown來寫了
4直晨、豐富的工具鏈
5、編輯器:各種支持所見即所得的編輯器
6膨俐、和各種其他格式互相轉(zhuǎn)化的工具勇皇。PDF、Mobi焚刺、Epub敛摘、HTML等等,幾乎你能想到的所有格式它都能轉(zhuǎn)換乳愉。
HOW?
環(huán)境配置
node-v4.4.0-x64.msi
Git-1.9.5-preview20150319.exe
安裝Git
就此不截圖了蔓姚,一直下一步捕虽,然后自定義一個安裝路徑,安裝即可坡脐。
安裝Node.js
也是一直下一步泄私,選擇一個自定義的安裝路徑。接著要配置環(huán)境變量:
D:\software\develop\nodejs\是我的NodeJs的安裝目錄,你配環(huán)境變量的時候要配你自己安裝的目錄晌端。配環(huán)境變量是為了讓windows的命令行能調(diào)用到NodeJS里面的命令捅暴。
安裝hexo
第一步:打開cmd。第二步:進(jìn)入NodeJS的安裝目錄
第三步:開始安裝hexo咧纠,利用 npm 命令即可安裝
npm install -g hexo
開始搭建博客
來杯咖啡稍作等待蓬痒,即可安裝成功。接下來漆羔,執(zhí)行
mkdir blog && cd blog
此處blog便是你的博客目錄梧奢,當(dāng)然其他什么名字也是極好的,看心情了钧椰,此時最好將此目錄備份到云盤或者其他地方,以防文件夾丟失后博客就沒有了符欠。
然后執(zhí)行
hexo init
安裝依賴包
npm install
至此嫡霞,博客搭建成功!當(dāng)然希柿,僅僅是本地的了诊沪。此時執(zhí)行
hexo g
即可生成靜態(tài)頁面,然后執(zhí)行
hexo s
訪問http://localhost:4000即可看到你的博客曾撤。
如果想讓放到網(wǎng)上該怎么辦呢端姚?那就接著往下看咯。
注意:暫時別關(guān)你的cmd窗口挤悉。
部署博客到github
1渐裸、注冊賬號
The first thing you need to do is set up a free user account. Simply visithttps://github.com, choose a user name that isn’t already taken, provide an email address and a password, and click the big green “Sign up for GitHub” button.
你所要做的第一件事就是創(chuàng)建一個免費的用戶賬號。簡單地訪問https://github.com装悲,選擇一個未被使用過的用戶名昏鹃,提供一個郵箱地址以及密碼,并點擊寫著“sign up for GitHub”的綠色按鈕诀诊。
經(jīng)過郵箱認(rèn)證后洞渤,該賬號就會被激活的。
2属瓣、創(chuàng)建一個倉庫
注:Github Pages的Repository名字是特定的载迄,比如我Github賬號是dantefung,那么我Github Pages Repository名字就是dantefung.github.io抡蛙。
3护昧、設(shè)置github pages
創(chuàng)建成功后,回到主頁面粗截,點擊進(jìn)入你剛剛創(chuàng)建好的倉庫
接著點擊settings捏卓,進(jìn)入倉庫管理
更新你的站點
選擇主題并發(fā)布
至此,你的github pages就發(fā)布成功了。試試在瀏覽器的地址欄輸入”你github的用戶名.github.io”吧怠晴!
現(xiàn)在回到你的 ,
打開你安裝好的NodeJS的根目錄遥金,然后點擊進(jìn)入剛剛新建的blog文件夾:
在文件的底部,將配置改成介樣:
其中只需修改一下repository蒜田,將其內(nèi)容修改為剛剛新建的項目的倉庫地址即可稿械。接下來,回到你的cmd窗口冲粤,只需執(zhí)行兩個命令:
npm install hexo-deployer-git --save (這命令是為了解決hexo新版本的部署問題)
hexo g 回車 (這是重新生成blog)
hexo d 回車 (這是將本地blog部署到github的倉庫)
現(xiàn)在美莫,試試在瀏覽器的地址欄輸入:“你的用戶名.github.io”,此時梯捕,你應(yīng)該會看到這樣的界面:
你可能會吐槽這個主題怎么這么難看厢呵,好下面我就教你怎么改主題。此時傀顾,你的cmd窗口還是先別關(guān)襟铭。
主題篇
接下來,開始對博客進(jìn)行一番改造短曾。畢竟博客是自己精神上的一個家園寒砖,當(dāng)然要裝飾打造一番了。
首先嘛嫉拐,自然是進(jìn)行主題的選擇了哩都,主題在這里。選擇好一個主題之后婉徘,就是進(jìn)行主題的安裝了漠嵌。在剛剛那個網(wǎng)站上,點擊右邊的鏈接可以看到主題的Demo盖呼,選則一個喜歡的主題然后點擊左邊的鏈接進(jìn)入github上:
第一步:克隆主題到本地themes目錄下
方式一:
然后命令行進(jìn)入到你的博客目錄的themes目錄下:
點擊鼠標(biāo)右鍵献雅,打開github bash執(zhí)行下面語句:
git clone git://github.com/ppoffice/hexo-theme-alex.git
(這個是剛剛那個頁面的Install下的命令 )
方式二:
然后命令行進(jìn)入到你的博客目錄目錄下:
執(zhí)行如下命令:
然后你會在“你的blog目錄/themes”下看到:
其中g(shù)it clone后面的鏈接為你進(jìn)入的主題的鏈接地址,themes/alex為你的保存目錄塌计,此處已alex主題為栗子挺身,具體的以你選擇的主題為準(zhǔn)。
第二步:配置你將要生成的博客主題為剛剛克隆的主題
然后進(jìn)入到/blog/_config.yml里面锌仅,將theme改為你剛剛下載保存的主題的名字
然后回到cmd章钾,執(zhí)行:
hexo g 回車 (這是重新生成blog)
hexo d 回車 (這是將本地blog部署到github的倉庫)
好了,試試在瀏覽器的地址欄輸入:“你的github用戶名.github.io”热芹,你將會看到如下主題的blog頁面/:
編寫與發(fā)布博客
怎么發(fā)布到github的博客贱傀?還是老樣子啊:
接著:
FAQ(Frequently Asked Questions)
關(guān)于你博客部署失敗的解決辦法:
在用Hexo搭建靜態(tài)博客的時候伊脓,deploy時出現(xiàn)如下錯誤:
Error: spawn ENOENT
at errnoException (child_process.js:980:11)
at Process.ChildProcess._handle.onexit (child_process.js:771:34)
解決辦法府寒?
添加環(huán)境變量:你的安裝目錄\Git\bin;你的安裝目錄\Git\libexec\git-core魁衙,這樣就解決了問題了。
可惜株搔,使用這個辦法引入環(huán)境變量剖淀,按道理說cmd可以引用到git的命令,但是纤房,你的卻居然不行纵隔。辣怎么解決呢?也不是沒有辦法炮姨。
你會發(fā)現(xiàn)每次我們執(zhí)行完 hexo g 后捌刮,public目錄會被更新一次:
而你執(zhí)行完 hexo d命令后是將.deploy_git文件夾中的內(nèi)容推送到github的服務(wù)器上:
因此,我們可以在執(zhí)行完hexo g后自己手動的提交:
隨便在某個目錄下:
然后舒岸,你刪掉例如我的dantefung.github.io里面的內(nèi)容绅作,然后:
接著,雙擊進(jìn)入dantefung.github.io(以我的為例):
然后點OK蛾派,等待一會兒俄认,正常情況下都會上傳成功~
現(xiàn)在,試試在瀏覽器地址欄輸入:“你的github用戶名.github.io”碍脏,看看你的博客主頁吧~~
我不會Markdown怎么辦梭依?
http://ibruce.info/2013/11/26/markdown/ Markdown簡明語法
參考:
http://www.reibang.com/p/a2023a601ceb
本文轉(zhuǎn)自:
https://www.cnblogs.com/dantefung/p/d8c48ba8030bcab7cfc364d423186fee.html