GITHUB-JEKYLL搭建个人博客网站

使用githubjekyll搭建的博客,运行环境是ubuntu 1.6.04使用的域名是阿里云

推荐: github Pages和Jekyll入门Git教程

附录

jekyll

Jekyll是一个简单的博客形态的静态站点生产机器。它有一个模版目录,其中包含原始文本格式的文档,通过 Markdown (或者 Textile) 以及 Liquid 转化成一个完整的可发布的静态网站,你可以发布在任何你喜爱的服务器上。Jekyll 也可以运行在 GitHub Page 上,也就是说,你可以使用 GitHub 的服务来搭建你的项目页面、博客或者网站,而且是完全免费的。

安装jekyll之前呢,需要准备下面内容。

ruby

具体怎么可以到Ruby官网下载tar.gz安装包安装(注意有时候make install 报错的话,可能是权限问题,我就碰到咯,只要在代码前面加上sudo 就行了)

1
2
3
4
5
6
7
8
9
10
wget https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.1.tar.gz
tar -zxvf ruby-2.4.1.tar.gz
cd ruby-2.4.1/
./configure
make
make install
make clean
sudo make distclean
ruby -v

rubyGems

具体怎么可以到RubyGems官网,和Ruby安装是一样的,不做详细说明

1
2
3
4
5
6
7
8
wget https://rubygems.org/rubygems/rubygems-2.6.12.tgz
tar -zxvf rubygems-2.6.12.tgz
cd rubygems-2.6.12
./configure
make
make install
make clean
sudo make distclean

jekyll

jekyll官网,jekyll的doc一栏中也提供了安装的参考

1
2
sudo gem install jekyll

可能会出现一些错误,这是因为少安装了一些插件,这里我也卡了很久,搜索了很多资料,试了很多次

1
2
3
4
ERROR: Loading command: update (LoadError)
cannot load such file -- zlib
ERROR: While executing gem ... (NoMethodError)
undefined method `invoke_with_build_args' for nil:NilClass

解决办法

1
2
3
4
5
6
7
8
9
10
11
sudo apt-get update
sudo apt-get install git-core curl zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev python-software-properties
sudo apt-get install libgdbm-dev libncurses5-dev automake libtool bison libffi-dev
sudo apt-get install zlib1g-dev
cd ruby-2.4.1/ext/zlib/
ruby extconf.rb
cd /usr/ruby-2.4.1/
./configure
sudo make install
sudo make clean
sudo make distclean

创建并发布博客

无样式的博客

  • 创建一个无样式的博客

    1
    2
    3
    4
    5
    6
    jekyll new blog
    cd blog
    git init
    git add .
    git commit -m "fist jekyll program"
    git status
  • 将博客关联到github远程仓库
    这里不做详述,可以自行谷歌

  • 将无样式的blog项目远程推送到github仓库中,这里以我的为例,我的username为hoey94,注意修改成自己的

    1
    2
    3
    cd blog/
    git remote add origin https://github.com/hoey94/hoey94.github.io.git
    git push origin master
  • 配置github pages,并运行

    • 进入到github.com/hoey94/hoey94.github.io项目中,在Settings选项卡中找到GitHub Pages面板,在Source中选择master branch,并save
    • 通过hoey94.github.io就可以成功访问我们的界面了!

有样式的博客

本次lz用到的样式是hyde,以这个为例子进行推送部署。在github上网有学多jekyll的样式,你也可以下载并部署,样式链接

1
2
git clone https://github.com/poole/hyde.git
cd hyde/

我们需要修改一些东西,不然会报错,之前lz同样卡在这里半天,网上搜索了半天资料才解决。

  • 修改_config.yml文件中的relative_permalinks: false,如果不改,会报XXX过期的错误,记不得了
  • 删除CNAME中的内容,如果不改会提示域名已经存在,因为这个是别人的项目,人家已经在github上注册了,后面会介绍怎么配置自己的域名
1
2
3
4
5
6
rm -rm .git/ # 删除原本的.git 文件使用自己的.git
git init
git add .
git commit -m "beautiful jekyll theme"
git remote add https://github.com/hoey94/hoey94.github.io.git # 记得退回历史版本之后再进行这里的操作不然会报错的
git push origin master

后面的和无样式博客发布是一样的,只要注意修改_config.yml文件,其他应该没什么大碍了。

Tip : 项目里面已经有一个.gitignore我们可以使用它来忽略上传内容

注册域名

登录阿里云注册一个帐号,然后选择一个自己喜欢的域名并购买即可。

我们买好域名以后,我们就可以去绑定github pages了

1
2
cd hyde/
vim ./CNAME

推送更改信息,更新项目

1
2
3
git add .
git commit -m "modify CNAME file ,add hoey.com"
git push origin master

登录阿里云域名控制台

在云解析DNS选项卡中找到自己购买的域名选项,并点击“解析”

在“解析设置”一栏中选择“添加解析”,记录类型填写为CNAME,主机记录填写www,记录值在这里以我的为例填写hoey94.github.io之后保存。推荐一片博文解析域名的时候不同的项目代表什么含义?主机记录、记录类型、线路类型、记录值、MX优先级、TTL

推荐 : http://jmcglone.com/guides/github-pages/


GITHUB-JEKYLL搭建个人博客网站
http://example.com/2017/07/20/2017-7-20-github-jekyll-ubuntu-阿里云/
Author
Hoey
Posted on
July 20, 2017
Licensed under