經過jekyll在Github 搭建我的博客

能快樂旅行的人,必定是輕裝旅行的人html

前言

應廣大的網友(裝逼~~哈哈)要求,決定寫個Jekyll+Giuhub搭建博客的教程,以便幫助更多的人,畢竟我也是這麼過來的。這是個人博客地址,能夠先看看效果。
首先介紹一下Jekyll這個框架,這個框架是Ruby語言一個基於靜態文件的框架,由於不須要數據庫,直接用靜態文件來渲染,再加上有Github的支持因此成了搭建博客的不二之選。目前支持Markdown和
Textile兩種格式的文件。可是當你的博客寫的越多的時候加載的就越慢,因此這就是靜態文件的缺點。可是和他的優勢比起來,這徹底能夠忽略不計。那廢話很少說,我們開幹!!python

正文

1.準備環境

linu環境的搭建 (個人是CentOS6.8)

安裝Rubylinux

$ yum install ruby

查看ruby版本git

$ ruby -v

輸出github

ruby 2.0.0p648 (2015-12-16) [x86_64-linux]

jekyll 最新版要求 ruby 2.2或更高,因此更新ruby
這裏我使用rvm更新ruby數據庫

安裝rvmwindows

$ gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
$ curl -sSL https://get.rvm.io | bash -s stable
$ source ~/.bashrc
$ source ~/.bash_profile
$ source /etc/profile.d/rvm.sh

修改rvm 的鏡像到國內centos

$ echo "ruby_url=https://cache.ruby-china.org/pub/ruby" > /usr/local/rvm/user/db

注意這裏可能提示找不到/usr/local/rvm/user/db這個文件夾,因此你得本身用find命令找一下看你的這個rvm/user/db在哪裏ruby

安裝Ruby 2.4bash

jekyll 最新版要求 ruby 2.3因此保險起見我們直接安裝2.4
你還能夠更新到更高版本,能夠用 $ rvm list known 查看當前各個操做系統能夠安裝的全部版本

$ rvm install 2.4

gem在中國很差使, 萬能的中國Ruby社區給咱們搭建了gem鏡像

  • 移除gem默認倉庫地址並添加中國的倉庫

    $ gem sources --remove https://rubygems.org/
    $ gem source -a https://gems.ruby-china.com/

2.安裝jekyll & 啓動

安裝

$ gem install jekyll

安裝好好了之後,到這一步咱們已經成功一大半了。
咱們這時候就要建立一個博客看一看了,這裏有兩種方式

1.方法一

在當前目錄建立一個博客目錄,並進入到目錄

$ jekyll new myblog
$ cd myblog

啓動咱們的博客

$ jekyll serve --host 0.0.0.0

若是不出意外, 啓動是失敗的, 錯誤信息應該相似於:

/usr/local/rvm/rubies/ruby-2.1.10/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- bundler (LoadError)
from /usr/local/rvm/rubies/ruby-2.1.10/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /usr/local/rvm/gems/ruby-2.1.10/gems/jekyll-3.6.2/lib/jekyll/plugin_manager.rb:48:in `require_from_bundler'
from /usr/local/rvm/gems/ruby-2.1.10/gems/jekyll-3.6.2/exe/jekyll:11:in `<top (required)>'
from /usr/local/rvm/gems/ruby-2.1.10/bin/jekyll:23:in `load'
from /usr/local/rvm/gems/ruby-2.1.10/bin/jekyll:23:in `<main>'
from /usr/local/rvm/gems/ruby-2.1.10/bin/ruby_executable_hooks:15:in `eval'
from /usr/local/rvm/gems/ruby-2.1.10/bin/ruby_executable_hooks:15:in `<main>'
  • 解決辦法以下:
  • 安裝bundle

    $ gem install bundle

再次執行

$  jekyll serve --host 0.0.0.0

輸出

Configuration file: /usr/local/test/myblog/_config.yml
            Source: /usr/local/test/myblog
       Destination: /usr/local/test/myblog/_site
 Incremental build: disabled. Enable with --incremental
      Generating... 
                    done in 0.427 seconds.
 Auto-regeneration: enabled for '/usr/local/test/myblog'
    Server address: http://0.0.0.0:4000/
  Server running... press ctrl-c to stop.


OK這樣咱們就起了一個Jekyll
server的博客,可是這種是系統默認的主題,既然我說這是方法一那確定就還有方法二對吧

方法2:自定義主題

Jekyll主題上,咱們能夠選擇本身喜歡的主題,我本身隨便選一個給你們演示一下

image
下載,解壓到linux
CD到咱們解壓的文件夾

執行命令

jekyll server --host 0.0.0.0

這時候不出意外會報錯

Could not find proper version of jekyll (3.4.0) in any of the sources
Run `bundle install` to install missing gems.

可是提示也很明顯,直接

bundle install

OK,再來執行

jekyll server --host 0.0.0.0

訪問地址

image

這裏貼一下啓動時候的一些命令參數 請猛擊這裏

好了,這樣咱們就能夠實現定製咱們本身的博客主題了。

3.綁定Github主頁,關鍵的一步

這裏就須要一點Git基礎了,如有不會的也不打緊,由於這裏都是些簡單的操做。

1.先註冊Github帳號,這個我就不貼圖了
2.建立一個倉庫

倉庫名必須是:你的github帳號名.github.io
image

3.而後在回到咱們linux上,咱們在Jekyll上下載的那個主題文件夾下,進行git操做

若是Linux上沒有git的請安裝Git

yum install git

而後CD到咱們以前下載的文件夾下

git init
git add .
git commit -m '第一次'
git remote add origin https://github.com/你的帳號/剛剛新建的倉庫名.git
git push origin master

這樣操做成功以後,咱們就能夠訪問
h ttps://你的帳號.github.io 就能夠看到咱們以前的畫面了,好了一個Jekyll+Github的博客算是搭起來了。

4.寫博客

有了博客網站,就到了最後「最難」的一部分了——寫博客。。
推薦先將博客項目從github上clone到windows環境,而後再慢慢寫,而後再push到Github上看效果,調試。這樣雖然麻煩點,可是絕對比你在Linux上調試要方便的多,之因此前面讓你們搭建Linux環境,只是想讓你們知道如何去自定義一個原生的Jekyll server 版的博客。若是在push後出現構建Github Pages錯誤的問題,GitHub 會向你的帳戶發送郵件。
或者直接打開本身的github的倉庫主頁查看settings選項,會有顯示那個頁面報錯,具體哪一行,這個功能你們必定要記得,由於後面的調試會常常遇到。

那麼咱們仍是先看目錄說明

image

這裏特地強調一下這個_post目錄,和_config.yml文件

  • **_post目錄**

_posts目錄就是專門存放博客文件的,你可使用markdown或者Textile格式的文件來寫博客,我我的是用markdown格式寫的。可是不論是哪一種格式的文件都須要包含 YAML 頭信息, Jekyll 纔會把它當作一個特殊的文件來處理。
在_posts目錄下新建一個markdown文件,頭信息必須在文件的開始部分,而且須要按照 YAML 的格式寫在兩行三虛線之間。以下所示:
image

  • **_config.yml文件**

Jekyll 有這很是靈活和強大的配置功能,既能夠在網站根目錄下的 _config.yml 文件中進行配置,也能夠做爲命令行參數來配置。默認配置大體以下:

title: Your awesome title
 email: your-email@example.com description: >- # this means to ignore newlines until "baseurl:"
  
 baseurl: "" # the subpath of your site, e.g. /blog
 url: "" # the base hostname & protocol for your site, e.g. http://example.com
 twitter_username: jekyllrb
 github_username:  jekyll

 # Build settings
 markdown: kramdown
 theme: minima
 plugins:
   - jekyll-feed

yml文件使用了YAML語法,若是想更好的理解Jekyll就須要瞭解一下YAML語法的內容,這裏引用一下阮一峯老師寫的一篇YAML語法教程

通常來講_config.yml的默認內容不須要太大改動,只須要往裏面添加你須要的自定義屬性,而後你就能夠在頁面模板中使用site.屬性名來取得對應的值,例如site.title的值就是Your awesome title。
通常主題中也會自動幫你寫好這些自定義屬性,搭建你本身的博客時你只須要將這些自定義屬性改成你想要的值便可。

如果上面的知識不足以讓你寫出滿意的博客,因此這裏我強烈推薦Jekyll中文文檔,這個文檔寫的很好,而且仍是中文的能夠說是很是友好了,我相信你讀了文檔以後,對Jekyll語法,目錄結構確定都有了一個很好的理解。

5.終極絕招

要放大招了。哈哈哈哈

我既然說是全網最全的Jekyll搭建博客教程,萬一上面的你都不會,Linux環境也搭建不起來,那該如何是好,別急,這就告訴你絕招!!!

首先你仍是得有Giuhub帳號

直接到github上去Fork別人已經搭建好的代碼(友情提示,Fork記得給Star,也算是尊重原創),我是Fork的黃玄大佬的,代碼倉庫在這裏。fork到本身的代碼倉庫以後,把倉庫名字按照我上面的教程改過來,而後訪問h ttps://你的帳號.github.io,就能夠看到和大佬如出一轍的博客,就問你激不激動。~~~接下來你要作的就是修改配置文件,而後後把_POST文件夾的文件都刪掉,把本身寫的Markdown文件放進去。可是刪以前請看下別人的模板,這樣有助於更好的理解語法。詳細的說明仍是看他的倉庫的README吧,寫的很清楚,而且也有中文版的。之後如果再遇到好看的模板如法炮製便可!

這種方法,既不須要上面Linux環境,直接一個Fork搞定,是否是很爽。哈哈

可是會萬一哪天你想本身搭建,那不會Linux環境下的操做但是不行的,因此會Linux環境下的原生Jekyll仍是有用的老鐵。

教程就寫到這裏,如果以爲寫得好請記得點贊。若是有不懂的地方的歡迎在下面留言,一塊兒討論學習。另外歡迎訪問個人我的網站一塊兒交流學習。

相關文章
相關標籤/搜索