對於經常寫博客的人,都很想擁有一個屬於自己的獨立博客,但一個獨立的博客可能需要以下幾個東西:
1. 域名
2. 一個前端的模板
3. 一個後臺的管理
4. 一個數據庫
5. 部分的統計和其它模塊
這樣的話,我們的精力可能都了要放到博客的管理上面,而不是博客的內容。 隨着github的出現,這樣問題出現了改觀,使用gitbub提供的github pages功能可以提供一個獨立的站點供我們使用。結合相關的域名配置,我們就可以很方便的搭建屬於自己的博客平臺。
github Pages的使用
概述
對於開發者來說github是很熟悉的,是一個託管代碼和開源的網站.如果你想找一個開源的項目,首先看到的可能是一個源碼的列表,這樣對於項目的展示不夠直觀,github pages就是爲也解決這個問題而出現,允許開發者自定義一個展示頁面,來替代原有的代碼列表。
具體的規則
在github的項目中,創建一個gh-pages的分支,分支創建完成後就可以使用http://{userName}.github.io/{projectName}來進行訪問。更詳細參見:github Pages
一個實例
1. 創建一個項目,並對項目進行初始化,運行以下命令
mkdir gitDemo #創建一個目錄 cd gitDemo git init #git 初始化 git checkout --orphan gh-pages # 創建gh-pages分支。
2. 進行gitDemo文件夾,添加一個html文件,index.html,添加如下內容:
<h1>Hello github Pages!!</h1>
3. 在github上面添加一個Repositories,名爲blogTest
4. 把項目推送到分支,執行以下命令:
git add . git commit -m 'first' git remote add origin https://github.com/{userName}/blogTest git push origin gh-pages
大約等待2min後,訪問https://{userName}.github.io/blogTest/index.html,看到如下效果:
總結一下
對於上面所述的github Pages(以下稱gh-Pages)是github給用戶提供一個“靜態頁面的web服務器”,我們可以根據需要把頁面上傳到指定的倉庫中,可以通過github的規則來完成訪問。到這裏,不禁有一個疑問,gh-Pages雖然給了一個可以展示html平臺,寫博客如果全部都寫html,那我們還要精力去調整樣式和佈局的問題.再者博客也要有評論功能,這兩個問題如何解決?
jekyll 模板
jekyll 是基於ruby來編寫的一個博客模板生成工具,也就是說我們可以根據相關的規則來生成對應的html文件,當然這份工作github也能幫你去做。詳細介紹參見jekyll官方文檔。
jekyll安裝
jekyll的安裝可以參見
windows安裝Jekyll | linux和MacOS安裝Jekyll |
---|
jekyll使用
1. jekyll 安裝是否成功,首先看下jekyll的版本,執行:
jekyll --version
2. 創建jekyll的指定目錄
mkdir _posts mkdir _layout echo >>_config.yml
3. 在_layout下創建一個default.html,作爲一個網站的模板,添加如下內容(此處代碼中的所有的{ {中間都有一個空格,爲了不讓jekyll去解析,拷貝的時候請注意):
<!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title>{ { page.title} }</title> </head> <body> { { content } } </body> </html>
jekyll的支持Liquid 語法,詳細參見:Liquid for Designers
4. 進入_posts創建一個markdown文件或者是html文件,文件名格式必須是:年-月-日-xxxx.md
--- layout: default title: Hello Jekyll --- <h2>{ { page.title } }</h2> <h3> Hello jekyll </h3>
5. 創建首頁,首頁是爲了顯示文章列表的網頁,我們需要做的是遍歷_post文件夾中的所有文章,然後展現出來,添加簡單的代碼如下:
--- layout: default title: My Blog --- <h2>{ { page.title } }</h2> <p>最新文章</p> <ul> { % for post in site.posts % } <li>{ { post.date | date_to_string } } <a href="{ { site.baseurl } }{ { post.url } }">{ { post.title } }</a></li> { % endfor % } </ul>
6. 編譯和運行,一切都準備好後,開始編譯和生成我們的網站:
jekyll build # 生成_site目錄 jekyll server # 生成並啓動一個server,127.0.0.1:4000可以訪問本地的目錄。
在瀏覽器中打開127.0.0.1:4000可以看到剛剛生成的網站:
到這裏,我們使用jekyll根據我們寫的模板生成了對應的靜態頁面,下面我們把數據傳入到github的gh-pages下面。
git add . git commit -m 'myblog' git push origin gh-pages
等待2min後,github 會根據我們上傳的模板把數據生成到對應的分支上面. 開始你的博客之旅!
(本文完)
作者:老付 如果覺得對您有幫助,可以下方的訂閱,或者選擇右側捐贈作者,如果有問題,請在捐贈後諮詢,謝謝合作 如有任何知識產權、版權問題或理論錯誤,還請指正。 自由轉載-非商用-非衍生-保持署名,請遵循:創意共享3.0許可證 交流請加羣113249828: 點擊加羣 或發我郵件 [email protected]