1. 程式人生 > 實用技巧 >用 Hugo 快速搭建部落格

用 Hugo 快速搭建部落格

用 Hugo 搭建部落格

Hugo 是一個用 Go 編寫的靜態站點生成器,生成速度很快
下面是具體操作:

1.安裝 Hugo

Windows 使用者

使用 Chocolatey 或者 Scoop 快速安裝,取決於你使用什麼包管理

choco install hugo -confirm
scoop install hugo

也可以到 https://github.com/gohugoio/hugo/releases 下載對應的作業系統版本的 Hugo 二進位制檔案!

把 hugo.exe 所在目錄新增到系統變數裡, hugo version 可檢視是否新增成功!

Mac 使用者

直接用 Homebrew

安裝

brew install hugo

Linux 使用者

這裡就不多說了

基於Debian的 :sudo apt-get install hugo
基於ArchLinux的 :sudo pacman -S hugo

2.生成站點

比如新建一個 myblog 的網站:

hugo new site myblog

也就一瞬間完成的事,此時生成了一個檔名為 myblog 的資料夾

然後到 Hugo Theme 選一個主題

https://themes.gohugo.io/



比如這個 "Jane"


其實每個主題裡面都有教程,這裡實際操作一下

1.切換到 myblog 目錄

cd myblog

把主題克隆下來 , 需要用到 git ,如果沒有自行安裝一下

git clone https://github.com/xianmin/hugo-theme-jane.git --depth=1 themes/jane

2.然後新建一篇文章試試效果

hugo new post/blog.md

隨便在裡面寫點東西,這裡需要你會 markdown 語法,其實也不難,半天就能學會


【【 如果你懶,也可以把主題資料夾裡的示例複製過來 】】

cp -r themes/jane/exampleSite/content ./

3.把主題裡的配置檔案複製到 myblog 的配置檔案下,就是config.toml這玩意兒

cp themes/jane/exampleSite/config.toml ./

好,現在可以把部落格在本地執行起來了

hugo server -t jane --buildDrafts

3.把部落格放到遠端倉庫

Github 是個免費倉庫,用它就完事了

當然需要你先在 github 上註冊一下

完事之後,登入你的 github


新建一個倉庫,存放你的部落格

New Repositories


Repository name 格式要求:使用者名稱.github.io (使用者名稱小寫)


別的不用管,下面直接點 Create Repository


生成 public 資料夾

在終端下輸入(myblog 目錄下)

hugo --theme=jane --baseUrl="https://使用者名稱.github.io" --buildDrafts

這時候會生成一個 public 資料夾

把這個 public 資料夾推送到 github 倉庫就完事啦~

public 資料夾推送到 Github

// 下面依次輸入:

cd public
git init
git add .
git commit -m "提交的備註"

如果是第一次使用 git ,途中他會提示讓你配置一下

  //設定使用者郵箱
git config --global user.email "你的github郵箱"
  //設定使用者名稱
git config --global user.name "你的github使用者名稱"

跟遠端關聯 (也就是你的 github 地址 / 倉庫地址)

git remote add origin https://github.com/使用者名稱/使用者名稱.github.io.git

然後,推到遠端

git push -u origin master

需要輸入使用者名稱和密碼

完事


以後訪問部落格就用下面的地址:

使用者名稱.github.io

4.常用命令總結 :

在你的部落格根目錄下(blog)

建立一篇新文章
hugo new post/example.md
---
重新生成 public 資料夾
hugo
---
進入 public 資料夾
cd public
---
依次輸入
git init
git add .
git commit -m "提交的備註"
---
部署到遠端
git push

The_End