在github上寫博客

本文部分內(nèi)容參考github使用幫助

接觸博客是在06年5月份光绕,當時在CSDN上寫博客,隨著技術(shù)的發(fā)展,我的博客也經(jīng)歷了幾個時代骤宣,除了CSDN這樣的網(wǎng)站托管方式外,我還經(jīng)歷了租主機空間的時代序愚,VPS主機(云主機)時代憔披,SaaS平臺托管時代,github時代爸吮。

主機空間時代就是運營商給你一個空間芬膝,把你的程序上傳到空間,然后給個地址就能跑起來形娇。

VPS(云)主機時代锰霜,相當于給你一個操作系統(tǒng),需要自己安裝php運行環(huán)境桐早、wordpress程序癣缅,有獨立的IP地址厨剪,需要使用域名解析……

SaaS平臺托管時代,就是像新浪SEA友存,可以在應(yīng)用商店里選擇wordpress程序祷膳,輕松點幾步就搭建好了博客系統(tǒng)。

當前爬立,對于程序員來說钾唬,如果要顯得你很專業(yè),很潮的話侠驯,當然是直接等托管到github了抡秆,所有資源都是免費的,也可以綁定自己的域名吟策。

本節(jié)就將介紹"github pages"的功能儒士,最終的目的就是在github上寫博客(當然除了博客之外,所有靜態(tài)站點都能托管到github)檩坚。

github pages包括兩種類型的靜態(tài)站點(pages)着撩。

  • 項目類型的pages,對于每一個項目匾委,你可能都要建立一個網(wǎng)站來介紹和宣傳你的項目拖叙,在github上,你只需要把你的靜態(tài)內(nèi)容push到這個項目的gh-pages分支赂乐,然后通過http(s)://username(orgname).github.io/projectname就可以直接訪問薯鳍。

  • 用戶、組織類型的pages挨措,只需在用戶或組織名下挖滤,創(chuàng)建一人名為"username(orgname).github.io"的repository后,將靜態(tài)站點push到master分支浅役,就可以通過域名username(orgname).github.io訪問斩松。

使用Automatic page generator功能創(chuàng)建pages

我們將繼續(xù)用上一節(jié)的項目https://github.com/ChangjunZhao/coderbook為例,講解如何使用Automatic page generator功能創(chuàng)建一個項目的pages(靜態(tài)站點)觉既。

對于用戶惧盹、組織類型的pages,需要先創(chuàng)建一個"username(orgname).github.io"的repository瞪讼。

首先進入項目首頁https://github.com/ChangjunZhao/coderbook岭参,如下圖所示

repos_setting.png

點擊“Settings”按鈕,進入repository設(shè)置頁面尝艘,你將看到關(guān)于pages的設(shè)置項如下圖所示:

githubpages.png

這里是關(guān)于github pages的簡單說明演侯,點擊“Automatic page generator”按鈕,即進入生成項目靜態(tài)站點向?qū)А?/p>

githubpages_autocreatepages_step1.png

在此頁背亥,你可以更改項目名稱秒际,Tagline相關(guān)于首頁的一個副標題悬赏,body部分為首頁內(nèi)容,這里使用markdown語法娄徊∶銎模“Google Analytics Tracking ID”是google網(wǎng)頁分析的跟蹤ID,建議不填寄锐,因為國內(nèi)用戶目前無法使用兵多。

填寫完成后點擊“continue to layouts”,為你的靜態(tài)站點選擇一個模板橄仆。如下圖所示:

publish_github_pages.png

選擇好你理想的站點模板后剩膘,點擊上圖中綠色的√,您的項目靜態(tài)站點就生成了盆顾。

此時系統(tǒng)自動給您創(chuàng)建了一個gh-pages的分支怠褐,保存剛才系統(tǒng)自動生成的靜態(tài)站點。

github_newbranch_ghpages.png

通過http://Changjunzhao.github.io/coderbook就可以直接訪問網(wǎng)站您宪。

如果是用戶奈懒、組織類型的pages,使用username(orgname).github.io即可訪問。

gihub_pages_coderbook.png

OK宪巨,剩下的工作就是把gh-pages分支clone到本地來磷杏,發(fā)揮你的才能做你的網(wǎng)站,搞完之后再push到github的gh-pages分支捏卓,更改會立即生效(國內(nèi)會有短時延遲)极祸。

手工創(chuàng)建pages

通過前面的學(xué)習,你應(yīng)該自己能想到如何通過手工創(chuàng)建pages天吓,其實很簡單贿肩,只需要手工創(chuàng)建一個gh-pages分支峦椰,在這個分支里開發(fā)你的靜態(tài)站點龄寞,然后push到github就可以了。

整個過程的命令如下(沒有驗證過汤功,遇到問題學(xué)會自己想辦法解決吧):

git checkout --orphan gh-pages #這里--orphan指獨立分支物邑,不會把當前分支內(nèi)容添加到新的分支
git rm -rf .
echo "My GitHub Page" > index.html
git add index.html
git commit -a -m "First pages commit"
git push origin gh-pages

使用Jekyll搭建博客系統(tǒng)

Transform your plain text into static websites and blogs.

Jekyll是一個將純文本轉(zhuǎn)換成靜態(tài)站點或blog的工具。

github pages對Jekyll提供原生支持滔金,可以免費將你的blog托管到github pages色解。

廢話不說,如果想詳細了解Jekyll餐茵,請到官網(wǎng):http://jekyllrb.com/

下面我們就開始建我們的blog吧科阎。

安裝Jekyll

這里以ubuntu為例,其它操作系統(tǒng)舉一反三忿族。

Jekyll是用ruby開發(fā)的锣笨,所有安裝Jekyll之前需要執(zhí)行下面的命令安裝一些依賴蝌矛。

sudo apt-get install ruby ruby1.9.1-dev nodejs

安裝Jekyll:

sudo gem install jekyll

Jekyll基礎(chǔ)

我們將為ChangjunZhao創(chuàng)建一個blog,并托管到github错英。

在命令行執(zhí)行如下命令生成Jekyll基本目錄結(jié)構(gòu):

jekyll new ChangjunZhaoBlog

cd ChangjunZhaoBlog

執(zhí)行tree命令入撒,可看到完整的Jekyll目錄如下圖所示:

jekyll_tree.png
文件/目錄 說明
_config.yml Jekyll配置文件
_drafts 草稿目錄
_includes 頁頭、頁腳之類的放于這個目錄椭岩,可以使用{% include header.html %}這樣的標簽在別的地方引用
_layouts 這里是存放頁面模板的地方茅逮,可以在模板中使用{{ content }} 來引用頁面內(nèi)容
_posts 這里就是存放動態(tài)的博客內(nèi)容,標題必須為YEAR-MONTH-DAY-title.MARKUP格式
_data 存放yaml格式的數(shù)據(jù)文件判哥,比如存了一個members.yml的文件献雅,那么在別的地方可以使用site.data.members引用相關(guān)數(shù)據(jù)
_site 使用Jekyll編譯后的靜態(tài)站點將存放于這個目錄下,這個目錄不需要push到github姨伟,所以要在.gitignore文件中加入這個目錄
index.html and other HTML, Markdown, Textile files 首頁內(nèi)容
Other Files/Folders 其它文件和目錄會當做靜態(tài)內(nèi)容處理

好了惩琉,先來看看效果,再簡單介紹幾個關(guān)鍵的要點吧夺荒。

在命令行執(zhí)行:jekyll server 啟動jekyll站點瞒渠。用瀏覽器打開http://localhost:4000,如下圖所示:

jekyllblog_home.png

我們在_posts目錄下技扼,新建文件2014-07-24-changjunzhao-first-blog.md伍玖,內(nèi)容如下:

---
layout: post
title:  "趙昌峻的第一篇blog!"
date:   2014-07-24 10:47:13
categories: other
---
大家好,歡迎來到我的博客剿吻,本篇博客將向大家介紹如何在Jekyll中實現(xiàn)代碼高亮顯示窍箍。

假設(shè)我們的代碼是java的,看看下面的效果還可以吧丽旅?

{% highlight java %}
class test{
   public static void main(String[] args){
     System.out.println("hello, world");
   }
}
{% endhighlight %}

當然所有markdown的語法Jekyll都支持哦椰棘。

這里layout: post的意思是使用_layouts下的post模板來顯示這個blog。

title會作為blog的標題榄笙。
date為發(fā)表時間邪狞。
categories為分類,我們可以使用site.posts.categories這樣的標簽來引用指定分類的博客茅撞。

其它即為使用markdown寫的博客內(nèi)容帆卓。

好了,執(zhí)行jekyll server再看看效果如下:

jekyll_first_blog_index.png

點擊“趙昌峻的第一篇blog!”米丘,如下圖所示:

jekyll_firstblog.png

好了剑令,關(guān)于Jekyll的內(nèi)容,我不想再寫了拄查,再寫就成一本介紹Jekyll的書了吁津,還是希望大家到官網(wǎng)http://jekyllrb.com/去看相關(guān)的文檔,因為Jekyll其實也是一個很高深的東西堕扶,能做出很漂亮的網(wǎng)站碍脏。比如github官方培訓(xùn)站點:https://training.github.com/癣疟,代碼在:https://github.com/github/training.github.com/tree/7049d7532a6856411e34046aedfce43a4afaf424

發(fā)布到github pages

結(jié)合前面講的github pages你應(yīng)該已經(jīng)知道如何發(fā)布到github pages了。

只需要把ChangjunZhaoBlog目錄下的東西push到gh-pages分支即可潮酒,如果是用戶睛挚、組織類型的,push到master分支急黎。

假設(shè)我們把ChangjunZhaoBlog發(fā)布到ChangjunZhao.github.io的站點扎狱,那么需要進行如下操作。

  1. 創(chuàng)建ChangjunZhao.github.io的repository勃教。

  2. 在ChangjunZhaoBlog目錄執(zhí)行如下命令:

git init
git add .
git commit -m "first blog commit"
git remote add origin git@github.com:ChangjunZhao/ChangjunZhao.github.io.git
git push -u origin master

瀏覽器打開changjunzhao.github.io就能看到博客內(nèi)容了近刘。

最后想補充一點: 在“簡書”上寫寫文章也不錯哦武鲁。


國際范程序必讀:
程序員的編輯器-VIM(愛就是愛)
向開源社區(qū)貢獻您的代碼
企業(yè)級應(yīng)用開發(fā)和Maven之間的那些事
DevOps是什么東東表牢?
js依賴管理工具bower
JS模塊化編程-requirejs

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末账千,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子绳军,更是在濱河造成了極大的恐慌印机,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,013評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件门驾,死亡現(xiàn)場離奇詭異射赛,居然都是意外死亡,警方通過查閱死者的電腦和手機奶是,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,205評論 2 382
  • 文/潘曉璐 我一進店門楣责,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人聂沙,你說我怎么就攤上這事秆麸。” “怎么了及汉?”我有些...
    開封第一講書人閱讀 152,370評論 0 342
  • 文/不壞的土叔 我叫張陵沮趣,是天一觀的道長。 經(jīng)常有香客問我豁生,道長兔毒,這世上最難降的妖魔是什么漫贞? 我笑而不...
    開封第一講書人閱讀 55,168評論 1 278
  • 正文 為了忘掉前任甸箱,我火速辦了婚禮,結(jié)果婚禮上迅脐,老公的妹妹穿的比我還像新娘芍殖。我一直安慰自己,他們只是感情好谴蔑,可當我...
    茶點故事閱讀 64,153評論 5 371
  • 文/花漫 我一把揭開白布豌骏。 她就那樣靜靜地躺著龟梦,像睡著了一般。 火紅的嫁衣襯著肌膚如雪窃躲。 梳的紋絲不亂的頭發(fā)上计贰,一...
    開封第一講書人閱讀 48,954評論 1 283
  • 那天,我揣著相機與錄音蒂窒,去河邊找鬼躁倒。 笑死,一個胖子當著我的面吹牛洒琢,可吹牛的內(nèi)容都是我干的秧秉。 我是一名探鬼主播,決...
    沈念sama閱讀 38,271評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼衰抑,長吁一口氣:“原來是場噩夢啊……” “哼象迎!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起呛踊,我...
    開封第一講書人閱讀 36,916評論 0 259
  • 序言:老撾萬榮一對情侶失蹤砾淌,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后谭网,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體拇舀,經(jīng)...
    沈念sama閱讀 43,382評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,877評論 2 323
  • 正文 我和宋清朗相戀三年蜻底,在試婚紗的時候發(fā)現(xiàn)自己被綠了骄崩。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 37,989評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡薄辅,死狀恐怖要拂,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情站楚,我是刑警寧澤脱惰,帶...
    沈念sama閱讀 33,624評論 4 322
  • 正文 年R本政府宣布,位于F島的核電站窿春,受9級特大地震影響拉一,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜旧乞,卻給世界環(huán)境...
    茶點故事閱讀 39,209評論 3 307
  • 文/蒙蒙 一蔚润、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧尺栖,春花似錦嫡纠、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,199評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽叉橱。三九已至,卻和暖如春者蠕,著一層夾襖步出監(jiān)牢的瞬間窃祝,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,418評論 1 260
  • 我被黑心中介騙來泰國打工踱侣, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留锌杀,地道東北人。 一個月前我還...
    沈念sama閱讀 45,401評論 2 352
  • 正文 我出身青樓泻仙,卻偏偏與公主長得像糕再,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子玉转,可洞房花燭夜當晚...
    茶點故事閱讀 42,700評論 2 345

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