一、安装ruby环境

Windows下载地址: http://rubyinstaller.org/

Ruby官网: http://www.ruby-lang.org/zh_cn/

下载安装即可

环境配置

安装好之后必须配置环境变量

在环境变量中PATH字段中增加 你的安装路径\Ruby22-x64\bin 比如 : D:\ProgramFiles\Ruby22-x64\bin

除此之外还必须新增一个字段 SSL_CERT_FILE,内容为cacert.pem所在路径,比如D:\ProgramFiles\Ruby22-x64\cacert\cacert.pem

cacert.pem下载地址: https://curl.haxx.se/ca/cacert.pem

检测安装

ruby -v

gem -v

如果顺利打印出版本号则安装成功

替换rubyGem库地址

如果使用gem安装软件较慢,可以尝试替换gem源为国内的源

gem sources --remove https://rubygems.org/
gem sources -a https://gems.ruby-china.org/
gem sources -l

淘宝源:

gem sources -a https://ruby.taobao.org/
遇到 SSL 证书问题

如果遇到 SSL 证书问题,你又无法解决,请直接用 http://gems.ruby-china.org 避免 SSL 的问题

D:\MyBlog\RubyDevKit>gem sources -l
*** CURRENT SOURCES *** http://gems.ruby-china.org/

二、安装RubyDevKit

DevKit是windows平台下编译和使用本地C/C++扩展包的工具。它就是用来模拟Linux平台下的make,gcc,sh来进行编译。但是这个方法目前仅支持通过RubyInstaller安装的Ruby

下载地址: http://rubyinstaller.org/downloads/

双击运行解压到D:\MyBlog\RubyDevKit (路径可自行定义)。

打开终端cmd,输入如下命令进行安装:

cd D:\MyBlog\RubyDevKit
ruby dk.rb init

接下来需要在D:\MyBlog\RubyDevKit\config.yml 这个文件里面配置Ruby的路径,如下:

- D:/ProgramFiles/Ruby22-x64/bin

在cmd中执行如下命令进行安装:

ruby dk.rb install

三、安装必要的gem包

gem install jekyll
gem install rails
gem install bundler

四、创建jekyll博客

jekyll new myBlog
cd myBlog
jekyll server

在浏览器输入http://127.0.0.1:4000/

报错排查
端口被占用
D:\GarryBlog>jekyll server
Configuration file: D:/GarryBlog/_config.yml
Configuration file: D:/GarryBlog/_config.yml
Source: D:/GarryBlog
Destination: D:/GarryBlog/_site
Incremental build: disabled. Enable with --incremental
Generating...
done in 0.252 seconds.
Please add the following to your Gemfile to avoid polling for changes:
gem 'wdm', '>= 0.1.0' if Gem.win_platform?
Auto-regeneration: enabled for 'D:/GarryBlog'
Configuration file: D:/GarryBlog/_config.yml
jekyll 3.3.1 | Error: Permission denied - bind(2) for 127.0.0.1:4000

解决方案:

这个错误是告诉我们4000端口被占用,解决方法是:

在_config.yml文件的末尾加上port: 5000,改为5000端口即可。

这样在浏览器中输入http://127.0.0.1:5000/ 就可以看到自己的博客了。

五、安装git环境

下载地址: https://git-for-windows.github.io/

安装完成后运行Git Bash。在打开的窗口中输入如下命令设置你的git用户名和邮箱:

$ git config --global user.name "{username}"          // 用你的用户名替换{username}
$ git config --global user.email "{name@site.com}" // 用你的邮箱替换{name@site.com}

SSH配置:

为了和Github的远程仓库进行传输,需要进行SSH加密设置。

$ ssh-keygen -t rsa -C"{name@site.com}"    // 用你的邮箱替换{name@site.com}

一路敲回车即可,在C:\Users\admin.ssh 目录下会生成id_rsa 和 id_rsa.pub 两个文件,其中 id_rsa 是私钥,需要保密, id_rsa.pub 是公钥,无需保密。

在浏览器中登录你的github帐号,点击右上角的Setting-SSH and GPG keys,在SSH Key中添加 id_rsa.pub里的内容,然后点击addkey即可,这样SSH配置就完成了。

六、部署到GitHub Pages

建议基于jekyll的个人博客有两种路线:

  • 自己学习Jekyll教程和网页设计,设计绝对自我基因的网页。

  • Fork已有的开源博客仓库,在巨人的肩膀上进行符合自我的创作。

路线一

  1. 新建一个与自己github用户名相同的仓库,仓库名为 {github用户名}.github.io

    如 : quanzaiyu.github.io

  1. 配置github pages

  2. 选择自己喜欢的github主题

  3. 在浏览器输入 {github用户名}.github.io 即可访问自己的个人博客

    比如: https://quanzaiyu.github.io/

  4. 如果想要使用jekyll搭建个人博客,先将此仓库clone到本地,使用上述方法创建个人博客再发布到github即可

路线二

  1. 在网上搜索jekyll 网站模版,挑选一个你看上的,比如

    https://github.com/leopardpan/leopardpan.github.io

    https://github.com/mzlogin/mzlogin.github.io

    https://github.com/dapengyou/dapengyou.github.com

    http://jekyllthemes.org/

  2. 点击链接进入后,点击左上角的fork

  3. 在你的主页中点击刚fork的分支,点击进入

  4. 点击“Settings”,将“Repository name”改为 {你的Github用户名}.github.io,点击“Rename”。

    • 注意: 一定必须是自己的Github用户名

    此时你会发现已经可以通过 https://{你的Github用户名}.github.io

比如我的: https://quanzaiyu.github.io/

七、同步博客

同步仓库

在Git Bash中切换到你想存放blog文件的目录下:

cd D:\GarryBlog

输入如下命令,将远程仓库克隆到本地:

git clone https://github.com/Garry2016/garry2016.github.io.git

撰写博文

打开本地仓库的 _posts 文件夹,你的所有博文都将放在这里,写新博文只需要新建一个标准文件名的文件,在文件中编写文章内容。 比如我们fork的模版中 _posts 文件夹里有一篇 2016-03-23-hello-world.markdown,你的文件命名也要严格遵循 年-月-日-文章标题.文档格式 这样的格式,尤其要注意月份和日期一定是两位数。

推荐使用Markdown语言写文章,windows下推荐MarkdownPad这个软件编写Markdown文本。

最开始写可以直接模仿别人的博文语法,更多Markdown语法可参考 认识与入门Markdown

提交修改

当你使用Git Bash对你的本地仓库进行操作时,先用 cd 命令将你的工作目录设置到你要操作的本地仓库

$ cd {你刚才clone下来的项目文件夹路径}

每当你对本地仓库里的文件进行了修改,只需在Bash中依次执行以下三个命令即可将修改同步到Github,刷新网站页面就能看到修改后的网页:

$ git add .
$ git commit -am "statement" //此处statement填写此次提交修改的内容,作为日后查阅
$ git push origin master

实时查看本地修改的内容

我们本地已经安装好了jekyll环境,我们可以输入 jekyll server启动服务,然后在浏览器中查看本地修改内容,方便快捷!


好了,使用jekyll搭建个人博客就写完了,还涉及一些内容这里没讲,比如评论,分享等功能。我们fork的博客里面已经实现了这些功能,大家去看源码应该就可以知道了。

Jekyll搭建github个人博客的更多相关文章

  1. 使用Hexo搭建Github静态博客

    1. 环境环境 1.1 安装Git 默认配置就好 1.2 安装node.js 下载:http://nodejs.org/download/ 安装时直接保持默认配置即可. 2. 配置Github 1.1 ...

  2. 一站式搭建 GitHub Pages 博客 (一)

    本文将详细讲解如何快速搭建 GitHub Pages 博客页面 关于博客主题,博客信息更改,上传文章等将会在 一站式搭建 GitHub Pages 博客 (二) 中进行详细讲解 准备阶段 注册 Git ...

  3. 使用hexo搭建github.io博客(一)

    使用github.io可以搭建一个自己的博客,把静态文件项目托管到github上,可以写博客,可以使用markdown语法,也可以展示作品.灵活性高.但是有较大的难度. node,git版本变化日新月 ...

  4. Hexo搭建Github静态博客

    1. 环境环境 1.1 安装Git 请参考[1] 1.2 安装node.js 下载:http://nodejs.org/download/ 可以下载 node-v0.10.33-x64.msi 安装时 ...

  5. 如何搭建github+hexo博客-转

    1.前言 其实早在这之前我就一直想过写博客,但由于种种原因一直没有去学习这方面的知识,最近半个月(从开始动手到搭建好)一直陆陆续续的在着手这方面的工作.从开始到搭建完成的过程中遇到了很多困难,因为在这 ...

  6. 使用Github pages+jekyll搭建自己的博客(windows版)

    最近突发奇想,想试试GitHub pages来搭建博客.网上一搜一大堆,嗯...看来还是挺简单的...于是自己撸起袖子干...... 结果对于我这种GitHub注册过,git 没用过,ruby.jek ...

  7. 使用Hugo搭建GitHub个人博客

    主题概况 Hugo 是一个用 Go 语言编写的静态网站生成器.类似的静态网站生成器还有Jekyll.hexo等等.以上生成器都使用过,但感觉要么环境麻烦,要么生成静态页面步骤繁琐以及生成缓慢.如果你正 ...

  8. 搭建 github.io 博客站点

    前言 很多人都有搭建博客或知识库站点的想法,可自己买云服务器太不划算,部署管理也是个问题:基于免费又热门的 GitHub Pages 来搭建博客站点倒是省钱省力省事的好办法,于是上网一搜,满屏都是关于 ...

  9. 从零开始搭建GitHub个人博客--第一步

    最近一段时间工作不是很忙,便开始着手整理博客并梳理自己的简历 可是,打开cnblog后第一眼我便开始了纠结~ 原起: 一直在cnblog写博客,看博客,突然发现这种在线纯文档记录的方式俨然跟不上时代的 ...

随机推荐

  1. Java读取Excel转换成JSON字符串进而转换成Java对象

    Jar包

  2. 一步一步详解ID3和C4.5的C++实现

    1. 关于ID3和C4.5的原理介绍这里不赘述,网上到处都是,可以下载讲义c9641_c001.pdf或者参考李航的<统计学习方法>. 2. 数据与数据处理 本文采用下面的训练数据: 数据 ...

  3. TrimLeft TrimRight

    strming.TrimLeft();  //将字符串最前面的空格修整掉.当在没有参数的情况下调用时,TrimLeft删除换行符,空格和tab字符. strming.TrimRight()://消除从 ...

  4. V4L2应用程序框架【转】

    转自:https://www.cnblogs.com/hzhida/archive/2012/05/29/2524397.html V4L2是V4L的升级版本,linux下视频设备程序提供了一套接口规 ...

  5. gpio_request 原形代码【转】

    转自:http://blog.csdn.net/maopig/article/details/7428561 其原型为 int gpio_request(unsigned gpio, const ch ...

  6. shiro设置session超时时间

    系统默认超时时间是180000毫秒(30分钟) long timeout = SecurityUtils.getSubject().getSession().getTimeout(); System. ...

  7. Java上传文件FTP服务器代码

    1. 在实际的应用重,通常是通过程序来进行文件的上传. 2. 实现java上传文件到ftp服务器中 新建maven项目 添加依赖 <dependency> <groupId>c ...

  8. 使用ueditor的时候,style样式传递到后台时被过滤没了

    在项目中,使用ueditor的时候,style样式传递到后台时被过滤没了 转:https://www.cnblogs.com/theroad/p/5761743.html 经过chrome的一番调试后 ...

  9. vue系列之MVVM框架

    当数据发生变化时,ViewModel就会检测到,然后通知相应的View改变 当用户操作View时,ViewModel就会检测到,然后Model,修改相应的数据,最终实现双向绑定 适用场景:针对具有复杂 ...

  10. jquery之源码

    1.插件扩展机制 所有的Jquery代理对象的实例,都是扩展自$.fn对象的 意味着只要我们继续扩展$.fn这个对象的功能,就相当于扩展了所有的Jquery代理对象的实例的功能 代码 var $bod ...