若要升級至 Hexo v4,請在您的 package.json 中更改以下這行:
- "hexo": "^3.9.0", |
重大變更
- chore: 移除 Node 6 #3598
- 修復標題包含未跳脫 HTML 字元時的 post_link 和 asset_link 問題 #3704
- 影響
asset_link
、post_link
標籤外掛 - 若您想要保留未跳脫的字元,請將
false
設定為最後一個參數{% asset_link 'filename 'title' 'false' %}
- 影響
- 修復:預設編碼永久連結 #3708
- 若您目前使用
encodeURI(post.permalink)
(包含頁面、標籤和分類變數的permalink
),有三個選項:- 使用
encodeURI(decodeURI(post.permalink))
來與 hexo v3.9 (和更舊版本) 相容 - 使用 hexo-util 提供的
encodeURL()
函式,它具有回溯相容性 - 移除
encodeURI()
函式,這會破壞回溯相容性
- 使用
- 若您想要以解碼形式使用變數,
- 請使用
decodeURI(post.permalink)
- hexo-util 的
decodeURL()
可以解碼 Punycode 網域。
- 請使用
- 此變更不適用於
this.url
變數。
- 若您目前使用
- 修復 (分頁器):新增
escape
選項以與 hexo-util 1.3.0 相容 #3728- 主題開發者,若您使用 HTML 自訂
prev_text
/next_text
(例如插入圖示),您需要在參數中設定escape: false
。
- 主題開發者,若您使用 HTML 自訂
功能
feat(filter): 盡可能使用現有的摘錄 #3612
- 支援 front-matter 中的
excerpt:
- 支援 front-matter 中的
將 minimatch 切換為 micromatch #3538
- 請參閱 micromatch 文件以取得進階 globbing 的資訊
feat: 新增選項以停用 meta generator 標籤 #3653
- 在設定中新增
meta_generator: false
以停用
- 在設定中新增
feat(generator): 允許限制平行生成 #3665
- 若您遇到「記憶體不足」的問題,請嘗試降低
hexo g --concurrency <number>
中的值
- 若您遇到「記憶體不足」的問題,請嘗試降低
選項可以使用日期而非檔案修改時間作為更新日期 #3235
- 若您不希望在
post.updated
變數中使用檔案修改時間,請在設定中設定use_date_for_updated: true
- 若您不希望在
feat(list_tags): 新增 Schema "keywords" 和 Microdata "tag" #3678
feat(permalink_variable): 新增 pretty_urls 選項以從 URL 中移除 index.html #3691
- 使用以下設定從
permalink
變數 中移除尾部的index.html
pretty_urls:
trailing_index: false- 不適用於
this.url
變數 (請參閱 #3661)。 - 應該與現有的規範相關外掛相容,建議外掛和主題開發者進行測試
- 使用以下設定從
feat: 新增
full_url_for
輔助函式 #3701- 使用此輔助函式
full_url_for(page.path)
而不是config.url + page.path
- 使用此輔助函式
修復:external_link 應使用 after_render #3675
- 新增
field
和exclude
選項,請參閱 #3675 以取得指南。
- 新增
效能
- perf(meta_generator): 移除 cheerio #3671
- perf(open_graph): 移除 cheerio 並使用 regex #3680
- perf(external_link): 移除 cheerio 並使用 regex #3685
- perf(cache): 強制跨模式快取 #3756
修復
- 修復:將英文設定為預設語言 #3654
- 若在 front-matter 中未指定標題,則使用檔名 #3672
- 修復:忽略沒有文章的分類/標籤 #3624
- 修復(open_graph):從 URL 中移除 index.html #3661
- 修復(open_graph):移除重複的 Twitter 卡片標籤 #3668
- 修復(輔助函式、標籤外掛):預設編碼 URL #3710
- 請參閱 #3708 以取得關於解碼的指南。
- 修復(open_graph):百分比編碼 URL,而非 HTML 跳脫 #3686
- 修復:允許在「blockquote」標籤外掛中使用反引號程式碼區塊 #2321
- 修復:正確處理 blockquote 上的反引號程式碼區塊 #3765
- 修復:避免在反引號程式碼區塊的末尾插入額外的換行符號 #3768
依賴
- chore(deps): 將 tildify 要求從 ^1.2.0 更新為 ^2.0.0 #3541
- chore(deps): 將 strip-indent 要求從 ^2.0.0 更新為 ^3.0.0 #3534
- chore(deps-dev): 將 husky 要求從 ^1.1.3 更新為 ^3.0.0 #3608
- chore(deps-dev): 將 eslint 要求從 ^5.9.0 更新為 ^6.0.1 #3606
- chore(deps-dev): 將 lint-staged 要求從 ^8.1.0 更新為 ^9.1.0 #3615
- chore: 更新至 hexo-util 1.0.1 和 hexo-renderer-marked 2.0.0 #3646
- chore(deps): 將 hexo-i18n 要求從 ^0.2.1 更新為 ^1.0.0 #3698
- chore(deps): 將 hexo-fs 要求從 ^1.0.0 更新為 ^2.0.0 #3699
- chore(deps): 將 hexo-front-matter 要求從 ^0.2.3 更新為 ^1.0.0 #3700
- chore(deps): 將 hexo-log 要求從 ^0.2.0 更新為 ^1.0.0 #3730
- chore(deps): 將 warehouse 要求從 ^2.2.0 更新為 ^3.0.0 #3736
- chore(deps): 將 hexo-cli 從 2.0.0 升級至 3.0.0 #3743