> [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>` 去架設新站看是不是成功安裝好了

## 簡單操作
##### `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 ..
```