使用Hugo搭建GitHub个人博客
主题概况
Hugo 是一个用 Go 语言编写的静态网站生成器。类似的静态网站生成器还有Jekyll、hexo等等。以上生成器都使用过,但感觉要么环境麻烦,要么生成静态页面步骤繁琐以及生成缓慢。如果你正想在GitHub上搭建个静态的博客,搜索一大堆都是关于Jekyll和hexo的相关文章,使用Hugo的相关文章却很少,但是我认为使用Hugo方便一点。本着学习分享的原则,下面整理下如何使用Hugo。
Hugo官方主页:https://gohugo.io/
安装指南
安装Hugo
在 Hugo Releases上下载最新版的Release程序。没错,下下来就是一个二进制的程序。
配置环境
本例以Widows为例设置Hugo运行环境变量,如需更详细的Windows/macOSX的步骤说明,请移步至官网:
Installation on OS X /
Installation on Windows
在本地电脑上建立以下文件目录:(文件路径随意)
D:\GitHub\Hugo\bin\hugo.exe
D:\GitHub\Hugo\Sites
我已将下载下来的Hugo二进制程序重命名为hugo.exe并放进bin文件夹内了。
设置Windows系统环境变量,我的电脑右键-->属性-->高级系统设置-->在"高级"标签页中-->环境变量...,选中PATH变量,并编辑...,在编辑值中新添加hugo程序的路径即可,一张图说明:

运行
安装并配置Hugo环境后,打开cmd命令行,可以直接使用hugo命令了。
$ hugo version

创建本地网站
生成站点
之前创建的Sites就是用来存放创建的网站的,创建文件夹名为blog的网站:
$ hugo new site blog

创建的站点文件目录说明:
|- archetypes :存放default.md,头文件格式
|- content :content目录存放博客文章(.markdown/.md文件)
|- data :存放自定义模版,导入的toml文件(或json,yaml)
|- layouts :layouts目录存放的是网站的模板文件
|- static :static目录存放js/css/img等静态资源
|- config.toml :config.toml是网站的配置文件
当前网站是没有任何内容的,需要下载个主题跑起来才有内容。
安装主题
这里暂时不使用git命令clone下载主题,我们通过手动下载方式进行下载。
Hugo官方主题:https://themes.gohugo.io/
Hugo官方主题GitHub:https://github.com/spf13/hugoThemes/
这里选取Hyde主题为例,从gitHub下载下来,将解压出的文件放到themes文件夹下。主题存放的路径为:Sites\blog\themes\hyde,包含以下文件:
|- archetypes :存放default.md,头文件格式
|- layouts :主题模板文件
|- static :静态资源
|- theme.toml :主题配置文件
运行Hugo Server
Hugo内置http server,在你的站点根目录执行hugo server命令,即可在浏览器里输入: http://localhost:1313访问网站。
$ hugo server --theme=hyde
(注明:需要指定主题,如果在config.toml中配置指定主题可以省略--theme参数)

发表文章
可以看到现在博客里没有文章,使用hugo new命令创建文章。
$ hugo new post/test.md
可以用文本文件或markdown编辑器打开文件 post/test.md ,并增加点内容。
+++
date = "2017-02-10T15:01:33+08:00"
title = "test"
draft = false
+++
Hello Hugo!测试内容
注意:默认创建的是草稿类型,需要将draft值改为false才能看到页面。

生成静态网站
$ hugo --theme=hyde --baseUrl="https://YOURNAME.github.io/"
所有静态页面都会生成到 public 目录下,生成静态网站后并push到你的GitHub Pages上,就能得到一个在线的个人博客了。
本文对GitHub如何使用不做详细介绍。请参考GitHub Pages在线帮助文档。
首先在GitHub上创建个Repository,命名为:YOURNAME.github.io(YOURNAME替换为自己的用户名),然后用git 将刚才创建的YOURNAME.github.io项目clone下来。
将生成的 public 目录下所有文件拷贝到YOURNAME.github.io项目中,并提交版本。

OK!至此你可以打开浏览器开始访问:https://ciey.github.io/ 你的博客了。
使用Hugo搭建GitHub个人博客的更多相关文章
- 使用Hexo搭建Github静态博客
1. 环境环境 1.1 安装Git 默认配置就好 1.2 安装node.js 下载:http://nodejs.org/download/ 安装时直接保持默认配置即可. 2. 配置Github 1.1 ...
- 一站式搭建 GitHub Pages 博客 (一)
本文将详细讲解如何快速搭建 GitHub Pages 博客页面 关于博客主题,博客信息更改,上传文章等将会在 一站式搭建 GitHub Pages 博客 (二) 中进行详细讲解 准备阶段 注册 Git ...
- 使用hexo搭建github.io博客(一)
使用github.io可以搭建一个自己的博客,把静态文件项目托管到github上,可以写博客,可以使用markdown语法,也可以展示作品.灵活性高.但是有较大的难度. node,git版本变化日新月 ...
- Hexo搭建Github静态博客
1. 环境环境 1.1 安装Git 请参考[1] 1.2 安装node.js 下载:http://nodejs.org/download/ 可以下载 node-v0.10.33-x64.msi 安装时 ...
- 如何搭建github+hexo博客-转
1.前言 其实早在这之前我就一直想过写博客,但由于种种原因一直没有去学习这方面的知识,最近半个月(从开始动手到搭建好)一直陆陆续续的在着手这方面的工作.从开始到搭建完成的过程中遇到了很多困难,因为在这 ...
- Jekyll搭建github个人博客
一.安装ruby环境 Windows下载地址: http://rubyinstaller.org/ Ruby官网: http://www.ruby-lang.org/zh_cn/ 下载安装即可 环境配 ...
- 搭建 github.io 博客站点
前言 很多人都有搭建博客或知识库站点的想法,可自己买云服务器太不划算,部署管理也是个问题:基于免费又热门的 GitHub Pages 来搭建博客站点倒是省钱省力省事的好办法,于是上网一搜,满屏都是关于 ...
- 从零开始搭建GitHub个人博客--第一步
最近一段时间工作不是很忙,便开始着手整理博客并梳理自己的简历 可是,打开cnblog后第一眼我便开始了纠结~ 原起: 一直在cnblog写博客,看博客,突然发现这种在线纯文档记录的方式俨然跟不上时代的 ...
- 使用hexo搭建github个人博客网站
搭建步骤: 1>Mac或win电脑一台,本文以mac为例. 2>下载安装Git和Node 3>安装hexo 4>注册登录GitHub,创建一个仓库,库名格式为:GitHub用户 ...
随机推荐
- JAVA基础--单例模式
public class Singleton02 { // 私有的静态的类变量 private static Singleton02 instance = null; // 私有的构造方法 priva ...
- 关于div宽度和高度的100%设定
设置DIV大小的有两个属性width和height,以前在学习DIV每次给DIV设置100%宽度或高度时都很迷惑,不明白这个100%的宽度(高度)到底有多宽有多高?这个100%是从哪里得到的从哪里继承 ...
- Delphi调用Android的.so文件(转)
原地址:http://zhidao.baidu.com/link?url=fzqefMM44ljXA5BnAbkX44SapCUteyzlXFvGLKvukBivm9AB-w39P_h7eX1ty-G ...
- Druid的简介及功能
Druid首先是一个数据库连接池.Druid是目前最好的数据库连接池,在功能.性能.扩展性方面,都超过其他数据库连接池,包括DBCP.C3P0.BoneCP.Proxool.JBoss DataSou ...
- 【转】实用 .htaccess 用法大全
这里收集的是各种实用的 .htaccess 代码片段,你能想到的用法几乎全在这里. 免责声明: 虽然将这些代码片段直接拷贝到你的 .htaccess 文件里,绝大多数情况下都是好用的,但也有极个别情况 ...
- leetcode--012 single number I
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAA0MAAADGCAIAAACfN8xOAAAZ6UlEQVR4nO3dsZKcurbG8fNOnd1nIv
- SSO单点登录设计
关键字: 单点登录 SSO Session 单点登录在现在的系统架构中广泛存在,他将多个子系统的认证体系打通,实现了一个入口多处使用,而在架构单点登录时,也会遇到一些小问题,在不同的应用环境中可以采用 ...
- php中字符串长度和截取的函数
在做PHP开发的时候,由于我国的语言环境问题,所以我们常常需要对中文进行处理. 在PHP中,我们都知道有专门的mb_substr和mb_strlen函数,可以对中文进行截取和计算长度,但是,由于这些函 ...
- StackExchange.Redis 官方文档(二) Configuration
配置 有多种方式可以配置redis,StackExchange.Redis提供了一个丰富的配置模型,在执行Connect (or ConnectAsync) 时被调用: var conn = Conn ...
- radioButton添加试题选项webview(二)
由于项目里radioGroup里,4个选项里加载的是webview,而不是radiobutton本身自己可设置的text类型,并且每个webview都需要和radiobutton对齐,所以这个布局有点 ...