本教程在windows10平台上制作完成,适合windows平台,其他平台大差不差。

为了确保你能一遍成功,请先完全按照本教程来,各种名称、内容,也请无脑按照本教程来,熟悉了以后再改为你自己的。

准备工作

要白嫖,先做好准备工作,准备工作在闲暇时或上班摸鱼时就可以做了。

相关平台账号

1、github账号 2、cloudflare账号

上面两个账号如果还没有,就注册一个,有个邮箱就可以注册,没有任何门槛。 官网如下:

https://github.com

https://www.cloudflare.com/

相关软件

需要下载hugo和主题,网速有差异,可以提前下载好。

1、hugo

为了顺利的搭建完成,建议都使用和本文一致的版本,等熟了以后可以自己再换其他版本。

下载这个版本:

https://github.com/gohugoio/hugo/releases/download/v0.108.0/hugo_extended_0.108.0_windows-amd64.zip

2、hugo主题

这里选用了一个当前比较流行的主题,自适应各种设备,电脑手机都可以很好的适配,提前下载好:

https://github.com/CaiJimmy/hugo-theme-stack/archive/refs/tags/v3.22.0.zip

3、github客户端

这个是可选项,如果你很熟悉github并且已经有了自己的git工具,可以跳过。 这里推荐使用github官方的客户端: https://desktop.github.com/

本教程的分两个大步骤,先在本地搭建,再发布到我们白嫖的平台。

以后日常发blog,在本地用markdown写好,再提交一下就可以自动发布了。

准备工作完成,就可以愉快的开始搭建自己的blog了,现在开始计时,按照本教程操作,用时不到20分钟,既可完成blog到公网的发布。

本地搭建

先在本地搭建好,随时可以看到效果。

安装配置hugo

解压安装

实际上这里不用安装,前面下载好的hugo解压即可使用,解压后把文件夹名改为"hugo",放到D盘。

文件夹其他名称或放到其他位置也可以,先按照这个来,熟了以后再改吧。

如图:

配置环境变量

如果你对配置环境变量很熟,下面的详细小步骤对你就没有什么价值,这个环节把D:\hugo\加到环境变量path里,就可以进行下一环节了。 如果你不太熟悉怎么配置环境变量,按照下面操作即可。

我这截图的系统是英文的,如果你是中文系统,按照对应的中文来就行。

1、在“我的电脑”上右键,打开“属性”

2、在最右侧找到“高级系统设置”,打开

3、在弹出的窗口右下角打开“环境变量”

4、在弹出的窗口上半部分“用户变量”里找到“path”,选中,点“编辑”

5、在弹出的窗口点“新建”,把D:\hugo加进去

然后一路点“确定”就可以了。

至此,hugo安装配置完毕。

创建blog

打开Windows PowerShell,如果不常用,在windows系统的搜索框里搜一下就行:

如果系统里没有Windows PowerShell,用命令行窗口也可以:

在命令行里进入到D:\hugo

注意如果使用命令行窗口,需要按照下面操作:

输入创建blog的命令

1
hugo new site blog

执行后结果如下:

这时D:\hugo下会出现一个新的文件夹blog:

至此,blog创建完成

下面开始为你的blog设置主题。

为blog设置主题

配置主题

把前面下载好的主题解压缩,解压后得到一个文件夹hugo-theme-stack-3.22.0,把这个文件夹名字改为hugo-theme-stack

hugo-theme-stack整个目录复制到D:\hugo\blog\themes目录下,如图:

进入hugo-theme-stack目录在进入到子目录exampleSite,找到config.yaml,如图:

config.yaml复制到D:\hugo\blog目录下,如图:

这时你会看到D:\hugo\blog目录下还有一个config.toml,把它删掉。

设置主题参数

先不用在意这些参数的意义,按照下面的步骤进行修改,等运行起来以后再对照页面看这些参数会更好,后面我对这些参数进行说明。

设置基本参数

打开D:\hugo\blog目录下的config.yaml,前14行是酱式的:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
baseurl: https://example.com
languageCode: en-us
theme: hugo-theme-stack
paginate: 3
title: Example Site
copyright: Example Person

# Theme i18n support

# Available values: ar, bn, ca, de, el, en, es, fr, hu, id, it, ja, ko, nl, pt-br, th, uk, zh-cn, zh-hk, zh-tw

DefaultContentLanguage: en

# Set hasCJKLanguage to true if DefaultContentLanguage is in [zh-cn ja ko]

# This will make .Summary and .WordCount behave correctly for CJK languages.

hasCJKLanguage: false

把它改成酱式的:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
baseurl: "/"
languageCode: zh-cn
theme: hugo-theme-stack
paginate: 3		 
title: 我的blog
copyright: 宇宙探索

# Theme i18n support
# Available values: ar, bn, ca, de, el, en, es, fr, hu, id, it, ja, ko, nl, pt-br, th, uk, zh-cn, zh-hk, zh-tw
DefaultContentLanguage: zh-cn

# Set hasCJKLanguage to true if DefaultContentLanguage is in [zh-cn ja ko]
# This will make .Summary and .WordCount behave correctly for CJK languages.
hasCJKLanguage: true

直接把上面这些拷过去覆盖原来的就行。

设置语言

第16行到35行原来是酱式的:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
languages:
    en:
        languageName: English
        title: Example Site
        weight: 1
        params:
            description: Example description
    zh-cn:
        languageName: 中文
        title: 演示站点
        weight: 2
        params:
            description: 演示说明
    ar:
        languageName: عربي
        languagedirection: rtl
        title: موقع تجريبي
        weight: 3
        params:
            description: وصف تجريبي

改成酱式的:

1
2
3
4
5
6
7
languages:
    zh-cn:
        languageName: 中文
        title: 我的blog
        weight: 2
        params:
            description: 这是一个属于我自己的平台

直接把上面这些拷过去覆盖就行,这样就只保留了中文。

设置头像和简介

完成上面的操作后,再到51行,原来是酱式的:

1
2
3
4
5
6
7
    sidebar:
        emoji: 🍥
        subtitle: Lorem ipsum dolor sit amet, consectetur adipiscing elit.
        avatar:
            enabled: true
            local: true
            src: img/avatar.png

改成酱式的:

1
2
3
4
5
6
7
    sidebar:
        emoji: ♾️
        subtitle: 人生很广阔,内容不垂直。
        avatar:
            enabled: true
            local: false
            src: /img/avatar.png

直接把上面这些拷过去覆盖就行。

同时,你需要到 D:\hugo\blog\static目录下,新建一个文件夹img,然后找一个头像命名为avatar.png,放到这个文件夹里,如图:

如果你手头一时没有头像图,可以先把我这个下载下来临时一用。

关闭评论

我们先把评论关掉,完成上面操作后,到68行,原来是酱式的:

1
2
3
    comments:
        enabled: true
        provider: disqus

改成酱式的:

1
2
3
    comments:
        enabled: false
        provider: disqus

就是把enabled后面的true改为false。

设置菜单

完成上面的操作后,再到190行,原来是酱式的:

1
    main: []

改成酱式的:

 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
    main: 
        - identifier: home
          name: 博客
          url: /
          weight: -100
          params:
              icon: home
              newTab: true

        - identifier: categories
          name: 分类
          url: /categories/
          weight: -90
          params:
              icon: categories
              newTab: true

        - identifier: tags
          name: 标签
          url: /tags/
          weight: -80
          params:
              icon: tag
              newTab: true

        - identifier: rss
          name: 订阅
          url: /index.xml
          weight: -70
          params:
              icon: rss
              newTab: true

        - identifier: tf
          name: True Face App
          url: https://tftfapp.com/
          weight: -60
          params:
              icon: link
              newTab: true

直接把上面这些拷过去覆盖就行。

拷过去覆盖以后,再到231行,原来是酱式的:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
    social:
        - identifier: github
          name: GitHub
          url: https://github.com/CaiJimmy/hugo-theme-stack
          params:
              icon: brand-github

        - identifier: twitter
          name: Twitter
          url: https://twitter.com
          params:
              icon: brand-twitter

把里面的url改成你自己的github和twitter地址就行。

到此为止,主题基本的配置就完成了。

发布文章

写文章

使用markdown写作。

D:\hugo\blog\content目录下,新建一个文件夹post,在post下新建一个markdown文件 my-first-blog.md

为了不用你再动脑子写点啥,还能看到一些有内容的效果,把下面的markdown代码内容拷过去直接用就可以了:

 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
---
title: "我的blog一"
slug: "my-first-blog"
date: 2024-03-29T19:30:00+08:00
lastmod: 2024-03-29T19:30:00+08:00 
draft: false
description : "这是本blog的第一篇"
tags : [
    "hugo",
    "blog",
    "学习",
    "web",
    "静态网站",
]
categories : [
    "天天向上",
    "芝麻开花"
]
---

## 开始

多年来混迹各种论坛,平台,当我意识到平台随时可以让一个人所有的踪迹都消失时,我决定开一个字节的blog。

简单介绍一下我对这个blog的内容规划吧:

## blog内容规划

### 规划一

哪有什么规划,想到哪写到哪。

### 规划二

不被平台规训,不为利益驱使。

## 联系我

如果需要联系我,到我推特吧,这样比较快一点,邮箱只用来在确认要传递什么东西的时候才看一下。

我的推特: [(1) Leige (@LeigeSee) / X (twitter.com)](https://twitter.com/LeigeSee)

为了能看到列表的效果,把my-first-blog.md复制4份,分别命名为my-sec-blog.md,my-thd-blog.md,my-fth-blog.md,my-fif-blog.md。

打开复制的这几份文件,把slug 值改为和文件名对应"my-sec-blog",“my-thd-blog”,“my-fth-blog”,“my-fif-blog”。 把title和description也对应改一下,以便于区分,随便改成啥都行。

发布

我们先在本地发布,这样的好处就是我们可以快速看到效果再决定是不是要提交。

到Windows Powershell或者命令行,执行下面命令 :

1
hugo

结果如下,就是成功了(有两个WARN,先不用管):

再到执行命令:

1
hugo server

结果如下:

打开浏览器,输入下面地址:

1
http://localhost:1313/

你可以看到如下页面:

按下F12键,点击图中红框所示的位置,看一下在手机的效果:

至此,本地发布文章完成,只要再上传到网络,就是一个可用的公网blog了。

发布到公网

创建github仓库

如果你熟练使用github,这个环节完成以下工作就可以跳过了: 创建一个github resp,命名为blog,本地存放在d:\gitresp\blog。 如果你对github不那么熟,按照下面操作即可:

打开前面准备工作中下载的github客户端,打开File->Options

点击"Sign into Github.com",登录github,使用前面准备工作中注册的github账号登录即可。

这一步需要通过浏览器登录,为了操作顺利,最好先在你的默认浏览器里登录github.com,再进行上面这步操作。

登陆后,点击右侧第三项"Create a New Respository on your local drive",创建一个新的github仓库。

按照下图各项填写,填写后点"Create Repository“创建即可:

创建后会出现如下界面,点击右侧的”Publish Respository“发布到github:

出现如下窗口,注意选中”Keep this code private",然后点击"Publish Respository“发布即可:

至此,用于发布你的blog的github仓库创建完成。

下面把你的blog发布到github仓库。

发布到github仓库

打开D:\hugo\blog\public目录:

把目录下的所有文件复制到刚才创建的github仓库目录D:\gitresp\blog里面,然后打开github客户端,在Summary框输入"new blog”,点击"Commit to main“提交:

然后点右侧的”Push origin",提交到github。

至此,你的blog已经提交到github仓库了。

下面作为一个网站发布到公网。

免费发布为网站

登录到https://www.cloudflare.com/,左侧导航点击"Workers & Pages",进入到"Overview“页,点击如图所示的”Create application":

在"Create an application“页面,点”Pages“标签页,点击”Connect to Git"

首次使用会要求关联到Github账号,点击"Connect Github"

如果还没有登录github,需要先登录,登录后,会出现以下界面,按照图中选择后,点击"Install & Authorize"

再回到"Create an application“页面,点”Pages“标签页,点击”Connect to Git",进入到Deploy页,在"Select a repository“里选中”blog",点击"Begin Setup"。

进入到"Set up builds and deployments"页,这一页默认配置即可,点击"Save and Deploy"

进入到"Deploy site"页,等待一会后,出现如下信息,就是发布成功了,Success下面这个地址就是你的blog的公网地址,如图中是: [blog-1uz.pages.dev](https://blog-1uz.pages.dev/) 点击这个链接就可以访问了。

至此,blog搭建完成,并发布了5篇博客文章。

你可以通过下面两个链接查看本文的demo效果。 blog-1uz.pages.devhttps://tftfapp.com/bdemo/

日常发博客文章

日常发博客文章,只需执行以下步骤即可:

  1. 到D:\hugo\blog\content\post目录下使用markdown写博客文章。
  2. 到Windows Powershell或者命令行,执行hugo命令,生成页面。
  3. 把D:\hugo\blog\public下的文件复制到d:\gitresp\blog。
  4. 发布到github仓库。

完成上面几部,你的blog就自动更新了。

事实上,还有一种方法第2、3步是可以省掉的,只需要1、4两步即可。

但是本文没有采用那种看起来更简单的方法,而是多出这两步,好处如下:

  1. 可以在本地查看blog发布后的效果后再考虑是否修改或发布到公网。
  2. 只提交可发布的页面,原始markdown文件无需提交。
  3. 本地多保存了一份可发布的版本。

更多进阶设置

本文介绍了最基本的blog搭建,按照本文操作,你就可以快速的拥有一个属于自己的公网blog。

更多的进阶设置,后面我会再写博客说明,如果你想尽快了解哪方面的内容,也可以到我的twitter下留言。

https://twitter.com/LeigeSee