Jekyll 是一个简单的博客形态的静态站点生产机器。它有一个模版目录,其中包含原始文本格式的文档,经过 Markdown (或者 Textile) 以及 Liquid 转化成一个完整的可发布的静态网站,你能够发布在任何你喜好的服务器上。Jekyll 也能够运行在 GitHub Page 上,也就是说,你可使用 GitHub 的服务来搭建你的项目页面、博客或者网站,并且是彻底免费的。php
书写博客是一个很好地习惯,因此就整理建立一个博客系统来记录本身的所见所闻所得!css
另外,我的感受另外一款博客框架hexo也挺好的,实际上这两款博客框架都是目前较为主流的。html
针对Windows系统下的用户,使用 Jekyll 搭建博客以前要确认下本机环境,Git 环境(用于部署到远端)、Ruby 环境(Jekyll 是基于 Ruby 开发的)、包管理器 RubyGemspython
(因为我是基于windows来作这个的,因此有必要配置安装相关的Windows环境,方便之后操做。)git
Jekyll是一个免费的简单静态网页生成工具,能够配合第三方服务例如: 评论、分享等等扩展功能(评论第三方服务的选择后面会讲到),Jekyll 能够直接部署在 Github(国外) 或 Coding(国内) 上,能够绑定本身的域名。Jekyll中文文档、Jekyll英文文档、Jekyll主题列表。github
若是你是 Mac 用户,你就须要安装 Xcode 和 Command-Line Tools了。web
ruby与ruby gem的关系windows
ruby与jekyll的关系后端
jekyll与python的关系(表示才知道)浏览器
为何ruby要改用source来源
如何解决jekyll安装过程当中的问题
注:windows下还得确保DEVELOPMENT KIT正常安装,而且正确配置。
提早总结一下,安装Jekyll主要有如下三个步骤
接下来就正式开始安装啦!
下载安装exe,地址:http://rubyinstaller.org/downloads/
根据本身的机型选择对应的安装包(因后续有须要安装不一样的gem,我发现好多由于ruby版本问题装不了,因此在这推荐使用2,2,4版本的)
安装的注意点:
自动帮你配置环境变量,要安装在根目录
测试是否安装完成:
ruby -v
个人输出结果是
ruby 2.3.0p0 (2015-12-25 revision 53290) [x64-mingw32]
1)运行安装包并解压缩至某文件夹,如 C:\DevKit
2)经过初始化来建立config.yml
文件。在命令行窗口内,输入下列命令:
cd “C:\DevKit”
ruby dk.rb init
notepad config.yml
3)在打开的记事本窗口中,于末尾添加新的一行- C:\Ruby200-x64(这段表明加上本身的ruby路径,实际中能够将C:\Ruby200-x64改成本身的实际ruby目录),保存文件并退出。
4)回到命令行窗口内,审查(非必须)并安装。
ruby dk.rb review
ruby dk.rb install
一切顺利后,就表明Development Kit已经正确安装并配置
这是很重要的一步!鉴于官方源没法访问,因此咱们得更换为可使用的源,这里推荐使用[ruby china][]源,大体步骤以下:
gem sources -l
查看当前已经添加的源(默认应该是同时有官方源和淘宝源);gem sources -r https://rubygems.org/
gem sources -r https://ruby.taobao.org/
分别移除官方源和淘宝源 (注意,请对比实际,移除本身已经添加的源便可,能够改成本身上一步中查询出来的地址);gem sources -a http://gems.ruby-china.org
添加了[ruby china][]
的可用源;gem sources -l
查看是否正确修改。注意,上述的[ruby china][]源,我采用了http连接,这是由于我在windows中使用https时遇到了ssl问题,而且没法解决,若是你能正确解决,能够换为https连接。
先查看你的gem是否安装完毕:
gem -v
gem install jekyll
测试是否安装完毕:
新建jekyll 项目
jekyll new myblog
cd myblog
运行jekyll 项目: 官方文档
jekyll s / jekyll serve
另外,若是过程当中遇到一些其它缺失组件的状况,能够经过相应的gem命令安装
最终成功运行!
在浏览器里输入: http://localhost:4000,就能够看到你的博客效果了.
Jekyll 的核心实际上是一个文本转换引擎。它的概念其实就是: 你用你最喜欢的标记语言来写文章,能够是 Markdown,也能够是 Textile,或者就是简单的 HTML, 而后 Jekyll 就会帮你套入一个或一系列的布局中。在整个过程当中你能够设置URL路径, 你的文本在布局中的显示样式等等。这些均可以经过纯文本编辑来实现,最终生成的静态页面就是你的成品了。
一个基本的 Jekyll 网站的目录结构通常是像这样的:
.
├── _config.yml
├── _includes
| ├── footer.html
| └── header.html
├── _layouts
| ├── default.html
| ├── post.html
| └── page.html
├── _posts
| └── 2018-01-11-welcome-to-jekyll.md
├── _sass
| ├── _base.scss
| ├── _layout.scss
| └── _syntax-highlighting.scss
├── about.md
├── css
| └── main.scss
├── feed.xml
└── index.html
注意:若是你暂时没有本身的域名,CNAME里面就什么都不用填。
这些目录结构以及具体的做用能够参考 官网文档
进入 _config.yml
里面,修改为你想看到的信息,从新 jekyll server
,刷新浏览器就能够看到你刚刚修改的信息了。
到此,基于Jekyll初步搭建博客算是完成了。
访问统计
你须要去百度统计和Google Analytics(翻个墙咯~ 多大点事)注册帐号,并提取相应的id(详细操做请Baidu或Google)这在后面会使用到。
评论管理系统
目前本网站使用的是一款韩国名为“来必力”评论系统,来必力官网。固然还了解了一下这款快速、简洁且高效的无后端评论系统——Valine评论系统;
后面我又发现了gitment,一款由国内大牛imsun开发的基于github issues的评论系统,网上也是有很多相关的布置教程的,做者在这里提供一篇仅供参考–在Jekyll博客添加评论系统:gitment篇。
下面是这段时间在解决 * 添加评论系统 * 问题时,花时间找了一下国内外的几个第三方评论系统:
多说,曾经较火的评论系统,网上介绍文章比较多,但已于2017年6月1日正式关停服务,没法再用了。
畅言,sohu旗下的,网上说:须要我的博客备案后才能使用,备案操做自己就很繁琐(这个我没有测试过,不愿肯定)。
友言,jiaThis旗下的,网上说:因为时http请求,github pages如今都是https了, 在https站点没法调用http请求,故也没法使用(这个我也没有测试过,不愿肯定)。
网易云跟贴,曾被看成“多说”的替代品,惋惜官方通报说也在2017年8月1日下线了。
再看看Disqus,国外比较火的评论系统,但在国内墙了,也只能暂时放弃了。
幸亏碰到了来必力,经过这段时间使用状况看,仍是挺好的。
全部的文章都是 _posts 目录下面,文章格式为 mardown 格式,文章文件名能够是 .mardown 或者 .md。
编写一篇新文章很简单,你能够直接从 _posts/ 目录下复制一份出来 2018-01-13-Hello World.md
,修更名字为 2018-01-11-article1.md
,注意:文章名的格式必须为 年-月-日-articleName
,后面的 articleName
同时也是该篇文章的连接 URL。
只不过若是文章名为中文,好比文章https://javef.github.io/2018/04/走进Markdown园子/
的连接URL复制粘贴过来就会变成这样的:https://javef.github.io/2018/04/%E8%B5%B0%E8%BF%9BMarkdown%E5%9B%AD%E5%AD%90/
。
因此建议文章名最好是英文或者阿拉伯数字。
打开你新建的博客文章2018-01-11-article1.markdown
---
layout: post
title: "article1"
date: 2018-01-11
tag: jekyll
---
(这儿即是正文内容了...)
其中:
title: 显示的文章名, 如:title: 个人第一篇文章
date: 显示的文章发布日期,如:date: 2018-01-11(格式要对)
tag: tag标签的分类,如:tag: 随笔
注意:文章头部格式必须包含上面的那些样板信息,这样才能正确解析。
我写文章使用的是Cmd Markdown 编辑阅读器,若是你对 Markdown 语法不熟悉或者想要了解更多,也能够看看个人另外一篇博客: 走进Markdown园子。
虽说在windows上搭建jekyll时遇到了各类各样问题,可是最终都解决了;
在解决的那一瞬间,实际上是挺有知足感的(大概这也是乐此不疲的缘由之一吧),并且确实感受知识面比起之前仍是有所拓展的;
因此无论怎么样,仍是得多学多动手尝试!
你如今所学的知识,必定会在未来的某个时间段派上用场!
update 2018/4/22
咱们前面讲的都是基于ruby
+git
配置安装jekyll(Hexo也同样),其实是利用了Jekyll的博客框架的优点!
经过本地开启Jekyll服务实现本地随时随地调试,方便;
再将本身调试好的我的博客项目上传到远端代码托管仓库,如GitHub、Coding等,利用他们提供的Pages功能实现静态网页的部署;
固然,若是你有本身的域名的话,也能够将你的域名绑定到你的Pages页面,能够看看个人这篇文章:为GitHub Pages自定义域名并添加SSL-开启HTTPS强制
先提早说明一下这种取巧的方法,须要下载安装哪些
具体步骤
建立一个 github 帐号,而后建立一个跟你帐户名同样的仓库,如个人 github 帐户名叫 Javef,个人 github 仓库名就叫 javef.github.io;
其实这个时候去浏览器输入https://javef.github.io,这个静态页面就已经建立好了,只是这个时候页面内容太空虚…
那么为了建立一个好看又稳定、简洁又完整的网页,去Google或Baidu搜索挑选下载某个你认为与你审美搭得上的Jekyll、Hexo等等框架开放源码项目,至于修改其中哪些配置参数变成你本身可用的页面框架,这里就不赘述了,很简单的。这里我提供一些:Jekyll-powered blogs and sites;
下载安装Git;
下载安装GitHub Desktop,输入你的GitHub帐号密码登陆;
经过如下方法将你以前挑选准备的网页框架项目文件上传到远端托管仓库。
$ git clone //本地若是无远程代码,先作这步,否则就忽略
$ cd //定位到你blog的目录下
$ git status //查看本地本身修改了多少文件
$ git add . //添加远程不存在的git文件
$ git commit -m "what I want told to someone" //提交修改
$ git push //更新到远程服务器上
$ git rm //移除文件
git status
列出当前目录全部尚未被git管理的文件和被git管理且被修改但还未提交(git commit
)的文件,也就是全部改动文件,红色字体标出。
而后输入 git add .
(有个点) 表示添加当前目录下的全部文件和子目录,
而后再输入一次 git status
若是看见文件都变绿了 ,那么就表明 它们已经准备好了被提交(git commit
)。
git rm
在github上只能删除仓库,却没法删除文件夹或文件, 因此只能经过命令来解决
这个命令必须是在提交到版本库中之后才可以执行的,不然的话:
$ git rm file1.txt
fatal: pathspec 'file1.txt' did not match any files
$ git rm file1.txt
error: the following file has changes staged in the index:
file1.txt
(use --cached to keep the file, or -f to force removal)
$ git rm file2.txt
error: the following file has staged content different from both the file and the HEAD:
file2.txt
(use -f to force removal)
若是你只有一个文件想要删除,使用这个命令能够真正的从文件系统中删除了文件,而且它会暂存这个文件已经被删除的事实,若是你提交了,这个文件不会从以前的历史中消失,但会从将来的提交中消失。
参数–cached
若是你想删除这样一个文件,不想从文件系统中真正的删除它,也就是本地项目中的文件不受操做影响,删除的只是远程仓库中的文件,就是用下面的命令:
$ git rm --cached file3.txt
换个说法,你想告诉Git,再也不跟踪这个文件,可是把它保留在工做树中,这多是一种状况,你之外地提交了一个文件,你并不想让他成为历史的一部分。它暂存了删除,可是,他在那里保存了文件,如今,在你的工做树中,做为一个不被追踪的文件。
注意:每次增长文件或删除文件,都要commit 而后直接 git push -u origin master,就能够同步到github上了。
多说
已经亡了,但经过这篇博文很感慨这家伙当年的强大…【附:一文一图】