Hugo 官方主页:https://gohugo.io

待选主题:

https://github.com/cdipaolo/gindoro

https://github.com/oserz/hugo-oser

hugo 是基于 Go 语言的静态网站生成器。有两种方式发布生成的静态网站文件:

  • 放到自己的服务器上提供服务:需要自己购买服务器
  • 把网站托管到 GitHub Pages:需要将静态页面文件 push 到 GitHub 的博客项目的 gh-pages 分支并确保根目录下有 index.html 文件。

安装

从 hugo 的 GitHub 仓库 下载安装包,使用即可。我使用的是 hugo_0.40.3_Windows-64bit.zip 这个版本。下载解压后添加到 Windows 的系统环境变量的 PATH 中即可,不需安装。

使用

初始化项目

我的域名是 kikakika.com,所以项目直接使用这个名字:

C:\Users\kika>hugo new site kikakika
Congratulations! Your new Hugo site is created in C:\Users\kika\kikakika. Just a few more steps and you're ready to go: 1. Download a theme into the same-named folder.
Choose a theme from https://themes.gohugo.io/, or
create your own with the "hugo new theme <THEMENAME>" command.
2. Perhaps you want to add some content. You can add single files
with "hugo new <SECTIONNAME>\<FILENAME>.<FORMAT>".
3. Start the built-in live server via "hugo server". Visit https://gohugo.io/ for quickstart guide and full documentation.

根据提示信息,分别下载主题、添加内容后,就可以在本机启动 hugo 自带的服务器调试博客。

命令执行后创建项目目录,其中的目录结构为:

├─archetypes
├─content
├─data
├─layouts
├─static
├─themes
└─config.toml

config.toml 是网站的配置文件,hugo 同时还支持 YAML 格式的 config.yaml 或 JSON 格式的 config.json。content 目录放 markdown 文章,data 目录放数据,layouts 目录放网站模板文件,static 目录放图片、css、js 等静态资源,themes 命令放下载的主题。

下载主题

hugo 默认不带主题,但是没有主题的话又无法工作。所以,请在 主题网站 选择你看中的主题后,点击下载链接从 GitHub 下载到 themes 目录中。

C:\Users\kika\kikakika>cd themes

C:\Users\kika\kikakika>git clone https://github.com/Xzya/hugo-bootstrap.git
Cloning into 'hugo-bootstrap'...
remote: Counting objects: 151, done.
remote: Compressing objects: 100% (8/8), done.
remote: Total 151 (delta 3), reused 8 (delta 3), pack-reused 140
Receiving objects: 100% (151/151), 396.17 KiB | 222.00 KiB/s, done.
Resolving deltas: 100% (57/57), done.
Checking connectivity... done.

检查 themes 目录下是否成功下载主题:

C:\Users\kika\kikakika\themes>tree
文件夹 PATH 列表
卷序列号为 00000049 30BD:DD70
C:.
└─hugo-bootstrap
├─exampleSite
│ ├─content
│ │ └─post
│ └─layouts
│ └─partials
├─i18n
├─images
├─layouts
│ ├─partials
│ └─_default
└─static
└─css

添加内容

在项目目录中执行 hugo new XX.md 命令,会在 content 目录中创建这个 XX.md 文件。

hugo new about.md

这个文件的默认内容如下:

---
title: "About"
date: 2018-05-22T22:04:26+08:00
draft: true
---

文件默认内容在,draft 表示是否是草稿,编辑完成后请将其改为 false,否则编译会跳过草稿文件。具体的博客内容在下面写:

---
title: "About"
date: 2018-05-22T22:04:26+08:00
draft: false
--- 大家好,我是渣渣辉。
# 简介
- 出生地:香港
- 性别:男
- 年龄:38 # 演员经历
1. 是兄弟就来啃我
1. 是兄弟就来啃我啊
1. 是兄弟就来啃我啊哈哈

对于博客文件,通常放在 content/post 目录中:

hugo new post/my-first-blog.md

启动 hugo 自带的服务器

在项目根目录下,通过 hugo server 命令可以使用 hugo 内置服务器调试预览博客。--theme 选项可以指定主题,--watch 选项可以在修改文件后自动刷新浏览器,--buildDrafts 包括标记为草稿(draft)的内容。

C:\Users\kika\kikakika>hugo server --theme=hugo-bootstrap --buildDrafts --watch
[K25lBuilding sites … [?25h
| EN
+------------------+----+
Pages | 8
Paginator pages | 0
Non-page files | 0
Static files | 1
Processed images | 0
Aliases | 3
Sitemaps | 1
Cleaned | 0 Total in 175 ms
Watching for changes in C:\Users\kika\kikakika\{content,data,layouts,static,themes}
Watching for config changes in C:\Users\kika\kikakika\config.toml
Serving pages from memory
Running in Fast Render Mode. For full rebuilds on change: hugo server --disableFastRender
Web Server is available at http://localhost:1313/ (bind address 127.0.0.1)
Press Ctrl+C to stop

首页:



About 页面:

编译静态网站

Hugo 在构建之前不会移除生成的文件。一个简单的解决方法是对开发环境和生产环境使用不同的目录。

可以指定单独的目录(例如 dev/)来启动构建草稿内容的服务器(有助于编辑):

hugo server -wDs ~/Code/hugo/docs -d dev

内容完成后,可以使用默认的 public/ 目录。此时会忽略所有标记为 draft: false 的文件:

hugo -s ~/Code/hugo/docs

最终我们需要的是静态的 HTML 文件。--theme 选项指定主题,--baseUrl 指定了项目的网站。最终静态文件生成在 public 目录中:

C:\Users\kika\kikakika>hugo --theme=hugo-bootstrap --baseUrl="https://blog.kikakika.com"
[K25lBuilding sites … [?25h
| EN
+------------------+----+
Pages | 7
Paginator pages | 0
Non-page files | 0
Static files | 1
Processed images | 0
Aliases | 3
Sitemaps | 1
Cleaned | 0 Total in 114 ms C:\Users\kika\kikakika>dir public
2018/05/22 22:38 <DIR> .
2018/05/22 22:38 <DIR> ..
2018/05/22 22:38 3,336 404.html
2018/05/22 22:38 <DIR> categories
2018/05/22 22:15 <DIR> css
2018/05/22 22:38 3,375 index.html
2018/05/22 22:38 480 index.xml
2018/05/22 22:38 <DIR> page
2018/05/22 22:38 455 sitemap.xml
2018/05/22 22:38 <DIR> tags
4 个文件 7,646 字节
6 个目录 20,104,409,088 可用字节

常见问题

Unable to locate Config file

启动 hugo 内置服务器时,会在当前目录执行的目录中寻找项目的配置文件。所以,需要在项目根目录中执行这个命令,否则报错如下:

C:\Users\kika\kikakika\themes>hugo server --theme=hugo-bootstrap --buildDrafts --watch
Error: Unable to locate Config file. Perhaps you need to create a new site.
Run `hugo help new` for details. (Config File "config" Not Found in "[C:\\Users\\kika\\kikakika\\themes]")

Unable to find theme Directory

hugo 默认在项目中的 themes 目录中寻找指定的主题。所有下载的主题都要放在这个目录中才能使用,否则报错如下:

C:\Users\kika\kikakika>hugo server --theme=hugo-bootstrap --buildDrafts --watch
Error: Unable to find theme Directory: C:\Users\kika\kikakika\themes\hugo-bootstrap

生成的网站没有文章

生成静态网站时,hugo 会忽略所有通过 draft: true 标记为草稿的文件。必须改为 draft: false 才会编译进 HTML 文件。

Hugo - 安装、设置及使用的更多相关文章

  1. hive安装--设置mysql为远端metastore

    作业任务:安装Hive,有条件的同学可考虑用mysql作为元数据库安装(有一定难度,可以获得老师极度赞赏),安装完成后做简单SQL操作测试.将安装过程和最后测试成功的界面抓图提交 . 已有的当前虚拟机 ...

  2. Fiddler的安装设置

    一.安装设置Fiddler2  下载完成后安装,安装完成后打开 如下图设置Fiddler 代理: 二.设置手机代理 快捷键win+r打开运行窗口à输入:cmdà确定 在界面上输入:ipconfig,查 ...

  3. PyCharm 2017 官网 下载 安装 设置 配置 (主题 字体 字号) 使用 入门 教程

    一.安装 Python 3.6 首先,要安装好 Python 3.6.如果你还没有安装,可以参考咪博士之前的教程 Python 3.6.3 官网 下载 安装 测试 入门教程 (windows) 二.官 ...

  4. Ubuntu 18.04 Numix主题安装设置

    Ubuntu 18.04 Numix主题安装设置 一.首先安装Numix主题 展现效果如下图 1.安装numix sudo add-apt-repository ppa:numix/ppa 2.安装主 ...

  5. [0412]SQL Server 2008 R2 安装 & 设置

    SQL Server 2008 R2 安装 & 设置 Sql Server 安装 安装环境: Windows 10 1709 64位 安装文件: Sql Server 2008 R2 Sql ...

  6. ActiveReports 报表控件V12新特性 -- 可定制的安装设置

    ActiveReports是一款专注于 .NET 平台的报表控件,全面满足 HTML5 / WinForms / ASP.NET / ASP.NET MVC / WPF 等平台下报表设计和开发工作需求 ...

  7. Jenkins Maven安装设置

    Jenkins Maven安装设置 如果没有学习过 Maven 的朋友,可以先了解 Maven教程,然后再进一步学习本教程文章. 第1步:下载和设置Maven Maven的官方网站就是Apache M ...

  8. MinGW安装设置

    From:http://www.cnblogs.com/killerlegend/p/3746504.html Author:KillerLegend Date:2014.5.22 不得不吐槽一下学校 ...

  9. Jenkins Git安装设置

    Jenkins Git安装设置 在此安装中,必须确保Internet连接可连接其安装 Jenkins 机器.在 Jenkins 仪表盘(主屏幕)的左侧单击 Manage Jenkins 选项.打开网址 ...

  10. Jenkins Tomcat安装设置

    Jenkins Tomcat安装设置 以下为必须满足Jenkins Tomcat设置的先决条件. 第1步:验证安装Java 要验证Java安装,打开控制台并执行以下Java命令. OS 任务 命令 W ...

随机推荐

  1. HardFault_Handler

    STM32程序一运行就进入HardFault_Handler,原因很可能是堆栈溢出 ]={}; // 我把程序中上面这句注释了就没事了 :进入HardFault_Handler也可能是数组越界引起的: ...

  2. Spring MVC-学习笔记(2)DispatcherServlet、@Controller、@RequestMapping、处理方法参数类型、可返回类型、Model、ModelMap、ModelAndView

    1.前端控制器org.springframework.web.servlet.DispatcherServlet 所有的请求驱动都围绕这个DispatcherServlet来分派请求.springMV ...

  3. Notepad++-第一篇命令行语句执行之编译、运行Java

    1.让Notepad++编译和运行Java,在电脑上要已经配置好了Java的开发环境 2.在Notepad++上面的选项栏中找到 Plugins--->Plugin Admin 3.在Avail ...

  4. Yarn 工作机制

    1.工作机制详述 (1)MR程序提交到客户端所在的节点. (2)YarnRunner向ResourceManager申请一个Application. (3)RM将该应用程序的资源路径返回给YarnRu ...

  5. 【题解】Cow Relays

    题目大意   求在一张有\(m\)条边无向连通图中,点\(s\)到点\(t\)的经过\(k\)条边的最短路(\(1 \leq m \leq 100\),\(1 \leq k \leq 10^6\)). ...

  6. sqlserver sp_who2和inputbuffer的使用,连接数

    一.sp_who2的使用 1.存储过程的位置 sp_who官方解释地址:https://docs.microsoft.com/zh-cn/sql/relational-databases/system ...

  7. JavaScript ES6 Promise对象

    说明 Node.js中,以异步(Async)回调著称,使用了异步,提高了程序的执行效率,但是,代码可读性较差的. 假如有几个异步操作,后一个操作需要前一个操作的执行完毕之后返回的数据才能执行下去,如果 ...

  8. centos7操作防火墙

    1.firewalld的基本使用 启动: systemctl start firewalld 关闭: systemctl stop firewalld 查看状态: systemctl status f ...

  9. 牛客CSP-S提高模拟4 赛后总结

    前言 其实前面已经打了 3 场牛客 3 场计蒜客的比赛,都没有写总结,今天先提一下以前的情况 计蒜客 1 :0+0+0 = 0 (心态崩了,写挂了) 牛客 1: 0+0+0 = 0 (T1博弈论,T2 ...

  10. sonar-runner命令模式运行sonar

    适用环境:该种配置的模式适用于本地调试模式 前提条件:在工程路径下创建sonar-project.properties文件 该客户端的路径在系统配置文件中进行了定义 alias sonar-runne ...