经过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仍是有用的老铁。

教程就写到这里,如果以为写得好请记得点赞。若是有不懂的地方的欢迎在下面留言,一块儿讨论学习。另外欢迎访问个人我的网站一块儿交流学习。

相关文章
相关标签/搜索