Windows下使用Jekyll搭建个人博客

 第一次想写博客的初衷是了解到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

  • 为什么没有看到评论区?
  • 评论区我使用的是disqus构建的需要翻墙,另一种使用国内的多说构建评论区,但是我在申请站点时网站崩溃,你可以自己看需求自己去注册,只需在我的模板里_config.yml做出修改

编者按:有许多坑需要自己摸索,静下心一步一步,你可以的~~~ 本文参考 感谢大神们的细心指导,无私分享,比心