客製化自己的minimal-mistake網頁(持續更新中)
本篇文會教你更改一些minimal-mistakes的一些type(持續更新中)
工欲善其事,必先利其器 — 孔子
前陣子(2022, 好像也不算前陣子)時,我跑去修了黃鐘揚教授開的網路服務程式設計,這門是個好課,基本上教了許多網頁前後端的技術。過了一年後,偶然看到同系同學在github page上架設屬於自己的部落格,剛好大三下這學期修的課不算多,空閒時間很多。於是就心想不然來自己架設一個部落格好了,由於在架設的過程中不免俗會遇到一些問題,為了讓後人以及後來的自己在改動blog時有一個整理過的筆記,於是在架設部落格時就有了這篇的誕生。
由於本人是資訊系本科出身,並且我們目前所使用的方法是透過github page架設部落格而不是倚靠一些原本就設定好的部落格網站,如medium。因此有一些資訊相關的知識點是我認為閱讀此文章前須具備的知識:
基本上我們在寫部落格文章時都會使用這個文體,如果不會寫markdown的話基本上完全無法學習在github page上發表文章,不過他相當好學習,並且還有一個名叫 hackMD 的網站可以很方便的在網路上做筆記,有點像是雲端筆記的概念,如果對markdown語法不熟的也可以練習在上面作筆記。
git是一個版本控制軟體,而我們為何要學會使用他的原因除了版本控制很強大很屌之外,還有一個原因是因為有一個更屌的網站名叫github根據維基百科所述由於使用者性別比失衡又稱為gayhub是透過git進行上傳下載的,基本上會點進來的人應該不會不知道github是啥吧(畢竟標題都寫了…)。不過如果對git不熟的人也沒關係,因為我們只需要下面的四行指令就可以運作了(當然會更多技巧會更方便debug拉…)
git clone https://github.com/your-github-id/your-github-id.github.io.git
git add .
git commit -m "message"
git push
Jekyll是基於Ruby的模板來產生靜態網頁的產生器,並且是github page欽定使用的模板,因此只要我們想做github page blog,就繞不開這個產生器,並且Jekyll有很完整的社群生態,想要查資料、debug都相當容易。
對於像前端這種變化性相當高、日新月異的領域,這篇文章可能過幾年就因為版本問題不能用了,因此各個軟體的版本相當重要,如果在設定或安裝軟體時跳出許多bug,不如先到此章節,看看有沒有版本不同的地方,如果有那有可能是版本問題。(機車億點來講就是版本不對出事概不負責)
簡單介紹完緣起與背景知識後,接下來要開始進入主題了。本章將會完全介紹從創立github repo到引入minimal-mistakes主題為止。
首先我們第一步當然是先創立一個專屬於我們網站的專案拉!將這個repository的名字設為<name>.github.io
,其中name是你的github帳號名稱。然後先放著!不要動!先來設定我們最複雜的地方:電腦環境設定。
由於我們希望能同時在本地端與遠端跑起來,這樣我們就不用每次修改一個小小的地方就要push上github,因此接下來的步驟就是將電腦的環境設好,使我們可以自然的在本地端電腦上跑Jekyll。要使Jekyll跑起來我們必須要先安裝好ruby與rubygems,後者為ruby的管理套件,在這個基礎上再安裝完gcc和g++以及make後就可以在電腦上順利安裝Jekyll了。以下為安裝詳細步驟:
到Ruby的官網安裝 ruby,記得要選擇有Devkit,這樣以後才不會遇到問題。筆者就是沒有裝有Devkit的版本結果遇到問題…。並且在安裝的最後會跳出一個cmd,選擇選項3安裝即可。
到RubyGems的官網照著官網的說明安裝。
這步算是安裝過程中最難的一塊,因為對於windows用戶而言,本身沒有這三個東西(相比類unix系統),安裝的軟體又不會幫忙設定系統環境變數。對於gcc與g++的安裝教學請出我大一的計程教授P教授教學網站來代為指導。另外make for windows的網站在這裡,安裝後如果打make -v
沒有反應代表需要設定環境變數,設定環境變數的部分跟前面大一的計程教授P教授教學網站講的一樣,只是要注意是不同的path,為C:\Program Files (x86)\GnuWin32\bin
(每台電腦不太一樣)。
輸入以下指令,若皆跳版本號,代表安裝成功。
ruby -v
gem -v
gcc -v
g++ -v
make -v
gem install jekyll bundler
好的,環境都設好了!接下來嘗試是否能在本地端把網頁跑起來。
接下來我們要嘗試在本地用jekyll將repo初始化,並嘗試在本地把網頁跑起來。
將之前創好的repo clone下來
在這個repo裡輸入以下指令,使jekyll幫你初始化成它的形狀。
jekyll new .
輸入以下指令來安裝需要的套件
bundle install
輸入
bundle exec jekyll serve
嘗試在本地跑起網頁,並在瀏覽器輸入
localhost:4000
如果順利的話應該就會在瀏覽器裡看到一個非常陽春的網頁。
有了jekyll還不夠,jekyll只是一個網站產生器,我們選用jekyll的原因是因為其中有一個超棒的主題:minimal-mistakes。這個主題簡潔、在github page社群有廣大的使用者使用它,因此我們將主要使用minimal-mistakes進行主題布置。由於之前已經架好了jekyll了,所以我們將用remote theme的方式將minimal-mistakes加入主題。
用記事本(強者都用記事本打code)或是vscode之類的編輯器打開Gemfile,將裡面的內容全部換成以下的程式碼打掉重練:
source "https://rubygems.org"
gem "github-pages", group: :jekyll_plugins
gem "jekyll-include-cache", group: :jekyll_plugins
打開_config.yml,在開頭為plugins的那一行下方加入
jekyll-include-cache
輸入以下指令來安裝需要的套件
bundle install
打開_config.yml並刪除開頭為 theme 或 remote-theme 的欄位,並將
remote_theme: "mmistakes/minimal-mistakes@4.24.0"
加入此檔案。
到minimal-mistakes的github頁面把它通通clone下來,將以下的5個資料夾複製到自己的repo裡面。
_data
_includes
_layouts
_sass
assets
執行
bundle exec jekyll serve
並確認是否在本地端跑起來了,如果沒有的話輸入以下指令,如果再沒有的話我也不知道該怎麼辦了…超級不負責任
bundle add webrick
bundle add wdm
將完成的repo推上去github,並在
後續對於minimal-mistake的一些版面設計基本上都可以在Minimal Mistakes的官網上找到,這篇文主要就是教大家怎麼建一個minimal-mistakes的網頁而已。對於我後續研究如何改一些css的樣式我會再寫另一篇文。下篇文連結
本篇文會教你更改一些minimal-mistakes的一些type(持續更新中)
本篇文會教你如何讓minimal-mistakes主題的網頁可以使網頁使用者自由切換主題,像是白天與黑夜主題
本篇文會教你從github page套用jekyll的模板到建起minimal-mistake的網站