Hugo快速搭博客

1 整個(gè)ECS

Ubuntu就可以。

2 安裝Hugo

本來(lái)用apt安裝璧瞬,結(jié)果版本更新有點(diǎn)麻煩,后來(lái)用官網(wǎng)的snap方式安裝渐夸,直接最新版嗤锉。

sudo snap install hugo

之前的apt的可能需要先刪掉,否則混亂墓塌。

3 使用

3.1 初始化

hugo new site myweb
cd myweb
git init
git submodule add https://github.com/theNewDynamic/gohugo-theme-ananke.git themes/ananke
echo "theme = 'ananke'" >> hugo.toml
hugo server

啟動(dòng)可以使用參數(shù):

# 可以開(kāi)個(gè)tmux瘟忱,或者-D后臺(tái)
hugo server --bind 0.0.0.0 --port 8080

還有啟動(dòng)直接顯示文章草稿的奥额,我覺(jué)得沒(méi)必要。

3.2 發(fā)布文章

cd myweb
hugo new content posts/my-first-post.md

會(huì)在content目錄下建立md文件访诱,編輯一下:

+++
title = '我的文章'
date = 2024-09-12T22:33:19+08:00
draft = false
categories = ['生活']
tags = ['心情']
+++

### 這里是正文了
MD格式垫挨,好好吃飯

也可以用yaml格式:

---
title: 我的文章
date: 2024-09-12T22:33:19+08:00
draft: true
categories:
  - 生活
tags
  - 心情
image: posts/abc.png

---

### 這里是正文了
MD格式,好好吃飯

題圖放在posts/abc.png触菜,自行組織一下目錄九榔。
注意,新文章Hugo檢測(cè)不到涡相,無(wú)法熱更新哲泊,需要重啟服務(wù)。draft設(shè)置為false才會(huì)默認(rèn)顯示催蝗。
如果發(fā)圖片切威,可以這樣組織文件:

content/
├── gallery
│   └── my-first-gallery
│       ├── IMG_0934.JPG
│       ├── IMG_5925.JPG
│       └── index.md

命令為:

hugo new content gallery/my-first-gallery/index.md

如果插入bilibili視頻,或者插入自己的html生逸,可以這樣:

# 在hugo-theme-stack/layouts/shortcodes目錄放入自己編輯的my.html
# 在正文引入:
{{< my >}}
{{< bilibili VIDEO_ID PART_NUMBER >}}
{{< quote author="A famous person" source="The book they wrote" url="https://en.wikipedia.org/wiki/Book">}} blabla
{{< /quote >}}

3.3 主題

本來(lái)準(zhǔn)備使用官網(wǎng)的blowfish牢屋,不知道是不是因?yàn)榘姹締?wèn)題,總是沒(méi)成功槽袄。最終選擇安裝hugo-theme-stack主題烙无。參考官網(wǎng)https://stack.jimmycai.com/guide/getting-started,安裝:

cd myweb
git submodule add https://github.com/CaiJimmy/hugo-theme-stack/ themes/hugo-theme-stack

編輯下配置vim config.toml遍尺。
mainSections改成posts截酷,并自己上傳頭像至hugo-theme-stack/assets/img,改一下sidebar-avatar-src乾戏。

https://realfavicongenerator.net/生成了一組favicon迂苛,放在hugo-theme-stack/static目錄下(自己建個(gè)目錄),代碼放在hugo-theme-stack/layouts/partials/head/custom.html鼓择,如下:

<link rel="apple-touch-icon" sizes="76x76" href="/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<link rel="manifest" href="/site.webmanifest">
<link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5bbad5">
<meta name="msapplication-TileColor" content="#da532c">
<meta name="theme-color" content="#ffffff">

3.4 評(píng)論

使用waline三幻,參考官網(wǎng),暫時(shí)借用vercel的服務(wù)器呐能。

# https://waline.js.org/guide/get-started/#vercel-%E9%83%A8%E7%BD%B2-%E6%9C%8D%E5%8A%A1%E7%AB%AF
# 注意念搬,缺點(diǎn)是國(guó)內(nèi)無(wú)法訪問(wèn),如下有解決方案摆出,應(yīng)該是需要域名
# https://izumi.vip/2022/11/12/Waline%E5%9B%BD%E5%86%85IP%E6%97%A0%E6%B3%95%E8%AF%84%E8%AE%BA%E7%9A%84%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88/index.html
# 或者考慮官網(wǎng)的獨(dú)立部署waline

大概是:

  • 注冊(cè)LEAN朗徊,獲取3個(gè)key
  • 注冊(cè)并配置vercel
  • 把評(píng)論app的web地址寫(xiě)到config.yaml里(可以考慮綁定域名)
        # Waline client configuration see: https://waline.js.org/en/reference/client/props.html
        waline:
            serverURL: https://yourwaline.vercel.app/
            lang: zh-CN
            visitor: true
            avatar:
            emoji:
                - https://cdn.jsdelivr.net/gh/walinejs/emojis/weibo
            requiredMeta:
                - nick
                - mail
            locale:
                admin: 管理員
                placeholder: ??歡迎評(píng)論~
                sofa: 趕緊搶個(gè)沙發(fā)~

但是vercel不方便訪問(wèn),折騰到最后決定獨(dú)立部署在本地偎漫。

3.4.1 配置nvm等

mac下這個(gè)應(yīng)該挺好https://nodejs.org/zh-cn/download/package-manager爷恳。
終端如果想飛機(jī)可以:

alias proxy='export all_proxy=socks5://127.0.0.1:1086'
alias unproxy='unset all_proxy'
# 詳看https://www.clloz.com/programming/assorted/2020/09/15/terminal-proxy-configure/

Linux繼續(xù)看下面的,先安裝nvm象踊,參考:

# https://github.com/nvm-sh/nvm?tab=readme-ov-file#installing-and-updating
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash

接下來(lái)設(shè)置taobao鏡像温亲,哪個(gè)好使用哪個(gè):

export NVM_NODEJS_ORG_MIRROR=https://npmmirror.com/mirrors/node/  # 好使
nvm node_mirror https://npmmirror.com/mirrors/node/  # 不好使
nvm npm_mirror https://npmmirror.com/mirrors/npm/  # 不好使

然后安裝nodenpm

# 參考 https://nodejs.org/en/download/package-manager
nvm install 20
node -v # should print `v20.17.0`
npm -v # should print `10.8.2`
npm get registry # 查看源棚壁,參考https://www.cnblogs.com/Phil-Long/p/17750816.html

3.4.2 安裝運(yùn)行waline

終于到了正題:

# 參考 https://waline.js.org/guide/deploy/vps.html#%E7%9B%B4%E6%8E%A5%E8%BF%90%E8%A1%8C-%E6%8E%A8%E8%8D%90
cd projects/waline
npm install @waline/vercel
node node_modules/@waline/vercel/vanilla.js

# 修改下host為0.0.0.0和端口,去云服務(wù)器開(kāi)一下防火墻
vim node_modules/thinkjs/lib/config/config.js

vim ~/.bashrc # 添加環(huán)境變量铸豁,因?yàn)槭仟?dú)立部署灌曙,所以不需要LEAN_ID/LEAN_KEY/LEAN_MASTER_KEY這些
# 參考 https://waline.js.org/guide/database.html#tidb,下載sqlite文件节芥,后面也考慮MySQL
export SQLITE_PATH=/root/projects/waline
export JWT_TOKEN=a123456

如圖:


image.png

接下來(lái)運(yùn)行很關(guān)鍵在刺,必須:

cd ~/projects/waline
SQLITE_PATH=/root/projects/waline JWT_TOKEN=a123456 node node_modules/@waline/vercel/vanilla.js

這是因?yàn)閣aline會(huì)另起一個(gè)線程,導(dǎo)致外面設(shè)置的環(huán)境變量不起作用头镊,需要運(yùn)行的時(shí)候?qū)懽兞框纪铡7駝t會(huì)報(bào)如下錯(cuò)誤:

 Not initialized
    at request (/root/projects/waline/node_modules/leancloud-storage/dist/node/request.js

3.4.3 使用

在之前的themes/hugo-theme-stack/config.yaml配置好waline即可,一般是8360端口相艇,懶得動(dòng)了颖杏。可以匿名評(píng)論坛芽,可以注冊(cè)評(píng)論留储,第一個(gè)注冊(cè)的將會(huì)成為管理員,如果不爽可以把整個(gè)庫(kù)刪掉重來(lái)咙轩,自己的方便获讳。這里有查看sqlite的小腳本:

import sqlite3
connection = sqlite3.connect('waline.sqlite')
cursor = connection.cursor()
cursor.execute("SELECT name FROM sqlite_master WHERE type='table';")
tables = cursor.fetchall()

print("Tables in the database:")
for table in tables:
    print(table[0])

cursor.close()
connection.close()

3.5 其他widgets

如圖,從exampleSite整個(gè)復(fù)制過(guò)來(lái)的page文件夾活喊。

content/
├── gallery
│   └── my-first-gallery
│       ├── IMG_0934.JPG
│       ├── IMG_5925.JPG
│       └── index.md
├── page
│   ├── about
│   │   ├── index.md
│   │   └── index.zh-cn.md
│   ├── archives
│   │   └── index.md
│   ├── links
│   │   ├── index.md
│   │   └── ts-logo-128.jpg
│   └── search
│       └── index.md

然后編輯config.toml

    widgets:
        homepage:
          - type: archives
            params:
              limit: 5
          - type: search
          - type: categories
            params:
              limit: 10
          - type: tag-cloud
            params:
              limit: 10
        page:
          - type: toc

應(yīng)該就增加了一些頁(yè)面丐膝,可繼續(xù)自行編輯內(nèi)容。

3.6 ICP備案

到主題的目錄cd themes/hugo-theme-stack/layouts/partials/footer钾菊,vim footer.html帅矗,如下:

{{/* T "footer.builtWith" (dict "Generator" $Generator) | safeHTML */}} <br />
{{/* T "footer.designedBy" (dict "Theme" $Theme "DesignedBy" $DesignedBy) | safeHTML */}}
<b><a  target="_blank">京ICP備1234567890號(hào)</a></b>

即可。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末煞烫,一起剝皮案震驚了整個(gè)濱河市浑此,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌滞详,老刑警劉巖尤勋,帶你破解...
    沈念sama閱讀 211,948評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異茵宪,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)瘦棋,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,371評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén)稀火,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人赌朋,你說(shuō)我怎么就攤上這事凰狞∑茫” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,490評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵赡若,是天一觀的道長(zhǎng)达布。 經(jīng)常有香客問(wèn)我,道長(zhǎng)逾冬,這世上最難降的妖魔是什么黍聂? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,521評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮身腻,結(jié)果婚禮上产还,老公的妹妹穿的比我還像新娘。我一直安慰自己嘀趟,他們只是感情好脐区,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,627評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著她按,像睡著了一般牛隅。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上酌泰,一...
    開(kāi)封第一講書(shū)人閱讀 49,842評(píng)論 1 290
  • 那天媒佣,我揣著相機(jī)與錄音,去河邊找鬼宫莱。 笑死丈攒,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的授霸。 我是一名探鬼主播巡验,決...
    沈念sama閱讀 38,997評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼碘耳!你這毒婦竟也來(lái)了显设?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,741評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤辛辨,失蹤者是張志新(化名)和其女友劉穎捕捂,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體斗搞,經(jīng)...
    沈念sama閱讀 44,203評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡指攒,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,534評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了僻焚。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片允悦。...
    茶點(diǎn)故事閱讀 38,673評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖虑啤,靈堂內(nèi)的尸體忽然破棺而出隙弛,到底是詐尸還是另有隱情架馋,我是刑警寧澤,帶...
    沈念sama閱讀 34,339評(píng)論 4 330
  • 正文 年R本政府宣布全闷,位于F島的核電站叉寂,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏总珠。R本人自食惡果不足惜屏鳍,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,955評(píng)論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望姚淆。 院中可真熱鬧孕蝉,春花似錦、人聲如沸腌逢。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,770評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)搏讶。三九已至佳鳖,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間媒惕,已是汗流浹背系吩。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,000評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留妒蔚,地道東北人穿挨。 一個(gè)月前我還...
    沈念sama閱讀 46,394評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像肴盏,于是被迫代替她去往敵國(guó)和親科盛。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,562評(píng)論 2 349

推薦閱讀更多精彩內(nèi)容

  • 1菜皂,Hugo 簡(jiǎn)介 搭建個(gè)人博客有很多開(kāi)源的博客框架贞绵,我們要介紹的框架叫作Hugo。Hugo 是一個(gè)基于Go 語(yǔ)言...
    碼農(nóng)充電站pro閱讀 1,020評(píng)論 0 2
  • 生命在于折騰恍飘,生命不息榨崩,折騰不止。 最近又開(kāi)始了折騰博客章母,以前的文章都寫(xiě)在簡(jiǎn)書(shū)上母蛛,現(xiàn)在準(zhǔn)備使用Hugo來(lái)搭建一個(gè)靜...
    路過(guò)麥田閱讀 16,337評(píng)論 0 5
  • 為了個(gè)人博客 五一期間,用 WordPress 為好朋友的公司配置了一個(gè)網(wǎng)站乳怎,替換原來(lái)的簡(jiǎn)易公司官網(wǎng)溯祸,在搭建的過(guò)程...
    chaomifan閱讀 4,958評(píng)論 0 7
  • 最近準(zhǔn)備建立一個(gè)個(gè)人博客網(wǎng)站,對(duì)比hexo與hugo后,決定使用Hugo靜態(tài)頁(yè)面生成引擎焦辅,使用的主題是tranqu...
    KXMING閱讀 4,315評(píng)論 0 2
  • 本文首發(fā)于我的個(gè)人博客:Suixin's Blog Hugo是一個(gè)用Go編寫(xiě)的靜態(tài)站點(diǎn)生成器,由于具有豐富的主題資...
    Sui_Xin閱讀 9,551評(píng)論 1 13