使用Hugo创建静态网站「一」-- 介绍与安装

Posted in 技术 with tags hugo blog hugo建站 系列 -

目前这个博客就是用hugo生成的,它托管在github pages上,当然也可以放在任何其他空间或者云存储上。

什么是Hugo

hugo是一套用于发布静态页面的CMS系统,有点类似Movable Type


为什么是Hugo

  1. 静态化

    和wordpress不同,hugo不需要你的空间或主机支持动态脚本程序,比如PHP或者Python,因为它会将你所有的文章生成成一个静态的网站,这样只要你能找到一个互联网上能访问到的提供内容存储服务的服务商比如阿里云oss、七牛云存储、又拍云等等之类的就可以拥有一个属于自己的博客或者网站。

  2. 速度快

    速度快主要体现在两点

    1. 整站生成速度快: 之前用过mt,build文章简直是悲剧,跑几十分钟生成整站文章是很正常的事情,而使用hugo一个几百篇文章的网站生成只需要不到1秒。
    2. 网站访问速度快: 因为整站是静态的,所以不需要有动态脚本的执行,不需要访问数据库,速度基本上取决于带宽。
  3. Golang开发

    使用go开发对于用户来说能带来两个明显的好处

    1. 只需要一个文件就可以在自己的电脑上运行了,并且垮平台,不管你是Linux、osx还是Windows都可以使用。
    2. go的模板很简单,学习成本低。
  4. 各种插件

    插件挺丰富,统计可以用google analytics,评论可以用官方支持的DISQUS,不过我换成了多说,可能国内用多说的人更多一些吧。


安装Hugo到你的电脑上

我用osx,按照官方的说法你只需要执行下面的命令就好了

brew install hugo

不过我之前已经装了go的开发环境所以我用

go get github.com/spf13/hugo

安装完毕之后你可以执行hugo help可以看到命令列表

hugo help

A Fast and Flexible Static Site Generator built with
love by spf13 and friends in Go.

Complete documentation is available at http://gohugo.io

Usage: 
  hugo [flags]
  hugo [command]

Available Commands: 
  server      Hugo runs its own webserver to render the files
  version     Print the version number of Hugo
  config      Print the site configuration
  check       Check content in the source directory
  benchmark   Benchmark hugo by building a site a number of times
  new         Create new content for your site
  help        Help about any command

Flags:
  -b, --baseUrl="": hostname (and path) to the root eg. http://spf13.com/
  -D, --buildDrafts=false: include content marked as draft
  -F, --buildFuture=false: include content with datePublished in the future
  --cacheDir="": filesystem path to cache directory. Defaults: $TMPDIR/hugo_cache/
  --config="": config file (default is path/config.yaml|json|toml)
  -d, --destination="": filesystem path to write files to
  --disableRSS=false: Do not build RSS files
  --disableSitemap=false: Do not build Sitemap file
  --editor="": edit new content with this editor, if provided
  -h, --help=false: help for hugo
  --ignoreCache=false: Ignores the cache directory for reading but still writes to it
  --log=false: Enable Logging
  --logFile="": Log File path (if set, logging enabled automatically)
  --noTimes=false: Don't sync modification time of files
  --pluralizeListTitles=true: Pluralize titles in lists using inflect
  -s, --source="": filesystem path to read files relative from
  --stepAnalysis=false: display memory and timing of different steps of the program
  -t, --theme="": theme to use (located in /themes/THEMENAME/)
  --uglyUrls=false: if true, use /filename.html instead of /filename/
  -v, --verbose=false: verbose output
  --verboseLog=false: verbose logging
  -w, --watch=false: watch filesystem for changes and recreate as needed


Use "hugo help [command]" for more information about a command.

至此hugo就算安装完毕了。


至于如何更好的使用hugo我也在研究,计划会有一个系列的文章慢慢更新。

Written by Ma siqi
Older article
Hello world!