octopress customization

  • about分页

    1. source下新建about目录,并在里面添加index.markdown文件。
    2. 编辑导航条source/_includes/custom/navigation.html
    3. 注意:index.markdown文件需要加上头,否则会找不到。
  • 摘要

    1. 在文中加入<!--more-->来控制摘要截取位置
    2. 修改_config.yml里的excerpt_link控制连接文字,默认是readon->
  • 缩进

    • 清单缩进

      sass/custom/_layout.scss中添加$indented-lists: true;

    • 列表中的缩进

      在列表中,假如期望有一个段落希望缩进,在段落前加4个空格。

  • 多个tag

    octopress没有tag的概念,可通过添加categories来实现类似的功能,假如有多个category的化,用方括号括起来,每个category用逗号分隔,譬如:category: [octopress, customization]需通过空格分隔。

  • theme

    我借用了Alessandro Melandri的设计,详情参见Octopress Theme Customization

    差异的地方是:

    1. 未采用他所提到的字体
    2. 保留toggle,访问者依然可以点击该按钮。
    3. favicon采用super mono icon
  • 侧边栏

  • 评论

    octopress的确是给geek用的,我翻遍了google,就是找不到一个答案。当时我已经申请了一个disqus帐号,但是没有创建site,所以在octopress死活无法显示comments,结果翻遍的整个互联网,没人遇到同样的问题。所以遇到问题的兄弟,要记得register a site。

  • 表格

    表格样式来自chen.yanping.me,如果生成器使用的是kramdown的话,编辑表格就很方便,不需要写html标签,只需要在表格下面加上{: class="datalist" }就可以套用datalist这个样式了。

Header1 Header2 Header3
cell1 cell2 cell3
cell4 cell5 cell6
——
cell1 cell2 cell3
cell4 cell5 cell6
=====
Foot1 Foot2 Foot3

{: class=“datalist”}

  • tweet

    我不用twitter,每次preview的时候都要尝试去加载twitter,速度慢,因为在国内被墙了,所以需要把它注释掉,需要修改的文件是source\_includes\after_footer.html

  • 嵌套list

    譬如说有下面的嵌套列表:

- list1

    - sublist1
    - sublist2

- list2

其显示的结果是:

  • list1

    • sublist1
    • sublist2
  • list2

    最后一个子列表跟父列表紧贴在一起,即便用上空行也无法隔断,所以最好将unsort改成sort格式的list

- list1

    1. sublist1
    2. sublist2

- list2
  • list style on blockquote

block quote

  • list2
  • list1
  • tagcloud plugin

参考:https://github.com/tokkonopapa/octopress-tagcloud

  • vim-octopress

听说是面向octopress的一个主题,有空再试试看。我目前用的是台湾高进龙的markdown语法高亮,有点小问题。

参考:https://github.com/tangledhelix/vim-octopress

  • 目录

本blog采用了Brian Clapper的toc功能,请参考:http://brizzled.clapper.org/blog/2012/02/04/generating-a-table-of-contents-in-octopress/

在使用的过程中遇到两个问题:

  1. 无法制定起始和终止的Header级别,因为我习惯从h2开始,然而这个插件还是在目录框中插入了一个h1的小圆点;
  2. toc js插件默认只能创建3级;

因此,为了迎合toc js的功能,我以后写文档只好从h1开始,之前的文档就不再费心去更改了。

  • CNAME

我的octopress博客存放在heroku这个hosting app平台中,它可以提供一个免费的二级子域名,譬如linuxabc.heroku.com,不过我还是希望能用自己申请的域名www.linuxabc.net.cn,heroku也允许用户这么做:

  1. heroku

    $ heroku domains:add www.linuxabc.net.cn

  2. 用户自己的域名管理界面:

    添加一个CNAME: www.linuxabc.net.cn <—-> linuxabc.heroku.com

这样就可以通过www.linuxabc.net.cn来访问linuxabc.heroku.com了。

  • 邮箱地址图片化

很多博主都将邮箱地址转化成图片,目的是为了防止垃圾邮件,我也赶了一下时髦。

邮箱地址生成图片的网址是:

  1. http://services.nexodyne.com/email/index.php
  2. http://pic.sdodo.com/tool/mailpic/
  • 图片外链

目前,我将本博客架设在heroku上,用的是免费的plan,只有300M的空间,因此若需要分享一些图片、文档或软件就比较麻烦,一个解决的办法就是使用网盘,将共享的内容上传到网盘中,然后将外链附在博客中即可。

我对比了一下,最后挑了dropbox,原因很简单:知名度最大。然而国外好应用终究逃不过被墙的命运,因此我还要解决国内用户的访问问题。

我采用的是cloudflare CDN方案。

在域名服务页面,更改linuxabc.net.cn这个域名的DNS服务器,指向cloudflare DNS,譬如jack.ns.cloudflare.com或kim.ns.cloudflare.com。

接着在cloudflare的配置里面,添加两条CNAME记录

www 指向 linuxabc.heroku.com
dl  指向 dl.dropbox.com

最后,修改一下blog中的dropbox共享链接

http://dl.dropbox.com/u/UID/path/to/your.file.ext

改成

http://dl.linuxabc.net.cn/u/UID/path/to/your.file.ext

参考

http://www.xzymoe.com/dropbox-tuchuang-cloudflare/
http://yisi.us/2011/10/21/id=2744