第一次想写博客的初衷是了解到GitHub可以搭建个人博客,最初参照网站上的教程HEXO搭建个人博客的教程搭建成功,但是后来发现使用HEXO在多台电脑上发布博客,操作起来并不那么方便,但又无法摒弃之前的博客,于是又创建了一个GitHub账号,搭建起了jekyll的个人博客,博客模板效果
介绍
Jekyll 是一个简单的博客形态的静态站点生产机器。它有一个模版目录,其中包含原始文本格式的文档,通过Markdown(支持在线编译)(或者 Textile) 以及 Liquid 转化成一个完整的可发布的静态网站,你可以发布在任何你喜爱的服务器上。Jekyll 也可以运行在 GitHub Page 上,也就是说,你可以使用 GitHub 的服务来搭建你的项目页面、博客或者网站,而且是完全免费的 Windows10安装搭建 使用 Jekyll 搭建博客之前要确认下本机环境,
- Git 环境(用于部署到远端)、
- Ruby及RubyDevKit 注意ruby及RubyDevKit的版本一定要对应,否则会出错 例如我安装的是Ruby 2.3.3 (x64)对应的是DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe
Ruby安装
jekyll本身基于Ruby开发,因此,想要在本地构建一个测试环境需要具有Ruby的开发和运行环境,在windows下使用Rubyinstaller安装
windows的安装直接下一步就好了
RubyDevKit安装
从这里下载[Devkit],注意版本要与Ruby版本一致
下载下来是一个sxs文件,如果你安装有7-zip,可以直接双击,它会自解压到你所选择的目录。 此处输入图片的描述
解压完成之后,有在你所解压的目录下,右键选择git bash,运行下面命令,改命令会生成config.yml.(也可以用cmd进入刚才解压的目录下,执行相同命令)
$ruby dk.rb init
config.yml
文件实际上是检测系统安装的ruby的位置并记录在这个文件中,以便稍后使用。但上面的命令只针对使用rubyinstall安装的ruby有效,如果是其他方式的话,需要手动修改config.yml.我生成的config.yml如下:
# This configuration file contains the absolute path locations of all
# installed Rubies to be enhanced to work with the DevKit. This config
# file is generated by the 'ruby dk.rb init' step and may be modified
# before running the 'ruby dk.rb install' step. To include any installed
# Rubies that were not automagically discovered, simply add a line below
# the triple hyphens with the absolute path to the Ruby root directory.
#
# Example:
#
# ---
# - C:/ruby19trunk
# - C:/ruby192dev
#
---
- C:/Ruby23-x64</font>
最后,执行如下命令,执行安装
$ruby setup.rb
如果没有setup.rb的话,执行:
$ruby dk.rb install
安装jekyll
Jekyll 是一个免费的简单静态网页生成工具,可以配合第三方服务例如: Disqus(评论)、多说(评论) 以及分享 等等扩展功能,Jekyll 可以直接部署在 Github(国外) 或 Coding(国内) 上,可以绑定自己的域名。Jekyll中文文档、Jekyll英文文档、Jekyll主题列表。
Jekyll 环境配置
安装 jekyll
$ gem install jekyll
创建博客(在你所需的位置,例如我在E盘,则在E盘右键git bash 执行下面命令,username.github.io把username改成你的GitHub账号)
$ jekyll new username.github.io
进入博客目录
$ cd username.github.io
安装Bundle
$gem install bundle
Gemfile和bundle安装
在根目录下创建一个叫Gemfile的文件,注意没有后缀,输入:
source "http://rubygems.org"
ruby RUBY_VERSION
gem "jekyll", "3.4.2"
gem 'jekyll-paginate'
gem 'jekyll-sitemap'
gem 'redcarpet'
保存后,在命令行中执行
$bundle install
命令行会根据当前目录下的Gemfile,安装所需要的所有软件。以后使用下面命令,随时更新环境,十分方便
$bundle update
使用下面命令启动本地服务
$ jekyll serve
在浏览器里输入: 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
| └── 2016-10-08-welcome-to-jekyll.markdown
├── _sass
| ├── _base.scss
| ├── _layout.scss
| └── _syntax-highlighting.scss
├── about.md
├── css
| └── main.scss
├── feed.xml
└── index.html
这些目录结构以及具体的作用可以参考 官网文档
进入 _config.yml 里面,修改成你想看到的信息,重新 jekyll server ,刷新浏览器就可以看到你刚刚修改的信息了。
到此,博客初步搭建算是完成了
项目主页
项目主页的目的是为提供一个展示功能的网站,方便项目推广。但是也可以用来做个人博客。在GitHub还提供了多种模板供你选择: 博客基于jekyll,而新手往往摸不着头脑,幸好有一些现成的模板可以直接使用: ###个人主页 每个账户只有一个仓库来存放个人主页,而且仓库的名字必须username/username.github.io,这是特殊的命名约定。你可以通过http://username.github.io来访问你的主页。
博客部署到远端
我这里讲的是部署到 Github Page 创建一个 github 账号,然后创建一个跟你账户名一样的仓库,如我的 github 账户名叫 nilzzzz,我的 github 仓库名就叫 nilzzzz.github.io,创建好了之后,把刚才建立的 username.github.io 项目 push 到 username.github.io仓库里去(username指的是你的github用户名),检查你远端仓库已经跟你本地 username.github.io 同步了,然后你在浏览器里输入 username.github.io ,就可以访问你的博客了。
编写文章
所有的文章都是 _posts 目录下面,文章格式为 mardown 格式,文章文件名可以是 .mardown 或者 .md。
编写一篇新文章很简单,你可以直接从 _posts/ 目录下复制一份出来 2017-03-13-welcome-to-jekyll副本.markdown
,修改名字为 2017-03-13-article1.markdown ,注意:文章名的格式前面必须为 2017-03-13- ,日期可以修改,但必须为 年-月-日- 格式,后面的 article1 是整个文章的连接 URL,建议文章名最好是英文的或者阿拉伯数字。 双击 2016-10-16-article1.markdown 打开
---
layout: post
title: "Welcome to Jekyll!"
date: 2017-03-13 11:29:08 +0800
categories: jekyll update
---
正文...
title: 显示的文章名, 如:title: 我的第一篇文章
date: 显示的文章发布日期,如:date: 2017-03-13
categories: tag标签的分类,如:categories: 随笔
注意:文章头部格式必须为上面的,…. 就是文章的正文内容。
我写文章使用的是markdown编辑器,如果你对markdown 语法不熟悉的话,可以看看作业部落的教程
使用博客模板
虽然博客部署完成了,你会发现博客太简单不是你想要的,如果你喜欢我的模板的话,可以使用我的模板。
首先你要获取的我博客,Github项目地址,你可以直接点击下载博客,进去nilzzzz.github.io/ 目录下, 使用命令部署本地服务
$ jekyll server
提示
Configuration file: E:/nilzzzz.github.io/_config.yml
Configuration file: E:/nilzzzz.github.io/_config.yml
Source: E:/nilzzzz.github.io
Destination: E:/nilzzzz.github.io/_site
Incremental build: disabled. Enable with --incremental
Generating...
done in 2.067 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 'E:/nilzzzz.github.io'
Configuration file: E:/nilzzzz.github.io/_config.yml
Server address: http://127.0.0.1:4000/
Server running... press ctrl-c to stop.
表示本地服务部署成功。
在浏览器输入 127.0.0.1:4000 , 就可以看到nilzzzz.github.io博客效果了。
修改成你自己的博客
- 如果你想使用我的模板请把 _posts/ 目录下的文章都去掉。
- 修改 _config.yml 文件里面的内容为你自己的。
然后使用
git add .
git commit -m "message"
git push origin master
提交到你自己的仓库里面去,检查你远端仓库,在浏览器输入 username.github.io 就会发现,你有一个漂亮的主题模板了。
为什么要是用 Jekyll
使用了 Jekyll 你会发现如果你想使用多台电脑发博客都很方便,只要把远端 github 仓库里的博客 clone 下来,写文章后再提交就可以了,Hexo 由于远端提交的是静态网页,所有无法直接写 Markdown 的文章。
如果你在搭建博客遇到问题,可以在的评论里给我提问。
Q&A
编者按:有许多坑需要自己摸索,静下心一步一步,你可以的~~~ 本文参考 感谢大神们的细心指导,无私分享,比心