Jekyll搭建github个人博客
一、安装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已有的开源博客仓库,在巨人的肩膀上进行符合自我的创作。
路线一
新建一个与自己github用户名相同的仓库,仓库名为 {github用户名}.github.io
如 : quanzaiyu.github.io
配置github pages
选择自己喜欢的github主题
在浏览器输入 {github用户名}.github.io 即可访问自己的个人博客
如果想要使用jekyll搭建个人博客,先将此仓库clone到本地,使用上述方法创建个人博客再发布到github即可
路线二
在网上搜索jekyll 网站模版,挑选一个你看上的,比如
https://github.com/leopardpan/leopardpan.github.io
https://github.com/mzlogin/mzlogin.github.io
点击链接进入后,点击左上角的fork
在你的主页中点击刚fork的分支,点击进入
点击“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个人博客的更多相关文章
- 使用Hexo搭建Github静态博客
1. 环境环境 1.1 安装Git 默认配置就好 1.2 安装node.js 下载:http://nodejs.org/download/ 安装时直接保持默认配置即可. 2. 配置Github 1.1 ...
- 一站式搭建 GitHub Pages 博客 (一)
本文将详细讲解如何快速搭建 GitHub Pages 博客页面 关于博客主题,博客信息更改,上传文章等将会在 一站式搭建 GitHub Pages 博客 (二) 中进行详细讲解 准备阶段 注册 Git ...
- 使用hexo搭建github.io博客(一)
使用github.io可以搭建一个自己的博客,把静态文件项目托管到github上,可以写博客,可以使用markdown语法,也可以展示作品.灵活性高.但是有较大的难度. node,git版本变化日新月 ...
- Hexo搭建Github静态博客
1. 环境环境 1.1 安装Git 请参考[1] 1.2 安装node.js 下载:http://nodejs.org/download/ 可以下载 node-v0.10.33-x64.msi 安装时 ...
- 如何搭建github+hexo博客-转
1.前言 其实早在这之前我就一直想过写博客,但由于种种原因一直没有去学习这方面的知识,最近半个月(从开始动手到搭建好)一直陆陆续续的在着手这方面的工作.从开始到搭建完成的过程中遇到了很多困难,因为在这 ...
- 使用Github pages+jekyll搭建自己的博客(windows版)
最近突发奇想,想试试GitHub pages来搭建博客.网上一搜一大堆,嗯...看来还是挺简单的...于是自己撸起袖子干...... 结果对于我这种GitHub注册过,git 没用过,ruby.jek ...
- 使用Hugo搭建GitHub个人博客
主题概况 Hugo 是一个用 Go 语言编写的静态网站生成器.类似的静态网站生成器还有Jekyll.hexo等等.以上生成器都使用过,但感觉要么环境麻烦,要么生成静态页面步骤繁琐以及生成缓慢.如果你正 ...
- 搭建 github.io 博客站点
前言 很多人都有搭建博客或知识库站点的想法,可自己买云服务器太不划算,部署管理也是个问题:基于免费又热门的 GitHub Pages 来搭建博客站点倒是省钱省力省事的好办法,于是上网一搜,满屏都是关于 ...
- 从零开始搭建GitHub个人博客--第一步
最近一段时间工作不是很忙,便开始着手整理博客并梳理自己的简历 可是,打开cnblog后第一眼我便开始了纠结~ 原起: 一直在cnblog写博客,看博客,突然发现这种在线纯文档记录的方式俨然跟不上时代的 ...
随机推荐
- Java读取Excel转换成JSON字符串进而转换成Java对象
Jar包
- 一步一步详解ID3和C4.5的C++实现
1. 关于ID3和C4.5的原理介绍这里不赘述,网上到处都是,可以下载讲义c9641_c001.pdf或者参考李航的<统计学习方法>. 2. 数据与数据处理 本文采用下面的训练数据: 数据 ...
- TrimLeft TrimRight
strming.TrimLeft(); //将字符串最前面的空格修整掉.当在没有参数的情况下调用时,TrimLeft删除换行符,空格和tab字符. strming.TrimRight()://消除从 ...
- V4L2应用程序框架【转】
转自:https://www.cnblogs.com/hzhida/archive/2012/05/29/2524397.html V4L2是V4L的升级版本,linux下视频设备程序提供了一套接口规 ...
- gpio_request 原形代码【转】
转自:http://blog.csdn.net/maopig/article/details/7428561 其原型为 int gpio_request(unsigned gpio, const ch ...
- shiro设置session超时时间
系统默认超时时间是180000毫秒(30分钟) long timeout = SecurityUtils.getSubject().getSession().getTimeout(); System. ...
- Java上传文件FTP服务器代码
1. 在实际的应用重,通常是通过程序来进行文件的上传. 2. 实现java上传文件到ftp服务器中 新建maven项目 添加依赖 <dependency> <groupId>c ...
- 使用ueditor的时候,style样式传递到后台时被过滤没了
在项目中,使用ueditor的时候,style样式传递到后台时被过滤没了 转:https://www.cnblogs.com/theroad/p/5761743.html 经过chrome的一番调试后 ...
- vue系列之MVVM框架
当数据发生变化时,ViewModel就会检测到,然后通知相应的View改变 当用户操作View时,ViewModel就会检测到,然后Model,修改相应的数据,最终实现双向绑定 适用场景:针对具有复杂 ...
- jquery之源码
1.插件扩展机制 所有的Jquery代理对象的实例,都是扩展自$.fn对象的 意味着只要我们继续扩展$.fn这个对象的功能,就相当于扩展了所有的Jquery代理对象的实例的功能 代码 var $bod ...