一.使用jekyll和Github三步搭建个人博客

  1. 在 Github 上建一个库,库的名字是xxx.github.com,其中的xxx是你的github的账号名(图中标注的不要勾选)

注:如果没有Github账号,需要注册一个,进入Github官网

  1. 在Jekyll模板中选择自己喜欢的模板clone到本地(这里选Bef做实例)
  1. 对模板中的信息进行修改(注释掉_config.yml文件里:baseurl:“/bef”),将模板push到自己的库中,然后访问xxx.github.io,可访问到自己的博客,so easy!

注:由于此模板图片较多,所以加载较慢,视觉效果还是不错的。

二.So cool发生了什么?

为什么只是简单的三步操作,就完成了个人博客的搭建呢?

搭建网站的整体思路就是:先在本地编写符合Jekyll规范的网站源码(在模板基础上更改),然后上传到github,这种上传并不是单纯的上传,而是会经过Jekyll程序的再处理。由github生成并托管整个网站。

1.Jekyll是什么?

Jekyll是一个简单的静态站点生成器,它会根据网页源码生成静态文件。是两大静态博客主流框架(jekyllhexo)之一。jekyll有很多模板,可以结合gitHub用来搭建免费的个人博客,jekyll使用Liquid模板语言(官方文档),是基于ruby的,所以如果在本地使用jekyll必须先搭建jekyll环境,我的建议是不必花时间在本地安装环境,由于gitHub page已经安装好环境,所以直接push到gitHub看实际效果更为明智.

2.Github Pages是什么?

   Github Pages 是Github 面向用户、组织和项目开放的公共静态页面搭建托管服务,允许站内生成网页,也允许用户自己编写网页,然后上传。站点可以被免费托管在 Github 上,可以选择使用 Github Pages 默认提供的域名 github.io 或者自定义域名来发布站点。Github Pages 支持自动利用 Jekyll 生成站点,Github Pages可以被认为是用户编写的、托管在github上的静态网页。

3.优劣分析

优势:简单,免费,文章保存在github上,并且使用git的版本管理功能,不用担心文章遗失,可以在任何时间地点写文章push到gitHub发布,而且支持markdown语法,可以把主要精力放在写文章上。

劣势:有一定技术门槛,你必须要懂一点git和网页开发。它生成的是静态网页,添加动态功能必须使用外部服务,例如评论功能。因为没有用到数据库,每运行一次都必须遍历全部的文本文件,网站越大,生成时间越长。所以它不适合大型网站。

但是,总的来说,搭建中小型Blog,特别是个人博客,确实是个很好的选择。既拥有绝对管理权,又享受github带来的便利,更主要的是,这一切是免费的,github提供无限流量。

三.刨析实例

1.目录结构

2._config.yml:这个文件特别重要是保存配置的,标题,描述,评论等;基本上博客的所有配置可以放在这个文件里。

3._layouts这里存放的是模板文件,发布的文章会根据文章顶部的yaml文件头来设置一些元数据,如"layout:default",表示该文章的模板使用_layouts目录下的post.html文件;"title: ",表示该文章的标题,如果不设置这个值,默认使用嵌入文件名的标题等等。4._includes这里面的就是可以重复利用的文件。这个文件可以被其他的文件包含,重复利用。{% include head.html %},就是引用head.html。

5._posts这里的文件就实际的文章内容了。文件名必须使用“年-月-日-文章标题.后缀名”的格式。在博客上发布文章的时候,只需要在此文件夹中加入带有 YAML 头信息的 markdown 文件,然后 push 到 Github,就会被自动渲染成 HTML。

四.给个人博客加评论功能。

第三方的评论系统有很多,这里选择gitalk来进行演示,gitalk是纯客户端组件,无 Server 端,使用 Github 登录,所有评论数据存储为 Github Issue。

1.首先需要注册GitHub Application,Authorization callback URL 填写当前使用插件页面的域名。具体见下图。

2.创建comments.html,内容如下,添加到about页面(这里以about页面为例,其它页面类似)

{% if page.comments != false %}

    {% if site.comments_provider == 'gitalk' %}
        <div id="gitalk-container"></div>
        <script src="/assets/js/gitalk.min.js"></script>
        <script>
        var gitalk = new Gitalk({
            id: '{{ page.url }}',
            clientID: '{{ site.gitalk.clientID }}',
            clientSecret: '{{ site.gitalk.clientSecret }}',
            repo: '{{ site.gitalk.repo }}',
            owner: '{{ site.gitalk.owner }}',
            admin: ['{{ site.gitalk.owner }}'],
            labels: ['gitment'],
            perPage: 50,
        })
        gitalk.render('gitalk-container')
        </script>
    {% endif %}
{% endif %}

3.在gitHub上创建仓库blog-comments,添加如下代码到_config.yml

注:clientID和clientSecret是第一步注册的时候得到的,owner是自己的用户名

comments_provider: gitalk
# !!!重要!!! 请修改下面这些信息为你自己申请的
gitalk:
    owner: jueye3
    repo: blog-comments
    clientID: fa5504fe07f319cba9ee
    clientSecret: 30532bea61e8b63dc5a852e448621a8c89cef99b

4.下载gitalk.min.js(放到assets/js文件夹下)和gitalk.css(放到assets/css文件夹下), push后访问,效果如下图

5.使用gitHub账号登陆初始化,就可以使用评论功能了。效果如下图。

五.给个人博客加统计功能

相信很多人对自己的博客访问量还是很感兴趣的,好的关注度和大的访问量能给自己写博客很大信心,下面我就介绍一下如何给自己的博哥添加统计功能(以百度统计为例)

1.在百度统计上注册账号并登陆,然后新增网站

2.在_includes下创建baidu-anaylysis.html,内容是百度统计生成的代码,

3.在head.html文件中添加{% include  baidu-anaylysis.html %},Push后可以检查是否成功。

4.代码正确安装,可以查看报告了

六.给个人博客绑定域名

首先需要有域名,如果没有域名,可以通过很多渠道注册域名,有了域名之后,新建一个CNAME文件(无后缀名),然后用文本编辑器打开,在首行添加你的网站域名,如http://xxxx.com,注意前面没有http://example.com或者xxx.example.com。

在域名解析提供商,下面以百度云为例。
(1)先添加一个CNAME,主机记录写@,后面记录值写上你的http://xxxx.github.io

(2)再添加一个CNAME,主机记录写www,后面记录值也是http://xxxx.github.io

这样别人用www和不用www都能访问你的网站(其实www的方式,会先解析成http://xxxx.github.io,然后根据CNAME再变成http://xxx.com,中间是经过一次转换的)。

注:上面,我们用的是CNAME别名记录,也有人使用A记录,后面的记录值是写github page里面的ip地址,但有时候IP地址会更改,导致最后解析不正确,所以还是推荐用CNAME别名记录要好些,不建议用IP。等十分钟左右,刷新浏览器,用你自己域名访问下试试

结束语

按照本篇文章搭建起个人博客应该不成问题,并且应该不会花费多少时间就能完成,但是要博客个性化,搭建一个自己喜欢的博客,可能就需要下一番功夫了,我建议还是模板上改,先找一个自己喜欢的模板,在改的过程中会有一些自己的想法,慢慢搭建一个自己喜欢的具有个人风格的博客。欢迎大家和我在交流,

使用jekyll和Github搭建个人博客的更多相关文章

  1. 通过jekyll在Github 搭建个人博客

    能快乐旅行的人,一定是轻装旅行的人 前言 应广大的网友(装逼~~哈哈)要求,决定写个Jekyll+Giuhub搭建博客的教程,以便帮助更多的人,毕竟我也是这么过来的.这是我的博客地址,可以先看看效果. ...

  2. jekyll+github搭建个人博客总结

    jekyll+github搭建个人博客 经过一天多的折腾,终于算是搭建好了自己的个人博客,看到有些社区评论说:在windows下用jekyll搭建静态博客,简直就自讨苦吃,但是都到一半了,有什么办法呢 ...

  3. Windows上使用jekyll+github搭建免费博客

    jekyll+github搭建个人博客 (一)下载Ruby (二)安装jekyll (三)开启jekyll服务器 (四)使用github展示博客 一.下载Ruby Ruby,一种简单快捷的面向对象(面 ...

  4. 用Jekyll在github上写博客——《搭建一个免费的,无限流量的Blog》的注脚

    本来打算买域名,买空间,用wordpress写博客的.后来问了一个师兄,他说他是用github的空间,用Jekyll写博客,说很多人都这么做.于是我就研究了一下. 比较有价值的文章有这么几篇: htt ...

  5. 用Jekyll在github上写博客

    用Jekyll在github上写博客——<搭建一个免费的,无限流量的Blog>的注脚 本来打算买域名,买空间,用wordpress写博客的.后来问了一个师兄,他说他是用github的空间, ...

  6. 《Hexo+github搭建个人博客》

    <Hexo+github搭建个人博客> 文/冯皓林 完稿:2016.4.22-2016.4.23 注意:本节教程只针对Windows用户.本教程由无人赞助,赞助写出. <Hexo+g ...

  7. 使用Node.js+Hexo+Github搭建个人博客(续)

    一.写在前面 在我的上一篇博客<使用Nodejs+Hexo+Github搭建个人博客>中,已经介绍了如何使用 Hexo 在 Github Pages 上搭建一个简单的个人博客.该篇博文将在 ...

  8. Mac上基于hexo+GitHub搭建个人博客(一)

    原文地址: http://fanjiajia.cn/2018/11/23/Mac%E4%B8%8A%E5%9F%BA%E4%BA%8Ehexo+GitHub%E6%90%AD%E5%BB%BA%E4% ...

  9. 如何用hexo+github搭建个人博客

    搭建环境 1.安装 Node.js: https://nodejs.org/en/ windows下点击链接,下载安装即可;Linux下更加简单,在终端下输入sudo apt-get install ...

随机推荐

  1. 采购,接收数据收集SQL汇总(从订单->接收->INVOICE所有数据关联SQL)

    INDEX OF QUERIES Source Document: Purchase Order: 1: po_headers_all (sql) 2: po_lines_all (sql) 3: p ...

  2. two sum II

    Given an array of integers that is already sorted in ascending order, find two numbers such that the ...

  3. Web 前台优化

    大型网站--前端性能优化和规范 2013-10-28 09:00 by 贤达, 2769 阅读, 10 评论, 收藏, 编辑   Web性能涉及的范围太广,但一般web开发者在程序上线以后很多都曾遇到 ...

  4. 双机热备ROSE HA工作原理

    双机热备ROSE HA工作原理 当双机热备软件启动后,ROSE HA首先启动HA Manager管理程序,根据高可靠性系统的配置结构初始化,然后启动必要的服务和代理程序来监控和管理系统服务.HA代理程 ...

  5. flash 视频 死机(转贴)

    http://zhidao.baidu.com/question/120464366 打开有关flash的网站就定屏死机 打开flash的网站经常定屏死机,打开酷狗,看土豆网遇到旁边那些广告也一样死机 ...

  6. pg_dump命令帮助信息

    仅为参考查阅方便,完全命令行帮助信息,无阅读价值. pg_dump dumps a database as a text file or to other formats. Usage:  pg_du ...

  7. 百度技术沙龙之2013-2&3

    2013年2月2日技术沙龙 商业产品开发------谢马林 业务逻辑加大设计难度 集成难度大 降低学习成本 统一标准化开发模式 面向集成的架构平台 业务复杂,设计抽象的技术支撑不够 抽象6类数据流业务 ...

  8. Spring Cloud Config - RSA简介以及使用RSA加密配置文件

    简介 RSA非对称加密有着非常强大的安全性,HTTPS的SSL加密就是使用这种方法进行HTTPS请求加密传输的.因为RSA算法会涉及Private Key和Public Key分别用来加密和解密,所以 ...

  9. Java多线程:wait(),notify(),notifyAll()

    1. wait(),notify(),notifyAll() 2. wait() 2.1. wait() 2.2. wait(long timeout) 2.3. wait(long timeout, ...

  10. QT窗体的小技巧

    1.界面透明 setWindowOpacity(0.8);//构造函数中加此句,1为不透明,0为完全透明,0.8为80%不透明. 2.设置背景图片 QPixmap pixmap = QPixmap(& ...