今天的首要任務是決定要自己手刻 CSS 還是用 CSS 框架,不管是選擇那一種,網站風格大致會在今天有個雛型,接著再依網站佈局的各個部位進行細部調整。
選擇自己手刻 CSS 或是使用 CSS 框架,往往取決於自己設計上的需求和偏好。不過由於這次設計的佈景主題是要開放給大眾使用,就不單單只是自己覺得做的漂亮就好,可先想想看兩者之間的優缺點。
優點:
缺點:
優點:
缺點:
另外,筆者的猜想,可能會有框架的使用者,因為佈景主題也使用同樣的框架,了解如何改進自己的網站,而特地採用也說不定哦。
目前流行的框架有:
框架名稱 | 網址 |
---|---|
Bootstrap | https://getbootstrap.com/ |
Tailwind CSS | https://tailwindcss.com/ |
Foundation | https://get.foundation/ |
Bulma | https://bulma.io/ |
Skeleton | http://getskeleton.com/ |
Materialize | https://materializecss.com/ |
MUI CSS | https://www.muicss.com/ |
各有特色及優缺點,不過本系列是探討 WordPress 佈景主題開發,CSS 框架的選擇就不細談囉。最後筆者挑選的是 Tailwind CSS,主要原因是它的社群實在太活潑,網路上很多現成的組件很適合轉換成 WordPress 的區塊使用,因此為了日後提供更多的功能,於是採用 Tailwind CSS 作為 Ironman 佈景主題的 CSS 框架!
這個章節段落是描述筆者採用 Tailwind CSS 的安裝、設定過程。如果是使用其它的 CSS 框架,且使用 NodeJS 的 NPM 套件管理員來安裝,步驟會是類似。
工作目錄為 theme 的根目錄,以這個例子為:
./wp-content/themes/ironman/
建立 package.json
npm init -y
安裝 Tailwind CSS 和它的平行依賴套件 PostCSS 及 Auto Prefixer。
npm install -D tailwindcss postcss autoprefixer
產生 tailwind.config.js 設定檔。而 -p
參數是告訴 Tailwind CLI 工具,順便產生 postcss.config.js 設定檔。
npx tailwindcss init -p
tailwind.config.js 內容:
module.exports = {
plugins: {
tailwindcss: {},
autoprefixer: {},
},
}
postcss.config.js 內容:
module.exports = {
content: [],
theme: {
extend: {},
},
plugins: [],
}
盤點要請 Tailwind CLI 工具在打包時要掃描那些目錄裡的檔案。並修改 tailwind.config.js 內容。
content: [
"./*.php",
"./classes/*.php",
"./inc/*.php",
"./template-parts/**/*.php",
],
以上是目前盤點可能會有 HTML 標籤存在並使用到 CSS 的 PHP 檔案。
它會找出所有在 HTML 中有使用到 class 屬性的地方,並檢查是否為 Tailwind 語法,只把有用到的語法打包起來。也因為如此,Tailwind 產生的 CSS 檔案都是有用到的,不會有沒用到的樣式被包進去,檔案尺寸比起即它框架會小非常多。
建立 assets
目錄,在它之後再建立 sass
目錄,接著開一個新的檔案,命名為 index.scss。放入以下語法來載入 Tailwind CSS:
@tailwind base;
@tailwind components;
@tailwind utilities;
要把根目錄下的 style.css 的檔頭註解複製起來,貼進這檔案頭部,不然打包檔案後,頭部資訊被刷掉,WordPress 會找不到這個佈景主題哦!
內容如下:
圖:index.scss 檔案內容
設定打包指令到 package.json 中,以下這一行指令加到 script
段落。
"css": "tailwind build ./assets/sass/index.scss -o ./style.css"
檔案內容如下:
圖:package.json 內容
最後,要把檔案打包,執行指令:
npm run css
就會把放在 assets/sass
目錄下的 SCSS 檔案打包到 style.css 檔案中。
動圖:測試打包指令
實際操作一次,CSS 樣式語法都被打包到 style.css 中,且檔案頭部的註解資訊還在,這樣就沒問題囉。
這篇文章沒有討論到技術相關的問題,只分享筆者在選擇 CSS 框架的過程。如果不用框架當然也是可以的哦!
其實今天下班,筆者花了一個多小時在挑 CSS 框架,最後還是挑了 Tailwind CSS,主要還是考量到日後如果要提供區塊功能的話,有很多免費酷炫的現成的範本可以直接加入區塊大軍的行列,不過時間有限,不大確定會不會談到這個過程哦。
課後思考:
若你要設計一個全新的網站或佈景主題,你會選擇自行手刻 CSS 還是使用 CSS 框架?請根據你的網站需求和設計目標,論述你的選擇理由。
前篇解答參考:
許多軟體附帶授權協議,例如 GPL、MIT、BSD、Apache 等開源授權。例如,MIT 是相對寬鬆的條款,幾乎沒有限制,但仍需要在軟體內附上原始的版權聲明。WordPress 的軟體是基於 GPL 條款,修改相關作品,必須以 GPL 授權將其原始碼提供給使用者。這確保任何使用、修改 GPL 授權軟體的人都會向社群回饋其修改。因此,修改 GPL 的作品,在網上販賣,也要確保你的原始碼也回饋給社群。例如,在接下來的文章,筆者會介紹如果編寫 README 檔案,裡頭必須詳列所使用的依賴及修改的作品及授權條款,送審的時候,WordPress 的佈景主題審核小組才會通過上架申請。