hexo-theme-animal關於.ejs的設定,包括archives,tag...等等
日期:2024-08-09
探討 Hexo 主題的布局與命名規則,分析如何正確配置路由,避免連結錯誤,並總結 url_for 函數在靜態資源管理中的應用。
樹狀圖
my-blog/
└── themes/
└── themes/hexo-theme-animal/
└── layout/
├── _partial/
│ ├── footer.ejs
│ ├── head.ejs
│ ├── header.ejs
│ ├── popup_tag.ejs
│ ├── search-results.ejs
│ └── sidebar.ejs
├── archive.ejs
├── category.ejs
├── index.ejs
├── layout.ejs
├── post.ejs
└── tag.ejs
錯誤
當 title
設為 archives
的時候,儘管 layout
設定為 archives
,但總會連到 index.ejs
上面。應該是 /archives
路徑已經預設被指向 index.ejs
了。
所以歸檔的部分,我決定換名字,改為 archives_N
。
正確
命名的時候輸入 archive.ejs
會自動導入 archive.ejs
裡面。如果 title
設為 archives.ejs
的時候,當然會沒有反應,導致變成連到 index.ejs
上面。
一篇文章只能夠有一個categories
。
tag.ejs
tag.ejs
才抓得到。如果打 tags.ejs
會抓不到。
當本地 .css 看的到改變,上傳到 GitHub Pages 卻看不到改變?!
進去 /public
裡面的 .css
查看更改的語法是否還在。當執行 hugo g -d
後,有些 CSS 語法會自己消失 ><
總結
url_for
函數的用途:
- 用於生成靜態資源的 URL(如 CSS、JavaScript、圖片等)。
- 用於生成網站文章和頁面的 URL。
- url_for 會生成相對於網站根目錄的 URL。例如,url_for(‘css/style.css’) 會生成 /css/style.css。這樣的 URL 可以直接用於靜態資源,如 CSS、JavaScript 和圖片。
如何使用:
在模板中使用
<%- url_for('path') %>
來生成正確的 URL<link rel="stylesheet" href="<%- url_for('css/style.css') %>"> <link rel="stylesheet" href="<%- url_for('css/style_post.css') %>"> <link rel="stylesheet" href="<%- url_for('css/style_header.css') %>"> <link rel="stylesheet" href="<%- url_for('css/style_sidebar.css') %>"> <link rel="stylesheet" href="<%- url_for('css/style_archives.css') %>"> <link rel="stylesheet" href="<%- url_for('css/style_index_post.css') %>">
參考
- layout檔案的命名參考下面這個repo基本不會錯
https://github.com/henryhuang/hexo-theme-aloha/tree/master/layout
喜歡 好崴寶 Weibert Weiberson 的文章嗎?在這裡留下你的評論!本留言區支援 Markdown 語法。