chore(deps): update dependency hexo-theme-butterfly to v5.7.0 - #43
Open
renovate[bot] wants to merge 1 commit into
Open
chore(deps): update dependency hexo-theme-butterfly to v5.7.0#43renovate[bot] wants to merge 1 commit into
renovate[bot] wants to merge 1 commit into
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
renovate
Bot
force-pushed
the
renovate/hexo-theme-butterfly-5.x-lockfile
branch
from
July 21, 2026 03:11
de9495b to
1536953
Compare
renovate
Bot
force-pushed
the
renovate/hexo-theme-butterfly-5.x-lockfile
branch
from
July 21, 2026 18:56
1536953 to
c54014c
Compare
renovate
Bot
force-pushed
the
renovate/hexo-theme-butterfly-5.x-lockfile
branch
from
July 30, 2026 16:06
c54014c to
ff50b02
Compare
renovate
Bot
force-pushed
the
renovate/hexo-theme-butterfly-5.x-lockfile
branch
from
August 4, 2026 18:06
ff50b02 to
5a2113e
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
5.5.5→5.7.0Release Notes
jerryc127/hexo-theme-butterfly (hexo-theme-butterfly)
v5.7.0Compare Source
Full Changelog: jerryc127/hexo-theme-butterfly@5.6.1...5.7.0
chore: v5.7.0
v5.6.1Compare Source
Full Changelog: jerryc127/hexo-theme-butterfly@5.6.0...5.6.1
修復
:not([data-fancybox])選擇器變更
hexo._seriesGroups對象Fixed
:not([data-fancybox])selector to pjax exclude listChanged
hexo._seriesGroupsobjectv5.6.0Compare Source
5.6.0
Full Changelog: jerryc127/hexo-theme-butterfly@5.5.5...5.6.0
New Features
knocket.pug,在聊天配置中新增knocket選項scriptCache/cssCache),避免重複加載相同資源rafThrottle工具函數,基於requestAnimationFrame實現節流sanitizeString),防範 XSS 注入Performance
IntersectionObserver取代原本的 throttle + 遍歷方式,大幅減少滾動事件計算量btf.throttle改為btf.rafThrottle,與瀏覽器渲染幀率同步resize事件處理加入rafThrottle節流scrollToDest平滑滾動改用 easeOutQuart 緩動曲線,取代原本的線性插值rightsideScrollPercent的goUpElement/scrollPercentElement改為閉包緩存,避免每次滾動都查詢 DOMoverflowPaddingR的page-header/menus元素改為閉包緩存document.getElementById查詢結果緩存到sidebarFnadjustMenu的classList.toggle包裹在requestAnimationFrame中forPostFn改為接收$article參數,內部所有函數(addHighlightTool、addPhotoFigcaption、runLightbox、scrollFnToDo、addTableWrap、clickFnOfTagHide、tabsFn)統一使用傳入的$article查詢,避免重複document.getElementById('article-container')tabsFn改為事件委託,將點擊監聽綁在$article上而非每個.tabs元素clickFnOfTagHide改為事件委託,綁在$article上而非逐個.hide-button綁定getActualHeight改用cloneNode(true)+ 隱藏插入測量,取代原本遍歷父節點修改style的方式indexOf改為Map.has/Map.get,O(1) 查找getMaps),避免不必要的計算tw_cn.js的translateButtonObject改為let,支持 pjax 後重新查詢AbortController管理事件監聽生命週期,避免重複綁定;wheel 事件加入stopPropagation防止穿透滾動;getBoundingClientRect加入 dirty flag 緩存;DOM 更新改為requestAnimationFrame批次處理;deltaMode正規化處理跨瀏覽器差異revokeObjectURL超時從 30 秒縮短為 5 秒ui/lazy模組實現延遲渲染,移除原本的renderActions.findScripthacktypesetClear+typesetPromise,取代texResetrandom_cover.js的resolvePostAsset提取為獨立函數,減少重複邏輯page.js的getVersion改為直接引用模組頂部require的themeVersion,避免每次呼叫都重複讀取package.jsoninject_head_js.js的 darkmode 判斷邏輯修復了start > end(跨午夜)的時段判斷錯誤Bug Fixes
translateButtonObject改為let並在translateInitialization中重新查詢)script[data-pjax]替換失敗的問題(加入item.parentNode存在性檢查)responseURL可能為undefined的問題,加入空值檢查handleThemeChange中themeChange可能不是物件的問題(加入typeof fn !== 'function'檢查)scrollFn中checkDocumentHeight()在初始化時過早 return 導致滾動事件未綁定的問題svg.style.touchAction = 'none'+ wheel 事件preventDefault+stopPropagation)__mermaidGestureBound移除改用__mermaidAbortController)gallery.js的IMAGE_REGEX在多次呼叫時lastIndex未重置的 bugflink.js和button.js缺少 HTML escape 導致的 XSS 風險hide.js的parseArgs缺少 trim 導致參數帶有前導空格series.js模組級可變狀態groups在多次 build 時累積過期資料(加入before_generate清理)score.js重複實現 escapeHTML,改用hexo-util的escapeHTML+ 額外處理{}getArchiveLength.js中monthly模式下 year 計數未累加的問題(year 計數改為始終執行)getArchiveLength.js中 key 選取邏輯,daily模式下也能正確取得月份計數related_post.js中postDesc被提前計算的問題,改為在渲染時才取值page.js中shuoshuoFN時區轉換的變數作用域問題page.js中cloudTags多餘的colorClass變數和 classpage.js中findArchivesTitle遞迴時m[key]可能不是字串的問題main.js的fetchUrl在 HTTP 失敗時靜默返回空數組的問題,改為 throw 錯誤main.js的runJustifiedGallery在limit/firstLimit為非法值時的邊界處理main.js的addJustifiedGallery在data非陣列時的錯誤處理main.js的sanitizeString從只替換"改為替換&、"、'、<、>五種字符main.js的forPostFn在hbe-container存在時跳過初始化main.js的gallery空數據時顯示載入動畫的問題Changed
Math.pow(1.001, delta)),操作更平滑minW/maxW/minH/maxHopenSvgInNewTab移除了不再需要的typeof svg === 'string'分支lazyMargin設為200pxadjustMenu的hideMenuIndex改為先宣告再賦值scrollFn的isChatBtn改為typeof window.chatBtn !== 'undefined'scrollFn的innerHeight改為每次滾動時動態計算window.innerHeight + 56New Features
knocket.pugtemplate and config optionscriptCache/cssCache) to prevent duplicate loadsrafThrottleutility function based onrequestAnimationFramesanitizeString) to prevent XSS injectionPerformance
IntersectionObserverinstead of throttle + iteration, significantly reducing scroll event computationbtf.throttletobtf.rafThrottle, syncing with browser render frame raterafThrottletoresizeevent handlerscrollToDestsmooth scrolling from linear interpolation to easeOutQuart easinggoUpElement/scrollPercentElementin closure forrightsideScrollPercent, avoiding DOM queries on every scrollpage-header/menuselements in closure foroverflowPaddingRdocument.getElementByIdresults insidebarFnfor hamburger menu toggleadjustMenu'sclassList.toggleinrequestAnimationFrameforPostFnto accept$articleparameter; all internal functions (addHighlightTool,addPhotoFigcaption,runLightbox,scrollFnToDo,addTableWrap,clickFnOfTagHide,tabsFn) use the passed$articleinstead of repeateddocument.getElementById('article-container')tabsFnto event delegation, binding click listener on$articleinstead of each.tabselementclickFnOfTagHideto event delegation, binding on$articleinstead of individual.hide-buttonelementsgetActualHeightto usecloneNode(true)+ hidden insertion measurement instead of traversing parent nodes and modifying stylesindexOftoMap.has/Map.getfor O(1) lookupsgetMaps) to avoid unnecessary computationtranslateButtonObjectintw_cn.jstolet, supporting re-query after pjaxAbortControllerfor event listener lifecycle management to prevent duplicate bindings; addstopPropagationto wheel events to prevent scroll pass-through; cachegetBoundingClientRectwith dirty flag; batch DOM updates viarequestAnimationFrame; normalizedeltaModefor cross-browser compatibilityrevokeObjectURLtimeout from 30s to 5sui/lazymodule for deferred rendering, removing therenderActions.findScripthacktypesetClear+typesetPromiseinstead oftexResetresolvePostAssetas independent function inrandom_cover.jsto reduce duplicationgetVersioninpage.jsto referencethemeVersionfrom module-levelrequire, avoiding repeatedpackage.jsonreadsinject_head_js.jsfor cross-midnight scenarios (start > end)Bug Fixes
translateButtonObjectchanged toletand re-queried intranslateInitialization)script[data-pjax]replacement failure after pjax completion (additem.parentNodeexistence check)responseURLpotentially beingundefinedin pjax error handling, add null checkshandleThemeChangecrash whenthemeChangeis not an object (addtypeof fn !== 'function'check)scrollFnwherecheckDocumentHeight()returning early prevented scroll event bindingsvg.style.touchAction = 'none'+preventDefault+stopPropagationon wheel events)__mermaidGestureBoundflag with__mermaidAbortControllercleanup)gallery.jsIMAGE_REGEXlastIndexnot resetting on repeated callsflink.jsandbutton.jsdue to missing HTML escapinghide.jsparseArgsmissing trim, causing parameters to have leading spacesseries.jsmodule-level mutablegroupsstate accumulating stale data across builds (addbefore_generatecleanup)score.jsduplicatingescapeHTMLimplementation, switch tohexo-util'sescapeHTMLwith additional{}handlinggetArchiveLength.jsyear count not accumulating inmonthlymodegetArchiveLength.jskey selection logic sodailymode correctly retrieves month countsrelated_post.jscomputingpostDescprematurely; defer to render timepage.jstimezone variable scope issue inshuoshuoFNpage.jscloudTagsremoving redundantcolorClassvariable and classpage.jsfindArchivesTitlerecursion wherem[key]might not be a stringmain.jsfetchUrlsilently returning empty array on HTTP failure; now throws errormain.jsrunJustifiedGalleryedge case handling whenlimit/firstLimitare invalid valuesmain.jsaddJustifiedGalleryerror handling whendatais not an arraymain.jssanitizeStringfrom only replacing"to replacing&,",',<,>charactersmain.jsforPostFnskipping initialization whenhbe-containerexistsmain.jsgallery showing loading animation when data is emptyChanged
Math.pow(1.001, delta)) for smoother operationminW/maxW/minH/maxHtypeof svg === 'string'branch in MermaidopenSvgInNewTablazyMarginto200pxadjustMenuhideMenuIndexfrom inline to pre-declaredscrollFnisChatBtntotypeof window.chatBtn !== 'undefined'scrollFninnerHeightto dynamically computewindow.innerHeight + 56on each scrollConfiguration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.