---
# System prepended metadata

title: HUGO 環境建置
tags: [hugo, blog]

---

> [name=SleepyMan212]
> [time=Sat, Feb 13, 2021 5:22 PM]
###### tags: `hugo` `blog`
# HUGO 環境建置
hugo 比 hexo build 文章的速度快上許多，所以最後還是選擇使用了 hugo ，雖然不知道文章最後會不有很多，但身為一個工程師，事前的規劃也是很重要的，一開始規劃清楚，在後許的開發及維護上會更加容易 XDDD。

> 最近換了新的電腦，原本電腦上的 hugo 就要重新安裝了，回去看了一下之前沒有寫文章記錄下來 QQ

## Install

可以到[官網](https://gohugo.io/getting-started/installing/)去選擇安裝方式，根據你的作業系統，也可以到 [github](https://github.com/gohugoio/hugo/releases) 直接下載執行檔並且解壓縮，如果下載執行檔，記得把執行檔的位置放到環境變數 (PATH) 裡，這樣之後在不同的目錄底下才可以去執行

hugo 目前支援的平台有
* macOS (Darwin) for x64, i386, and ARM architectures
* Windows
* Linux
* OpenBSD
* FreeBSD

如果安裝完了 可以用 `hugo new site <blog name>` 去架設新站看是不是成功安裝好了
![](https://i.imgur.com/HAAdfXj.png)


## 簡單操作
##### `hugo`
把 md 檔 build 成 html 到指定的目錄(public)，以方便部屬

##### `hugo server -w` 
建立一個臨時的 server 可以即時的觀看 build 後的情形以便 debug 

##### `hugo help` 
查看 hugo 提供的指令

##### `hugo new <file path>`
會在 content 目錄底下新增檔案，方便我們撰寫文章

## 如何部屬
### 新增 repo
可以再 github 新增一個 repo ，名字是 \<github name\>.github.com ，這樣就可以在 \<github name\>.github.com 看到你的 blog

### 設定目錄
在 terminal 下 hugo 去 build 文件後，會產生一個 public 資料夾，進入資料夾後，用 `git init` 初始化 repo ， 然後設定推送的來源(`git remote add origin <repo url>`)

### 部屬
可以用以下提供的腳本，放在 blog 目錄的同一層，以方便去部屬

[deploy.sh](https://gist.githubusercontent.com/SleepyMan212/f1c50114803091d613d631a2e5da68b4/raw/6cbade994f28816208aab09560e318c79464d8c6/hugo_deploy.sh)
```shell=
#!/bin/bash

echo -e "\033[0;32mDeploying update to GitHub...\033[0m"

# Build the project.
hugo  #if using a theme replace with `hugo -t <YOURTHEME>`
# GO To Public folder.
cd public 
# Add change to git.
git add -A

# Commit change.
msg="rebuild site `date`"
if [$# -eq 1 ]
	then msg="$1"
fi
git commit -m "$msg"

# Push source and build repos.
git push -u origin master

# Come Back up to the Project Root.
cd ..

```
