如何使用Jekyll+GitHub Pages搭建个人博客站点

作为一名有情怀的工程师,一般都会通过博客来记录自己的生活,成长,工作心得或者经验,大部分人使用博客都会经历如下几个阶段:

(1)记录在大脑中 (不推荐)

(2)使用XXX云笔记

(3)使用iteye,csdn,51cto,开源中国,博客园,简书,等等

(4)使用个人站点+微信公众号

(一)Jekyll是什么

jekyll是一个静态博客的生成器,它可以用来把我们使用markdown来写好的文章给转换成静态网页html来发布。

(二)Github Pages是什么

Github Pages 是面向用户、组织和项目开放的公共静态页面搭建托管服务,站点可以被免费托管在 Github 上,你可以选择使用 Github Pages 默认提供的域名 github.io 或者自定义域名来发布站点。Github Pages 支持 自动利用 Jekyll 生成站点,也同样支持纯 HTML文档。

(三)如何搭建使用

前提条件:

git环境
github账户
ruby环境

`

jekyll底层是使用ruby编写对,所以安装时候需要先安装ruby环境:

在mac先要安装一些软件,这里假设你对git环境已经有了:

brew install ruby

gem install jekyll

gem install bundler

gem install jekyll-paginate

gem install jekyll-gist

`

上面对软件安装完毕后,你就可以在github上搜索一个基于jekyll模版对项目,当然你可以从网上搜索任何你喜欢的主题风格,找到之后使用git clone到自己本地:

git clone xxx.git  myblog

 cd myblog

 jekyll server

` 然后访问http://localhost:4040端口就可以在本地预览你到博客了

如果你喜欢这个主题,那么你就可以fork到你自己到github中,然后clone下来,修改一些地方,然后就push到自己到仓库中,就可以了,一些git操作命令:

git add .
git commit -m "first commit"
git remote add origin https://github.com/alex-my/alex-my.github.io.git
git push -u origin master

`

关于jekyll的博客的目录结构,感兴趣的可以参考官网文档: http://jekyllcn.com/docs/structure/

我们写的文章一般是在_posts目录里面,它的格式如下:

2018-04-11-spark sql大数据量下的调优和实践.md

` 前面是日期,中间是标题,后缀一般是md,看起来比较简洁。

(四)绑定自己到域名

最后说下github里面的项目,进入项目根目录后,点击右上角的Settings配置选项,在里面可以配置自己的站点域名,我这里配置的是我自己的域名,默认情况下一般都是 username.github.io比如我的是:

qindongliang.github.io

` 这样看起来有点简陋,那么绑定我们已经有的域名到github pages上呢,非常easy,首先假设我们已经有一个域名了,没有的话可以自己到网上买,然后在自己到静态站点到根目录下,新建以名字为CNAME到文件,里面的内容就是我们的自己的域名,比如我的:

8090nixi.com

` 注意这里只需要域名后面的部分即可,不需要把http和www都写进来,然后登陆域名管理中心,我这里是阿里云的找到域名解析部分,添加一条CNAME记录:

CNAME @  qindongliang.github.io

` 配置完毕之后,一般10分钟之内就可以生效,如果不出意外,一会就可以通过我们自定义的域名访问我们的静态站点了。

至此,一个属于我们自己独立的个人站点就完成了,使用jekyll+github pages优缺点如下,借用阮一峰老师的总结:

优点:

* 免费,无限流量。

  * 享受git的版本管理功能,不用担心文章遗失。

  * 你只要用自己喜欢的编辑器写文章就可以了,其他事情一概不用操心,都由github处理。

` 缺点:

* 有一定技术门槛,你必须要懂一点git和网页开发。

  * 它生成的是静态网页,添加动态功能必须使用外部服务,比如评论功能就只能用disqus。

  * 它不适合大型网站,因为没有用到数据库,每运行一次都必须遍历全部的文本文件,网站越大,生成时间越长。

`

但对于中小站点来说,无疑是一个不错的方案,感兴趣的朋友可以尝试一下,我个人比较喜欢简洁的站点风格,大家可以通过我公众号底部的菜单栏的博客按钮感受一下。

原文发布于微信公众号 - 我是攻城师(woshigcs)

原文发表时间:2018-04-11

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏编程

开发一款app从PHP到API接口

一、先简单回答两个问题: 1、PHP 可以开发客户端? 答:不可以,因为PHP是脚本语言,是负责完成 B/S架构 或 C/S架构 的S部分,即:服务端的开发。(...

43090
来自专栏架构师之路

58怎么玩数据库架构(upyun架构与运维大会速记)

大家好,我是58沈剑,今天我分享的主题是《58怎么玩数据库架构》,我的PPT页数非常少,讨论的问题非常的聚焦。 一、数据库的基本概念 基本概念就一页PPT,让大...

43490
来自专栏程序员互动联盟

【专业技术】Android如何实现推送?

存在问题: 现在各种实时推送消息不时的在我们手机通知里闪烁,而windowphone搞了那么久在加上,实时消息要求的是实时性。在我们开发中如何掌握这种实时模式呢...

62650
来自专栏匠心独运的博客

过来人的经验,谈谈一致性处理方案—分布式事务(DTS)

传统事务是使用数据库自身的事务属性(ACID),而数据库自身的事务属性是局限于当前实例,不能实现跨库。而对于大型分布式/微服务集群系统中,不仅存在着跨库的事务,...

45340

API-First,Kubernetes上微服务的一种方法

对那些曾经使用更传统方式构建应用的开发者来说,转向容器化微服务不是一个容易的转变。当开发者设计分布式应用时,微服务应用也正是分布式的,其中有许多新的概念和细节需...

43340
来自专栏日常学python

今天说说反爬虫与反反爬虫

这是我的第五篇原创文章 喜欢爬虫的伙伴都知道,在爬网站的内容的时候并不是一爬就可以了,有时候就会遇到一些网站的反爬虫,折回让你爬不到数据,给你返回一些404,4...

49170
来自专栏架构师之路

58到家MQ如何快速实现流量削峰填谷

问:为什么会有本文? 答:上一篇文章《到底什么时候该使用MQ?》引起了广泛的讨论,有朋友回复说,MQ的还有一个典型应用场景是缓冲流量,削峰填谷,本文将简单介绍下...

53050
来自专栏IT大咖说

微软:云原生的MySQL托管服务架构及读写分离的优化

内容来源:2017 年 08 月 24 日,微软中国首席产品经理宋青见在“ODF 2017开源数据库论坛(北京)”进行《云原生的MySQL托管服务架构及读写分离...

13830
来自专栏EAWorld

微服务来了,配置怎么办?

配置管理是个简单的小话题,程序员都已经非常熟悉,咋就跟微服务挂上钩了呢? 前些年没提微服务架构的时候,大家也都会做配置管理相关的事情,比如我接触过的很多项目都做...

37560
来自专栏python开发者

"过期不候"--具备生命周期的数据的技术实现方案

"过期不候"--具备生命周期的数据的技术实现方案 1   引言 本文可以作为之前的一个 原理性文章 对应的 技术实现部分 。 此处给出其上文的直达电梯: htt...

24350

扫码关注云+社区

领取腾讯云代金券