更換Jekyll版型記錄
一直以來對於jekyll預設版型不甚滿意。此篇文章紀錄從tingtinghsu.github.io換到https://tingtinghsu.github.io/blog 的工程,修改版型(註1)遇到的問題。
Jekyll資料夾結構
在倒數計時2018年的12月陸陸續續修改各處程式碼並加上自己想要的需求,現在對於資料夾內結構還算熟悉:
|-- index.html #blog首頁 (render)
|-- _config.yml #網站設定檔
|
|---/_includes #網站結構資料夾
| |--head.html #標頭檔
| |--sidebar.html #側欄目錄檔
| |--foot.html #social links
|
|---/_layouts #版型
| |--default.html #預設版型
| |--page.html #固定頁面版型,如作者簡介
| |--post.html #blog發表文章版型
| |--tag.html #以標籤進行分類
|
|---/_posts #文章資料夾,放置文章之處
|
|---/_site #render後所產生之檔案,皆位於此處
| |--index.html
| |--/articles #permalink 文章永久連結
| |--/page2 #pagenation Page2 post集合
| |--/page3 #pagenation Page3 post集合
| |--/page4 #pagenation Page4 post集合
|
| |--/tag #標籤分類資料夾
| |--/heroku #含heroku標籤 post集合
| |--|-- index.html
| |--/interview #含interview標籤 post集合
| |--|-- index.html
|
| |--/public #網路上公開可看到的檔案
| |--/css #css
| |--404.html
| |--about.html
| |--atom.xml
| |--LICENSE.md
| |--README.md
|
|---/public #公開檔 (render)
| |--/css #css
|-- 404.html #路徑錯誤提示 (render)
|-- about.html #作者簡介 (render)
|-- about.md #作者簡介
|-- Atom.xml #RSS (render)
|-- LICENSE.md #版權頁 (render)
|-- README.md # (render)
我的舊版blog與新版blog差異
比較 | 舊版 | 新版 |
---|---|---|
遠端 | https://tingtinghsu.github.io | https://tingtinghsu.github.io/blog |
local | /本機Github/tingtinghsu.github |
/本機Github/blog |
啟動server | jekyll server | jekyll server –port 4001 |
本機網址 | http://127.0.0.1:4000/ | http://127.0.0.1:4001/blog/ (註2) |
經過了整個12月的改版工程,目前對於版型還挺滿意的!(27-Dec 2018)
舊版型: minima
新版型: lanyon
編按
[註1]
版型修改途中遇到大量問題,例如push
之後收到Github的警告訊息:
GitHub opened this alert 9 minutes ago
1 jekyll vulnerability found in Gemfile.lock 9 minutes ago
Remediation
Upgrade jekyll to version 3.8.4 or later. For example:
gem "jekyll", ">= 3.8.4"
Always verify the validity and compatibility of suggestions with your codebase.
Details
CVE-2018-17567
moderate severity
Vulnerable versions: >= 3.8.0, < 3.8.4
Patched version: 3.8.4
Jekyll through 3.6.2, 3.7.x through 3.7.3, and 3.8.x through 3.8.3 allows attackers to access arbitrary files by specifying a symlink in the "include" key in the "_config.yml" file.
其原因主要來自於Jekyll官方支援的版型其Jekyll版本為3.8.4,與穩定的blog版本3.8.5
不相容。
解法:
在搬移內容的過程為了保留舊版本做對照(舊版僅供自己參考),我將版型改為Jekyll3.8.5
的lanyon(by @mdo)。
有興趣的朋友可以參考此教學影片: How to Install Jekyll Themes?更改blog網址。
[註2]
如何在本機run多個 Jekyll server,我參考了Jekyll官網與StackOverflow問題,在不同的port
run server。
jekyll server –port 4001