github + jekyll

本地写markdown,然后push到github,就成了博客

其实我一早就知道这两者可以搭建个人博客,因为本人有个很好的习惯——每天都会去看看一些热门文章,了解行业最新动态,所以什么新鲜事儿我都知道点,可能不熟悉而已。

于是今晚就试着弄一下,去百度找了几个文章,结果一注意时间(程序员职业病)都是好几年之前的了,我瞬间就怀疑了时效性,因为技术发展太快了。于是就摸着石头过河,果然踩了几个雷。

雷就不说了,这不重要,重要的是总结一下正确的步骤。

创建github帐号和项目

github——俗称全球程序员社交网站(我觉得应该叫全球程序员伸手即得网站)——如果你作为一名程序员竟然没有github帐号,那你看到这篇文章时,就应该自罚三杯牛栏山了——好喝不上头!

登录github站点,然后接下来要做一个重要的事儿————如果你的用户名是gebilaowang,那么你要创建一个名为gebilaowang.github.io的项目,我的用户名是wangfupeng1988,所以我当时创建了名为 wangfupeng1988.github.io 的项目。

什么?你不会创建项目?—— 那你先暂停,先去了解一下github的基本应用

安装 jekyll

首先,本抱歉,我这里只有mac笔记本,windows的安装过程我不清楚,自己个儿查去吧——所谓,你不自己动手、谁闲的教你呀?

我用 mac os 安装 jekyll 算是经历了一点波折。从网上搜的安装过程都是这样的

## 检查gem版本
$ gem -v
## 更新Gem(提示权限)
$ gem update --system
安装jekyll(提示权限)
$ gem install jekyll
安装成功之后,查看版本号
$ jekyll -v

但是我既然这么说,那肯定这样就是失败的,据说是由于『10.11对系统文件安全进行了更新,所谓的(SIP)』。后来才发现,原来只有默认的安装路径才会有这个权限的问题,那干脆就把路径改了就是了。打印出系统的$PATH然后另外找一个路径安装就是了,这样的好处就是安装完了不用再修改$PATH——否则安装这个也改、安装那个改,时间长了就乱了。

$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/git/bin ## 换个路径安装
$ gem install jekyll -n /usr/local/git/bin

还有执行gem update --system的时候可能需要科学(fan)上网(qiang),这个就得自己想办法了。不过没有购买vpn的同学,我推荐使用Lantern(mac用户),没用过的搜一下。虽然速度慢、有时不行,但毕竟免费的,要啥自行车?

哦 对了,以上安装完了之后呢,最好安装一个rdiscount,据说是解析markdown用的,方法跟安装jekyll一样

gem install rdiscount -n /usr/local/git/bin

初始化博客

上一步,jekyll、rdiscount已经安装成功了。

然后进入你置顶的文章目录,执行以下命令,然后你就能看到jekyll已经为你创建了一些基本的文章。

$ jekyll new gebilaowang_blog
$ cd gebilaowang_blog
$ ls

这面的文件夹名称、作用都是规定好的,想对他们有简单的了解,还是去看看阮一峰老师的这篇文章吧,我就不再赘述了。但是,这篇文章有些信息已经过时,只准看,不准照着做!

想要看效果,运行

$ jekyll serve
$ open http://127.0.0.1:4000/

这时候你会看到运行除了一个基本的页面,但是都是英文。这个没关系,都是应为咱们可以改成中文。

先打开./_config.yml,把里面的信息改成你个人的信息,姓名、邮箱、描述什么的,能改的都改了。然后打开./about.md./index.html将里面的英文看着能修改的也都修改了。

注意,代码中``和\{\% ... \%\}内容不能修改,这都是变量,不是普通文字。还要注意,每个页面类似如下代码,即有两个---的部分,只能修改,不能删除!

---
layout: page
title: 关于
permalink: /about/
---

好,全部改完之后,重新运行jekyll serve,刷新页面,即可看到效果了。

你说,刚才改英文改的是模板和个人信息的,但是博客内容怎么办?我怎么写博客呀?—— 别急,饭得一口一口吃

提交到github

运行jekyll serve通过浏览器本地查看没问题之后,可以提交到github了。提交之前,要创建一个.gitignore文件,编写如下内容(表示./_site文件夹及其内容无需提交到远程,因为它本地临时文件,github不需要它)

_site/*

提交过程就简单写一下了,不再赘述,都是git的常用知识。看以前的文章说非得建一个gh-pages分支,但是经过我验证,不需要。

$ git init
$ git add .
$ git commit -m "init blog"
$ git remote add origin xxxxxxx(拷贝github的地址)xxxxxxx.git
$ git push origin master

好了,然后你浏览器访问gebilaowang.github.io试试(假如github用户名是gebilaowang),是否看到效果了?

写文章

有两个规定先记下:

  • 文章必须新建在./_posts文件夹中
  • 文章名称必须是yyyy-mm-dd-xxxxx-xxx-xxx格式,后缀名可以是.markdown | .html | .textile (但我只推荐markdown形式,因为易学、通用、效率高)

例如,我写这篇文章,我就要新建一个./_posts/2016-07-24-github-jekyll-blog.markdown的文件,此时你们应该可以在这里看到这个文件及其源码。

开始编写博客源码。

一开始要这样写,下面的内容中,layout: post不能修改,其他的可自行修改。

---
layout: post
title: "使用 github + jekyll 搭建个人博客"
date: -- :: +
categories: share
---

写完这几行之后,剩下的就可以自己轻松愉快的写markdown了。是不是很简单?

运行jekyll serve,即可在任何时候通过浏览器及时查看效果。待文章写完并查看效果没问题之后,即可push到github上,这样就OK了。

总结

建议大家都弄一个个人站点,很简单也很方便,提升bi格、形象的同时,也为自己积累平时的知识。

 
 

-------------------------------------------------------------------------------------------------------------

欢迎关注我的教程:

使用grunt搭建全自动web前端开发环境json2.js源码解读视频

深入理解javascript原型和闭包系列》《css知多少》《微软petshop4.0源码解读视频

------------------------------------------------------------------------------------------------------------

wangEditor,轻量化web富文本编辑器

-------------------------------------------------------------------------------------------------------------

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

  1. 使用github+jekyll搭建个人博客

    聊聊起初 每次看到大牛们的博客,都会激起一颗一定要搭建自己博客的心,毕竟有着一颗向大牛们看齐的心.但是一直不知道如何下手,从最初的csdn写写博客到在github上建立仓库写代码分享,虽然也能够记录一 ...

  2. 使用GitHub Pages+Jekyll搭建个人博客

    GitHub Pages 免费无限容量的站点数据托管工具(国内访问速度较慢),内置Jekyll服务,能将特定名称的代码仓库动态编译为静态网页 Jekyll 基于Ruby的静态网页生成系统,采用模板将M ...

  3. 【一】Ubuntu14.04+Jekyll+Github Pages搭建静态博客

    本系列有五篇:分别是 [一]Ubuntu14.04+Jekyll+Github Pages搭建静态博客:主要是安装方面 [二]jekyll 的使用 :主要是jekyll的配置 [三]Markdown+ ...

  4. 使用github + Octopress 搭建免费博客 + 碰到问题的解决方法

    使用github + Octopress 搭建免费博客,先说碰到的问题,具体创建方法见下面. 问题1, 添加ruby淘宝链接问题,显示无法获取, 解决: source “http://ruby.tao ...

  5. 使用github pages搭建个人博客

    一.环境准备 使用Github Pages搭建个人博客,一劳永逸,可以让我们更加专注于博客的撰写.博客的更新是通过将新建或改动的博客放在指定文件夹并推送到远程Github仓库来完成的,所以我们本地需要 ...

  6. Octopress + GitHub Page 搭建个人博客

    Tips:博客已搬家,新地址:http://wanxudong.top 首先说明两个关键术语: Octopress Octopress是基于 Jekyll 的博客框架.他们的关系就像 jQuery 与 ...

  7. 在github上搭建个人博客并在线更新

    换博客比更博还勤的我终于决定写一篇博客搭建教程了.. FAQ Q:\(hexo\)需要本地编译.\(jekyll\)虽然可以直接上传\(md\)..但是如果在github上直接编译也太难受了叭,毕竟不 ...

  8. 基于 Hexo + GitHub Pages 搭建个人博客(一)

    前言:我的博客写作之路 15 年刚上大学,第一次接触公众号,就萌生了创建一个公众号写点东西,但最终不了了之. 很快到了 16 年,开始接触网上各大博客网站,接触最多的当属 CSDN,萌生了注册一个博客 ...

  9. 基于 Hexo + GitHub Pages 搭建个人博客(二)

    在 基于 Hexo + GitHub Pages 搭建个人博客(一) 这篇文章中,我们已经知道如何使用 Hexo + GitHub Pages 搭建一个个人博客,GitHub 为我们提供了免费的域名和 ...

随机推荐

  1. Java 集合 — HashMap

    HashMap 无序(每次resize的时候都会变) 非线程安全 key和value都看可以为null 使用数组和链表实现 查找元素的时候速度快 几个重要属性: loadFactor:用来计算thre ...

  2. java接口中多继承的问题

    java中支撑多继承吗? 支持->接口啊 为什么接口支持多继承呢?因为接口中没有方法体!即使可能两个接口中有一样的抽象方法,但是 只会调用子类中覆盖该同样抽象方法的具体方法!不会引起调用的歧义! ...

  3. 使用ExifInterface设置Datetime发生的问题

    最近在弄一个Android小程序,需要把图像的生成时间设置到Exif的Datetime,用ExifInterface.setAttribute(ExifInterface.TAG_DATETIME,& ...

  4. spring学习遇到的问题汇总

    1.spring注解路由方面的误解 我一直以为在web.xml中配置拦截*.action后,在注解路由的时候必须要xxxx.action. 刚才发现,访问的时候xxxx.action,然后@Reque ...

  5. javascript小技巧:同步服务器时间、同步倒计时

    之前在网上看到有人提问,如何在页面上同步显示服务器的时间,其实实现方法有几种,可能一般人立马就想到可以使用Ajax每隔一秒去请求服务器,然后将服务器获取到时间显示在页面上,这样虽然能够实现,但存在一个 ...

  6. CSS魔法堂:你真的懂text-align吗?

    前言 也许提及text-align你会想起水平居中,但除了这个你对它还有多少了解呢?本篇打算和大家一起来跟text-align来一次负距离的交往,你准备好了吗? text-align属性详解 The ...

  7. 开源通信(C#)__

    GitHub中的README文件,使用markdown格式的文件. 下面简单介绍下相关语法: 大标题: =================================== 大标题一般显示工程名,你 ...

  8. asp.net中Ajax控件的用途(一)

    1,UpdatePanel控件,用户更新部分内容,示例 放入一个Label和一个Button,单击按钮,label显示当前时间. 2,ScriptManagerProxy控件,每个页面只能有一个Scr ...

  9. IIS8发布WCF接口中遇到的问题总结

    环境:系统Win8.1+VS2013+IIS8 在VS13中新建一个WCF服务应用程序,新建之后系统会默认给我们新建一个方法.

  10. Extjs中全键盘操作,回车跳到下一单元格

    listeners: { afterRender: function (thisForm, options) { var els = Ext.DomQuery.select('input[type!= ...