Using Octopress

这篇文章参考了生命之氢

新建一个github.io

  1. 创建了域名后千万不要在其他地方引用,不然会很麻烦,push 需要pull, pull 前需要branch, 反正就是各种麻烦事,把它当做最干净的时候用来写博客可以免去很多麻烦
  2. 新建后只需要ssh , 连密码都不用,当然最好是有一个git客户端,但是千万别把github.io 从客户端放到本地,一定要从octopress。

合并远程仓库

在octopress中,是有两个仓库的,一个是source,用来存放后台代码的,一个是master,也就是主分支,是前端显示的。

我们刚开始在github是建立了一个远程仓库的,第一次使用的时候是还没有将远程仓库和本地仓库合并的,这是两个不同的仓库,会提示unrelated histories,所以这时候需要先使用

cd _deploy
git pull origin master --allow-unrelated-histories

更换octopress 主题,

  1. 先把source 中atom.xml 和robots.txt中的nil 改成null

添加上公式

需要mathjx支持,不知道能不能有用。

$$f(x) = \sin(x)\int_{0}^{1}\sum \cos(x)dx$$

显然是没有用的。$\sin(x)$

$$f(x) = \int^{10}_0\sin(x)dx$$

但是修改最后一句javascript这样的代码后就可以了,主要原因是mathjax的那个source更新了。加载非常慢,我是放在script.html中的,千万别放在head.html中,会后悔的,加载特别慢。另外,如果翻墙,公式加载也非常慢,直接访问网站会快很多。其实不更改markdown 也没关系的。但是注意改又花括号的地方时不能省略的。

$$f(x) =x\cdot y$$

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<!-- mathjax config similar to math.stackexchange -->
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
  jax: ["input/TeX", "output/HTML-CSS"],
  tex2jax: {
    inlineMath: [ ['$', '$'] ],
    displayMath: [ ['$$', '$$']],
    processEscapes: true,
    skipTags: ['script', 'noscript', 'style', 'textarea', 'pre', 'code']
  },
  messageStyle: "none",
  "HTML-CSS": { preferredFont: "TeX", availableFonts: ["STIX","TeX"] }
});
</script>
<script type="text/javascript" async
  src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-MML-AM_CHTML">
</script>

另外,在_config.yml中markdown的解释器换了后,要注意这时候的语法有一点不一样,就是公式中$$ 必须单独成行,代码块前后面也必须要有空行。

据说代码块也是有问题的,我要一起测试测试

1
2
3
4
5
6
import torch
import torch.nn
class g(nn.Module):
    def __init__(self):
        super(g, self).__init__()

确实,好像没有高亮。

原来是主题的原因,不过比较简洁,还是能够接受的,

插入图片

插入的图片放在/octopress/source/images/下,在引用的时候

1
![](/images/image.img)

提升速度

使用谷歌的源加载速度特别慢。

具体的就是把source/include/head.html和source/include/custom/head.html中的fonts.google.com和ajax.google.com都替换成userso.com然后就Okay,速度哗哗的

添加七牛图床

这个跟octopress无关。

下载qshell,将文件放在/usr/local/bin/下,然后在终端操作

qshell account ak sk#ak和sk分别是账户和密码这样就能生成账户文件

这时候可以在任何位置使用qshell命令

qshell qupload hello.txt#hello.txt是配置文件,这个配置文件是包含了上传信息的。参见qupload文档说明。

Ocotopress 使用

生成代码和提交

bundle exec rake generate#生成
bundle exec rake deploy#提交
bundle exec rake gen_deploy#生成和提交
#每次修改后都把原始文件都提交到 source 源码中
git add . 
git commit -m '备注内容'
git push origin source 

新博客和新页面

bundle exec rake new_post[new_post]#新博客
bundle exec rake new_page[new_page]#新页面
#在source/_includes/custom/navigation.html 中添加
<li><a href="/your-title/new_post">new_post</a></li>#以添加页面到导航栏