Featured image of post 从solo迁移到hugo

从solo迁移到hugo

简单介绍为什么要从Solo迁移到hugo,以及迁移过程

博客迁移

最近我把我的个人博客从solo迁移到了hugo项目上了。

不是solo不够优秀而是solo不符合我的需求了,我总结了以下几点

  1. 可定制化程度太低,千篇一律,单调枯燥,乏味。
  2. 登录需要用社区账号,不确定因素太大。
  3. 经常更新导致的版本不兼容。

我也想过给自己偷个懒使用Bolo作为solo的替代品,但是还是不符合我的预期。虽然不需要社区账号登陆,但是他和solo太相似了,以至于我感觉我换了个寂寞。

1. 初识Hugo

在我有了迁移博客到其他平台的念想时我就一直在物色新的平台,然后我突然间就在GitHub上看到了hugo。

一款golang写的软件,可以直接用markdown来更新文章,而且主题贼多,数据啥的也都是放自己手里。卧槽,我不就是我想找的吗!

2. Hugo部署

其实上面扯了些没用的,到这里才是我的技术博客开始记录的地方。

2.1 下载hugo压缩包

1
wget https://github.com/gohugoio/hugo/releases/download/v0.83.1/hugo_extended_0.83.1_Linux-64bit.tar.gz -O hugo.tar.gz

首先,Github找到hugo的最新版,并且是extended版本的,否者我们后续是无法自行修改scss的,我一开始就因为这点,整整折腾了一个晚上都无法修改主题为我喜欢的样式。Google了良久才发现这个问题。

2.2 解压hugo

这一步是很容易的

1
tar -zxvf hugo.tar.gz

然后你可以把没有用的LIENCEREADME.md删除了。只留一个hugo的二进制可执行文件。

并且要把这个二进制文件放在环境变量里面。

1
2
mv hugo /usr/local/bin
#我个人是推荐放这里的,你要是喜欢放别的地方也是可以的

3. 配置hugo

这里我建议你先看看hugo的quick_start,虽然看了和没有看一样,但是这也是一种学习的过程吧。

1
hugo new site site_name

到这里你的网站就建立完成了。是不是很惊愕!你甚至连如何运行网站都不了解。

没事,咱们慢慢来!

先下载一个好看的Theme,当然不下载也可以,但是你没有主题的网站是真的丑呀。

1
2
3
4
5
6
cd site_name
wget https://github.com/CaiJimmy/hugo-theme-stack/archive/refs/tags/v2.3.0.zip -O themes/v2.3.0.zip
cd themes
unzip v2.3.0.zip
mv hugo-theme-stack-2.3.0 hugo-theme-stack
rm v2.3.0.zip

接下来就是配置文件了

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
baseurl: http://example.com
#根据你自己改

languageCode: en-us
theme: hugo-theme-stack
paginate: 20
title: Blog
#根据你自己改


# Change it to your Disqus shortname before using
#disqusShortname: hugo-theme-stack

# GA Tracking ID
#googleAnalytics:

# Theme i18n support
# Available values: en, fr, id, ja, ko, pt-br, zh-cn, es, de
DefaultContentLanguage: zh-cn

permalinks:
    post: /p/:slug/
    page: /:slug/

params:
    mainSections:
        - post
    featuredImageField: image
    rssFullContent: true
    favicon: /bk3.png
#根据你自己改

    footer:
        since: 2019
        customText:

    dateFormat:
        published: Jan 02, 2006
        lastUpdated: Jan 02, 2006 15:04 MST

    sidebar:
        emoji: 🥰
        subtitle: 人生没有白走的路,每一步都算数。
        avatar:
            local: true
            src: author.jpg
#根据你自己改

    article:
        math: true
        license:
            enabled: true
            default: Licensed under CC BY-NC-SA 4.0

    comments:
        enabled: false
        provider: disqus
#根据你自己改

        utterances:
            repo:
            issueTerm: pathname
            label:

        remark42:
            host:
            site:
            locale:

    widgets:
        enabled:
            - search
            - archives
            - tag-cloud

        archives:
            limit: 20

        tagCloud:
            limit: 30

    opengraph:
        twitter:
            # Your Twitter username
            site:

            # Available values: summary, summary_large_image
            card: summary_large_image

    defaultImage:
        opengraph:
            enabled: false
            local: false
            src:

    colorScheme:
        # Display toggle
        toggle: true

        # Available values: auto, light, dark
        default: auto

    imageProcessing:
        cover:
            enabled: true
        content:
            enabled: true

### Custom menu
### See https://docs.stack.jimmycai.com/configuration/custom-menu
### To remove about, archive and search page menu item, remove `menu` field from their FrontMatter
menu:
    main:
        - identifier: home
          name: Home
          url: /
          weight: -100
          pre: home

related:
    includeNewer: true
    threshold: 60
    toLower: false
    indices:
        - name: tags
          weight: 100

        - name: categories
          weight: 200

markup:
    highlight:
        noClasses: false
ignoreErrors: "error-remote-getjson"

然后这样还是不能运行滴!

4. 调整主题

我们可以先看看这个主题的作者给的文档

基本上就是照着来一遍

步骤很多,还很麻烦,这里我就直接写了个Dockerfile,按照README的教程来,你一定可以用docker快速搭建起一个hugo环境。

虽然主题不一定是你想要的类型,但是可以简化你用hugo搭建网站的步骤还能节省时间。如果喜欢的话,希望star、fork、watch。

5. 运行hugo

如果你是使用Dockerfile来构建镜像运行的话,你就不用看下面的教程了

如果你还是想自己动手丰衣足食的话,那你就按照我Dockerfile里面的shell一步一步来操作也是可以在你的服务器上成功运行起来基于hugo的网站的,你可以使用以下命令来运行网站,因为hugo默认只监听127.0.0.1,所以需要单独设置以下hugo监听任何网卡。

1
 hugo server -p 1313 --bind "0.0.0.0" 
Licensed under CC BY-NC-SA 4.0
Built with Hugo
Theme Stack designed by Jimmy