什么是Hugo?
Hugo is a general-purpose website framework. Technically speaking, Hugo is a static site generator. 简单说就是一个静态网站、个人博客工具,和其他博客工具jekyll相比,hugo不需要安装,仅需要一个二进制文件hugo(hugo.exe)。
静态网站生成器
静态网站与动态网站最大的不同是不需要调用数据库生成页面,再返回给用户,而是在访问时直接返回现成的静态页面。 采用静态页面最大的好处就是访问速度快,不需要每次都重新生成页面。博客文章可以在本地以文本的方式维护,不需要使用数据库保存这些文本。
我的Hugo博客:http://blog.h5super.com/ ~~刚刚搭建完成,继续完善中
GitHub Pages
可以直接把网站托管到GitHub Pages。你只需要在GitHub上创建一个项目,然后将生成出来的静态页面文件(public目录下)push到这个项目的gh-pages分支,保证根目录有一个index.html文件即可。这样,一个免费、无限流量的博客系统就搭建完成了。同时,通过github你可以方便对博客文章进行管理和追踪。这样既不会丢失,也能追溯到每一次的内容变化。
Hugo
Hugo是什么?它主要做了什么?
- Hugo只有一个二进制文件(比如Windows里只是一个hugo.exe,我是在windows下面使用的)
- Hugo可以将你写好的MarkDown格式的文章自动转换为静态的网页。
- Hugo内置web服务器,可以方便的用于本地调试。
Hello Hugo
Hugo官方主页:https://gohugo.io/
Hugo二进制下载地址:https://github.com/spf13/hugo/releases
下载下来后,只有一个叫hugo或者hugo.exe的程序。 开始生成自己的站点:
$ hugo.exe new site myblog
然后进入myblog目录下:
$ cd myblog
会看到这样一个目录结构:
▸ archetypes/
▸ content/
▸ layouts/
▸ static/
config.toml
这几个文件夹的作用分别是:
- archetypes:包括内容类型,在创建新内容时自动生成内容的配置
- content:包括网站内容,全部使用markdown格式
- layouts:包括了网站的模版
- static:包括了css, js, fonts, media等资源文件
- config.toml:是网站的配置文件,这是一个TOML文件,全称是Tom’s Obvious, Minimal Language。如果你不喜欢这种格式,你可以将config.toml替换为YAML格式的config.yaml,或者json格式的config.json。
创建一个页面:
$ hugo.exe new about.md
如果是博客日志,最好将md文件放在content的post目录里。
$ hugo.exe new post/firstpage.md
执行完后,会在content/post目录自动生成一个MarkDown格式的firstpage.md文件:
+++
date = "2015-11-10T17:02:16+08:00"
draft = true
title = "firstpage"
+++
+++可以替换为Jekyll一样的---,里面的内容是这篇文章的一些信息。下面就可以开始写你的文章内容,比如:
+++
date = "2015-11-10T17:02:16+08:00"
draft = true
title = "firstpage"
+++
### Hello Hugo
This is my first blog.
同样的方法,你也可以在about.md添加一些内容。然后执行命令
$ hugo.exe server
浏览器里打开:http://127.0.0.1:1313,发现什么也没有,为什么呢?这是由于Hugo默认生成的网站没有任何theme,我们可以从github上下载其 中一个模板,创建一个目录themes:
$ cd themes
$ git clone https://github.com/spf13/hyde.git
再次启动本地调试:
$ hugo.exe server --theme=hyde --buildDrafts --watch
浏览器里打开:http://127.0.0.1:1313
–watch或者-w 选项打开的话,将会监控到文章的改动从而自动去刷新浏览器,不需要自己手工去刷新浏览器,非常方便。
更详细的文档请看:
官方文档:https://gohugo.io/overview/introduction/
皮肤列表:https://github.com/spf13/hugoThemes
添加评论功能
我是采用多说评论插件,www.duoshuo.com,按照提示操作即可。
Github 部署
在GitHub上创建一个Repository,命名为:username.github.io
(username替换为你的github用户名)。
在站点根目录执行 Hugo
命令生成最终页面:
$ hugo.exe server --theme=hyde --buildDrafts --watch -b "http://username.github.io" --appendPort=false
$ cd public
$ git init
$ git remote add origin https://github.com/username/username.github.io.git
$ git add -A
$ git commit -m "first commit"
$ git push -u origin master
如果一切顺利,所有静态页面都会生成到 public
目录,将pubilc目录里所有文件 push
到刚创建的Repository的 master
分支。
如果提交过程中有问题,请参照这篇文章my.oschina.net/juwenz/blog/153350
参考文章: HugoQuickstart Guide
The best preparation for tomorrow is doing your best today.
作者:cst_kevin
微信关注:cst_qdzx(前端资讯)
本文出处:http://blog.h5super.com/2015/11/10/hugoblog
文章版权归本人所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。