image.png

使用hugo搭建自己的博客,经验分享
网站地址:http://www.chenshiyu.com.cn/

需求

搭建博客最好了解清楚自己想要的类型,是静态的?动态的(可以在上面写文章并可点击发布)?样式简约?复杂?
我的需求很简单:

  1. 好看、精简;
  2. 可以展示自己的文章;
  3. 不需要博客提供动态的写文章、发布功能;
  4. 不需要像简书、博客园等那些复杂的交互功能。

    方案

  5. ~~自己实现 ~~(等我更了解这方面需求后可以考虑自己做一个)

  6. 找现有的解决方案

林子大,什么鸟都会找到 —— 最后我选择使用hugo,理由如下:

  1. 开源(免费);
  2. 可以用它快速搭建一个静态博客站点;
  3. 支持发布自己的文章(使用规定的格式创建md文件即可);
  4. 有很多好看的主题选择,很好进行主题切换。

hugo官网链接

实现

hugo 官网已经提供可很清楚地步骤来帮助大家了,我根据步骤来说明一些注意事项,尽可能帮助大家少踩一点坑。hugo 快速搭建自己的博客步骤 - 官网链接

下载hugo

个人认为第一步有时候真的搞人。
吐槽一下,由于hugo需要用命令行下载,我就用windows折腾powershell,跟着官网又是更新又是重启,弄了半天,还是一塌糊涂,可能高版本的windows10会好点吧,最后一气之下我就直接用Ubuntu了,Ubuntu他是不香吗!用命令行用个鬼的windows!

特别提示:由于我喜欢的主题需要支持扩展版,所以我下载的扩展版本的hugo。
**

  1. snap install hugo --channel=extended

其他版本的下载请看官网:各种版本下载hugo - 链接

使用hugo创建一个站点/博客

  1. // 由于我用snap下载的hugo,所以我使用了snap run hugo 来运行hugo
  2. snap run hugo new site my-blog

选择一个主题

选择主题的时候也要去他们的github看看是否有theme.toml文件,否则会被挂羊头卖狗肉的人欺骗!!!折磨了我好久!!

  1. // 进入我的博客根目录
  2. cd my-blog
  3. // 初始化一个本地仓库
  4. git init
  5. // 给博客创建子模块themes
  6. // 本质是将LoveIt主题的代码下载到 博客根目录/themes/LoveIt文件夹内
  7. git submodule add https://github.com/dillonzq/LoveIt.git themes/LoveIt
  8. // 在配置文件config.toml加入主题配置信息'theme = "LoveIt"'
  9. echo 'theme = "LoveIt"' >> config.toml

添加一篇文章

  1. // 往post目录内加入my-first-post.md文档(会生成hugo需要的内容格式)
  2. snap run hugo new posts/my-first-post.md

启动hugo服务,查看自己的博客

  1. // development模式启动hugo
  2. snap run hugo server -D

默认通过1313端口启动,打开浏览器在地址栏输入 http://localhost:1313/可以查看自己的博客主页面。

提示:

  1. 也可以通过自定义的接口访问

    1. snap run hugo server -p 8080
  2. 希望其他人也可以通过ip访问我的主页(development模式)

    1. // "http://ip:1313" 是由于其他人访问的时候,静态资源默认是localhost,
    2. // 所以需要指向自己ip地址和默认端口
    3. snap run hugo server --bind "0.0.0.0" -b "http://ip:1313"
  3. 综合上面三者

    1. snap run hugo server -b "http://59.110.70.85:8080" -p 8080 --bind "0.0.0.0"

更多hugo命令请查看官网:链接

自定义主题

每一个主题都会有自己的扩展的配置文件,我们根据他的readme说明去操作即可。比如说我选择的这一款,他会在他的example页面进行详细的说明:链接

打包自己的博客

博客最终的意义还是希望发布到网络上供人“瞻仰”,静态服务器我最期待的就是使用nginx,简单、高效、持久、稳定。

  1. 将博客打包到默认的public路径
  1. // 默认的打包文件在public内
  2. snap run hugo -D
  1. 使用nginx作为web服务器

由于是一个新的话题,并且文章已经够长了,所以接下来的内容请到我的下一篇文章观看:
从零使用nginx搭建静态web服务器-链接


结尾:
这是我找到的一篇用hugo+github搭建博客的比较好的文章,也分享给大家:hugo+github博客搭建教程