为什么搭建自己的blog
1.不论是新浪还是qq空间我都买不起会员,没面子
2.没广告,能自定义,而且一下子就有了一种我能修电脑的高贵气质
hugo
hugo是go语言写的,其实用起来跟golang没一点关系,只用到编译好的程序. 它是个生态静态页面的工具.能把md文件渲染成网页.还自带了http sever,有 watch 功能.生成速度很快,watch反映也很快.
hugo生成静态网站的好处明显,不用数据库,也不需要你写逻辑,啥玩意儿你也不用管,写文章就完了,写完了就用工具调一条命令,啪!,网站好了.
github pages
免费,无限流量,国内外都能上,速度还快. 怕就怕哪天有司机用github pages 飙车,一下被墙了就不好使了 在此呼吁大家遵守交通规则,文明驾驶.
如何使用
安装hugo
mac 用户
brew update && brew install hugo
我系统10.10的,安装的时候brew坏了,卸了从新安装的
brew安装
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew 卸载
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"
windows 用户
去官网下载hugo.exe使用就行了
新建项目
hugo new site /建站文件夹
建完以后文件夹结构如下
tree -a
.
|-- archetypes
|-- config.toml
|-- content
|-- data
|-- layouts
`-- static
5 directories, 1 file
tree 是个挺好的工具 安装方法
brew install tree
写文章
hugo新建文章
hugo new post/hello.md
然后在./content/post 里面会多一个文件,内容这样的
+++
date = "2016-03-25T00:33:03+08:00"
description = ""
title = "hello"
draft = true
+++
draft表示是草稿,不会渲染.把这一行删掉就好了
选主题
这里有各种各样的皮肤可以选,我选了比较简洁的hugo_theme_beg
安装方法 在项目里面建一个themes的目录
mkdir themes && cd themes
然后把你喜欢的主题clone下来
git clone git@github.com:dim0627/hugo_theme_beg.git
用hugo跑服务看下效果
hugo server -w --theme=hugo_theme_beg
打开浏览器访问 http://localhost:1313/
就能看到效果了.
上传至github pages
运行
hugo --theme=hugo_theme_beg
hugo会自动把渲染好的静态页面放在public下面
在github上建一个项目,命名方式: 用户名.github.io 然后把public里面的内容push去就可以了 以后每次修改重新运行上面命令,然后再用git同步即可
不会用git的朋友,可以下载一个sourceTree,在github上练习下,无非就是pull->add/remove->commit->push
项目根目录下的config.toml记得修改baseURL
baseURL= "http://用户名.github.io/"
其他
disqus 支持 只要在config.toml里面添加
disqusShortname = "你的disqus用户名"
就可以了,但是disqus被墙了,国内用不了,我就换成了中国的多说
把themes/你选的主题/layouts/_default/single.html 里面disqus的换成下面的就行了
<!-- 多说评论框 start -->
<div class="ds-thread" data-thread-key="{{ .URL }}" data-title="{{ .Title }}" data-url="{{ .Permalink }}"></div>
<!-- 多说评论框 end -->
<!-- 多说公共JS代码 start (一个网页只需插入一次) -->
<script type="text/javascript">
var duoshuoQuery = {short_name:"{{.Site.Params.duoshuoShortname}}"};
(function() {
var ds = document.createElement('script');
ds.type = 'text/javascript';ds.async = true;
ds.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') + '//static.duoshuo.com/embed.js';
ds.charset = 'UTF-8';
(document.getElementsByTagName('head')[0]
|| document.getElementsByTagName('body')[0]).appendChild(ds);
})();
</script>
<!-- 多说公共JS代码 end -->