一直都想有一个博客,一是自己做一些记录防止以后遗忘,二是和大家做一下分享交流。博客终于建好了,那除了第一篇Hello World,这一篇我就写一下博客搭建的过程。

我还是很菜,好多东西都没有弄明白,只有以后慢慢摸索补充了。

这次打算使用的工具有:

  • Hugo

    Hugo是一款开源使用Go语言写的静态网站生成器,适合数据量不大的个人博客使用。一开始我是了解的Jekyll,因为它被GitHub Pages原生支持,它的书写语言是Ruby,在后面的搭建中,我发现Jekyll的依赖环境比较难以搭建。我又开始比较Hugo、Jekyll、Hexo,最后我选择了不需要搭建并且建站速度非常快的Hugo。

  • GitHub Pages

    GitHub Pages是GitHub提供的一个网页寄存服务,于2008年推出。可以用于存放静态网页,包括博客、项目文档甚至整本书。

  • Git

    Git是由Linux之父Linus Torvalds创作的一个分布式版本控制软件。

  • Typora

    Typora 是一款支持实时预览的Markdown 文本编辑器。

一、网站搭建

  • 安装Git并配置好GitHub

    按照GitHub Pages的规则,在GitHub中创建一个username.github.io的仓库,建成后这个仓库名就是你的 GitHub Pages域名,可以直接访问。

    接下来我们配置Git,首先在本地创建ssh key

    1
    
    $ ssh-keygen -t rsa -C "your_email@youremail.com"
    

    回车确认之后会要求确认路径和输入密码,这里我们使用默认的一路回车就行。成功之后按照显示的路径,找到并打开id_rsa.pub,复制里面的key。

    回到GitHub上,进入Account Settings(账户配置),左侧栏选择SSH Keys,点击Add SSH Key,名称任意输入,粘贴你在电脑上生成的Key。

    为了验证是否成功,输入以下命令:

    1
    
    $ ssh -T git@github.com
    

    如果是第一次会提示是否continue,输入yes就会看到:You’ve successfully authenticated,but GitHub does not provide shell access. 这就表示已经成功连上GitHub。

    接下来,我们要做到就是把本地仓库传到GitHub上去,在此之前还需要设置username和email,因为GitHub每次commit都会记录它们。

    1
    2
    
    $ git config --global user.name "your name"
    $ git config --global user.email "you_email@youremail.com"
    

    到了这里GitHub的账户就配置好了。

  • 安装Hugo

    使用Go语言开发编译后的二进制文件并不需要任何依赖,直接在官网上下载,把下载好的程序解压到C:\Hugo\bin,在系统信息里找到高级系统设置—>高级—>环境变量,在用户变量中的PATH上双击,把Hugo的目录添加上并保存,这样Hugo就安装完 成了。

  • 建站

    建立一个名称是example的博客

    1
    
    $ hugo new site example
    

    此时会在当前工作目录生成一个example文件夹

  • 安装主题并生成本地网站

    对于我这种新手来说,选择一个好的主题是比较重要的一步。对我来说一个符合自己的主题要有一下几点:

    • 主题要符合自己的审美
    • 主题功能要完善,配置项目要丰富
    • 主题要能持续更新并且bug较少
    • 主题要有完善的文档

    这里我选择的是MemE,主题比较简洁,并且支持暗黑模式。开发者reuixiy的博客也经常更新。

    1. 安装主题
    1
    2
    
    $ git init
    $ git submodule add --depth 1 https://github.com/reuixiy/hugo-theme-meme.git themes/meme
    

    在主题文件夹中找到\config-examples\en\config.toml文件复制替换网站根目录中的配置文件,复制主题文件夹中\exampleSite\resources文件夹到网站根目录。

    如果下载主题失败,我们也可以直接下载该主题的zip打包文件,并解压到themes目录。

    1. 发布文章
    1
    2
    
    $ hugo new posts/new-post.md
    $ hugo new about/_index.md
    

    第二步是创建About页面的文章。

    创建好文章好,我是用Typora来编辑的。

  • 预览网站

    1
    
    $ hugo server -D
    

    这样我们就可以在浏览器中预览网站的效果,默认是http://localhost:1313/,后面的-D参数为的是预览草稿文章。

二、网站发布

  • 编译网站

    1
    
    $ hugo
    

    Hugo将编译所有文件并输出到public目录。

  • 推送网站

    1
    2
    3
    4
    5
    6
    
    $ cd public
    $ git init #如果在安装主题时初始化过仓库,就不需要这一步
    $ git remote add origin https://github.com/username/username.github.io.git
    $ git add -A
    $ git commit -m "first commit"
    $ git push -u origin master
    

    推送成功后稍等片刻,我们就可以打开username.github.io来观看实际的效果了。

    如果自己有域名的话,可以在DNS设置CNAME记录到username.github.io,然后在仓库的CNAME处设置好域名就可以用自己的域名访问博客了。

  • 更新文章

    1
    2
    3
    4
    5
    
    $ cd public
    $ git add .
    $ git status
    $ git commit -m "add blog post"
    $ git push
    

参考

  1. Typora完全使用详解
  2. 使用Hugo生成静态博客教程