利用hugo搭建个人博客入门教程
起因
之前看过腾讯工程师写的《Web全站工程师的自我修养》^1一书,萌生了搭建一个博客的想法,用来记录学习记录和生活感受。先用免费的github,挂载静态页面试试吧。原来计划使用道听途说的Jekyll,然后一不小心看到了这篇文章http://blog.coderzh.com/2015/08/29/hugo/,各种好: 1.只有一个二进制文件。 2.可以将宇宙标准MarkDown格式的文章自动转换为静态网页。 3.内置Web服务器,可以立即在本地查看修改结果。 那么就用hugo[^2](https://youngspring1.github.io/2016/2016-03-06-hugo/hugo主页:吧。有空再试试hexo[^3](https://youngspring1.github.io/2016/2016-03-06-hugo/hexo主页:。
安装hugo
我是在mac上通过tar压缩文件安装的。 其他方法可以参考官方文档。 1.下载 下载地址:https://github.com/spf13/hugo/releases 我要的mac版,文件名长这样:hugo_X.YY_darwin_amd64.zip 2.解压 解压后是这样:
$ ls -l
total 31696
-rw-r--r--@ 1 username staff 10480 2 28 21:38 LICENSE.md
-rw-r--r--@ 1 username staff 7694 2 28 21:38 README.md
-rwxr-xr-x@ 1 username staff 16201084 2 28 21:38 hugo_0.15_darwin_amd64
试一试:
$ ./hugo_0.15_darwin_amd64 version
Hugo Static Site Generator v0.15 BuildDate: 2016-02-28T21:38:32+08:00
3.创建链接文件 这么长的命令,用起来多不方便啊,我们简化一下。
$ ln -s /fullpath/fullpath/hugo_0.15_darwin_amd64 hugo
$ ls -l
total 31696
-rw-r--r--@ 1 username staff 10480 2 28 21:38 LICENSE.md
-rw-r--r--@ 1 username staff 7694 2 28 21:38 README.md
lrwxr-xr-x 1 username staff 54 2 28 22:05 hugo -> /fullpath/fullpath/hugo_0.15_darwin_amd64
-rwxr-xr-x@ 1 username staff 16201084 2 28 21:38 hugo_0.15_darwin_amd64
亲测有效:
$ ./hugo version
Hugo Static Site Generator v0.15 BuildDate: 2016-02-28T21:38:32+08:00
4.加入PATH 这还不够,我们要加到PATH里去。
$ which hugo
/fullpath/fullpath/hugo
$ vi ~/.bash_profile
加入这一行:
export PATH=$PATH:/fullpath/fullpath
这样你应该可以在任意位置运行hugo命令了:
$ hugo version
Hugo Static Site Generator v0.15 BuildDate: 2016-02-28T21:38:32+08:00
生成本地站点
安装好hugo之后,就可以很轻松地生成本地站点啦:
$ hugo new site mysite
hugo会在当前的目录下,生成mysite这个目录,cd进去,目录结构如下
archetypes/
content/
layouts/
static/
config.toml
其中content是MarkDown文章目录,layouts存放的是网站的模版文件,static存放的是图片、css、js资源等。config.toml是网站的配置文件,你也可以换成yaml、json等。
(2016/04/23 发现一个小问题,配置文件里categories不能填写大写字母。 可能hugo创建categories时不区分大小写。 然而在页面上点击一个categories后,在页面上却又全部转化成了大写字母。)
创建文章
在mysite目录下,创建一个[关于]页面:
$ cd mysite
$ hugo new about.md
内容自己填呗。 再创建一个文章页面:
$ hugo new post/2016-03-06-first.md
内容自己填。 想看看效果么?等等,还需要导入个主题。
导入主题
还是在在mysite目录下,创建一个文件夹,我们随便clone一个主题下来。 我在https://themes.gohugo.io上没有找到喜欢的主题,就直接拉了上面原文作者的主题。
$ mkdir themes
$ cd themes
$ git clone https://github.com/coderzh/hugo-rapid-theme.git
$ cd ..
(主题里面包含了作者的信息,如果需要使用,记得修改。)
调试
现在终于可以调试了。
$ hugo server --theme=hugo-rapid-theme --buildDrafts --watch
浏览器里打开:http://localhost:1313 选项watch会让服务器自动检测文章的改动,自动刷新浏览器,非常方便。
发布
在本地自己偷着看有什么意思,发布到github上去吧。 1.生成静态页面
$ hugo --theme=hugo-rapid-theme --buildDrafts --baseUrl="http://youngspring1.github.io"
这里的url要替换成你自己的。 所有的静态页面都会生成到public目录。
2.创建Repository 在github上创建一个Repository,名为”youngspring1.github.io”。 同样,不认识的名字要替换成你自己的。
3.提交 把public目录下的内容,全部提交到刚刚创建的Repository中。
$ cd public
$ git init
$ git remote add origin https://github.com/youngspring1/youngspring1.github.io.git
$ git add -A
$ git commit -m "first commit"
$ git push -u origin master