Hugo - 安装、设置及使用
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 - 安装、设置及使用的更多相关文章
- hive安装--设置mysql为远端metastore
作业任务:安装Hive,有条件的同学可考虑用mysql作为元数据库安装(有一定难度,可以获得老师极度赞赏),安装完成后做简单SQL操作测试.将安装过程和最后测试成功的界面抓图提交 . 已有的当前虚拟机 ...
- Fiddler的安装设置
一.安装设置Fiddler2 下载完成后安装,安装完成后打开 如下图设置Fiddler 代理: 二.设置手机代理 快捷键win+r打开运行窗口à输入:cmdà确定 在界面上输入:ipconfig,查 ...
- PyCharm 2017 官网 下载 安装 设置 配置 (主题 字体 字号) 使用 入门 教程
一.安装 Python 3.6 首先,要安装好 Python 3.6.如果你还没有安装,可以参考咪博士之前的教程 Python 3.6.3 官网 下载 安装 测试 入门教程 (windows) 二.官 ...
- Ubuntu 18.04 Numix主题安装设置
Ubuntu 18.04 Numix主题安装设置 一.首先安装Numix主题 展现效果如下图 1.安装numix sudo add-apt-repository ppa:numix/ppa 2.安装主 ...
- [0412]SQL Server 2008 R2 安装 & 设置
SQL Server 2008 R2 安装 & 设置 Sql Server 安装 安装环境: Windows 10 1709 64位 安装文件: Sql Server 2008 R2 Sql ...
- ActiveReports 报表控件V12新特性 -- 可定制的安装设置
ActiveReports是一款专注于 .NET 平台的报表控件,全面满足 HTML5 / WinForms / ASP.NET / ASP.NET MVC / WPF 等平台下报表设计和开发工作需求 ...
- Jenkins Maven安装设置
Jenkins Maven安装设置 如果没有学习过 Maven 的朋友,可以先了解 Maven教程,然后再进一步学习本教程文章. 第1步:下载和设置Maven Maven的官方网站就是Apache M ...
- MinGW安装设置
From:http://www.cnblogs.com/killerlegend/p/3746504.html Author:KillerLegend Date:2014.5.22 不得不吐槽一下学校 ...
- Jenkins Git安装设置
Jenkins Git安装设置 在此安装中,必须确保Internet连接可连接其安装 Jenkins 机器.在 Jenkins 仪表盘(主屏幕)的左侧单击 Manage Jenkins 选项.打开网址 ...
- Jenkins Tomcat安装设置
Jenkins Tomcat安装设置 以下为必须满足Jenkins Tomcat设置的先决条件. 第1步:验证安装Java 要验证Java安装,打开控制台并执行以下Java命令. OS 任务 命令 W ...
随机推荐
- Spring IoC,IoC原理
一.IoC概念及原理 IOC的别名:依赖注入(DI) 2004年,Martin Fowler探讨了同一个问题,既然IOC是控制反转,那么到底是“哪些方面的控制被反转了呢?”,经过详细地分析和论证后,他 ...
- [BZOJ4182]Shopping (点分治+树上多重背包+单调队列优化)
[BZOJ4182]Shopping (点分治+树上多重背包+单调队列优化) 题面 马上就是小苗的生日了,为了给小苗准备礼物,小葱兴冲冲地来到了商店街.商店街有n个商店,并且它们之间的道路构成了一颗树 ...
- vue 弹框产生的滚动穿透问题
首先定义一个全局样式: .noscroll{ position: fixed; left: 0; top: 0; width: 100%; } 创建一个dom.js文件,定义几个方法: export ...
- python字符串的运算有哪些
python字符串的运算有哪些 1,链接符号 + 2,判断字符串是否在某个字符串中 ‘s’ in ‘this’ 返回bool 3,字符串索引 a="this a my" a[0], ...
- P2517 [HAOI2010]订货(dp)
P2517 [HAOI2010]订货 设$f[i][j]$表示第$i$个月,库存为$j$的最小代价 枚举上个月的库存$k$,那么$f[i][j]=f[i-1][k]+(j+U[i]-k)*D[i]+j ...
- IOC依赖注入的原理
一.什么是IOC 维基百科上说到:2004年Martin Fowler 提出了“控制反转的”概念,他得出的结论是:依赖对象的获得被反转了.后来为这个创造了一个更好的名字:依赖注入(IOC = Inve ...
- 从后台看python--为什么说python是慢的
python越来越作为一种科学技术研究的语言越来越流行,可是我们经常听到一个问题,python是慢的.那么我们从后台分析一下,为什么python是慢的. python是一种动态类型,解释型语言,它的值 ...
- vue防抖节流函数---组件封装,防止按钮多次点击
1.vue 封装utils.js /** * @param {function} func 执行函数 * @param {number} time 防抖节流时间 * @param {boolean} ...
- Nginx处理前端跨域(补充)
在之前的博客中提到了用nginx来处理前后端跨域问题,用Nginx代理请求,处理前后端跨域 ,虽然解决当时了问题,但是在实际使用中还是不好用,当时应对的只是对单接口的处理,如果一个页面需要调用两个不同 ...
- iOS 证书(.p12)和描述文件(.mobileprovision)的导出和使用方法
为什么要导出.p12文件 当我们用大于三个mac设备开发应用时,想要申请新的证书,如果在我们的证书里,包含了3个发布证书,2个开发证书,可以发现再也申请不了开发证书和发布证书了(一般在我们的证书界面中 ...