Hugo介绍
最早学python使用pelican生成静态博客,后来知道hexo插件、应用、theme很多又换到了hexo上,最近又有时间捣鼓一下,于是发现了hugo,也顺便试一下,为什么要使用hugo,不完全总结下官方的话就是:
- 速度快:由于Hugo是用Go语言编写的在生成速度这方面做的非常好.5000篇文章的博客生成时间只需要6秒钟;
- 静态页面无依赖:不依赖数据库管理,简单维护;
- 低消耗:只把要展示的静态页面及资源放到服务器上,运行网站消耗很小的资源;
- 专注写作:使用markdown语法,写作更简单,不需要太过关注于软件的管理。
以上几点除了速度快以外,其他几点pelican和hexo都能满足,至于速度快在我这个几篇文章的小博客也没啥体现,也感觉不到啥好处。
下面简单记录下我的hugo配置安装使用过程。
Hugo安装
安装很简单,我使用的macos,直接执行命令:
|
|
然后查看
|
|
如果没有报错,并且显示版本信息,那么hugo安装就OK了。
创建站点
到要新建站点只要执行以下命令就OK了
|
|
quitckstart
是要建立站点的目录路径,可任意。
创建文章
经过以上步骤一个hugo网站框架基本就搭建好了,就是这么简单,现在可以码字了,可以创建一个页面
|
|
这样就在网站的content
目录下创建了一个first.md
的文章,使用编辑器打开文章只有一些基础的meta
信息
|
|
这些信息是YAML格式的,当然根据你的喜好使用TOML和JSON格式hugo也是支持的。
安装Theme
hugo安装皮肤也很简单,官方给了很多theme,你可以去Hugo Themes找一款心仪的,然后根据安装说明进行安装,我使用的even主题
安装也比较简单,使用git clone
项目到themes
目录做一些修改就可以了
|
|
然后到even目录找到config.toml
替换到网站根目录config.toml
进行相应的修改就可以了,even的config.toml
文件说明很清楚,可以根据自己的需要进行更改。
更高级的使用不太清楚,有时间再研究even
生成静态文件
在网站根目录直接使用hugo
命令(不需要带参数)就可以生成html静态网页。
如果在本地预览可以加上hugo server
,使用 http://localhost:1313 就可以在本地预览blog,更常用的参数如下:
|
|
以上命令会在本地网站根目录生成一个public文件夹,里面就是生成的html和其它的一些静态资源文件,将这些文件部署到服务器就可以访问你的网站了。上面的命令--theme
指定模板风格(也就是选一个 theme 的皮肤),不设置就使用你配置好的theme。默认md文件meta头信息里加了draft: true
的markdown文件被认为是草稿是不会生成html文件的,如果运行上面命令加了--buildDrafts
就会把草稿也生成html。
hexo命令的参数还很多,没来的及研究,等有需要再研究。
部署
我使用的VPS主机,所以在主机上安装了Nginx服务,配置好Nginx服务,并绑定好域名,将本地网站根目录的public文件夹上传至Nginx服务器配置好的Web目录,就可以通过域名访问blog了。
|
|
Nginx配置如上。直接写了一个脚本使用rsync
将public目录同步到服务器上:
|
|
注:以上脚本同步没有使用密码,是由于之前已经将ssh公钥上传至服务器,可以本机免密登录
使用了SSL,到freessl申请一个免费证书,然后把公钥和私钥上传到服务器,并在Nginx如上配置,这样就可以通过https访问博客了。(没怎么用过Nginx,随便配置能用,估计之后要改进)