Windows下安装Ruby最好选择 RubyInstaller(一键安装包)。
我们这里下载目前较新的rubyinstaller-1.9.3-p0.exe 一键安装包。这个安装包除了包含ruby本身,还有许多有用的扩展(比如gems)和 帮助文档。
双击安装,安装过程出现如下界面。
这里我们选择安装路径为 D:\Ruby。 下面有3个选项分别是:(1) 是否安装tclTk支持。(2) 添加ruby命令路径到系统环境变量PATH。(3)是否将 .rb 和.rbw 文件关联到Ruby。
这里我们全部打勾。点击“Install” 安装完毕。
打开CMD窗口,运行 ruby -v 显示ruby当前版本号。
你也可以输入 ruby -e 'puts "hello world" ',则显示 hello world。
也可以打开记事本写一段代码如: puts "hello world",保存为 test.rb,然后在CMD中 运行 ruby test.rb 则显示结果 hello world。
我想你不甘心就用记事本来写程序吧,这里推荐一款轻巧的代码编辑器SciTE,支持多种语法高亮显示及高亮导出,且免费开源。以前的RubyInstaller 自带SciTE,而新版需要自己下载。官方地址:scintilla.org windows下有绿色版和安装版,安装版下载 点这里。
安装SciTE后,打开它,我们输入代码 puts "hello world" ,点击菜单=>file=>save 保存文件为test.rb。 然后按键盘F5,右侧输出窗口出现结果。
二、下载并安装RubyGems
RubyGems是一个方便而强大的Ruby程序包管理器,类似RedHat的RPM。它将一个Ruby应用程序打包到一个gem里,作为一个安装单元。 特点:能远程安装包,包之间依赖关系的管理,简单可靠的卸载,查询机制,能查询本地和远程服务器的包信息,能保持一个包的不同版本,基于Web的查看接口,能查看你安装的gem的信息。
从官方下载RubyGems,以zip版本为例,解开压缩包,从CMD提示窗口下进入setup.rb所在目录, 运行 ruby setup.rb 即可安装。
较新的Ruby版本已经包含RubyGems了,因此我们不用手动下载安装了。只需在CMD窗口输入指令:gem update --system ,耐心等待一段时间,已有的RubyGems会更新到目前最新的版本。
三、下载并安装Rails
从CMD提示窗口输入指令:gem install rails 开始安装rails。
如不想安装文档文件,可以输入:gem install rails --no-rdoc --no-ri
程序自动下载并安装rails, 耐心等待。
安装完成后,你可以在路径 D:\Ruby\lib\ruby\gems\1.9.1\gems 看到些东西,都是rails的包文件,与ruby安装在同一目录下。
这时在CMD提示窗口输入指令: rails -v 显示rails的版本号。如图:
四、下载并安装DevKit
DevKit 是windows平台下编译和使用本地C/C++扩展包的工具。它就是用来模拟Linux平台下的make, gcc, sh来进行编译。这个方法目前仅支持通过RubyInstaller安装的Ruby。
下载Devkit:http://rubyinstaller.org/downloads
如果上面的地址打不开,就从这里下载:https://github.com/oneclick/rubyinstaller/downloads/
我们这里使用目前较新的版本 DevKit-tdm-32-4.5.2-20111229-1559-sfx.exe
安装步骤:
1) 将下载 DevKit 解压到 D:\DevKit 目录。
2) 打开 CMD 窗口,进入 D:\DevKit 目录,输入ruby dk.rb init 。#生成config.yml,这里会检查将要添加DevKit支持的Ruby列表,只支持通过RubyInstaller安装的Ruby。
3) 输入 ruby dk.rb install #开始安装。
4) 输入 ruby dk.rb review #检查要添加DevKit支持的Ruby列表是否有误,可以略过。
5) 输入 gem install rdiscount --platform=ruby 。#这一步只是验证DevKit是否安装成功,如果能安装rdiscount成功说明安装DevKit成功,也可以不做。
整个过程如图:
五、创建一个Rails项目
打开CMD提示窗口,进入D盘,输入指令:rails new www ,会在D盘创建名称为www 的rails项目结构。
接着进入www目录,输入指令:rails server ,启动rails自带的 webrick 服务器。
打开浏览器输入地址 http://localhost:3000/ 看到欢迎页面,
下来我们让Rails说 "Hello"
Rails是一个MVC框架,Rails接收来自浏览器的请求,对请求进行解读以找到合适的控制器,再调用控制器中合适的方法。然后,控制调用合适的视图,把结果显示给用户。Rails提供了快速创建视图和控制的方法,打开CMD命令窗口。进入到刚才的www项目目录,输入命令:rails generate controller say hello
下面我打开上图中提示的视图文件,路径是 /项目目录/app/views/say/hello.html.erb
修改为如下形式:
复制代码 代码如下:
<h1>Say#hello</h1>
<p>现在时间是:<%=@time%></p>
注意:将视图文件 hello.html.erb 另存为UTF-8编码格式,否则中文会出现乱码。说明一下是UTF-8编码,而不是 UTF-8 +BOM 编码,BOM 是通过文件开头添加几个字符表示文件编码的标准。但是只有微软用了,x-nix 、PHP、Ruby 不认。
接着打开控制器文件,路径是 /项目目录/app/controllers/say_controller.rb
修改为
复制代码 代码如下:
class SayController <ApplicationController
def hello
@time=Time.now
end
end
打开浏览器访问:http://localhost:3000/say/hello。
如果要更改首页,让首页显示Hello。只需2步:
1) 找到 /项目目录/config/route.rb 文件,查找到这行 # root :to =>'welcome#index' 去掉注释并设置为自己的控制器,修改为 :
root :to =>'say#hello'
2) 删除 /项目目录/public/index.html 文件,因为rails优先读取public目录下的静态文件。
再次访问:http://localhost:3000,首页显示Say#Hello,于上图的内容一致。
六 创建一个使用MySQL数据库的Rails项目
1) 打开CMD窗口,进入D盘,输入命令:rails new work --database Mysql,在D盘创建名称为 work 的rails 项目结构。
2) 必须将libmysql.dll库拷贝到 Ruby安装目录的Bin目录下(D:\Ruby\Bin)。否则在启动服务器时候会提示:“没有找到LIBMYSQL.dll,因此这个应用程序未能启动。重新安装应用程序可能会修复此问题。”
下载地址:http://www.mysql.com/downloads/connector/c/
我们这里下载 mysql-connector-c-noinstall-6.0.2-win32.zip ,解压缩,在lib目录里面的libmysql.dll 就是我们要找的。
3) 修改数据库的配置信息。在 /项目目录/config/database.yml 文件中,分别对应 “开发”、“测试”,“生产” 数据库的配置,把他们修改为自己的配置。
其中development是我们开发中要实际使用的数据库。一定要注意在username: 和 password: 后面至少要保留一个空格。
4) 在CMD窗口输入rake db:craete 命令,会在msyql 中创建由配置信息中所设置的数据库。
5) 我们用scaffold来生成代码,在CMD中输入下面指令:
rails generate scaffold post title:string body:string addTime:datetime
这时候会创建controller, views, models和数据库脚本,但此时还没有创建表。
再输入:rake db:migrate 创建表。完成。
6) 执行命令 rails server
本文在Windows7下测试成功。安装和设置Git
下载Git for
Windows,采用默认安装,安装完成后就可以在本地使用Git了。
但要将内容放到Github上,必须先在Github网站上注册个账户,然后在本机使用Git创建SSH Key。操作如下:
在Git Bash上输入命令:
ssh-keygen -C "[email protected]" -t rsa
Note: “[email protected]”需要更换成你在Github上注册的Email地址或者是Username
这样会在用户目录(C:\Users\用户名)下产生一个.ssh文件夹,里面为对应的SSH
Keys,其中id_rsa.pub是Github需要的SSH公钥文件。
到c:\Users\用户名\.ssh\目录找到id_rsa.pub(可能位置不一定对,但是确认是以.pub结尾的文件),并用记事本打开复制全部内容。
Note:建议私钥公钥的名称最好写成"id_rsa",这样连接Github的时候会找这个文件,如果文件名已定,之后改名也行。
在github网站选择“Account Settings”>>“SSH Public Keys”>>“Add another
public key”,将刚才复制的内容粘贴到key文本框内。
这样就可以直接使用Git和GitHub了。
Note:建议在Git Bash中输入“ssh -v [email protected]”测试能够正常连接github
安装Ruby环境
下载RubyInstaller和DevKit。
因为Octopress需要的Ruby版本为1.9.2,所以选rubyinstaller-1.9.2-p290.exe,DevKit-tdm-32-4.5.2-20111229-1559-sfx.exe。
先安装RubyInstaller,然后解压缩DevKit(路径中不能有中文)。
在“Start Command Prompt with Ruby”命令行中进入DevKit解压缩的目录,然后运行以下命令:
ruby dk.rb init
ruby dk.rb install
gem install rdiscount --platform=ruby
如果安装成功,就可以使用一些Ruby的工具了,也为后面搭建博客提供了基础环境。
安装Octopress
先通过Git从Github上克隆一份Octopress(在Git Bash上输入命令)
git clone git://github.com/imathis/octopress.git octopress
然后安装一些依赖的工具(后面都是在Start Command Prompt with Ruby中输入)
cd octopress
ruby --version # Should report Ruby 1.9.2
gem install bundler
bundle install
安装Octopress默认的Theme
rake install
配置Octopress
将octopress的文件夹下的_config.yml的编码改成UTF-8:
保存(或另存为)时选择编码格式为UTF-8
修改_config.yml,批改url、title、subtitle、author等等。
到Ruby的安装目次\lib\ruby\gems\1.9.1\gems\jekyll-0.11.2\lib\jekyll\找到convertible.rb这个文件,批改self.content
= File.read(File.join(base, name))为self.content = File.read(File.join(base,
name), :encoding =>"utf-8")。
写博文
最简单的方式:复制octopress\source\_posts下某个文件,例如2012-07-30-the-first-post.markdown,修改文件名和文件中的内容
或者,命令行中输入rake
new_post["title"],会创建一个新的Post,新文件在source/_post下,文件名如下面的格式:2012-07-31-title.markdown。该文件可以直接打开修改。
写文章时,可以使用Markdown和Octopress
Plugins等工具对内容进行格式排版。
预览效果
在修改设置或者写完文章后,想看看具体效果,可以通过如下命令来完成:
rake generate
rake preview
将博客部署到Github上
在预览的效果符合自己的预期后,就可以通过如下命令将内容部署到Github上了。
如果是第一次部署,需要在Github上创建一个username.github.com的repository
在github网站选择“Create a New Repo”,如图
填写对应的内容即可
note:Repository
name填写username.github.com,username一定要和github的username一致,建好的博客代表的是你这个github账户的主页即page
配置octopress与github的连接:
进入Octopress目录:
rake setup_github_pages
按照提示填入你的github项目网址,比如:
[email protected]:Username/yourname.github.com.git
note:可以按照上面的修改,也可以在github的项目页中找地址
分发到github上:
rake deploy
第一次运行时,会询问是否建立对github的授权,输入:yes。然后将站点更新的内容推送到github上。
补充一点:
最后的但并不是最重要的,我们需要将修改的日志同步到github上,因此下面的3个命令也是必须的。
git status
git add .
git commit -m 'your message'
git push origin source
大功告成!
在github pages网站下用jekyll制作博客教程在我动手用jekyll部署我的博客之前,一直使用godaddy上面的wordpress主页来部署我的博客kresnik.co。WordPress当然有很多的优点,在我看来我用WordPress主要是为了
方便清晰的文件结构
可以随意选用的各种模板和插件
相对便宜的部署价格
因为这些优点,所以我想我还会在WordPress官网上继续保留我的免费博客。
既然这样,看官想必想问为什么要换成jekyll来重新部署博客?我简单的总结了一下:
流行又简洁的MarkDown写作语法
轻量级的网站结构,不再有动态网站的沉重
方便的和github pages结合,不仅免费,而且方便
所以对比与WordPress的沉重,jekyll让你回归到创作本身,当然如果你喜欢折腾,jekyll也绝对不会让你失望。推荐下面几个站点亮一下。
rusty shutter
Rasmus Andersson
安装流程
要用github pages,首先要在github中建立一个基于你的用户名的repository: 比如说我,就要建立名为kresnikwang.github.io的repo。在以前的github版本中还需要在后台开启pages的功能,现在系统检测到这样的repo名称之后,会在setting中自动开启GitHub Pages的功能,如下图: 这样之后你就可以把这个repo克隆到本地随意进行修改了,在这个里面上传的网页就是你的网站的内容了,可以上传一个index.html试一试,这就是你的网站主页了。 关于GiuHub的使用,可以看几个比较好的入门教程:GitHub
之后我们就要在本地部署jekyll,jekyll的原理很简单。这是一个已经合成好的静态html网站结构,你用这个结构在username,http://github.io文件夹里面粘帖好所有文件。再把更新完的本地repo推送到GitHub的master branch里面,你的网站就更新建设完毕了。 首先你需要ruby来使用本地jekyll。Mac和Linux可以用Terminal配合yum或者brew这样的包管理器很方便的安装ruby。Windows下更是方便,可以直接中集成好的Ruby installer来进行安装,文章里的就是传送门。
安装完ruby,之后就是要安装RubyGems,gem是一个ruby的包管理系统,可以用gem很方便的在本地安装ruby应用。
安装方法
//在RubyGems官网上下载压缩包,解压到你的本地任意位置
//在Terminal中
cd yourpath to RubyGems //你解压的位置
ruby setup.rb
有了gem之后安装jekyll就很容易了,其实用过nodejs和npm的同学应该很熟悉这样的包安装,真是这个世界手残脑残们的救星。。。。。(楼主不自觉的摸了摸自己快残了的手) 安装jekyll,有了gem,直接在Terminal里面输入以下代码:
$ gem install jekyll
好了,现在你的电脑已经准备完毕了。如果你是想自己捣鼓,可以根据这样的目录结构在你的http://username.github.io文件夹下建立以下目录结构:
├── _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
├── _site
└── index.html
你可以一个个依次建立起来,然后在自己编写一个你想要的博客。
如果你只是个普通用户,只是想要一个模板然后开始写自己的博客。那就很容易了,有几个可以简单开始的模板。
poole/poole · GitHub极简风格的模板
Jekyll Themes jekyll的模板网站,可以找到各式各样你喜欢的模板。
下载完了模板,可以吧里面的内容解压到你自己的网站目录底下。这时候你可以测试一下:
$ cd you website path //cd到你的网站目录下
$ jekyll serve
//一个开发服务器将会运行在 http://localhost:4000/
//你就能在本地服务器看到你用模板搭建的网站了
这时候可以看一下jekyll的设置,让你把模板变成你自己个性化的内容。在网站根目录下面找到_config.yml,这里会有几个比较关键的设置: 里面的permalink 就是你博客文章的目录结构,可以用pretty来简单的设置成日期+文章标题.html,也可以用自己喜欢的结构来设置。 记得把encoding 设置成utf-8,这样有利于中英文双语的写作和阅读。
到这里你就可以开始写博客了,所有的文章直接放在_posts文件夹下面,格式就是我们之前提到的markdown文件,默认的格式是.md和.markdown文件。每篇文章的开始处需要使用yml格式来写明这篇文章的简单介绍,格式如下:
---
author: kresnikwang
comments: true
date: 2015-04-28 17:42:32+00:00
layout: post
title: PHP, Angular JS Development|My Export Quote|农产品出口工具开发
categories:
- Works
- Tech
tags:
- bootstrap
- javascript
- php
- AngularJS
---
layout就是post,让jekyll知道你这是一篇post,很直观。需要注意的是里面的date,必须按照yml的语法来写,否则就会出现编译错误。可以只用YYYY-MM-DD来显示日期,也可以像我一样在后面加上 HH:MM:SS+00:00 来表示更具体的时间。
到此为止可以开始尽情的写博客了,用GitHub软件同步到你的repository里面,网站上面就可以进行正常的显示了。如果说要添加一下有用的extra功能的话,评论和相关文章这两个功能比较多人会关注。 评论我们可以用Disqus国内应该也有类似的网站,到Disqus注册一个账号,选择添加评论区域到自己的网页,你将会的得到类似的代码:
<!-- Add Disqus comments. -->
<div id="disqus_thread"></div>
<script type="text/javascript">
/* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
var disqus_shortname = '<USERNAME>'// required: replace example with your forum shortname
var disqus_identifier = "/works/tech/2016/06/07/%E5%9C%A8github%20pages%E7%BD%91%E7%AB%99%E4%B8%8B%E7%94%A8jekyll%E5%88%B6%E4%BD%9C%E5%8D%9A%E5%AE%A2%E6%95%99%E7%A8%8B.html"
/* * * DON'T EDIT BELOW THIS LINE * * */
(function() {
var dsq = document.createElement('script')dsq.type = 'text/javascript'dsq.async = true
dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js'
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq)
})()
</script>
<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>
根据不同的模板,把代码添加到_post/post.html或者_include/post.html里你的文章底下,那当这篇文章被访问时,下方就会有评论区了
相关文章的功能也比较好做,jekyll本来就集成了site.related_posts的功能,自动会寻找相关内容的文章,在你的post代码下面融入以下代码:
<aside class="related">
<h2>Related Posts</h2>
<ul class="related-posts">
<li>
<h3>
<a href="http://kresnikwang.github.io///journey/2015/06/05/kresnik.co-%E5%8D%9A%E5%AE%A2%E6%90%AC%E5%AE%B6%E5%91%8A%E7%A4%BA.html">
kresnik.co博客搬家告示
<small><time datetime="2015-06-05T00:00:00+00:00">05 Jun 2015</time></small>
</a>
</h3>
</li>
<li>
<h3>
<a href="http://kresnikwang.github.io///tech/2015/06/02/javascript-include-html-page-by-jquery.html">
Javascript Include Html Page By Jquery
<small><time datetime="2015-06-02T18:45:42+00:00">02 Jun 2015</time></small>
</a>
</h3>
</li>
<li>
<h3>
<a href="http://kresnikwang.github.io///tech/2015/05/31/Github-use-http-instead-of-git.html">
Github设置,强制使用"https://" 来代替 "git://"
<small><time datetime="2015-05-31T05:03:36+00:00">31 May 2015</time></small>
</a>
</h3>
</li>
</ul>
</aside>
你每篇文章下面就会有三个相关文章的链接了。
这篇教程就到这里,有机会我想再写写liquid语法制作jekyll模板的内容和从wordpress导入文章到jekyll来的方法。喜欢能有些用处,感谢。
附上出处链接:https://www.zhihu.com/question/23934523