Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Site updated at 2012-04-21 15:13:11 UTC

  • Loading branch information...
commit 0c6757d8da2159fac2ec8613b6ae5429459b7cfb 1 parent b7567f7
@wongyouth authored
View
104 atom.xml
@@ -4,7 +4,7 @@
<title><![CDATA[Wongyouth's Blog]]></title>
<link href="http://wongyouth.github.com/atom.xml" rel="self"/>
<link href="http://wongyouth.github.com/"/>
- <updated>2012-04-21T18:27:06+08:00</updated>
+ <updated>2012-04-21T22:49:42+08:00</updated>
<id>http://wongyouth.github.com/</id>
<author>
<name><![CDATA[Wongyouth]]></name>
@@ -14,6 +14,108 @@
<entry>
+ <title type="html"><![CDATA[用octopress来写博客并发布到Github上]]></title>
+ <link href="http://wongyouth.github.com/blog/2012/04/21/install-octopress-to-write-blogs-and-deploy-on-github-dot-com/"/>
+ <updated>2012-04-21T20:54:00+08:00</updated>
+ <id>http://wongyouth.github.com/blog/2012/04/21/install-octopress-to-write-blogs-and-deploy-on-github-dot-com</id>
+ <content type="html"><![CDATA[<p>用过不少博客,MSN spaces,blogger.com,myspace, wordpress,搜狐,总是觉得少了点自由发挥的空间。直到现有有了<a href="http://octopress.org/">octopress</a>,就像我这个博客一样,这才是咱程序猿该有的!</p>
+
+<ol>
+<li>安装</li>
+<li>配置</li>
+<li>发布</li>
+<li>写第一个博文</li>
+</ol>
+
+
+<h2>安装</h2>
+
+<figure class='code'><figcaption><span>Install octopress</span></figcaption><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
+<span class='line-number'>2</span>
+<span class='line-number'>3</span>
+<span class='line-number'>4</span>
+</pre></td><td class='code'><pre><code class='sh'><span class='line'>git clone git://github.com/imathis/octopress.git octopress
+</span><span class='line'><span class="nb">cd </span>octopress
+</span><span class='line'>bundler install
+</span><span class='line'>rake install
+</span></code></pre></td></tr></table></div></figure>
+
+
+<h2>配置</h2>
+
+<p>你要先有个github.com的帐号,如果没有赶快注册吧。
+注册好后新建一个软件仓库 <a href="https://github.com/new">https://github.com/new</a> ,注意仓库名称要以下这种格式哦<code>yourname.github.com</code>,这样代码发布后自动这个url就可以访问了。</p>
+
+<figure class='code'><figcaption><span></span></figcaption><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
+</pre></td><td class='code'><pre><code class='sh'><span class='line'>rake setup_github_pages
+</span></code></pre></td></tr></table></div></figure>
+
+
+<p>这个命令主要做以下的操作</p>
+
+<ol>
+<li>问你github上的url。 我的是 git@github.com:wongyouth/wongyouth.github.com.git</li>
+<li>将原始的<code>imathis/octopress</code>远端仓库<code>origin</code>名称改为<code>octopress</code></li>
+<li>把你输入的url作为远端仓库名<code>origin</code></li>
+<li>把当前目录从分支<code>master</code>切换到<code>source</code></li>
+<li>把当前目录与<code>origin</code>的仓库关联,能默认push到github中</li>
+<li>配置<code>_deploy</code>目录作为github仓库的<code>master</code>分支</li>
+</ol>
+
+
+<p>要做的就是把原始的blog代码放在<code>source</code>分支中,当要发布时会自动生成发布代码到<code>_deploy</code>目录下以<code>master</code>分支更新到github上。github会以<code>master</code>中的代码作为blog的原始代码。</p>
+
+<h2>发布</h2>
+
+<figure class='code'><figcaption><span>Deploy blog</span></figcaption><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
+<span class='line-number'>2</span>
+</pre></td><td class='code'><pre><code class='sh'><span class='line'>rake generate
+</span><span class='line'>rake deploy
+</span></code></pre></td></tr></table></div></figure>
+
+
+<p>当你发布之后,你就可以到 <a href="http://yourname.github.com">http://yourname.github.com</a> 上看到你的博客了,是不是很酷呢。</p>
+
+<h2>写第一个博文</h2>
+
+<figure class='code'><figcaption><span>Create first post</span></figcaption><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
+</pre></td><td class='code'><pre><code class='sh'><span class='line'>rake new_post<span class="o">[</span><span class="s1">&#39;first post&#39;</span><span class="o">]</span>
+</span></code></pre></td></tr></table></div></figure>
+
+
+<p>引号里面是博文的标题,这个命令会在<code>source/_posts</code>下面生成一个markdown为后缀的文件,我们要做的就是编辑这个文件的内容,然后</p>
+
+<figure class='code'><figcaption><span>Start a local server for preview</span></figcaption><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
+</pre></td><td class='code'><pre><code class='sh'><span class='line'>rake preview
+</span></code></pre></td></tr></table></div></figure>
+
+
+<p>会在本地启动sinatra服务,用浏览器打开 <a href="http://localhost:4000">http://localhost:4000</a> 就可以看到效果了。如果都没有问题就可以发布了。</p>
+
+<p>有时候写了一半的博文想要先留为草稿放到服务器但是不发布这样情况。
+我们可以在单独的这篇博文开头的yaml里面追加设置</p>
+
+<pre><code>published: false
+</code></pre>
+
+<p>这样deploy的时候就不会发布了。</p>
+
+<h2>其他</h2>
+
+<p>你可以仔细查看以下三个文件,如果觉得有必要就按照自己的配置修改。</p>
+
+<ol>
+<li>_config.yml</li>
+<li>config.rb</li>
+<li>config.ru</li>
+</ol>
+
+
+<p>_config.yml中有关联其他一些社区的配置,比如github.com帐号,facebook帐号等。我认为比较有用的是<a href="http://disqus.com/">disqus</a>的评论帐号。到disqus注册一下,然后设置好<code>disqus_short_name</code>这样你的博客就有了评论功能了,而不是你一个人在唱独角戏了。</p>
+]]></content>
+ </entry>
+
+ <entry>
<title type="html"><![CDATA[Ubuntu下安装ruby开发环境]]></title>
<link href="http://wongyouth.github.com/blog/2012/04/21/install-ruby-environment-on-ubuntu/"/>
<updated>2012-04-21T14:41:00+08:00</updated>
View
357 blog/2012/04/21/install-octopress-to-write-blogs-and-deploy-on-github-dot-com/index.html
@@ -0,0 +1,357 @@
+
+<!DOCTYPE html>
+<!--[if IEMobile 7 ]><html class="no-js iem7"><![endif]-->
+<!--[if lt IE 9]><html class="no-js lte-ie8"><![endif]-->
+<!--[if (gt IE 8)|(gt IEMobile 7)|!(IEMobile)|!(IE)]><!--><html class="no-js" lang="en"><!--<![endif]-->
+<head>
+ <meta charset="utf-8">
+ <title>用octopress来写博客并发布到Github上 - Wongyouth's Blog</title>
+ <meta name="author" content="Wongyouth">
+
+
+ <meta name="description" content="用过不少博客,MSN spaces,blogger.com,myspace, wordpress,搜狐,总是觉得少了点自由发挥的空间。直到现有有了octopress,就像我这个博客一样,这才是咱程序猿该有的! 安装
+配置
+发布
+写第一个博文 安装 Install octopress1
+2
+3
+4 &hellip;">
+
+
+ <!-- http://t.co/dKP3o1e -->
+ <meta name="HandheldFriendly" content="True">
+ <meta name="MobileOptimized" content="320">
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+
+
+ <link rel="canonical" href="http://wongyouth.github.com/blog/2012/04/21/install-octopress-to-write-blogs-and-deploy-on-github-dot-com">
+ <link href="/favicon.png" rel="icon">
+ <link href="/stylesheets/screen.css" media="screen, projection" rel="stylesheet" type="text/css">
+ <script src="/javascripts/modernizr-2.0.js"></script>
+ <script src="/javascripts/ender.js"></script>
+ <script src="/javascripts/octopress.js" type="text/javascript"></script>
+ <link href="/atom.xml" rel="alternate" title="Wongyouth's Blog" type="application/atom+xml">
+ <!--Fonts from Google"s Web font directory at http://google.com/webfonts -->
+<link href="http://fonts.googleapis.com/css?family=PT+Serif:regular,italic,bold,bolditalic" rel="stylesheet" type="text/css">
+<link href="http://fonts.googleapis.com/css?family=PT+Sans:regular,italic,bold,bolditalic" rel="stylesheet" type="text/css">
+
+
+
+</head>
+
+<body >
+ <header role="banner"><hgroup>
+ <h1><a href="/">Wongyouth's Blog</a></h1>
+
+ <h2>Do things the stupid way.</h2>
+
+</hgroup>
+
+</header>
+ <nav role="navigation"><ul class="subscription" data-subscription="rss">
+ <li><a href="/atom.xml" rel="subscribe-rss" title="subscribe via RSS">RSS</a></li>
+
+</ul>
+
+<form action="http://google.com/search" method="get">
+ <fieldset role="search">
+ <input type="hidden" name="q" value="site:wongyouth.github.com" />
+ <input class="search" type="text" name="q" results="0" placeholder="Search"/>
+ </fieldset>
+</form>
+
+<ul class="main-navigation">
+ <li><a href="/">Blog</a></li>
+ <li><a href="/blog/archives">Archives</a></li>
+</ul>
+
+</nav>
+ <div id="main">
+ <div id="content">
+ <div>
+<article class="hentry" role="article">
+
+ <header>
+
+ <h1 class="entry-title">用octopress来写博客并发布到Github上</h1>
+
+
+ <p class="meta">
+
+
+
+
+
+
+
+
+
+
+
+
+<time datetime="2012-04-21T20:54:00+08:00" pubdate data-updated="true">2012-04-21</time>
+
+ | <a href="#disqus_thread">Comments</a>
+
+ </p>
+
+ </header>
+
+
+<div class="entry-content"><p>用过不少博客,MSN spaces,blogger.com,myspace, wordpress,搜狐,总是觉得少了点自由发挥的空间。直到现有有了<a href="http://octopress.org/">octopress</a>,就像我这个博客一样,这才是咱程序猿该有的!</p>
+
+<ol>
+<li>安装</li>
+<li>配置</li>
+<li>发布</li>
+<li>写第一个博文</li>
+</ol>
+
+
+<h2>安装</h2>
+
+<figure class='code'><figcaption><span>Install octopress</span></figcaption><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
+<span class='line-number'>2</span>
+<span class='line-number'>3</span>
+<span class='line-number'>4</span>
+</pre></td><td class='code'><pre><code class='sh'><span class='line'>git clone git://github.com/imathis/octopress.git octopress
+</span><span class='line'><span class="nb">cd </span>octopress
+</span><span class='line'>bundler install
+</span><span class='line'>rake install
+</span></code></pre></td></tr></table></div></figure>
+
+
+<h2>配置</h2>
+
+<p>你要先有个github.com的帐号,如果没有赶快注册吧。
+注册好后新建一个软件仓库 <a href="https://github.com/new">https://github.com/new</a> ,注意仓库名称要以下这种格式哦<code>yourname.github.com</code>,这样代码发布后自动这个url就可以访问了。</p>
+
+<figure class='code'><figcaption><span></span></figcaption><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
+</pre></td><td class='code'><pre><code class='sh'><span class='line'>rake setup_github_pages
+</span></code></pre></td></tr></table></div></figure>
+
+
+<p>这个命令主要做以下的操作</p>
+
+<ol>
+<li>问你github上的url。 我的是 git@github.com:wongyouth/wongyouth.github.com.git</li>
+<li>将原始的<code>imathis/octopress</code>远端仓库<code>origin</code>名称改为<code>octopress</code></li>
+<li>把你输入的url作为远端仓库名<code>origin</code></li>
+<li>把当前目录从分支<code>master</code>切换到<code>source</code></li>
+<li>把当前目录与<code>origin</code>的仓库关联,能默认push到github中</li>
+<li>配置<code>_deploy</code>目录作为github仓库的<code>master</code>分支</li>
+</ol>
+
+
+<p>要做的就是把原始的blog代码放在<code>source</code>分支中,当要发布时会自动生成发布代码到<code>_deploy</code>目录下以<code>master</code>分支更新到github上。github会以<code>master</code>中的代码作为blog的原始代码。</p>
+
+<h2>发布</h2>
+
+<figure class='code'><figcaption><span>Deploy blog</span></figcaption><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
+<span class='line-number'>2</span>
+</pre></td><td class='code'><pre><code class='sh'><span class='line'>rake generate
+</span><span class='line'>rake deploy
+</span></code></pre></td></tr></table></div></figure>
+
+
+<p>当你发布之后,你就可以到 <a href="http://yourname.github.com">http://yourname.github.com</a> 上看到你的博客了,是不是很酷呢。</p>
+
+<h2>写第一个博文</h2>
+
+<figure class='code'><figcaption><span>Create first post</span></figcaption><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
+</pre></td><td class='code'><pre><code class='sh'><span class='line'>rake new_post<span class="o">[</span><span class="s1">&#39;first post&#39;</span><span class="o">]</span>
+</span></code></pre></td></tr></table></div></figure>
+
+
+<p>引号里面是博文的标题,这个命令会在<code>source/_posts</code>下面生成一个markdown为后缀的文件,我们要做的就是编辑这个文件的内容,然后</p>
+
+<figure class='code'><figcaption><span>Start a local server for preview</span></figcaption><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
+</pre></td><td class='code'><pre><code class='sh'><span class='line'>rake preview
+</span></code></pre></td></tr></table></div></figure>
+
+
+<p>会在本地启动sinatra服务,用浏览器打开 <a href="http://localhost:4000">http://localhost:4000</a> 就可以看到效果了。如果都没有问题就可以发布了。</p>
+
+<p>有时候写了一半的博文想要先留为草稿放到服务器但是不发布这样情况。
+我们可以在单独的这篇博文开头的yaml里面追加设置</p>
+
+<pre><code>published: false
+</code></pre>
+
+<p>这样deploy的时候就不会发布了。</p>
+
+<h2>其他</h2>
+
+<p>你可以仔细查看以下三个文件,如果觉得有必要就按照自己的配置修改。</p>
+
+<ol>
+<li>_config.yml</li>
+<li>config.rb</li>
+<li>config.ru</li>
+</ol>
+
+
+<p>_config.yml中有关联其他一些社区的配置,比如github.com帐号,facebook帐号等。我认为比较有用的是<a href="http://disqus.com/">disqus</a>的评论帐号。到disqus注册一下,然后设置好<code>disqus_short_name</code>这样你的博客就有了评论功能了,而不是你一个人在唱独角戏了。</p>
+</div>
+
+
+ <footer>
+ <p class="meta">
+
+
+
+<span class="byline author vcard">Posted by <span class="fn">Wongyouth</span></span>
+
+
+
+
+
+
+
+
+
+
+
+
+
+<time datetime="2012-04-21T20:54:00+08:00" pubdate data-updated="true">2012-04-21</time>
+
+
+<span class="categories">
+
+ <a class='category' href='/blog/categories/blog/'>blog</a>, <a class='category' href='/blog/categories/github/'>github</a>
+
+</span>
+
+
+ </p>
+
+ <div class="sharing">
+
+ <a href="http://twitter.com/share" class="twitter-share-button" data-url="http://wongyouth.github.com/blog/2012/04/21/install-octopress-to-write-blogs-and-deploy-on-github-dot-com/" data-via="" data-counturl="http://wongyouth.github.com/blog/2012/04/21/install-octopress-to-write-blogs-and-deploy-on-github-dot-com/" >Tweet</a>
+
+
+
+</div>
+
+
+ <p class="meta">
+
+ <a class="basic-alignment left" href="/blog/2012/04/21/install-ruby-environment-on-ubuntu/" title="Previous Post: Ubuntu下安装ruby开发环境">&laquo; Ubuntu下安装ruby开发环境</a>
+
+
+ </p>
+ </footer>
+</article>
+
+ <section>
+ <h1>Comments</h1>
+ <div id="disqus_thread" aria-live="polite"><noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
+</div>
+ </section>
+
+</div>
+
+<aside class="sidebar">
+
+ <section>
+ <h1>Recent Posts</h1>
+ <ul id="recent_posts">
+
+ <li class="post">
+ <a href="/blog/2012/04/21/install-octopress-to-write-blogs-and-deploy-on-github-dot-com/">用octopress来写博客并发布到Github上</a>
+ </li>
+
+ <li class="post">
+ <a href="/blog/2012/04/21/install-ruby-environment-on-ubuntu/">Ubuntu下安装ruby开发环境</a>
+ </li>
+
+ </ul>
+</section>
+
+<section>
+ <h1>GitHub Repos</h1>
+ <ul id="gh_repos">
+ <li class="loading">Status updating...</li>
+ </ul>
+
+ <a href="https://github.com/wongyouth">@wongyouth</a> on GitHub
+
+ <script type="text/javascript">
+ $.domReady(function(){
+ if (!window.jXHR){
+ var jxhr = document.createElement('script');
+ jxhr.type = 'text/javascript';
+ jxhr.src = '/javascripts/libs/jXHR.js';
+ var s = document.getElementsByTagName('script')[0];
+ s.parentNode.insertBefore(jxhr, s);
+ }
+
+ github.showRepos({
+ user: 'wongyouth',
+ count: 0,
+ skip_forks: true,
+ target: '#gh_repos'
+ });
+ });
+ </script>
+ <script src="/javascripts/github.js" type="text/javascript"> </script>
+</section>
+
+
+
+
+
+
+
+</aside>
+
+
+ </div>
+ </div>
+ <footer role="contentinfo"><p>
+ Copyright &copy; 2012 - Wongyouth -
+ <span class="credit">Powered by <a href="http://octopress.org">Octopress</a></span>
+</p>
+
+</footer>
+
+
+<script type="text/javascript">
+ var disqus_shortname = 'wongyouth';
+
+
+ // var disqus_developer = 1;
+ var disqus_identifier = 'http://wongyouth.github.com/blog/2012/04/21/install-octopress-to-write-blogs-and-deploy-on-github-dot-com/';
+ var disqus_url = 'http://wongyouth.github.com/blog/2012/04/21/install-octopress-to-write-blogs-and-deploy-on-github-dot-com/';
+ var disqus_script = 'embed.js';
+
+ (function () {
+ var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
+ dsq.src = 'http://' + disqus_shortname + '.disqus.com/' + disqus_script;
+ (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
+ }());
+</script>
+
+
+
+
+
+
+
+ <script type="text/javascript">
+ (function(){
+ var twitterWidgets = document.createElement('script');
+ twitterWidgets.type = 'text/javascript';
+ twitterWidgets.async = true;
+ twitterWidgets.src = 'http://platform.twitter.com/widgets.js';
+ document.getElementsByTagName('head')[0].appendChild(twitterWidgets);
+ })();
+ </script>
+
+
+
+
+
+</body>
+</html>
View
6 blog/2012/04/21/install-ruby-environment-on-ubuntu/index.html
@@ -227,6 +227,8 @@ <h1 class="entry-title">Ubuntu下安装ruby开发环境</h1>
<p class="meta">
+ <a class="basic-alignment right" href="/blog/2012/04/21/install-octopress-to-write-blogs-and-deploy-on-github-dot-com/" title="Next Post: 用octopress来写博客并发布到Github上">用octopress来写博客并发布到Github上 &raquo;</a>
+
</p>
</footer>
</article>
@@ -246,6 +248,10 @@ <h1 class="entry-title">Ubuntu下安装ruby开发环境</h1>
<ul id="recent_posts">
<li class="post">
+ <a href="/blog/2012/04/21/install-octopress-to-write-blogs-and-deploy-on-github-dot-com/">用octopress来写博客并发布到Github上</a>
+ </li>
+
+ <li class="post">
<a href="/blog/2012/04/21/install-ruby-environment-on-ubuntu/">Ubuntu下安装ruby开发环境</a>
</li>
View
23 blog/archives/index.html
@@ -9,8 +9,9 @@
<meta name="author" content="Wongyouth">
- <meta name="description" content="Blog Archive 2012 Ubuntu下安装ruby开发环境
-Apr 21 2012 posted in ruby, ubuntu Recent Posts Ubuntu下安装ruby开发环境 GitHub Repos Status updating... @wongyouth on &hellip;">
+ <meta name="description" content="Blog Archive 2012 用octopress来写博客并发布到Github上
+Apr 21 2012 posted in blog, github Ubuntu下安装ruby开发环境
+Apr 21 2012 posted in ruby, ubuntu Recent Posts &hellip;">
<!-- http://t.co/dKP3o1e -->
@@ -80,6 +81,20 @@ <h1 class="entry-title">Blog Archive</h1>
<article>
+<h1><a href="/blog/2012/04/21/install-octopress-to-write-blogs-and-deploy-on-github-dot-com/">用octopress来写博客并发布到Github上</a></h1>
+<time datetime="2012-04-21T20:54:00+08:00" pubdate><span class='month'>Apr</span> <span class='day'>21</span> <span class='year'>2012</span></time>
+
+<footer>
+ <span class="categories">posted in <a class='category' href='/blog/categories/blog/'>blog</a>, <a class='category' href='/blog/categories/github/'>github</a></span>
+</footer>
+
+
+</article>
+
+
+
+<article>
+
<h1><a href="/blog/2012/04/21/install-ruby-environment-on-ubuntu/">Ubuntu下安装ruby开发环境</a></h1>
<time datetime="2012-04-21T14:41:00+08:00" pubdate><span class='month'>Apr</span> <span class='day'>21</span> <span class='year'>2012</span></time>
@@ -104,6 +119,10 @@ <h1 class="entry-title">Blog Archive</h1>
<ul id="recent_posts">
<li class="post">
+ <a href="/blog/2012/04/21/install-octopress-to-write-blogs-and-deploy-on-github-dot-com/">用octopress来写博客并发布到Github上</a>
+ </li>
+
+ <li class="post">
<a href="/blog/2012/04/21/install-ruby-environment-on-ubuntu/">Ubuntu下安装ruby开发环境</a>
</li>
View
124 blog/categories/blog/atom.xml
@@ -0,0 +1,124 @@
+<?xml version="1.0" encoding="utf-8"?>
+<feed xmlns="http://www.w3.org/2005/Atom">
+
+ <title><![CDATA[Category: blog | Wongyouth's Blog]]></title>
+ <link href="http://wongyouth.github.com/blog/categories/blog/atom.xml" rel="self"/>
+ <link href="http://wongyouth.github.com/"/>
+ <updated>2012-04-21T22:49:42+08:00</updated>
+ <id>http://wongyouth.github.com/</id>
+ <author>
+ <name><![CDATA[Wongyouth]]></name>
+
+ </author>
+ <generator uri="http://octopress.org/">Octopress</generator>
+
+
+ <entry>
+ <title type="html"><![CDATA[用octopress来写博客并发布到Github上]]></title>
+ <link href="http://wongyouth.github.com/blog/2012/04/21/install-octopress-to-write-blogs-and-deploy-on-github-dot-com/"/>
+ <updated>2012-04-21T20:54:00+08:00</updated>
+ <id>http://wongyouth.github.com/blog/2012/04/21/install-octopress-to-write-blogs-and-deploy-on-github-dot-com</id>
+ <content type="html"><![CDATA[<p>用过不少博客,MSN spaces,blogger.com,myspace, wordpress,搜狐,总是觉得少了点自由发挥的空间。直到现有有了<a href="http://octopress.org/">octopress</a>,就像我这个博客一样,这才是咱程序猿该有的!</p>
+
+<ol>
+<li>安装</li>
+<li>配置</li>
+<li>发布</li>
+<li>写第一个博文</li>
+</ol>
+
+
+<h2>安装</h2>
+
+<p>``` sh Install octopress</p>
+
+<pre><code>git clone git://github.com/imathis/octopress.git octopress
+cd octopress
+bundler install
+rake install
+</code></pre>
+
+<p>```</p>
+
+<h2>配置</h2>
+
+<p>你要先有个github.com的帐号,如果没有赶快注册吧。
+注册好后新建一个软件仓库 <a href="https://github.com/new">https://github.com/new</a> ,注意仓库名称要以下这种格式哦<code>yourname.github.com</code>,这样代码发布后自动这个url就可以访问了。</p>
+
+<p>``` sh</p>
+
+<pre><code>rake setup_github_pages
+</code></pre>
+
+<p>```</p>
+
+<p>这个命令主要做以下的操作</p>
+
+<ol>
+<li>问你github上的url。 我的是 git@github.com:wongyouth/wongyouth.github.com.git</li>
+<li>将原始的<code>imathis/octopress</code>远端仓库<code>origin</code>名称改为<code>octopress</code></li>
+<li>把你输入的url作为远端仓库名<code>origin</code></li>
+<li>把当前目录从分支<code>master</code>切换到<code>source</code></li>
+<li>把当前目录与<code>origin</code>的仓库关联,能默认push到github中</li>
+<li>配置<code>_deploy</code>目录作为github仓库的<code>master</code>分支</li>
+</ol>
+
+
+<p>要做的就是把原始的blog代码放在<code>source</code>分支中,当要发布时会自动生成发布代码到<code>_deploy</code>目录下以<code>master</code>分支更新到github上。github会以<code>master</code>中的代码作为blog的原始代码。</p>
+
+<h2>发布</h2>
+
+<p>``` sh Deploy blog</p>
+
+<pre><code>rake generate
+rake deploy
+</code></pre>
+
+<p>```</p>
+
+<p>当你发布之后,你就可以到 <a href="http://yourname.github.com">http://yourname.github.com</a> 上看到你的博客了,是不是很酷呢。</p>
+
+<h2>写第一个博文</h2>
+
+<p>``` sh Create first post</p>
+
+<pre><code>rake new_post['first post']
+</code></pre>
+
+<p>```</p>
+
+<p>引号里面是博文的标题,这个命令会在<code>source/_posts</code>下面生成一个markdown为后缀的文件,我们要做的就是编辑这个文件的内容,然后</p>
+
+<p>``` sh Start a local server for preview</p>
+
+<pre><code>rake preview
+</code></pre>
+
+<p>```</p>
+
+<p>会在本地启动sinatra服务,用浏览器打开 <a href="http://localhost:4000">http://localhost:4000</a> 就可以看到效果了。如果都没有问题就可以发布了。</p>
+
+<p>有时候写了一半的博文想要先留为草稿放到服务器但是不发布这样情况。
+我们可以在单独的这篇博文开头的yaml里面追加设置</p>
+
+<pre><code>published: false
+</code></pre>
+
+<p>这样deploy的时候就不会发布了。</p>
+
+<h2>其他</h2>
+
+<p>你可以仔细查看以下三个文件,如果觉得有必要就按照自己的配置修改。</p>
+
+<ol>
+<li>_config.yml</li>
+<li>config.rb</li>
+<li>config.ru</li>
+</ol>
+
+
+<p>_config.yml中有关联其他一些社区的配置,比如github.com帐号,facebook帐号等。我认为比较有用的是<a href="http://disqus.com/">disqus</a>的评论帐号。到disqus注册一下,然后设置好<code>disqus_short_name</code>这样你的博客就有了评论功能了,而不是你一个人在唱独角戏了。</p>
+]]></content>
+ </entry>
+
+</feed>
View
198 blog/categories/blog/index.html
@@ -0,0 +1,198 @@
+
+<!DOCTYPE html>
+<!--[if IEMobile 7 ]><html class="no-js iem7"><![endif]-->
+<!--[if lt IE 9]><html class="no-js lte-ie8"><![endif]-->
+<!--[if (gt IE 8)|(gt IEMobile 7)|!(IEMobile)|!(IE)]><!--><html class="no-js" lang="en"><!--<![endif]-->
+<head>
+ <meta charset="utf-8">
+ <title>Category: blog - Wongyouth's Blog</title>
+ <meta name="author" content="Wongyouth">
+
+
+ <meta name="description" content="Category: blog">
+
+
+ <!-- http://t.co/dKP3o1e -->
+ <meta name="HandheldFriendly" content="True">
+ <meta name="MobileOptimized" content="320">
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+
+
+ <link rel="canonical" href="http://wongyouth.github.comblog/categories/blog">
+ <link href="/favicon.png" rel="icon">
+ <link href="/stylesheets/screen.css" media="screen, projection" rel="stylesheet" type="text/css">
+ <script src="/javascripts/modernizr-2.0.js"></script>
+ <script src="/javascripts/ender.js"></script>
+ <script src="/javascripts/octopress.js" type="text/javascript"></script>
+ <link href="/atom.xml" rel="alternate" title="Wongyouth's Blog" type="application/atom+xml">
+ <!--Fonts from Google"s Web font directory at http://google.com/webfonts -->
+<link href="http://fonts.googleapis.com/css?family=PT+Serif:regular,italic,bold,bolditalic" rel="stylesheet" type="text/css">
+<link href="http://fonts.googleapis.com/css?family=PT+Sans:regular,italic,bold,bolditalic" rel="stylesheet" type="text/css">
+
+
+
+</head>
+
+<body >
+ <header role="banner"><hgroup>
+ <h1><a href="/">Wongyouth's Blog</a></h1>
+
+ <h2>Do things the stupid way.</h2>
+
+</hgroup>
+
+</header>
+ <nav role="navigation"><ul class="subscription" data-subscription="rss">
+ <li><a href="/atom.xml" rel="subscribe-rss" title="subscribe via RSS">RSS</a></li>
+
+</ul>
+
+<form action="http://google.com/search" method="get">
+ <fieldset role="search">
+ <input type="hidden" name="q" value="site:wongyouth.github.com" />
+ <input class="search" type="text" name="q" results="0" placeholder="Search"/>
+ </fieldset>
+</form>
+
+<ul class="main-navigation">
+ <li><a href="/">Blog</a></li>
+ <li><a href="/blog/archives">Archives</a></li>
+</ul>
+
+</nav>
+ <div id="main">
+ <div id="content">
+ <div>
+<article role="article">
+
+ <header>
+ <h1 class="entry-title">Category: Blog</h1>
+
+ </header>
+
+ <div id="blog-archives" class="category">
+
+
+
+
+ <h2>2012</h2>
+
+<article>
+
+<h1><a href="/blog/2012/04/21/install-octopress-to-write-blogs-and-deploy-on-github-dot-com/">用octopress来写博客并发布到Github上</a></h1>
+<time datetime="2012-04-21T20:54:00+08:00" pubdate><span class='month'>Apr</span> <span class='day'>21</span> <span class='year'>2012</span></time>
+
+<footer>
+ <span class="categories">posted in <a class='category' href='/blog/categories/blog/'>blog</a>, <a class='category' href='/blog/categories/github/'>github</a></span>
+</footer>
+
+
+</article>
+
+</div>
+
+
+</article>
+
+</div>
+
+<aside class="sidebar">
+
+ <section>
+ <h1>Recent Posts</h1>
+ <ul id="recent_posts">
+
+ <li class="post">
+ <a href="/blog/2012/04/21/install-octopress-to-write-blogs-and-deploy-on-github-dot-com/">用octopress来写博客并发布到Github上</a>
+ </li>
+
+ <li class="post">
+ <a href="/blog/2012/04/21/install-ruby-environment-on-ubuntu/">Ubuntu下安装ruby开发环境</a>
+ </li>
+
+ </ul>
+</section>
+
+<section>
+ <h1>GitHub Repos</h1>
+ <ul id="gh_repos">
+ <li class="loading">Status updating...</li>
+ </ul>
+
+ <a href="https://github.com/wongyouth">@wongyouth</a> on GitHub
+
+ <script type="text/javascript">
+ $.domReady(function(){
+ if (!window.jXHR){
+ var jxhr = document.createElement('script');
+ jxhr.type = 'text/javascript';
+ jxhr.src = '/javascripts/libs/jXHR.js';
+ var s = document.getElementsByTagName('script')[0];
+ s.parentNode.insertBefore(jxhr, s);
+ }
+
+ github.showRepos({
+ user: 'wongyouth',
+ count: 0,
+ skip_forks: true,
+ target: '#gh_repos'
+ });
+ });
+ </script>
+ <script src="/javascripts/github.js" type="text/javascript"> </script>
+</section>
+
+
+
+
+
+
+
+</aside>
+
+
+ </div>
+ </div>
+ <footer role="contentinfo"><p>
+ Copyright &copy; 2012 - Wongyouth -
+ <span class="credit">Powered by <a href="http://octopress.org">Octopress</a></span>
+</p>
+
+</footer>
+
+
+<script type="text/javascript">
+ var disqus_shortname = 'wongyouth';
+
+
+ var disqus_script = 'count.js';
+
+ (function () {
+ var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
+ dsq.src = 'http://' + disqus_shortname + '.disqus.com/' + disqus_script;
+ (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
+ }());
+</script>
+
+
+
+
+
+
+
+ <script type="text/javascript">
+ (function(){
+ var twitterWidgets = document.createElement('script');
+ twitterWidgets.type = 'text/javascript';
+ twitterWidgets.async = true;
+ twitterWidgets.src = 'http://platform.twitter.com/widgets.js';
+ document.getElementsByTagName('head')[0].appendChild(twitterWidgets);
+ })();
+ </script>
+
+
+
+
+
+</body>
+</html>
View
124 blog/categories/github/atom.xml
@@ -0,0 +1,124 @@
+<?xml version="1.0" encoding="utf-8"?>
+<feed xmlns="http://www.w3.org/2005/Atom">
+
+ <title><![CDATA[Category: github | Wongyouth's Blog]]></title>
+ <link href="http://wongyouth.github.com/blog/categories/github/atom.xml" rel="self"/>
+ <link href="http://wongyouth.github.com/"/>
+ <updated>2012-04-21T22:49:42+08:00</updated>
+ <id>http://wongyouth.github.com/</id>
+ <author>
+ <name><![CDATA[Wongyouth]]></name>
+
+ </author>
+ <generator uri="http://octopress.org/">Octopress</generator>
+
+
+ <entry>
+ <title type="html"><![CDATA[用octopress来写博客并发布到Github上]]></title>
+ <link href="http://wongyouth.github.com/blog/2012/04/21/install-octopress-to-write-blogs-and-deploy-on-github-dot-com/"/>
+ <updated>2012-04-21T20:54:00+08:00</updated>
+ <id>http://wongyouth.github.com/blog/2012/04/21/install-octopress-to-write-blogs-and-deploy-on-github-dot-com</id>
+ <content type="html"><![CDATA[<p>用过不少博客,MSN spaces,blogger.com,myspace, wordpress,搜狐,总是觉得少了点自由发挥的空间。直到现有有了<a href="http://octopress.org/">octopress</a>,就像我这个博客一样,这才是咱程序猿该有的!</p>
+
+<ol>
+<li>安装</li>
+<li>配置</li>
+<li>发布</li>
+<li>写第一个博文</li>
+</ol>
+
+
+<h2>安装</h2>
+
+<p>``` sh Install octopress</p>
+
+<pre><code>git clone git://github.com/imathis/octopress.git octopress
+cd octopress
+bundler install
+rake install
+</code></pre>
+
+<p>```</p>
+
+<h2>配置</h2>
+
+<p>你要先有个github.com的帐号,如果没有赶快注册吧。
+注册好后新建一个软件仓库 <a href="https://github.com/new">https://github.com/new</a> ,注意仓库名称要以下这种格式哦<code>yourname.github.com</code>,这样代码发布后自动这个url就可以访问了。</p>
+
+<p>``` sh</p>
+
+<pre><code>rake setup_github_pages
+</code></pre>
+
+<p>```</p>
+
+<p>这个命令主要做以下的操作</p>
+
+<ol>
+<li>问你github上的url。 我的是 git@github.com:wongyouth/wongyouth.github.com.git</li>
+<li>将原始的<code>imathis/octopress</code>远端仓库<code>origin</code>名称改为<code>octopress</code></li>
+<li>把你输入的url作为远端仓库名<code>origin</code></li>
+<li>把当前目录从分支<code>master</code>切换到<code>source</code></li>
+<li>把当前目录与<code>origin</code>的仓库关联,能默认push到github中</li>
+<li>配置<code>_deploy</code>目录作为github仓库的<code>master</code>分支</li>
+</ol>
+
+
+<p>要做的就是把原始的blog代码放在<code>source</code>分支中,当要发布时会自动生成发布代码到<code>_deploy</code>目录下以<code>master</code>分支更新到github上。github会以<code>master</code>中的代码作为blog的原始代码。</p>
+
+<h2>发布</h2>
+
+<p>``` sh Deploy blog</p>
+
+<pre><code>rake generate
+rake deploy
+</code></pre>
+
+<p>```</p>
+
+<p>当你发布之后,你就可以到 <a href="http://yourname.github.com">http://yourname.github.com</a> 上看到你的博客了,是不是很酷呢。</p>
+
+<h2>写第一个博文</h2>
+
+<p>``` sh Create first post</p>
+
+<pre><code>rake new_post['first post']
+</code></pre>
+
+<p>```</p>
+
+<p>引号里面是博文的标题,这个命令会在<code>source/_posts</code>下面生成一个markdown为后缀的文件,我们要做的就是编辑这个文件的内容,然后</p>
+
+<p>``` sh Start a local server for preview</p>
+
+<pre><code>rake preview
+</code></pre>
+
+<p>```</p>
+
+<p>会在本地启动sinatra服务,用浏览器打开 <a href="http://localhost:4000">http://localhost:4000</a> 就可以看到效果了。如果都没有问题就可以发布了。</p>
+
+<p>有时候写了一半的博文想要先留为草稿放到服务器但是不发布这样情况。
+我们可以在单独的这篇博文开头的yaml里面追加设置</p>
+
+<pre><code>published: false
+</code></pre>
+
+<p>这样deploy的时候就不会发布了。</p>
+
+<h2>其他</h2>
+
+<p>你可以仔细查看以下三个文件,如果觉得有必要就按照自己的配置修改。</p>
+
+<ol>
+<li>_config.yml</li>
+<li>config.rb</li>
+<li>config.ru</li>
+</ol>
+
+
+<p>_config.yml中有关联其他一些社区的配置,比如github.com帐号,facebook帐号等。我认为比较有用的是<a href="http://disqus.com/">disqus</a>的评论帐号。到disqus注册一下,然后设置好<code>disqus_short_name</code>这样你的博客就有了评论功能了,而不是你一个人在唱独角戏了。</p>
+]]></content>
+ </entry>
+
+</feed>
View
198 blog/categories/github/index.html
@@ -0,0 +1,198 @@
+
+<!DOCTYPE html>
+<!--[if IEMobile 7 ]><html class="no-js iem7"><![endif]-->
+<!--[if lt IE 9]><html class="no-js lte-ie8"><![endif]-->
+<!--[if (gt IE 8)|(gt IEMobile 7)|!(IEMobile)|!(IE)]><!--><html class="no-js" lang="en"><!--<![endif]-->
+<head>
+ <meta charset="utf-8">
+ <title>Category: github - Wongyouth's Blog</title>
+ <meta name="author" content="Wongyouth">
+
+
+ <meta name="description" content="Category: github">
+
+
+ <!-- http://t.co/dKP3o1e -->
+ <meta name="HandheldFriendly" content="True">
+ <meta name="MobileOptimized" content="320">
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+
+
+ <link rel="canonical" href="http://wongyouth.github.comblog/categories/github">
+ <link href="/favicon.png" rel="icon">
+ <link href="/stylesheets/screen.css" media="screen, projection" rel="stylesheet" type="text/css">
+ <script src="/javascripts/modernizr-2.0.js"></script>
+ <script src="/javascripts/ender.js"></script>
+ <script src="/javascripts/octopress.js" type="text/javascript"></script>
+ <link href="/atom.xml" rel="alternate" title="Wongyouth's Blog" type="application/atom+xml">
+ <!--Fonts from Google"s Web font directory at http://google.com/webfonts -->
+<link href="http://fonts.googleapis.com/css?family=PT+Serif:regular,italic,bold,bolditalic" rel="stylesheet" type="text/css">
+<link href="http://fonts.googleapis.com/css?family=PT+Sans:regular,italic,bold,bolditalic" rel="stylesheet" type="text/css">
+
+
+
+</head>
+
+<body >
+ <header role="banner"><hgroup>
+ <h1><a href="/">Wongyouth's Blog</a></h1>
+
+ <h2>Do things the stupid way.</h2>
+
+</hgroup>
+
+</header>
+ <nav role="navigation"><ul class="subscription" data-subscription="rss">
+ <li><a href="/atom.xml" rel="subscribe-rss" title="subscribe via RSS">RSS</a></li>
+
+</ul>
+
+<form action="http://google.com/search" method="get">
+ <fieldset role="search">
+ <input type="hidden" name="q" value="site:wongyouth.github.com" />
+ <input class="search" type="text" name="q" results="0" placeholder="Search"/>
+ </fieldset>
+</form>
+
+<ul class="main-navigation">
+ <li><a href="/">Blog</a></li>
+ <li><a href="/blog/archives">Archives</a></li>
+</ul>
+
+</nav>
+ <div id="main">
+ <div id="content">
+ <div>
+<article role="article">
+
+ <header>
+ <h1 class="entry-title">Category: Github</h1>
+
+ </header>
+
+ <div id="blog-archives" class="category">
+
+
+
+
+ <h2>2012</h2>
+
+<article>
+
+<h1><a href="/blog/2012/04/21/install-octopress-to-write-blogs-and-deploy-on-github-dot-com/">用octopress来写博客并发布到Github上</a></h1>
+<time datetime="2012-04-21T20:54:00+08:00" pubdate><span class='month'>Apr</span> <span class='day'>21</span> <span class='year'>2012</span></time>
+
+<footer>
+ <span class="categories">posted in <a class='category' href='/blog/categories/blog/'>blog</a>, <a class='category' href='/blog/categories/github/'>github</a></span>
+</footer>
+
+
+</article>
+
+</div>
+
+
+</article>
+
+</div>
+
+<aside class="sidebar">
+
+ <section>
+ <h1>Recent Posts</h1>
+ <ul id="recent_posts">
+
+ <li class="post">
+ <a href="/blog/2012/04/21/install-octopress-to-write-blogs-and-deploy-on-github-dot-com/">用octopress来写博客并发布到Github上</a>
+ </li>
+
+ <li class="post">
+ <a href="/blog/2012/04/21/install-ruby-environment-on-ubuntu/">Ubuntu下安装ruby开发环境</a>
+ </li>
+
+ </ul>
+</section>
+
+<section>
+ <h1>GitHub Repos</h1>
+ <ul id="gh_repos">
+ <li class="loading">Status updating...</li>
+ </ul>
+
+ <a href="https://github.com/wongyouth">@wongyouth</a> on GitHub
+
+ <script type="text/javascript">
+ $.domReady(function(){
+ if (!window.jXHR){
+ var jxhr = document.createElement('script');
+ jxhr.type = 'text/javascript';
+ jxhr.src = '/javascripts/libs/jXHR.js';
+ var s = document.getElementsByTagName('script')[0];
+ s.parentNode.insertBefore(jxhr, s);
+ }
+
+ github.showRepos({
+ user: 'wongyouth',
+ count: 0,
+ skip_forks: true,
+ target: '#gh_repos'
+ });
+ });
+ </script>
+ <script src="/javascripts/github.js" type="text/javascript"> </script>
+</section>
+
+
+
+
+
+
+
+</aside>
+
+
+ </div>
+ </div>
+ <footer role="contentinfo"><p>
+ Copyright &copy; 2012 - Wongyouth -
+ <span class="credit">Powered by <a href="http://octopress.org">Octopress</a></span>
+</p>
+
+</footer>
+
+
+<script type="text/javascript">
+ var disqus_shortname = 'wongyouth';
+
+
+ var disqus_script = 'count.js';
+
+ (function () {
+ var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
+ dsq.src = 'http://' + disqus_shortname + '.disqus.com/' + disqus_script;
+ (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
+ }());
+</script>
+
+
+
+
+
+
+
+ <script type="text/javascript">
+ (function(){
+ var twitterWidgets = document.createElement('script');
+ twitterWidgets.type = 'text/javascript';
+ twitterWidgets.async = true;
+ twitterWidgets.src = 'http://platform.twitter.com/widgets.js';
+ document.getElementsByTagName('head')[0].appendChild(twitterWidgets);
+ })();
+ </script>
+
+
+
+
+
+</body>
+</html>
View
2  blog/categories/ruby/atom.xml
@@ -4,7 +4,7 @@
<title><![CDATA[Category: ruby | Wongyouth's Blog]]></title>
<link href="http://wongyouth.github.com/blog/categories/ruby/atom.xml" rel="self"/>
<link href="http://wongyouth.github.com/"/>
- <updated>2012-04-21T18:27:06+08:00</updated>
+ <updated>2012-04-21T22:49:42+08:00</updated>
<id>http://wongyouth.github.com/</id>
<author>
<name><![CDATA[Wongyouth]]></name>
View
4 blog/categories/ruby/index.html
@@ -103,6 +103,10 @@ <h1 class="entry-title">Category: Ruby</h1>
<ul id="recent_posts">
<li class="post">
+ <a href="/blog/2012/04/21/install-octopress-to-write-blogs-and-deploy-on-github-dot-com/">用octopress来写博客并发布到Github上</a>
+ </li>
+
+ <li class="post">
<a href="/blog/2012/04/21/install-ruby-environment-on-ubuntu/">Ubuntu下安装ruby开发环境</a>
</li>
View
2  blog/categories/ubuntu/atom.xml
@@ -4,7 +4,7 @@
<title><![CDATA[Category: ubuntu | Wongyouth's Blog]]></title>
<link href="http://wongyouth.github.com/blog/categories/ubuntu/atom.xml" rel="self"/>
<link href="http://wongyouth.github.com/"/>
- <updated>2012-04-21T18:27:06+08:00</updated>
+ <updated>2012-04-21T22:49:42+08:00</updated>
<id>http://wongyouth.github.com/</id>
<author>
<name><![CDATA[Wongyouth]]></name>
View
4 blog/categories/ubuntu/index.html
@@ -103,6 +103,10 @@ <h1 class="entry-title">Category: Ubuntu</h1>
<ul id="recent_posts">
<li class="post">
+ <a href="/blog/2012/04/21/install-octopress-to-write-blogs-and-deploy-on-github-dot-com/">用octopress来写博客并发布到Github上</a>
+ </li>
+
+ <li class="post">
<a href="/blog/2012/04/21/install-ruby-environment-on-ubuntu/">Ubuntu下安装ruby开发环境</a>
</li>
View
145 index.html
@@ -9,9 +9,13 @@
<meta name="author" content="Wongyouth">
- <meta name="description" content="开始的时候我也是用Windows作为Rails项目开发的。
-但是在Windows下会碰到各种各样的问题,最常见的就是Gem包可能只工作在类Unix的环境下。
-有的时候按照官方说明一步一步做仍然有各种各样的不成功。痛定思痛用Ubuntu做为开发环境。 使用Ubuntu有个好处, &hellip;">
+ <meta name="description" content="用过不少博客,MSN spaces,blogger.com,myspace, wordpress,搜狐,总是觉得少了点自由发挥的空间。直到现有有了octopress,就像我这个博客一样,这才是咱程序猿该有的! 安装
+配置
+发布
+写第一个博文 安装 Install octopress1
+2
+3
+4 &hellip;">
<!-- http://t.co/dKP3o1e -->
@@ -72,6 +76,137 @@
<header>
+ <h1 class="entry-title"><a href="/blog/2012/04/21/install-octopress-to-write-blogs-and-deploy-on-github-dot-com/">用octopress来写博客并发布到Github上</a></h1>
+
+
+ <p class="meta">
+
+
+
+
+
+
+
+
+
+
+
+
+<time datetime="2012-04-21T20:54:00+08:00" pubdate data-updated="true">2012-04-21</time>
+
+ | <a href="/blog/2012/04/21/install-octopress-to-write-blogs-and-deploy-on-github-dot-com/#disqus_thread">Comments</a>
+
+ </p>
+
+ </header>
+
+
+ <div class="entry-content"><p>用过不少博客,MSN spaces,blogger.com,myspace, wordpress,搜狐,总是觉得少了点自由发挥的空间。直到现有有了<a href="http://octopress.org/">octopress</a>,就像我这个博客一样,这才是咱程序猿该有的!</p>
+
+<ol>
+<li>安装</li>
+<li>配置</li>
+<li>发布</li>
+<li>写第一个博文</li>
+</ol>
+
+
+<h2>安装</h2>
+
+<figure class='code'><figcaption><span>Install octopress</span></figcaption><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
+<span class='line-number'>2</span>
+<span class='line-number'>3</span>
+<span class='line-number'>4</span>
+</pre></td><td class='code'><pre><code class='sh'><span class='line'>git clone git://github.com/imathis/octopress.git octopress
+</span><span class='line'><span class="nb">cd </span>octopress
+</span><span class='line'>bundler install
+</span><span class='line'>rake install
+</span></code></pre></td></tr></table></div></figure>
+
+
+<h2>配置</h2>
+
+<p>你要先有个github.com的帐号,如果没有赶快注册吧。
+注册好后新建一个软件仓库 <a href="https://github.com/new">https://github.com/new</a> ,注意仓库名称要以下这种格式哦<code>yourname.github.com</code>,这样代码发布后自动这个url就可以访问了。</p>
+
+<figure class='code'><figcaption><span></span></figcaption><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
+</pre></td><td class='code'><pre><code class='sh'><span class='line'>rake setup_github_pages
+</span></code></pre></td></tr></table></div></figure>
+
+
+<p>这个命令主要做以下的操作</p>
+
+<ol>
+<li>问你github上的url。 我的是 git@github.com:wongyouth/wongyouth.github.com.git</li>
+<li>将原始的<code>imathis/octopress</code>远端仓库<code>origin</code>名称改为<code>octopress</code></li>
+<li>把你输入的url作为远端仓库名<code>origin</code></li>
+<li>把当前目录从分支<code>master</code>切换到<code>source</code></li>
+<li>把当前目录与<code>origin</code>的仓库关联,能默认push到github中</li>
+<li>配置<code>_deploy</code>目录作为github仓库的<code>master</code>分支</li>
+</ol>
+
+
+<p>要做的就是把原始的blog代码放在<code>source</code>分支中,当要发布时会自动生成发布代码到<code>_deploy</code>目录下以<code>master</code>分支更新到github上。github会以<code>master</code>中的代码作为blog的原始代码。</p>
+
+<h2>发布</h2>
+
+<figure class='code'><figcaption><span>Deploy blog</span></figcaption><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
+<span class='line-number'>2</span>
+</pre></td><td class='code'><pre><code class='sh'><span class='line'>rake generate
+</span><span class='line'>rake deploy
+</span></code></pre></td></tr></table></div></figure>
+
+
+<p>当你发布之后,你就可以到 <a href="http://yourname.github.com">http://yourname.github.com</a> 上看到你的博客了,是不是很酷呢。</p>
+
+<h2>写第一个博文</h2>
+
+<figure class='code'><figcaption><span>Create first post</span></figcaption><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
+</pre></td><td class='code'><pre><code class='sh'><span class='line'>rake new_post<span class="o">[</span><span class="s1">&#39;first post&#39;</span><span class="o">]</span>
+</span></code></pre></td></tr></table></div></figure>
+
+
+<p>引号里面是博文的标题,这个命令会在<code>source/_posts</code>下面生成一个markdown为后缀的文件,我们要做的就是编辑这个文件的内容,然后</p>
+
+<figure class='code'><figcaption><span>Start a local server for preview</span></figcaption><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
+</pre></td><td class='code'><pre><code class='sh'><span class='line'>rake preview
+</span></code></pre></td></tr></table></div></figure>
+
+
+<p>会在本地启动sinatra服务,用浏览器打开 <a href="http://localhost:4000">http://localhost:4000</a> 就可以看到效果了。如果都没有问题就可以发布了。</p>
+
+<p>有时候写了一半的博文想要先留为草稿放到服务器但是不发布这样情况。
+我们可以在单独的这篇博文开头的yaml里面追加设置</p>
+
+<pre><code>published: false
+</code></pre>
+
+<p>这样deploy的时候就不会发布了。</p>
+
+<h2>其他</h2>
+
+<p>你可以仔细查看以下三个文件,如果觉得有必要就按照自己的配置修改。</p>
+
+<ol>
+<li>_config.yml</li>
+<li>config.rb</li>
+<li>config.ru</li>
+</ol>
+
+
+<p>_config.yml中有关联其他一些社区的配置,比如github.com帐号,facebook帐号等。我认为比较有用的是<a href="http://disqus.com/">disqus</a>的评论帐号。到disqus注册一下,然后设置好<code>disqus_short_name</code>这样你的博客就有了评论功能了,而不是你一个人在唱独角戏了。</p>
+</div>
+
+
+
+
+ </article>
+
+
+ <article>
+
+ <header>
+
<h1 class="entry-title"><a href="/blog/2012/04/21/install-ruby-environment-on-ubuntu/">Ubuntu下安装ruby开发环境</a></h1>
@@ -204,6 +339,10 @@ <h1 class="entry-title"><a href="/blog/2012/04/21/install-ruby-environment-on-ub
<ul id="recent_posts">
<li class="post">
+ <a href="/blog/2012/04/21/install-octopress-to-write-blogs-and-deploy-on-github-dot-com/">用octopress来写博客并发布到Github上</a>
+ </li>
+
+ <li class="post">
<a href="/blog/2012/04/21/install-ruby-environment-on-ubuntu/">Ubuntu下安装ruby开发环境</a>
</li>
View
14 sitemap.xml
@@ -2,14 +2,20 @@
<urlset xmlns='http://www.sitemaps.org/schemas/sitemap/0.9'>
<url>
<loc>http://wongyouth.github.com/blog/2012/04/21/install-ruby-environment-on-ubuntu/</loc>
- <lastmod>2012-04-21T18:24:08+08:00</lastmod>
+ <lastmod>2012-04-21T22:49:41+08:00</lastmod>
</url>
<url>
- <loc>http://wongyouth.github.com/blog/archives/</loc>
- <lastmod>2012-04-21T18:24:08+08:00</lastmod>
+ <loc>
+ http://wongyouth.github.com/blog/2012/04/21/install-octopress-to-write-blogs-and-deploy-on-github-dot-com/
+ </loc>
+ <lastmod>2012-04-21T22:49:41+08:00</lastmod>
</url>
<url>
<loc>http://wongyouth.github.com/</loc>
- <lastmod>2012-04-21T18:24:08+08:00</lastmod>
+ <lastmod>2012-04-21T22:49:41+08:00</lastmod>
+ </url>
+ <url>
+ <loc>http://wongyouth.github.com/blog/archives/</loc>
+ <lastmod>2012-04-21T22:49:41+08:00</lastmod>
</url>
</urlset>
View
2  stylesheets/screen.css
@@ -1 +1 @@
-html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}body{line-height:1}ol,ul{list-style:none}table{border-collapse:collapse;border-spacing:0}caption,th,td{text-align:left;font-weight:normal;vertical-align:middle}q,blockquote{quotes:none}q:before,q:after,blockquote:before,blockquote:after{content:"";content:none}a img{border:none}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary{display:block}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary{display:block}a{color:#1863a1}a:visited{color:#751590}a:focus{color:#0181eb}a:hover{color:#0181eb}a:active{color:#01579f}aside.sidebar a{color:#1863a1}aside.sidebar a:focus{color:#0181eb}aside.sidebar a:hover{color:#0181eb}aside.sidebar a:active{color:#01579f}a{-webkit-transition:color 0.3s;-moz-transition:color 0.3s;-ms-transition:color 0.3s;-o-transition:color 0.3s;transition:color 0.3s}html{background:#252525 url('/images/line-tile.png?1334910969') top left}body>div{background:#f2f2f2 url('/images/noise.png?1334910969') top left;border-bottom:1px solid #bfbfbf}body>div>div{background:#f8f8f8 url('/images/noise.png?1334910969') top left;border-right:1px solid #e0e0e0}.heading,body>header h1,h1,h2,h3,h4,h5,h6{font-family:"PT Serif","Georgia","Helvetica Neue",Arial,sans-serif}.sans,body>header h2,body>nav form .search,body>nav a,article header p.meta,article>footer,#content .blog-index footer,html .gist .gist-file .gist-meta,#blog-archives a.category,#blog-archives time,aside.sidebar section,body>footer{font-family:"PT Sans","Helvetica Neue",Arial,sans-serif}.serif,body,#content .blog-index a[rel=full-article]{font-family:"PT Serif",Georgia,Times,"Times New Roman",serif}.mono,pre,code,tt,p code,li code{font-family:Menlo,Monaco,"Andale Mono","lucida console","Courier New",monospace}body>header h1{font-size:2.2em;font-family:"PT Serif","Georgia","Helvetica Neue",Arial,sans-serif;font-weight:normal;line-height:1.2em;margin-bottom:0.6667em}body>header h2{font-family:"PT Serif","Georgia","Helvetica Neue",Arial,sans-serif}body{line-height:1.5em;color:#222}h1{font-size:2.2em;line-height:1.2em}@media only screen and (min-width: 992px){body{font-size:1.15em}h1{font-size:2.6em;line-height:1.2em}}h1,h2,h3,h4,h5,h6{text-rendering:optimizelegibility;margin-bottom:1em;font-weight:bold}h2,section h1{font-size:1.5em}h3,section h2,section section h1{font-size:1.3em}h4,section h3,section section h2,section section section h1{font-size:1em}h5,section h4,section section h3{font-size:.9em}h6,section h5,section section h4,section section section h3{font-size:.8em}p,blockquote,ul,ol{margin-bottom:1.5em}ul{list-style-type:disc}ul ul{list-style-type:circle;margin-bottom:0px}ul ul ul{list-style-type:square;margin-bottom:0px}ol{list-style-type:decimal}ol ol{list-style-type:lower-alpha;margin-bottom:0px}ol ol ol{list-style-type:lower-roman;margin-bottom:0px}ul,ul ul,ul ol,ol,ol ul,ol ol{margin-left:1.3em}strong{font-weight:bold}em{font-style:italic}sup,sub{font-size:0.8em;position:relative;display:inline-block}sup{top:-0.5em}sub{bottom:-0.5em}q{font-style:italic}q:before{content:"\201C"}q:after{content:"\201D"}em,dfn{font-style:italic}strong,dfn{font-weight:bold}del,s{text-decoration:line-through}abbr,acronym{border-bottom:1px dotted;cursor:help}sub,sup{line-height:0}hr{margin-bottom:0.2em}small{font-size:.8em}big{font-size:1.2em}blockquote{font-style:italic;position:relative;font-size:1.2em;line-height:1.5em;padding-left:1em;border-left:4px solid rgba(170,170,170,0.5)}blockquote cite{font-style:italic}blockquote cite a{color:#aaa !important;word-wrap:break-word}blockquote cite:before{content:'\2014';padding-right:.3em;padding-left:.3em;color:#aaa}@media only screen and (min-width: 992px){blockquote{padding-left:1.5em;border-left-width:4px}}.pullquote-right:before,.pullquote-left:before{padding:0;border:none;content:attr(data-pullquote);float:right;width:45%;margin:.5em 0 1em 1.5em;position:relative;top:7px;font-size:1.4em;line-height:1.45em}.pullquote-left:before{float:left;margin:.5em 1.5em 1em 0}.force-wrap,article a,aside.sidebar a{white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;white-space:pre-wrap;word-wrap:break-word}.group,body>header,body>nav,body>footer,body #content>article,body #content>div>article,body #content>div>section,body div.pagination,aside.sidebar,#main,#content,.collapse-sidebar aside.sidebar{*zoom:1}.group:after,body>header:after,body>nav:after,body>footer:after,body #content>article:after,body #content>div>article:after,body #content>div>section:after,body div.pagination:after,aside.sidebar:after,#main:after,#content:after,.collapse-sidebar aside.sidebar:after{content:"";display:table;clear:both}body{-webkit-text-size-adjust:none;max-width:1200px;position:relative;margin:0 auto}body>header,body>nav,body>footer,body #content>article,body #content>div>article,body #content>div>section{padding-left:18px;padding-right:18px}@media only screen and (min-width: 480px){body>header,body>nav,body>footer,body #content>article,body #content>div>article,body #content>div>section{padding-left:25px;padding-right:25px}}@media only screen and (min-width: 768px){body>header,body>nav,body>footer,body #content>article,body #content>div>article,body #content>div>section{padding-left:35px;padding-right:35px}}@media only screen and (min-width: 992px){body>header,body>nav,body>footer,body #content>article,body #content>div>article,body #content>div>section{padding-left:55px;padding-right:55px}}body div.pagination{margin-left:18px;margin-right:18px}@media only screen and (min-width: 480px){body div.pagination{margin-left:25px;margin-right:25px}}@media only screen and (min-width: 768px){body div.pagination{margin-left:35px;margin-right:35px}}@media only screen and (min-width: 992px){body div.pagination{margin-left:55px;margin-right:55px}}body>header{font-size:1em;padding-top:1.5em;padding-bottom:1.5em}#content{overflow:hidden}#content>div,#content>article{width:100%}aside.sidebar{float:none;padding:0 18px 1px;background-color:#f7f7f7;border-top:1px solid #e0e0e0}.flex-content,article img,article video,article .flash-video,aside.sidebar img{max-width:100%;height:auto}.basic-alignment.left,article img.left,article video.left,article .left.flash-video,aside.sidebar img.left{float:left;margin-right:1.5em}.basic-alignment.right,article img.right,article video.right,article .right.flash-video,aside.sidebar img.right{float:right;margin-left:1.5em}.basic-alignment.center,article img.center,article video.center,article .center.flash-video,aside.sidebar img.center{display:block;margin:0 auto 1.5em}.basic-alignment.left,article img.left,article video.left,article .left.flash-video,aside.sidebar img.left,.basic-alignment.right,article img.right,article video.right,article .right.flash-video,aside.sidebar img.right{margin-bottom:.8em}.toggle-sidebar,.no-sidebar .toggle-sidebar{display:none}@media only screen and (min-width: 750px){body.sidebar-footer aside.sidebar{float:none;width:auto;clear:left;margin:0;padding:0 35px 1px;background-color:#f7f7f7;border-top:1px solid #eaeaea}body.sidebar-footer aside.sidebar section.odd,body.sidebar-footer aside.sidebar section.even{float:left;width:48%}body.sidebar-footer aside.sidebar section.odd{margin-left:0}body.sidebar-footer aside.sidebar section.even{margin-left:4%}body.sidebar-footer aside.sidebar.thirds section{width:30%;margin-left:5%}body.sidebar-footer aside.sidebar.thirds section.first{margin-left:0;clear:both}}body.sidebar-footer #content{margin-right:0px}body.sidebar-footer .toggle-sidebar{display:none}@media only screen and (min-width: 550px){body>header{font-size:1em}}@media only screen and (min-width: 750px){aside.sidebar{float:none;width:auto;clear:left;margin:0;padding:0 35px 1px;background-color:#f7f7f7;border-top:1px solid #eaeaea}aside.sidebar section.odd,aside.sidebar section.even{float:left;width:48%}aside.sidebar section.odd{margin-left:0}aside.sidebar section.even{margin-left:4%}aside.sidebar.thirds section{width:30%;margin-left:5%}aside.sidebar.thirds section.first{margin-left:0;clear:both}}@media only screen and (min-width: 768px){body{-webkit-text-size-adjust:auto}body>header{font-size:1.2em}#main{padding:0;margin:0 auto}#content{overflow:visible;margin-right:240px;position:relative}.no-sidebar #content{margin-right:0;border-right:0}.collapse-sidebar #content{margin-right:20px}#content>div,#content>article{padding-top:17.5px;padding-bottom:17.5px;float:left}aside.sidebar{width:210px;padding:0 15px 15px;background:none;clear:none;float:left;margin:0 -100% 0 0}aside.sidebar section{width:auto;margin-left:0}aside.sidebar section.odd,aside.sidebar section.even{float:none;width:auto;margin-left:0}.collapse-sidebar aside.sidebar{float:none;width:auto;clear:left;margin:0;padding:0 35px 1px;background-color:#f7f7f7;border-top:1px solid #eaeaea}.collapse-sidebar aside.sidebar section.odd,.collapse-sidebar aside.sidebar section.even{float:left;width:48%}.collapse-sidebar aside.sidebar section.odd{margin-left:0}.collapse-sidebar aside.sidebar section.even{margin-left:4%}.collapse-sidebar aside.sidebar.thirds section{width:30%;margin-left:5%}.collapse-sidebar aside.sidebar.thirds section.first{margin-left:0;clear:both}}@media only screen and (min-width: 992px){body>header{font-size:1.3em}#content{margin-right:300px}#content>div,#content>article{padding-top:27.5px;padding-bottom:27.5px}aside.sidebar{width:260px;padding:1.2em 20px 20px}.collapse-sidebar aside.sidebar{padding-left:55px;padding-right:55px}}@media only screen and (min-width: 768px){ul,ol{margin-left:0}}body>header{background:#333}body>header h1{display:inline-block;margin:0}body>header h1 a,body>header h1 a:visited,body>header h1 a:hover{color:#f2f2f2;text-decoration:none}body>header h2{margin:.2em 0 0;font-size:1em;color:#aaa;font-weight:normal}body>nav{position:relative;background-color:#ccc;background:url('/images/noise.png?1334910969'),-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #e0e0e0), color-stop(50%, #cccccc), color-stop(100%, #b0b0b0));background:url('/images/noise.png?1334910969'),-webkit-linear-gradient(#e0e0e0,#cccccc,#b0b0b0);background:url('/images/noise.png?1334910969'),-moz-linear-gradient(#e0e0e0,#cccccc,#b0b0b0);background:url('/images/noise.png?1334910969'),-o-linear-gradient(#e0e0e0,#cccccc,#b0b0b0);background:url('/images/noise.png?1334910969'),-ms-linear-gradient(#e0e0e0,#cccccc,#b0b0b0);background:url('/images/noise.png?1334910969'),linear-gradient(#e0e0e0,#cccccc,#b0b0b0);border-top:1px solid #f2f2f2;border-bottom:1px solid #8c8c8c;padding-top:.35em;padding-bottom:.35em}body>nav form{-webkit-background-clip:padding;-moz-background-clip:padding;background-clip:padding-box;margin:0;padding:0}body>nav form .search{padding:.3em .5em 0;font-size:.85em;line-height:1.1em;width:95%;-webkit-border-radius:0.5em;-moz-border-radius:0.5em;-ms-border-radius:0.5em;-o-border-radius:0.5em;border-radius:0.5em;-webkit-background-clip:padding;-moz-background-clip:padding;background-clip:padding-box;-webkit-box-shadow:#d1d1d1 0 1px;-moz-box-shadow:#d1d1d1 0 1px;box-shadow:#d1d1d1 0 1px;background-color:#f2f2f2;border:1px solid #b3b3b3;color:#888}body>nav form .search:focus{color:#444;border-color:#80b1df;-webkit-box-shadow:#80b1df 0 0 4px,#80b1df 0 0 3px inset;-moz-box-shadow:#80b1df 0 0 4px,#80b1df 0 0 3px inset;box-shadow:#80b1df 0 0 4px,#80b1df 0 0 3px inset;background-color:#fff;outline:none}body>nav fieldset[role=search]{float:right;width:48%}body>nav fieldset.mobile-nav{float:left;width:48%}body>nav fieldset.mobile-nav select{width:100%;font-size:.8em;border:1px solid #888}body>nav ul{display:none}@media only screen and (min-width: 550px){body>nav{font-size:.9em}body>nav ul{margin:0;padding:0;border:0;overflow:hidden;*zoom:1;float:left;display:block;padding-top:.15em}body>nav ul li{list-style-image:none;list-style-type:none;margin-left:0;white-space:nowrap;display:inline;float:left;padding-left:0;padding-right:0}body>nav ul li:first-child,body>nav ul li.first{padding-left:0}body>nav ul li:last-child{padding-right:0}body>nav ul li.last{padding-right:0}body>nav ul.subscription{margin-left:.8em;float:right}body>nav ul.subscription li:last-child a{padding-right:0}body>nav ul li{margin:0}body>nav a{color:#6b6b6b;text-shadow:#ebebeb 0 1px;float:left;text-decoration:none;font-size:1.1em;padding:.1em 0;line-height:1.5em}body>nav a:visited{color:#6b6b6b}body>nav a:hover{color:#2b2b2b}body>nav li+li{border-left:1px solid #b0b0b0;margin-left:.8em}body>nav li+li a{padding-left:.8em;border-left:1px solid #dedede}body>nav form{float:right;text-align:left;padding-left:.8em;width:175px}body>nav form .search{width:93%;font-size:.95em;line-height:1.2em}body>nav ul[data-subscription$=email]+form{width:97px}body>nav ul[data-subscription$=email]+form .search{width:91%}body>nav fieldset.mobile-nav{display:none}body>nav fieldset[role=search]{width:99%}}@media only screen and (min-width: 992px){body>nav form{width:215px}body>nav ul[data-subscription$=email]+form{width:147px}}.no-placeholder body>nav .search{background:#f2f2f2 url('/images/search.png?1334910969') 0.3em 0.25em no-repeat;text-indent:1.3em}@media only screen and (min-width: 550px){.maskImage body>nav ul[data-subscription$=email]+form{width:123px}}@media only screen and (min-width: 992px){.maskImage body>nav ul[data-subscription$=email]+form{width:173px}}.maskImage ul.subscription{position:relative;top:.2em}.maskImage ul.subscription li,.maskImage ul.subscription a{border:0;padding:0}.maskImage a[rel=subscribe-rss]{position:relative;top:0px;text-indent:-999999em;background-color:#dedede;border:0;padding:0}.maskImage a[rel=subscribe-rss],.maskImage a[rel=subscribe-rss]:after{-webkit-mask-image:url('/images/rss.png?1334910969');-moz-mask-image:url('/images/rss.png?1334910969');-ms-mask-image:url('/images/rss.png?1334910969');-o-mask-image:url('/images/rss.png?1334910969');mask-image:url('/images/rss.png?1334910969');-webkit-mask-repeat:no-repeat;-moz-mask-repeat:no-repeat;-ms-mask-repeat:no-repeat;-o-mask-repeat:no-repeat;mask-repeat:no-repeat;width:22px;height:22px}.maskImage a[rel=subscribe-rss]:after{content:"";position:absolute;top:-1px;left:0;background-color:#ababab}.maskImage a[rel=subscribe-rss]:hover:after{background-color:#9e9e9e}.maskImage a[rel=subscribe-email]{position:relative;top:0px;text-indent:-999999em;background-color:#dedede;border:0;padding:0}.maskImage a[rel=subscribe-email],.maskImage a[rel=subscribe-email]:after{-webkit-mask-image:url('/images/email.png?1334910969');-moz-mask-image:url('/images/email.png?1334910969');-ms-mask-image:url('/images/email.png?1334910969');-o-mask-image:url('/images/email.png?1334910969');mask-image:url('/images/email.png?1334910969');-webkit-mask-repeat:no-repeat;-moz-mask-repeat:no-repeat;-ms-mask-repeat:no-repeat;-o-mask-repeat:no-repeat;mask-repeat:no-repeat;width:28px;height:22px}.maskImage a[rel=subscribe-email]:after{content:"";position:absolute;top:-1px;left:0;background-color:#ababab}.maskImage a[rel=subscribe-email]:hover:after{background-color:#9e9e9e}article{padding-top:1em}article header{position:relative;padding-top:2em;padding-bottom:1em;margin-bottom:1em;background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAABCAYAAACsXeyTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAFUlEQVQIHWNIS0sr/v//PwMMDzY+ADqMahlW4J91AAAAAElFTkSuQmCC') bottom left repeat-x}article header h1{margin:0}article header h1 a{text-decoration:none}article header h1 a:hover{text-decoration:underline}article header p{font-size:.9em;color:#aaa;margin:0}article header p.meta{text-transform:uppercase;position:absolute;top:0}@media only screen and (min-width: 768px){article header{margin-bottom:1.5em;padding-bottom:1em;background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAABCAYAAACsXeyTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAFUlEQVQIHWNIS0sr/v//PwMMDzY+ADqMahlW4J91AAAAAElFTkSuQmCC') bottom left repeat-x}}article h2{padding-top:0.8em;background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAABCAYAAACsXeyTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAFUlEQVQIHWNIS0sr/v//PwMMDzY+ADqMahlW4J91AAAAAElFTkSuQmCC') top left repeat-x}.entry-content article h2:first-child,article header+h2{padding-top:0}article h2:first-child,article header+h2{background:none}article .feature{padding-top:.5em;margin-bottom:1em;padding-bottom:1em;background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAABCAYAAACsXeyTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAFUlEQVQIHWNIS0sr/v//PwMMDzY+ADqMahlW4J91AAAAAElFTkSuQmCC') bottom left repeat-x;font-size:2.0em;font-style:italic;line-height:1.3em}article img,article video,article .flash-video{-webkit-border-radius:0.3em;-moz-border-radius:0.3em;-ms-border-radius:0.3em;-o-border-radius:0.3em;border-radius:0.3em;-webkit-box-shadow:rgba(0,0,0,0.15) 0 1px 4px;-moz-box-shadow:rgba(0,0,0,0.15) 0 1px 4px;box-shadow:rgba(0,0,0,0.15) 0 1px 4px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border:#fff 0.5em solid}article video,article .flash-video{margin:0 auto 1.5em}article video{display:block;width:100%}article .flash-video>div{position:relative;display:block;padding-bottom:56.25%;padding-top:1px;height:0;overflow:hidden}article .flash-video>div iframe,article .flash-video>div object,article .flash-video>div embed{position:absolute;top:0;left:0;width:100%;height:100%}article>footer{padding-bottom:2.5em;margin-top:2em}article>footer p.meta{margin-bottom:.8em;font-size:.85em;clear:both;overflow:hidden}.blog-index article+article{background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAABCAYAAACsXeyTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAFUlEQVQIHWNIS0sr/v//PwMMDzY+ADqMahlW4J91AAAAAElFTkSuQmCC') top left repeat-x}#content .blog-index{padding-top:0;padding-bottom:0}#content .blog-index article{padding-top:2em}#content .blog-index article header{background:none;padding-bottom:0}#content .blog-index article h1{font-size:2.2em}#content .blog-index article h1 a{color:inherit}#content .blog-index article h1 a:hover{color:#0181eb}#content .blog-index a[rel=full-article]{background:#ebebeb;display:inline-block;padding:.4em .8em;margin-right:.5em;text-decoration:none;color:#666;-webkit-transition:background-color 0.5s;-moz-transition:background-color 0.5s;-ms-transition:background-color 0.5s;-o-transition:background-color 0.5s;transition:background-color 0.5s}#content .blog-index a[rel=full-article]:hover{background:#0181eb;text-shadow:none;color:#f8f8f8}#content .blog-index footer{margin-top:1em}.separator,article>footer .byline+time:before,article>footer time+time:before,article>footer .comments:before,article>footer .byline ~ .categories:before{content:"\2022 ";padding:0 .4em 0 .2em;display:inline-block}#content div.pagination{text-align:center;font-size:.95em;position:relative;background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAABCAYAAACsXeyTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAFUlEQVQIHWNIS0sr/v//PwMMDzY+ADqMahlW4J91AAAAAElFTkSuQmCC') top left repeat-x;padding-top:1.5em;padding-bottom:1.5em}#content div.pagination a{text-decoration:none;color:#aaa}#content div.pagination a.prev{position:absolute;left:0}#content div.pagination a.next{position:absolute;right:0}#content div.pagination a:hover{color:#0181eb}#content div.pagination a[href*=archive]:before,#content div.pagination a[href*=archive]:after{content:'\2014';padding:0 .3em}p.meta+.sharing{padding-top:1em;padding-left:0;background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAABCAYAAACsXeyTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAFUlEQVQIHWNIS0sr/v//PwMMDzY+ADqMahlW4J91AAAAAElFTkSuQmCC') top left repeat-x}#fb-root{display:none}.highlight,html .gist .gist-file .gist-syntax .gist-highlight{border:1px solid #05232b !important}.highlight table td.code,html .gist .gist-file .gist-syntax .gist-highlight table td.code{width:100%}.highlight .line-numbers,html .gist .gist-file .gist-syntax .gist-highlight .line-numbers{text-align:right;font-size:13px;line-height:1.45em;background:#073642 url('/images/noise.png?1334910969') top left !important;border-right:1px solid #00232c !important;-webkit-box-shadow:#083e4b -1px 0 inset;-moz-box-shadow:#083e4b -1px 0 inset;box-shadow:#083e4b -1px 0 inset;text-shadow:#021014 0 -1px;padding:.8em !important;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0}.highlight .line-numbers span,html .gist .gist-file .gist-syntax .gist-highlight .line-numbers span{color:#586e75 !important}figure.code,.gist-file,pre{-webkit-box-shadow:rgba(0,0,0,0.06) 0 0 10px;-moz-box-shadow:rgba(0,0,0,0.06) 0 0 10px;box-shadow:rgba(0,0,0,0.06) 0 0 10px}figure.code .highlight pre,.gist-file .highlight pre,pre .highlight pre{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}html .gist .gist-file{margin-bottom:1.8em;position:relative;border:none;padding-top:26px !important}html .gist .gist-file .gist-syntax{border-bottom:0 !important;background:none !important}html .gist .gist-file .gist-syntax .gist-highlight{background:#002b36 !important}html .gist .gist-file .gist-meta{padding:.6em 0.8em;border:1px solid #083e4b !important;color:#586e75;font-size:.7em !important;background:#073642 url('/images/noise.png?1334910969') top left;line-height:1.5em}html .gist .gist-file .gist-meta a{color:#75878b !important;text-decoration:none}html .gist .gist-file .gist-meta a:hover{text-decoration:underline}html .gist .gist-file .gist-meta a:hover{color:#93a1a1 !important}html .gist .gist-file .gist-meta a[href*='#file']{position:absolute;top:0;left:0;right:-10px;color:#474747 !important}html .gist .gist-file .gist-meta a[href*='#file']:hover{color:#1863a1 !important}html .gist .gist-file .gist-meta a[href*=raw]{top:.4em}pre{background:#002b36 url('/images/noise.png?1334910969') top left;-webkit-border-radius:0.4em;-moz-border-radius:0.4em;-ms-border-radius:0.4em;-o-border-radius:0.4em;border-radius:0.4em;border:1px solid #05232b;line-height:1.45em;font-size:13px;margin-bottom:2.1em;padding:.8em 1em;color:#93a1a1;overflow:auto}h3.filename+pre{-moz-border-radius-topleft:0px;-webkit-border-top-left-radius:0px;-ms-border-top-left-radius:0px;-o-border-top-left-radius:0px;border-top-left-radius:0px;-moz-border-radius-topright:0px;-webkit-border-top-right-radius:0px;-ms-border-top-right-radius:0px;-o-border-top-right-radius:0px;border-top-right-radius:0px}p code,li code{display:inline-block;white-space:no-wrap;background:#fff;font-size:.8em;line-height:1.5em;color:#555;border:1px solid #ddd;-webkit-border-radius:0.4em;-moz-border-radius:0.4em;-ms-border-radius:0.4em;-o-border-radius:0.4em;border-radius:0.4em;padding:0 .3em;margin:-1px 0}p pre code,li pre code{font-size:1em !important;background:none;border:none}.pre-code,html .gist .gist-file .gist-syntax .gist-highlight pre,.highlight code{font-family:Menlo,Monaco,"Andale Mono","lucida console","Courier New",monospace !important;overflow:scroll;overflow-y:hidden;display:block;padding:.8em !important;overflow-x:auto;line-height:1.45em;background:#002b36 url('/images/noise.png?1334910969') top left !important;color:#93a1a1 !important}.pre-code *::-moz-selection,html .gist .gist-file .gist-syntax .gist-highlight pre *::-moz-selection,.highlight code *::-moz-selection{background:#386774;color:inherit;text-shadow:#002b36 0 1px}.pre-code *::-webkit-selection,html .gist .gist-file .gist-syntax .gist-highlight pre *::-webkit-selection,.highlight code *::-webkit-selection{background:#386774;color:inherit;text-shadow:#002b36 0 1px}.pre-code *::selection,html .gist .gist-file .gist-syntax .gist-highlight pre *::selection,.highlight code *::selection{background:#386774;color:inherit;text-shadow:#002b36 0 1px}.pre-code span,html .gist .gist-file .gist-syntax .gist-highlight pre span,.highlight code span{color:#93a1a1 !important}.pre-code span,html .gist .gist-file .gist-syntax .gist-highlight pre span,.highlight code span{font-style:normal !important;font-weight:normal !important}.pre-code .c,html .gist .gist-file .gist-syntax .gist-highlight pre .c,.highlight code .c{color:#586e75 !important;font-style:italic !important}.pre-code .cm,html .gist .gist-file .gist-syntax .gist-highlight pre .cm,.highlight code .cm{color:#586e75 !important;font-style:italic !important}.pre-code .cp,html .gist .gist-file .gist-syntax .gist-highlight pre .cp,.highlight code .cp{color:#586e75 !important;font-style:italic !important}.pre-code .c1,html .gist .gist-file .gist-syntax .gist-highlight pre .c1,.highlight code .c1{color:#586e75 !important;font-style:italic !important}.pre-code .cs,html .gist .gist-file .gist-syntax .gist-highlight pre .cs,.highlight code .cs{color:#586e75 !important;font-weight:bold !important;font-style:italic !important}.pre-code .err,html .gist .gist-file .gist-syntax .gist-highlight pre .err,.highlight code .err{color:#dc322f !important;background:none !important}.pre-code .k,html .gist .gist-file .gist-syntax .gist-highlight pre .k,.highlight code .k{color:#cb4b16 !important}.pre-code .o,html .gist .gist-file .gist-syntax .gist-highlight pre .o,.highlight code .o{color:#93a1a1 !important;font-weight:bold !important}.pre-code .p,html .gist .gist-file .gist-syntax .gist-highlight pre .p,.highlight code .p{color:#93a1a1 !important}.pre-code .ow,html .gist .gist-file .gist-syntax .gist-highlight pre .ow,.highlight code .ow{color:#2aa198 !important;font-weight:bold !important}.pre-code .gd,html .gist .gist-file .gist-syntax .gist-highlight pre .gd,.highlight code .gd{color:#93a1a1 !important;background-color:#372c34 !important;display:inline-block}.pre-code .gd .x,html .gist .gist-file .gist-syntax .gist-highlight pre .gd .x,.highlight code .gd .x{color:#93a1a1 !important;background-color:#4d2d33 !important;display:inline-block}.pre-code .ge,html .gist .gist-file .gist-syntax .gist-highlight pre .ge,.highlight code .ge{color:#93a1a1 !important;font-style:italic !important}.pre-code .gh,html .gist .gist-file .gist-syntax .gist-highlight pre .gh,.highlight code .gh{color:#586e75 !important}.pre-code .gi,html .gist .gist-file .gist-syntax .gist-highlight pre .gi,.highlight code .gi{color:#93a1a1 !important;background-color:#1a412b !important;display:inline-block}.pre-code .gi .x,html .gist .gist-file .gist-syntax .gist-highlight pre .gi .x,.highlight code .gi .x{color:#93a1a1 !important;background-color:#355720 !important;display:inline-block}.pre-code .gs,html .gist .gist-file .gist-syntax .gist-highlight pre .gs,.highlight code .gs{color:#93a1a1 !important;font-weight:bold !important}.pre-code .gu,html .gist .gist-file .gist-syntax .gist-highlight pre .gu,.highlight code .gu{color:#6c71c4 !important}.pre-code .kc,html .gist .gist-file .gist-syntax .gist-highlight pre .kc,.highlight code .kc{color:#859900 !important;font-weight:bold !important}.pre-code .kd,html .gist .gist-file .gist-syntax .gist-highlight pre .kd,.highlight code .kd{color:#268bd2 !important}.pre-code .kp,html .gist .gist-file .gist-syntax .gist-highlight pre .kp,.highlight code .kp{color:#cb4b16 !important;font-weight:bold !important}.pre-code .kr,html .gist .gist-file .gist-syntax .gist-highlight pre .kr,.highlight code .kr{color:#d33682 !important;font-weight:bold !important}.pre-code .kt,html .gist .gist-file .gist-syntax .gist-highlight pre .kt,.highlight code .kt{color:#2aa198 !important}.pre-code .n,html .gist .gist-file .gist-syntax .gist-highlight pre .n,.highlight code .n{color:#268bd2 !important}.pre-code .na,html .gist .gist-file .gist-syntax .gist-highlight pre .na,.highlight code .na{color:#268bd2 !important}.pre-code .nb,html .gist .gist-file .gist-syntax .gist-highlight pre .nb,.highlight code .nb{color:#859900 !important}.pre-code .nc,html .gist .gist-file .gist-syntax .gist-highlight pre .nc,.highlight code .nc{color:#d33682 !important}.pre-code .no,html .gist .gist-file .gist-syntax .gist-highlight pre .no,.highlight code .no{color:#b58900 !important}.pre-code .nl,html .gist .gist-file .gist-syntax .gist-highlight pre .nl,.highlight code .nl{color:#859900 !important}.pre-code .ne,html .gist .gist-file .gist-syntax .gist-highlight pre .ne,.highlight code .ne{color:#268bd2 !important;font-weight:bold !important}.pre-code .nf,html .gist .gist-file .gist-syntax .gist-highlight pre .nf,.highlight code .nf{color:#268bd2 !important;font-weight:bold !important}.pre-code .nn,html .gist .gist-file .gist-syntax .gist-highlight pre .nn,.highlight code .nn{color:#b58900 !important}.pre-code .nt,html .gist .gist-file .gist-syntax .gist-highlight pre .nt,.highlight code .nt{color:#268bd2 !important;font-weight:bold !important}.pre-code .nx,html .gist .gist-file .gist-syntax .gist-highlight pre .nx,.highlight code .nx{color:#b58900 !important}.pre-code .vg,html .gist .gist-file .gist-syntax .gist-highlight pre .vg,.highlight code .vg{color:#268bd2 !important}.pre-code .vi,html .gist .gist-file .gist-syntax .gist-highlight pre .vi,.highlight code .vi{color:#268bd2 !important}.pre-code .nv,html .gist .gist-file .gist-syntax .gist-highlight pre .nv,.highlight code .nv{color:#268bd2 !important}.pre-code .mf,html .gist .gist-file .gist-syntax .gist-highlight pre .mf,.highlight code .mf{color:#2aa198 !important}.pre-code .m,html .gist .gist-file .gist-syntax .gist-highlight pre .m,.highlight code .m{color:#2aa198 !important}.pre-code .mh,html .gist .gist-file .gist-syntax .gist-highlight pre .mh,.highlight code .mh{color:#2aa198 !important}.pre-code .mi,html .gist .gist-file .gist-syntax .gist-highlight pre .mi,.highlight code .mi{color:#2aa198 !important}.pre-code .s,html .gist .gist-file .gist-syntax .gist-highlight pre .s,.highlight code .s{color:#2aa198 !important}.pre-code .sd,html .gist .gist-file .gist-syntax .gist-highlight pre .sd,.highlight code .sd{color:#2aa198 !important}.pre-code .s2,html .gist .gist-file .gist-syntax .gist-highlight pre .s2,.highlight code .s2{color:#2aa198 !important}.pre-code .se,html .gist .gist-file .gist-syntax .gist-highlight pre .se,.highlight code .se{color:#dc322f !important}.pre-code .si,html .gist .gist-file .gist-syntax .gist-highlight pre .si,.highlight code .si{color:#268bd2 !important}.pre-code .sr,html .gist .gist-file .gist-syntax .gist-highlight pre .sr,.highlight code .sr{color:#2aa198 !important}.pre-code .s1,html .gist .gist-file .gist-syntax .gist-highlight pre .s1,.highlight code .s1{color:#2aa198 !important}.pre-code div .gd,html .gist .gist-file .gist-syntax .gist-highlight pre div .gd,.highlight code div .gd,.pre-code div .gd .x,html .gist .gist-file .gist-syntax .gist-highlight pre div .gd .x,.highlight code div .gd .x,.pre-code div .gi,html .gist .gist-file .gist-syntax .gist-highlight pre div .gi,.highlight code div .gi,.pre-code div .gi .x,html .gist .gist-file .gist-syntax .gist-highlight pre div .gi .x,.highlight code div .gi .x{display:inline-block;width:100%}.highlight,.gist-highlight{margin-bottom:1.8em;background:#002b36;overflow-y:hidden;overflow-x:auto}.highlight pre,.gist-highlight pre{background:none;-webkit-border-radius:none;-moz-border-radius:none;-ms-border-radius:none;-o-border-radius:none;border-radius:none;border:none;padding:0;margin-bottom:0}pre::-webkit-scrollbar,.highlight::-webkit-scrollbar,.gist-highlight::-webkit-scrollbar{height:.5em;background:rgba(255,255,255,0.15)}pre::-webkit-scrollbar-thumb:horizontal,.highlight::-webkit-scrollbar-thumb:horizontal,.gist-highlight::-webkit-scrollbar-thumb:horizontal{background:rgba(255,255,255,0.2);-webkit-border-radius:4px;border-radius:4px}.highlight code{background:#000}figure.code{background:none;padding:0;border:0;margin-bottom:1.5em}figure.code pre{margin-bottom:0}figure.code figcaption{position:relative}figure.code .highlight{margin-bottom:0}.code-title,html .gist .gist-file .gist-meta a[href*='#file'],h3.filename,figure.code figcaption{text-align:center;font-size:13px;line-height:2em;text-shadow:#cbcccc 0 1px 0;color:#474747;font-weight:normal;margin-bottom:0;-moz-border-radius-topleft:5px;-webkit-border-top-left-radius:5px;-ms-border-top-left-radius:5px;-o-border-top-left-radius:5px;border-top-left-radius:5px;-moz-border-radius-topright:5px;-webkit-border-top-right-radius:5px;-ms-border-top-right-radius:5px;-o-border-top-right-radius:5px;border-top-right-radius:5px;font-family:"Helvetica Neue", Arial, "Lucida Grande", "Lucida Sans Unicode", Lucida, sans-serif;background:#aaa url('/images/code_bg.png?1334910969') top repeat-x;border:1px solid #565656;border-top-color:#cbcbcb;border-left-color:#a5a5a5;border-right-color:#a5a5a5;border-bottom:0}.download-source,html .gist .gist-file .gist-meta a[href*=raw],figure.code figcaption a{position:absolute;right:.8em;text-decoration:none;color:#666 !important;z-index:1;font-size:13px;text-shadow:#cbcccc 0 1px 0;padding-left:3em}.download-source:hover,html .gist .gist-file .gist-meta a[href*=raw]:hover,figure.code figcaption a:hover{text-decoration:underline}#archive #content>div,#archive #content>div>article{padding-top:0}#blog-archives{color:#aaa}#blog-archives article{padding:1em 0 1em;position:relative;background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAABCAYAAACsXeyTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAFUlEQVQIHWNIS0sr/v//PwMMDzY+ADqMahlW4J91AAAAAElFTkSuQmCC') bottom left repeat-x}#blog-archives article:last-child{background:none}#blog-archives article footer{padding:0;margin:0}#blog-archives h1{color:#222;margin-bottom:.3em}#blog-archives h2{display:none}#blog-archives h1{font-size:1.5em}#blog-archives h1 a{text-decoration:none;color:inherit;font-weight:normal;display:inline-block}#blog-archives h1 a:hover{text-decoration:underline}#blog-archives h1 a:hover{color:#0181eb}#blog-archives a.category,#blog-archives time{color:#aaa}#blog-archives .entry-content{display:none}#blog-archives time{font-size:.9em;line-height:1.2em}#blog-archives time .month,#blog-archives time .day{display:inline-block}#blog-archives time .month{text-transform:uppercase}#blog-archives p{margin-bottom:1em}#blog-archives a,#blog-archives .entry-content a{color:inherit}#blog-archives a:hover,#blog-archives .entry-content a:hover{color:#0181eb}#blog-archives a:hover{color:#0181eb}@media only screen and (min-width: 550px){#blog-archives article{margin-left:5em}#blog-archives h2{margin-bottom:.3em;font-weight:normal;display:inline-block;position:relative;top:-1px;float:left}#blog-archives h2:first-child{padding-top:.75em}#blog-archives time{position:absolute;text-align:right;left:0em;top:1.8em}#blog-archives .year{display:none}#blog-archives article{padding-left:4.5em;padding-bottom:.7em}#blog-archives a.category{line-height:1.1em}}#content>.category article{margin-left:0;padding-left:6.8em}#content>.category .year{display:inline}.side-shadow-border,aside.sidebar section h1,aside.sidebar li{-webkit-box-shadow:#fff 0 1px;-moz-box-shadow:#fff 0 1px;box-shadow:#fff 0 1px}aside.sidebar{overflow:hidden;color:#4b4b4b;text-shadow:#fff 0 1px}aside.sidebar section{font-size:.8em;line-height:1.4em;margin-bottom:1.5em}aside.sidebar section h1{margin:1.5em 0 0;padding-bottom:.2em;border-bottom:1px solid #e0e0e0}aside.sidebar section h1+p{padding-top:.4em}aside.sidebar img{-webkit-border-radius:0.3em;-moz-border-radius:0.3em;-ms-border-radius:0.3em;-o-border-radius:0.3em;border-radius:0.3em;-webkit-box-shadow:rgba(0,0,0,0.15) 0 1px 4px;-moz-box-shadow:rgba(0,0,0,0.15) 0 1px 4px;box-shadow:rgba(0,0,0,0.15) 0 1px 4px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border:#fff 0.3em solid}aside.sidebar ul{margin-bottom:0.5em;margin-left:0}aside.sidebar li{list-style:none;padding:.5em 0;margin:0;border-bottom:1px solid #e0e0e0}aside.sidebar li p:last-child{margin-bottom:0}aside.sidebar a{color:inherit;-webkit-transition:color 0.5s;-moz-transition:color 0.5s;-ms-transition:color 0.5s;-o-transition:color 0.5s;transition:color 0.5s}aside.sidebar:hover a{color:#1863a1}aside.sidebar:hover a:hover{color:#0181eb}.aside-alt-link,#tweets a[href*='twitter.com/search'],#pinboard_linkroll .pin-tag{color:#7e7e7e}.aside-alt-link:hover,#tweets a[href*='twitter.com/search']:hover,#pinboard_linkroll .pin-tag:hover{color:#0181eb}@media only screen and (min-width: 768px){.toggle-sidebar{outline:none;position:absolute;right:-10px;top:0;bottom:0;display:inline-block;text-decoration:none;color:#cecece;width:9px;cursor:pointer}.toggle-sidebar:hover{background:#e9e9e9;background:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, rgba(224,224,224,0.5)), color-stop(100%, rgba(224,224,224,0)));background:-webkit-linear-gradient(left, rgba(224,224,224,0.5),rgba(224,224,224,0));background:-moz-linear-gradient(left, rgba(224,224,224,0.5),rgba(224,224,224,0));background:-o-linear-gradient(left, rgba(224,224,224,0.5),rgba(224,224,224,0));background:-ms-linear-gradient(left, rgba(224,224,224,0.5),rgba(224,224,224,0));background:linear-gradient(left, rgba(224,224,224,0.5),rgba(224,224,224,0))}.toggle-sidebar:after{position:absolute;right:-11px;top:0;width:20px;font-size:1.2em;line-height:1.1em;padding-bottom:.15em;-moz-border-radius-bottomright:0.3em;-webkit-border-bottom-right-radius:0.3em;-ms-border-bottom-right-radius:0.3em;-o-border-bottom-right-radius:0.3em;border-bottom-right-radius:0.3em;text-align:center;background:#f8f8f8 url('/images/noise.png?1334910969') top left;border-bottom:1px solid #e0e0e0;border-right:1px solid #e0e0e0;content:"\00BB";text-indent:-1px}.collapse-sidebar .toggle-sidebar{text-indent:0px;right:-20px;width:19px}.collapse-sidebar .toggle-sidebar:hover{background:#e9e9e9}.collapse-sidebar .toggle-sidebar:after{border-left:1px solid #e0e0e0;text-shadow:#fff 0 1px;content:"\00AB";left:0px;right:0;text-align:center;text-indent:0;border:0;border-right-width:0;background:none}}#tweets .loading{background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowMjgwMTE3NDA3MjA2ODExQTQxQUNFN0NCOEMyNEMzNiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDowQkYxMEI5QjQ5QzYxMUUwQTJGN0YyQzFDMzFCQjZCMyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDowQkYxMEI5QTQ5QzYxMUUwQTJGN0YyQzFDMzFCQjZCMyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IE1hY2ludG9zaCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkIxREYyRDc2MTIyMDY4MTFBNDFBQ0U3Q0I4QzI0QzM2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjAyODAxMTc0MDcyMDY4MTFBNDFBQ0U3Q0I4QzI0QzM2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+bAX+SwAAAZBJREFUeNrsl+1tgzAQhgF1AHeCphPU3QA2SDcIEzRMUDpB0wlCJ8gIcf+DQicoG5QNqC29SJZl/EHc8oeTTkTCvnvse3048TAM0ZKWRAvbCnDTNE3omBvulHvPnVkBAic/ct/hd4fn/X+VQE4+AjzN0UDK/Zv7njtxTL5Tko9xLgAjPgA96vjG/QcBqCE5wVgT3HkKQgfQcq+UABcESTXjXXaKYr6zBnIFYtzSswbk2bFMVFOmSYBSN1gBGetOPIT64noMmW6wRvX9jB6xlXT2YALIkSSyCNDXTpLYM1MfEBooZqzSxVoskCQOx4v8AQDF7m5MAD0oQ5uImXG/Fbtsa8UVenkRKHmHmMznW9AFLMPH3I8RCyBGsZCDDmDvCJBBvdfUvtcBtOj1W0PzKNH96BXJ2dSFRLx4x7E4AuiT+x0S0gCqr2w3ogqJT+j1aSDF57ZrWaJ0p0edUDxN1PkVsax3wkQzucDZP3gqv5Xmlq5z47quXdpmKmlChv3CVjPpEupl8frXbAVYGuBXgAEAuftfzMLpDZgAAAAASUVORK5CYII=') no-repeat center 0.5em;color:#c4c4c4;text-shadow:#f8f8f8 0 1px;text-align:center;padding:2.5em 0 .5em}#tweets .loading.error{background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAACLklEQVRYhe2WwY2bQBSG/4f3aEtsB+4gG8kzkk+BDuIKbFcQU0GyFXhdgekgJeAbEiCFErwdIMHN1vw5BK8cAws2K+3F/wm9eTP/x7w3owHuuuuTJbdODMNwPBgMHBEZi8gXkvbZcArgleROa51+GEAQBPZwOFwAmIvIU8dpGUn/eDxuptPp/iaA0nglIj8A2K0TGkTypSiKZ9d1s84AcRw7IrIFML7V+EJ7Y8zsVJp3AaIoWliWte3jRjIVkZTkK4Bvp9IZYzyttd8I0NM8I7k5Ho9+Xd2TJPlO8icArxag3PbgFmeSKcllW/eXPqsKQBAE9mg0+oN+Nc9IzpRSu7ZE6zIwHA5XPc2BfyfF6ZJYARCReU/zk7IwDMdtSW8liOPYITnu2/WXMsYstdZ+I0DZ7Wv0uGDalOf54/nlcy5LRPYAliRbu/YGZSS9JnMAsEhmALZX3O3XyBaRdRRFi0YAEZkbYzySLoDZDSaNf/dmYlnbOI6durEHpZR3HkiSZI8rjqExxjuZtKQ6AHYVuJoFn7uaA8i01r7W2ifpkqwYlPKVUr/qBioA5WKdGpLk5vStlNoppdwGkEWSJLU7VAEAgKIo3A4QWVEUL5fBE4gx5isA/xwiiqJKo9cCuK6bFUXhXizwn4wx7x4vrXU6mUyWeZ4/kvQA7EWkcte0PkiiKHoSkbWIOGdhfzKZLNvmdtFDW4JlWb8vQh9mDnR8E5bvA/twOKR1D4y77uqjv2QXCIW9OIVeAAAAAElFTkSuQmCC') no-repeat center 0.5em}#tweets p{position:relative;padding-right:1em}#tweets a[href*=status]:first-child{color:#a4a4a4;float:right;padding:0 0 .1em 1em;position:relative;right:-1.3em;text-shadow:#fff 0 1px;font-size:.7em;text-decoration:none}#tweets a[href*=status]:first-child span{font-size:1.5em}#tweets a[href*=status]:first-child:hover{color:#0181eb;text-decoration:none}#tweets a[href*='twitter.com/search']{text-decoration:none}#tweets a[href*='twitter.com/search']:hover{text-decoration:underline}.googleplus h1{-moz-box-shadow:none !important;-webkit-box-shadow:none !important;-o-box-shadow:none !important;box-shadow:none !important;border-bottom:0px none !important}.googleplus a{text-decoration:none;white-space:normal !important;line-height:32px}.googleplus a img{float:left;margin-right:0.5em;border:0 none}.googleplus-hidden{position:absolute;top:-1000em;left:-1000em}#pinboard_linkroll .pin-title,#pinboard_linkroll .pin-description{display:block;margin-bottom:.5em}#pinboard_linkroll .pin-tag{text-decoration:none}#pinboard_linkroll .pin-tag:hover{text-decoration:underline}#pinboard_linkroll .pin-tag:after{content:','}#pinboard_linkroll .pin-tag:last-child:after{content:''}.delicious-posts a.delicious-link{margin-bottom:.5em;display:block}.delicious-posts p{font-size:1em}body>footer{font-size:.8em;color:#888;text-shadow:#d9d9d9 0 1px;background-color:#ccc;background:url('/images/noise.png?1334910969'),-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #e0e0e0), color-stop(50%, #cccccc), color-stop(100%, #b0b0b0));background:url('/images/noise.png?1334910969'),-webkit-linear-gradient(#e0e0e0,#cccccc,#b0b0b0);background:url('/images/noise.png?1334910969'),-moz-linear-gradient(#e0e0e0,#cccccc,#b0b0b0);background:url('/images/noise.png?1334910969'),-o-linear-gradient(#e0e0e0,#cccccc,#b0b0b0);background:url('/images/noise.png?1334910969'),-ms-linear-gradient(#e0e0e0,#cccccc,#b0b0b0);background:url('/images/noise.png?1334910969'),linear-gradient(#e0e0e0,#cccccc,#b0b0b0);border-top:1px solid #f2f2f2;position:relative;padding-top:1em;padding-bottom:1em;margin-bottom:3em;-moz-border-radius-bottomleft:0.4em;-webkit-border-bottom-left-radius:0.4em;-ms-border-bottom-left-radius:0.4em;-o-border-bottom-left-radius:0.4em;border-bottom-left-radius:0.4em;-moz-border-radius-bottomright:0.4em;-webkit-border-bottom-right-radius:0.4em;-ms-border-bottom-right-radius:0.4em;-o-border-bottom-right-radius:0.4em;border-bottom-right-radius:0.4em;z-index:1}body>footer a{color:#6b6b6b}body>footer a:visited{color:#6b6b6b}body>footer a:hover{color:#484848}body>footer p:last-child{margin-bottom:0}
+html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}body{line-height:1}ol,ul{list-style:none}table{border-collapse:collapse;border-spacing:0}caption,th,td{text-align:left;font-weight:normal;vertical-align:middle}q,blockquote{quotes:none}q:before,q:after,blockquote:before,blockquote:after{content:"";content:none}a img{border:none}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary{display:block}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary{display:block}a{color:#1863a1}a:visited{color:#751590}a:focus{color:#0181eb}a:hover{color:#0181eb}a:active{color:#01579f}aside.sidebar a{color:#1863a1}aside.sidebar a:focus{color:#0181eb}aside.sidebar a:hover{color:#0181eb}aside.sidebar a:active{color:#01579f}a{-webkit-transition:color 0.3s;-moz-transition:color 0.3s;-ms-transition:color 0.3s;-o-transition:color 0.3s;transition:color 0.3s}html{background:#252525 url('/images/line-tile.png?1335019781') top left}body>div{background:#f2f2f2 url('/images/noise.png?1335019781') top left;border-bottom:1px solid #bfbfbf}body>div>div{background:#f8f8f8 url('/images/noise.png?1335019781') top left;border-right:1px solid #e0e0e0}.heading,body>header h1,h1,h2,h3,h4,h5,h6{font-family:"PT Serif","Georgia","Helvetica Neue",Arial,sans-serif}.sans,body>header h2,body>nav form .search,body>nav a,article header p.meta,article>footer,#content .blog-index footer,html .gist .gist-file .gist-meta,#blog-archives a.category,#blog-archives time,aside.sidebar section,body>footer{font-family:"PT Sans","Helvetica Neue",Arial,sans-serif}.serif,body,#content .blog-index a[rel=full-article]{font-family:"PT Serif",Georgia,Times,"Times New Roman",serif}.mono,pre,code,tt,p code,li code{font-family:Menlo,Monaco,"Andale Mono","lucida console","Courier New",monospace}body>header h1{font-size:2.2em;font-family:"PT Serif","Georgia","Helvetica Neue",Arial,sans-serif;font-weight:normal;line-height:1.2em;margin-bottom:0.6667em}body>header h2{font-family:"PT Serif","Georgia","Helvetica Neue",Arial,sans-serif}body{line-height:1.5em;color:#222}h1{font-size:2.2em;line-height:1.2em}@media only screen and (min-width: 992px){body{font-size:1.15em}h1{font-size:2.6em;line-height:1.2em}}h1,h2,h3,h4,h5,h6{text-rendering:optimizelegibility;margin-bottom:1em;font-weight:bold}h2,section h1{font-size:1.5em}h3,section h2,section section h1{font-size:1.3em}h4,section h3,section section h2,section section section h1{font-size:1em}h5,section h4,section section h3{font-size:.9em}h6,section h5,section section h4,section section section h3{font-size:.8em}p,blockquote,ul,ol{margin-bottom:1.5em}ul{list-style-type:disc}ul ul{list-style-type:circle;margin-bottom:0px}ul ul ul{list-style-type:square;margin-bottom:0px}ol{list-style-type:decimal}ol ol{list-style-type:lower-alpha;margin-bottom:0px}ol ol ol{list-style-type:lower-roman;margin-bottom:0px}ul,ul ul,ul ol,ol,ol ul,ol ol{margin-left:1.3em}strong{font-weight:bold}em{font-style:italic}sup,sub{font-size:0.8em;position:relative;display:inline-block}sup{top:-0.5em}sub{bottom:-0.5em}q{font-style:italic}q:before{content:"\201C"}q:after{content:"\201D"}em,dfn{font-style:italic}strong,dfn{font-weight:bold}del,s{text-decoration:line-through}abbr,acronym{border-bottom:1px dotted;cursor:help}sub,sup{line-height:0}hr{margin-bottom:0.2em}small{font-size:.8em}big{font-size:1.2em}blockquote{font-style:italic;position:relative;font-size:1.2em;line-height:1.5em;padding-left:1em;border-left:4px solid rgba(170,170,170,0.5)}blockquote cite{font-style:italic}blockquote cite a{color:#aaa !important;word-wrap:break-word}blockquote cite:before{content:'\2014';padding-right:.3em;padding-left:.3em;color:#aaa}@media only screen and (min-width: 992px){blockquote{padding-left:1.5em;border-left-width:4px}}.pullquote-right:before,.pullquote-left:before{padding:0;border:none;content:attr(data-pullquote);float:right;width:45%;margin:.5em 0 1em 1.5em;position:relative;top:7px;font-size:1.4em;line-height:1.45em}.pullquote-left:before{float:left;margin:.5em 1.5em 1em 0}.force-wrap,article a,aside.sidebar a{white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;white-space:pre-wrap;word-wrap:break-word}.group,body>header,body>nav,body>footer,body #content>article,body #content>div>article,body #content>div>section,body div.pagination,aside.sidebar,#main,#content,.collapse-sidebar aside.sidebar{*zoom:1}.group:after,body>header:after,body>nav:after,body>footer:after,body #content>article:after,body #content>div>article:after,body #content>div>section:after,body div.pagination:after,aside.sidebar:after,#main:after,#content:after,.collapse-sidebar aside.sidebar:after{content:"";display:table;clear:both}body{-webkit-text-size-adjust:none;max-width:1200px;position:relative;margin:0 auto}body>header,body>nav,body>footer,body #content>article,body #content>div>article,body #content>div>section{padding-left:18px;padding-right:18px}@media only screen and (min-width: 480px){body>header,body>nav,body>footer,body #content>article,body #content>div>article,body #content>div>section{padding-left:25px;padding-right:25px}}@media only screen and (min-width: 768px){body>header,body>nav,body>footer,body #content>article,body #content>div>article,body #content>div>section{padding-left:35px;padding-right:35px}}@media only screen and (min-width: 992px){body>header,body>nav,body>footer,body #content>article,body #content>div>article,body #content>div>section{padding-left:55px;padding-right:55px}}body div.pagination{margin-left:18px;margin-right:18px}@media only screen and (min-width: 480px){body div.pagination{margin-left:25px;margin-right:25px}}@media only screen and (min-width: 768px){body div.pagination{margin-left:35px;margin-right:35px}}@media only screen and (min-width: 992px){body div.pagination{margin-left:55px;margin-right:55px}}body>header{font-size:1em;padding-top:1.5em;padding-bottom:1.5em}#content{overflow:hidden}#content>div,#content>article{width:100%}aside.sidebar{float:none;padding:0 18px 1px;background-color:#f7f7f7;border-top:1px solid #e0e0e0}.flex-content,article img,article video,article .flash-video,aside.sidebar img{max-width:100%;height:auto}.basic-alignment.left,article img.left,article video.left,article .left.flash-video,aside.sidebar img.left{float:left;margin-right:1.5em}.basic-alignment.right,article img.right,article video.right,article .right.flash-video,aside.sidebar img.right{float:right;margin-left:1.5em}.basic-alignment.center,article img.center,article video.center,article .center.flash-video,aside.sidebar img.center{display:block;margin:0 auto 1.5em}.basic-alignment.left,article img.left,article video.left,article .left.flash-video,aside.sidebar img.left,.basic-alignment.right,article img.right,article video.right,article .right.flash-video,aside.sidebar img.right{margin-bottom:.8em}.toggle-sidebar,.no-sidebar .toggle-sidebar{display:none}@media only screen and (min-width: 750px){body.sidebar-footer aside.sidebar{float:none;width:auto;clear:left;margin:0;padding:0 35px 1px;background-color:#f7f7f7;border-top:1px solid #eaeaea}body.sidebar-footer aside.sidebar section.odd,body.sidebar-footer aside.sidebar section.even{float:left;width:48%}body.sidebar-footer aside.sidebar section.odd{margin-left:0}body.sidebar-footer aside.sidebar section.even{margin-left:4%}body.sidebar-footer aside.sidebar.thirds section{width:30%;margin-left:5%}body.sidebar-footer aside.sidebar.thirds section.first{margin-left:0;clear:both}}body.sidebar-footer #content{margin-right:0px}body.sidebar-footer .toggle-sidebar{display:none}@media only screen and (min-width: 550px){body>header{font-size:1em}}@media only screen and (min-width: 750px){aside.sidebar{float:none;width:auto;clear:left;margin:0;padding:0 35px 1px;background-color:#f7f7f7;border-top:1px solid #eaeaea}aside.sidebar section.odd,aside.sidebar section.even{float:left;width:48%}aside.sidebar section.odd{margin-left:0}aside.sidebar section.even{margin-left:4%}aside.sidebar.thirds section{width:30%;margin-left:5%}aside.sidebar.thirds section.first{margin-left:0;clear:both}}@media only screen and (min-width: 768px){body{-webkit-text-size-adjust:auto}body>header{font-size:1.2em}#main{padding:0;margin:0 auto}#content{overflow:visible;margin-right:240px;position:relative}.no-sidebar #content{margin-right:0;border-right:0}.collapse-sidebar #content{margin-right:20px}#content>div,#content>article{padding-top:17.5px;padding-bottom:17.5px;float:left}aside.sidebar{width:210px;padding:0 15px 15px;background:none;clear:none;float:left;margin:0 -100% 0 0}aside.sidebar section{width:auto;margin-left:0}aside.sidebar section.odd,aside.sidebar section.even{float:none;width:auto;margin-left:0}.collapse-sidebar aside.sidebar{float:none;width:auto;clear:left;margin:0;padding:0 35px 1px;background-color:#f7f7f7;border-top:1px solid #eaeaea}.collapse-sidebar aside.sidebar section.odd,.collapse-sidebar aside.sidebar section.even{float:left;width:48%}.collapse-sidebar aside.sidebar section.odd{margin-left:0}.collapse-sidebar aside.sidebar section.even{margin-left:4%}.collapse-sidebar aside.sidebar.thirds section{width:30%;margin-left:5%}.collapse-sidebar aside.sidebar.thirds section.first{margin-left:0;clear:both}}@media only screen and (min-width: 992px){body>header{font-size:1.3em}#content{margin-right:300px}#content>div,#content>article{padding-top:27.5px;padding-bottom:27.5px}aside.sidebar{width:260px;padding:1.2em 20px 20px}.collapse-sidebar aside.sidebar{padding-left:55px;padding-right:55px}}@media only screen and (min-width: 768px){ul,ol{margin-left:0}}body>header{background:#333}body>header h1{display:inline-block;margin:0}body>header h1 a,body>header h1 a:visited,body>header h1 a:hover{color:#f2f2f2;text-decoration:none}body>header h2{margin:.2em 0 0;font-size:1em;color:#aaa;font-weight:normal}body>nav{position:relative;background-color:#ccc;background:url('/images/noise.png?1335019781'),-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #e0e0e0), color-stop(50%, #cccccc), color-stop(100%, #b0b0b0));background:url('/images/noise.png?1335019781'),-webkit-linear-gradient(#e0e0e0,#cccccc,#b0b0b0);background:url('/images/noise.png?1335019781'),-moz-linear-gradient(#e0e0e0,#cccccc,#b0b0b0);background:url('/images/noise.png?1335019781'),-o-linear-gradient(#e0e0e0,#cccccc,#b0b0b0);background:url('/images/noise.png?1335019781'),-ms-linear-gradient(#e0e0e0,#cccccc,#b0b0b0);background:url('/images/noise.png?1335019781'),linear-gradient(#e0e0e0,#cccccc,#b0b0b0);border-top:1px solid #f2f2f2;border-bottom:1px solid #8c8c8c;padding-top:.35em;padding-bottom:.35em}body>nav form{-webkit-background-clip:padding;-moz-background-clip:padding;background-clip:padding-box;margin:0;padding:0}body>nav form .search{padding:.3em .5em 0;font-size:.85em;line-height:1.1em;width:95%;-webkit-border-radius:0.5em;-moz-border-radius:0.5em;-ms-border-radius:0.5em;-o-border-radius:0.5em;border-radius:0.5em;-webkit-background-clip:padding;-moz-background-clip:padding;background-clip:padding-box;-webkit-box-shadow:#d1d1d1 0 1px;-moz-box-shadow:#d1d1d1 0 1px;box-shadow:#d1d1d1 0 1px;background-color:#f2f2f2;border:1px solid #b3b3b3;color:#888}body>nav form .search:focus{color:#444;border-color:#80b1df;-webkit-box-shadow:#80b1df 0 0 4px,#80b1df 0 0 3px inset;-moz-box-shadow:#80b1df 0 0 4px,#80b1df 0 0 3px inset;box-shadow:#80b1df 0 0 4px,#80b1df 0 0 3px inset;background-color:#fff;outline:none}body>nav fieldset[role=search]{float:right;width:48%}body>nav fieldset.mobile-nav{float:left;width:48%}body>nav fieldset.mobile-nav select{width:100%;font-size:.8em;border:1px solid #888}body>nav ul{display:none}@media only screen and (min-width: 550px){body>nav{font-size:.9em}body>nav ul{margin:0;padding:0;border:0;overflow:hidden;*zoom:1;float:left;display:block;padding-top:.15em}body>nav ul li{list-style-image:none;list-style-type:none;margin-left:0;white-space:nowrap;display:inline;float:left;padding-left:0;padding-right:0}body>nav ul li:first-child,body>nav ul li.first{padding-left:0}body>nav ul li:last-child{padding-right:0}body>nav ul li.last{padding-right:0}body>nav ul.subscription{margin-left:.8em;float:right}body>nav ul.subscription li:last-child a{padding-right:0}body>nav ul li{margin:0}body>nav a{color:#6b6b6b;text-shadow:#ebebeb 0 1px;float:left;text-decoration:none;font-size:1.1em;padding:.1em 0;line-height:1.5em}body>nav a:visited{color:#6b6b6b}body>nav a:hover{color:#2b2b2b}body>nav li+li{border-left:1px solid #b0b0b0;margin-left:.8em}body>nav li+li a{padding-left:.8em;border-left:1px solid #dedede}body>nav form{float:right;text-align:left;padding-left:.8em;width:175px}body>nav form .search{width:93%;font-size:.95em;line-height:1.2em}body>nav ul[data-subscription$=email]+form{width:97px}body>nav ul[data-subscription$=email]+form .search{width:91%}body>nav fieldset.mobile-nav{display:none}body>nav fieldset[role=search]{width:99%}}@media only screen and (min-width: 992px){body>nav form{width:215px}body>nav ul[data-subscription$=email]+form{width:147px}}.no-placeholder body>nav .search{background:#f2f2f2 url('/images/search.png?1335019781') 0.3em 0.25em no-repeat;text-indent:1.3em}@media only screen and (min-width: 550px){.maskImage body>nav ul[data-subscription$=email]+form{width:123px}}@media only screen and (min-width: 992px){.maskImage body>nav ul[data-subscription$=email]+form{width:173px}}.maskImage ul.subscription{position:relative;top:.2em}.maskImage ul.subscription li,.maskImage ul.subscription a{border:0;padding:0}.maskImage a[rel=subscribe-rss]{position:relative;top:0px;text-indent:-999999em;background-color:#dedede;border:0;padding:0}.maskImage a[rel=subscribe-rss],.maskImage a[rel=subscribe-rss]:after{-webkit-mask-image:url('/images/rss.png?1335019781');-moz-mask-image:url('/images/rss.png?1335019781');-ms-mask-image:url('/images/rss.png?1335019781');-o-mask-image:url('/images/rss.png?1335019781');mask-image:url('/images/rss.png?1335019781');-webkit-mask-repeat:no-repeat;-moz-mask-repeat:no-repeat;-ms-mask-repeat:no-repeat;-o-mask-repeat:no-repeat;mask-repeat:no-repeat;width:22px;height:22px}.maskImage a[rel=subscribe-rss]:after{content:"";position:absolute;top:-1px;left:0;background-color:#ababab}.maskImage a[rel=subscribe-rss]:hover:after{background-color:#9e9e9e}.maskImage a[rel=subscribe-email]{position:relative;top:0px;text-indent:-999999em;background-color:#dedede;border:0;padding:0}.maskImage a[rel=subscribe-email],.maskImage a[rel=subscribe-email]:after{-webkit-mask-image:url('/images/email.png?1335019781');-moz-mask-image:url('/images/email.png?1335019781');-ms-mask-image:url('/images/email.png?1335019781');-o-mask-image:url('/images/email.png?1335019781');mask-image:url('/images/email.png?1335019781');-webkit-mask-repeat:no-repeat;-moz-mask-repeat:no-repeat;-ms-mask-repeat:no-repeat;-o-mask-repeat:no-repeat;mask-repeat:no-repeat;width:28px;height:22px}.maskImage a[rel=subscribe-email]:after{content:"";position:absolute;top:-1px;left:0;background-color:#ababab}.maskImage a[rel=subscribe-email]:hover:after{background-color:#9e9e9e}article{padding-top:1em}article header{position:relative;padding-top:2em;padding-bottom:1em;margin-bottom:1em;background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAABCAYAAACsXeyTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAFUlEQVQIHWNIS0sr/v//PwMMDzY+ADqMahlW4J91AAAAAElFTkSuQmCC') bottom left repeat-x}article header h1{margin:0}article header h1 a{text-decoration:none}article header h1 a:hover{text-decoration:underline}article header p{font-size:.9em;color:#aaa;margin:0}article header p.meta{text-transform:uppercase;position:absolute;top:0}@media only screen and (min-width: 768px){article header{margin-bottom:1.5em;padding-bottom:1em;background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAABCAYAAACsXeyTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAFUlEQVQIHWNIS0sr/v//PwMMDzY+ADqMahlW4J91AAAAAElFTkSuQmCC') bottom left repeat-x}}article h2{padding-top:0.8em;background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAABCAYAAACsXeyTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAFUlEQVQIHWNIS0sr/v//PwMMDzY+ADqMahlW4J91AAAAAElFTkSuQmCC') top left repeat-x}.entry-content article h2:first-child,article header+h2{padding-top:0}article h2:first-child,article header+h2{background:none}article .feature{padding-top:.5em;margin-bottom:1em;padding-bottom:1em;background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAABCAYAAACsXeyTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAFUlEQVQIHWNIS0sr/v//PwMMDzY+ADqMahlW4J91AAAAAElFTkSuQmCC') bottom left repeat-x;font-size:2.0em;font-style:italic;line-height:1.3em}article img,article video,article .flash-video{-webkit-border-radius:0.3em;-moz-border-radius:0.3em;-ms-border-radius:0.3em;-o-border-radius:0.3em;border-radius:0.3em;-webkit-box-shadow:rgba(0,0,0,0.15) 0 1px 4px;-moz-box-shadow:rgba(0,0,0,0.15) 0 1px 4px;box-shadow:rgba(0,0,0,0.15) 0 1px 4px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border:#fff 0.5em solid}article video,article .flash-video{margin:0 auto 1.5em}article video{display:block;width:100%}article .flash-video>div{position:relative;display:block;padding-bottom:56.25%;padding-top:1px;height:0;overflow:hidden}article .flash-video>div iframe,article .flash-video>div object,article .flash-video>div embed{position:absolute;top:0;left:0;width:100%;height:100%}article>footer{padding-bottom:2.5em;margin-top:2em}article>footer p.meta{margin-bottom:.8em;font-size:.85em;clear:both;overflow:hidden}.blog-index article+article{background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAABCAYAAACsXeyTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAFUlEQVQIHWNIS0sr/v//PwMMDzY+ADqMahlW4J91AAAAAElFTkSuQmCC') top left repeat-x}#content .blog-index{padding-top:0;padding-bottom:0}#content .blog-index article{padding-top:2em}#content .blog-index article header{background:none;padding-bottom:0}#content .blog-index article h1{font-size:2.2em}#content .blog-index article h1 a{color:inherit}#content .blog-index article h1 a:hover{color:#0181eb}#content .blog-index a[rel=full-article]{background:#ebebeb;display:inline-block;padding:.4em .8em;margin-right:.5em;text-decoration:none;color:#666;-webkit-transition:background-color 0.5s;-moz-transition:background-color 0.5s;-ms-transition:background-color 0.5s;-o-transition:background-color 0.5s;transition:background-color 0.5s}#content .blog-index a[rel=full-article]:hover{background:#0181eb;text-shadow:none;color:#f8f8f8}#content .blog-index footer{margin-top:1em}.separator,article>footer .byline+time:before,article>footer time+time:before,article>footer .comments:before,article>footer .byline ~ .categories:before{content:"\2022 ";padding:0 .4em 0 .2em;display:inline-block}#content div.pagination{text-align:center;font-size:.95em;position:relative;background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAABCAYAAACsXeyTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAFUlEQVQIHWNIS0sr/v//PwMMDzY+ADqMahlW4J91AAAAAElFTkSuQmCC') top left repeat-x;padding-top:1.5em;padding-bottom:1.5em}#content div.pagination a{text-decoration:none;color:#aaa}#content div.pagination a.prev{position:absolute;left:0}#content div.pagination a.next{position:absolute;right:0}#content div.pagination a:hover{color:#0181eb}#content div.pagination a[href*=archive]:before,#content div.pagination a[href*=archive]:after{content:'\2014';padding:0 .3em}p.meta+.sharing{padding-top:1em;padding-left:0;background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAABCAYAAACsXeyTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAFUlEQVQIHWNIS0sr/v//PwMMDzY+ADqMahlW4J91AAAAAElFTkSuQmCC') top left repeat-x}#fb-root{display:none}.highlight,html .gist .gist-file .gist-syntax .gist-highlight{border:1px solid #05232b !important}.highlight table td.code,html .gist .gist-file .gist-syntax .gist-highlight table td.code{width:100%}.highlight .line-numbers,html .gist .gist-file .gist-syntax .gist-highlight .line-numbers{text-align:right;font-size:13px;line-height:1.45em;background:#073642 url('/images/noise.png?1335019781') top left !important;border-right:1px solid #00232c !important;-webkit-box-shadow:#083e4b -1px 0 inset;-moz-box-shadow:#083e4b -1px 0 inset;box-shadow:#083e4b -1px 0 inset;text-shadow:#021014 0 -1px;padding:.8em !important;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0}.highlight .line-numbers span,html .gist .gist-file .gist-syntax .gist-highlight .line-numbers span{color:#586e75 !important}figure.code,.gist-file,pre{-webkit-box-shadow:rgba(0,0,0,0.06) 0 0 10px;-moz-box-shadow:rgba(0,0,0,0.06) 0 0 10px;box-shadow:rgba(0,0,0,0.06) 0 0 10px}figure.code .highlight pre,.gist-file .highlight pre,pre .highlight pre{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}html .gist .gist-file{margin-bottom:1.8em;position:relative;border:none;padding-top:26px !important}html .gist .gist-file .gist-syntax{border-bottom:0 !important;background:none !important}html .gist .gist-file .gist-syntax .gist-highlight{background:#002b36 !important}html .gist .gist-file .gist-meta{padding:.6em 0.8em;border:1px solid #083e4b !important;color:#586e75;font-size:.7em !important;background:#073642 url('/images/noise.png?1335019781') top left;line-height:1.5em}html .gist .gist-file .gist-meta a{color:#75878b !important;text-decoration:none}html .gist .gist-file .gist-meta a:hover{text-decoration:underline}html .gist .gist-file .gist-meta a:hover{color:#93a1a1 !important}html .gist .gist-file .gist-meta a[href*='#file']{position:absolute;top:0;left:0;right:-10px;color:#474747 !important}html .gist .gist-file .gist-meta a[href*='#file']:hover{color:#1863a1 !important}html .gist .gist-file .gist-meta a[href*=raw]{top:.4em}pre{background:#002b36 url('/images/noise.png?1335019781') top left;-webkit-border-radius:0.4em;-moz-border-radius:0.4em;-ms-border-radius:0.4em;-o-border-radius:0.4em;border-radius:0.4em;border:1px solid #05232b;line-height:1.45em;font-size:13px;margin-bottom:2.1em;padding:.8em 1em;color:#93a1a1;overflow:auto}h3.filename+pre{-moz-border-radius-topleft:0px;-webkit-border-top-left-radius:0px;-ms-border-top-left-radius:0px;-o-border-top-left-radius:0px;border-top-left-radius:0px;-moz-border-radius-topright:0px;-webkit-border-top-right-radius:0px;-ms-border-top-right-radius:0px;-o-border-top-right-radius:0px;border-top-right-radius:0px}p code,li code{display:inline-block;white-space:no-wrap;background:#fff;font-size:.8em;line-height:1.5em;color:#555;border:1px solid #ddd;-webkit-border-radius:0.4em;-moz-border-radius:0.4em;-ms-border-radius:0.4em;-o-border-radius:0.4em;border-radius:0.4em;padding:0 .3em;margin:-1px 0}p pre code,li pre code{font-size:1em !important;background:none;border:none}.pre-code,html .gist .gist-file .gist-syntax .gist-highlight pre,.highlight code{font-family:Menlo,Monaco,"Andale Mono","lucida console","Courier New",monospace !important;overflow:scroll;overflow-y:hidden;display:block;padding:.8em !important;overflow-x:auto;line-height:1.45em;background:#002b36 url('/images/noise.png?1335019781') top left !important;color:#93a1a1 !important}.pre-code *::-moz-selection,html .gist .gist-file .gist-syntax .gist-highlight pre *::-moz-selection,.highlight code *::-moz-selection{background:#386774;color:inherit;text-shadow:#002b36 0 1px}.pre-code *::-webkit-selection,html .gist .gist-file .gist-syntax .gist-highlight pre *::-webkit-selection,.highlight code *::-webkit-selection{background:#386774;color:inherit;text-shadow:#002b36 0 1px}.pre-code *::selection,html .gist .gist-file .gist-syntax .gist-highlight pre *::selection,.highlight code *::selection{background:#386774;color:inherit;text-shadow:#002b36 0 1px}.pre-code span,html .gist .gist-file .gist-syntax .gist-highlight pre span,.highlight code span{color:#93a1a1 !important}.pre-code span,html .gist .gist-file .gist-syntax .gist-highlight pre span,.highlight code span{font-style:normal !important;font-weight:normal !important}.pre-code .c,html .gist .gist-file .gist-syntax .gist-highlight pre .c,.highlight code .c{color:#586e75 !important;font-style:italic !important}.pre-code .cm,html .gist .gist-file .gist-syntax .gist-highlight pre .cm,.highlight code .cm{color:#586e75 !important;font-style:italic !important}.pre-code .cp,html .gist .gist-file .gist-syntax .gist-highlight pre .cp,.highlight code .cp{color:#586e75 !important;font-style:italic !important}.pre-code .c1,html .gist .gist-file .gist-syntax .gist-highlight pre .c1,.highlight code .c1{color:#586e75 !important;font-style:italic !important}.pre-code .cs,html .gist .gist-file .gist-syntax .gist-highlight pre .cs,.highlight code .cs{color:#586e75 !important;font-weight:bold !important;font-style:italic !important}.pre-code .err,html .gist .gist-file .gist-syntax .gist-highlight pre .err,.highlight code .err{color:#dc322f !important;background:none !important}.pre-code .k,html .gist .gist-file .gist-syntax .gist-highlight pre .k,.highlight code .k{color:#cb4b16 !important}.pre-code .o,html .gist .gist-file .gist-syntax .gist-highlight pre .o,.highlight code .o{color:#93a1a1 !important;font-weight:bold !important}.pre-code .p,html .gist .gist-file .gist-syntax .gist-highlight pre .p,.highlight code .p{color:#93a1a1 !important}.pre-code .ow,html .gist .gist-file .gist-syntax .gist-highlight pre .ow,.highlight code .ow{color:#2aa198 !important;font-weight:bold !important}.pre-code .gd,html .gist .gist-file .gist-syntax .gist-highlight pre .gd,.highlight code .gd{color:#93a1a1 !important;background-color:#372c34 !important;display:inline-block}.pre-code .gd .x,html .gist .gist-file .gist-syntax .gist-highlight pre .gd .x,.highlight code .gd .x{color:#93a1a1 !important;background-color:#4d2d33 !important;display:inline-block}.pre-code .ge,html .gist .gist-file .gist-syntax .gist-highlight pre .ge,.highlight code .ge{color:#93a1a1 !important;font-style:italic !important}.pre-code .gh,html .gist .gist-file .gist-syntax .gist-highlight pre .gh,.highlight code .gh{color:#586e75 !important}.pre-code .gi,html .gist .gist-file .gist-syntax .gist-highlight pre .gi,.highlight code .gi{color:#93a1a1 !important;background-color:#1a412b !important;display:inline-block}.pre-code .gi .x,html .gist .gist-file .gist-syntax .gist-highlight pre .gi .x,.highlight code .gi .x{color:#93a1a1 !important;background-color:#355720 !important;display:inline-block}.pre-code .gs,html .gist .gist-file .gist-syntax .gist-highlight pre .gs,.highlight code .gs{color:#93a1a1 !important;font-weight:bold !important}.pre-code .gu,html .gist .gist-file .gist-syntax .gist-highlight pre .gu,.highlight code .gu{color:#6c71c4 !important}.pre-code .kc,html .gist .gist-file .gist-syntax .gist-highlight pre .kc,.highlight code .kc{color:#859900 !important;font-weight:bold !important}.pre-code .kd,html .gist .gist-file .gist-syntax .gist-highlight pre .kd,.highlight code .kd{color:#268bd2 !important}.pre-code .kp,html .gist .gist-file .gist-syntax .gist-highlight pre .kp,.highlight code .kp{color:#cb4b16 !important;font-weight:bold !important}.pre-code .kr,html .gist .gist-file .gist-syntax .gist-highlight pre .kr,.highlight code .kr{color:#d33682 !important;font-weight:bold !important}.pre-code .kt,html .gist .gist-file .gist-syntax .gist-highlight pre .kt,.highlight code .kt{color:#2aa198 !important}.pre-code .n,html .gist .gist-file .gist-syntax .gist-highlight pre .n,.highlight code .n{color:#268bd2 !important}.pre-code .na,html .gist .gist-file .gist-syntax .gist-highlight pre .na,.highlight code .na{color:#268bd2 !important}.pre-code .nb,html .gist .gist-file .gist-syntax .gist-highlight pre .nb,.highlight code .nb{color:#859900 !important}.pre-code .nc,html .gist .gist-file .gist-syntax .gist-highlight pre .nc,.highlight code .nc{color:#d33682 !important}.pre-code .no,html .gist .gist-file .gist-syntax .gist-highlight pre .no,.highlight code .no{color:#b58900 !important}.pre-code .nl,html .gist .gist-file .gist-syntax .gist-highlight pre .nl,.highlight code .nl{color:#859900 !important}.pre-code .ne,html .gist .gist-file .gist-syntax .gist-highlight pre .ne,.highlight code .ne{color:#268bd2 !important;font-weight:bold !important}.pre-code .nf,html .gist .gist-file .gist-syntax .gist-highlight pre .nf,.highlight code .nf{color:#268bd2 !important;font-weight:bold !important}.pre-code .nn,html .gist .gist-file .gist-syntax .gist-highlight pre .nn,.highlight code .nn{color:#b58900 !important}.pre-code .nt,html .gist .gist-file .gist-syntax .gist-highlight pre .nt,.highlight code .nt{color:#268bd2 !important;font-weight:bold !important}.pre-code .nx,html .gist .gist-file .gist-syntax .gist-highlight pre .nx,.highlight code .nx{color:#b58900 !important}.pre-code .vg,html .gist .gist-file .gist-syntax .gist-highlight pre .vg,.highlight code .vg{color:#268bd2 !important}.pre-code .vi,html .gist .gist-file .gist-syntax .gist-highlight pre .vi,.highlight code .vi{color:#268bd2 !important}.pre-code .nv,html .gist .gist-file .gist-syntax .gist-highlight pre .nv,.highlight code .nv{color:#268bd2 !important}.pre-code .mf,html .gist .gist-file .gist-syntax .gist-highlight pre .mf,.highlight code .mf{color:#2aa198 !important}.pre-code .m,html .gist .gist-file .gist-syntax .gist-highlight pre .m,.highlight code .m{color:#2aa198 !important}.pre-code .mh,html .gist .gist-file .gist-syntax .gist-highlight pre .mh,.highlight code .mh{color:#2aa198 !important}.pre-code .mi,html .gist .gist-file .gist-syntax .gist-highlight pre .mi,.highlight code .mi{color:#2aa198 !important}.pre-code .s,html .gist .gist-file .gist-syntax .gist-highlight pre .s,.highlight code .s{color:#2aa198 !important}.pre-code .sd,html .gist .gist-file .gist-syntax .gist-highlight pre .sd,.highlight code .sd{color:#2aa198 !important}.pre-code .s2,html .gist .gist-file .gist-syntax .gist-highlight pre .s2,.highlight code .s2{color:#2aa198 !important}.pre-code .se,html .gist .gist-file .gist-syntax .gist-highlight pre .se,.highlight code .se{color:#dc322f !important}.pre-code .si,html .gist .gist-file .gist-syntax .gist-highlight pre .si,.highlight code .si{color:#268bd2 !important}.pre-code .sr,html .gist .gist-file .gist-syntax .gist-highlight pre .sr,.highlight code .sr{color:#2aa198 !important}.pre-code .s1,html .gist .gist-file .gist-syntax .gist-highlight pre .s1,.highlight code .s1{color:#2aa198 !important}.pre-code div .gd,html .gist .gist-file .gist-syntax .gist-highlight pre div .gd,.highlight code div .gd,.pre-code div .gd .x,html .gist .gist-file .gist-syntax .gist-highlight pre div .gd .x,.highlight code div .gd .x,.pre-code div .gi,html .gist .gist-file .gist-syntax .gist-highlight pre div .gi,.highlight code div .gi,.pre-code div .gi .x,html .gist .gist-file .gist-syntax .gist-highlight pre div .gi .x,.highlight code div .gi .x{display:inline-block;width:100%}.highlight,.gist-highlight{margin-bottom:1.8em;background:#002b36;overflow-y:hidden;overflow-x:auto}.highlight pre,.gist-highlight pre{background:none;-webkit-border-radius:none;-moz-border-radius:none;-ms-border-radius:none;-o-border-radius:none;border-radius:none;border:none;padding:0;margin-bottom:0}pre::-webkit-scrollbar,.highlight::-webkit-scrollbar,.gist-highlight::-webkit-scrollbar{height:.5em;background:rgba(255,255,255,0.15)}pre::-webkit-scrollbar-thumb:horizontal,.highlight::-webkit-scrollbar-thumb:horizontal,.gist-highlight::-webkit-scrollbar-thumb:horizontal{background:rgba(255,255,255,0.2);-webkit-border-radius:4px;border-radius:4px}.highlight code{background:#000}figure.code{background:none;padding:0;border:0;margin-bottom:1.5em}figure.code pre{margin-bottom:0}figure.code figcaption{position:relative}figure.code .highlight{margin-bottom:0}.code-title,html .gist .gist-file .gist-meta a[href*='#file'],h3.filename,figure.code figcaption{text-align:center;font-size:13px;line-height:2em;text-shadow:#cbcccc 0 1px 0;color:#474747;font-weight:normal;margin-bottom:0;-moz-border-radius-topleft:5px;-webkit-border-top-left-radius:5px;-ms-border-top-left-radius:5px;-o-border-top-left-radius:5px;border-top-left-radius:5px;-moz-border-radius-topright:5px;-webkit-border-top-right-radius:5px;-ms-border-top-right-radius:5px;-o-border-top-right-radius:5px;border-top-right-radius:5px;font-family:"Helvetica Neue", Arial, "Lucida Grande", "Lucida Sans Unicode", Lucida, sans-serif;background:#aaa url('/images/code_bg.png?1335019781') top repeat-x;border:1px solid #565656;border-top-color:#cbcbcb;border-left-color:#a5a5a5;border-right-color:#a5a5a5;border-bottom:0}.download-source,html .gist .gist-file .gist-meta a[href*=raw],figure.code figcaption a{position:absolute;right:.8em;text-decoration:none;color:#666 !important;z-index:1;font-size:13px;text-shadow:#cbcccc 0 1px 0;padding-left:3em}.download-source:hover,html .gist .gist-file .gist-meta a[href*=raw]:hover,figure.code figcaption a:hover{text-decoration:underline}#archive #content>div,#archive #content>div>article{padding-top:0}#blog-archives{color:#aaa}#blog-archives article{padding:1em 0 1em;position:relative;background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAABCAYAAACsXeyTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAFUlEQVQIHWNIS0sr/v//PwMMDzY+ADqMahlW4J91AAAAAElFTkSuQmCC') bottom left repeat-x}#blog-archives article:last-child{background:none}#blog-archives article footer{padding:0;margin:0}#blog-archives h1{color:#222;margin-bottom:.3em}#blog-archives h2{display:none}#blog-archives h1{font-size:1.5em}#blog-archives h1 a{text-decoration:none;color:inherit;font-weight:normal;display:inline-block}#blog-archives h1 a:hover{text-decoration:underline}#blog-archives h1 a:hover{color:#0181eb}#blog-archives a.category,#blog-archives time{color:#aaa}#blog-archives .entry-content{display:none}#blog-archives time{font-size:.9em;line-height:1.2em}#blog-archives time .month,#blog-archives time .day{display:inline-block}#blog-archives time .month{text-transform:uppercase}#blog-archives p{margin-bottom:1em}#blog-archives a,#blog-archives .entry-content a{color:inherit}#blog-archives a:hover,#blog-archives .entry-content a:hover{color:#0181eb}#blog-archives a:hover{color:#0181eb}@media only screen and (min-width: 550px){#blog-archives article{margin-left:5em}#blog-archives h2{margin-bottom:.3em;font-weight:normal;display:inline-block;position:relative;top:-1px;float:left}#blog-archives h2:first-child{padding-top:.75em}#blog-archives time{position:absolute;text-align:right;left:0em;top:1.8em}#blog-archives .year{display:none}#blog-archives article{padding-left:4.5em;padding-bottom:.7em}#blog-archives a.category{line-height:1.1em}}#content>.category article{margin-left:0;padding-left:6.8em}#content>.category .year{display:inline}.side-shadow-border,aside.sidebar section h1,aside.sidebar li{-webkit-box-shadow:#fff 0 1px;-moz-box-shadow:#fff 0 1px;box-shadow:#fff 0 1px}aside.sidebar{overflow:hidden;color:#4b4b4b;text-shadow:#fff 0 1px}aside.sidebar section{font-size:.8em;line-height:1.4em;margin-bottom:1.5em}aside.sidebar section h1{margin:1.5em 0 0;padding-bottom:.2em;border-bottom:1px solid #e0e0e0}aside.sidebar section h1+p{padding-top:.4em}aside.sidebar img{-webkit-border-radius:0.3em;-moz-border-radius:0.3em;-ms-border-radius:0.3em;-o-border-radius:0.3em;border-radius:0.3em;-webkit-box-shadow:rgba(0,0,0,0.15) 0 1px 4px;-moz-box-shadow:rgba(0,0,0,0.15) 0 1px 4px;box-shadow:rgba(0,0,0,0.15) 0 1px 4px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border:#fff 0.3em solid}aside.sidebar ul{margin-bottom:0.5em;margin-left:0}aside.sidebar li{list-style:none;padding:.5em 0;margin:0;border-bottom:1px solid #e0e0e0}aside.sidebar li p:last-child{margin-bottom:0}aside.sidebar a{color:inherit;-webkit-transition:color 0.5s;-moz-transition:color 0.5s;-ms-transition:color 0.5s;-o-transition:color 0.5s;transition:color 0.5s}aside.sidebar:hover a{color:#1863a1}aside.sidebar:hover a:hover{color:#0181eb}.aside-alt-link,#tweets a[href*='twitter.com/search'],#pinboard_linkroll .pin-tag{color:#7e7e7e}.aside-alt-link:hover,#tweets a[href*='twitter.com/search']:hover,#pinboard_linkroll .pin-tag:hover{color:#0181eb}@media only screen and (min-width: 768px){.toggle-sidebar{outline:none;position:absolute;right:-10px;top:0;bottom:0;display:inline-block;text-decoration:none;color:#cecece;width:9px;cursor:pointer}.toggle-sidebar:hover{background:#e9e9e9;background:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, rgba(224,224,224,0.5)), color-stop(100%, rgba(224,224,224,0)));background:-webkit-linear-gradient(left, rgba(224,224,224,0.5),rgba(224,224,224,0));background:-moz-linear-gradient(left, rgba(224,224,224,0.5),rgba(224,224,224,0));background:-o-linear-gradient(left, rgba(224,224,224,0.5),rgba(224,224,224,0));background:-ms-linear-gradient(left, rgba(224,224,224,0.5),rgba(224,224,224,0));background:linear-gradient(left, rgba(224,224,224,0.5),rgba(224,224,224,0))}.toggle-sidebar:after{position:absolute;right:-11px;top:0;width:20px;font-size:1.2em;line-height:1.1em;padding-bottom:.15em;-moz-border-radius-bottomright:0.3em;-webkit-border-bottom-right-radius:0.3em;-ms-border-bottom-right-radius:0.3em;-o-border-bottom-right-radius:0.3em;border-bottom-right-radius:0.3em;text-align:center;background:#f8f8f8 url('/images/noise.png?1335019781') top left;border-bottom:1px solid #e0e0e0;border-right:1px solid #e0e0e0;content:"\00BB";text-indent:-1px}.collapse-sidebar .toggle-sidebar{text-indent:0px;right:-20px;width:19px}.collapse-sidebar .toggle-sidebar:hover{background:#e9e9e9}.collapse-sidebar .toggle-sidebar:after{border-left:1px solid #e0e0e0;text-shadow:#fff 0 1px;content:"\00AB";left:0px;right:0;text-align:center;text-indent:0;border:0;border-right-width:0;background:none}}#tweets .loading{background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowMjgwMTE3NDA3MjA2ODExQTQxQUNFN0NCOEMyNEMzNiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDowQkYxMEI5QjQ5QzYxMUUwQTJGN0YyQzFDMzFCQjZCMyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDowQkYxMEI5QTQ5QzYxMUUwQTJGN0YyQzFDMzFCQjZCMyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IE1hY2ludG9zaCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkIxREYyRDc2MTIyMDY4MTFBNDFBQ0U3Q0I4QzI0QzM2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjAyODAxMTc0MDcyMDY4MTFBNDFBQ0U3Q0I4QzI0QzM2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+bAX+SwAAAZBJREFUeNrsl+1tgzAQhgF1AHeCphPU3QA2SDcIEzRMUDpB0wlCJ8gIcf+DQicoG5QNqC29SJZl/EHc8oeTTkTCvnvse3048TAM0ZKWRAvbCnDTNE3omBvulHvPnVkBAic/ct/hd4fn/X+VQE4+AjzN0UDK/Zv7njtxTL5Tko9xLgAjPgA96vjG/QcBqCE5wVgT3HkKQgfQcq+UABcESTXjXXaKYr6zBnIFYtzSswbk2bFMVFOmSYBSN1gBGetOPIT64noMmW6wRvX9jB6xlXT2YALIkSSyCNDXTpLYM1MfEBooZqzSxVoskCQOx4v8AQDF7m5MAD0oQ5uImXG/Fbtsa8UVenkRKHmHmMznW9AFLMPH3I8RCyBGsZCDDmDvCJBBvdfUvtcBtOj1W0PzKNH96BXJ2dSFRLx4x7E4AuiT+x0S0gCqr2w3ogqJT+j1aSDF57ZrWaJ0p0edUDxN1PkVsax3wkQzucDZP3gqv5Xmlq5z47quXdpmKmlChv3CVjPpEupl8frXbAVYGuBXgAEAuftfzMLpDZgAAAAASUVORK5CYII=') no-repeat center 0.5em;color:#c4c4c4;text-shadow:#f8f8f8 0 1px;text-align:center;padding:2.5em 0 .5em}#tweets .loading.error{background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAACLklEQVRYhe2WwY2bQBSG/4f3aEtsB+4gG8kzkk+BDuIKbFcQU0GyFXhdgekgJeAbEiCFErwdIMHN1vw5BK8cAws2K+3F/wm9eTP/x7w3owHuuuuTJbdODMNwPBgMHBEZi8gXkvbZcArgleROa51+GEAQBPZwOFwAmIvIU8dpGUn/eDxuptPp/iaA0nglIj8A2K0TGkTypSiKZ9d1s84AcRw7IrIFML7V+EJ7Y8zsVJp3AaIoWliWte3jRjIVkZTkK4Bvp9IZYzyttd8I0NM8I7k5Ho9+Xd2TJPlO8icArxag3PbgFmeSKcllW/eXPqsKQBAE9mg0+oN+Nc9IzpRSu7ZE6zIwHA5XPc2BfyfF6ZJYARCReU/zk7IwDMdtSW8liOPYITnu2/WXMsYstdZ+I0DZ7Wv0uGDalOf54/nlcy5LRPYAliRbu/YGZSS9JnMAsEhmALZX3O3XyBaRdRRFi0YAEZkbYzySLoDZDSaNf/dmYlnbOI6durEHpZR3HkiSZI8rjqExxjuZtKQ6AHYVuJoFn7uaA8i01r7W2ifpkqwYlPKVUr/qBioA5WKdGpLk5vStlNoppdwGkEWSJLU7VAEAgKIo3A4QWVEUL5fBE4gx5isA/xwiiqJKo9cCuK6bFUXhXizwn4wx7x4vrXU6mUyWeZ4/kvQA7EWkcte0PkiiKHoSkbWIOGdhfzKZLNvmdtFDW4JlWb8vQh9mDnR8E5bvA/twOKR1D4y77uqjv2QXCIW9OIVeAAAAAElFTkSuQmCC') no-repeat center 0.5em}#tweets p{position:relative;padding-right:1em}#tweets a[href*=status]:first-child{color:#a4a4a4;float:right;padding:0 0 .1em 1em;position:relative;right:-1.3em;text-shadow:#fff 0 1px;font-size:.7em;text-decoration:none}#tweets a[href*=status]:first-child span{font-size:1.5em}#tweets a[href*=status]:first-child:hover{color:#0181eb;text-decoration:none}#tweets a[href*='twitter.com/search']{text-decoration:none}#tweets a[href*='twitter.com/search']:hover{text-decoration:underline}.googleplus h1{-moz-box-shadow:none !important;-webkit-box-shadow:none !important;-o-box-shadow:none !important;box-shadow:none !important;border-bottom:0px none !important}.googleplus a{text-decoration:none;white-space:normal !important;line-height:32px}.googleplus a img{float:left;margin-right:0.5em;border:0 none}.googleplus-hidden{position:absolute;top:-1000em;left:-1000em}#pinboard_linkroll .pin-title,#pinboard_linkroll .pin-description{display:block;margin-bottom:.5em}#pinboard_linkroll .pin-tag{text-decoration:none}#pinboard_linkroll .pin-tag:hover{text-decoration:underline}#pinboard_linkroll .pin-tag:after{content:','}#pinboard_linkroll .pin-tag:last-child:after{content:''}.delicious-posts a.delicious-link{margin-bottom:.5em;display:block}.delicious-posts p{font-size:1em}body>footer{font-size:.8em;color:#888;text-shadow:#d9d9d9 0 1px;background-color:#ccc;background:url('/images/noise.png?1335019781'),-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #e0e0e0), color-stop(50%, #cccccc), color-stop(100%, #b0b0b0));background:url('/images/noise.png?1335019781'),-webkit-linear-gradient(#e0e0e0,#cccccc,#b0b0b0);background:url('/images/noise.png?1335019781'),-moz-linear-gradient(#e0e0e0,#cccccc,#b0b0b0);background:url('/images/noise.png?1335019781'),-o-linear-gradient(#e0e0e0,#cccccc,#b0b0b0);background:url('/images/noise.png?1335019781'),-ms-linear-gradient(#e0e0e0,#cccccc,#b0b0b0);background:url('/images/noise.png?1335019781'),linear-gradient(#e0e0e0,#cccccc,#b0b0b0);border-top:1px solid #f2f2f2;position:relative;padding-top:1em;padding-bottom:1em;margin-bottom:3em;-moz-border-radius-bottomleft:0.4em;-webkit-border-bottom-left-radius:0.4em;-ms-border-bottom-left-radius:0.4em;-o-border-bottom-left-radius:0.4em;border-bottom-left-radius:0.4em;-moz-border-radius-bottomright:0.4em;-webkit-border-bottom-right-radius:0.4em;-ms-border-bottom-right-radius:0.4em;-o-border-bottom-right-radius:0.4em;border-bottom-right-radius:0.4em;z-index:1}body>footer a{color:#6b6b6b}body>footer a:visited{color:#6b6b6b}body>footer a:hover{color:#484848}body>footer p:last-child{margin-bottom:0}
Please sign in to comment.
Something went wrong with that request. Please try again.