本文参考了若干网络日志(谢过~), 配置个人博客后整理而成
安装git
1 2 |
|
在本机使用git创建SSH Key
1 2 |
|
//if denied, use ssh-add ~/.ssh/id_rsa
to fix this.
备注: useremail为你注册github用户时的邮箱地址 这时,在系统目录下就会生成一个.ssh文件夹,里面为对应的SSH Key,其中id_rsa.pub是Gighub需要的SSH公钥文件。 将id_ras.pub文件里内容拷贝到Github的Account Settings里的key中。 这样你就可以直接使用Git和Github了.
安装ruby
1 2 3 4 5 6 7 |
|
安装OctoPress
通过Git从Github上克隆一份Octopress
1 2 3 4 |
|
安装Octopress默认的Theme
1
|
|
//if error: rake aborted!
//You have already activated rake 10.1.0, but your Gemfile requires rake 0.9.2.2.
delete your Gemfile.lock and edit the version of rake specified in your Gemfile to 10.1. Job done
通过_config.yml来配置博客
创建一个博客
1
|
|
创建一个博客页面
1
|
|
预览效果:
1 2 |
|
然后在浏览器中打开http://localhost:4000
发布Octopress到Github
1 2 3 |
|
将博客发布到Github上,输入下面命令:
1
|
|
这样,生成的内容将会自动发布到master分支,并且可以使用 http://username.github.com 访问内容。
将source提交:
1 2 3 |
|
删除之前的添加信息 (配置文件在 ~/octopress/.git/config)
1 2 |
|
添加多说评论
在_config.yml尾部添加如下行:
1 2 |
|
在source/_layouts/post.html尾部添加如下代码:
1 2 3 4 5 6 |
|
创建source/_includes/post/duoshuo.html文件,将从多说获得的代码放入其中。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
将AddThis更换为JiaThis
打开source/_includes/post/sharing.html,注释掉<div class="share">...</div>
中的AddThis相关语句,然后在</div>
前加入从JiaThis获得的代码。
Octopress写作
1 2 |
|
another pc
1 2 3 |
|
增加category_list插件
保存以下代码到plugins/category_list_tag.rb:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|
将category加入到侧边导航栏,需要增加一个aside 复制以下代码到source/_includes/asides/category_list.html。
配置侧边栏需要修改_config.yml文件,修改其default_asides项: default_asides: […, asides/category_list.html, …]
中文分类支持
侧边栏添加了文章分类后,英文分类没有问题,点击打开是分类下的文章列表;但中文分类,如云计算、设计模式之类就不行了,网上有各种解决办法,复杂了点;而且我发现新建日志的文件名如果是中文则会转成拼音,文章分类也是,你可以看下public/blog/categories下的文件名;所以如果能把边栏的链接地址改成拼音就行了,rakefile里有rake new_post
代码;查看分析发现和plugins/category_list_tag.rb
的处理类似,
category.gsub(/_|\P{Word}/, '-').gsub(/-{2,}/, '-').downcase
是转换为单词‘-’分隔并且小写,rakefile里是 mkdir_p
"#{source_dir}/#{posts_dir}"
filename = "#{source_dir}/#{posts_dir}/#{Time.now.strftime('%Y-%m-%d')}-#{title.to_url}.#{new_post_ext}"
注意:title多了.to_url
,原来如此,将category_list_tag.rb
里改成
category.gsub(/_|\P{Word}/, '-').gsub(/-{2,}/, '-').downcase.to_url
,
然后rake generate rake preview
done!