虽然使用博客园还没有多久,但是最近看到一些大神的博客觉得很是炫酷。于是突发奇想,想要搭建自己的博客站点儿。编程菜鸟一枚,还是想要记录下最近的搭建博客经历。

使用github搭建个人博客的方式有很多,百度了很多,最多最好用的还是使用jekyll。

首先第一步,建立github pages站点儿,教程在这里

第二步便是安装jekyll,其实最近有朋友推荐使用Hexo来搭建,但是由于对node.js的不了解,研究了两天,但是执行到$ npm install -g hexo-cli 这一步时,始终会出现错误,思虑再三,应该是系统或者安装的某个程序的版本问题,导致Hexo无法安装成功。安装Hexo带来的挫败感让我很烦躁,折腾再三最终还是放弃了。于是换用jekyll。在百度上查看再三,只知道jekyll与Hexo相比可能更需要一些其他方面的编程知识,但是,还是要尽力一时。安装jekyll的步骤:

1、jekyll 是一款简单的博客系统,静态网站生成器。她有一个模版目录,存放整个静态网站的模版文件,可以通过Liquid处理模版文件,把使用标记语言TextileMarkdown编写的内容文件,按照模版格式,转换成最终的静态网站页面。大名鼎鼎的GitHub Pages就是通过她实现的。

安装jekyll,首先需要在本机MacBook上安装ruby,本机装有Xcode,其也自动安装了ruby,知识版本较低,以至于此版本无法使用gem安装jekyll。使用gem update --system命令对gem进行升级也无法成功。

所以,需要先安装brew:HomeBrew是新一代Mac OS的套件管理工具,使用其安装套件十分简单,由于mac自带ruby,所以只需要打开终端,用命令行输入

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

便可以自动安装。

2、Homebrew安装完成之后,通过她安装最新版ruby.(通过$ ruby --version  查看后,我当前版本的ruby为

2.0.0p481)命令如下:

brew install ruby

最新版ruby安装完成之后,会提示你最新版本安装在/usr/local/opt/ruby/bin目录下面。原来的旧版仍然在/usr/bin下面.

可以修改环境变量PATH的值,将新版本的路径在查找路径中前置。修改~/.bash_profile文件,如下:

export PATH=/usr/local/opt/ruby/bin:$PATH

修改方式,可以打开终端,在命令行输入echo 'export PATH=/usr/local/opt/ruby/bin:$PATH' >> ~/.bash_profile

打开一个新的Terminal,echo $PATH ,查看新的$PATH内容。

或者显示隐藏文件,直接编辑~/.bash_profile文件。

(关于还原默认$PATH:显示隐藏文件后在Finder中直接删除~/.bash_profile。

或者在终端输入:cd ~/; ls -la; rm -rf .bash_profile; ls -la)

修改后source ~/.bash_profile或者重新打开一个Terminal,新版Ruby就生效了。

可以通过ruby --version查看版本号,我的新版信息如下:

ruby 2.2.1p85 (2015-02-26 revision 49769) [x86_64-darwin14

如果,版本不对,就使用which ruby看看,当前生效的ruby是否在/usr/local/opt/ruby/bin下,不对,就修改环境变量PATH,如上。

如此,安装ruby最新版完成,但是此时执行gem update --system命令,仍然发生了错误,报以下错误:

(Gem::RemoteFetcher::FetchError)

究其原因,可能在于墙的问题,无法成功从ruby处下载数据。由于国内网络原因,导致 rubygems.org 存放在 Amazon S3 上面的资源文件间歇性连接失败。所以你会与遇到 gem install rack 或 bundle install的时候半天没有响应,具体可以用 gem install rails -V 来查看执行过程。

此时我们可以更换淘宝的镜像。这是一个完整 rubygems.org 镜像,你可以用此代替官方版本,同步频率目前为15分钟一次以保证尽量与官方服务同步。

具体执行步骤为:

$ gem sources --remove https://rubygems.org/
$ gem sources -a https://ruby.taobao.org/
$ gem sources -l
*** CURRENT SOURCES *** https://ruby.taobao.org
# 请确保只有 ruby.taobao.org
$ gem install rails

此方法摘自于:这里

之后再执行

gem update --syste

OK,完美升级。我升级完之后的版本为2.4.6。

3、有了最新版的ruby,安装jekyll就简单了。

gem install jekyll

如果使用的标记语言是Markdown,则需要另外安装

gem install rdiscount

如果使用的标记语言是Textile,则需要另外安装

gem install RedCloth

上面三个可以一次性安装,如下

gem install jekyll rdiscount RedCloth

说明:这里安装的jekyll、rdiscount、redcloth都安装在本机的/usr/local/opt/ruby/bin目录下面。

4、现在测试一下jekyll

cd ~
mkdir jekyllTest
cd jekyllTest
git clone https://github.com/mojombo/tpw.git
cd tpw
jekyll server

在浏览器访问localhost:4000,或者终端最后显示的地址,显示博客列表。OK,成功!

注:关于Github+Jekyll的工作机制,可以查看这里

												

使用github与jekyll搭建个人博客(一)的更多相关文章

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

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

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

    github + jekyll 本地写markdown,然后push到github,就成了博客 其实我一早就知道这两者可以搭建个人博客,因为本人有个很好的习惯——每天都会去看看一些热门文章,了解行业最 ...

  3. 使用Jekyll + GitHub Pages免费搭建个人博客

    使用Jekyll + GitHub Pages免费搭建个人博客 My Blog:无名の辈 | VectorX (vectorxxxx.github.io) Download Ruby:Download ...

  4. 利用Octopress在github pages上搭建个人博客

    利用Octopress在github pages上搭建个人博客 SEP 29TH, 2013 在GitHub Pages上用Octopress搭建博客,需要安装ruby环境.git环境等.本人在Fed ...

  5. 使用github和hexo搭建静态博客

    获得更多资料欢迎进入我的网站或者 csdn或者博客园 终于写这篇文章了,这是我使用github和hexo搭建博客的一些心得,希望能给大家一点帮助.少走点弯路.刚接触github,只是用来存项目的版本, ...

  6. GitHub Pages + Hexo搭建个人博客网站-github风格-采坑记录

    目录 1.本机安装nodejs 2.github上创建仓库 3.安装hexo 4.hexo主题 5.配置主题 6.添加文章 7.使用分类和标签 8.增加文章目录 9.推送github 使用github ...

  7. 使用jekyll在GitHub Pages上搭建个人博客【转】

    网上有不少资源,但大多是“授人以鱼”,文中一步一步的告诉你怎么做,却没有解释为什么,以及他是如何知道的.他们默认着你知道种种专业名词的含义,默认着你掌握着特定技能.你折腾半天,查资料,看教程,一步步下 ...

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

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

  9. 【原】Github+Hexo+NextT搭建个人博客

    摘要 GitHub 是一个开源项目的托管网站,相信很多人都听过.在上面有很多高质量的项目代码,我们也可以把自己的项目代码托管到GitHub,与朋友们共享交流.GitHub Pages 是Github为 ...

随机推荐

  1. 提高sevenzipsharp 检查密码的速度(1)

    前言:sevenzipsharp检查密码(包括检查压缩包的有效性)的函数是SevenZipExtractor.check(), sevenzipsharp调用的是7zip的动态链接库,而且不止是7zi ...

  2. SecureCRT中文乱码解决已设置UTF-8

    查看服务器编码 查看linux的编码,修改为自己需要的,本文将已UTF-8为例进行说明.修改Linux服务器的配置文件:[root@iitshare ~]# vi /etc/sysconfig/i18 ...

  3. thinkphp 验证

    //YongHuModel.class.php namespace Home\Model; use Think\Model; class YongHuModel exstends Model { pr ...

  4. python第十八天-----Django基础

    1.路由系统 a.普通路由 url(r'^index$', views.index), b.正则路由 url(r'^index/(\d*)', views.index), url(r'^manage/ ...

  5. MVC中实现只有当用户登录成功的时候才等浏览内容,否则跳转到登录页面

    第一步,在登录的时候记录Session //提供Session接口方便后面判断用户登录 Session["UserInfo"] = uinfo;  //uInfo是用户登录Mode ...

  6. JS之模块模式应用

    之前做过一些简单的单页面应用项目,是对模块模式很好的应用,我决定动手做一个简单的Demo出来. 基本思想是设计一个加载器,当用户点击菜单时,获取不同选项的按钮id,根据不同id实现对页面内容的替换. ...

  7. UiAutomator自动化测试框架介绍

    UiAutomator自动化测试框架介绍 环境搭建 1         必要条件 1.1       JDK 1.2       SDK(API高于15) 1.3       Eclipse 2    ...

  8. 【转】Win7 64bit Oracle 11g 使用PL/SQL Developer 连接时提示“SQL*Net not properly installed”

    转载:http://www.cnblogs.com/xihuaodc/p/3189257.html  因为之前的Oracle不能用了,所以重新安装了64位的Oracle,安装一路正常 完了之后安装了P ...

  9. c++父类和子类转化致命的代码错误

    最近在工作中,出现了严重的代码错误,对象的基类和子类的继承,代码大致如下: class A { }; class B : public A { } void main() { A* a;(用于子类对象 ...

  10. textField和textView限制输入条件

    以下两法方法都是实现textfield和textView的代理方法  需要先遵循代理 一:textField限制只能输入数字和小数点 且小数点后只能保留两位 小数点前最多5位 - (BOOL)text ...