Back
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压缩包

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

这一步是很容易的

tar -zxvf hugo.tar.gz

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

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

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

3. 配置hugo

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

hugo new site site_name

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

没事,咱们慢慢来!

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

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

接下来就是配置文件了

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监听任何网卡。

 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