From cc2317c2e42da9484d26c81fd74033cfe8bd5338 Mon Sep 17 00:00:00 2001 From: "1152958806@qq.com" <17683872107czx> Date: Thu, 19 Oct 2023 11:17:04 +0800 Subject: [PATCH 01/15] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=90=8E=E5=8F=B0?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E5=AF=BC=E8=88=AA=E6=9D=A1=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E5=86=85=E5=AE=B9=E9=80=89=E6=8B=A9=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- settings.yaml | 3 +++ templates/assets/zhheo/zhheoblog.css | 17 ++++++++++------- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/settings.yaml b/settings.yaml index a1b3117e..f5d91012 100644 --- a/settings.yaml +++ b/settings.yaml @@ -446,6 +446,7 @@ spec: - $formkit: repeater if: $get(nav).value === 'custom-category' name: navCustomCategory + key: navCustomCategory label: 自定义分类 value: [ ] children: @@ -455,6 +456,7 @@ spec: - $formkit: repeater if: $get(nav).value === 'custom-tag' name: navCustomTag + key: navCustomTag label: 自定义标签 value: [ ] children: @@ -464,6 +466,7 @@ spec: - $formkit: repeater if: $get(nav).value === 'custom-url' name: navCustomUrl + key: navCustomUrl label: 自定义路径 value: [ ] children: diff --git a/templates/assets/zhheo/zhheoblog.css b/templates/assets/zhheo/zhheoblog.css index a8f72422..7f8c145b 100644 --- a/templates/assets/zhheo/zhheoblog.css +++ b/templates/assets/zhheo/zhheoblog.css @@ -3107,7 +3107,7 @@ ul { #pagination .page-number.current { background: rgb(0, 121, 255); - color: var(--white); + color: var(--heo-card-bg); cursor: default; border-radius: 5px; } @@ -8023,8 +8023,8 @@ div#banners { height: 100%; top: 0; left: 0; - background: var(--heo-theme); - color: var(--heo-white); + background: var(--heo-lighttext); + color: var(--heo-card-bg); padding-left: 0.5rem; display: flex; flex-direction: column; @@ -8047,7 +8047,7 @@ div#banners { #banners:hover #banner-hover { opacity: 1; padding-left: 2rem; - background: #4259efc9; + background: var(--heo-theme-op-deep); backdrop-filter: blur(15px); -webkit-backdrop-filter: blur(15px); -webkit-backface-visibility: hidden; @@ -8148,8 +8148,8 @@ div#banners { } .topGroup .banner-button:hover { - background: var(--heo-theme); - color: var(--heo-white); + background: var(--heo-lighttext); + color: var(--heo-card-bg); } .topGroup .banner-button i { @@ -8361,7 +8361,7 @@ a.categoryButton:hover { /* 首页分类条展示 */ #category-bar { - padding: 0.4rem 1rem 0.4rem 0.5rem; + padding: 0.4rem 1rem 0.4rem 0.7rem; background: var(--heo-card-bg); border-radius: 12px; display: flex; @@ -8372,6 +8372,9 @@ a.categoryButton:hover { transition: 0.3s; width: 100%; justify-content: space-between; + -webkit-user-select: none; + display: flex; + align-items: center } @media screen and (min-width: 1300px) { From 41614091a7132966c87739d8b870f00898ebdd87 Mon Sep 17 00:00:00 2001 From: "1152958806@qq.com" <17683872107czx> Date: Thu, 19 Oct 2023 14:26:59 +0800 Subject: [PATCH 02/15] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=E5=88=87=E6=8D=A2=E9=A1=B5=E9=9D=A2=E5=AF=BC=E8=87=B4=E8=AF=84?= =?UTF-8?q?=E8=AE=BA=E8=B7=AF=E7=94=B1=E4=B8=8D=E5=AF=B9=EF=BC=8C=E6=B2=A1?= =?UTF-8?q?=E6=9C=89=E8=AF=84=E8=AE=BA=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- templates/assets/js/comment/artalk.js | 2 +- templates/assets/js/comment/twikoo.js | 1 + templates/assets/js/comment/waline.js | 2 +- templates/assets/zhheo/commentBarrage.js | 2 +- 4 files changed, 4 insertions(+), 3 deletions(-) diff --git a/templates/assets/js/comment/artalk.js b/templates/assets/js/comment/artalk.js index b1306148..88eaf6cb 100644 --- a/templates/assets/js/comment/artalk.js +++ b/templates/assets/js/comment/artalk.js @@ -6,7 +6,7 @@ el: '#artalk-wrap', server: GLOBAL_CONFIG.source.artalk.artalkUrl, site: GLOBAL_CONFIG.source.artalk.siteName, - pageKey: location.pathname, + pageKey: location.pathname.replace(/\/page\/\d$/, ""), darkMode: false, countEl: '#ArtalkCount' }, null)) diff --git a/templates/assets/js/comment/twikoo.js b/templates/assets/js/comment/twikoo.js index 9ee2a9ff..21d958b7 100644 --- a/templates/assets/js/comment/twikoo.js +++ b/templates/assets/js/comment/twikoo.js @@ -5,6 +5,7 @@ el: '#twikoo-wrap', envId: GLOBAL_CONFIG.source.twikoo.twikooUrl, region: '', + path: location.pathname.replace(/\/page\/\d$/, ""), onCommentLoaded: function () { btf.loadLightbox(document.querySelectorAll('#twikoo .tk-content img:not(.tk-owo-emotion)')) typeof hljs === 'object' && hljs.highlightAll() diff --git a/templates/assets/js/comment/waline.js b/templates/assets/js/comment/waline.js index c7a9717e..94cc7b40 100644 --- a/templates/assets/js/comment/waline.js +++ b/templates/assets/js/comment/waline.js @@ -6,7 +6,7 @@ serverURL: GLOBAL_CONFIG.source.waline.serverURL, pageview: false, dark: 'html[data-theme="dark"]', - path: window.location.pathname, + path: window.location.pathname.replace(/\/page\/\d$/, ""), comment: false, locale:GLOBAL_CONFIG.source.waline.locale }, null)) diff --git a/templates/assets/zhheo/commentBarrage.js b/templates/assets/zhheo/commentBarrage.js index f011d00a..21fb74be 100644 --- a/templates/assets/zhheo/commentBarrage.js +++ b/templates/assets/zhheo/commentBarrage.js @@ -12,7 +12,7 @@ if(GLOBAL_CONFIG.htmlType!='comments' && document.querySelector('#post-comment') //token获取见上方 accessToken: GLOBAL_CONFIG.source.twikoo.accessToken, mailMd5: GLOBAL_CONFIG.source.comments.mailMd5, - pageUrl: window.location.pathname, + pageUrl: window.location.pathname.replace(/\/page\/\d$/, ""), barrageTimer: [], barrageList: [], siteName: GLOBAL_CONFIG.source.artalk.siteName, From c2e5b7fe0e88025496c7752f4fe62a0cce48e804 Mon Sep 17 00:00:00 2001 From: "1152958806@qq.com" <1152958806@qq.com> Date: Thu, 19 Oct 2023 18:52:42 +0800 Subject: [PATCH 03/15] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=9F=B3=E4=B9=90?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2logo=E6=B7=B1=E8=89=B2=E6=A8=A1=E5=BC=8F?= =?UTF-8?q?=E4=B8=8B=E7=9A=84=E9=A2=9C=E8=89=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- templates/assets/libs/aplayer/music.css | 6 +++++- templates/assets/zhheo/zhheoblog.css | 4 ++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/templates/assets/libs/aplayer/music.css b/templates/assets/libs/aplayer/music.css index a185247b..c47e96c2 100644 --- a/templates/assets/libs/aplayer/music.css +++ b/templates/assets/libs/aplayer/music.css @@ -60,9 +60,11 @@ body[data-type=music] #page { #page-header.not-top-img #nav .back-home-button, #page-header.not-top-img #nav a { color:#F7F7FA; - } +#page-header.not-top-img #nav .back-home-button:hover{ + color: var(--heo-card-bg); +} body[data-type=music] #footer, body[data-type=music] #nav-music { @@ -588,4 +590,6 @@ body[data-type=music] #nav-music { left: 0; top: 0; } + + } \ No newline at end of file diff --git a/templates/assets/zhheo/zhheoblog.css b/templates/assets/zhheo/zhheoblog.css index a8f72422..c6ffbe67 100644 --- a/templates/assets/zhheo/zhheoblog.css +++ b/templates/assets/zhheo/zhheoblog.css @@ -6581,6 +6581,10 @@ a.console_switchbutton { color: var(--heo-fontcolor) } +body[data-type=music] .page #nav #site-name span{ + color: var(--heo-white); +} + .page #nav #site-name:hover { color: var(--heo-card-bg) } From f5e982fa41bca42c2df631ba0335da150de86c98 Mon Sep 17 00:00:00 2001 From: "1152958806@qq.com" <1152958806@qq.com> Date: Thu, 19 Oct 2023 19:51:02 +0800 Subject: [PATCH 04/15] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=A7=BB=E5=8A=A8?= =?UTF-8?q?=E7=AB=AFlogo=E7=9A=84=E9=A2=9C=E8=89=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- templates/assets/zhheo/zhheoblog.css | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/templates/assets/zhheo/zhheoblog.css b/templates/assets/zhheo/zhheoblog.css index 66010119..dc3b4a2e 100644 --- a/templates/assets/zhheo/zhheoblog.css +++ b/templates/assets/zhheo/zhheoblog.css @@ -6584,9 +6584,10 @@ a.console_switchbutton { body[data-type=music] .page #nav #site-name span{ color: var(--heo-white); } - -.page #nav #site-name:hover { - color: var(--heo-card-bg) +@media screen and (max-width: 768px) { + .page #nav #site-name span:hover { + color: var(--heo-card-bg); + } } /* 搜索 */ From cbcdff23017ee51e85c6e4ab3bee27bc064a0beb Mon Sep 17 00:00:00 2001 From: "1152958806@qq.com" <17683872107czx> Date: Fri, 20 Oct 2023 15:47:18 +0800 Subject: [PATCH 05/15] =?UTF-8?q?=E6=96=87=E7=AB=A0=E7=9B=AE=E5=BD=95?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- templates/assets/js/main.js | 115 +++++++++++++++++++++--- templates/assets/zhheo/zhheoblog.css | 56 ++++++------ templates/modules/common/rightside.html | 2 +- templates/modules/footer.html | 2 +- 4 files changed, 133 insertions(+), 42 deletions(-) diff --git a/templates/assets/js/main.js b/templates/assets/js/main.js index 29c6cf3b..07ee1b3f 100644 --- a/templates/assets/js/main.js +++ b/templates/assets/js/main.js @@ -159,7 +159,7 @@ document.addEventListener('DOMContentLoaded', function () { const cardToc = document.getElementById("card-toc"); cardToc?.remove(); const $mobileTocButton = document.getElementById("mobile-toc-button") - if($mobileTocButton){ + if ($mobileTocButton) { $('#mobile-toc-button').attr('style', 'display: none'); } } else { @@ -167,13 +167,102 @@ document.addEventListener('DOMContentLoaded', function () { tocSelector: '.toc-content', contentSelector: '.post-content', headingSelector: 'h1,h2,h3,h4,h5,h6', + listItemClass: 'toc-item', collapseDepth: 6, headingsOffset: 70, scrollSmooth: true, scrollSmoothOffset: -70, - tocScrollOffset: 50 + tocScrollOffset: 35, + }); + const $cardTocLayout = document.getElementById('card-toc') + const $cardToc = $cardTocLayout.getElementsByClassName('toc-content')[0] + const $tocLink = $cardToc.querySelectorAll('.toc-link') + const $article = document.getElementById('article-container') + + window.tocScrollFn = function () { + return btf.throttle(function () { + const currentTop = window.scrollY || document.documentElement.scrollTop + scrollPercent(currentTop) + findHeadPosition(currentTop) + }, 100)() + } + window.addEventListener('scroll', tocScrollFn) + + const scrollPercent = function (currentTop) { + const docHeight = $article.clientHeight + const winHeight = document.documentElement.clientHeight + const headerHeight = $article.offsetTop + const contentMath = (docHeight > winHeight) ? (docHeight - winHeight) : (document.documentElement.scrollHeight - winHeight) + const scrollPercent = (currentTop - headerHeight) / (contentMath) + const scrollPercentRounded = Math.round(scrollPercent * 100) + const percentage = (scrollPercentRounded > 100) ? 100 : (scrollPercentRounded <= 0) ? 0 : scrollPercentRounded + $cardToc.setAttribute('progress-percentage', percentage) + } + + // toc元素點擊 + $cardToc.addEventListener('click', (ele) => { + if (window.innerWidth < 900) { + $cardTocLayout.classList.remove("open"); + } + }) + + const autoScrollToc = function (item) { + const activePosition = item.getBoundingClientRect().top + const sidebarScrollTop = $cardToc.scrollTop + if (activePosition > (document.documentElement.clientHeight - 100)) { + $cardToc.scrollTop = sidebarScrollTop + 150 + } + if (activePosition < 100) { + $cardToc.scrollTop = sidebarScrollTop - 150 + } + } + + // find head position & add active class + const list = $article.querySelectorAll('h1,h2,h3,h4,h5,h6') + let detectItem = '' + const findHeadPosition = function (top) { + if ($tocLink.length === 0 || top === 0) { + return false + } + + let currentId = '' + let currentIndex = '' + + list.forEach(function (ele, index) { + if (top > btf.getEleTop(ele) - 80) { + currentId = '#' + encodeURI(ele.getAttribute('id')) + currentIndex = index + } + }) + + if (detectItem === currentIndex) return + + + if (currentId === '') { + $cardToc.querySelectorAll('.active').forEach(i => { i.classList.remove('active') }) + detectItem = currentIndex + return + } + + detectItem = currentIndex + + $cardToc.querySelectorAll('.active').forEach(item => { item.classList.remove('active') }) + const currentActive = $tocLink[currentIndex] + currentActive.classList.add('active') + + setTimeout(() => { + autoScrollToc(currentActive) + }, 0) + + let parent = currentActive.parentNode + + for (; !parent.matches('.toc-list'); parent = parent.parentNode) { + if (parent.matches('li')) parent.classList.add('active') + } + } + } } @@ -210,13 +299,19 @@ document.addEventListener('DOMContentLoaded', function () { : saveToLocal.set('aside-status', 'hide', 2) $htmlDom.toggle('hide-aside') }, - runMobileToc: () => { - const $cardToc = document.getElementById("card-toc") - if ($cardToc.classList.contains("open")) { - $cardToc.classList.remove("open"); - } else { - $cardToc.classList.add("open"); - } + runMobileToc: item => { + const tocEle = document.getElementById("card-toc"); + tocEle.style.transformOrigin = `right ${item.getBoundingClientRect().top + 17}px`; + tocEle.style.transition = "transform 0.3s ease-in-out"; + tocEle.classList.toggle("open"); + tocEle.addEventListener( + "transitionend", + () => { + tocEle.style.transition = ""; + tocEle.style.transformOrigin = ""; + }, + { once: true } + ); }, } @@ -230,7 +325,7 @@ document.addEventListener('DOMContentLoaded', function () { rightSideFn.showOrHideBtn() break case "mobile-toc-button": - rightSideFn.runMobileToc(); + rightSideFn.runMobileToc(this); break; case 'readmode': rightSideFn.switchReadMode() diff --git a/templates/assets/zhheo/zhheoblog.css b/templates/assets/zhheo/zhheoblog.css index dc3b4a2e..a98f24de 100644 --- a/templates/assets/zhheo/zhheoblog.css +++ b/templates/assets/zhheo/zhheoblog.css @@ -2246,7 +2246,7 @@ blockquote footer cite::before { #aside-content #card-toc .toc-content { overflow-y: auto; - max-height: calc(100vh - 120px); + max-height: calc(100vh - 300px); } @media screen and (max-width: 900px) { @@ -2301,10 +2301,10 @@ blockquote footer cite::before { position: absolute; top: 0.6rem; right: 1.2rem; - color: rgb(169, 169, 169); + color: #a9a9a9; content: attr(progress-percentage); font-style: italic; - font-size: 1.2rem; + font-size: 1.2rem } #aside-content :only-child > .card-widget { @@ -2763,9 +2763,13 @@ blockquote footer cite::before { #page-header.nav-fixed #nav #site-name, #page-header.nav-fixed #nav #toggle-menu, #page-header.nav-fixed #nav a { - color: var(--heo-fontcolor); text-shadow: none; } +@media screen and (min-width: 900px) { + #page-header.nav-fixed #nav #site-name:hover { + color: var(--heo-white); + } +} #page-header.nav-visible #nav { transition: all 0.5s ease 0s; @@ -4856,7 +4860,7 @@ html { color: var(--heo-white); } -.nav-fixed #nav a { +.nav-fixed #nav a{ color: var(--heo-fontcolor); transition: 0.3s; } @@ -6125,6 +6129,7 @@ i.fab { .nav-fixed #nav a:hover { background: var(--heo-main); + color: var(--heo-white); transition: 0.3s; } @@ -6559,6 +6564,10 @@ a.console_switchbutton { transition: 0s; } +.nav-fixed #nav #site-name{ + color: var(--heo-fontcolor); +} + /* 导航栏名称样式 */ #nav #site-name { color: var(--heo-fontcolor); @@ -9595,10 +9604,6 @@ span.recent-post-top-text { right: 0; } - #rightside { - display: none - } - /* 背景 */ #web_bg { background: none !important; @@ -9693,16 +9698,16 @@ span.recent-post-top-text { /* 文章目录 */ #aside-content #card-toc .toc-content .toc-link.active { - line-height: 1.2; + line-height: 24px; border-radius: 12px; border-left-color: var(--heo-hovertext); background-color: var(--heo-card-bg); color: var(--heo-lighttext); - font-weight: bold; - font-size: 20px; + font-weight: 700; + font-size: 20px } -[data-theme=dark].toc .toc-item.active .toc-link .toc-text { +[data-theme=dark].toc-list .toc-item.active .toc-link{ color: var(--heo-white); } @@ -9712,27 +9717,30 @@ span.recent-post-top-text { } #aside-content #card-toc .toc-content .toc-link { - line-height: 1.2; + line-height: 24px; padding: 8px; - border-left: 0px solid transparent; + border-left: 0 solid transparent; border-radius: 12px; color: var(--heo-secondtext); cursor: default; + min-height: 40px; + display: flex; + align-items: center } -#aside-content #card-toc .toc-content .toc-link:not(.active) span { +#aside-content #card-toc .toc-content a.toc-link:not(.active) { opacity: 0.6; cursor: pointer; filter: blur(1px); transition: 0.3s; } -#aside-content #card-toc:hover .toc-content .toc-link:not(.active) span { +#aside-content #card-toc:hover .toc-content a.toc-link:not(.active) { filter: blur(0px); opacity: 1; } -#aside-content #card-toc .toc-content .toc-link:not(.active) span:hover { +#aside-content #card-toc .toc-content a:hover.toc-link:not(.active) { color: var(--heo-lighttext); } @@ -17438,18 +17446,6 @@ a#toPageButton.haveValue:hover { } } - -/* 文章目录样式 */ -a.toc-link { - color: currentColor; - height:0%; -} -/* 文章目录样式 */ -#aside-content #card-toc .toc-content .is-active-link { - font-weight: 700; - font-size: 20px; - color: var(--heo-lighttext); -} /* code样式 */ code:not([class]) { color: var(--heo-white); diff --git a/templates/modules/common/rightside.html b/templates/modules/common/rightside.html index 012793ae..778d34c0 100644 --- a/templates/modules/common/rightside.html +++ b/templates/modules/common/rightside.html @@ -11,7 +11,7 @@
- + From e46a13ee704d4e303127403da26ab5d2ccdd4214 Mon Sep 17 00:00:00 2001 From: "1152958806@qq.com" <17683872107czx> Date: Fri, 20 Oct 2023 16:51:57 +0800 Subject: [PATCH 06/15] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=A7=BB=E5=8A=A8?= =?UTF-8?q?=E7=AB=AF=E9=A6=96=E9=A1=B5=E6=96=87=E7=AB=A0=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- templates/assets/zhheo/zhheoblog.css | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/templates/assets/zhheo/zhheoblog.css b/templates/assets/zhheo/zhheoblog.css index a98f24de..74989412 100644 --- a/templates/assets/zhheo/zhheoblog.css +++ b/templates/assets/zhheo/zhheoblog.css @@ -1645,12 +1645,13 @@ blockquote footer cite::before { object-fit: cover; } -#recent-posts>.recent-post-item.col1.alternate .left_radius, #recent-posts>.recent-post-item.col1.alternate .right_radius { - width:75%; - display: flex; - height: 220px +@media screen and (min-width: 1300px) { + #recent-posts > .recent-post-item.col1.alternate .left_radius, #recent-posts > .recent-post-item.col1.alternate .right_radius { + width: 75%; + display: flex; + height: 220px + } } - #recent-posts > .recent-post-item .post_cover img.post_bg:hover { transform: scale(1.1); } From 847046ac83efe8fd8eac0b0568b93c3fbc29e0e7 Mon Sep 17 00:00:00 2001 From: "1152958806@qq.com" <1152958806@qq.com> Date: Sat, 21 Oct 2023 17:34:45 +0800 Subject: [PATCH 07/15] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=96=87=E7=AB=A0?= =?UTF-8?q?=E7=9B=AE=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- templates/assets/js/main.js | 86 ++-------------------------- templates/assets/zhheo/zhheoblog.css | 8 ++- 2 files changed, 11 insertions(+), 83 deletions(-) diff --git a/templates/assets/js/main.js b/templates/assets/js/main.js index 07ee1b3f..581948b5 100644 --- a/templates/assets/js/main.js +++ b/templates/assets/js/main.js @@ -168,38 +168,16 @@ document.addEventListener('DOMContentLoaded', function () { contentSelector: '.post-content', headingSelector: 'h1,h2,h3,h4,h5,h6', listItemClass: 'toc-item', - collapseDepth: 6, - headingsOffset: 70, + activeLinkClass: 'active', + activeListItemClass: 'active', + headingsOffset: -400, scrollSmooth: true, scrollSmoothOffset: -70, - tocScrollOffset: 35, - + tocScrollOffset: 50, }); const $cardTocLayout = document.getElementById('card-toc') const $cardToc = $cardTocLayout.getElementsByClassName('toc-content')[0] - const $tocLink = $cardToc.querySelectorAll('.toc-link') - const $article = document.getElementById('article-container') - - window.tocScrollFn = function () { - return btf.throttle(function () { - const currentTop = window.scrollY || document.documentElement.scrollTop - scrollPercent(currentTop) - findHeadPosition(currentTop) - }, 100)() - } - window.addEventListener('scroll', tocScrollFn) - - const scrollPercent = function (currentTop) { - const docHeight = $article.clientHeight - const winHeight = document.documentElement.clientHeight - const headerHeight = $article.offsetTop - const contentMath = (docHeight > winHeight) ? (docHeight - winHeight) : (document.documentElement.scrollHeight - winHeight) - const scrollPercent = (currentTop - headerHeight) / (contentMath) - const scrollPercentRounded = Math.round(scrollPercent * 100) - const percentage = (scrollPercentRounded > 100) ? 100 : (scrollPercentRounded <= 0) ? 0 : scrollPercentRounded - $cardToc.setAttribute('progress-percentage', percentage) - } // toc元素點擊 $cardToc.addEventListener('click', (ele) => { @@ -208,64 +186,10 @@ document.addEventListener('DOMContentLoaded', function () { } }) - const autoScrollToc = function (item) { - const activePosition = item.getBoundingClientRect().top - const sidebarScrollTop = $cardToc.scrollTop - if (activePosition > (document.documentElement.clientHeight - 100)) { - $cardToc.scrollTop = sidebarScrollTop + 150 - } - if (activePosition < 100) { - $cardToc.scrollTop = sidebarScrollTop - 150 - } - } - - // find head position & add active class - const list = $article.querySelectorAll('h1,h2,h3,h4,h5,h6') - let detectItem = '' - const findHeadPosition = function (top) { - if ($tocLink.length === 0 || top === 0) { - return false - } - - let currentId = '' - let currentIndex = '' - - list.forEach(function (ele, index) { - if (top > btf.getEleTop(ele) - 80) { - currentId = '#' + encodeURI(ele.getAttribute('id')) - currentIndex = index - } - }) - - if (detectItem === currentIndex) return - - - if (currentId === '') { - $cardToc.querySelectorAll('.active').forEach(i => { i.classList.remove('active') }) - detectItem = currentIndex - return - } - - detectItem = currentIndex - - $cardToc.querySelectorAll('.active').forEach(item => { item.classList.remove('active') }) - const currentActive = $tocLink[currentIndex] - currentActive.classList.add('active') - - setTimeout(() => { - autoScrollToc(currentActive) - }, 0) - - let parent = currentActive.parentNode - - for (; !parent.matches('.toc-list'); parent = parent.parentNode) { - if (parent.matches('li')) parent.classList.add('active') - } - } - } } + /** * Rightside */ diff --git a/templates/assets/zhheo/zhheoblog.css b/templates/assets/zhheo/zhheoblog.css index 74989412..216419b9 100644 --- a/templates/assets/zhheo/zhheoblog.css +++ b/templates/assets/zhheo/zhheoblog.css @@ -2246,6 +2246,7 @@ blockquote footer cite::before { /*}*/ #aside-content #card-toc .toc-content { + position: relative; overflow-y: auto; max-height: calc(100vh - 300px); } @@ -9705,7 +9706,8 @@ span.recent-post-top-text { background-color: var(--heo-card-bg); color: var(--heo-lighttext); font-weight: 700; - font-size: 20px + font-size: 20px; + position: relative; } [data-theme=dark].toc-list .toc-item.active .toc-link{ @@ -9726,7 +9728,8 @@ span.recent-post-top-text { cursor: default; min-height: 40px; display: flex; - align-items: center + align-items: center; + } #aside-content #card-toc .toc-content a.toc-link:not(.active) { @@ -10182,6 +10185,7 @@ div#author-info__sayhi:hover { #aside-content .item-headline + div, #aside-content .item-headline + ul { padding: 0; + -webkit-user-select: none; } @media screen and (min-width: 1300px) { From 3699a5a818a4d1133318193e549438d1d802ab8d Mon Sep 17 00:00:00 2001 From: "1152958806@qq.com" <1152958806@qq.com> Date: Wed, 25 Oct 2023 18:35:40 +0800 Subject: [PATCH 08/15] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- settings.yaml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/settings.yaml b/settings.yaml index f5d91012..df8772e9 100644 --- a/settings.yaml +++ b/settings.yaml @@ -557,7 +557,7 @@ spec: - $formkit: group name: widgetss label: 侧边栏内容 - help: 目前提供的小部件有:profile(站点资料), wechat(微信), power(爱发电赞助), welcome(小板报), steam(Steam卡片), music(音乐卡片), friend-link(通讯录), recent-posts(近期文章), comments(最新评论), categories(文章分类), tags(文章标签), stat(统计), tags-stat(标签&归档&统计), adbox(广告区域)。你可以随意组合或排序,以逗号隔开。 + help: 目前提供的小部件有:profile(个人卡片), wechat(公众号), power(爱发电赞助), welcome(小板报), steam(Steam卡片), music(音乐卡片), friend-link(通讯录), recent-posts(最新文章), comments(最新评论), categories(文章分类), tags(文章标签), stat(统计), tags-stat(标签&归档&统计), adbox(广告区域)。你可以随意组合或排序,以逗号隔开。 value: indexWidgets: profile,wechat,comments,recent-posts,categories,tags-stat postWidgets: profile,wechat,toc,comments,recent-posts,categories,tags-stat @@ -2327,10 +2327,6 @@ spec: - group: style label: 样式 formSchema: - - $formkit: checkbox - name: enableChangeColorScheme - label: 允许访客切换配色 - value: true - $formkit: radio name: colorScheme label: 默认配色 From e0adfa19327cb8e8b9eb8de6371d0781ed14b847 Mon Sep 17 00:00:00 2001 From: "1152958806@qq.com" <17683872107czx> Date: Fri, 27 Oct 2023 14:50:31 +0800 Subject: [PATCH 09/15] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=B8=8B=E4=B8=80?= =?UTF-8?q?=E7=AF=87=E6=96=87=E7=AB=A0=E6=A0=B7=E5=BC=8F=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- templates/modules/common/rightside.html | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/templates/modules/common/rightside.html b/templates/modules/common/rightside.html index 778d34c0..ca380f68 100644 --- a/templates/modules/common/rightside.html +++ b/templates/modules/common/rightside.html @@ -30,8 +30,10 @@ .comment-barrage { right: 20px; } - #post #pagination { - right: 20px; + @media screen and (min-width: 1300px) { + #post #pagination { + right: 20px; + } } From 4520a9afedf8e3f18261ced1d7fc44b04f1a0d87 Mon Sep 17 00:00:00 2001 From: "1152958806@qq.com" <17683872107czx> Date: Sat, 28 Oct 2023 13:22:36 +0800 Subject: [PATCH 10/15] =?UTF-8?q?=E3=80=90=E4=B8=BB=E9=A1=B5=E3=80=91?= =?UTF-8?q?=E9=A1=B6=E9=83=A8banner=E5=8D=A1=E7=89=87=E5=B0=BA=E5=AF=B8?= =?UTF-8?q?=E8=B0=83=E6=95=B4=EF=BC=8C=20=E4=BF=AE=E5=A4=8D=E7=A7=BB?= =?UTF-8?q?=E5=8A=A8=E7=AB=AF=E7=BF=BB=E9=A1=B5=E6=8C=89=E9=92=AE=E7=9A=84?= =?UTF-8?q?=E8=BE=B9=E8=B7=9D=E9=97=AE=E9=A2=98=EF=BC=8C=20=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=E6=89=93=E8=B5=8F=E6=8C=89=E9=92=AE=E8=92=99=E6=9D=BF?= =?UTF-8?q?=E7=9A=84=E6=98=BE=E7=A4=BA=E9=97=AE=E9=A2=98=EF=BC=8C=20?= =?UTF-8?q?=E3=80=90=E8=AF=84=E8=AE=BA=E3=80=91=E8=A1=A8=E6=83=85=E9=80=89?= =?UTF-8?q?=E6=8B=A9=E5=A2=9E=E5=8A=A0=E5=8A=A8=E7=94=BB=E8=BF=87=E6=B8=A1?= =?UTF-8?q?=EF=BC=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- templates/assets/css/post-copyright-one.css | 18 ---- templates/assets/css/post-copyright.css | 18 ---- templates/assets/zhheo/zhheoblog.css | 110 ++++++++++++-------- 3 files changed, 68 insertions(+), 78 deletions(-) diff --git a/templates/assets/css/post-copyright-one.css b/templates/assets/css/post-copyright-one.css index 6535e35f..30bc9203 100644 --- a/templates/assets/css/post-copyright-one.css +++ b/templates/assets/css/post-copyright-one.css @@ -287,24 +287,6 @@ img.post-copyright__author_img_front { width: fit-content; } -@media screen and (max-width: 768px) { - .post-reward .reward-main { - justify-content: center !important; - position: fixed; - bottom: 0; - left: 0; - right: 0; - z-index: 102; - width: 100%; - margin: auto; - padding: 0; - } -} - -.post-reward .reward-main .reward-all { - background:var(--heo-card-bg); -} - .post-tools .post-tools-left .rewardLeftButton,.post-tools .post-tools-left .shareRight { display: -webkit-box; display: -moz-box; diff --git a/templates/assets/css/post-copyright.css b/templates/assets/css/post-copyright.css index ccbf9204..a105f8a7 100644 --- a/templates/assets/css/post-copyright.css +++ b/templates/assets/css/post-copyright.css @@ -194,21 +194,3 @@ -webkit-line-clamp: 1; -webkit-box-orient: vertical; } - -@media screen and (max-width: 768px) { - .post-reward .reward-main { - justify-content: center !important; - position: fixed; - bottom: 0; - left: 0; - right: 0; - z-index: 102; - width: 100%; - margin: auto; - padding: 0; - } -} - -.post-reward .reward-main .reward-all { - background:var(--heo-card-bg); -} diff --git a/templates/assets/zhheo/zhheoblog.css b/templates/assets/zhheo/zhheoblog.css index 216419b9..b5338b50 100644 --- a/templates/assets/zhheo/zhheoblog.css +++ b/templates/assets/zhheo/zhheoblog.css @@ -6305,22 +6305,13 @@ img.footer_mini_logo { height: 50px; margin: 0 1rem; cursor: pointer; - transition: cubic-bezier(0, 0, 0, 1.29) 0.5s; + transition: cubic-bezier(0,0,0,1.29) .5s; } img.footer_mini_logo:hover { -webkit-backface-visibility: hidden; -webkit-transform-style: preserve-3d; -} - -@media screen and (min-width: 1300px) { - img.footer_mini_logo:hover { - transform: scale(1.03); - } - - img.footer_mini_logo:active { - transform: scale(0.97); - } + transform: scale(1.2) } /* logo居中 */ @@ -7921,24 +7912,24 @@ div#banners { @media screen and (min-width: 1300px) { .topGroup { - display: flex; + display:flex; flex-direction: row; flex-wrap: wrap; - justify-content: flex-end; - height: calc(328px + 0.5rem); + justify-content: space-between; + height: calc(328px + .5rem); align-content: space-between; - width: calc(600px + 1.5rem); + width: calc(50% - .25rem); position: relative; animation: slide-in .6s .1s backwards } div#bannerGroup { - width: calc(100% - 600px - 2rem); - margin-right: 0.5rem; - height: calc(328px + 0.5rem); + width: calc(50% - .25rem); + margin-right: .5rem; + height: calc(328px + .5rem); display: flex; flex-direction: column; - justify-content: space-between; + justify-content: space-between } div#banners { @@ -7955,7 +7946,7 @@ div#banners { flex-direction: column; overflow: hidden; transition: 0.3s; - clip-path: inset(0 0 0 0 round 12px); + will-change: transform; animation: slide-in .6s .1s backwards; } @@ -8080,19 +8071,19 @@ div#banners { .topGroup .todayCard { position: absolute; - width: calc(600px + 1rem); + width: 100%; height: 100%; z-index: 1; top: 0; - left: 0; - background: var(--card-bg); + right: 0; + background: var(--heo-card-bg); border-radius: 12px; - margin-left: 0.5rem; + margin-left: .5rem; overflow: hidden; - transition: 0.3s; + transition: .3s; display: flex; cursor: pointer; - pointer-events: all; + pointer-events: all } .topGroup .todayCard::after { @@ -9268,14 +9259,19 @@ ins.adsbygoogle { @media screen and (min-width: 1300px) { .recent-post-top .recent-post-item { - margin-right: 0px; - margin-bottom: 0.5rem; + width:calc(100% / 3 - .25rem); + margin-left: 0 } .recent-post-top .recent-post-item:active { transform: scale(0.97); } + .recent-post-top .recent-post-item { + margin-right: 0; + margin-bottom: .5rem + } + .recent-post-top { overflow-x: visible; } @@ -11794,7 +11790,7 @@ blockquote p { .post-reward .reward-main .reward-all { border-radius: 12px; - background: var(--heo-background); + background: var(--heo-card-bg); border: var(--style-border-always); padding: 0.8rem; display: flex; @@ -11840,20 +11836,18 @@ a.reward-main-btn:hover { color: var(--heo-red); } - - /* 赞赏背景 */ - #quit-box { position: fixed; width: 100vw; - height: 100vh; - background: rgba(0, 0, 0, .4); + height: calc(100vh); + background: rgba(0,0,0,.2); + opacity: 0.01; top: 0; left: 0; display: none; - z-index: 101; - margin: 0 !important; + z-index: 109; + margin: 0!important } .post-tools-left #quit-box { @@ -11862,6 +11856,7 @@ a.reward-main-btn:hover { @media screen and (max-width: 768px) { #quit-box { + z-index:109; display: none!important; } } @@ -12131,12 +12126,12 @@ a.reward-main-btn:hover { #pagination .pagination .extend { width: 100%; height: 2.5rem; - margin: 0.2rem 1rem 1rem 1rem; + margin: .2rem 0 1rem 0; border-radius: 12px; line-height: 2.5rem; background: var(--heo-card-bg); border: var(--style-border-always); - box-shadow: var(--heo-shadow-border); + box-shadow: var(--heo-shadow-border) } #pagination .pagination .extend i { @@ -12375,6 +12370,11 @@ div#post-comment { width: 100%; } +.tk-content img { + max-height: 1100px!important; + max-width: 100%!important; + border-radius: 12px +} #post-comment .comment-tips.show { display: flex; @@ -12391,6 +12391,7 @@ div#post-comment { width: 32px !important; height: 32px !important; box-shadow: var(--heo-shadow-border); + margin-right: 16px!important } .tk-avatar.tk-has-avatar { @@ -12399,6 +12400,10 @@ div#post-comment { border-radius: 32px !important; } +.tk-avatar.tk-has-avatar img { + border-radius: 32px!important; +} + .tk-row .tk-avatar { display: none; } @@ -12824,6 +12829,11 @@ button.el-button.tk-cancel.el-button--default.el-button--small { pointer-events: none; } +.OwO.OwO-open .OwO-body { + animation: .3s ease .1s 1 normal both running donate_effcet +} + + @keyframes owoIn { 0% { transform: translate(0, -95%); @@ -13037,6 +13047,18 @@ button.el-button.tk-cancel.el-button--default.el-button--small { @media screen and (max-width: 768px) { + .post-reward .reward-main { + justify-content: center !important; + position: fixed; + bottom: 0; + left: 0; + right: 0; + z-index: 102; + width: 100%; + margin: auto; + padding: 0; + } + .post-reward .reward-main .reward-all { width: 100%; display: flex; @@ -15266,8 +15288,6 @@ span.hexo-douban-pagenum { animation-delay: 1.8s; } - - #about-page .author-img { margin: 0 30px; border-radius: 50%; @@ -15276,10 +15296,18 @@ span.hexo-douban-pagenum { position: relative; background: var(--heo-secondbg); user-select: none; + transition: .3s } #about-page .author-img img { border-radius: 200px; + overflow: hidden; + width: 180px; + height: 180px +} + +#about-page .author-img:hover { + transform: scale(1.1) } #about-page .author-img::before { @@ -15312,8 +15340,6 @@ span.hexo-douban-pagenum { } } - - #about-page .author-title { font-size: 2rem; font-weight: bold; From 3ee5f3bd6657e94ebc02c60c2439f11a2af7c241 Mon Sep 17 00:00:00 2001 From: "1152958806@qq.com" <1152958806@qq.com> Date: Sat, 28 Oct 2023 20:56:25 +0800 Subject: [PATCH 11/15] =?UTF-8?q?=E9=80=82=E9=85=8D=E6=90=9C=E7=B4=A2?= =?UTF-8?q?=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- templates/assets/css/post-copyright-one.css | 19 +++++++++++++++++- templates/assets/css/post-copyright.css | 18 +++++++++++++++++ .../assets/libs/tocbot/4.18.2/tocbot.css | 2 +- templates/assets/zhheo/zhheoblog.css | 20 ++++--------------- templates/modules/head.html | 2 ++ templates/modules/variables/layout.html | 16 ++++++++++++++- 6 files changed, 58 insertions(+), 19 deletions(-) diff --git a/templates/assets/css/post-copyright-one.css b/templates/assets/css/post-copyright-one.css index 30bc9203..3eb5dfba 100644 --- a/templates/assets/css/post-copyright-one.css +++ b/templates/assets/css/post-copyright-one.css @@ -287,12 +287,29 @@ img.post-copyright__author_img_front { width: fit-content; } +@media screen and (max-width: 768px) { + .post-reward .reward-main { + justify-content: center !important; + position: fixed; + bottom: 0; + left: 0; + right: 0; + z-index: 102; + width: 100%; + margin: auto; + padding: 0; + } +} + +.post-reward .reward-main .reward-all { + background:var(--heo-card-bg); +} + .post-tools .post-tools-left .rewardLeftButton,.post-tools .post-tools-left .shareRight { display: -webkit-box; display: -moz-box; display: -webkit-flex; display: -ms-flexbox; - display: box; display: flex; margin: 10px } diff --git a/templates/assets/css/post-copyright.css b/templates/assets/css/post-copyright.css index a105f8a7..b73ddfce 100644 --- a/templates/assets/css/post-copyright.css +++ b/templates/assets/css/post-copyright.css @@ -194,3 +194,21 @@ -webkit-line-clamp: 1; -webkit-box-orient: vertical; } + +@media screen and (max-width: 768px) { + .post-reward .reward-main { + justify-content: center !important; + position: fixed; + bottom: 0; + left: 0; + right: 0; + z-index: 102; + width: 100%; + margin: auto; + padding: 0; + } +} + +.post-reward .reward-main .reward-all { + background:var(--heo-card-bg); +} \ No newline at end of file diff --git a/templates/assets/libs/tocbot/4.18.2/tocbot.css b/templates/assets/libs/tocbot/4.18.2/tocbot.css index 054d963d..8bcd2c66 100644 --- a/templates/assets/libs/tocbot/4.18.2/tocbot.css +++ b/templates/assets/libs/tocbot/4.18.2/tocbot.css @@ -1 +1 @@ -.toc{overflow-y:auto}.toc>.toc-list{overflow:hidden;position:relative}.toc>.toc-list li{list-style:none}.js-toc{overflow-y:hidden}.toc-list{margin:0;padding-left:10px}a.toc-link{color:currentColor;height:100%}.is-collapsible{max-height:1000px;overflow:hidden;transition:all 300ms ease-in-out}.is-collapsed{max-height:0}.is-position-fixed{position:fixed !important;top:0}.is-active-link{font-weight:700}.toc-link::before{background-color:#EEE;content:' ';display:inline-block;height:inherit;left:0;margin-top:-1px;position:absolute;width:2px}.is-active-link::before{background-color:#54BC4B} +.toc{overflow-y:auto}.toc>.toc-list{overflow:hidden;position:relative}.toc>.toc-list li{list-style:none}.js-toc{overflow-y:hidden}.toc-list{margin:0;padding-left:10px}a.toc-link{color:currentColor;height:100%}.is-collapsible{max-height:1000px;overflow:hidden;transition:all 300ms ease-in-out}.is-collapsed{max-height:0}.is-position-fixed{position:fixed !important;top:0}.is-active-link{font-weight:700}.toc-link::before{content:' ';display:inline-block;height:inherit;left:0;margin-top:-1px;position:absolute;width:2px}.is-active-link::before{background-color:#54BC4B} diff --git a/templates/assets/zhheo/zhheoblog.css b/templates/assets/zhheo/zhheoblog.css index b5338b50..a7ea1e03 100644 --- a/templates/assets/zhheo/zhheoblog.css +++ b/templates/assets/zhheo/zhheoblog.css @@ -4949,7 +4949,7 @@ html { transition: 0.3s; display: flex; justify-content: center; - z-index: 1000 !important; + z-index: 999 !important; -webkit-user-select: none; } @@ -11996,7 +11996,7 @@ a.reward-main-btn:hover { overflow: hidden; cursor: pointer; opacity: 0; - z-index: 1002 + z-index: 999 } @@ -13029,7 +13029,7 @@ button.el-button.tk-cancel.el-button--default.el-button--small { } .post-reward .reward-main { - z-index: 1003; + z-index: 999; } .tk-meta-input .el-input .el-input-group__prepend { @@ -13047,18 +13047,6 @@ button.el-button.tk-cancel.el-button--default.el-button--small { @media screen and (max-width: 768px) { - .post-reward .reward-main { - justify-content: center !important; - position: fixed; - bottom: 0; - left: 0; - right: 0; - z-index: 102; - width: 100%; - margin: auto; - padding: 0; - } - .post-reward .reward-main .reward-all { width: 100%; display: flex; @@ -15147,7 +15135,7 @@ span.hexo-douban-pagenum { background: var(--heo-secondbg); display: flex; overflow: hidden; - z-index: 1002; + z-index: 999; transition: 0.3s; } diff --git a/templates/modules/head.html b/templates/modules/head.html index 5509130d..f1f6e4d4 100644 --- a/templates/modules/head.html +++ b/templates/modules/head.html @@ -108,10 +108,12 @@ win.activateDarkMode = function () { document.documentElement.setAttribute('data-theme', 'dark') + document.documentElement.classList.add('color-scheme-dark') heo.initThemeColor() } win.activateLightMode = function () { document.documentElement.setAttribute('data-theme', 'light') + document.documentElement.classList.remove('color-scheme-dark') heo.initThemeColor() } const t = saveToLocal.get('theme') diff --git a/templates/modules/variables/layout.html b/templates/modules/variables/layout.html index 75bd895e..112df329 100644 --- a/templates/modules/variables/layout.html +++ b/templates/modules/variables/layout.html @@ -11,6 +11,20 @@ --heo-theme-op: [(${theme.config.style.themeDarkSkin})]23 !important; --heo-theme-op-deep: [(${theme.config.style.themeDarkSkin})]dd !important; --heo-theme-none: [(${theme.config.style.themeDarkSkin})]00 !important; - + } + .color-scheme-dark,.dark,[data-color-scheme=dark] { + --halo-search-widget-color-modal-layer: var(--heo-maskbgdeep); + --halo-search-widget-color-modal-content-bg: var(--heo-secondbg); + --halo-search-widget-color-form-input: rgb(255, 255, 255); + --halo-search-widget-color-form-input-placeholder: #ffffff82; + --halo-search-widget-color-form-input-bg: var(--heo-secondbg); + --halo-search-widget-color-form-divider: rgb(30 41 59); + --halo-search-widget-color-result-item-bg: var(--heo-secondbg); + --halo-search-widget-color-result-item-hover-bg: rgb(51 65 85); + --halo-search-widget-color-result-item-title: rgb(255 255 255); + --halo-search-widget-color-result-item-content: #ffffff82; + --halo-search-widget-color-command-kbd-item: var(--heo-secondtext); + --halo-search-widget-color-command-kbd-border: rgb(30 41 59); + --halo-search-widget-color-result-empty: #ffffff82 } \ No newline at end of file From a7811a59688a3ff238e089e9b2e3cb7c01f43c8f Mon Sep 17 00:00:00 2001 From: "1152958806@qq.com" <1152958806@qq.com> Date: Sun, 29 Oct 2023 20:51:02 +0800 Subject: [PATCH 12/15] =?UTF-8?q?=E9=80=82=E9=85=8D=E6=90=9C=E7=B4=A2?= =?UTF-8?q?=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- templates/modules/variables/layout.html | 27 +++++++++++++++---------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/templates/modules/variables/layout.html b/templates/modules/variables/layout.html index 112df329..b5d7baba 100644 --- a/templates/modules/variables/layout.html +++ b/templates/modules/variables/layout.html @@ -12,19 +12,24 @@ --heo-theme-op-deep: [(${theme.config.style.themeDarkSkin})]dd !important; --heo-theme-none: [(${theme.config.style.themeDarkSkin})]00 !important; } + .color-scheme-dark,.dark,[data-color-scheme=dark] { --halo-search-widget-color-modal-layer: var(--heo-maskbgdeep); - --halo-search-widget-color-modal-content-bg: var(--heo-secondbg); - --halo-search-widget-color-form-input: rgb(255, 255, 255); - --halo-search-widget-color-form-input-placeholder: #ffffff82; - --halo-search-widget-color-form-input-bg: var(--heo-secondbg); - --halo-search-widget-color-form-divider: rgb(30 41 59); - --halo-search-widget-color-result-item-bg: var(--heo-secondbg); - --halo-search-widget-color-result-item-hover-bg: rgb(51 65 85); - --halo-search-widget-color-result-item-title: rgb(255 255 255); + --halo-search-widget-color-modal-content-bg: var(--heo-card-bg); + --halo-search-widget-color-form-input: rgb(255 255 255 / 79.9%); + --halo-search-widget-color-form-input-placeholder: #6b7280d9; + --halo-search-widget-color-form-input-bg: var(--heo-card-bg); + --halo-search-widget-color-form-divider: #bbbbbb0f; + --halo-search-widget-color-result-item-bg: var(--heo-card-bg); + --halo-search-widget-color-result-item-hover-bg: #90939914; + --halo-search-widget-color-result-item-title: rgb(255 255 255 / 79.9%); --halo-search-widget-color-result-item-content: #ffffff82; - --halo-search-widget-color-command-kbd-item: var(--heo-secondtext); - --halo-search-widget-color-command-kbd-border: rgb(30 41 59); - --halo-search-widget-color-result-empty: #ffffff82 + --halo-search-widget-color-command-kbd-item: #c0c4ccb3; + --halo-search-widget-color-command-kbd-border: #bbbbbb0f; + --halo-search-widget-color-result-empty: #6b7280d9 + } + + [data-theme=light] { + --halo-search-widget-color-result-item-title : #4B5563 } \ No newline at end of file From 8de18ab71ade1f9fdcf10e0267afa5b2cfe994e3 Mon Sep 17 00:00:00 2001 From: "1152958806@qq.com" <1152958806@qq.com> Date: Mon, 30 Oct 2023 22:02:23 +0800 Subject: [PATCH 13/15] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=A0=87=E7=AD=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- templates/assets/js/custom.js | 344 +++++++++++++++++++++++++- templates/modules/layouts/layout.html | 2 +- 2 files changed, 332 insertions(+), 14 deletions(-) diff --git a/templates/assets/js/custom.js b/templates/assets/js/custom.js index b25d40bb..1a33028b 100644 --- a/templates/assets/js/custom.js +++ b/templates/assets/js/custom.js @@ -1,13 +1,331 @@ + + /* 获取直属子元素 */ function getChildren(el, className) { for (let item of el.children) if (item.className === className) return item; return null; } +function parseExpression(expression, occupied) { + if (expression === "${full}") { + return occupied; + } + const match = expression.replaceAll("full", occupied).match(/^\$\{([<>=]{1,2}.+)\?(.+):(.+)}$/); + if (match) { + return eval(`occupied${match[1]} ? ${match[2]} : ${match[3]}`); + } + throw new Error(`Invalid expression "${expression}"`); +} + +function extractHeight(occupied, width, height) { + const occupiedWidth = width.endsWith("%") + ? occupied * (Number(width.slice(0, -1)) / 100) + : Number(width); + height = height.replaceAll("cwidth", occupiedWidth); + if (height.startsWith("${") && height.endsWith("}")) { + return parseExpression(height, occupied); + } else { + return height; + } +} + // 跳转链接的卡片 document.addEventListener("DOMContentLoaded", () => { + // 分栏 tab + customElements.define( + "hao-tabs", + class HaoTabs extends HTMLElement { + constructor() { + super(); + this.options = { + id: this.getAttribute("id") || '', + index: this.getAttribute("index") || '' + }; + const id = this.options.id + const index = this.options.index + const _temp = getChildren(this, "_tpl"); + let _innerHTML = _temp.innerHTML.trim().replace(/^(
)|(
)$/g, ""); + let navs = ""; + let contents = ""; + let newIndex = 0; + + _innerHTML.replace( + /{tabs-item([^}]*)}([\s\S]*?){\/tabs-item}/g, + function ($0, $1, $2) { + newIndex +=1; + let active ='' + if(index!='' && index!=null){ + if(newIndex == index){ + active = 'active'; + } + }else{ + if(newIndex==1){ + active = 'active' + } + } + navs += ` +
  • + `; + contents += ` +
    + ${$2.trim().replace(/^(
    )|(
    )$/g, "")} + +
    + `; + } + ); + let htmlStr = ` +
    + +
    ${contents}
    +
    + + `; + this.innerHTML = htmlStr; + } + } + ); + + // github仓库 + customElements.define( + "hao-github", + class GithubDom extends HTMLElement { + constructor() { + super(); + this.owner = this.getAttribute("owner") || ""; + this.repo = this.getAttribute("repo") || ""; + if (this.owner.length === 0 || this.repo.length === 0) { + return; + } + this.innerHTML = ` +
    ` + this.fetchDataAndRender(); + } + async fetchDataAndRender() { + try { + const res = await this.fetchRepoInfo(); + const commits = await this.fetchRepoCommits(); + this.render(res, commits); + } catch (error) { + console.error("Error:", error); + } + } + async fetchRepoInfo() { + const response = await fetch(`/apis/api.plugin.halo.run/v1alpha1/plugins/HaoTag/github/repository?owner=${this.owner}&repo=${this.repo}`); + const data = await response.json(); + return data.data.repository; + } + async fetchRepoCommits() { + const response = await fetch(`https://api.github.com/repos/${this.owner}/${this.repo}/stats/participation`); + const commits = await response.json(); + return commits.all; + } + render(res, commits) { + let updatedAtDate = new Date(res.updatedAt); + let currentYear = new Date().getFullYear(); + let dateFormatOptions = { month: 'long', day: 'numeric' }; + if (updatedAtDate.getFullYear() !== currentYear) { + dateFormatOptions.year = 'numeric'; + } + let updatedAt = updatedAtDate.toLocaleDateString("en-US", dateFormatOptions); + let points = commits.map((value, index) => `${index*3},${value+1}`).join(' '); + let polyline = this.generatePolyline(points); + this.innerHTML = this.generateHTMLTemplate(res, polyline, updatedAt); + } + generatePolyline(points) { + return ``; + } + generateHTMLTemplate(res, polyline, updatedAt) { + return `
    +
    +
    + + ${res.name} + + + Public + +

    + ${res.description || ""} +

    +
    +
    + + + + + + + + + + + ${polyline} + + + + + + + +
    +
    +
    + + + ${res.primaryLanguage.name || "Unknown"} + + + + ${res.stargazerCount || 0} + + + + ${res.licenseInfo.nickname || "NO LICENCE"} + + + + + + ${res.forks.totalCount || 0} + + + + ${res.issues.totalCount || 0} + + + + ${res.pullRequests.totalCount || 0} + + + Updated on ${updatedAt || "Unknown"} + +
    +
    + ` + } + } + ); + + + // 彩虹虚线 + customElements.define( + "hao-dotted", + class DottedDom extends HTMLElement { + constructor() { + super(); + this.startColor = this.getAttribute("begin") || "#ff6c6c"; + this.endColor = this.getAttribute("end") || "#1989fa"; + this.innerHTML = ` + + `; + } + } + ); + + // 进度条 + customElements.define( + "hao-progress", + class ProgressDom extends HTMLElement { + constructor() { + super(); + this.options = { + percentage: /^\d{1,3}%$/.test(this.getAttribute("pct")) + ? this.getAttribute("pct") + : "50%", + color: this.getAttribute("color") || "#ff6c6c", + }; + this.innerHTML = ` + +
    +
    +
    +
    ${this.options.percentage}
    +
    + `; + } + } + ); + + // 小标记 + customElements.define( + "hao-sign", + class SignDom extends HTMLElement { + constructor() { + super(); + this.options = { + type: this.getAttribute("type"), // 小标签类型 + content: this.innerHTML, // 内容 + }; + this.render(); + } + render() { + this.innerHTML = `${this.options.content}`; + } + } + ); + + + // B站视频 + customElements.define( + "hao-bilibili", + class BiliBiliDom extends HTMLElement { + constructor() { + super(); + this.options = { + bvid: this.getAttribute("bvid"), + page: +(this.getAttribute("page") || "1"), + width: this.getAttribute("width") || "100%", + height: this.getAttribute("height") || "500", + autoplay: this.getAttribute("autoplay") || 0, + }; + this.render(); + } + render() { + if (!this.options.bvid) return (this.innerHTML = "请填写正确的bvid"); + const realHeight = extractHeight(this.parentElement.offsetWidth, this.options.width, this.options.height); + this.setAttribute("height", realHeight); + this.innerHTML = ` + `; + } + } + ); + + // pdf + customElements.define( + "hao-pdf", + class PDFDom extends HTMLElement { + constructor() { + super(); + this.options = { + src: this.getAttribute("src") || "", + width: this.getAttribute("width") || "100%", + height: this.getAttribute("height") || "500", + }; + this.render(); + } + render() { + if (!this.options.src) return (this.innerHTML = "请填写正确的pdf链接"); + const realHeight = extractHeight(this.parentElement.offsetWidth, this.options.width, this.options.height); + this.setAttribute("height", realHeight); + this.innerHTML = ` +
    + +
    `; + } + } + ); + customElements.define( "hao-introduction-card", class HaoIntroductionCard extends HTMLElement { @@ -333,23 +651,23 @@ document.addEventListener("DOMContentLoaded", () => { // } // } // navs += ` - //
  • - // `; + //
  • + // `; // contents += ` - //
    - // ${$2.trim().replace(/^(
    )|(
    )$/g, "")} - // - //
    - // `; + //
    + // ${$2.trim().replace(/^(
    )|(
    )$/g, "")} + // + //
    + // `; // } // ); // let htmlStr = ` - //
    - // - //
    ${contents}
    - //
    - // - // `; + //
    + // + //
    ${contents}
    + //
    + // + // `; // this.innerHTML = htmlStr; // } // } diff --git a/templates/modules/layouts/layout.html b/templates/modules/layouts/layout.html index 53e990f5..d615d6fd 100644 --- a/templates/modules/layouts/layout.html +++ b/templates/modules/layouts/layout.html @@ -17,7 +17,7 @@ rel="stylesheet" th:href="${not #strings.isEmpty(theme.config.comments.walines.walinesCss) ? theme.config.comments.walines.walinesCss : 'https://cdn.cbd.int/@waline/client@2.15.7/dist/waline.css' }"> - + From 0c8598c44cdc79a60bfd7868c24ec03110d66900 Mon Sep 17 00:00:00 2001 From: "1152958806@qq.com" <1152958806@qq.com> Date: Mon, 30 Oct 2023 22:07:49 +0800 Subject: [PATCH 14/15] =?UTF-8?q?=E5=9B=BE=E6=A0=87=E6=94=B9=E4=B8=BA?= =?UTF-8?q?=E6=9C=AC=E5=9C=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- templates/assets/icon/demo.css | 539 ++++ templates/assets/icon/demo_index.html | 3963 +++++++++++++++++++++++++ templates/assets/icon/iconfont.css | 674 +++++ templates/assets/icon/iconfont.eot | Bin 0 -> 43224 bytes templates/assets/icon/iconfont.js | 1 + templates/assets/icon/iconfont.json | 1157 ++++++++ templates/assets/icon/iconfont.svg | 347 +++ templates/assets/icon/iconfont.ttf | Bin 0 -> 43060 bytes templates/assets/icon/iconfont.woff | Bin 0 -> 25852 bytes templates/assets/icon/iconfont.woff2 | Bin 0 -> 22064 bytes templates/modules/head.html | 2 +- templates/modules/layouts/layout.html | 2 +- 12 files changed, 6683 insertions(+), 2 deletions(-) create mode 100644 templates/assets/icon/demo.css create mode 100644 templates/assets/icon/demo_index.html create mode 100644 templates/assets/icon/iconfont.css create mode 100644 templates/assets/icon/iconfont.eot create mode 100644 templates/assets/icon/iconfont.js create mode 100644 templates/assets/icon/iconfont.json create mode 100644 templates/assets/icon/iconfont.svg create mode 100644 templates/assets/icon/iconfont.ttf create mode 100644 templates/assets/icon/iconfont.woff create mode 100644 templates/assets/icon/iconfont.woff2 diff --git a/templates/assets/icon/demo.css b/templates/assets/icon/demo.css new file mode 100644 index 00000000..a67054a0 --- /dev/null +++ b/templates/assets/icon/demo.css @@ -0,0 +1,539 @@ +/* Logo 字体 */ +@font-face { + font-family: "iconfont logo"; + src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834'); + src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834#iefix') format('embedded-opentype'), + url('https://at.alicdn.com/t/font_985780_km7mi63cihi.woff?t=1545807318834') format('woff'), + url('https://at.alicdn.com/t/font_985780_km7mi63cihi.ttf?t=1545807318834') format('truetype'), + url('https://at.alicdn.com/t/font_985780_km7mi63cihi.svg?t=1545807318834#iconfont') format('svg'); +} + +.logo { + font-family: "iconfont logo"; + font-size: 160px; + font-style: normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +/* tabs */ +.nav-tabs { + position: relative; +} + +.nav-tabs .nav-more { + position: absolute; + right: 0; + bottom: 0; + height: 42px; + line-height: 42px; + color: #666; +} + +#tabs { + border-bottom: 1px solid #eee; +} + +#tabs li { + cursor: pointer; + width: 100px; + height: 40px; + line-height: 40px; + text-align: center; + font-size: 16px; + border-bottom: 2px solid transparent; + position: relative; + z-index: 1; + margin-bottom: -1px; + color: #666; +} + + +#tabs .active { + border-bottom-color: #f00; + color: #222; +} + +.tab-container .content { + display: none; +} + +/* 页面布局 */ +.main { + padding: 30px 100px; + width: 960px; + margin: 0 auto; +} + +.main .logo { + color: #333; + text-align: left; + margin-bottom: 30px; + line-height: 1; + height: 110px; + margin-top: -50px; + overflow: hidden; + *zoom: 1; +} + +.main .logo a { + font-size: 160px; + color: #333; +} + +.helps { + margin-top: 40px; +} + +.helps pre { + padding: 20px; + margin: 10px 0; + border: solid 1px #e7e1cd; + background-color: #fffdef; + overflow: auto; +} + +.icon_lists { + width: 100% !important; + overflow: hidden; + *zoom: 1; +} + +.icon_lists li { + width: 100px; + margin-bottom: 10px; + margin-right: 20px; + text-align: center; + list-style: none !important; + cursor: default; +} + +.icon_lists li .code-name { + line-height: 1.2; +} + +.icon_lists .icon { + display: block; + height: 100px; + line-height: 100px; + font-size: 42px; + margin: 10px auto; + color: #333; + -webkit-transition: font-size 0.25s linear, width 0.25s linear; + -moz-transition: font-size 0.25s linear, width 0.25s linear; + transition: font-size 0.25s linear, width 0.25s linear; +} + +.icon_lists .icon:hover { + font-size: 100px; +} + +.icon_lists .svg-icon { + /* 通过设置 font-size 来改变图标大小 */ + width: 1em; + /* 图标和文字相邻时,垂直对齐 */ + vertical-align: -0.15em; + /* 通过设置 color 来改变 SVG 的颜色/fill */ + fill: currentColor; + /* path 和 stroke 溢出 viewBox 部分在 IE 下会显示 + normalize.css 中也包含这行 */ + overflow: hidden; +} + +.icon_lists li .name, +.icon_lists li .code-name { + color: #666; +} + +/* markdown 样式 */ +.markdown { + color: #666; + font-size: 14px; + line-height: 1.8; +} + +.highlight { + line-height: 1.5; +} + +.markdown img { + vertical-align: middle; + max-width: 100%; +} + +.markdown h1 { + color: #404040; + font-weight: 500; + line-height: 40px; + margin-bottom: 24px; +} + +.markdown h2, +.markdown h3, +.markdown h4, +.markdown h5, +.markdown h6 { + color: #404040; + margin: 1.6em 0 0.6em 0; + font-weight: 500; + clear: both; +} + +.markdown h1 { + font-size: 28px; +} + +.markdown h2 { + font-size: 22px; +} + +.markdown h3 { + font-size: 16px; +} + +.markdown h4 { + font-size: 14px; +} + +.markdown h5 { + font-size: 12px; +} + +.markdown h6 { + font-size: 12px; +} + +.markdown hr { + height: 1px; + border: 0; + background: #e9e9e9; + margin: 16px 0; + clear: both; +} + +.markdown p { + margin: 1em 0; +} + +.markdown>p, +.markdown>blockquote, +.markdown>.highlight, +.markdown>ol, +.markdown>ul { + width: 80%; +} + +.markdown ul>li { + list-style: circle; +} + +.markdown>ul li, +.markdown blockquote ul>li { + margin-left: 20px; + padding-left: 4px; +} + +.markdown>ul li p, +.markdown>ol li p { + margin: 0.6em 0; +} + +.markdown ol>li { + list-style: decimal; +} + +.markdown>ol li, +.markdown blockquote ol>li { + margin-left: 20px; + padding-left: 4px; +} + +.markdown code { + margin: 0 3px; + padding: 0 5px; + background: #eee; + border-radius: 3px; +} + +.markdown strong, +.markdown b { + font-weight: 600; +} + +.markdown>table { + border-collapse: collapse; + border-spacing: 0px; + empty-cells: show; + border: 1px solid #e9e9e9; + width: 95%; + margin-bottom: 24px; +} + +.markdown>table th { + white-space: nowrap; + color: #333; + font-weight: 600; +} + +.markdown>table th, +.markdown>table td { + border: 1px solid #e9e9e9; + padding: 8px 16px; + text-align: left; +} + +.markdown>table th { + background: #F7F7F7; +} + +.markdown blockquote { + font-size: 90%; + color: #999; + border-left: 4px solid #e9e9e9; + padding-left: 0.8em; + margin: 1em 0; +} + +.markdown blockquote p { + margin: 0; +} + +.markdown .anchor { + opacity: 0; + transition: opacity 0.3s ease; + margin-left: 8px; +} + +.markdown .waiting { + color: #ccc; +} + +.markdown h1:hover .anchor, +.markdown h2:hover .anchor, +.markdown h3:hover .anchor, +.markdown h4:hover .anchor, +.markdown h5:hover .anchor, +.markdown h6:hover .anchor { + opacity: 1; + display: inline-block; +} + +.markdown>br, +.markdown>p>br { + clear: both; +} + + +.hljs { + display: block; + background: white; + padding: 0.5em; + color: #333333; + overflow-x: auto; +} + +.hljs-comment, +.hljs-meta { + color: #969896; +} + +.hljs-string, +.hljs-variable, +.hljs-template-variable, +.hljs-strong, +.hljs-emphasis, +.hljs-quote { + color: #df5000; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-type { + color: #a71d5d; +} + +.hljs-literal, +.hljs-symbol, +.hljs-bullet, +.hljs-attribute { + color: #0086b3; +} + +.hljs-section, +.hljs-name { + color: #63a35c; +} + +.hljs-tag { + color: #333333; +} + +.hljs-title, +.hljs-attr, +.hljs-selector-id, +.hljs-selector-class, +.hljs-selector-attr, +.hljs-selector-pseudo { + color: #795da3; +} + +.hljs-addition { + color: #55a532; + background-color: #eaffea; +} + +.hljs-deletion { + color: #bd2c00; + background-color: #ffecec; +} + +.hljs-link { + text-decoration: underline; +} + +/* 代码高亮 */ +/* PrismJS 1.15.0 +https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript */ +/** + * prism.js default theme for JavaScript, CSS and HTML + * Based on dabblet (http://dabblet.com) + * @author Lea Verou + */ +code[class*="language-"], +pre[class*="language-"] { + color: black; + background: none; + text-shadow: 0 1px white; + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} + +pre[class*="language-"]::-moz-selection, +pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, +code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #b3d4fc; +} + +pre[class*="language-"]::selection, +pre[class*="language-"] ::selection, +code[class*="language-"]::selection, +code[class*="language-"] ::selection { + text-shadow: none; + background: #b3d4fc; +} + +@media print { + + code[class*="language-"], + pre[class*="language-"] { + text-shadow: none; + } +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +:not(pre)>code[class*="language-"], +pre[class*="language-"] { + background: #f5f2f0; +} + +/* Inline code */ +:not(pre)>code[class*="language-"] { + padding: .1em; + border-radius: .3em; + white-space: normal; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: slategray; +} + +.token.punctuation { + color: #999; +} + +.namespace { + opacity: .7; +} + +.token.property, +.token.tag, +.token.boolean, +.token.number, +.token.constant, +.token.symbol, +.token.deleted { + color: #905; +} + +.token.selector, +.token.attr-name, +.token.string, +.token.char, +.token.builtin, +.token.inserted { + color: #690; +} + +.token.operator, +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #9a6e3a; + background: hsla(0, 0%, 100%, .5); +} + +.token.atrule, +.token.attr-value, +.token.keyword { + color: #07a; +} + +.token.function, +.token.class-name { + color: #DD4A68; +} + +.token.regex, +.token.important, +.token.variable { + color: #e90; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.italic { + font-style: italic; +} + +.token.entity { + cursor: help; +} diff --git a/templates/assets/icon/demo_index.html b/templates/assets/icon/demo_index.html new file mode 100644 index 00000000..b6c9e024 --- /dev/null +++ b/templates/assets/icon/demo_index.html @@ -0,0 +1,3963 @@ + + + + + iconfont Demo + + + + + + + + + + + + + +
    +

    + + +

    + +
    +
    +
      + +
    • + +
      aifadian-line
      +
      &#xe695;
      +
    • + +
    • + +
      账号
      +
      &#xe696;
      +
    • + +
    • + +
      作者
      +
      &#xe694;
      +
    • + +
    • + +
      微信
      +
      &#xe693;
      +
    • + +
    • + +
      编辑
      +
      &#xe691;
      +
    • + +
    • + +
      check-circle
      +
      &#xe77d;
      +
    • + +
    • + +
      dashboard
      +
      &#xe6f7;
      +
    • + +
    • +  +
      bullseye
      +
      &#xeaff;
      +
    • + +
    • + +
      logo-moment
      +
      &#xe690;
      +
    • + +
    • + +
      leetcode
      +
      &#xebf2;
      +
    • + +
    • + +
      gitlab
      +
      &#xe692;
      +
    • + +
    • + +
      csdn
      +
      &#xe68a;
      +
    • + +
    • + +
      dribbble
      +
      &#xe87f;
      +
    • + +
    • + +
      yuque
      +
      &#xe880;
      +
    • + +
    • + +
      linkedin
      +
      &#xe73b;
      +
    • + +
    • + +
      youtube
      +
      &#xe765;
      +
    • + +
    • + +
      Instagram
      +
      &#xe68b;
      +
    • + +
    • + +
      slack
      +
      &#xeca1;
      +
    • + +
    • + +
      百度
      +
      &#xe68c;
      +
    • + +
    • + +
      discord-line
      +
      &#xe7af;
      +
    • + +
    • + +
      cnblogs
      +
      &#xe68d;
      +
    • + +
    • + +
      juejin
      +
      &#xe68e;
      +
    • + +
    • + +
      steam
      +
      &#xec22;
      +
    • + +
    • + +
      telegram
      +
      &#xec25;
      +
    • + +
    • + +
      toutiao
      +
      &#xe68f;
      +
    • + +
    • + +
      微信
      +
      &#xe686;
      +
    • + +
    • + +
      豆瓣
      +
      &#xe687;
      +
    • + +
    • + +
      知乎
      +
      &#xe688;
      +
    • + +
    • + +
      微信公众号
      +
      &#xe689;
      +
    • + +
    • + +
      猜你喜欢
      +
      &#xe684;
      +
    • + +
    • + +
      eicon_map-2-line
      +
      &#xe685;
      +
    • + +
    • + +
      circle
      +
      &#xe833;
      +
    • + +
    • + +
      creative-commons-nd-line
      +
      &#xe67a;
      +
    • + +
    • + +
      creative-commons-by-line
      +
      &#xe67b;
      +
    • + +
    • + +
      creative-commons-nc-line
      +
      &#xe67c;
      +
    • + +
    • + +
      copyright-line
      +
      &#xe67d;
      +
    • + +
    • + +
      font
      +
      &#xe67e;
      +
    • + +
    • + +
      stopwatch
      +
      &#xe67f;
      +
    • + +
    • + +
      file-lines
      +
      &#xe680;
      +
    • + +
    • + +
      square-poll-vertical
      +
      &#xe681;
      +
    • + +
    • + +
      universal-access
      +
      &#xe682;
      +
    • + +
    • + +
      hourglass-start
      +
      &#xe683;
      +
    • + +
    • + +
      通讯录07
      +
      &#xe679;
      +
    • + +
    • + +
      arrow-right
      +
      &#xe600;
      +
    • + +
    • + +
      arrow-left
      +
      &#xe601;
      +
    • + +
    • + +
      dice
      +
      &#xe602;
      +
    • + +
    • + +
      copy
      +
      &#xe603;
      +
    • + +
    • + +
      cube
      +
      &#xe604;
      +
    • + +
    • + +
      circle-arrow-right
      +
      &#xe605;
      +
    • + +
    • + +
      clock
      +
      &#xe606;
      +
    • + +
    • + +
      book
      +
      &#xe607;
      +
    • + +
    • + +
      calendar-alt
      +
      &#xe608;
      +
    • + +
    • + +
      eye-outline
      +
      &#xe609;
      +
    • + +
    • + +
      circle-half-stroke
      +
      &#xe60a;
      +
    • + +
    • + +
      arrow-up
      +
      &#xe60b;
      +
    • + +
    • + +
      file-word
      +
      &#xe60c;
      +
    • + +
    • + +
      fire
      +
      &#xe60d;
      +
    • + +
    • + +
      dove
      +
      &#xe60e;
      +
    • + +
    • + +
      gear
      +
      &#xe60f;
      +
    • + +
    • + +
      inbox
      +
      &#xe610;
      +
    • + +
    • + +
      history
      +
      &#xe611;
      +
    • + +
    • + +
      magnifying-glass
      +
      &#xe612;
      +
    • + +
    • + +
      message
      +
      &#xe613;
      +
    • + +
    • + +
      moon
      +
      &#xe614;
      +
    • + +
    • + +
      shapes
      +
      &#xe615;
      +
    • + +
    • + +
      shuffle
      +
      &#xe616;
      +
    • + +
    • + +
      language
      +
      &#xe617;
      +
    • + +
    • + +
      tags
      +
      &#xe618;
      +
    • + +
    • + +
      train
      +
      &#xe619;
      +
    • + +
    • + +
      warning
      +
      &#xe61a;
      +
    • + +
    • + +
      circle-arrow-up-right-1
      +
      &#xe61b;
      +
    • + +
    • + +
      fish
      +
      &#xe61c;
      +
    • + +
    • + +
      envelope
      +
      &#xe61d;
      +
    • + +
    • + +
      music
      +
      &#xe61e;
      +
    • + +
    • + +
      fan
      +
      &#xe61f;
      +
    • + +
    • + +
      heartbeat-bold
      +
      &#xe620;
      +
    • + +
    • + +
      link
      +
      &#xe621;
      +
    • + +
    • + +
      chevron-left
      +
      &#xe622;
      +
    • + +
    • + +
      rocket
      +
      &#xe623;
      +
    • + +
    • + +
      lightbulb
      +
      &#xe624;
      +
    • + +
    • + +
      shoe-prints
      +
      &#xe625;
      +
    • + +
    • + +
      images
      +
      &#xe626;
      +
    • + +
    • + +
      box-archive
      +
      &#xe627;
      +
    • + +
    • + +
      artstation
      +
      &#xe628;
      +
    • + +
    • + +
      paper-plane
      +
      &#xe629;
      +
    • + +
    • + +
      house-chimney
      +
      &#xe62a;
      +
    • + +
    • + +
      grip-vertical
      +
      &#xe62b;
      +
    • + +
    • + +
      bars
      +
      &#xe62c;
      +
    • + +
    • + +
      arrows-left-right
      +
      &#xe62d;
      +
    • + +
    • + +
      book-open
      +
      &#xe62e;
      +
    • + +
    • + +
      list-ul
      +
      &#xe62f;
      +
    • + +
    • + +
      comments
      +
      &#xe630;
      +
    • + +
    • + +
      comment-sms
      +
      &#xe631;
      +
    • + +
    • + +
      angles-right
      +
      &#xe632;
      +
    • + +
    • + +
      tag
      +
      &#xe633;
      +
    • + +
    • + +
      chevron-right
      +
      &#xe634;
      +
    • + +
    • + +
      radio
      +
      &#xe635;
      +
    • + +
    • + +
      forward
      +
      &#xe636;
      +
    • + +
    • + +
      window-restore
      +
      &#xe637;
      +
    • + +
    • + +
      backward
      +
      &#xe638;
      +
    • + +
    • + +
      download
      +
      &#xe639;
      +
    • + +
    • + +
      comment-medical
      +
      &#xe63a;
      +
    • + +
    • + +
      paste
      +
      &#xe63b;
      +
    • + +
    • + +
      arrow-rotate-right
      +
      &#xe63c;
      +
    • + +
    • + +
      play
      +
      &#xe63d;
      +
    • + +
    • + +
      circle-xmark
      +
      &#xe63e;
      +
    • + +
    • + +
      angle-down
      +
      &#xe63f;
      +
    • + +
    • + +
      chart-line
      +
      &#xe640;
      +
    • + +
    • + +
      pencil
      +
      &#xe641;
      +
    • + +
    • + +
      thumbtack
      +
      &#xe642;
      +
    • + +
    • + +
      location-dot
      +
      &#xe643;
      +
    • + +
    • + +
      fw-fire
      +
      &#xe644;
      +
    • + +
    • + +
      calendar-days
      +
      &#xe645;
      +
    • + +
    • + +
      angle-right
      +
      &#xe646;
      +
    • + +
    • + +
      dice-d20
      +
      &#xe647;
      +
    • + +
    • + +
      instagram
      +
      &#xe648;
      +
    • + +
    • + +
      xmark
      +
      &#xe649;
      +
    • + +
    • + +
      spinner
      +
      &#xe64a;
      +
    • + +
    • + +
      bullhorn
      +
      &#xe64b;
      +
    • + +
    • + +
      stream
      +
      &#xe64c;
      +
    • + +
    • + +
      caret-left
      +
      &#xe64d;
      +
    • + +
    • + +
      folder-open
      +
      &#xe64e;
      +
    • + +
    • + +
      thumbs-up
      +
      &#xe64f;
      +
    • + +
    • + +
      angle-double-down
      +
      &#xe650;
      +
    • + +
    • + +
      sign-out-alt
      +
      &#xe651;
      +
    • + +
    • + +
      angle-double-left
      +
      &#xe652;
      +
    • + +
    • + +
      angle-double-right
      +
      &#xe653;
      +
    • + +
    • + +
      angle-left
      +
      &#xe654;
      +
    • + +
    • + +
      fw-eye
      +
      &#xe655;
      +
    • + +
    • + +
      repeat
      +
      &#xe656;
      +
    • + +
    • + +
      shuffle
      +
      &#xe657;
      +
    • + +
    • + +
      arrows-rotate
      +
      &#xe658;
      +
    • + +
    • + +
      pause
      +
      &#xe659;
      +
    • + +
    • + +
      heartbeat
      +
      &#xe65a;
      +
    • + +
    • + +
      jike
      +
      &#xe65b;
      +
    • + +
    • + +
      jike
      +
      &#xe65c;
      +
    • + +
    • + +
      heartbeat
      +
      &#xe65d;
      +
    • + +
    • + +
      rss
      +
      &#xe65e;
      +
    • + +
    • + +
      qq
      +
      &#xe65f;
      +
    • + +
    • + +
      github
      +
      &#xe660;
      +
    • + +
    • + +
      bilibili
      +
      &#xe661;
      +
    • + +
    • + +
      paper-plane
      +
      &#xe662;
      +
    • + +
    • + +
      hashtag
      +
      &#xe663;
      +
    • + +
    • + +
      hand-heart-fill
      +
      &#xe664;
      +
    • + +
    • + +
      plant-fill
      +
      &#xe665;
      +
    • + +
    • + +
      qrcode
      +
      &#xe666;
      +
    • + +
    • + +
      weibo
      +
      &#xe667;
      +
    • + +
    • + +
      copyright
      +
      &#xe668;
      +
    • + +
    • + +
      bolt
      +
      &#xe669;
      +
    • + +
    • + +
      circle-info
      +
      &#xe66a;
      +
    • + +
    • + +
      triangle-exclamation
      +
      &#xe66b;
      +
    • + +
    • + +
      circle-check
      +
      &#xe66c;
      +
    • + +
    • + +
      circle-minus
      +
      &#xe66d;
      +
    • + +
    • + +
      circle-plus
      +
      &#xe66e;
      +
    • + +
    • + +
      circle-dot
      +
      &#xe66f;
      +
    • + +
    • + +
      scissors
      +
      &#xe670;
      +
    • + +
    • + +
      arrow-down
      +
      &#xe671;
      +
    • + +
    • + +
      灯泡
      +
      &#xe672;
      +
    • + +
    • + +
      弹幕
      +
      &#xe673;
      +
    • + +
    • + +
      总览
      +
      &#xe674;
      +
    • + +
    • + +
      灵感
      +
      &#xe675;
      +
    • + +
    • + +
      三明治
      +
      &#xe676;
      +
    • + +
    • + +
      keyboard
      +
      &#xe677;
      +
    • + +
    • + +
      tiktok
      +
      &#xe678;
      +
    • + +
    +
    +

    Unicode 引用

    +
    + +

    Unicode 是字体在网页端最原始的应用方式,特点是:

    +
      +
    • 支持按字体的方式去动态调整图标大小,颜色等等。
    • +
    • 默认情况下不支持多色,直接添加多色图标会自动去色。
    • +
    +
    +

    注意:新版 iconfont 支持两种方式引用多色图标:SVG symbol 引用方式和彩色字体图标模式。(使用彩色字体图标需要在「编辑项目」中开启「彩色」选项后并重新生成。)

    +
    +

    Unicode 使用步骤如下:

    +

    第一步:拷贝项目下面生成的 @font-face

    +
    @font-face {
    +  font-family: 'haofont';
    +  src: url('iconfont.eot?t=1697559754295'); /* IE9 */
    +  src: url('iconfont.eot?t=1697559754295#iefix') format('embedded-opentype'), /* IE6-IE8 */
    +       url('iconfont.woff2?t=1697559754295') format('woff2'),
    +       url('iconfont.woff?t=1697559754295') format('woff'),
    +       url('iconfont.ttf?t=1697559754295') format('truetype'),
    +       url('iconfont.svg?t=1697559754295#haofont') format('svg');
    +}
    +
    +

    第二步:定义使用 iconfont 的样式

    +
    .haofont {
    +  font-family: "haofont" !important;
    +  font-size: 16px;
    +  font-style: normal;
    +  -webkit-font-smoothing: antialiased;
    +  -moz-osx-font-smoothing: grayscale;
    +}
    +
    +

    第三步:挑选相应图标并获取字体编码,应用于页面

    +
    +<span class="haofont">&#x33;</span>
    +
    +
    +

    "haofont" 是你项目下的 font-family。可以通过编辑项目查看,默认是 "iconfont"。

    +
    +
    +
    +
    +
      + +
    • + +
      + aifadian-line +
      +
      .hao-icon-aifadian-line +
      +
    • + +
    • + +
      + 账号 +
      +
      .hao-icon-zhanghao1 +
      +
    • + +
    • + +
      + 作者 +
      +
      .hao-icon-zuozhe +
      +
    • + +
    • + +
      + 微信 +
      +
      .hao-icon-weixin1 +
      +
    • + +
    • + +
      + 编辑 +
      +
      .hao-icon-bianji +
      +
    • + +
    • + +
      + check-circle +
      +
      .hao-icon-check-circle +
      +
    • + +
    • + +
      + dashboard +
      +
      .hao-icon-dashboard +
      +
    • + +
    • + +
      + bullseye +
      +
      .hao-icon-bullseye +
      +
    • + +
    • + +
      + logo-moment +
      +
      .hao-icon-logo-moment +
      +
    • + +
    • + +
      + leetcode +
      +
      .hao-icon-leetcode +
      +
    • + +
    • + +
      + gitlab +
      +
      .hao-icon-gitlab +
      +
    • + +
    • + +
      + csdn +
      +
      .hao-icon-csdn +
      +
    • + +
    • + +
      + dribbble +
      +
      .hao-icon-dribbble +
      +
    • + +
    • + +
      + yuque +
      +
      .hao-icon-yuque +
      +
    • + +
    • + +
      + linkedin +
      +
      .hao-icon-linkedin +
      +
    • + +
    • + +
      + youtube +
      +
      .hao-icon-youtube +
      +
    • + +
    • + +
      + Instagram +
      +
      .hao-icon-Instagram +
      +
    • + +
    • + +
      + slack +
      +
      .hao-icon-slack +
      +
    • + +
    • + +
      + 百度 +
      +
      .hao-icon-baidu +
      +
    • + +
    • + +
      + discord-line +
      +
      .hao-icon-discord-line +
      +
    • + +
    • + +
      + cnblogs +
      +
      .hao-icon-cnblogs +
      +
    • + +
    • + +
      + juejin +
      +
      .hao-icon-juejin +
      +
    • + +
    • + +
      + steam +
      +
      .hao-icon-steam +
      +
    • + +
    • + +
      + telegram +
      +
      .hao-icon-telegram +
      +
    • + +
    • + +
      + toutiao +
      +
      .hao-icon-toutiao +
      +
    • + +
    • + +
      + 微信 +
      +
      .hao-icon-weixin +
      +
    • + +
    • + +
      + 豆瓣 +
      +
      .hao-icon-douban +
      +
    • + +
    • + +
      + 知乎 +
      +
      .hao-icon-29 +
      +
    • + +
    • + +
      + 微信公众号 +
      +
      .hao-icon-weixingongzhonghao +
      +
    • + +
    • + +
      + 猜你喜欢 +
      +
      .hao-icon-cainixihuan +
      +
    • + +
    • + +
      + eicon_map-2-line +
      +
      .hao-icon-eicon_map-2-line1 +
      +
    • + +
    • + +
      + circle +
      +
      .hao-icon-yuan +
      +
    • + +
    • + +
      + creative-commons-nd-line +
      +
      .hao-icon-creative-commons-nd-line +
      +
    • + +
    • + +
      + creative-commons-by-line +
      +
      .hao-icon-creative-commons-by-line +
      +
    • + +
    • + +
      + creative-commons-nc-line +
      +
      .hao-icon-creative-commons-nc-line +
      +
    • + +
    • + +
      + copyright-line +
      +
      .hao-icon-copyright-line +
      +
    • + +
    • + +
      + font +
      +
      .hao-icon-font +
      +
    • + +
    • + +
      + stopwatch +
      +
      .hao-icon-stopwatch +
      +
    • + +
    • + +
      + file-lines +
      +
      .hao-icon-file-lines +
      +
    • + +
    • + +
      + square-poll-vertical +
      +
      .hao-icon-square-poll-vertical +
      +
    • + +
    • + +
      + universal-access +
      +
      .hao-icon-universal-access +
      +
    • + +
    • + +
      + hourglass-start +
      +
      .hao-icon-hourglass-start +
      +
    • + +
    • + +
      + 通讯录07 +
      +
      .hao-icon-tongxunlu07 +
      +
    • + +
    • + +
      + arrow-right +
      +
      .hao-icon-arrow-right +
      +
    • + +
    • + +
      + arrow-left +
      +
      .hao-icon-arrow-left +
      +
    • + +
    • + +
      + dice +
      +
      .hao-icon-dice +
      +
    • + +
    • + +
      + copy +
      +
      .hao-icon-copy +
      +
    • + +
    • + +
      + cube +
      +
      .hao-icon-cube +
      +
    • + +
    • + +
      + circle-arrow-right +
      +
      .hao-icon-circle-arrow-right +
      +
    • + +
    • + +
      + clock +
      +
      .hao-icon-clock +
      +
    • + +
    • + +
      + book +
      +
      .hao-icon-book +
      +
    • + +
    • + +
      + calendar-alt +
      +
      .hao-icon-calendar-alt +
      +
    • + +
    • + +
      + eye-outline +
      +
      .hao-icon-eye-outline +
      +
    • + +
    • + +
      + circle-half-stroke +
      +
      .hao-icon-circle-half-stroke +
      +
    • + +
    • + +
      + arrow-up +
      +
      .hao-icon-arrow-up +
      +
    • + +
    • + +
      + file-word +
      +
      .hao-icon-file-word +
      +
    • + +
    • + +
      + fire +
      +
      .hao-icon-fire +
      +
    • + +
    • + +
      + dove +
      +
      .hao-icon-dove +
      +
    • + +
    • + +
      + gear +
      +
      .hao-icon-gear +
      +
    • + +
    • + +
      + inbox +
      +
      .hao-icon-inbox +
      +
    • + +
    • + +
      + history +
      +
      .hao-icon-history +
      +
    • + +
    • + +
      + magnifying-glass +
      +
      .hao-icon-magnifying-glass +
      +
    • + +
    • + +
      + message +
      +
      .hao-icon-message +
      +
    • + +
    • + +
      + moon +
      +
      .hao-icon-moon +
      +
    • + +
    • + +
      + shapes +
      +
      .hao-icon-shapes +
      +
    • + +
    • + +
      + shuffle +
      +
      .hao-icon-shuffle +
      +
    • + +
    • + +
      + language +
      +
      .hao-icon-language +
      +
    • + +
    • + +
      + tags +
      +
      .hao-icon-tags +
      +
    • + +
    • + +
      + train +
      +
      .hao-icon-train +
      +
    • + +
    • + +
      + warning +
      +
      .hao-icon-warning +
      +
    • + +
    • + +
      + circle-arrow-up-right-1 +
      +
      .hao-icon-circle-arrow-up-right-1 +
      +
    • + +
    • + +
      + fish +
      +
      .hao-icon-fish +
      +
    • + +
    • + +
      + envelope +
      +
      .hao-icon-envelope +
      +
    • + +
    • + +
      + music +
      +
      .hao-icon-music +
      +
    • + +
    • + +
      + fan +
      +
      .hao-icon-fan +
      +
    • + +
    • + +
      + heartbeat-bold +
      +
      .hao-icon-heartbeat-bold +
      +
    • + +
    • + +
      + link +
      +
      .hao-icon-link +
      +
    • + +
    • + +
      + chevron-left +
      +
      .hao-icon-chevron-left +
      +
    • + +
    • + +
      + rocket +
      +
      .hao-icon-rocket +
      +
    • + +
    • + +
      + lightbulb +
      +
      .hao-icon-lightbulb +
      +
    • + +
    • + +
      + shoe-prints +
      +
      .hao-icon-shoe-prints +
      +
    • + +
    • + +
      + images +
      +
      .hao-icon-images +
      +
    • + +
    • + +
      + box-archive +
      +
      .hao-icon-box-archive +
      +
    • + +
    • + +
      + artstation +
      +
      .hao-icon-artstation +
      +
    • + +
    • + +
      + paper-plane +
      +
      .hao-icon-paper-plane +
      +
    • + +
    • + +
      + house-chimney +
      +
      .hao-icon-house-chimney +
      +
    • + +
    • + +
      + grip-vertical +
      +
      .hao-icon-grip-vertical +
      +
    • + +
    • + +
      + bars +
      +
      .hao-icon-bars +
      +
    • + +
    • + +
      + arrows-left-right +
      +
      .hao-icon-arrows-left-right +
      +
    • + +
    • + +
      + book-open +
      +
      .hao-icon-book-open +
      +
    • + +
    • + +
      + list-ul +
      +
      .hao-icon-list-ul +
      +
    • + +
    • + +
      + comments +
      +
      .hao-icon-comments +
      +
    • + +
    • + +
      + comment-sms +
      +
      .hao-icon-comment-sms +
      +
    • + +
    • + +
      + angles-right +
      +
      .hao-icon-angles-right +
      +
    • + +
    • + +
      + tag +
      +
      .hao-icon-tag +
      +
    • + +
    • + +
      + chevron-right +
      +
      .hao-icon-chevron-right +
      +
    • + +
    • + +
      + radio +
      +
      .hao-icon-radio +
      +
    • + +
    • + +
      + forward +
      +
      .hao-icon-forward +
      +
    • + +
    • + +
      + window-restore +
      +
      .hao-icon-window-restore +
      +
    • + +
    • + +
      + backward +
      +
      .hao-icon-backward +
      +
    • + +
    • + +
      + download +
      +
      .hao-icon-download +
      +
    • + +
    • + +
      + comment-medical +
      +
      .hao-icon-comment-medical +
      +
    • + +
    • + +
      + paste +
      +
      .hao-icon-paste +
      +
    • + +
    • + +
      + arrow-rotate-right +
      +
      .hao-icon-arrow-rotate-right +
      +
    • + +
    • + +
      + play +
      +
      .hao-icon-play +
      +
    • + +
    • + +
      + circle-xmark +
      +
      .hao-icon-circle-xmark +
      +
    • + +
    • + +
      + angle-down +
      +
      .hao-icon-angle-down +
      +
    • + +
    • + +
      + chart-line +
      +
      .hao-icon-chart-line +
      +
    • + +
    • + +
      + pencil +
      +
      .hao-icon-pencil +
      +
    • + +
    • + +
      + thumbtack +
      +
      .hao-icon-thumbtack +
      +
    • + +
    • + +
      + location-dot +
      +
      .hao-icon-location-dot +
      +
    • + +
    • + +
      + fw-fire +
      +
      .hao-icon-fw-fire +
      +
    • + +
    • + +
      + calendar-days +
      +
      .hao-icon-calendar-days +
      +
    • + +
    • + +
      + angle-right +
      +
      .hao-icon-angle-right +
      +
    • + +
    • + +
      + dice-d20 +
      +
      .hao-icon-dice-d20 +
      +
    • + +
    • + +
      + instagram +
      +
      .hao-icon-instagram +
      +
    • + +
    • + +
      + xmark +
      +
      .hao-icon-xmark +
      +
    • + +
    • + +
      + spinner +
      +
      .hao-icon-spinner +
      +
    • + +
    • + +
      + bullhorn +
      +
      .hao-icon-bullhorn +
      +
    • + +
    • + +
      + stream +
      +
      .hao-icon-stream +
      +
    • + +
    • + +
      + caret-left +
      +
      .hao-icon-caret-left +
      +
    • + +
    • + +
      + folder-open +
      +
      .hao-icon-folder-open +
      +
    • + +
    • + +
      + thumbs-up +
      +
      .hao-icon-thumbs-up +
      +
    • + +
    • + +
      + angle-double-down +
      +
      .hao-icon-angle-double-down +
      +
    • + +
    • + +
      + sign-out-alt +
      +
      .hao-icon-sign-out-alt +
      +
    • + +
    • + +
      + angle-double-left +
      +
      .hao-icon-angle-double-left +
      +
    • + +
    • + +
      + angle-double-right +
      +
      .hao-icon-angle-double-right +
      +
    • + +
    • + +
      + angle-left +
      +
      .hao-icon-angle-left +
      +
    • + +
    • + +
      + fw-eye +
      +
      .hao-icon-fw-eye +
      +
    • + +
    • + +
      + repeat +
      +
      .hao-icon-repeat +
      +
    • + +
    • + +
      + shuffle +
      +
      .hao-icon-shuffle1 +
      +
    • + +
    • + +
      + arrows-rotate +
      +
      .hao-icon-arrows-rotate +
      +
    • + +
    • + +
      + pause +
      +
      .hao-icon-pause +
      +
    • + +
    • + +
      + heartbeat +
      +
      .hao-icon-heartbeat +
      +
    • + +
    • + +
      + jike +
      +
      .hao-icon-a-2 +
      +
    • + +
    • + +
      + jike +
      +
      .hao-icon-jike +
      +
    • + +
    • + +
      + heartbeat +
      +
      .hao-icon-heartbeat1 +
      +
    • + +
    • + +
      + rss +
      +
      .hao-icon-rss +
      +
    • + +
    • + +
      + qq +
      +
      .hao-icon-qq +
      +
    • + +
    • + +
      + github +
      +
      .hao-icon-github +
      +
    • + +
    • + +
      + bilibili +
      +
      .hao-icon-bilibili +
      +
    • + +
    • + +
      + paper-plane +
      +
      .hao-icon-paper-plane1 +
      +
    • + +
    • + +
      + hashtag +
      +
      .hao-icon-hashtag +
      +
    • + +
    • + +
      + hand-heart-fill +
      +
      .hao-icon-hand-heart-fill +
      +
    • + +
    • + +
      + plant-fill +
      +
      .hao-icon-plant-fill +
      +
    • + +
    • + +
      + qrcode +
      +
      .hao-icon-qrcode +
      +
    • + +
    • + +
      + weibo +
      +
      .hao-icon-weibo +
      +
    • + +
    • + +
      + copyright +
      +
      .hao-icon-copyright +
      +
    • + +
    • + +
      + bolt +
      +
      .hao-icon-bolt +
      +
    • + +
    • + +
      + circle-info +
      +
      .hao-icon-circle-info +
      +
    • + +
    • + +
      + triangle-exclamation +
      +
      .hao-icon-triangle-exclamation +
      +
    • + +
    • + +
      + circle-check +
      +
      .hao-icon-circle-check +
      +
    • + +
    • + +
      + circle-minus +
      +
      .hao-icon-circle-minus +
      +
    • + +
    • + +
      + circle-plus +
      +
      .hao-icon-circle-plus +
      +
    • + +
    • + +
      + circle-dot +
      +
      .hao-icon-circle-dot +
      +
    • + +
    • + +
      + scissors +
      +
      .hao-icon-scissors +
      +
    • + +
    • + +
      + arrow-down +
      +
      .hao-icon-arrow-down +
      +
    • + +
    • + +
      + 灯泡 +
      +
      .hao-icon-dengpao +
      +
    • + +
    • + +
      + 弹幕 +
      +
      .hao-icon-danmu +
      +
    • + +
    • + +
      + 总览 +
      +
      .hao-icon-zonglan +
      +
    • + +
    • + +
      + 灵感 +
      +
      .hao-icon-linggan +
      +
    • + +
    • + +
      + 三明治 +
      +
      .hao-icon-sanmingzhi +
      +
    • + +
    • + +
      + keyboard +
      +
      .hao-icon-keyboard +
      +
    • + +
    • + +
      + tiktok +
      +
      .hao-icon-tiktok +
      +
    • + +
    +
    +

    font-class 引用

    +
    + +

    font-class 是 Unicode 使用方式的一种变种,主要是解决 Unicode 书写不直观,语意不明确的问题。

    +

    与 Unicode 使用方式相比,具有如下特点:

    +
      +
    • 相比于 Unicode 语意明确,书写更直观。可以很容易分辨这个 icon 是什么。
    • +
    • 因为使用 class 来定义图标,所以当要替换图标时,只需要修改 class 里面的 Unicode 引用。
    • +
    +

    使用步骤如下:

    +

    第一步:引入项目下面生成的 fontclass 代码:

    +
    <link rel="stylesheet" href="./iconfont.css">
    +
    +

    第二步:挑选相应图标并获取类名,应用于页面:

    +
    <span class="haofont hao-icon-xxx"></span>
    +
    +
    +

    " + haofont" 是你项目下的 font-family。可以通过编辑项目查看,默认是 "iconfont"。

    +
    +
    +
    +
    +
      + +
    • + +
      aifadian-line
      +
      #hao-icon-aifadian-line
      +
    • + +
    • + +
      账号
      +
      #hao-icon-zhanghao1
      +
    • + +
    • + +
      作者
      +
      #hao-icon-zuozhe
      +
    • + +
    • + +
      微信
      +
      #hao-icon-weixin1
      +
    • + +
    • + +
      编辑
      +
      #hao-icon-bianji
      +
    • + +
    • + +
      check-circle
      +
      #hao-icon-check-circle
      +
    • + +
    • + +
      dashboard
      +
      #hao-icon-dashboard
      +
    • + +
    • + +
      bullseye
      +
      #hao-icon-bullseye
      +
    • + +
    • + +
      logo-moment
      +
      #hao-icon-logo-moment
      +
    • + +
    • + +
      leetcode
      +
      #hao-icon-leetcode
      +
    • + +
    • + +
      gitlab
      +
      #hao-icon-gitlab
      +
    • + +
    • + +
      csdn
      +
      #hao-icon-csdn
      +
    • + +
    • + +
      dribbble
      +
      #hao-icon-dribbble
      +
    • + +
    • + +
      yuque
      +
      #hao-icon-yuque
      +
    • + +
    • + +
      linkedin
      +
      #hao-icon-linkedin
      +
    • + +
    • + +
      youtube
      +
      #hao-icon-youtube
      +
    • + +
    • + +
      Instagram
      +
      #hao-icon-Instagram
      +
    • + +
    • + +
      slack
      +
      #hao-icon-slack
      +
    • + +
    • + +
      百度
      +
      #hao-icon-baidu
      +
    • + +
    • + +
      discord-line
      +
      #hao-icon-discord-line
      +
    • + +
    • + +
      cnblogs
      +
      #hao-icon-cnblogs
      +
    • + +
    • + +
      juejin
      +
      #hao-icon-juejin
      +
    • + +
    • + +
      steam
      +
      #hao-icon-steam
      +
    • + +
    • + +
      telegram
      +
      #hao-icon-telegram
      +
    • + +
    • + +
      toutiao
      +
      #hao-icon-toutiao
      +
    • + +
    • + +
      微信
      +
      #hao-icon-weixin
      +
    • + +
    • + +
      豆瓣
      +
      #hao-icon-douban
      +
    • + +
    • + +
      知乎
      +
      #hao-icon-29
      +
    • + +
    • + +
      微信公众号
      +
      #hao-icon-weixingongzhonghao
      +
    • + +
    • + +
      猜你喜欢
      +
      #hao-icon-cainixihuan
      +
    • + +
    • + +
      eicon_map-2-line
      +
      #hao-icon-eicon_map-2-line1
      +
    • + +
    • + +
      circle
      +
      #hao-icon-yuan
      +
    • + +
    • + +
      creative-commons-nd-line
      +
      #hao-icon-creative-commons-nd-line
      +
    • + +
    • + +
      creative-commons-by-line
      +
      #hao-icon-creative-commons-by-line
      +
    • + +
    • + +
      creative-commons-nc-line
      +
      #hao-icon-creative-commons-nc-line
      +
    • + +
    • + +
      copyright-line
      +
      #hao-icon-copyright-line
      +
    • + +
    • + +
      font
      +
      #hao-icon-font
      +
    • + +
    • + +
      stopwatch
      +
      #hao-icon-stopwatch
      +
    • + +
    • + +
      file-lines
      +
      #hao-icon-file-lines
      +
    • + +
    • + +
      square-poll-vertical
      +
      #hao-icon-square-poll-vertical
      +
    • + +
    • + +
      universal-access
      +
      #hao-icon-universal-access
      +
    • + +
    • + +
      hourglass-start
      +
      #hao-icon-hourglass-start
      +
    • + +
    • + +
      通讯录07
      +
      #hao-icon-tongxunlu07
      +
    • + +
    • + +
      arrow-right
      +
      #hao-icon-arrow-right
      +
    • + +
    • + +
      arrow-left
      +
      #hao-icon-arrow-left
      +
    • + +
    • + +
      dice
      +
      #hao-icon-dice
      +
    • + +
    • + +
      copy
      +
      #hao-icon-copy
      +
    • + +
    • + +
      cube
      +
      #hao-icon-cube
      +
    • + +
    • + +
      circle-arrow-right
      +
      #hao-icon-circle-arrow-right
      +
    • + +
    • + +
      clock
      +
      #hao-icon-clock
      +
    • + +
    • + +
      book
      +
      #hao-icon-book
      +
    • + +
    • + +
      calendar-alt
      +
      #hao-icon-calendar-alt
      +
    • + +
    • + +
      eye-outline
      +
      #hao-icon-eye-outline
      +
    • + +
    • + +
      circle-half-stroke
      +
      #hao-icon-circle-half-stroke
      +
    • + +
    • + +
      arrow-up
      +
      #hao-icon-arrow-up
      +
    • + +
    • + +
      file-word
      +
      #hao-icon-file-word
      +
    • + +
    • + +
      fire
      +
      #hao-icon-fire
      +
    • + +
    • + +
      dove
      +
      #hao-icon-dove
      +
    • + +
    • + +
      gear
      +
      #hao-icon-gear
      +
    • + +
    • + +
      inbox
      +
      #hao-icon-inbox
      +
    • + +
    • + +
      history
      +
      #hao-icon-history
      +
    • + +
    • + +
      magnifying-glass
      +
      #hao-icon-magnifying-glass
      +
    • + +
    • + +
      message
      +
      #hao-icon-message
      +
    • + +
    • + +
      moon
      +
      #hao-icon-moon
      +
    • + +
    • + +
      shapes
      +
      #hao-icon-shapes
      +
    • + +
    • + +
      shuffle
      +
      #hao-icon-shuffle
      +
    • + +
    • + +
      language
      +
      #hao-icon-language
      +
    • + +
    • + +
      tags
      +
      #hao-icon-tags
      +
    • + +
    • + +
      train
      +
      #hao-icon-train
      +
    • + +
    • + +
      warning
      +
      #hao-icon-warning
      +
    • + +
    • + +
      circle-arrow-up-right-1
      +
      #hao-icon-circle-arrow-up-right-1
      +
    • + +
    • + +
      fish
      +
      #hao-icon-fish
      +
    • + +
    • + +
      envelope
      +
      #hao-icon-envelope
      +
    • + +
    • + +
      music
      +
      #hao-icon-music
      +
    • + +
    • + +
      fan
      +
      #hao-icon-fan
      +
    • + +
    • + +
      heartbeat-bold
      +
      #hao-icon-heartbeat-bold
      +
    • + +
    • + +
      link
      +
      #hao-icon-link
      +
    • + +
    • + +
      chevron-left
      +
      #hao-icon-chevron-left
      +
    • + +
    • + +
      rocket
      +
      #hao-icon-rocket
      +
    • + +
    • + +
      lightbulb
      +
      #hao-icon-lightbulb
      +
    • + +
    • + +
      shoe-prints
      +
      #hao-icon-shoe-prints
      +
    • + +
    • + +
      images
      +
      #hao-icon-images
      +
    • + +
    • + +
      box-archive
      +
      #hao-icon-box-archive
      +
    • + +
    • + +
      artstation
      +
      #hao-icon-artstation
      +
    • + +
    • + +
      paper-plane
      +
      #hao-icon-paper-plane
      +
    • + +
    • + +
      house-chimney
      +
      #hao-icon-house-chimney
      +
    • + +
    • + +
      grip-vertical
      +
      #hao-icon-grip-vertical
      +
    • + +
    • + +
      bars
      +
      #hao-icon-bars
      +
    • + +
    • + +
      arrows-left-right
      +
      #hao-icon-arrows-left-right
      +
    • + +
    • + +
      book-open
      +
      #hao-icon-book-open
      +
    • + +
    • + +
      list-ul
      +
      #hao-icon-list-ul
      +
    • + +
    • + +
      comments
      +
      #hao-icon-comments
      +
    • + +
    • + +
      comment-sms
      +
      #hao-icon-comment-sms
      +
    • + +
    • + +
      angles-right
      +
      #hao-icon-angles-right
      +
    • + +
    • + +
      tag
      +
      #hao-icon-tag
      +
    • + +
    • + +
      chevron-right
      +
      #hao-icon-chevron-right
      +
    • + +
    • + +
      radio
      +
      #hao-icon-radio
      +
    • + +
    • + +
      forward
      +
      #hao-icon-forward
      +
    • + +
    • + +
      window-restore
      +
      #hao-icon-window-restore
      +
    • + +
    • + +
      backward
      +
      #hao-icon-backward
      +
    • + +
    • + +
      download
      +
      #hao-icon-download
      +
    • + +
    • + +
      comment-medical
      +
      #hao-icon-comment-medical
      +
    • + +
    • + +
      paste
      +
      #hao-icon-paste
      +
    • + +
    • + +
      arrow-rotate-right
      +
      #hao-icon-arrow-rotate-right
      +
    • + +
    • + +
      play
      +
      #hao-icon-play
      +
    • + +
    • + +
      circle-xmark
      +
      #hao-icon-circle-xmark
      +
    • + +
    • + +
      angle-down
      +
      #hao-icon-angle-down
      +
    • + +
    • + +
      chart-line
      +
      #hao-icon-chart-line
      +
    • + +
    • + +
      pencil
      +
      #hao-icon-pencil
      +
    • + +
    • + +
      thumbtack
      +
      #hao-icon-thumbtack
      +
    • + +
    • + +
      location-dot
      +
      #hao-icon-location-dot
      +
    • + +
    • + +
      fw-fire
      +
      #hao-icon-fw-fire
      +
    • + +
    • + +
      calendar-days
      +
      #hao-icon-calendar-days
      +
    • + +
    • + +
      angle-right
      +
      #hao-icon-angle-right
      +
    • + +
    • + +
      dice-d20
      +
      #hao-icon-dice-d20
      +
    • + +
    • + +
      instagram
      +
      #hao-icon-instagram
      +
    • + +
    • + +
      xmark
      +
      #hao-icon-xmark
      +
    • + +
    • + +
      spinner
      +
      #hao-icon-spinner
      +
    • + +
    • + +
      bullhorn
      +
      #hao-icon-bullhorn
      +
    • + +
    • + +
      stream
      +
      #hao-icon-stream
      +
    • + +
    • + +
      caret-left
      +
      #hao-icon-caret-left
      +
    • + +
    • + +
      folder-open
      +
      #hao-icon-folder-open
      +
    • + +
    • + +
      thumbs-up
      +
      #hao-icon-thumbs-up
      +
    • + +
    • + +
      angle-double-down
      +
      #hao-icon-angle-double-down
      +
    • + +
    • + +
      sign-out-alt
      +
      #hao-icon-sign-out-alt
      +
    • + +
    • + +
      angle-double-left
      +
      #hao-icon-angle-double-left
      +
    • + +
    • + +
      angle-double-right
      +
      #hao-icon-angle-double-right
      +
    • + +
    • + +
      angle-left
      +
      #hao-icon-angle-left
      +
    • + +
    • + +
      fw-eye
      +
      #hao-icon-fw-eye
      +
    • + +
    • + +
      repeat
      +
      #hao-icon-repeat
      +
    • + +
    • + +
      shuffle
      +
      #hao-icon-shuffle1
      +
    • + +
    • + +
      arrows-rotate
      +
      #hao-icon-arrows-rotate
      +
    • + +
    • + +
      pause
      +
      #hao-icon-pause
      +
    • + +
    • + +
      heartbeat
      +
      #hao-icon-heartbeat
      +
    • + +
    • + +
      jike
      +
      #hao-icon-a-2
      +
    • + +
    • + +
      jike
      +
      #hao-icon-jike
      +
    • + +
    • + +
      heartbeat
      +
      #hao-icon-heartbeat1
      +
    • + +
    • + +
      rss
      +
      #hao-icon-rss
      +
    • + +
    • + +
      qq
      +
      #hao-icon-qq
      +
    • + +
    • + +
      github
      +
      #hao-icon-github
      +
    • + +
    • + +
      bilibili
      +
      #hao-icon-bilibili
      +
    • + +
    • + +
      paper-plane
      +
      #hao-icon-paper-plane1
      +
    • + +
    • + +
      hashtag
      +
      #hao-icon-hashtag
      +
    • + +
    • + +
      hand-heart-fill
      +
      #hao-icon-hand-heart-fill
      +
    • + +
    • + +
      plant-fill
      +
      #hao-icon-plant-fill
      +
    • + +
    • + +
      qrcode
      +
      #hao-icon-qrcode
      +
    • + +
    • + +
      weibo
      +
      #hao-icon-weibo
      +
    • + +
    • + +
      copyright
      +
      #hao-icon-copyright
      +
    • + +
    • + +
      bolt
      +
      #hao-icon-bolt
      +
    • + +
    • + +
      circle-info
      +
      #hao-icon-circle-info
      +
    • + +
    • + +
      triangle-exclamation
      +
      #hao-icon-triangle-exclamation
      +
    • + +
    • + +
      circle-check
      +
      #hao-icon-circle-check
      +
    • + +
    • + +
      circle-minus
      +
      #hao-icon-circle-minus
      +
    • + +
    • + +
      circle-plus
      +
      #hao-icon-circle-plus
      +
    • + +
    • + +
      circle-dot
      +
      #hao-icon-circle-dot
      +
    • + +
    • + +
      scissors
      +
      #hao-icon-scissors
      +
    • + +
    • + +
      arrow-down
      +
      #hao-icon-arrow-down
      +
    • + +
    • + +
      灯泡
      +
      #hao-icon-dengpao
      +
    • + +
    • + +
      弹幕
      +
      #hao-icon-danmu
      +
    • + +
    • + +
      总览
      +
      #hao-icon-zonglan
      +
    • + +
    • + +
      灵感
      +
      #hao-icon-linggan
      +
    • + +
    • + +
      三明治
      +
      #hao-icon-sanmingzhi
      +
    • + +
    • + +
      keyboard
      +
      #hao-icon-keyboard
      +
    • + +
    • + +
      tiktok
      +
      #hao-icon-tiktok
      +
    • + +
    +
    +

    Symbol 引用

    +
    + +

    这是一种全新的使用方式,应该说这才是未来的主流,也是平台目前推荐的用法。相关介绍可以参考这篇文章 + 这种用法其实是做了一个 SVG 的集合,与另外两种相比具有如下特点:

    +
      +
    • 支持多色图标了,不再受单色限制。
    • +
    • 通过一些技巧,支持像字体那样,通过 font-size, color 来调整样式。
    • +
    • 兼容性较差,支持 IE9+,及现代浏览器。
    • +
    • 浏览器渲染 SVG 的性能一般,还不如 png。
    • +
    +

    使用步骤如下:

    +

    第一步:引入项目下面生成的 symbol 代码:

    +
    <script src="./iconfont.js"></script>
    +
    +

    第二步:加入通用 CSS 代码(引入一次就行):

    +
    <style>
    +.icon {
    +  width: 1em;
    +  height: 1em;
    +  vertical-align: -0.15em;
    +  fill: currentColor;
    +  overflow: hidden;
    +}
    +</style>
    +
    +

    第三步:挑选相应图标并获取类名,应用于页面:

    +
    <svg class="icon" aria-hidden="true">
    +  <use xlink:href="#icon-xxx"></use>
    +</svg>
    +
    +
    +
    + +
    +
    + + + diff --git a/templates/assets/icon/iconfont.css b/templates/assets/icon/iconfont.css new file mode 100644 index 00000000..734397d6 --- /dev/null +++ b/templates/assets/icon/iconfont.css @@ -0,0 +1,674 @@ +@font-face { + font-family: "haofont"; /* Project id 4159149 */ + src: url('iconfont.eot?t=1697559754295'); /* IE9 */ + src: url('iconfont.eot?t=1697559754295#iefix') format('embedded-opentype'), /* IE6-IE8 */ + url('iconfont.woff2?t=1697559754295') format('woff2'), + url('iconfont.woff?t=1697559754295') format('woff'), + url('iconfont.ttf?t=1697559754295') format('truetype'), + url('iconfont.svg?t=1697559754295#haofont') format('svg'); +} + +.haofont { + font-family: "haofont" !important; + font-size: 16px; + font-style: normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.hao-icon-aifadian-line:before { + content: "\e695"; +} + +.hao-icon-zhanghao1:before { + content: "\e696"; +} + +.hao-icon-zuozhe:before { + content: "\e694"; +} + +.hao-icon-weixin1:before { + content: "\e693"; +} + +.hao-icon-bianji:before { + content: "\e691"; +} + +.hao-icon-check-circle:before { + content: "\e77d"; +} + +.hao-icon-dashboard:before { + content: "\e6f7"; +} + +.hao-icon-bullseye:before { + content: "\eaff"; +} + +.hao-icon-logo-moment:before { + content: "\e690"; +} + +.hao-icon-leetcode:before { + content: "\ebf2"; +} + +.hao-icon-gitlab:before { + content: "\e692"; +} + +.hao-icon-csdn:before { + content: "\e68a"; +} + +.hao-icon-dribbble:before { + content: "\e87f"; +} + +.hao-icon-yuque:before { + content: "\e880"; +} + +.hao-icon-linkedin:before { + content: "\e73b"; +} + +.hao-icon-youtube:before { + content: "\e765"; +} + +.hao-icon-Instagram:before { + content: "\e68b"; +} + +.hao-icon-slack:before { + content: "\eca1"; +} + +.hao-icon-baidu:before { + content: "\e68c"; +} + +.hao-icon-discord-line:before { + content: "\e7af"; +} + +.hao-icon-cnblogs:before { + content: "\e68d"; +} + +.hao-icon-juejin:before { + content: "\e68e"; +} + +.hao-icon-steam:before { + content: "\ec22"; +} + +.hao-icon-telegram:before { + content: "\ec25"; +} + +.hao-icon-toutiao:before { + content: "\e68f"; +} + +.hao-icon-weixin:before { + content: "\e686"; +} + +.hao-icon-douban:before { + content: "\e687"; +} + +.hao-icon-29:before { + content: "\e688"; +} + +.hao-icon-weixingongzhonghao:before { + content: "\e689"; +} + +.hao-icon-cainixihuan:before { + content: "\e684"; +} + +.hao-icon-eicon_map-2-line1:before { + content: "\e685"; +} + +.hao-icon-yuan:before { + content: "\e833"; +} + +.hao-icon-creative-commons-nd-line:before { + content: "\e67a"; +} + +.hao-icon-creative-commons-by-line:before { + content: "\e67b"; +} + +.hao-icon-creative-commons-nc-line:before { + content: "\e67c"; +} + +.hao-icon-copyright-line:before { + content: "\e67d"; +} + +.hao-icon-font:before { + content: "\e67e"; +} + +.hao-icon-stopwatch:before { + content: "\e67f"; +} + +.hao-icon-file-lines:before { + content: "\e680"; +} + +.hao-icon-square-poll-vertical:before { + content: "\e681"; +} + +.hao-icon-universal-access:before { + content: "\e682"; +} + +.hao-icon-hourglass-start:before { + content: "\e683"; +} + +.hao-icon-tongxunlu07:before { + content: "\e679"; +} + +.hao-icon-arrow-right:before { + content: "\e600"; +} + +.hao-icon-arrow-left:before { + content: "\e601"; +} + +.hao-icon-dice:before { + content: "\e602"; +} + +.hao-icon-copy:before { + content: "\e603"; +} + +.hao-icon-cube:before { + content: "\e604"; +} + +.hao-icon-circle-arrow-right:before { + content: "\e605"; +} + +.hao-icon-clock:before { + content: "\e606"; +} + +.hao-icon-book:before { + content: "\e607"; +} + +.hao-icon-calendar-alt:before { + content: "\e608"; +} + +.hao-icon-eye-outline:before { + content: "\e609"; +} + +.hao-icon-circle-half-stroke:before { + content: "\e60a"; +} + +.hao-icon-arrow-up:before { + content: "\e60b"; +} + +.hao-icon-file-word:before { + content: "\e60c"; +} + +.hao-icon-fire:before { + content: "\e60d"; +} + +.hao-icon-dove:before { + content: "\e60e"; +} + +.hao-icon-gear:before { + content: "\e60f"; +} + +.hao-icon-inbox:before { + content: "\e610"; +} + +.hao-icon-history:before { + content: "\e611"; +} + +.hao-icon-magnifying-glass:before { + content: "\e612"; +} + +.hao-icon-message:before { + content: "\e613"; +} + +.hao-icon-moon:before { + content: "\e614"; +} + +.hao-icon-shapes:before { + content: "\e615"; +} + +.hao-icon-shuffle:before { + content: "\e616"; +} + +.hao-icon-language:before { + content: "\e617"; +} + +.hao-icon-tags:before { + content: "\e618"; +} + +.hao-icon-train:before { + content: "\e619"; +} + +.hao-icon-warning:before { + content: "\e61a"; +} + +.hao-icon-circle-arrow-up-right-1:before { + content: "\e61b"; +} + +.hao-icon-fish:before { + content: "\e61c"; +} + +.hao-icon-envelope:before { + content: "\e61d"; +} + +.hao-icon-music:before { + content: "\e61e"; +} + +.hao-icon-fan:before { + content: "\e61f"; +} + +.hao-icon-heartbeat-bold:before { + content: "\e620"; +} + +.hao-icon-link:before { + content: "\e621"; +} + +.hao-icon-chevron-left:before { + content: "\e622"; +} + +.hao-icon-rocket:before { + content: "\e623"; +} + +.hao-icon-lightbulb:before { + content: "\e624"; +} + +.hao-icon-shoe-prints:before { + content: "\e625"; +} + +.hao-icon-images:before { + content: "\e626"; +} + +.hao-icon-box-archive:before { + content: "\e627"; +} + +.hao-icon-artstation:before { + content: "\e628"; +} + +.hao-icon-paper-plane:before { + content: "\e629"; +} + +.hao-icon-house-chimney:before { + content: "\e62a"; +} + +.hao-icon-grip-vertical:before { + content: "\e62b"; +} + +.hao-icon-bars:before { + content: "\e62c"; +} + +.hao-icon-arrows-left-right:before { + content: "\e62d"; +} + +.hao-icon-book-open:before { + content: "\e62e"; +} + +.hao-icon-list-ul:before { + content: "\e62f"; +} + +.hao-icon-comments:before { + content: "\e630"; +} + +.hao-icon-comment-sms:before { + content: "\e631"; +} + +.hao-icon-angles-right:before { + content: "\e632"; +} + +.hao-icon-tag:before { + content: "\e633"; +} + +.hao-icon-chevron-right:before { + content: "\e634"; +} + +.hao-icon-radio:before { + content: "\e635"; +} + +.hao-icon-forward:before { + content: "\e636"; +} + +.hao-icon-window-restore:before { + content: "\e637"; +} + +.hao-icon-backward:before { + content: "\e638"; +} + +.hao-icon-download:before { + content: "\e639"; +} + +.hao-icon-comment-medical:before { + content: "\e63a"; +} + +.hao-icon-paste:before { + content: "\e63b"; +} + +.hao-icon-arrow-rotate-right:before { + content: "\e63c"; +} + +.hao-icon-play:before { + content: "\e63d"; +} + +.hao-icon-circle-xmark:before { + content: "\e63e"; +} + +.hao-icon-angle-down:before { + content: "\e63f"; +} + +.hao-icon-chart-line:before { + content: "\e640"; +} + +.hao-icon-pencil:before { + content: "\e641"; +} + +.hao-icon-thumbtack:before { + content: "\e642"; +} + +.hao-icon-location-dot:before { + content: "\e643"; +} + +.hao-icon-fw-fire:before { + content: "\e644"; +} + +.hao-icon-calendar-days:before { + content: "\e645"; +} + +.hao-icon-angle-right:before { + content: "\e646"; +} + +.hao-icon-dice-d20:before { + content: "\e647"; +} + +.hao-icon-instagram:before { + content: "\e648"; +} + +.hao-icon-xmark:before { + content: "\e649"; +} + +.hao-icon-spinner:before { + content: "\e64a"; +} + +.hao-icon-bullhorn:before { + content: "\e64b"; +} + +.hao-icon-stream:before { + content: "\e64c"; +} + +.hao-icon-caret-left:before { + content: "\e64d"; +} + +.hao-icon-folder-open:before { + content: "\e64e"; +} + +.hao-icon-thumbs-up:before { + content: "\e64f"; +} + +.hao-icon-angle-double-down:before { + content: "\e650"; +} + +.hao-icon-sign-out-alt:before { + content: "\e651"; +} + +.hao-icon-angle-double-left:before { + content: "\e652"; +} + +.hao-icon-angle-double-right:before { + content: "\e653"; +} + +.hao-icon-angle-left:before { + content: "\e654"; +} + +.hao-icon-fw-eye:before { + content: "\e655"; +} + +.hao-icon-repeat:before { + content: "\e656"; +} + +.hao-icon-shuffle1:before { + content: "\e657"; +} + +.hao-icon-arrows-rotate:before { + content: "\e658"; +} + +.hao-icon-pause:before { + content: "\e659"; +} + +.hao-icon-heartbeat:before { + content: "\e65a"; +} + +.hao-icon-a-2:before { + content: "\e65b"; +} + +.hao-icon-jike:before { + content: "\e65c"; +} + +.hao-icon-heartbeat1:before { + content: "\e65d"; +} + +.hao-icon-rss:before { + content: "\e65e"; +} + +.hao-icon-qq:before { + content: "\e65f"; +} + +.hao-icon-github:before { + content: "\e660"; +} + +.hao-icon-bilibili:before { + content: "\e661"; +} + +.hao-icon-paper-plane1:before { + content: "\e662"; +} + +.hao-icon-hashtag:before { + content: "\e663"; +} + +.hao-icon-hand-heart-fill:before { + content: "\e664"; +} + +.hao-icon-plant-fill:before { + content: "\e665"; +} + +.hao-icon-qrcode:before { + content: "\e666"; +} + +.hao-icon-weibo:before { + content: "\e667"; +} + +.hao-icon-copyright:before { + content: "\e668"; +} + +.hao-icon-bolt:before { + content: "\e669"; +} + +.hao-icon-circle-info:before { + content: "\e66a"; +} + +.hao-icon-triangle-exclamation:before { + content: "\e66b"; +} + +.hao-icon-circle-check:before { + content: "\e66c"; +} + +.hao-icon-circle-minus:before { + content: "\e66d"; +} + +.hao-icon-circle-plus:before { + content: "\e66e"; +} + +.hao-icon-circle-dot:before { + content: "\e66f"; +} + +.hao-icon-scissors:before { + content: "\e670"; +} + +.hao-icon-arrow-down:before { + content: "\e671"; +} + +.hao-icon-dengpao:before { + content: "\e672"; +} + +.hao-icon-danmu:before { + content: "\e673"; +} + +.hao-icon-zonglan:before { + content: "\e674"; +} + +.hao-icon-linggan:before { + content: "\e675"; +} + +.hao-icon-sanmingzhi:before { + content: "\e676"; +} + +.hao-icon-keyboard:before { + content: "\e677"; +} + +.hao-icon-tiktok:before { + content: "\e678"; +} + diff --git a/templates/assets/icon/iconfont.eot b/templates/assets/icon/iconfont.eot new file mode 100644 index 0000000000000000000000000000000000000000..df99f543952230ad2427ee10a960e19d165fa903 GIT binary patch literal 43224 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 D=$dPT literal 0 HcmV?d00001 diff --git a/templates/assets/icon/iconfont.js b/templates/assets/icon/iconfont.js new file mode 100644 index 00000000..f332ce33 --- /dev/null +++ b/templates/assets/icon/iconfont.js @@ -0,0 +1 @@ +window._iconfont_svg_string_4159149='',function(a){var c=(c=document.getElementsByTagName("script"))[c.length-1],l=c.getAttribute("data-injectcss"),c=c.getAttribute("data-disable-injectsvg");if(!c){var h,o,s,i,m,t=function(c,l){l.parentNode.insertBefore(c,l)};if(l&&!a.__iconfont__svg__cssinject__){a.__iconfont__svg__cssinject__=!0;try{document.write("")}catch(c){console&&console.log(c)}}h=function(){var c,l=document.createElement("div");l.innerHTML=a._iconfont_svg_string_4159149,(l=l.getElementsByTagName("svg")[0])&&(l.setAttribute("aria-hidden","true"),l.style.position="absolute",l.style.width=0,l.style.height=0,l.style.overflow="hidden",l=l,(c=document.body).firstChild?t(l,c.firstChild):c.appendChild(l))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(h,0):(o=function(){document.removeEventListener("DOMContentLoaded",o,!1),h()},document.addEventListener("DOMContentLoaded",o,!1)):document.attachEvent&&(s=h,i=a.document,m=!1,v(),i.onreadystatechange=function(){"complete"==i.readyState&&(i.onreadystatechange=null,z())})}function z(){m||(m=!0,s())}function v(){try{i.documentElement.doScroll("left")}catch(c){return void setTimeout(v,50)}z()}}(window); \ No newline at end of file diff --git a/templates/assets/icon/iconfont.json b/templates/assets/icon/iconfont.json new file mode 100644 index 00000000..10b7a4cf --- /dev/null +++ b/templates/assets/icon/iconfont.json @@ -0,0 +1,1157 @@ +{ + "id": "4159149", + "name": "halo-theme-hao", + "font_family": "haofont", + "css_prefix_text": "hao-icon-", + "description": "", + "glyphs": [ + { + "icon_id": "37108822", + "name": "aifadian-line", + "font_class": "aifadian-line", + "unicode": "e695", + "unicode_decimal": 59029 + }, + { + "icon_id": "25554762", + "name": "账号", + "font_class": "zhanghao1", + "unicode": "e696", + "unicode_decimal": 59030 + }, + { + "icon_id": "7551371", + "name": "作者", + "font_class": "zuozhe", + "unicode": "e694", + "unicode_decimal": 59028 + }, + { + "icon_id": "5699518", + "name": "微信", + "font_class": "weixin1", + "unicode": "e693", + "unicode_decimal": 59027 + }, + { + "icon_id": "11717193", + "name": "编辑", + "font_class": "bianji", + "unicode": "e691", + "unicode_decimal": 59025 + }, + { + "icon_id": "4765721", + "name": "check-circle", + "font_class": "check-circle", + "unicode": "e77d", + "unicode_decimal": 59261 + }, + { + "icon_id": "141594", + "name": "dashboard", + "font_class": "dashboard", + "unicode": "e6f7", + "unicode_decimal": 59127 + }, + { + "icon_id": "27363262", + "name": "bullseye", + "font_class": "bullseye", + "unicode": "eaff", + "unicode_decimal": 60159 + }, + { + "icon_id": "15811221", + "name": "logo-moment", + "font_class": "logo-moment", + "unicode": "e690", + "unicode_decimal": 59024 + }, + { + "icon_id": "15378535", + "name": "leetcode", + "font_class": "leetcode", + "unicode": "ebf2", + "unicode_decimal": 60402 + }, + { + "icon_id": "1261753", + "name": "gitlab", + "font_class": "gitlab", + "unicode": "e692", + "unicode_decimal": 59026 + }, + { + "icon_id": "3506983", + "name": "csdn", + "font_class": "csdn", + "unicode": "e68a", + "unicode_decimal": 59018 + }, + { + "icon_id": "4936971", + "name": "dribbble", + "font_class": "dribbble", + "unicode": "e87f", + "unicode_decimal": 59519 + }, + { + "icon_id": "4936975", + "name": "yuque", + "font_class": "yuque", + "unicode": "e880", + "unicode_decimal": 59520 + }, + { + "icon_id": "7239801", + "name": "linkedin", + "font_class": "linkedin", + "unicode": "e73b", + "unicode_decimal": 59195 + }, + { + "icon_id": "7239959", + "name": "youtube", + "font_class": "youtube", + "unicode": "e765", + "unicode_decimal": 59237 + }, + { + "icon_id": "12856616", + "name": "Instagram", + "font_class": "Instagram", + "unicode": "e68b", + "unicode_decimal": 59019 + }, + { + "icon_id": "15378797", + "name": "slack", + "font_class": "slack", + "unicode": "eca1", + "unicode_decimal": 60577 + }, + { + "icon_id": "20312928", + "name": "百度", + "font_class": "baidu", + "unicode": "e68c", + "unicode_decimal": 59020 + }, + { + "icon_id": "23179715", + "name": "discord-line", + "font_class": "discord-line", + "unicode": "e7af", + "unicode_decimal": 59311 + }, + { + "icon_id": "26267545", + "name": "cnblogs", + "font_class": "cnblogs", + "unicode": "e68d", + "unicode_decimal": 59021 + }, + { + "icon_id": "26267597", + "name": "juejin", + "font_class": "juejin", + "unicode": "e68e", + "unicode_decimal": 59022 + }, + { + "icon_id": "27365294", + "name": "steam", + "font_class": "steam", + "unicode": "ec22", + "unicode_decimal": 60450 + }, + { + "icon_id": "27365309", + "name": "telegram", + "font_class": "telegram", + "unicode": "ec25", + "unicode_decimal": 60453 + }, + { + "icon_id": "28283466", + "name": "toutiao", + "font_class": "toutiao", + "unicode": "e68f", + "unicode_decimal": 59023 + }, + { + "icon_id": "736510", + "name": "微信", + "font_class": "weixin", + "unicode": "e686", + "unicode_decimal": 59014 + }, + { + "icon_id": "785018", + "name": "豆瓣", + "font_class": "douban", + "unicode": "e687", + "unicode_decimal": 59015 + }, + { + "icon_id": "17447588", + "name": "知乎", + "font_class": "29", + "unicode": "e688", + "unicode_decimal": 59016 + }, + { + "icon_id": "28650243", + "name": "微信公众号", + "font_class": "weixingongzhonghao", + "unicode": "e689", + "unicode_decimal": 59017 + }, + { + "icon_id": "24915807", + "name": "猜你喜欢", + "font_class": "cainixihuan", + "unicode": "e684", + "unicode_decimal": 59012 + }, + { + "icon_id": "29788405", + "name": "eicon_map-2-line", + "font_class": "eicon_map-2-line1", + "unicode": "e685", + "unicode_decimal": 59013 + }, + { + "icon_id": "12300445", + "name": "circle", + "font_class": "yuan", + "unicode": "e833", + "unicode_decimal": 59443 + }, + { + "icon_id": "36563383", + "name": "creative-commons-nd-line", + "font_class": "creative-commons-nd-line", + "unicode": "e67a", + "unicode_decimal": 59002 + }, + { + "icon_id": "36563384", + "name": "creative-commons-by-line", + "font_class": "creative-commons-by-line", + "unicode": "e67b", + "unicode_decimal": 59003 + }, + { + "icon_id": "36563385", + "name": "creative-commons-nc-line", + "font_class": "creative-commons-nc-line", + "unicode": "e67c", + "unicode_decimal": 59004 + }, + { + "icon_id": "36563386", + "name": "copyright-line", + "font_class": "copyright-line", + "unicode": "e67d", + "unicode_decimal": 59005 + }, + { + "icon_id": "36566343", + "name": "font", + "font_class": "font", + "unicode": "e67e", + "unicode_decimal": 59006 + }, + { + "icon_id": "36566344", + "name": "stopwatch", + "font_class": "stopwatch", + "unicode": "e67f", + "unicode_decimal": 59007 + }, + { + "icon_id": "36566345", + "name": "file-lines", + "font_class": "file-lines", + "unicode": "e680", + "unicode_decimal": 59008 + }, + { + "icon_id": "36566354", + "name": "square-poll-vertical", + "font_class": "square-poll-vertical", + "unicode": "e681", + "unicode_decimal": 59009 + }, + { + "icon_id": "36566355", + "name": "universal-access", + "font_class": "universal-access", + "unicode": "e682", + "unicode_decimal": 59010 + }, + { + "icon_id": "36566356", + "name": "hourglass-start", + "font_class": "hourglass-start", + "unicode": "e683", + "unicode_decimal": 59011 + }, + { + "icon_id": "32467217", + "name": "通讯录07", + "font_class": "tongxunlu07", + "unicode": "e679", + "unicode_decimal": 59001 + }, + { + "icon_id": "34999293", + "name": "arrow-right", + "font_class": "arrow-right", + "unicode": "e600", + "unicode_decimal": 58880 + }, + { + "icon_id": "34999294", + "name": "arrow-left", + "font_class": "arrow-left", + "unicode": "e601", + "unicode_decimal": 58881 + }, + { + "icon_id": "34999295", + "name": "dice", + "font_class": "dice", + "unicode": "e602", + "unicode_decimal": 58882 + }, + { + "icon_id": "34999296", + "name": "copy", + "font_class": "copy", + "unicode": "e603", + "unicode_decimal": 58883 + }, + { + "icon_id": "34999297", + "name": "cube", + "font_class": "cube", + "unicode": "e604", + "unicode_decimal": 58884 + }, + { + "icon_id": "34999298", + "name": "circle-arrow-right", + "font_class": "circle-arrow-right", + "unicode": "e605", + "unicode_decimal": 58885 + }, + { + "icon_id": "34999299", + "name": "clock", + "font_class": "clock", + "unicode": "e606", + "unicode_decimal": 58886 + }, + { + "icon_id": "34999300", + "name": "book", + "font_class": "book", + "unicode": "e607", + "unicode_decimal": 58887 + }, + { + "icon_id": "34999301", + "name": "calendar-alt", + "font_class": "calendar-alt", + "unicode": "e608", + "unicode_decimal": 58888 + }, + { + "icon_id": "34999302", + "name": "eye-outline", + "font_class": "eye-outline", + "unicode": "e609", + "unicode_decimal": 58889 + }, + { + "icon_id": "34999303", + "name": "circle-half-stroke", + "font_class": "circle-half-stroke", + "unicode": "e60a", + "unicode_decimal": 58890 + }, + { + "icon_id": "34999304", + "name": "arrow-up", + "font_class": "arrow-up", + "unicode": "e60b", + "unicode_decimal": 58891 + }, + { + "icon_id": "34999305", + "name": "file-word", + "font_class": "file-word", + "unicode": "e60c", + "unicode_decimal": 58892 + }, + { + "icon_id": "34999306", + "name": "fire", + "font_class": "fire", + "unicode": "e60d", + "unicode_decimal": 58893 + }, + { + "icon_id": "34999307", + "name": "dove", + "font_class": "dove", + "unicode": "e60e", + "unicode_decimal": 58894 + }, + { + "icon_id": "34999308", + "name": "gear", + "font_class": "gear", + "unicode": "e60f", + "unicode_decimal": 58895 + }, + { + "icon_id": "34999309", + "name": "inbox", + "font_class": "inbox", + "unicode": "e610", + "unicode_decimal": 58896 + }, + { + "icon_id": "34999310", + "name": "history", + "font_class": "history", + "unicode": "e611", + "unicode_decimal": 58897 + }, + { + "icon_id": "34999311", + "name": "magnifying-glass", + "font_class": "magnifying-glass", + "unicode": "e612", + "unicode_decimal": 58898 + }, + { + "icon_id": "34999312", + "name": "message", + "font_class": "message", + "unicode": "e613", + "unicode_decimal": 58899 + }, + { + "icon_id": "34999313", + "name": "moon", + "font_class": "moon", + "unicode": "e614", + "unicode_decimal": 58900 + }, + { + "icon_id": "34999314", + "name": "shapes", + "font_class": "shapes", + "unicode": "e615", + "unicode_decimal": 58901 + }, + { + "icon_id": "34999315", + "name": "shuffle", + "font_class": "shuffle", + "unicode": "e616", + "unicode_decimal": 58902 + }, + { + "icon_id": "34999316", + "name": "language", + "font_class": "language", + "unicode": "e617", + "unicode_decimal": 58903 + }, + { + "icon_id": "34999317", + "name": "tags", + "font_class": "tags", + "unicode": "e618", + "unicode_decimal": 58904 + }, + { + "icon_id": "34999318", + "name": "train", + "font_class": "train", + "unicode": "e619", + "unicode_decimal": 58905 + }, + { + "icon_id": "34999319", + "name": "warning", + "font_class": "warning", + "unicode": "e61a", + "unicode_decimal": 58906 + }, + { + "icon_id": "34999440", + "name": "circle-arrow-up-right-1", + "font_class": "circle-arrow-up-right-1", + "unicode": "e61b", + "unicode_decimal": 58907 + }, + { + "icon_id": "35000181", + "name": "fish", + "font_class": "fish", + "unicode": "e61c", + "unicode_decimal": 58908 + }, + { + "icon_id": "35005759", + "name": "envelope", + "font_class": "envelope", + "unicode": "e61d", + "unicode_decimal": 58909 + }, + { + "icon_id": "35005760", + "name": "music", + "font_class": "music", + "unicode": "e61e", + "unicode_decimal": 58910 + }, + { + "icon_id": "35005761", + "name": "fan", + "font_class": "fan", + "unicode": "e61f", + "unicode_decimal": 58911 + }, + { + "icon_id": "35005762", + "name": "heartbeat-bold", + "font_class": "heartbeat-bold", + "unicode": "e620", + "unicode_decimal": 58912 + }, + { + "icon_id": "35005763", + "name": "link", + "font_class": "link", + "unicode": "e621", + "unicode_decimal": 58913 + }, + { + "icon_id": "35005764", + "name": "chevron-left", + "font_class": "chevron-left", + "unicode": "e622", + "unicode_decimal": 58914 + }, + { + "icon_id": "35005765", + "name": "rocket", + "font_class": "rocket", + "unicode": "e623", + "unicode_decimal": 58915 + }, + { + "icon_id": "35005766", + "name": "lightbulb", + "font_class": "lightbulb", + "unicode": "e624", + "unicode_decimal": 58916 + }, + { + "icon_id": "35005767", + "name": "shoe-prints", + "font_class": "shoe-prints", + "unicode": "e625", + "unicode_decimal": 58917 + }, + { + "icon_id": "35005768", + "name": "images", + "font_class": "images", + "unicode": "e626", + "unicode_decimal": 58918 + }, + { + "icon_id": "35005769", + "name": "box-archive", + "font_class": "box-archive", + "unicode": "e627", + "unicode_decimal": 58919 + }, + { + "icon_id": "35005770", + "name": "artstation", + "font_class": "artstation", + "unicode": "e628", + "unicode_decimal": 58920 + }, + { + "icon_id": "35006038", + "name": "paper-plane", + "font_class": "paper-plane", + "unicode": "e629", + "unicode_decimal": 58921 + }, + { + "icon_id": "35006420", + "name": "house-chimney", + "font_class": "house-chimney", + "unicode": "e62a", + "unicode_decimal": 58922 + }, + { + "icon_id": "35006421", + "name": "grip-vertical", + "font_class": "grip-vertical", + "unicode": "e62b", + "unicode_decimal": 58923 + }, + { + "icon_id": "35006529", + "name": "bars", + "font_class": "bars", + "unicode": "e62c", + "unicode_decimal": 58924 + }, + { + "icon_id": "35006720", + "name": "arrows-left-right", + "font_class": "arrows-left-right", + "unicode": "e62d", + "unicode_decimal": 58925 + }, + { + "icon_id": "35006745", + "name": "book-open", + "font_class": "book-open", + "unicode": "e62e", + "unicode_decimal": 58926 + }, + { + "icon_id": "35006771", + "name": "list-ul", + "font_class": "list-ul", + "unicode": "e62f", + "unicode_decimal": 58927 + }, + { + "icon_id": "35006776", + "name": "comments", + "font_class": "comments", + "unicode": "e630", + "unicode_decimal": 58928 + }, + { + "icon_id": "35006786", + "name": "comment-sms", + "font_class": "comment-sms", + "unicode": "e631", + "unicode_decimal": 58929 + }, + { + "icon_id": "35006799", + "name": "angles-right", + "font_class": "angles-right", + "unicode": "e632", + "unicode_decimal": 58930 + }, + { + "icon_id": "35006808", + "name": "tag", + "font_class": "tag", + "unicode": "e633", + "unicode_decimal": 58931 + }, + { + "icon_id": "35007390", + "name": "chevron-right", + "font_class": "chevron-right", + "unicode": "e634", + "unicode_decimal": 58932 + }, + { + "icon_id": "35007411", + "name": "radio", + "font_class": "radio", + "unicode": "e635", + "unicode_decimal": 58933 + }, + { + "icon_id": "35007429", + "name": "forward", + "font_class": "forward", + "unicode": "e636", + "unicode_decimal": 58934 + }, + { + "icon_id": "35007439", + "name": "window-restore", + "font_class": "window-restore", + "unicode": "e637", + "unicode_decimal": 58935 + }, + { + "icon_id": "35007440", + "name": "backward", + "font_class": "backward", + "unicode": "e638", + "unicode_decimal": 58936 + }, + { + "icon_id": "35007441", + "name": "download", + "font_class": "download", + "unicode": "e639", + "unicode_decimal": 58937 + }, + { + "icon_id": "35007442", + "name": "comment-medical", + "font_class": "comment-medical", + "unicode": "e63a", + "unicode_decimal": 58938 + }, + { + "icon_id": "35007443", + "name": "paste", + "font_class": "paste", + "unicode": "e63b", + "unicode_decimal": 58939 + }, + { + "icon_id": "35007453", + "name": "arrow-rotate-right", + "font_class": "arrow-rotate-right", + "unicode": "e63c", + "unicode_decimal": 58940 + }, + { + "icon_id": "35007688", + "name": "play", + "font_class": "play", + "unicode": "e63d", + "unicode_decimal": 58941 + }, + { + "icon_id": "35007727", + "name": "circle-xmark", + "font_class": "circle-xmark", + "unicode": "e63e", + "unicode_decimal": 58942 + }, + { + "icon_id": "35007730", + "name": "angle-down", + "font_class": "angle-down", + "unicode": "e63f", + "unicode_decimal": 58943 + }, + { + "icon_id": "35007961", + "name": "chart-line", + "font_class": "chart-line", + "unicode": "e640", + "unicode_decimal": 58944 + }, + { + "icon_id": "35007979", + "name": "pencil", + "font_class": "pencil", + "unicode": "e641", + "unicode_decimal": 58945 + }, + { + "icon_id": "35007981", + "name": "thumbtack", + "font_class": "thumbtack", + "unicode": "e642", + "unicode_decimal": 58946 + }, + { + "icon_id": "35008008", + "name": "location-dot", + "font_class": "location-dot", + "unicode": "e643", + "unicode_decimal": 58947 + }, + { + "icon_id": "35008010", + "name": "fw-fire", + "font_class": "fw-fire", + "unicode": "e644", + "unicode_decimal": 58948 + }, + { + "icon_id": "35011718", + "name": "calendar-days", + "font_class": "calendar-days", + "unicode": "e645", + "unicode_decimal": 58949 + }, + { + "icon_id": "35011769", + "name": "angle-right", + "font_class": "angle-right", + "unicode": "e646", + "unicode_decimal": 58950 + }, + { + "icon_id": "35011951", + "name": "dice-d20", + "font_class": "dice-d20", + "unicode": "e647", + "unicode_decimal": 58951 + }, + { + "icon_id": "35012020", + "name": "instagram", + "font_class": "instagram", + "unicode": "e648", + "unicode_decimal": 58952 + }, + { + "icon_id": "35012394", + "name": "xmark", + "font_class": "xmark", + "unicode": "e649", + "unicode_decimal": 58953 + }, + { + "icon_id": "35012584", + "name": "spinner", + "font_class": "spinner", + "unicode": "e64a", + "unicode_decimal": 58954 + }, + { + "icon_id": "35013409", + "name": "bullhorn", + "font_class": "bullhorn", + "unicode": "e64b", + "unicode_decimal": 58955 + }, + { + "icon_id": "35013645", + "name": "stream", + "font_class": "stream", + "unicode": "e64c", + "unicode_decimal": 58956 + }, + { + "icon_id": "35013722", + "name": "caret-left", + "font_class": "caret-left", + "unicode": "e64d", + "unicode_decimal": 58957 + }, + { + "icon_id": "35013735", + "name": "folder-open", + "font_class": "folder-open", + "unicode": "e64e", + "unicode_decimal": 58958 + }, + { + "icon_id": "35013743", + "name": "thumbs-up", + "font_class": "thumbs-up", + "unicode": "e64f", + "unicode_decimal": 58959 + }, + { + "icon_id": "35013890", + "name": "angle-double-down", + "font_class": "angle-double-down", + "unicode": "e650", + "unicode_decimal": 58960 + }, + { + "icon_id": "35014014", + "name": "sign-out-alt", + "font_class": "sign-out-alt", + "unicode": "e651", + "unicode_decimal": 58961 + }, + { + "icon_id": "35014035", + "name": "angle-double-left", + "font_class": "angle-double-left", + "unicode": "e652", + "unicode_decimal": 58962 + }, + { + "icon_id": "35014057", + "name": "angle-double-right", + "font_class": "angle-double-right", + "unicode": "e653", + "unicode_decimal": 58963 + }, + { + "icon_id": "35014071", + "name": "angle-left", + "font_class": "angle-left", + "unicode": "e654", + "unicode_decimal": 58964 + }, + { + "icon_id": "35014207", + "name": "fw-eye", + "font_class": "fw-eye", + "unicode": "e655", + "unicode_decimal": 58965 + }, + { + "icon_id": "35014454", + "name": "repeat", + "font_class": "repeat", + "unicode": "e656", + "unicode_decimal": 58966 + }, + { + "icon_id": "35014456", + "name": "shuffle", + "font_class": "shuffle1", + "unicode": "e657", + "unicode_decimal": 58967 + }, + { + "icon_id": "35014457", + "name": "arrows-rotate", + "font_class": "arrows-rotate", + "unicode": "e658", + "unicode_decimal": 58968 + }, + { + "icon_id": "35014462", + "name": "pause", + "font_class": "pause", + "unicode": "e659", + "unicode_decimal": 58969 + }, + { + "icon_id": "35014584", + "name": "heartbeat", + "font_class": "heartbeat", + "unicode": "e65a", + "unicode_decimal": 58970 + }, + { + "icon_id": "35014836", + "name": "jike", + "font_class": "a-2", + "unicode": "e65b", + "unicode_decimal": 58971 + }, + { + "icon_id": "35015039", + "name": "jike", + "font_class": "jike", + "unicode": "e65c", + "unicode_decimal": 58972 + }, + { + "icon_id": "35015857", + "name": "heartbeat", + "font_class": "heartbeat1", + "unicode": "e65d", + "unicode_decimal": 58973 + }, + { + "icon_id": "35017946", + "name": "rss", + "font_class": "rss", + "unicode": "e65e", + "unicode_decimal": 58974 + }, + { + "icon_id": "35017947", + "name": "qq", + "font_class": "qq", + "unicode": "e65f", + "unicode_decimal": 58975 + }, + { + "icon_id": "35017948", + "name": "github", + "font_class": "github", + "unicode": "e660", + "unicode_decimal": 58976 + }, + { + "icon_id": "35017949", + "name": "bilibili", + "font_class": "bilibili", + "unicode": "e661", + "unicode_decimal": 58977 + }, + { + "icon_id": "35018014", + "name": "paper-plane", + "font_class": "paper-plane1", + "unicode": "e662", + "unicode_decimal": 58978 + }, + { + "icon_id": "35037164", + "name": "hashtag", + "font_class": "hashtag", + "unicode": "e663", + "unicode_decimal": 58979 + }, + { + "icon_id": "35045021", + "name": "hand-heart-fill", + "font_class": "hand-heart-fill", + "unicode": "e664", + "unicode_decimal": 58980 + }, + { + "icon_id": "35045029", + "name": "plant-fill", + "font_class": "plant-fill", + "unicode": "e665", + "unicode_decimal": 58981 + }, + { + "icon_id": "35045310", + "name": "qrcode", + "font_class": "qrcode", + "unicode": "e666", + "unicode_decimal": 58982 + }, + { + "icon_id": "35045337", + "name": "weibo", + "font_class": "weibo", + "unicode": "e667", + "unicode_decimal": 58983 + }, + { + "icon_id": "35048154", + "name": "copyright", + "font_class": "copyright", + "unicode": "e668", + "unicode_decimal": 58984 + }, + { + "icon_id": "35062060", + "name": "bolt", + "font_class": "bolt", + "unicode": "e669", + "unicode_decimal": 58985 + }, + { + "icon_id": "35062061", + "name": "circle-info", + "font_class": "circle-info", + "unicode": "e66a", + "unicode_decimal": 58986 + }, + { + "icon_id": "35062062", + "name": "triangle-exclamation", + "font_class": "triangle-exclamation", + "unicode": "e66b", + "unicode_decimal": 58987 + }, + { + "icon_id": "35062174", + "name": "circle-check", + "font_class": "circle-check", + "unicode": "e66c", + "unicode_decimal": 58988 + }, + { + "icon_id": "35062175", + "name": "circle-minus", + "font_class": "circle-minus", + "unicode": "e66d", + "unicode_decimal": 58989 + }, + { + "icon_id": "35062176", + "name": "circle-plus", + "font_class": "circle-plus", + "unicode": "e66e", + "unicode_decimal": 58990 + }, + { + "icon_id": "35062177", + "name": "circle-dot", + "font_class": "circle-dot", + "unicode": "e66f", + "unicode_decimal": 58991 + }, + { + "icon_id": "35079571", + "name": "scissors", + "font_class": "scissors", + "unicode": "e670", + "unicode_decimal": 58992 + }, + { + "icon_id": "35091245", + "name": "arrow-down", + "font_class": "arrow-down", + "unicode": "e671", + "unicode_decimal": 58993 + }, + { + "icon_id": "35219684", + "name": "灯泡", + "font_class": "dengpao", + "unicode": "e672", + "unicode_decimal": 58994 + }, + { + "icon_id": "35219685", + "name": "弹幕", + "font_class": "danmu", + "unicode": "e673", + "unicode_decimal": 58995 + }, + { + "icon_id": "35219686", + "name": "总览", + "font_class": "zonglan", + "unicode": "e674", + "unicode_decimal": 58996 + }, + { + "icon_id": "35219687", + "name": "灵感", + "font_class": "linggan", + "unicode": "e675", + "unicode_decimal": 58997 + }, + { + "icon_id": "35219688", + "name": "三明治", + "font_class": "sanmingzhi", + "unicode": "e676", + "unicode_decimal": 58998 + }, + { + "icon_id": "35384532", + "name": "keyboard", + "font_class": "keyboard", + "unicode": "e677", + "unicode_decimal": 58999 + }, + { + "icon_id": "35406224", + "name": "tiktok", + "font_class": "tiktok", + "unicode": "e678", + "unicode_decimal": 59000 + } + ] +} diff --git a/templates/assets/icon/iconfont.svg b/templates/assets/icon/iconfont.svg new file mode 100644 index 00000000..82c4189d --- /dev/null +++ b/templates/assets/icon/iconfont.svg @@ -0,0 +1,347 @@ + + + + Created by iconfont + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/templates/assets/icon/iconfont.ttf b/templates/assets/icon/iconfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..e9531fba8f4df4503ce01ce452965acf817cfa14 GIT binary patch literal 43060 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 XSJ@kjY4gX>^>XaZcy8`*(4LL?oJ%JX literal 0 HcmV?d00001 diff --git a/templates/assets/icon/iconfont.woff2 b/templates/assets/icon/iconfont.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..248f6d228c5d6fbdbb6a7dec531a58150b4d8b6a GIT binary patch literal 22064 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 literal 0 HcmV?d00001 diff --git a/templates/modules/head.html b/templates/modules/head.html index f1f6e4d4..4bc7a405 100644 --- a/templates/modules/head.html +++ b/templates/modules/head.html @@ -178,7 +178,7 @@ - + diff --git a/templates/modules/layouts/layout.html b/templates/modules/layouts/layout.html index d615d6fd..6099c957 100644 --- a/templates/modules/layouts/layout.html +++ b/templates/modules/layouts/layout.html @@ -17,7 +17,7 @@ rel="stylesheet" th:href="${not #strings.isEmpty(theme.config.comments.walines.walinesCss) ? theme.config.comments.walines.walinesCss : 'https://cdn.cbd.int/@waline/client@2.15.7/dist/waline.css' }"> - + From d4a19e5ceb4db6a51d75a6122162bac2b064d555 Mon Sep 17 00:00:00 2001 From: "1152958806@qq.com" <1152958806@qq.com> Date: Mon, 30 Oct 2023 23:37:58 +0800 Subject: [PATCH 15/15] 0 --- templates/assets/zhheo/blogex.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/assets/zhheo/blogex.js b/templates/assets/zhheo/blogex.js index f97bc485..41989caf 100644 --- a/templates/assets/zhheo/blogex.js +++ b/templates/assets/zhheo/blogex.js @@ -479,7 +479,7 @@ window.onkeydown = function (e) { // document.querySelector('#algolia-search').addEventListener('wheel', (e) => { // e.preventDefault() // }) -document.querySelector('#console').addEventListener('wheel', (e) => { +document.querySelector('#console') && document.querySelector('#console').addEventListener('wheel', (e) => { e.preventDefault() }) // document.querySelector('#loading-box').addEventListener('wheel', (e) => {