如何快速拥有自己的博客

前言

大概16年开始就想要制作一个个人博客,但囿于技术力不够、懒惰,一直迟迟没有得以施行。

时隔三年,在逛V2EX的时候得知利用生成器生成静态页面 + Github Pages 托管是一个非常棒的个人博客解决方法。

首先简单,并不需要太强的技术,不用纠结于前端样式或是后端架构设计。

其次免费!免费!免费!

最后一个很重要地方在于,所有的博客资料都会有本地备份,不会因为服务器迁移或其他原因丢失。

在调研了几个静态网站生成器以后,最终选择采用Hugo来入手。

以下内容大部分参照官方文档整理而成。

Hugo

简介

Hugo是由Go语言实现的静态网站生成器。简单、易用、高效、易扩展、快速部署。

更多资料请查看官方文档

安装

因为我是windows 10的系统,所以采用的二进制安装。

Hugo Releases 下载对应的hugo.exe文件,解压后存放到自己指定的某路径文件夹下,并将该路径添加进环境变量中。

之后可以在CMD中输入hugo version ,若能显示版本号,则表示配置正确。

至此就算安装成功了,怎么样,还算简单吧。

生成站点

使用Hugo快速生成站点,比如希望生成到 /path/to/site 路径,可以在CMD中输入:

$ hugo new site /path/to/site

这样在本地的 /path/to/site 目录里就生成了初始站点。

创建文章

创建一个about页面,可以在CMD中先切换到站点根目录,再输入:

$ hugo new about.md

这样content文件夹下就生成了对应的文件,内容是Markdown格式的,头部是YAML格式的。

Hugo的所有具体内容页都在content文件夹下,也可以在其中创建子文件夹进行归类整理。

安装皮肤

皮肤列表 挑选一个心仪的皮肤,比如你觉得 Hyde 皮肤不错,找到相关的 GitHub 地址,创建目录 themes,在 themes 目录里把皮肤 git clone 下来:

# 创建 themes 目录
$ cd themes
$ git clone https://github.com/spf13/hyde.git

本地运行

在你的站点根目录执行 Hugo 命令进行调试:

$ hugo server --theme=hyde --buildDrafts

浏览器里打开: http://localhost:1313

至此,一个简单的网站就在本地跑起来了。

Themes

关于皮肤(主题)的设置其实是比较麻烦也比较重要的一步。

具体还得参照Demo、制作者的说明文档来配置。

可以拷贝皮肤样例的config.toml文件,一项一项慢慢调试。如有必要甚至还得修改对应的html、目录结构或者静态文件。

因为不具有共通性,所以没办法展开说明。

Github Pages

首先放一个官方说明页:github pages.

需要你在自己的Github上创建一个Repository,命名就是:yourGithubName.github.io.

现在这还是一个空仓库,之后是可以通过 https://yourGithubName.github.io/来访问的。

部署

完成github pages的创建步骤后,终于可以把本地的站点部署上去啦!

在站点根目录执行 Hugo 命令生成最终页面

$ hugo --theme=hyde --baseUrl="http://yourGithubName.github.io/"

(注意,以上命令并不会生成草稿页面,如果未生成任何文章,请去掉文章头部的 draft=true 再重新生成。)

如果一切顺利,所有静态页面都会生成到 public 目录,将pubilc目录里所有文件 push 到刚创建的Repository的 master 分支。

$ cd public
$ git init
$ git remote add origin https://github.com/coderzh/coderzh.github.io.git
$ git add -A
$ git commit -m "first commit"
$ git push -u origin master

如果push不成功的可以尝试git push --force

浏览器里访问:https://yourGithubName.github.io/

胜利

似乎好像成功了!

后语

博客本来用途是拿来写文字记录一些感悟或所得,本不应该花太多精力与时间在其搭建与优化之上。

以免本末倒置,如何简单高效免费安全地拥有自己博客,便是本篇文章之由来。

在此之外,还得学习Markdown语法,用MD工具来写作,在Windows上推荐一款我正在使用的工具:Typora.

文章大多整理自Hugo的官方文档,可能有一些不清楚的地方可以加我QQ3097737027来交流,希望能够帮助到读到这篇文章的人。