Register Travis https://travis-ci.org/
add .tavis.yml first, there is no need to get the file completed at this time
language: python
python:
- "2.7"
before_install:
install:
- sudo pip install pelican
- sudo pip install markdown
- sudo pip install s3cmd
script:
- mkdir output
- pelican content
git push to test if the travis build is successful
sync to Amazon S3
first, you should encrypt privacy information by using travis cli gem install travis, or you can use travis api, which I chosed for the ruby environment really sucks.
curl -H "Accept: application/vnd.travis-ci.2+json" https://api.travis-ci.org/repos/<github-id/repo>/key | python2 -m json.tool | grep key | sed 's/.*"key": "\(.*\)"/\1/' | xargs -0 echo -en | sed 's/ RSA//' > travis.pem
# note: <github-id/repo> no '<>'
# note: this cli command fails in my test, but you can do it by hand, plz see ref[1] for more detail . anyway, you should get the right public key, travis.pem. then, you can encrypt your privacy info.
echo -n 'ACCESS_KEY=blah SECRET_KEY=blah' | openssl rsautl -encrypt -pubin -inkey travis.pem | base64 -w0
# you will get a long base64 string
# note: no % at the end last, add the base64 string .travis.yml, and access it by $ACCESS_KEY. see the following finished .tavis.yml file.
language: python
python:
- "2.7"
env:
- secure:'blahblah'
before_install:
- sudo apt-get update
install:
- sudo pip install pelican
- sudo pip install markdown
- sudo pip install s3cmd
script:
- pelican content
after_success:
- s3cmd sync output/ s3://www.wogong.net --acl-public --delete-removed --guess-mime-type --access_key=$ACCESS_KEY --secret_key=$SECRET_KEY
git push, see if the build is successful
ref:
最开始在网上的页面是 vimwiki,之后转移到 Jekyll,基本一直托管在 Github,可恨 Jekyll 对于中文的支持直到 3.0 版本都没有任何改观,所以前段时间简单折腾转移到 Pelican,目前的静态博客生成工具非常多,相比 Jekyll,Pelican 于我而言最大的优势是对中文的支持较为友好,另外 Python 环境相比 Ruby 而言,折腾起来较为简单。当然,游走于各种环境只是为了折腾,和书写其实没有太大关系,也和文题无关。
静态博客最大的优势怕是在于托管的方便了,国内的 空间/CDN/VPS 由于备案制度的存在,不予考虑。Github Pages 的托管其实是最优的选择,廉价的 VPS 无论是稳定性还是速度都不尽如人意,且需要牵扯较大的精力维护,与博客的初衷相去甚远,Linode 之类的优质 VPS 虽然基本不存在稳定和速度的问题,但是于我仅仅用来挂个静态的博客,又显得奢侈。Github Pages 一方面是墙的问题,虽然这一点个人不是太在意,但是在 Code Repo 里放一堆丑陋的 Pelican 生成的 HTML 文件实在是不能忍受。可以说是蓄谋已久,也可以说是心血来潮,总之,用了办个上午的时间搬家到了 Amazon S3 Service.
Amazon S3 Service 是 AWS 服务的一项,AWS 需要信用卡开通,新用户有一年的免费试用时间。S3 的价格非常便宜,作为静态博客托管基本可以不考虑费用:)
官方提供了详细的静态网站托管流程:使用自定义域设置静态网站 但是个人采用的方案和上述流程有一些区别,例如域名解析上述流程采用 Route 53,一些关于权限和域名绑定的小问题记录如下。
{
"Version": "2012-10-17",
"Id": "Policy1436229520943",
"Statement": [
{
"Sid": "AllowPublicRead",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:*",
"Resource": "arn:aws:s3:::wogong.net/*"
}
]
}
访问域名: www.wogong.net
ALIAS wogong.net www.wogong.net.s3-website-ap-northeast-1.amazonaws.com
CNAME www.wogong.net www.wogong.net.s3-website-ap-northeast-1.amazonaws.com
若访问域名为:wogong.net, 则需要考虑裸域的 CNAME 记录可能会与 MX 记录产生冲突。 故建议使用 www.
为 HTTP 错误进行重定向
<RoutingRules>
<RoutingRule>
<Condition>
<HttpErrorCodeReturnedEquals>404</HttpErrorCodeReturnedEquals >
</Condition>
<Redirect>
<HostName>wogong.net</HostName>
<ReplaceKeyWith>404.html</ReplaceKeyWith>
</Redirect>
</RoutingRule>
</RoutingRules>
下一步要折腾的就是 CDN 了,Amazon CloudFront 服务正在申请中
一直是 Windows 的用户,Linux 的桌面尝试的时间不太长,毕竟作为一名工科搬砖苦力不可能在 PC 上使用 Linux 桌面再装个虚拟机开 Windows 做计算,其实还是 Linux 桌面实在太无法忍受。基本没有用过 Mac OS,想着有机会可以买一台当作娱乐折腾本,可惜从去年开始吐槽 Mac OS 的言论日益增多,此种想法略受影响。如此种种暂且不说。好久没有更新,且在这里总结一下 Windows 系统的个人使用姿势,关于文件历史功能。
熟悉 Mac OS X 的用户应该了解 Time Machine (TM),不知我身边的 Mac 用户有多少人使用了这个功能。在没有听到各种吐槽之前不得不说 TM 给人的感觉真是逆天,后来在考虑 Linux 系统备份问题的时候,想到 TM 实现的可能性便在于其是 Unix 系统。Windows 系统遇到问题如何解决呢?重启,不行再重装,如此应该可以应付绝大多数的问题。重启浪费的只是几分钟时间,然而,重装系统浪费的就是数小时的时间,还有甚至数月时间的不方便。即使自认为是 Windows 老鸟,我也尽量不去重装系统,实在是不想浪费时间。好在Windows 也没有那么脆弱,略微注意使用习惯,设置好系统还原类似等等,遏止住想要折腾骚动不安的内心用个几年不重装是没问题的。今天的主题是备份,Windows 有个全盘备份的功能,个人没有使用的原因在于系统盘太大,没有空间和时间来进行一次全盘备份。但是如何保证数据的安全呢?在网络不便的情况下完全依靠云是极度不可靠的。引出今天的主角,Windows 8 的文件历史功能。
File History 即文件历史功能,需要配合库来使用,所以需要将希望进行文件历史记录的默认对全部库文件夹开启文件历史功能,但是对于音乐、图片与视频库显然没有必要,可以在设置里面去除这些库。使用库来进行管理显得略奇怪,但是由于个人不是库的重度用户,所以无甚不便。
文件历史记录位置可以为网络位置、外置硬盘和无系统文件的内置硬盘。前两者比较容易理解,对于第三者的系统文件包括例如分页文件、休眠文件、其他系统文件,以及 Windows 的库位置。因为设计要求,包含这些文件的硬盘分区无法用作历史记录的备份位置。
在没有网络存储设备,例如 NAS 的情况下,长时接着移动硬盘显然不太现实。那么如何利用内置硬盘进行文件历史记录呢?可以借助于虚拟硬盘 VHD 技术或者共享文件夹方法。 因为SSD据说寿命和稳定性不如机械硬盘,所以拿Windows自带的File History做了一个备份。File History就像是Mac的Time Machine,是Win 8新引入的特性,支持多版本全自动备份。然而File History默认只能在外部磁盘和网络磁盘上开启,即使是像我这样的双硬盘也没法选择从一块硬盘备份到另外一块上。网上搜索了一下,大概有两种解决办法:
按下 Win + R 快捷键组合,在弹出的运行对话框中输入 diskmgmt.msc,按下回车启动“磁盘管理”。
选择“操作”菜单中的“创建 VHD”选项,VHD 文件是一种虚拟磁盘文件格式,Windows 8 将被安装到该文件中,因此无需特别的分区。在对话框中设置 VHD 文件路径和大小,推荐大小至少为 20 GB。为提高性能,建议选择“固定大小”。
设置完毕,点击“确定”即可。Windows 将开始创建 VHD 文件。
VHD 创建完毕之后,在下方的磁盘列表就可以看到该虚拟磁盘了,右键点击该虚拟磁盘,选择“初始化磁盘”。
Windows使用了这么多年,依旧能发现新鲜的东西。利用虚拟硬盘当作文件历史记录盘,避免了使用外置盘的不便。当然以后重装系统还是需要拆下机械硬盘,系统装好后插上机械硬盘当作数据盘。这样就不用迂回路线了。PC 使用 SSD 系统盘加大容量 HDD 数据盘应该是兼顾速度与容量的最佳方案了。(上午使用 VIM 写了很多,以为保存了,结果下午才发现移动文件之后的修改全部丢失,补了一些,但还是丢失了不少内容,难得写一篇还遇到这种事情影响心情,所以我心安理得的去折腾 VIM 的自动保存了。)