使用github与jekyll搭建个人博客(一)
虽然使用博客园还没有多久,但是最近看到一些大神的博客觉得很是炫酷。于是突发奇想,想要搭建自己的博客站点儿。编程菜鸟一枚,还是想要记录下最近的搭建博客经历。
使用github搭建个人博客的方式有很多,百度了很多,最多最好用的还是使用jekyll。
首先第一步,建立github pages站点儿,教程在这里。
第二步便是安装jekyll,其实最近有朋友推荐使用Hexo来搭建,但是由于对node.js的不了解,研究了两天,但是执行到$ npm install -g hexo-cli 这一步时,始终会出现错误,思虑再三,应该是系统或者安装的某个程序的版本问题,导致Hexo无法安装成功。安装Hexo带来的挫败感让我很烦躁,折腾再三最终还是放弃了。于是换用jekyll。在百度上查看再三,只知道jekyll与Hexo相比可能更需要一些其他方面的编程知识,但是,还是要尽力一时。安装jekyll的步骤:
1、jekyll 是一款简单的博客系统,静态网站生成器。她有一个模版目录,存放整个静态网站的模版文件,可以通过Liquid处理模版文件,把使用标记语言Textile或Markdown编写的内容文件,按照模版格式,转换成最终的静态网站页面。大名鼎鼎的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搭建个人博客(一)的更多相关文章
- 使用GitHub Pages+Jekyll搭建个人博客
GitHub Pages 免费无限容量的站点数据托管工具(国内访问速度较慢),内置Jekyll服务,能将特定名称的代码仓库动态编译为静态网页 Jekyll 基于Ruby的静态网页生成系统,采用模板将M ...
- 使用 github + jekyll 搭建个人博客
github + jekyll 本地写markdown,然后push到github,就成了博客 其实我一早就知道这两者可以搭建个人博客,因为本人有个很好的习惯——每天都会去看看一些热门文章,了解行业最 ...
- 使用Jekyll + GitHub Pages免费搭建个人博客
使用Jekyll + GitHub Pages免费搭建个人博客 My Blog:无名の辈 | VectorX (vectorxxxx.github.io) Download Ruby:Download ...
- 利用Octopress在github pages上搭建个人博客
利用Octopress在github pages上搭建个人博客 SEP 29TH, 2013 在GitHub Pages上用Octopress搭建博客,需要安装ruby环境.git环境等.本人在Fed ...
- 使用github和hexo搭建静态博客
获得更多资料欢迎进入我的网站或者 csdn或者博客园 终于写这篇文章了,这是我使用github和hexo搭建博客的一些心得,希望能给大家一点帮助.少走点弯路.刚接触github,只是用来存项目的版本, ...
- GitHub Pages + Hexo搭建个人博客网站-github风格-采坑记录
目录 1.本机安装nodejs 2.github上创建仓库 3.安装hexo 4.hexo主题 5.配置主题 6.添加文章 7.使用分类和标签 8.增加文章目录 9.推送github 使用github ...
- 使用jekyll在GitHub Pages上搭建个人博客【转】
网上有不少资源,但大多是“授人以鱼”,文中一步一步的告诉你怎么做,却没有解释为什么,以及他是如何知道的.他们默认着你知道种种专业名词的含义,默认着你掌握着特定技能.你折腾半天,查资料,看教程,一步步下 ...
- 使用github+jekyll搭建个人博客
聊聊起初 每次看到大牛们的博客,都会激起一颗一定要搭建自己博客的心,毕竟有着一颗向大牛们看齐的心.但是一直不知道如何下手,从最初的csdn写写博客到在github上建立仓库写代码分享,虽然也能够记录一 ...
- 【原】Github+Hexo+NextT搭建个人博客
摘要 GitHub 是一个开源项目的托管网站,相信很多人都听过.在上面有很多高质量的项目代码,我们也可以把自己的项目代码托管到GitHub,与朋友们共享交流.GitHub Pages 是Github为 ...
随机推荐
- 【NoSql】MongoDb
[NoSql]MongoDb 一. 文档 1. 官网 2. C# Driver 3. C# 开发文档 二. 命令 1. --config "C:\mongodb\mongod.cfg&quo ...
- Java线程基础实例
概述 Java线程是一个在实战开发中经常使用的基础功能,而在Java中线程相关的类在java.lang和java.util.concurrent里 Thread package thread.base ...
- Mediator(中介者)-对象行为型模式
1.意图 用一个中介对象来封装一系列的对象交互.中介者使各个对象不需要显示地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互. 2.动机 通过将集体行为封装在一个单独的中介者对象中,中介者 ...
- sqlite的增删改查
// 基本步骤 // 1. 打开数据库 // 2. 处理数据 // 3. 关闭数据库 //先设置全局变量 lazy var documentsPath: String = { let paths = ...
- nginx + lua + redis 防黑IP
lua脚本 local redis = require "resty.redis" local red = redis.new() red.connect(red, '127.0. ...
- 关于BaseExpandableListAdapter
首先要明确,可折叠列表在每个项是包含子项的,那么肯定会用到集合嵌套!下面是封装的两个实体类: package com.yx.pojo;public class Chid { privat ...
- NHibernate 映射失败 is not mapped
1 区分大小写(实体类名) 2 MAP的XML设置为嵌入的资源 3 hibernate.cfg.xml配置添加map的程序集<mapping assembly="Model" ...
- Spring Framework 笔记(一):IoC
一:Spring中重要的概念 1. 容器( container ) : spring容器( ApplicationContext )的工作原则是创建容器中的组件( instance ),处理组件之间的 ...
- XE3随笔17:实例 - 模拟 Google 搜索
本例测试效果图: 代码文件: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics ...
- SQL Server2005索引碎片分析和解决方法
SQL Server2005索引碎片分析和解决方法 本文作者(郑贤娴),请您在阅读本文时尊重作者版权. 摘要: SQL Server,为了反应数据的更新,需要维护表上的索引,因而这些索引会形成碎片.根 ...