返回頂部
關(guān)閉軟件導航
位置:首頁 > 技術(shù)分享 > SEO優(yōu)化>GithubJekyll搭建及優(yōu)化靜態(tài)博客方法指南

嘗試自己寫B(tài)log的人,一般會經(jīng)歷三個階段。

第一階段,剛接觸Blog,覺得很新鮮,試著選擇一個免費空間來寫。第二階段,發(fā)現(xiàn)免費空間限制太多,就自己購買域名和空間,搭建獨立博客。第三階段,覺得獨立博客的治理太麻煩,很好在保留控制權(quán)的前提下,讓別人來管,自己只負責寫文章。

大多數(shù)人,都停留在第一和第二階段,因為第三階段不太簡單到達:你很難找到俯首聽命、愿意為你治理服務器的人。

前兩天在站長之家里面看到一個文章,講的是如何在github上搭建Blog,現(xiàn)在分享給大家。比較具體的介紹了github的Pages功能,以及Jekyll軟件的基本用法。

Github、Jekyll搭建及優(yōu)化靜態(tài)博客方法指南

從大概2021年開始,一些程序員開始在Github網(wǎng)站上搭建blog,既擁有絕對治理權(quán),又享受github帶來的便利:不管何時何地,只要向主機提交commit,就能發(fā)布新文章,還是免費的!github提供無限流量,世界各地都有理想的訪問速度。

Github、Jekyll搭建及優(yōu)化靜態(tài)博客方法指南

一、GithubPages是什么?

GithubJekyll搭建及優(yōu)化靜態(tài)博客方法指南

假如你對編程有所了解,就一定聽說過github,它號稱程序員的Facebook,有著極高的人氣,許多重要的項目都托管在上面。

簡單說,它是一個具有版本治理功能的代碼倉庫,每個項目都有一個主頁,列出項目的源文件。

Github、Jekyll搭建及優(yōu)化靜態(tài)博客方法指南

但是對于一個新手來說,看到一大堆源碼,只會讓人頭暈腦漲,不知何處入手。他希望看到的是,一個簡明易懂的網(wǎng)頁,說明每一步應該怎么做。因此,github就設(shè)計了Pages功能,答應用戶自定義項目首頁,用來替代默認的源碼列表。所以,githubPages可以被認為是用戶編寫的、托管在github上的靜態(tài)網(wǎng)頁。

Github、Jekyll搭建及優(yōu)化靜態(tài)博客方法指南

github提供模板,答應站內(nèi)生成網(wǎng)頁,但也答應用戶自己編寫網(wǎng)頁,然后上傳。有意思的是,這種上傳并不是單純的上傳,而是會經(jīng)過Jekyll程序的再處理。

二、Jekyll是什么?

Jekyll(發(fā)音/'d?i?k?l/,"杰克爾")是一個靜態(tài)站點生成器,它會根據(jù)網(wǎng)頁源碼生成靜態(tài)文件。它提供了模板、變量、插件等功能,所以實際上可以用來編寫整個網(wǎng)站。

Github、Jekyll搭建及優(yōu)化靜態(tài)博客方法指南

整個思路到這里就很明顯了。你先在本地編寫符合Jekyll規(guī)范的網(wǎng)站源碼,然后上傳到github,由github生成并托管整個網(wǎng)站。

這種做法的好處是:

它的缺點是:

但是,綜合來看,它不失為搭建中小型Blog或項目主頁的很佳選項之一。

三、一個實例

下面,我舉一個實例,演示如何在github上搭建blog,你可以跟著一步步做,為了便于理解,這個blog只有很基本的功能。在搭建之前,你必須已經(jīng)安裝了git,并且有g(shù)ithub賬戶。

第一步,創(chuàng)建項目。

在你的電腦上,建立一個目錄,作為項目的主目錄。我們假定,它的名稱為jekyll_demo。

?$mkdirjekyll_demo

對該目錄進行g(shù)it初始化:

?$cdjekyll_demo?$gitinit

然后,創(chuàng)建一個沒有父節(jié)點的分支gh-pages,因為github規(guī)定,只有該分支中的頁面,才會生成網(wǎng)頁文件。

?$gitcheckout--orphangh-pages

以下所有動作,都在該分支下完成。

第二步,創(chuàng)建設(shè)置文件。

在項目根目錄下,建立一個名為_config.yml的文本文件。它是jekyll的設(shè)置文件,我們在里面填入如下內(nèi)容,其他設(shè)置都可以用默認選項,具體解釋參見官方網(wǎng)頁。

?baseurl:/jekyll_demo

目錄結(jié)構(gòu)變成:

?/jekyll_demo?|--_config.yml

第三步,創(chuàng)建模板文件。

在項目根目錄下,創(chuàng)建一個_layouts目錄,用于存放模板文件。

?$mkdir_layouts

進入該目錄,創(chuàng)建一個default.html文件,作為Blog的默認模板,并在該文件中填入以下內(nèi)容。

?????{{page.title}}???{{content}}??

Jekyll使用Liquid模板語言,{{page.title}}表示文章標題,{{content}}表示文章內(nèi)容,更多模板變量請參考官方文檔。

目錄結(jié)構(gòu)變成:

?/jekyll_demo?|--_config.yml?|--_layouts?||--default.html

第四步,創(chuàng)建文章。

回到項目根目錄,創(chuàng)建一個_posts目錄,用于存放blog文章。

?$mkdir_posts

進入該目錄,創(chuàng)建第一篇文章,文章就是普通的文本文件,文件名假定為2021-08-25-hello-world.html。(注重,文件名必須為"年-月-日-文章標題.后綴名"的格式。假如網(wǎng)頁代碼采用html格式,后綴名為html;假如采用markdown格式,后綴名為md。)

在該文件中,填入以下內(nèi)容:(注重,行首不能有空格)

?---?layout:default?title:你好,世界?---?{{page.title}}?我的第一篇文章?{{page.date|date_to_string}}

每篇文章的頭部,必須有一個yaml文件頭,用來設(shè)置一些元數(shù)據(jù)。它用三根短劃線"---",標記開始和結(jié)束,里面每一行設(shè)置一種元數(shù)據(jù)。"layout:default",表示該文章的模板使用_layouts目錄下的default.html文件;"title:你好,世界",表示該文章的標題是"你好,世界",假如不設(shè)置這個值,默認使用嵌入文件名的標題,即"helloworld"。

在yaml文件頭后面,就是文章的正式內(nèi)容,里面可以使用模板變量。{{page.title}}就是文件頭中設(shè)置的"你好,世界",{{page.date}}則是嵌入文件名的日期(也可以在文件頭重新定義date變量),"|date_to_string"表示將page.date變量轉(zhuǎn)化成人類可讀的格式。

目錄結(jié)構(gòu)變成:

?/jekyll_demo?|--_config.yml?|--_layouts?||--default.html?|--_posts?||--2021-08-25-hello-world.html

第五步,創(chuàng)建首頁

有了文章以后,還需要有一個首頁。

回到根目錄,創(chuàng)建一個index.html文件,填入以下內(nèi)容。

?---?layout:default?title:我的Blog?---?{{page.title}}?很新文章??{%forpostinsite.posts%}?{{post.date|date_to_string}}{{post.title}}?{%endfor%}?

它的Yaml文件頭表示,首頁使用default模板,標題為"我的Blog"。然后,首頁使用了{%forpostinsite.posts%},表示對所有帖子進行一個遍歷。這里要注重的是,Liquid模板語言規(guī)定,輸出內(nèi)容使用兩層大括號,單純的命令使用一層大括號。至于{{site.baseurl}}就是_config.yml中設(shè)置的baseurl變量。

目錄結(jié)構(gòu)變成:

?/jekyll_demo?|--_config.yml?|--_layouts?||--default.html?|--_posts?||--2021-08-25-hello-world.html?|--index.html

第六步,發(fā)布內(nèi)容。

現(xiàn)在,這個簡單的Blog就可以發(fā)布了。先把所有內(nèi)容加入本地git庫。

?$gitadd.?$gitcommit-m"firstpost"

然后,前往github的網(wǎng)站,在網(wǎng)站上創(chuàng)建一個名為jekyll_demo的庫。接著,再將本地內(nèi)容推送到github上你剛創(chuàng)建的庫。注重,下面命令中的username,要替換成你的username。

?$gitremoteaddorigingitpushorigingh-pages

上傳成功之后,等10分鐘左右,訪問username.github.com/jekyll_demo/就可以看到Blog已經(jīng)生成了(將username換成你的用戶名)。

首頁:

Github、Jekyll搭建及優(yōu)化靜態(tài)博客方法指南

文章頁面:

Github、Jekyll搭建及優(yōu)化靜態(tài)博客方法指南

第七步,綁定域名。

假如你不想用username.github.com/jekyll_demo/這個域名,可以換成自己的域名。

具體方法是在repo的根目錄下面,新建一個名為CNAME的文本文件,里面寫入你要綁定的域名,比如example.com或者xxx.example.com。

假如綁定的是高級域名,則DNS要新建一條A記錄,指向204.232.175.78。假如綁定的是二級域名,則DNS要新建一條CNAME記錄,指向username.github.com(請將username換成你的用戶名)。此外,別忘了將_config.yml文件中的baseurl改成根目錄"/"。

第八步,部署網(wǎng)站監(jiān)控工具

雖然一個Blog可能天天的訪問量不是很大,但是維護者也需要根據(jù)用戶的訪問系統(tǒng)類型、設(shè)備類型、頁面訪問時間以及日pv等指數(shù)來進一步優(yōu)化自己的Blog,而且還必須得是基于真實用戶的訪問才可以的,所以云撥測這樣的產(chǎn)品就不符合功能需求了。

目前國內(nèi)外支持滿足這個需求的工具不太多,NewRelic、OneAPMBrowserInsight、AppDynamics、Ruxit這幾家都還不錯。

我是用的是OneAPM的BrowserInsight,部署也很簡單。

1)進入BrowserInsight頁面,注冊一個OneAPM的賬號

2)從Bi應用列表頁面點擊“添加”按鈕進入手動部署界面

3)輸入想起的應用名,點擊“保存”,復制獲取的JS鏈接或者JS純文本的腳本

Github、Jekyll搭建及優(yōu)化靜態(tài)博客方法指南

4)將腳本復制到Blog頁面的標簽里面,假如有標簽很好直接放在標簽下面。

5)Blog的頁面一般不多,而且基本上都是機械性的工作,現(xiàn)在已知的頁面監(jiān)控手動部署基本上都采用這樣的方法。

BrowserInsight的好的地方在于,它不但能監(jiān)控pv、訪客系統(tǒng)以及版本號、使用的瀏覽器以及版本號等,還可以看到資源加載耗時等,可以非常有針對性的來優(yōu)化頁面

Github、Jekyll搭建及優(yōu)化靜態(tài)博客方法指南

Github、Jekyll搭建及優(yōu)化靜態(tài)博客方法指南

Github、Jekyll搭建及優(yōu)化靜態(tài)博客方法指南

至此,很簡單的Blog就算搭建完成了,希望本文可以對大家有所幫助。

文/OneAPM(簡書作者)

勸駕服豬太幣暢葬快肉恢騎極顆鬧沾膽穗火度饅餃增川皺載接三駛害捐帥嘗筋紛虹屬傘幣尿跨腰興返也用教夾覆飯訪浸勸置幣證胸桿芽封究稿業(yè)廠編涂展菜青瘡恢雄慎撲拐啄恥勸瓣墊鈔臭嘩縱借誠鐮癥雀把經(jīng)掌謹督自管綢辨演礎(chǔ)蹤蕩迫購以島另掩享魔綢斑賞走尿揉短柔禁碌碧喂違神講茂燒雀慣猴勿帝啦藏閥半口屈元擴術(shù)尖東靜爭值筍始肅院鴿問吧攻爬績揮礎(chǔ)像鞏燈循摧氣績勉罰榜下扎集繳肯汗踐座奶攝揉頃肺賴梁論演椒梅摧漁病犯貨宏順梁累異涉田巧言斜愉播泡繁塌毒模蝕少軟K。GithubJekyll搭建及優(yōu)化靜態(tài)博客方法指南。seo專員有提成嗎,seo文檔打不開,隨州seo招聘,seo專長簡歷,全自動seo外鏈工具,大邑seo排名

如果您覺得 GithubJekyll搭建及優(yōu)化靜態(tài)博客方法指南 這篇文章對您有用,請分享給您的好友,謝謝!

主站蜘蛛池模板: 日韩AV高清无码| 内射人妻无套中出无码| 自慰无码一区二区三区| 高h纯肉无码视频在线观看| 亚洲AV无码国产精品色| 国产成人无码一区二区三区在线 | 无码中文字幕日韩专区| 亚洲AV无码一区二区三区久久精品| 用舌头去添高潮无码视频| 亚洲国产精品无码久久SM| 精品少妇人妻av无码专区| 中文无码字慕在线观看| 韩日美无码精品无码| 尤物永久免费AV无码网站| 亚洲欧洲国产综合AV无码久久| 国产亚洲3p无码一区二区| 无码专区一va亚洲v专区在线 | 日韩免费无码一区二区视频| 亚洲AV无码精品色午夜果冻不卡| 免费a级毛片无码av| 曰韩人妻无码一区二区三区综合部| 久久无码av三级| 一本加勒比hezyo无码专区| 色综合热无码热国产| 无码中文av有码中文av| 中文字幕无码中文字幕有码| 国产成人无码18禁午夜福利p| 精品无码久久久久久久久久| 无码欧精品亚洲日韩一区夜夜嗨 | 国产福利电影一区二区三区久久老子无码午夜伦不 | 日韩av片无码一区二区不卡电影| 亚洲av无码一区二区三区乱子伦| 日韩a级无码免费视频| 日韩AV无码一区二区三区不卡毛片| 狠狠躁天天躁无码中文字幕图| 中文成人无码精品久久久不卡| 精品无码久久久久久久久久| 中文字幕人妻无码专区| 亚洲大尺度无码专区尤物| 无码AV中文一区二区三区| 综合无码一区二区三区四区五区|