Allen's Blogs 创建历程(1)

很早很早以前我就开始玩博客,陆陆续续注册了很多平台,比如博客中国、cnblogs、javeeye(现在叫iteye)、csdn,也零零散散写了一些文章,不过没有坚持多久,工作忙起来后就不再更新,自我回顾一下好像还真没有什么干货,只算是给互联网里堆了一串01010101的数据罢了。那为什么最近又动了写 Blogs 的心思,原因是最近读了一本书,书名是:《软技能:代码之外的生存指南》,里面第二篇:自我营销中讲到程序员自我营销的重要性,其中一点就提到了写 Blogs。总结来说,程序员写写 Blogs 不仅是自我营销的一种方式,还是一种很好的学习方式,不是说知识能说出来才算学到了么。

Jekyll & GitHub Pages

自我总结一下,之前没有坚持下来很大一个原因就是一个字:“懒”,再加上之前的那些 Blogs 系统多多少少会有点不足。我也曾经尝试过购买 VPS 主机,自己搭建 Blogs,我甚至还为之购买了域名,可是后来发现,为何 VPS 是何等的费时费力。要安装软件,要安装数据库,还要防止被盗链导致流量不够用,哎,都是泪,不说了。到最近,无意中看到一篇译文,似乎是《像黑客一样写博客》,瞬间就被带上车了,开始使用 Jekyll 和 GitHub Pages 架设我的静态博客。

要在使用 GitHub Pages 服务,首先需要创建一个名字叫 “[你的用户名].github.io” 的项目:

接着把新建好的项目 Clone 下来,有两种方式 Clone 项目,一种是点击项目右上角的绿色“Set up in desktop”按钮使用 Github 客户端 Clone 项目;另外一种就是通过终端命令行来 Clone 项目。

$ git clone [you project addr] [your locale dir]

Clone 完成后,需要在本地搭建 Jekyll 的写作环境,正式开启静态博客之旅。

Jekyll 环境准备

首先安装必要工具

  • Ruby:Mac OS X 10.5以上都自带
  • RubyGems:Mac OS X 10.5以上都自带
  • Xcode Command-Line Tools: 安装Xcode会自动安装,检查Preferences → Downloads → Components是否有Command-Line Tools这项提供下载,如果没有说明已安装
  • git:命令行输入git –version检查是否已安装,下载地址:http://sourceforge.net/projects/git-osx-installer/

在国内 gem 源地址可能已经被墙(万恶的 GFW),所以你可能需要将 gem 源替换为淘宝的镜像源:

// 移除官方镜像源$ gem sources --remove https://rubygems.org/// 添加淘宝镜像源,或者其他镜像地址$ gem sources -a http://ruby.taobao.org/// 验证是否替换成功$ gem sources -l

如果终端中出现下面的显示则代表替换成功。

*** CURRENT SOURCES ***http://ruby.taobao.org/

接着开始安装 Jekyll

// 更新下 gemsudo gem update --system

MAC 系统版本如果是 El Capitan 使用下面这个命令。这是因为 Apple 在 OS X El Capitan 中全面启用了名为 System Integrity Protection (SIP) 的系统完整性保护技术。受此影响,大部分系统文件即使在 root 用户下也无法直接进行修改,所以需要把安装路径替换为用户有写入权限的目录。

sudo gem update -n /usr/local/bin --system

如果你嫌每次都要打安装路径比较麻烦,你也可以把它变成默认配置,在用户根目录下创建一个名为.gemrc的文件,在里面写入gem: -n/usr/local/bin,并保存。或者使用下面的命令:

echo "gem: -n/usr/local/bin" >> ~/.gemrc

接下来安装 Jekyll

$ sudo gem install jekyll// 如果提示权限错误,请使用下面的命令$ sudo gem install jekyll -n /usr/local/bin

OK,这样 Jekyll 环境就安装完成了,接下来导入 Jekyll 后,就可以开始写作了。在网络上有很多漂亮的 Jekyll 主题可供你选择,你可以访问jekyllthemes.io找到你喜欢的主题并下载下来,或者通过 Google 搜索,如果还不满意,你也可以选择自己创建一个主题。选择好你喜欢的 Jekyll 的主题后,将主题复制到前面从 Github 上 Clone 的项目文件夹中去。一个典型的 Jekyll Blogs 的目录结构应该如下面所示:

.├── _config.yml├── _drafts| ├── begin-with-the-crazy-ideas.textile| └── on-simplicity-in-technology.markdown├── _includes| ├── footer.html| └── header.html├── _layouts| ├── default.html| └── post.html├── _posts| ├── 2007-10-29-why-every-programmer-should-play-nethack.textile| └── 2009-04-26-barcamp-boston-4-roundup.textile├── _data| └── members.yml├── _site├── .jekyll-metadata└── index.html

在该目录下执行:

$ jekyll server // 简写 jekyll s

在浏览器地址栏中输入:http://localhost:4000/ 就可以看到刚才新建的 Blog 长什么样子了。在这里新增、修改、删除文章都可以实时的看到,只需要刷新页面即可。你可以试着修改那篇默认文章看看效果。

开始写作

Jekyll 博客的配置全在 Blogs 根目录的_config.yml文件中,一般来说,只要没有什么特殊的需求,只需要修改诸如:博客名、所有者名字、email等信息即可,如果有更多的需求,请参考所用主题的说明和 Jekyll 的文档:https://jekyllrb.com/docs/configuration/。我的 Blog 的基本配置如下,可以参考:

name: Allendescription: Blogging about stuffsmeta_description: "Allen's Blog"markdown: krmarkredcarpet:highlighter: pygmentslogo: falsepaginate: 20baseurl: /domain_name: 'http://allenn.cn/'google_analytics: 'UA-XXXXXXXX-X'# Details for the RSS feed generatorurl: '/rss.xml'author: 'Allen'

好了,一切准备就绪,我们可以开始写作了。按照 Jekyll 的规范,文章是放在_posts目录下的,并且需要以时间戳开头,比如:2007-10-29-why-every-programmer-should-play-nethack.md,在文章的开头,需要增加一些描述性的东西,这样 Jekyll 才能正确的处理我们写的文章。

---layout: posttitle: "在多线程构建场景下Powermockito无法在不同类中Mock同一个静态方法"date: 2015-10-14 13:50:39comments: truecategories: 软件技术tags: [Java, 单元测试]---

写好描述后,就可以开始愉快的写正文啦,当你洋洋洒洒的写完你的大作后,你可以使用下面的命令将你的文章提交到 Github 上,完成之后过几分钟应该就能看到新的文章已经在你的个人博客主页上了。

$ git add .$ git commit -m 'xxxxx'$ git push origin master

总结

总的来说,使用 GitHub Pages + Jekyll 搭建简单的静态博客是非常容易上手的,只要有一点编程基础应该都能搞得定,而且不用像自己搭建 VPS 那样要时不时去维护主机,当然了,Jekyll 也并非完美,下篇文章我将分享我用 Jekyll 时踩到的一些坑。

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏linux、Python学习

123个Python黑客工具,再也不用问女朋友要手机密码了

今天的文章来源于dloss/python-pentest-tools,本文中列举了123个Python渗透测试工具,当然不仅于渗透~

69120
来自专栏信安之路

信安之路挑战赛红蓝对抗题目全解析

首先,题目其实设置不是太难,主要是坑有点多,而且需要一定的时间才能完成。因为要本着贴近实战的原则出题,所以在做题的时候,很多人还是带着做传统 CTF 题目的思路...

75130
来自专栏魏艾斯博客www.vpsss.net

更换 sitemap 插件为 Google XML Sitemaps 及相关设置过程

26220
来自专栏蓝天

Linux下可以替换运行中的程序么?

今天被朋友问及“Linux下可以替换运行中的程序么?”,以前依稀记得Linux下是可以的(而Windows就不让),于是随口答道“OK”。结果朋友发来一个执行结...

21820
来自专栏前端说吧

vue项目实战 — — 那些自己给自己挖的深坑

13830
来自专栏hotqin888的专栏

电子规范管理系统(2)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hotqin888/article/det...

18310
来自专栏方盼的专栏

千亿级服务器监控数据存储实践

公司目前有几十万台左右服务器,TMP(腾讯监控平台)平均每天采集1200亿+监控数据,本文将从当前存储架构存在的问题出发,介绍使用大数据平台组件 Hbase 存...

1.8K10
来自专栏刘望舒

设计模式(十四)中介者模式

前言 写了很多篇设计模式的文章,才发现没有讲关于设计模式的分类,那么这一篇就补上这一内容,顺便带来中介者模式的讲解,并与此前讲过的代理模式和外观模式做对比。 1...

20650
来自专栏Fundebug

Fundebug前端JavaScript插件更新至1.2.0

摘要: Fundebug的前端JavaScript错误监控插件更新至1.2.0:支持监控WebSocket连接错误;修复了监控unhandledrejectio...

17260
来自专栏腾讯云安全的专栏

你熟悉的Android Root 方式有哪些?|附演示视频

30150

扫码关注云+社区

领取腾讯云代金券