Alfred Sun +

在 Windows7 下从头开始安装部署 Octopress

Posted by sinosmond octopress, github pages

进入 Octopress 的世界

Octopress 简介

在 Windows 7 下安装必要的工具

软件安装后的 Windows 7 环境说明和配置

ruby 环境的初始配置

安装 Octopress

# 1. 进入 Bash 环境,克隆 Octopress 到本地代码仓库
$ mkdir ~/repos
$ cd ~/repos
$ git clone git://github.com/imathis/octopress.git octopress
$ cd ~/repos/octopress
# 2. 修改 Octopress 的 GEM 源
$ vim Gemfile    # 或 notepad Gemfile
将行 : source "http://rubygems.org/"
改为 : source "http://ruby.taobao.org/"
# 3. 安装 Octopress 所需的 GEM 组件 (Gemfile)
$ bundle install

生成 Octopress 默认模版文件

$ rake install  # 或者 "rake install[classic]"  安裝預設的 Octopress 樣式
rake aborted!
You have already activated rake 0.9.2.2, but your Gemfile requires rake 0.9.2. 
Using bundle exec may solve this.

(See full trace by running task with --trace)

解决方法

  1. $ bundle update; rake install
  2. 调整 rake
    • 在 Windows 的 CMD 窗口里:修改 rake.bat 文件
    • 在 Git Bash 里:设置别名
$ echo "alias rake='bundle exec rake'" >> ~/.bash_profile
$ . ~/.bash_profile
$ alias
alias rake='bundle exec rake'
$ rake install

Git 和 GitHub

设置本地仓库和远程仓库的关联

创建 GitHub 账号和仓库

配置和使用 Octopress

Octopress 的基本配置

# ----------------------- #
#      Main Configs       #
# ----------------------- #
url:                # For rewriting urls for RSS, etc
title:              # Used in the header and title tags
subtitle:           # A description used in the header
author:             # Your name, for RSS, Copyright, Metadata
simple_search:      # Search engine for simple site search
description:        # A default meta description for your site
subscribe_rss:      # Url for your blog's feed, defauts to /atom.xml
subscribe_email:    # Url to subscribe by email (service required)
email:              # Email address for the RSS feed if you want it.

编辑新页面

首次提交到 GitHub

  1. rake setup_github_pages :配置 Octopress 与 GitHub 的连接,参考
  2. rake generate :生成静态文件
  3. rake watch :监听 source 和 sass 目录中源文件的变动并重新生成
  4. rake preview :监听并在本机 4000端口生成访问内容 http://localhost:4000
  5. rake deploy :发布生成的网站文件到 GitHub(不建议该方式;由于 Octopress 只发布生成的文件,建议将生成静态文件操作和 Git 操作分离 “Unix 哲学”

使用 rake 任务管理 Blog

$ rake -T
rake clean                     # Clean out caches: .pygments-cache, .gist-c...
rake copydot[source,dest]      # copy dot files for deployment
rake deploy                    # Default deploy task
rake gen_deploy                # Generate website and deploy
rake generate                  # Generate jekyll site
rake install[theme]            # Initial setup for Octopress: copies the de...
rake integrate                 # Move all stashed posts back into the posts...
rake isolate[filename]         # Move all other posts than the one currentl...
rake list                      # list tasks
rake new_page[filename]        # Create a new page in source/(filename)/ind...
rake new_post[title]           # Begin a new post in source/_posts
rake preview                   # preview the site in a web browser
rake push                      # deploy public directory to github pages
rake rsync                     # Deploy website via rsync
rake set_root_dir[dir]         # Update configurations to support publishin...
rake setup_github_pages[repo]  # Set up _deploy folder and deploy branch fo...
rake update_source[theme]      # Move source to source.old, install source ...
rake update_style[theme]       # Move sass to sass.old, install sass theme ...
rake watch                     # Watch the site and regenerate when it changes

更新远程管理源码的仓库分支

git add .
git commit -m "your message"
git push myblog source

进一步配置 Octopress

类型 国外服务 国内服务
Feed 烧制 FeedBurner FeedSky
分享到 AddThis JiaThis百度分享
微博 Twitter weibo.com
网络书签 DeliciousGoogle Bookmarks QQ书签百度搜藏
网络图床 FlickrImgur yupooPOCO
网络评论 Disqus 友言多说
数据统计 Google Analytics 百度统计CNZZ

配置举例1:为每一篇Blog结尾添加 “JiaThis”

1、在 _config.yml 尾部添加如下行

# JiaThis
jiathis: true

2、在 source/_includes/post/sharing.html 尾部的 </div> 之前添加如下行

{% if site.jiathis %}
  {% include post/jiathis.html %}
{% endif %}   

3、创建 source/_includes/post/jiathis.html 文件,将从 JiaThis 获得的代码放入其中

配置举例2: 配置侧栏

blog_index_asides:
- custom/asides/feeds.html
- asides/recent_posts.html
- custom/asides/recent_comments.html
- custom/asides/opers.html
- asides/github.html
- asides/twitter.html
- asides/delicious.html
- asides/pinboard.html
- asides/googleplus.html
- custom/asides/weibo.html
- custom/asides/copyleft.html

post_asides:
- asides/recent_posts.html
- custom/asides/recent_comments.html
- custom/asides/opers.html
- custom/asides/copyleft.html

page_asides:
- asides/recent_posts.html
- custom/asides/recent_comments.html
- custom/asides/copyleft.html

一些 Octopress 资源

更新本地 Octopress

如何更新

git pull octopress master     # Get the latest Octopress
bundle install                # Keep gems updated
rake update_source            # update the template's source
rake update_style             # update the template's style

更新 Octopress 的 插件、模板主题、gemfiles、rakefile 和 配置文件,保留用户的文件改动,参考

rake update : 更新模板的 /source/sass 目录,等同于一起执行 update_styleupdate_source

更新模板的 Style 文件

用 pull 的新代码,更新本地仓库的 /sass 目录:

rake update_style
  1. 移动 /sass/sass.old
  2. 复制 .themes/classic/sass/sass
  3. /sass.old/custom 替换 /sass/custom

更新模板的 Source 目录

用 pull 的新代码,更新本地仓库的 /source 目录:

rake update_source
  1. 移动 /source/source.old
  2. 复制 .themes/classic/source/source
  3. Copy back everything in /source.old (cp -rn - without replacing)
  4. /source.old/_includes/custom/ 替换 /source/_includes/custom/

这样,那些新加的文件(如:_postsabout.html 等),还有用户在 source/_includes/custom 定制的文件,都能保留下来。

参考链接

[Comments]:

Related Blog