在GitHub下新建個人博客網(wǎng)站

寫在前面

此篇博文為翻譯之作简烘,原文鏈接為Creating and Hosting a Personal Site on GitHub.

正文

需要用到的知識

  1. 版本控制
  2. Git
  3. GitHub
  4. HTML
  5. CSS
  6. Markdown

當(dāng)然物喷,并不需要對這些很熟練黍判。一種很好的學(xué)習(xí)方法是“做中學(xué)”(learn by doing)

此篇博文著重介紹如何用github.com的網(wǎng)頁界面去建個人網(wǎng)站

什么是Git,GitHub和GitHub Pages

簡單來說,Git是完成事情的工作流挪鹏,而GitHub和GitHub Pages 是存儲你完成東西的地方袁辈。使用Git的項目公開地保存在GitHub 和GitHub Pages 上汗洒,于是廣義上說,Git 是你可以在你個人PC上做的事情崩溪,GitHub是存儲你做出東西的公開服務(wù)器浅役。

Git

Git 是一個版本控制系統(tǒng),跟蹤項目中文件的修改情況伶唯。記錄文件的修改——添加了什么觉既?刪了什么?誰做的這些修改乳幸?什么時間修改的瞪讼?尤其在軟件合作開發(fā)時適用。這種合作的特性引起了人們把他當(dāng)做一項幫助自己編輯工作流的工具粹断。

Git 可以高效管理多個版本文件并且回到不同版本的文件而不需要被保存在不同地方的不同版本的文件名所迷惑尝艘。從這個意義上來說,Git 和版本控制就像神奇的取消按鈕姿染。

在下面的示意圖中背亥,每個文檔表示一個保存過程。沒有Git, 你不能回到最初的文檔和最終文檔間的任意一個文檔狀態(tài)悬赏。如果你想修改最終的文檔狡汉,要刪掉一些不能復(fù)原的東西,這時你會選擇另存為闽颇,然后在進行刪除操作盾戴。

有了Git之后,這個流程有了更多的方向兵多。每一個修改都會被標(biāo)記尖啡。如果你想回到早期的版本,剩膘,你就可以可以在不損失數(shù)據(jù)的情況下回到早期文檔衅斩。
詳細了解Git

git-basics.png

GitHub Pages

GitHub Pages 是通過GitHub免費的公開網(wǎng)頁。GitGub用戶可以創(chuàng)建并且擁有自己的網(wǎng)站怠褐,以及連接自己在GitHub上項目的網(wǎng)站畏梆。

新建個人網(wǎng)頁

step 1

創(chuàng)建項目存儲倉庫

01-create-repo.png

step 2

將自己的倉庫命名為username.github.io ,username是你的GitHub用戶名。

02-name-repo.png

step 3

創(chuàng)建index.html

03-01-create-index-page.png
03-02-create-index-page.png
<!DOCTYPE html>
<html>
    <head>
        <title>Hank Quinlan, Horrible Cop</title>
    </head>
    <body>
        <nav>
            <ul>
                <li><a href="/">Home</a></li>
                <li><a href="/about">About</a></li>
                <li><a href="/cv">CV</a></li>
                <li><a href="/blog">Blog</a></li>
            </ul>
        </nav>
        <div class="container">
            <div class="blurb">
                <h1>Hi there, I'm Hank Quinlan!</h1>
                <p>I'm best known as the horrible cop from <em>A Touch of Evil</em> Don't trust me. <a href="/about">Read more about my life...</a></p>
            </div><!-- /.blurb -->
        </div><!-- /.container -->
        <footer>
            <ul>
                <li><a href="mailto:hankquinlanhub@gmail.com">email</a></li>
                <li><a >github.com/hankquinlan</a></li>
            </ul>
        </footer>
    </body>
</html>

step 4

提交index.html
提交后你就有了一個自己的網(wǎng)站
http://username.github.io

step 5

創(chuàng)建樣式

05-01-create-css-file.png

添加鏈接至main.css (粗體)

<!DOCTYPE html>
<html>
    <head>
        <title>Hank Quinlan, Horrible Cop</title>
        <!-- link to main stylesheet -->
        <link rel="stylesheet" type="text/css" href="/css/main.css">
    </head>
    <body>
        <nav>
            <ul>
                <li><a href="/">Home</a></li>
                <li><a href="/about">About</a></li>
                <li><a href="/cv">CV</a></li>
                <li><a href="/blog">Blog</a></li>
            </ul>
        </nav>
        <div class="container">
            <div class="blurb">
                <h1>Hi there, I'm Hank Quinlan!</h1>
                <p>I'm best known as the horrible cop from <em>A Touch of Evil</em> Don't trust me. <a href="/about">Read more about my life...</a></p>
            </div><!-- /.blurb -->
        </div><!-- /.container -->
        <footer>
            <ul>
                <li><a href="mailto:hankquinlanhub@gmail.com">email</a></li>
                <li><a >github.com/hankquinlan</a></li>
            </ul>
        </footer>
    </body>
</html>

使用Jekyll

Jekyll 是一個很輕大的靜態(tài)網(wǎng)頁產(chǎn)生器。跟GitHub一起使用奠涌,Jekyll會自動重新生成所有的改動過文件的HTML頁面宪巨。Jekyll之所以這么好用是因為它依賴模板。當(dāng)你使用靜態(tài)網(wǎng)頁生成器時溜畅,模板是你的好朋友捏卓。

在github.com上使用Jekyll

step 1

新建 .gitignore 文件。這個文件告訴Git忽略_site目錄慈格,每次你提交文件時天吓,Jekyll會自動產(chǎn)生網(wǎng)頁。因為這個目錄下的文件是在你每次提交時寫入峦椰,所以不希望受版本控制的影響龄寞。

step 2

新建 _config.yml文件,這個文件告訴Jekyll關(guān)于你項目的基本信息汤功。舉個例子物邑,我們告訴Jekyll我們網(wǎng)站的名字以及我們所使用的markdown的版本

name: Hank Quinlan, Horrible Cop
markdown: kramdown

新建_layouts目錄,在里面新建文件default.html
這時我們主要的模板滔金,它會應(yīng)用到所有<head>和<footer>元素上面去色解。于是我們不需要在每個頁面的源碼上重復(fù)勞動。

step 3

更新index.html

---
layout: default
title: Hank Quinlan, Horrible Cop
---
<div class="blurb">
    <h1>Hi there, I'm Hank Quinlan!</h1>
    <p>I'm best known as the horrible cop from <em>A Touch of Evil</em> Don't trust me. <a href="/about">Read more about my life...</a></p>
</div><!-- /.blurb -->

---之間的文字Jekyll稱之為Front-matter.現(xiàn)在當(dāng)你每次提交一個文件當(dāng)文件頭明確指出layout:default時餐茵,Jekyll會神奇地生成整個HTML把_layouts/default.html中的{{content}}替換為該文件科阎。

開始寫博客咯

基于Jekyll的博客就是充分利用了上述說的那些便利。

step 1

_layouts 中新建post.html文件忿族。

---
layout: default
---
<h1>{{ page.title }}</h1>
<p class="meta">{{ page.date | date_to_string }}</p>

<div class="post">
  {{ content }}
</div>

step 2

新建_posts/目錄保存我們的博客post锣笨。Jekyll嚴(yán)格要求命名,YYYY-MM-DD-title-of-my-post.md那么例子應(yīng)當(dāng)命名為2014-04-30-hank-quinlan-site-launched.md

---
layout: post
title: "Hank Quinlan, Horrible Cop, Launches Site"
date: 2014-04-30
---

Well. Finally got around to putting this old website together. Neat thing about it - powered by [Jekyll](http://jekyllrb.com) and I can use Markdown to author my posts. It actually is a lot easier than I thought it was going to be.

.md是markdown文件的擴展名道批,Jekyll會將其轉(zhuǎn)換為HTML错英。提交這個post之后,你就便可以在http://username.github.io/YYYY/MM/DD/name-of-your-post中看到post了隆豹。
但是你的讀者并不知道你的post的正確URL椭岩。所以下面我們需要新建一個頁面,在上面羅列出我們博客的標(biāo)題及超鏈接璃赡。

step 3

新建一個blog目錄判哥,并且新建一個文件index.html。為了列出我們的post,我們需要用一個foreach循環(huán)去新建一個我們博客的無序列表碉考。

---
layout: default
title: Hank Quinlan's Blog
---
    <h1>{{ page.title }}</h1>
    <ul class="posts">

      {% for post in site.posts %}
        <li><span>{{ post.date | date_to_string }}</span> ? <a href="{{ post.url }}" title="{{ post.title }}">{{ post.title }}</a></li>
      {% endfor %}
    </ul>

個性化你的博客

step 1

編輯_config.yml塌计,添加

permalink: /blog/:year/:month/:day/:title

可以很簡單地配置你博客的RSS feed.每次你發(fā)布一篇post,它會自動添加進RSS file.

step 2

---
layout: feed
---
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">

    <title>Hank Quinlan's Blog</title>
    <link  rel="self"/>
    <link />
    <updated>{{ site.time | date_to_xmlschema }}</updated>
    <id>http://hankquinlan.github.io/blog</id>
    <author>
        <name>Hank Quinlan</name>
        <email>hankquinlanhub@gmail.com</email>
    </author>

    {% for post in site.posts %}
        <entry>
            <title>{{ post.title }}</title>
            <link href="http://hankquinlan.github.io{{ post.url }}"/>
            <updated>{{ post.date | date_to_xmlschema }}</updated>
            <id>http://hankquinlan.github.io/{{ post.id }}</id>
            <content type="html">{{ post.content | xml_escape }}</content>
        </entry>
    {% endfor %}

</feed>

這樣就可以方便讀者訂閱你的RSS了。

大功告成

新建其他頁面并提交

下一步

資源

Git, GitHub, and GitHub Pages

Git Documentation
Learn Git and GitHub in 15 minutes
GitHub Pages Help
GitHub Help
GitHub Cheat Sheet
GitHub Glossary
GitHub For Academics

Jekyll

Sites Using Jekyll
Blog Migrations to Jekyll

Markdown

Official Markdown Spec
Printable Markdown Cheatsheet
Markdown Cheatsheet
GitHub Flavored Markdown

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末夺荒,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子良蒸,更是在濱河造成了極大的恐慌技扼,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,755評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件嫩痰,死亡現(xiàn)場離奇詭異剿吻,居然都是意外死亡,警方通過查閱死者的電腦和手機串纺,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評論 3 395
  • 文/潘曉璐 我一進店門丽旅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人纺棺,你說我怎么就攤上這事榄笙。” “怎么了祷蝌?”我有些...
    開封第一講書人閱讀 165,138評論 0 355
  • 文/不壞的土叔 我叫張陵茅撞,是天一觀的道長。 經(jīng)常有香客問我巨朦,道長米丘,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,791評論 1 295
  • 正文 為了忘掉前任糊啡,我火速辦了婚禮拄查,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘棚蓄。我一直安慰自己堕扶,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,794評論 6 392
  • 文/花漫 我一把揭開白布梭依。 她就那樣靜靜地躺著挣柬,像睡著了一般。 火紅的嫁衣襯著肌膚如雪睛挚。 梳的紋絲不亂的頭發(fā)上邪蛔,一...
    開封第一講書人閱讀 51,631評論 1 305
  • 那天,我揣著相機與錄音扎狱,去河邊找鬼侧到。 笑死,一個胖子當(dāng)著我的面吹牛淤击,可吹牛的內(nèi)容都是我干的匠抗。 我是一名探鬼主播,決...
    沈念sama閱讀 40,362評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼污抬,長吁一口氣:“原來是場噩夢啊……” “哼汞贸!你這毒婦竟也來了绳军?” 一聲冷哼從身側(cè)響起晌坤,我...
    開封第一講書人閱讀 39,264評論 0 276
  • 序言:老撾萬榮一對情侶失蹤坑鱼,失蹤者是張志新(化名)和其女友劉穎衬吆,沒想到半個月后怔接,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體鲜戒,經(jīng)...
    沈念sama閱讀 45,724評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡骏融,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年基矮,在試婚紗的時候發(fā)現(xiàn)自己被綠了聚磺。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片竣灌。...
    茶點故事閱讀 40,040評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡聂沙,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出初嘹,到底是詐尸還是另有隱情及汉,我是刑警寧澤,帶...
    沈念sama閱讀 35,742評論 5 346
  • 正文 年R本政府宣布屯烦,位于F島的核電站豁生,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏漫贞。R本人自食惡果不足惜甸箱,卻給世界環(huán)境...
    茶點故事閱讀 41,364評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望迅脐。 院中可真熱鬧芍殖,春花似錦、人聲如沸谴蔑。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽隐锭。三九已至窃躲,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間钦睡,已是汗流浹背蒂窒。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留荞怒,地道東北人洒琢。 一個月前我還...
    沈念sama閱讀 48,247評論 3 371
  • 正文 我出身青樓,卻偏偏與公主長得像褐桌,于是被迫代替她去往敵國和親衰抑。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,979評論 2 355

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