一直沒有紀錄自己的過程,研究所剛畢業,即將要邁入社會

決定好好紀錄種種,考慮過 Wordpress 及 Blogger,剛好最近研究靜態網頁產生器

經過整理,並選擇 Hugo 來撰寫 Blog,剛好對 Golang 也比較熟悉

如果熟悉 Markdown 並且想找地方分享,使用 Hugo 是一個不錯的選擇

安裝 Hugo

首先安裝 mac 套件管理工具 Homebrew

1
$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

透過 Homebrew 安裝 hugo

1
$ brew install hugo

建立 Hugo 專案

產生 Hugo 專案

1
2
# hugo new site <site name>
$ hugo new site codychen

進入建立好的 Hugo 專案中

1
2
# cd <site name>
$ cd codychen

安裝 Hugo 主題

Hugo 官方網站 上瀏覽主題,選擇一個喜歡的主題

最後我挑了 hugo-lamp,我覺得挺好看的

1
2
# git clone https://github.com/.../<theme name>  themes/<theme name>
$ git clone https://github.com/huyb1991/hugo-lamp  themes/hugo-lamp

套用 hugo-lamp 主題

1
2
$ cp -r themes/hugo-lamp/static/ static/
$ cp -r themes/hugo-lamp/layouts/ layouts/

可以參考 hugo-lamp 主題中範例 & 套用 hugo-lamp 配置檔

1
2
$ cp -r themes/hugo-lamp/exampleSite/content/ content/
$ cp themes/hugo-lamp/exampleSite/config.toml .

設定 Hugo 配置

設定 Hugo 基本參數

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# 設定網站網址
baseURL = "http://www.example.com/"
# 設定語系
languageCode = "zh-tw"
# 網站標題
title = "Example Title"
# 網站主題
theme = "hugo-lamp"

[params]
author = "user name"

預覽選擇的主題效果,啟動 hugo 從 http://localhost:1313 瀏覽

1
$ hugo server

建立 Hugo 文章

產生一篇 Hugo 文章格式,文章會自動把移入專案中的 content 目錄底下

開始撰寫內容,如果撰寫完畢就文章狀態更動為 draft: false

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15

$ hugo new post/first_post.md

$ vim content/post/first_post.md

---
title: "First_post"
author: "Author Name"
cover: "/img/cover.jpg"
tags: ["tagA", "tagB"]
date: 2019-10-30T21:30:41+08:00
draft: true
---

撰寫文章內容...

產生 Hugo 靜態網頁

如果完成版型選擇並撰寫文章之後

便能產生靜態網頁文件

1
$ hugo

建立 Firebase 專案

登入 Firebase Console 建立專案,並依步驟完成 Firebase 專案建立

create firebase project setting project name

安裝 Firebase tools

要安裝 firebase tools 前,首先要先安裝 node

透過 node 的 npm 安裝 firebase-tools

$ brew install node

$ npm install -g firebase-tools

建立 Firebase 環境初始化

透過 console 登入 firebase

我這邊同意蒐集 Firebase 資訊,各位斟酌選擇

1
2
$ firebase login
? Allow Firebase to collect CLI usage and error reporting information? (Y/n) Y

登入成功後會看到以下登入成功畫面

firebase success login

在 hugo 專案中,進行 firebase 初始化

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
$ firebase init

? Which Firebase CLI features do you want to set up for this folder? Press Space to select features, then Enter to confirm your choices. 
❯◉ Hosting: Configure and deploy Firebase Hosting sites

? Please select an option: (Use arrow keys)
❯ Use an existing project

Select a default Firebase project for this directory: (Use arrow keys)
❯ blog-89a9d (blog) 

上傳 Hugo 至 Firebase 專案中

靜態網頁佈署至 firebase,便能從 firebase 提供的網址連上建立好的 Blog

1
2
3
4
$ firebase deploy

...
Hosting URL: https://blog-89a9d.firebaseapp.com

參考資料

  1. https://gohugo.io/getting-started/installing/
  2. https://stackshare.io/stackups/hexo-vs-hugo-vs-jekyll
  3. https://jmln.tw/blog/2017-06-27-why-i-choose-jekyll.html