好久没写博客,本来打算写篇短的,写着写着觉得应该具体点,越写越多,干脆就写一个系列的长博文吧。
网络上用hugo搭建博客教程很多,但搜到的教程不是特别详细。一般都是直接来步骤,不讲原理。本系列教程先说明建站思路,然后一步步教大家用hugo生成静态网站,并把它发布到github上。
PS:文章不足或出错之处欢迎大家与我交流。
1、下载安装hugo,生成静态网站。
2、注册github账号,创建一个 用户名.github.io 的 Repository。
3、安装git,将本地生成的public网站文件push到github远程仓库
hugo
Hugo是一个用Go语言编写的静态网站生成器。Hugo可以将你写好的MarkDown格式的文章自动转换为静态的网页。
相比其他静态网站生成器,hugo有以下优点:
github与git
首先说明git与gitub是两个不同的概念。
Git是目前世界上最先进的分布式版本控制系统,它可以记录文件每次的改动,方便的进行版本管理,修改,回退。还可以方便的进行多人协作,双方每次提交只要查看对方的修改即可,由于是分布式,每个人电脑上都有一个完整的版本,所以有很强的安全性。还有强大的分支管理。
比如你有一个文件,某次复杂的改动以后,你后悔了,想要变回去,可是改了很多处,你自己也忘记了。通过git,你可以直接查看本次提交所修改的地方,也可以直接回退到上一个版本。如果两个人一起改,通过他提交的版本,你就能直接知道他修改了哪些地方,不必浏览全部文件,一处处查找。
长话短说,总之git很方便,很强大,我们开始说github。
虽然git是分布式,但是也要有一台电脑充当服务器的角色,以便其他人随时都能克隆仓库到自己的电脑上,但是自己搭服务器又不现实。github就是提供Git仓库托管服务的,注册一个GitHub账号,就可以免费获得Git远程仓库。
github-pages
只有先了解github和git,我们才能请出github-pages。
github-pages分为项目主页和个人主页。
为了方便小白查看项目源码,github设计了Pages功能,允许用户自定义项目首页,用来替代默认的源码列表。所以,github Pages可以被认为是用户编写的、托管在github上的静态网页。 gh-pages分支有许多模板可供选择,而且网页文件必须在gh-pages分支上。
每个github帐号只能有一个仓库来存放个人主页,而且仓库的名字必须是username/username.github.io。然后就可以通过http://username.github.io 来访问你的个人主页,不过刚建好的显示404页面,因为仓库里还没有任何东西。需要注意的是,个人主页的网站内容都在master分支上,与项目主页不同。
我之前的教程里讲过建站三要素:程序,域名,空间。
github为我们提供了一个无限流量的免费的空间,而且给了这个仓库一个域名(当然想用自己购买域名的也可以修改,后面教程会讲到)
所以我们可以利用hugo来生成网站页面,通过git上传到github。
优点
缺点
总的来说,对于博客这种以写文章为主的中小型网站,用这种方法建站时很好的选择。
注意:
本文以在windows下为例,其他平台的可以看官方文档查看对应的命令。
本教程中建站和关联github等,使用的用户名均为zwenjiao,请自行替换为自己的github用户名,否则git关联到的是我的仓库,但是你push不上去,因为你没有我的ssh秘钥。
本教程以github个人主页为例。