在windows环境下从wordpress迁移到jekyll

使用了一段时间wordpress之后,感觉这个框架还是比较庞大和混乱,而且可能由于服务器的问题,有时会出现网站无法访问的情况。于是决定采用最近比较流行jekyll框架,将页面挂载到github上,由于本身框架就比较轻便以及github一直以来稳定优良的服务,速度和可靠性都比wordpress要好一点,而且接触了一下markdown这种编辑语言,发现既没有纯文本编辑的繁琐操作,又保证了良好的排版,写作的体验真是不能更好。

在这里简单说一下,Jekyll是用Ruby编写的静态页面生成工具,比起wordpress因为不需要使用数据库,所以速度会快很多。而Github Pages原本是为了使项目更方便被人理解而提供的服务,现在除了做项目介绍之外,很多人也用它来挂载个人博客。

由于自己之前接触github的机会很少,所以git的操作也是找教程简单速成的,在这里简单记录一下在window环境下搭建jekyll并上传到github上的过程

1.安装ruby&Devkit

方法1:直接安装Ruby&Devkit

  1. 从rubyinstaller上下载ruby和对应版本的Devkit,注意官方推荐最好选1.9.3的版本 :http://rubyinstaller.org/downloads/
  2. 安装ruby
  3. 将Ruby的安装路径如 C:\Ruby200-x64 添加到系统环境变量
  4. 打开命令行输入 ruby -v 检查是否安装成功
  5. 运行Devkit的安装包,选择解压到一个文件夹下面(DevKit 是一个在 Windows 上帮助简化安装及使用 Ruby C/C++ 扩展如 RDiscount 和 RedCloth 的工具箱。)
  6. 打开刚才解压了Devkit的文件夹下面的 config.yml,在文件的末尾添加 - 你的Ruby安装路径(如C:\Ruby200-x64)
  7. 回到命令行窗口,输入如下语句
    ruby dk.rb review
    ruby dk.rb install

方法2:通过railsInstaller安装

用easyInstall是比较讨巧的办法,它会把ruby、rails、Devkit以及Bundler、Git等等同时打包安装好,如果同时也有在windows上开发ruby on rails的需求的话,用easyInstall安装简直是独一无二的选择(本人亲测手动在windows上安装新版本的rails会出各种bug几乎没办法成功,血淋淋的教训),一键安装无需教程

下载地址:

http://www.railsinstaller.org/en

2.安装Jekyll

  1. 打开命令行,输入gem install jekyll
  2. 输入 jekyll -v 如果有版本信息提示说明安装成功

3.启动Jekyll

  1. 选择一个文件夹如D:/blog作为工程文件夹
  2. 在该工程文件夹下打开命令行工具
  3. 在命令行中输入 jekyll new blog (blog就是工程名,可以任意)
  4. 在命令行中输入 cd blog 进入工程文件夹下(blog为刚才的工程名)
  5. 在命令上中输入 jekll server ,就可以在浏览器上通过 localhost:4000来访问你的博客啦

4.从wordpress迁移文章

从wordpress迁移到jekyll的原理是将wordpress的日志转成jekyll所需的markdown格式的文件 ,这里用到的工具需要安装Python,从度娘那里找到一个安装Python的教程 http://www.cnblogs.com/hongten/p/hongtenpythoninstall.html

  1. 将wordpress内容在后台导出成xml文件,在仪表盘里面选工具-导出,下载导出的文件即可
  2. 下载或者用git clone https://github.com/thomasf/exitwp 里面的工程文件
  3. 将刚才下载的文件解压到一个文件夹下
  4. 进入该文件夹,把刚才下载的xml文件复制到 wordpress-xml文件夹下
  5. 进入命令行,输入 python exitwp.py 执行,这里可能会报错说没有找到bs4这个模块,需要安装BeautifulSoup4这个依赖包,步骤如下

    1. 到网站上下载:http://www.crummy.com/software/BeautifulSoup/bs4/download/
    2. 解压文件到C:\Python27
    3. cmd运行C:\Python27\BeautifulSoup>python setup.py install
    4. 测试一下是否能导入 >>>ipmort bs4
  6. 运行完成后在build文件夹下找到\_posts文件夹,将里面的内容全部复制到blog工程文件下的_posts文件夹里面

  7. 在blog工程文件夹下打开命令行,输入jekyll b 重建一下工程,再访问localhost:4000就可以看到wordpress里面的文章被全部转移到jekyll里面啦

注意

在这里可能会遇到一个错误,如果你的category是带有中文名的话jekyll是不支持的,会提示"\xAF\xBB" from GBK to UTF-8这样的错误,这时候就需要改变一下jekyll的文件组织方式。避开的方法,在_config.yml中新增一行

    permalink: /:year/:month/:day/:title  

5.上传工程到github,生成静态页面

Git环境配置

  1. github上申请一个账号,记得要记住自己的用户名哦,注意要验证一下邮箱,否则没办法生成github pages
  2. 安装msysgit,在http://msysgit.github.io/上下载,msysgit是windows版的Git,安装完成之后在文件夹下点鼠标右键就会有git的相关工具了
  3. 在blog文件夹下面点击右键,进入Git Bash
  4. 输入命令 $ ssh-keygen -t rsa -C "你刚才注册的邮箱地址@xxx.com" ,回车回车回车,生成ssh key
  5. 进入~/.ssh文件夹,将id_rsa.pub文件的内容全部复制
  6. 在Github的主页左上方上点Account Settings按钮,选择SSH Keys项,把复制的内容粘贴进去,点击 Add Key
  7. 回到Bash,输入 $ssh -T git@github.com看是否设置成功
  8. 设置账号信息,在Bash里输入
    $ git config --global user.name "你的名字"
    $ git config --global user.email "your_email@youremail.com"

上传Github Pages

  1. 在Github里面建立一个仓库,名为username.github.io,username为你的用户名
  2. 进入blog项目文件夹下,右键进入Git Bash
  3. 输入以下命令
    git init
    git remote add origin git@github.com:你的用户名/你的用户名.github.io.git
    git add.
    git commit -m "first commit"
    git push origin master
  4. 在github上查看一下是否push成功
  5. 通过浏览器访问username.github.io,就可以看到效果啦,如果10分钟内还是404的话查看一下自己的邮箱,看是否是因为没有通过验证导致的失败

你好!

You’ll find this post in your _posts directory. Go ahead and edit it and re-build the site to see your changes. You can rebuild the site in many different ways, but the most common way is to run jekyll serve, which launches a web server and auto-regenerates your site when a file is updated.

To add new posts, simply add a file in the _posts directory that follows the convention YYYY-MM-DD-name-of-post.ext and includes the necessary front matter. Take a look at the source for this post to get an idea about how it works.

Jekyll also offers powerful support for code snippets:

def print_hi(name)
  puts "Hi, #{name}"
end
print_hi('Tom')
#=> prints 'Hi, Tom' to STDOUT.

Check out the Jekyll docs for more info on how to get the most out of Jekyll. File all bugs/feature requests at Jekyll’s GitHub repo. If you have questions, you can ask them on Jekyll’s dedicated Help repository.

《字体故事》:文字之美如同空气

作为一个业余的设计者,为自己的作品挑选字体是一件司空见惯的事情,也经常在电脑里三四百种中西文字体中间眼花缭乱。最近读来东西文库出版的《字体故事》(英文原名为just your type),才惊喜地发现这些风格各异的字体背后还有这种种或唏嘘或捧腹的往事。 <!-- more -->

无论是从约翰内斯古登堡时代的第一个字体texture,还是乔布斯出品引领字体设计走向数字化的个人电脑macintosh,其实字体设计的历史多带着那么一些闪闪发光的极客精神。想想古老时代的字体艺术家将图纸上的图样雕成精细的字模,现代的字体艺术家在电脑屏幕上把每个设计细节放到最大锱铢必较,心里都想着做出一款伟大的字体改善出版改造设计的场面,其实跟在地下车库里吭叱吭哧码代码又幻想着改变世界的我们可爱的程序猿们也颇有相似之处。从古登堡的草莽时代开始,越来越多的人投入到这个需要精细的耐心和技术的行业。我们坐在电脑前,翻开书,沉浸在文字和知识中的同时也享受着美好的排版和字体设计给我们带来的良好阅读体验。文字本身的美就像是空气一样自然,但读完这本书,当你看到gill sans就不得不想到gill本人的放荡得令人乍舌的生活,看到arial和segoe就无法不对微软卑劣的抄袭行为心生不快,看到times new roman,就不得不想到旧时印在泰晤士报上的古旧字体,看到futura,就不得不想到宜家换字体引发的激烈争论,看到frutiger,就不得不想到戴高乐机场的标志牌…像这样换个角度来看书,这就是这本书给我们生活带来的一些“彩蛋”吧。

记得去年的这个时候也曾看过关于字体的纪录片《helvetica》,对照一起简直是相得益彰(加菲尔德在书里也提到了这部电影)。同样提到这款具有传奇色彩的瑞士字体(helvetica在瑞士语里的意思就是瑞士)在现代社会里无孔不入,电影里面用了大段让人目眩的街头场面配以及和helvetica一样充满现代感的电子音乐体现这一点,而加菲尔德用了一个纽约字体设计师想过一天没有helvetiva的生活这个稍微有点让人乍舌和捧腹的小故事给读者留下深刻的印象。其实就像helvetica在现代西方社会中占据重要地位给我们的启示,一款伟大的字体的本来不该承载任何意义,它该是像白开水一样纯粹的、简单的,因而可以适用于不同的场合和环境,它随时可以被赋予不同的意义而不至于引起人们的注意。它可以中立,也可以邪恶,可以傲慢也可以谦卑,可以放荡不羁也可以严肃认真,因而永远年轻现代而不会随着时代的潮流褪色。但反观那位纽约的字体设计师所抵制的,helvetica虽然伟大,却并不能在任何场合下都是最适合的,字体的多元性也不应该因为一款伟大字体的出现而被取代。comic sans这种字体用来写文档简直是灾难,但印在漫画书上就恰到好处不是吗?

最后不得不说一下本书的作者西蒙 加菲尔德,作为一个非虚构作家和记者能够对字体的历史了解这么全面和深入甚是让人称奇,大段大段引经据典的英式幽默也足以让读者捧腹而观。跟一些枯燥无味的历史书不一样,本书并没有按照历史顺序,而是分裂成一个一个互相独立又或许有着某种神秘联系的小故事,虽然少了能够一口气贯穿历史的感觉,但这也让它看起来更像是一本随手拿来随便翻到某一页就可以品读的小书,看看像“文盲之手”、“道路意外”、“隧道视觉”、“狐狸,手套”这些有趣的标题,不得不为作者的独具匠心暗暗称奇。

总结一下书中出现的经典字体(非本人原创,来自豆瓣网友整理)

Comic Sans Designed by Vincent Connare

众所周知的漫画体,给人以温暖,21世纪遭到很多人的抵制,因为太多人开始滥用它,

Trebuchet Designed by Vincent Connare

带有漂亮弧线的半正式的人文主义风格字体,适用于网页设计

Arquitectura Designed by Andrew Newman

高耸而坚定,很有男子气概,略带太空时代的味道,适用于平面设计,海报,封面等等

Centaur Designed by Andrew Newman

犹如手写,富有女性的优雅和魅力,多变、轻盈和卷曲

Texture Designed by Johannes Gutenberg

世界上第一种字体

Caslon Egyptian Designer N/A

最古老的无衬线字体,优雅的古典韵味,与现代的衬线字体格格不入

_Cooper Black Designed by Oswald Cooper _

字怀偏大,易认不易读,遥望最佳,越大越好,越大越感到妙趣横生,主要使用在logo或唱片封面标题上

Garamond Designed by Claude Garamond

是欧洲使用最广泛的字体,持续了近二百年。它标志着人类的字体从粗黑的哥特体向罗马样式的最终转型,庄重而不失温情。

Baskerville Designed by John Baskerville

一样是过渡型字体,典型特点:Q的那一撇

Johnson Sans Designed by Edward Johnson

这个字体定义了伦敦,无衬线,无强烈情感,易识别

Verdana Designed by Matthew Carter

Helvetica Designed by Max Miedinger

塑造出了整个现代世界的伟大字体,它如氧气般蔓延于世界上的各大街道,标志着大众交通和消费主义时代的降临,占领了整个世界,它是起源于Akzidenz Grotesk,一个来自德国的现代无衬线字体。

Arial Designed by Arial

是微软可以设计出来,以替代Helvetica,减少授权费。设计圈很不爽微软的行为。

_Univers Designed by Adrian Frutiger _

Helvetica在瑞士的亲表弟,个人不太喜欢

Frutiger Designed by Adrian Frutiger

用作指示牌,完美

Transport Designed by Magaret Calvet

专门用于道路指示牌

_Akzidenz Grotesk Designer N/A _

“和蔼可亲的同时又咄咄逼人”

_Cheitenham Designer N/A _

强壮而强硬的衬线,流行于美国印刷行业,其实并无多少美感1

Bodoni Designed by Bodoni

别致、优雅、精炼,for posters

Meta Designed by Eric Spiekermann "

在数码数字的世界里创造温暖“

Frankin Gothic Designed by Morris Benton

Gotham Designed by Tobias Frere-Jones

奥巴马的竞选字体,值得信赖的字体,真诚、权威

Souvenir

an old style serif typeface, designed in 1914 by Morris Fuller Benton for American Type Founders. 真男人不用souvenir.

字体小品中涉及的字体:

Gill Sans Designed by Eric Gill

20世纪的经典,最具英伦风情,是个不挑剔的字体, 设计者不便评说

_Albertus Designer by Berthold _

Wolpe精致,坚挺,非常适用于海报,给人以庄重和幽默感,尖锐的刀工,uppercase为佳

Futura Designed by Paul Renner

包豪斯式的简单,又兼顾效率,2009年宜家标志由Futura 改为Verdana.

Doves Designed by Edward Prince

没什么好说的,这个字体的唯一活字块被它的拥有者扔到了河里

Mrs Eaves & Mr Eaves Designed by

为了纪念Baskerville的妻子而起名,相当于Baskerville的现代版本,一个是衬线体一个非衬线体 .

Frutiger Designed by Adrian Frutiger

Frutiger五十多岁时设计的字体,比Univers更灵活,用作指示牌时有异常的温暖和柔情

Optima Designed by Zapf

德国式的锋利,香水都用它

Sabon Designed by Jan Tschichold

易读的字体

Vendome Designed by Ganeau

华丽、高雅、奢侈