日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

如何快速搭建一个免费的,无限流量的Blog

發(fā)布時間:2023/12/3 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何快速搭建一个免费的,无限流量的Blog 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

轉(zhuǎn)載自? ?如何快速搭建一個免費的,無限流量的Blog

喜歡寫B(tài)log的人,會經(jīng)歷三個階段。

第一階段,剛接觸Blog,覺得很新鮮,試著選擇一個免費空間來寫。

第二階段,發(fā)現(xiàn)免費空間限制太多,就自己購買域名和空間,搭建獨立博客。

第三階段,覺得獨立博客的管理太麻煩,最好在保留控制權(quán)的前提下,讓別人來管,自己只負(fù)責(zé)寫文章。

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

但是兩年前,情況出現(xiàn)變化,一些程序員開始在github網(wǎng)站上搭建blog。他們既擁有絕對管理權(quán),又享受github帶來的便利----不管何時何地,只要向主機提交commit,就能發(fā)布新文章。更妙的是,這一切還是免費的,github提供無限流量,世界各地都有理想的訪問速度。

今天,我就來示范如何在github上搭建Blog,你可以從中掌握github的Pages功能,以及Jekyll軟件的基本用法。更重要的是,你會體會到一種建立網(wǎng)站的全新思路。

?

一、Github Pages 是什么?

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

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

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

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)站。

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

這種做法的好處是:

  * 免費,無限流量。

  * 享受git的版本管理功能,不用擔(dān)心文章遺失。

  * 你只要用自己喜歡的編輯器寫文章就可以了,其他事情一概不用操心,都由github處理。

它的缺點是:

  * 有一定技術(shù)門檻,你必須要懂一點git和網(wǎng)頁開發(fā)。

  * 它生成的是靜態(tài)網(wǎng)頁,添加動態(tài)功能必須使用外部服務(wù),比如評論功能就只能用disqus。

  * 它不適合大型網(wǎng)站,因為沒有用到數(shù)據(jù)庫,每運行一次都必須遍歷全部的文本文件,網(wǎng)站越大,生成時間越長。

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

?

三、一個實例

下面,我舉一個實例,演示如何在github上搭建blog,你可以跟著一步步做。為了便于理解,這個blog只有最基本的功能。

在搭建之前,你必須已經(jīng)安裝了git,并且有g(shù)ithub賬戶。

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

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

  $ mkdir jekyll_demo

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

  $ cd jekyll_demo

  $ git init

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

  $ git checkout --orphan gh-pages

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

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

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

baseurl:??/jekyll_demo

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

/jekyll_demo|-- _config.yml

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

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

$?mkdir _layouts

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

<!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模板語言,{{ page.title }}表示文章標(biāo)題,{{ content }}表示文章內(nèi)容,更多模板變量請參考官方文檔。

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

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

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

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

$?mkdir _posts

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

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

---layout: defaulttitle: 你好,世界---<h2>{{ page.title }}</h2><p>我的第一篇文章</p><p>{{ page.date | date_to_string }}</p>

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

在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|   |-- 2012-08-25-hello-world.html

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

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

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

---layout: defaulttitle: 我的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>

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

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

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

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

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

$?git add . $?git commit -m?"first post"

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

$?git remote add origin https://github.com/username/jekyll_demo.git $?git push origin gh-pages

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

首頁:

文章頁面:

第七步,綁定域名。

如果你不想用?http://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改成根目錄"/"。

至此,最簡單的Blog就算搭建完成了。進一步的完善,請參考Jekyll創(chuàng)始人的示例庫,以及其他用Jekyll搭建的blog。

總結(jié)

以上是生活随笔為你收集整理的如何快速搭建一个免费的,无限流量的Blog的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。