hexo-theme-solitude 1.2.6 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CONTRIBUTING.md +41 -0
- package/README.md +8 -8
- package/README_EN.md +6 -6
- package/_config.yml +495 -297
- package/languages/en-US.yml +105 -8
- package/languages/zh-CN.yml +98 -1
- package/layout/archive.pug +3 -3
- package/layout/category.pug +4 -5
- package/layout/includes/console.pug +15 -16
- package/layout/includes/footer.pug +26 -28
- package/layout/includes/head/config.pug +27 -8
- package/layout/includes/head/fest.pug +22 -0
- package/layout/includes/head/opengraph.pug +11 -0
- package/layout/includes/head.pug +1 -3
- package/layout/includes/header.pug +1 -1
- package/layout/includes/inject/body.pug +33 -13
- package/layout/includes/inject/head.pug +30 -20
- package/layout/includes/layout.pug +11 -8
- package/layout/includes/loading.pug +1 -64
- package/layout/includes/mixins/articleSort.pug +4 -4
- package/layout/includes/mixins/pagination.pug +1 -1
- package/layout/includes/nav.pug +10 -10
- package/layout/includes/page/about.pug +1 -0
- package/layout/includes/page/categories.pug +3 -3
- package/layout/includes/page/default.pug +1 -1
- package/layout/includes/page/echarts.pug +3 -3
- package/layout/includes/page/equipment.pug +0 -1
- package/layout/includes/page/links.pug +5 -26
- package/layout/includes/page/moments.pug +0 -1
- package/layout/includes/page/music.pug +19 -0
- package/layout/includes/page/not_configured.pug +18 -0
- package/layout/includes/page/rss.pug +20 -22
- package/layout/includes/page/says.pug +1 -2
- package/layout/includes/page/tags.pug +3 -3
- package/layout/includes/page/tlink.pug +0 -1
- package/layout/includes/sidebar.pug +7 -7
- package/layout/includes/widgets/aside/aside.pug +13 -1
- package/layout/includes/widgets/aside/asideArchive.pug +5 -3
- package/layout/includes/widgets/aside/asideCustom.pug +6 -0
- package/layout/includes/widgets/aside/asideHistory.pug +3 -3
- package/layout/includes/widgets/aside/asideInfoCard.pug +4 -6
- package/layout/includes/widgets/aside/asideNewestPost.pug +1 -1
- package/layout/includes/widgets/aside/asideSwitch.pug +0 -11
- package/layout/includes/widgets/aside/asideTag.pug +2 -2
- package/layout/includes/widgets/aside/asideToc.pug +1 -1
- package/layout/includes/widgets/aside/asideWebInfo.pug +6 -6
- package/layout/includes/widgets/aside/asideWelcome.pug +1 -1
- package/layout/includes/widgets/home/banner.pug +2 -2
- package/layout/includes/widgets/home/bbTimeList.pug +3 -3
- package/layout/includes/widgets/home/categoryBar.pug +3 -3
- package/layout/includes/widgets/home/categoryGroup.pug +2 -2
- package/layout/includes/widgets/home/hometop.pug +7 -7
- package/layout/includes/widgets/home/postList.pug +12 -8
- package/layout/includes/widgets/home/topGroup.pug +17 -13
- package/layout/includes/widgets/nav/left.pug +6 -6
- package/layout/includes/widgets/nav/menu.pug +4 -4
- package/layout/includes/widgets/nav/right.pug +14 -14
- package/layout/includes/widgets/page/about/authorinfo.pug +1 -1
- package/layout/includes/widgets/page/about/award.pug +11 -9
- package/layout/includes/widgets/page/about/contentinfo.pug +7 -7
- package/layout/includes/widgets/page/about/hobbies.pug +1 -1
- package/layout/includes/widgets/page/about/motto.pug +2 -2
- package/layout/includes/widgets/page/about/other.pug +10 -9
- package/layout/includes/widgets/page/about/personalities.pug +2 -2
- package/layout/includes/widgets/page/about/skillsinfo.pug +10 -12
- package/layout/includes/widgets/page/about/tenyear.pug +48 -0
- package/layout/includes/widgets/page/banner.pug +2 -2
- package/layout/includes/widgets/page/links/banner.pug +12 -14
- package/layout/includes/widgets/page/links/linksItem.pug +0 -1
- package/layout/includes/widgets/page/moments/angle.pug +7 -12
- package/layout/includes/widgets/page/moments/index.pug +7 -2
- package/layout/includes/widgets/post/award.pug +12 -8
- package/layout/includes/widgets/post/copyright.pug +16 -14
- package/layout/includes/widgets/post/postMeta.pug +36 -25
- package/layout/includes/widgets/post/postNav.pug +15 -15
- package/layout/includes/widgets/randomlink.pug +10 -5
- package/layout/includes/widgets/rightside/index.pug +9 -8
- package/layout/includes/widgets/third-party/ai/index.pug +12 -0
- package/layout/includes/widgets/third-party/comments/comment.pug +6 -1
- package/layout/includes/widgets/third-party/comments/twikoo.pug +5 -4
- package/layout/includes/widgets/third-party/comments/waline.pug +4 -5
- package/layout/includes/widgets/third-party/music.pug +1 -1
- package/layout/includes/widgets/third-party/pjax.pug +6 -1
- package/layout/includes/widgets/third-party/search/algolia-search.pug +4 -3
- package/layout/includes/widgets/third-party/search/index.pug +2 -2
- package/layout/includes/widgets/third-party/search/local-search.pug +3 -3
- package/layout/index.pug +5 -6
- package/layout/page.pug +34 -29
- package/layout/post.pug +3 -23
- package/layout/tag.pug +3 -3
- package/package.json +2 -2
- package/scripts/filter/checkThemeConfig.js +0 -5
- package/scripts/helper/cdn.js +12 -0
- package/scripts/helper/page.js +13 -0
- package/scripts/helper/related_post.js +0 -1
- package/scripts/tags/button.js +21 -0
- package/scripts/tags/card.js +9 -0
- package/scripts/tags/checkbox.js +51 -0
- package/scripts/tags/fold.js +0 -5
- package/scripts/tags/image.js +75 -0
- package/scripts/tags/inline-image.js +12 -0
- package/scripts/tags/label.js +10 -0
- package/scripts/tags/link.js +2 -0
- package/scripts/tags/media.js +29 -0
- package/scripts/tags/span.js +17 -0
- package/scripts/tags/timeline.js +2 -15
- package/scripts/tags/u.js +7 -0
- package/source/css/_global/animation.css +57 -0
- package/source/css/_global/index.styl +5 -20
- package/source/css/_global/var.styl +16 -1
- package/source/css/_layout/{base.styl → basic.styl} +24 -116
- package/source/css/_layout/header.styl +203 -615
- package/source/css/_layout/index.styl +29 -271
- package/source/css/_mode/index.styl +87 -94
- package/source/css/_page/_home/category-bar.styl +74 -0
- package/source/css/_page/_home/home-top.styl +541 -0
- package/source/css/_page/_home/index.styl +15 -0
- package/source/css/_page/_home/pagination.styl +176 -0
- package/source/css/_page/_home/recent-post.styl +204 -0
- package/source/css/_page/about/index.styl +1 -0
- package/source/css/_page/about/tenyear.styl +56 -0
- package/source/css/_page/about.styl +555 -626
- package/source/css/_page/category.styl +95 -119
- package/source/css/_page/douban.styl +126 -0
- package/source/css/_page/equipment.styl +100 -99
- package/source/css/_page/error.styl +130 -146
- package/source/css/_page/home.styl +41 -50
- package/source/css/_page/index.styl +42 -10
- package/source/css/_page/links.styl +305 -0
- package/source/css/_page/moment.styl +51 -51
- package/source/css/_page/music.styl +506 -0
- package/source/css/_page/rss.styl +62 -67
- package/source/css/_page/says.styl +375 -344
- package/source/css/_page/tag.styl +15 -13
- package/source/css/_widgets/{aside → _aside}/flip.styl +7 -5
- package/source/css/_widgets/{aside → _aside}/history.styl +9 -2
- package/source/css/_widgets/_aside/index.styl +96 -0
- package/source/css/_widgets/{aside → _aside}/info.styl +86 -89
- package/source/css/_widgets/{aside → _aside}/newPost.styl +7 -1
- package/source/css/_widgets/{aside → _aside}/toc.styl +28 -5
- package/source/css/_widgets/{comment → _comment}/index.styl +4 -12
- package/source/css/_widgets/{comment → _comment}/twikoo.styl +5 -2
- package/source/css/_widgets/{comment → _comment}/waline.styl +21 -5
- package/source/css/{_extra → _widgets/_extra}/console.styl +33 -10
- package/source/css/_widgets/_extra/fullpage.styl +46 -0
- package/source/css/_widgets/_extra/music.styl +218 -0
- package/source/css/_widgets/_extra/pace.styl +39 -0
- package/source/css/_widgets/_extra/rightmenu.styl +78 -0
- package/source/css/_widgets/_mixins/article-sort.styl +93 -0
- package/source/css/_widgets/_mixins/footer.styl +273 -0
- package/source/css/_widgets/_mixins/other.styl +34 -0
- package/source/css/_widgets/_mixins/sidebar.styl +230 -0
- package/source/css/_widgets/_post/_highlight/diff.styl +75 -0
- package/source/css/_widgets/_post/_highlight/index.styl +144 -0
- package/source/css/_widgets/_post/_highlight/theme/default.styl +12 -0
- package/source/css/_widgets/_post/_highlight/theme/mac.styl +25 -0
- package/source/css/_widgets/_post/_highlight/theme.styl +68 -0
- package/source/css/_widgets/_post/commentBarrage.styl +144 -0
- package/source/css/_widgets/_post/content.styl +152 -0
- package/source/css/_widgets/_post/copyright.styl +98 -0
- package/source/css/_widgets/_post/index.styl +20 -0
- package/source/css/_widgets/_post/meta.styl +420 -0
- package/source/css/_widgets/_post/pagination.styl +177 -0
- package/source/css/_widgets/_post/postAI.styl +131 -0
- package/source/css/{_post → _widgets/_post}/relatedPost.styl +4 -1
- package/source/css/_widgets/_post/tools.styl +249 -0
- package/source/css/{_search → _widgets/_search}/algolia-search.styl +4 -0
- package/source/css/{_search → _widgets/_search}/local-search.styl +15 -5
- package/source/css/_widgets/_tags/button.styl +60 -0
- package/source/css/_widgets/_tags/bvideo.styl +8 -0
- package/source/css/_widgets/_tags/card.styl +52 -0
- package/source/css/_widgets/_tags/checkbox.styl +85 -0
- package/source/css/_widgets/_tags/fold.styl +79 -0
- package/source/css/_widgets/_tags/image.styl +10 -0
- package/source/css/_widgets/_tags/index.styl +61 -0
- package/source/css/_widgets/_tags/inline-image.styl +6 -0
- package/source/css/_widgets/_tags/label.styl +3 -0
- package/source/css/_widgets/_tags/link.styl +80 -0
- package/source/css/_widgets/_tags/note.styl +101 -0
- package/source/css/_widgets/_tags/span.styl +61 -0
- package/source/css/_widgets/_tags/tabs.styl +105 -0
- package/source/css/_widgets/_tags/timeline.styl +80 -0
- package/source/css/_widgets/index.styl +50 -1
- package/source/css/index.styl +0 -25
- package/source/js/{commentBarrage.js → extend/comment/twikoo/commentBarrage.js} +0 -4
- package/source/js/extend/comment/{twikoo.js → twikoo/twikoo.js} +12 -40
- package/source/js/extend/comment/waline/commentBarrage.js +155 -0
- package/source/js/extend/comment/{waline.js → waline/waline.js} +10 -11
- package/source/js/extend/search/algolia-search.js +1 -5
- package/source/js/extend/search/local-search.js +33 -13
- package/source/js/main.js +144 -163
- package/source/js/music.js +129 -0
- package/source/js/utils.js +4 -7
- package/source/lib/cover-color.min.js +7 -0
- package/source/lib/rightside.min.js +1 -0
- package/source/lib/sco-ai.min.js +8 -0
- package/source/lib/snackbar.min.css +1 -1
- package/source/lib/txmap.min.js +1 -0
- package/source/lib/view-image.min.js +1 -1
- package/layout/includes/widgets/aside/asidePower.pug +0 -19
- package/layout/includes/widgets/home/rencentPost.pug +0 -26
- package/source/css/_extra/rightmenu.styl +0 -83
- package/source/css/_layout/articleSort.styl +0 -199
- package/source/css/_layout/footer.styl +0 -359
- package/source/css/_layout/sidebar.styl +0 -226
- package/source/css/_page/homeTop.styl +0 -1035
- package/source/css/_page/link.styl +0 -433
- package/source/css/_post/commentBarrage.styl +0 -149
- package/source/css/_post/externalTags.styl +0 -694
- package/source/css/_post/highlight.styl +0 -96
- package/source/css/_post/index.styl +0 -935
- package/source/css/_post/pagination.styl +0 -467
- package/source/css/_post/postContent.styl +0 -957
- package/source/css/_post/reward.styl +0 -217
- package/source/css/_widgets/aside/index.styl +0 -156
- package/source/css/_widgets/aside/power.styl +0 -90
- package/source/img/logo-horizontal_version.png +0 -0
- package/source/img/pwa/16.png +0 -0
- package/source/img/pwa/180.png +0 -0
- package/source/img/pwa/192.png +0 -0
- package/source/img/pwa/32.png +0 -0
- package/source/img/pwa/512.png +0 -0
- package/source/img/pwa/logo.png +0 -0
- package/source/img/pwa/siteicon/splash-1125x2436.png +0 -0
- package/source/img/pwa/siteicon/splash-1136x640.png +0 -0
- package/source/img/pwa/siteicon/splash-1170x2532.png +0 -0
- package/source/img/pwa/siteicon/splash-1179x2556.png +0 -0
- package/source/img/pwa/siteicon/splash-1242x2208.png +0 -0
- package/source/img/pwa/siteicon/splash-1242x2688.png +0 -0
- package/source/img/pwa/siteicon/splash-1248x2778.png +0 -0
- package/source/img/pwa/siteicon/splash-1290x2796.png +0 -0
- package/source/img/pwa/siteicon/splash-1334x750.png +0 -0
- package/source/img/pwa/siteicon/splash-1536x2048.png +0 -0
- package/source/img/pwa/siteicon/splash-1620x2160.png +0 -0
- package/source/img/pwa/siteicon/splash-1668x2224.png +0 -0
- package/source/img/pwa/siteicon/splash-1668x2388.png +0 -0
- package/source/img/pwa/siteicon/splash-1792x828.png +0 -0
- package/source/img/pwa/siteicon/splash-2048x1536.png +0 -0
- package/source/img/pwa/siteicon/splash-2048x2732.png +0 -0
- package/source/img/pwa/siteicon/splash-2160x1620.png +0 -0
- package/source/img/pwa/siteicon/splash-2208x1242.png +0 -0
- package/source/img/pwa/siteicon/splash-2224x1668.png +0 -0
- package/source/img/pwa/siteicon/splash-2388x1668.png +0 -0
- package/source/img/pwa/siteicon/splash-2436x1125.png +0 -0
- package/source/img/pwa/siteicon/splash-2532x1170.png +0 -0
- package/source/img/pwa/siteicon/splash-2556x1179.png +0 -0
- package/source/img/pwa/siteicon/splash-2688x1242.png +0 -0
- package/source/img/pwa/siteicon/splash-2732x2048.png +0 -0
- package/source/img/pwa/siteicon/splash-2778x1248.png +0 -0
- package/source/img/pwa/siteicon/splash-2796x1290.png +0 -0
- package/source/img/pwa/siteicon/splash-640x1136.png +0 -0
- package/source/img/pwa/siteicon/splash-750x1334.png +0 -0
- package/source/img/pwa/siteicon/splash-828x1792.png +0 -0
- package/source/img/solitude-show.jpg +0 -0
- package/source/js/extend/covercolor/local.js +0 -160
- package/source/js/rightside.js +0 -402
- package/source/js/txmap.js +0 -236
- package/source/lib/chuckle-post-ai.js +0 -1
- /package/source/css/_widgets/{aside → _aside}/allinfo.styl +0 -0
- /package/source/css/_widgets/{aside → _aside}/welcome.styl +0 -0
- /package/source/img/{theme/avatar.png → avatar.png} +0 -0
package/source/js/utils.js
CHANGED
@@ -22,12 +22,11 @@ const utils = {
|
|
22
22
|
|
23
23
|
const later = function () {
|
24
24
|
previous = options.leading === false ? 0 : new Date().getTime()
|
25
|
-
timeout = null
|
26
25
|
func.apply(context, args)
|
27
|
-
|
26
|
+
context = args = null
|
28
27
|
}
|
29
28
|
|
30
|
-
|
29
|
+
return function () {
|
31
30
|
const now = new Date().getTime()
|
32
31
|
if (!previous && options.leading === false) previous = now
|
33
32
|
const remaining = wait - (now - previous)
|
@@ -45,8 +44,6 @@ const utils = {
|
|
45
44
|
timeout = setTimeout(later, remaining)
|
46
45
|
}
|
47
46
|
}
|
48
|
-
|
49
|
-
return throttled
|
50
47
|
},
|
51
48
|
|
52
49
|
fadeIn: (ele, time) => {
|
@@ -105,7 +102,7 @@ const utils = {
|
|
105
102
|
},
|
106
103
|
|
107
104
|
timeDiff: (timeObj, today) => {
|
108
|
-
|
105
|
+
const timeDiff = today.getTime() - timeObj.getTime();
|
109
106
|
return Math.floor(timeDiff / (1000 * 3600 * 24));
|
110
107
|
},
|
111
108
|
|
@@ -133,7 +130,6 @@ const utils = {
|
|
133
130
|
}
|
134
131
|
})
|
135
132
|
},
|
136
|
-
|
137
133
|
siblings: (ele, selector) => {
|
138
134
|
return [...ele.parentNode.children].filter((child) => {
|
139
135
|
if (selector) {
|
@@ -145,6 +141,7 @@ const utils = {
|
|
145
141
|
isMobile: () => /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),
|
146
142
|
isHidden: e => 0 === e.offsetHeight && 0 === e.offsetWidth,
|
147
143
|
addEventListenerPjax: function (element, eventType, callback, useCapture = false) {
|
144
|
+
if (element == null) return
|
148
145
|
element.addEventListener(eventType, callback, useCapture);
|
149
146
|
utils.addGlobalFn("pjax", function () {
|
150
147
|
element.removeEventListener(eventType, callback, useCapture);
|
@@ -0,0 +1,7 @@
|
|
1
|
+
/**
|
2
|
+
* @name: coverColorConfig
|
3
|
+
* @description: 根据文章封面图片获取主题色
|
4
|
+
* @param {string} coverUrl 封面图片地址
|
5
|
+
* @copyright Copyright (c) 2023 Solitude
|
6
|
+
*/
|
7
|
+
const ColorMode=coverColorConfig.mode;function coverColor(){const e=document.getElementById("post-cover")?.src;if(e)switch(ColorMode){case"local":localColor(e);break;case"api":handleApiColor(e);break;case"api_redis":img2color(e)}else setThemeColors()}function handleApiColor(e){const t=saveToLocal.get("Solitude")||{};if(t.postcolor&&t.postcolor[e]){const o=t.postcolor[e].value,[n,r,c]=o.match(/\w\w/g).map((e=>parseInt(e,16)));setThemeColors(o,n,r,c)}else img2color(e)}function localColor(e){const t=new Image;t.crossOrigin="Anonymous",t.onload=function(){const e=document.createElement("canvas");e.width=this.width,e.height=this.height;const t=e.getContext("2d");t.drawImage(this,0,0);const o=t.getImageData(0,0,this.width,this.height).data,{r:n,g:r,b:c}=calculateRGB(o);let l=rgbToHex(n,r,c);"light"===getContrastYIQ(l)&&(l=LightenDarkenColor(l,-50)),setThemeColors(l,n,r,c)},t.src=e}function calculateRGB(e){let t=0,o=0,n=0;for(let r=0;r<e.length;r+=20)t+=e[r],o+=e[r+1],n+=e[r+2];return t=Math.floor(t/(e.length/4/5)),o=Math.floor(o/(e.length/4/5)),n=Math.floor(n/(e.length/4/5)),{r:t,g:o,b:n}}function rgbToHex(e,t,o){return"#"+[e,t,o].map((e=>e.toString(16).padStart(2,"0"))).join("")}function getContrastYIQ(e){var t=colorRgb(e).match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/),o=299*t[1]+587*t[2]+114*t[3];return(o/=255e3)>=.5?"light":"dark"}function LightenDarkenColor(e,t){let o=!1;"#"===e[0]&&(e=e.slice(1),o=!0);const n=parseInt(e,16),r=Math.min(255,Math.max(0,(n>>16)+t)),c=Math.min(255,Math.max(0,(n>>8&255)+t));return`${o?"#":""}${(Math.min(255,Math.max(0,(255&n)+t))|c<<8|r<<16).toString(16).padStart(6,"0")}`}function colorHex(e){let t=e;if(/^(rgb|RGB)/.test(t)){return"#"+t.replace(/(?:\(|\)|rgb|RGB)*/g,"").split(",").map((e=>{const t=Number(e).toString(16);return 1===t.length?"0"+t:t})).join("")}if(/^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/.test(t)){const e=t.replace(/#/,"").split("");if(6===e.length)return t;if(3===e.length){return"#"+e.map((e=>e+e)).join("")}}return t}function colorRgb(e){if(!e||"string"!=typeof e)return e;const t=e.toLowerCase();let o="";if(t&&(/^#([0-9a-fA-f]{3})$/.test(t)||/^#([0-9a-fA-f]{6})$/.test(t))){o=4===t.length?t.replace(/^#(.)/g,"#$1$1"):t;const e=o.slice(1).match(/.{2}/g).map((e=>parseInt(e,16)));return`rgb(${e[0]}, ${e[1]}, ${e[2]})`}return t}function img2color(e){if(e.startsWith("http://localhost"))localColor(e);else{const t=coverColorConfig.api+encodeURIComponent(e);fetch(t).then((e=>e.json())).then((t=>{const o=t.RGB,[n,r,c]=o.match(/\w\w/g).map((e=>parseInt(e,16)));if(setThemeColors(o,n,r,c),"api"===ColorMode){const t=Date.now()+coverColorConfig.time,n=saveToLocal.get("Solitude")||{};n.postcolor=n.postcolor||{},n.postcolor[e]={value:o,expiration:t},saveToLocal.set("Solitude",n,coverColorConfig.time)}})).catch((e=>{console.error("请检查API是否正常!\n"+e),setThemeColors()}))}}function setThemeColors(e,t=null,o=null,n=null){if(e){if(document.documentElement.style.setProperty("--sco-main",e),document.documentElement.style.setProperty("--sco-main-op",e+"23"),document.documentElement.style.setProperty("--sco-main-op-deep",e+"dd"),document.documentElement.style.setProperty("--sco-main-none",e+"00"),t&&o&&n)if(Math.round((299*parseInt(t)+587*parseInt(o)+114*parseInt(n))/1e3)<125){for(var r=document.getElementsByClassName("card-content"),c=0;c<r.length;c++)r[c].style.setProperty("--sco-card-bg","var(--sco-white)");var l=document.getElementsByClassName("author-info__sayhi");for(c=0;c<l.length;c++)l[c].style.setProperty("background","var(--sco-white-op)"),l[c].style.setProperty("color","var(--sco-white)")}document.getElementById("coverdiv").classList.add("loaded"),initThemeColor()}else document.documentElement.style.setProperty("--sco-main","var(--sco-theme)"),document.documentElement.style.setProperty("--sco-main-op","var(--sco-theme-op)"),document.documentElement.style.setProperty("--sco-main-op-deep","var(--sco-theme-op-deep)"),document.documentElement.style.setProperty("--sco-main-none","var(--sco-theme-none)"),initThemeColor()}function initThemeColor(){let e;e=(window.scrollY||document.documentElement.scrollTop)>0?getComputedStyle(document.documentElement).getPropertyValue("--sco-card-bg"):PAGE_CONFIG.is_post?getComputedStyle(document.documentElement).getPropertyValue("--sco-main"):getComputedStyle(document.documentElement).getPropertyValue("--sco-background"),changeThemeColor(e)}function changeThemeColor(e){const t=document.querySelector('meta[name="theme-color"]');t&&t.setAttribute("content",e)}
|
@@ -0,0 +1 @@
|
|
1
|
+
let rm = {}; rm.stopdragimg = Array.from(document.getElementsByTagName("img")), rm.stopdragimg.forEach((function (e) { e.addEventListener("dragstart", (function () { return !1 })) })), rm.showRightMenu = function (e, t = 0, n = 0) { let o = document.getElementById("rightMenu"); o.style.top = t + "px", o.style.left = n + "px", e ? (o.style.display = "block", stopMaskScroll()) : o.style.display = "none" }, rm.hideRightMenu = function () { rm.showRightMenu(!1), document.getElementById("rightmenu-mask").style.display = "none" }, document.querySelector("#rightMenu").style.display = "block", rmWidth = document.querySelector("#rightMenu").offsetWidth, rmHeight = document.querySelector("#rightMenu").offsetHeight, document.querySelector("#rightMenu").style.display = "none", rm.reloadrmSize = function () { document.querySelector("#rightMenu").style.display = "block", rmWidth = document.querySelector("#rightMenu").offsetWidth, rmHeight = document.querySelector("#rightMenu").offsetHeight, document.querySelector("#rightMenu").style.display = "none" }; let domhref = "", domImgSrc = "", globalEvent = null; function imageToBlob(e) { const t = new Image, n = document.createElement("canvas"), o = n.getContext("2d"); return t.crossOrigin = "", t.src = e, new Promise((e => { t.onload = function () { n.width = this.naturalWidth, n.height = this.naturalHeight, o.drawImage(this, 0, 0), n.toBlob((t => { e(t) }), "image/png", .75) } })) } async function copyImage(e) { try { const t = await imageToBlob(e), n = new ClipboardItem({ "image/png": t }); await navigator.clipboard.write([n]) } catch (e) { console.error("Failed to copy image: ", e) } } function stopMaskScroll() { document.getElementById("rightmenu-mask") && document.getElementById("rightmenu-mask").addEventListener("mousewheel", (function (e) { rm.hideRightMenu() }), !1), document.getElementById("rightMenu") && document.getElementById("rightMenu").addEventListener("mousewheel", (function (e) { rm.hideRightMenu() }), !1) } window.oncontextmenu = function (e) { if (document.body.clientWidth > 768) { let t = e.clientX + 10, n = e.clientY, o = document.getElementsByClassName("rightMenuOther"), i = document.getElementsByClassName("rightMenuPlugin"), c = document.getElementById("menu-copytext"), l = document.getElementById("menu-pastetext"), m = document.getElementById("menu-commenttext"), d = document.getElementById("menu-newwindow"), r = document.getElementById("menu-copylink"), s = document.getElementById("menu-copyimg"), a = document.getElementById("menu-downloadimg"), u = document.getElementById("menu-search"), g = document.getElementById("menu-searchBaidu"), y = document.getElementById("menu-music-toggle"), h = document.getElementById("menu-music-back"), p = document.getElementById("menu-music-forward"), w = document.getElementById("menu-music-playlist"), E = document.getElementById("menu-music-copyMusicName"), f = e.target.href, k = e.target.currentSrc, B = !1; for (let e = 0; e < o.length; e++)o[e].style.display = "block"; if (globalEvent = e, selectTextNow && window.getSelection() ? (B = !0, c.style.display = "block", m.style.display = "block", u.style.display = "block", g.style.display = "block") : (c.style.display = "none", m.style.display = "none", g.style.display = "none", u.style.display = "none"), f ? (B = !0, d.style.display = "block", r.style.display = "block", domhref = f) : (d.style.display = "none", r.style.display = "none"), k ? (B = !0, s.style.display = "block", a.style.display = "block", domImgSrc = k) : (s.style.display = "none", a.style.display = "none"), "input" === e.target.tagName.toLowerCase() || "textarea" === e.target.tagName.toLowerCase() ? (B = !0, l.style.display = "block") : l.style.display = "none", "METING-JS" === e.target.nodeName ? (B = !0, y.style.display = "block", h.style.display = "block", p.style.display = "block", w.style.display = "block", E.style.display = "block") : (y.style.display = "none", h.style.display = "none", p.style.display = "none", w.style.display = "none", E.style.display = "none"), B) { for (let e = 0; e < o.length; e++)o[e].style.display = "none"; for (let e = 0; e < i.length; e++)i[e].style.display = "block" } else for (let e = 0; e < i.length; e++)i[e].style.display = "none"; return rm.reloadrmSize(), t + rmWidth > window.innerWidth && (t -= rmWidth + 10), n + rmHeight > window.innerHeight && (n -= n + rmHeight - window.innerHeight), rm.showRightMenu(!0, n, t), document.getElementById("rightmenu-mask").style.display = "flex", !1 } }, rm.downloadimging = !1, rm.writeClipImg = function (e) { const t = "localhost" === window.location.hostname || "127.0.0.1" === window.location.hostname ? 0 : 1e4; rm.hideRightMenu(), utils.snackbarShow("正在下载中,请稍后", !1, t), 0 == rm.downloadimging && (rm.downloadimging = !0, setTimeout((async function () { await copyImage(e), utils.snackbarShow("复制成功!图片已添加盲水印,请遵守版权协议"), rm.downloadimging = !1 }), 1e3)) }, rm.switchDarkMode = function () { sco.switchDarkMode(), rm.hideRightMenu() }, rm.copyUrl = function (e) { var t = e, n = document.createElement("input"); n.id = "copyVal", document.body.appendChild(n), n.value = t, n.select(), n.setSelectionRange(0, n.value.length), document.execCommand("copy"), document.body.removeChild(n) }, rm.rightmenuCopyText = function (e) { navigator.clipboard && navigator.clipboard.writeText(e), utils.snackbarShow("复制文本成功", !1, 2e3), rm.hideRightMenu() }, rm.copyPageUrl = function () { var e = window.location.href; rm.copyUrl(e), utils.snackbarShow("复制本页链接地址成功", !1, 2e3), rm.hideRightMenu() }, rm.sharePage = function () { window, rm.copyUrl(url), utils.snackbarShow("复制本页链接地址成功", !1, 2e3), rm.hideRightMenu() }; var selectTextNow = ""; function selceText() { var e; e = document.selection ? document.selection.createRange().text : window.getSelection() + "", selectTextNow = e || "" } function replaceAll(e, t, n) { return e.split(t).join(n) } function addRightMenuClickEvent() { document.getElementById("menu-backward").addEventListener("click", (function () { window.history.back(), rm.hideRightMenu() })), document.getElementById("menu-forward").addEventListener("click", (function () { window.history.forward(), rm.hideRightMenu() })), document.getElementById("menu-refresh").addEventListener("click", (function () { window.location.reload() })), document.getElementById("menu-top").addEventListener("click", (function () { utils.scrollToDest(0, 500), rm.hideRightMenu() })), Array.from(document.getElementsByClassName("menu-link")).forEach((function (e) { e.addEventListener("click", rm.hideRightMenu) })); var e = document.getElementById("menu-darkmode"); if (e.onclick = null, e.addEventListener("click", rm.switchDarkMode), document.getElementById("menu-randomPost").addEventListener("click", (function () { toRandomPost() })), GLOBAL_CONFIG.comment.enable && GLOBAL_CONFIG.comment.commentBarrage) { const e = document.getElementById("menu-commentBarrage"); e.onclick = null, e.addEventListener("click", sco.switchCommentBarrage) } var t = document.getElementById("rightmenu-mask"); t.addEventListener("click", rm.hideRightMenu), t.addEventListener("contextmenu", (function () { return rm.hideRightMenu(), !1 })), document.getElementById("menu-copy").addEventListener("click", rm.copyPageUrl), document.getElementById("menu-pastetext").addEventListener("click", rm.pasteText), document.getElementById("menu-copytext").addEventListener("click", (function () { rm.rightmenuCopyText(selectTextNow), utils.snackbarShow("复制成功,复制和转载请标注本文地址") })), document.getElementById("menu-commenttext").addEventListener("click", (function () { rm.rightMenuCommentText(selectTextNow) })), document.getElementById("menu-newwindow").addEventListener("click", (function () { window.open(domhref), rm.hideRightMenu() })), document.getElementById("menu-copylink").addEventListener("click", rm.copyLink), document.getElementById("menu-downloadimg").addEventListener("click", (function () { sco.downloadImage(domImgSrc) })), document.getElementById("menu-copyimg").addEventListener("click", (function () { rm.writeClipImg(domImgSrc) })), document.getElementById("menu-searchBaidu").addEventListener("click", rm.searchBaidu), document.getElementById("menu-music-toggle").addEventListener("click", sco.musicToggle), document.getElementById("menu-music-back").addEventListener("click", sco.musicSkipBack), document.getElementById("menu-music-forward").addEventListener("click", sco.musicSkipForward), document.getElementById("menu-music-copyMusicName").addEventListener("click", (function () { rm.rightmenuCopyText(sco.musicGetName()), utils.snackbarShow("复制歌曲名称成功", !1, 3e3) })) } document.onmouseup = document.ondbclick = selceText, rm.readClipboard = function () { navigator.clipboard && navigator.clipboard.readText().then((e => rm.insertAtCaret(globalEvent.target, e))) }, rm.insertAtCaret = function (e, t) { const n = e.selectionStart, o = e.selectionEnd; if (document.selection) e.focus(), document.selection.createRange().text = t, e.focus(); else if (n || "0" == n) { var i = e.scrollTop; e.value = e.value.substring(0, n) + t + e.value.substring(o, e.value.length), e.focus(), e.selectionStart = n + t.length, e.selectionEnd = n + t.length, e.scrollTop = i } else e.value += t, e.focus() }, rm.pasteText = function () { rm.readClipboard(), rm.hideRightMenu() }, rm.rightMenuCommentText = function (e) { rm.hideRightMenu(); var t = document.getElementsByClassName("el-textarea__inner")[0]; let n = document.createEvent("HTMLEvents"); n.initEvent("input", !0, !0); let o = replaceAll(e, "\n", "\n> "); t.value = "> " + o + "\n\n", t.dispatchEvent(n); const i = document.querySelector("#post-comment").offsetTop; window.scrollTo(0, i - 80), t.focus(), t.setSelectionRange(-1, -1), document.getElementById("comment-tips") && document.getElementById("comment-tips").classList.add("show") }, rm.searchBaidu = function () { utils.snackbarShow("即将跳转到百度搜索", !1, 2e3), setTimeout((function () { window.open("https://www.baidu.com/s?wd=" + selectTextNow) }), 2e3), rm.hideRightMenu() }, rm.copyLink = function () { rm.rightmenuCopyText(domhref), utils.snackbarShow("已复制链接地址") };
|
@@ -0,0 +1,8 @@
|
|
1
|
+
/**
|
2
|
+
* @name ScoAI
|
3
|
+
* @description 一个基于AI的文章摘要生成器
|
4
|
+
* @version 1.0.0
|
5
|
+
* @author 王卓Sco
|
6
|
+
* @license GNU General Public License v3.0
|
7
|
+
*/
|
8
|
+
var ScoAI={root:"https://summary.tianli0.top",aiTalkMode:!1,aiPostExplanation:"",config:GLOBAL_CONFIG.ai,init(){this.scoGPTIsRunning=!1,this.generate(),this.AIEngine()},getTitleAndContent(){const e=document.title,t=document.getElementById("article-container"),n=t.getElementsByTagName("p"),o=t.querySelectorAll("h1, h2, h3, h4, h5");let i="";for(let e of o)i+=e.innerText+" ";for(let e of n)i+=e.innerText.replace(/https?:\/\/[^\s]+/g,"");return(e+" "+i).slice(0,1e3)},generate(){this.aiShowAnimation(this.fetch(this.getTitleAndContent(),this.config.key))},async fetch(e, t){const n=`${this.root}/?content=${encodeURIComponent(e)}&key=${encodeURIComponent(t)}&url=${encodeURIComponent(window.location.href)}`;try{const e=new AbortController,t=await fetch(n,{signal:e.signal});if(t.ok){const e=await t.json();return this.aiPostExplanation=e.summary,e.summary}throw Error("Request failed")}catch(e){return"AbortError"===e.name?console.error("Request timed out"):console.error("Request failed:",e),"获取文章摘要超时。当你出现这个问题时,可能是因为文章过长导致的AI运算量过大, 您可以稍等一下然后重新尝试。"}},aiShowAnimation(e, t=!1){const n=document.querySelector(".ai-explanation"),o=document.querySelector(".ai-tag");if(!n||this.scoGPTIsRunning)return;this.scoGPTIsRunning=!0,this.cleanSuggestions(),o.classList.add("loadingAI"),n.style.display="block",n.innerHTML='生成中...<span class="blinking-cursor"></span>';let i,s,r=!0,a=0,c=!0;const l=new IntersectionObserver((e=>{r=e[0].isIntersecting,r&&requestAnimationFrame(s)}),{threshold:0});e.then((e=>{i=performance.now(),s=()=>{if(a<e.length&&r){const c=performance.now(),g=c-i,d=e.slice(a,a+1),h=/[,。!、?,.!?]/.test(d),u=/[a-zA-Z0-9]/.test(d);g>=(h?100*Math.random()+100:u?10:25)&&(n.innerText=e.slice(0,a+1),i=c,a++,a<e.length?n.innerHTML=e.slice(0,a)+'<span class="blinking-cursor"></span>':(n.innerHTML=e,n.style.display="block",this.scoGPTIsRunning=!1,o.classList.remove("loadingAI"),l.disconnect(),t&&this.createSuggestions())),r&&requestAnimationFrame(s)}},r&&c&&setTimeout((()=>{requestAnimationFrame(s),c=!1}),3e3),l.observe(n)})).catch((e=>{console.error("检索信息失败:",e),n.innerHTML="检索信息失败",n.style.display="block",this.scoGPTIsRunning=!1,o.classList.remove("loadingAI"),l.disconnect()}))},AIEngine(){const e=document.querySelector(".ai-tag");e&&e.addEventListener("click",(()=>{this.scoGPTIsRunning||(this.aiTalkMode=!0,this.aiShowAnimation(Promise.resolve(this.config.talk),!0))}))},cleanSuggestions(){const e=document.querySelector(".ai-suggestions");e?e.innerHTML="":console.error("没有这个元素:'ai-suggestions'")},createSuggestions(){this.aiTalkMode&&this.cleanSuggestions(),this.createSuggestionItemWithAction("这篇文章讲了什么?",(()=>{this.aiShowAnimation(Promise.resolve(this.aiPostExplanation),!0)})),this.config.randomPost&&this.createSuggestionItemWithAction("带我去看看其他文章",(()=>toRandomPost())),this.aiTalkMode=!0},createSuggestionItemWithAction(e, t){const n=document.querySelector(".ai-suggestions");if(!n)return void console.error("无法找到具有class为ai-suggestions的元素");const o=document.createElement("div");o.classList.add("ai-suggestions-item"),o.textContent=e,o.addEventListener("click",t),n.appendChild(o)}};console.log("%c🤖 程序:ScoAI | Solitude 主题内置 | Github: https://github.com/DuoSco/Hexo-theme-solitude","color: #fff; background: linear-gradient(-25deg, #a8edea, #fed6e3); padding: 8px 15px; border-radius: 8px; text-shadow: 2px 2px 4px white; color: black;");
|
@@ -1 +1 @@
|
|
1
|
-
.snackbar-container{transition:all .5s ease;
|
1
|
+
@keyframes snackbar-progress{0%{width:0}to{width:100%}}.snackbar-container{transition:all .5s ease;font-family:Roboto,sans-serif;font-size:14px;position:fixed;align-items:center;line-height:22px;padding:18px 24px;bottom:-100px;top:-100px;opacity:0;z-index:9999;background:var(--sco-lighttext)!important;color:var(--sco-card-bg);border-radius:0;display:flex;justify-content:center;max-width:none;min-width:100%!important;margin:0!important;left:0!important;height:60px;transform:none!important}.snackbar-container p{color:var(--sco-card-bg)!important;font-weight:700!important;text-align:center;font-size:.8rem!important;display:flex;justify-content:center}.snackbar-container .action{display:inline-block;font-size:inherit;margin:0 0 0 24px;min-width:min-content;cursor:pointer;color:var(--sco-card-bg);background:var(--sco-lighttext);padding:4px 6px;font-weight:700;border-radius:8px;transition:.3s;border:var(--style-border)}.snackbar-container .action:hover{background:var(--sco-card-bg);color:var(--sco-lighttext)}.snackbar-container:after{position:absolute;width:0;height:100%;left:0;top:0;background:var(--sco-white);opacity:.1;content:"";animation:snackbar-progress var(--sco-snackbar-time) linear forwards;pointer-events:none}@media (min-width:640px){.snackbar-container{min-width:288px;max-width:568px;display:inline-flex;border-radius:2px;margin:24px}}@media (max-width:640px){.snackbar-container{left:0;right:0;width:100%}}.snackbar-pos.bottom-center{top:auto!important;bottom:0;left:50%;transform:translate(-50%,0)}.snackbar-pos.bottom-left{top:auto!important;bottom:0;left:0}.snackbar-pos.bottom-right{top:auto!important;bottom:0;right:0}.snackbar-pos.top-center,.snackbar-pos.top-left{bottom:auto!important;top:0;left:0}.snackbar-pos.top-center{left:50%;transform:translate(-50%,0)}.snackbar-pos.top-right{bottom:auto!important;top:0;right:0}@media (max-width:640px){.snackbar-pos.bottom-center,.snackbar-pos.top-center{left:0;transform:none}}
|
@@ -0,0 +1 @@
|
|
1
|
+
function getDistance(a,e,s,c){const{sin:t,cos:r,asin:i,PI:o,hypot:n}=Math;let b=(a,e)=>(a*=o/180,{x:r(e*=o/180)*r(a),y:r(e)*t(a),z:t(e)}),l=b(a,e),k=b(s,c),p=2*i(n(l.x-k.x,l.y-k.y,l.z-k.z)/2)*6371;return Math.round(p)}function showWelcome(){let a,e,s,c=getDistance(longitude,Latitude,ipLoacation.result.location.lng,ipLoacation.result.location.lat),t=ipLoacation.result.ad_info.nation;switch(ipLoacation.result.ad_info.nation){case"日本":e="よろしく,一起去看樱花吗";break;case"美国":e="Let us live in peace!";break;case"英国":e="想同你一起夜乘伦敦眼";break;case"俄罗斯":e="干了这瓶伏特加!";break;case"法国":e="C'est La Vie";break;case"德国":e="Die Zeit verging im Fluge.";break;case"澳大利亚":e="一起去大堡礁吧!";break;case"加拿大":e="拾起一片枫叶赠予你";break;case"中国":switch(t=ipLoacation.result.ad_info.province+" "+ipLoacation.result.ad_info.city+" "+ipLoacation.result.ad_info.district,a=ipLoacation.result.ip,ipLoacation.result.ad_info.province){case"北京市":e="北——京——欢迎你~~~";break;case"天津市":e="讲段相声吧";break;case"河北省":e="山势巍巍成壁垒,天下雄关铁马金戈由此向,无限江山";break;case"山西省":e="展开坐具长三尺,已占山河五百余";break;case"内蒙古自治区":e="天苍苍,野茫茫,风吹草低见牛羊";break;case"辽宁省":e="我想吃烤鸡架!";break;case"吉林省":e="状元阁就是东北烧烤之王";break;case"黑龙江省":e="很喜欢哈尔滨大剧院";break;case"上海市":e="众所周知,中国只有两个城市";break;case"江苏省":switch(ipLoacation.result.ad_info.city){case"南京市":e="这是我挺想去的城市啦";break;case"苏州市":e="上有天堂,下有苏杭";break;default:e="散装是必须要散装的"}break;case"浙江省":e="东风渐绿西湖柳,雁已还人未南归";break;case"河南省":switch(ipLoacation.result.ad_info.city){case"郑州市":e="豫州之域,天地之中";break;case"南阳市":e="臣本布衣,躬耕于南阳此南阳非彼南阳!";break;case"驻马店市":e="峰峰有奇石,石石挟仙气嵖岈山的花很美哦!";break;case"开封市":e="刚正不阿包青天";break;case"洛阳市":e="洛阳牡丹甲天下";break;default:e="可否带我品尝河南烩面啦?"}break;case"安徽省":e="蚌埠住了,芜湖起飞";break;case"福建省":e="井邑白云间,岩城远带山";break;case"江西省":e="落霞与孤鹜齐飞,秋水共长天一色";break;case"山东省":e="遥望齐州九点烟,一泓海水杯中泻";break;case"湖北省":if("黄冈市"===ipLoacation.result.ad_info.city)e="红安将军县!辈出将才!";else e="来碗热干面~";break;case"湖南省":e="74751,长沙斯塔克";break;case"广东省":switch(ipLoacation.result.ad_info.city){case"广州市":e="看小蛮腰,喝早茶了嘛~";break;case"深圳市":if("坪山区"===ipLoacation.result.ad_info.district)e="好巧!博主也在坪山区生活喔~";else e="今天你996了嘛~";break;case"阳江市":e="阳春合水!博主家乡~ 欢迎来玩~";break;default:e="来两斤福建人~"}break;case"广西壮族自治区":e="桂林山水甲天下";break;case"海南省":e="朝观日出逐白浪,夕看云起收霞光";break;case"四川省":e="康康川妹子";break;case"贵州省":e="茅台,学生,再塞200";break;case"云南省":e="玉龙飞舞云缠绕,万仞冰川直耸天";break;case"西藏自治区":e="躺在茫茫草原上,仰望蓝天";break;case"陕西省":e="来份臊子面加馍";break;case"甘肃省":e="羌笛何须怨杨柳,春风不度玉门关";break;case"青海省":e="牛肉干和老酸奶都好好吃";break;case"宁夏回族自治区":e="大漠孤烟直,长河落日圆";break;case"新疆维吾尔自治区":e="驼铃古道丝绸路,胡马犹闻唐汉风";break;case"台湾省":e="我在这头,大陆在那头";break;case"香港特别行政区":e="永定贼有残留地鬼嚎,迎击光非岁玉";break;case"澳门特别行政区":e="性感荷官,在线发牌";break;default:e="带我去你的城市逛逛吧!"}break;default:e="带我去你的国家逛逛吧"}let r=new Date;s=r.getHours()>=5&&r.getHours()<11?"<span class='welcome-time'>🌤️ 早上好,一日之计在于晨</span>":r.getHours()>=11&&r.getHours()<13?"<span class='welcome-time'>☀️ 中午好,记得午休喔~</span>":r.getHours()>=13&&r.getHours()<17?"<span class='welcome-time'>🕞 下午好,饮茶先啦!</span>":r.getHours()>=17&&r.getHours()<19?"<span class='welcome-time'>🚶♂️ 即将下班,记得按时吃饭~</span>":r.getHours()>=19&&r.getHours()<24?"<span class='welcome-time'>🌙 晚上好,夜生活嗨起来!</span>":"<span class='welcome-time'>夜深了,早点休息,少熬夜</span>";try{document.getElementById("welcome-info").innerHTML=`<span>热烈欢迎来自~</span><br><span><span style="color: var(--sco-main);font-weight: bold;">${t}</span> 的喵友</span><br><span class="welcome-message">${e}</span><br>您当前位置距博主约 <b><span style="color: var(--icat-card-welcome);font-weight: bold;">${c}</span></b> 公里!<br><span>您的IP地址为:${a}</span><br>${s}`}catch(a){}}
|
@@ -3,4 +3,4 @@
|
|
3
3
|
* MIT License - http://www.opensource.org/licenses/mit-license.php
|
4
4
|
* https://tokinx.github.io/ViewImage/
|
5
5
|
*/
|
6
|
-
var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.createTemplateTagFirstArg=function(b){return b.raw=b};$jscomp.createTemplateTagFirstArgWithRaw=function(b,a){b.raw=a;return b};$jscomp.arrayIteratorImpl=function(b){var a=0;return function(){return a<b.length?{done:!1,value:b[a++]}:{done:!0}}};$jscomp.arrayIterator=function(b){return{next:$jscomp.arrayIteratorImpl(b)}};$jscomp.makeIterator=function(b){var a="undefined"!=typeof Symbol&&Symbol.iterator&&b[Symbol.iterator];return a?a.call(b):$jscomp.arrayIterator(b)};$jscomp.arrayFromIterator=function(b){for(var a,d=[];!(a=b.next()).done;)d.push(a.value);return d};$jscomp.arrayFromIterable=function(b){return b instanceof Array?b:$jscomp.arrayFromIterator($jscomp.makeIterator(b))};(function(){window.ViewImage=new function(){var b=this;this.target="[view-image] img";this.listener=function(a){if(!(a.ctrlKey||a.metaKey||a.shiftKey||a.altKey)){var d=String(b.target.split(",").map(function(g){return g.trim()+":not([no-view])"})),c=a.target.closest(d);if(c){var e=c.closest("[view-image]")||document.body;d=[].concat($jscomp.arrayFromIterable(e.querySelectorAll(d))).map(function(g){return g.href||g.src});b.display(d,c.href||c.src);a.stopPropagation();a.preventDefault()}}};this.init= function(a){a&&(b.target=a);["removeEventListener","addEventListener"].forEach(function(d){document[d]("click",b.listener,!1)})};this.display=function(a,d){var c=a.indexOf(d),e=(new DOMParser).parseFromString('\n <div class="view-image">\n <style>.view-image{position:fixed;inset:0;z-index:500;padding:1rem;display:flex;flex-direction:column;animation:view-image-in 300ms;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.view-image__out{animation:view-image-out 300ms}@keyframes view-image-in{0%{opacity:0}}@keyframes view-image-out{100%{opacity:0}}.view-image-btn{width:32px;height:32px;display:flex;justify-content:center;align-items:center;cursor:pointer;border-radius:3px;background-color:rgba(255,255,255,0.2)}.view-image-btn:hover{background-color:rgba(255,255,255,0.5)}.view-image-close__full{position:absolute;inset:0;background-color:rgba(48,55,66,0.3);z-index:unset;cursor:zoom-out;margin:0}.view-image-container{height:0;flex:1;display:flex;align-items:center;justify-content:center;}.view-image-lead{display:contents}.view-image-lead img{position:relative;z-index:1;max-width:100%;max-height:100%;object-fit:contain;border-radius:3px}.view-image-lead__in img{animation:view-image-lead-in 300ms}.view-image-lead__out img{animation:view-image-lead-out 300ms forwards}@keyframes view-image-lead-in{0%{opacity:0;transform:translateY(-20px)}}@keyframes view-image-lead-out{100%{opacity:0;transform:translateY(20px)}}[class*=__out] ~ .view-image-loading{display:block}.view-image-loading{position:absolute;inset:50%;width:8rem;height:2rem;color:#aab2bd;overflow:hidden;text-align:center;margin:-1rem -4rem;z-index:1;display:none}.view-image-loading::after{content:"";position:absolute;inset:50% 0;width:100%;height:3px;background:rgba(255,255,255,0.5);transform:translateX(-100%) translateY(-50%);animation:view-image-loading 800ms -100ms ease-in-out infinite}@keyframes view-image-loading{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}.view-image-tools{position:relative;display:flex;justify-content:space-between;align-content:center;color:#fff;max-width:600px;position: absolute; bottom: 5%; left: 1rem; right: 1rem; backdrop-filter: blur(10px);margin:0 auto;padding:10px;border-radius:5px;background:rgba(0,0,0,0.1);margin-bottom:constant(safe-area-inset-bottom);margin-bottom:env(safe-area-inset-bottom);z-index:
|
6
|
+
var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.createTemplateTagFirstArg=function(b){return b.raw=b};$jscomp.createTemplateTagFirstArgWithRaw=function(b,a){b.raw=a;return b};$jscomp.arrayIteratorImpl=function(b){var a=0;return function(){return a<b.length?{done:!1,value:b[a++]}:{done:!0}}};$jscomp.arrayIterator=function(b){return{next:$jscomp.arrayIteratorImpl(b)}};$jscomp.makeIterator=function(b){var a="undefined"!=typeof Symbol&&Symbol.iterator&&b[Symbol.iterator];return a?a.call(b):$jscomp.arrayIterator(b)};$jscomp.arrayFromIterator=function(b){for(var a,d=[];!(a=b.next()).done;)d.push(a.value);return d};$jscomp.arrayFromIterable=function(b){return b instanceof Array?b:$jscomp.arrayFromIterator($jscomp.makeIterator(b))};(function(){window.ViewImage=new function(){var b=this;this.target="[view-image] img";this.listener=function(a){if(!(a.ctrlKey||a.metaKey||a.shiftKey||a.altKey)){var d=String(b.target.split(",").map(function(g){return g.trim()+":not([no-view])"})),c=a.target.closest(d);if(c){var e=c.closest("[view-image]")||document.body;d=[].concat($jscomp.arrayFromIterable(e.querySelectorAll(d))).map(function(g){return g.href||g.src});b.display(d,c.href||c.src);a.stopPropagation();a.preventDefault()}}};this.init= function(a){a&&(b.target=a);["removeEventListener","addEventListener"].forEach(function(d){document[d]("click",b.listener,!1)})};this.display=function(a,d){var c=a.indexOf(d),e=(new DOMParser).parseFromString('\n <div class="view-image">\n <style>.view-image{position:fixed;inset:0;z-index:500;padding:1rem;display:flex;flex-direction:column;animation:view-image-in 300ms;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.view-image__out{animation:view-image-out 300ms}@keyframes view-image-in{0%{opacity:0}}@keyframes view-image-out{100%{opacity:0}}.view-image-btn{width:32px;height:32px;display:flex;justify-content:center;align-items:center;cursor:pointer;border-radius:3px;background-color:rgba(255,255,255,0.2)}.view-image-btn:hover{background-color:rgba(255,255,255,0.5)}.view-image-close__full{position:absolute;inset:0;background-color:rgba(48,55,66,0.3);z-index:unset;cursor:zoom-out;margin:0}.view-image-container{height:0;flex:1;display:flex;align-items:center;justify-content:center;z-index:999}.view-image-lead{display:contents}.view-image-lead img{position:relative;z-index:1;max-width:100%;max-height:100%;object-fit:contain;border-radius:3px}.view-image-lead__in img{animation:view-image-lead-in 300ms}.view-image-lead__out img{animation:view-image-lead-out 300ms forwards}@keyframes view-image-lead-in{0%{opacity:0;transform:translateY(-20px)}}@keyframes view-image-lead-out{100%{opacity:0;transform:translateY(20px)}}[class*=__out] ~ .view-image-loading{display:block}.view-image-loading{position:absolute;inset:50%;width:8rem;height:2rem;color:#aab2bd;overflow:hidden;text-align:center;margin:-1rem -4rem;z-index:1;display:none}.view-image-loading::after{content:"";position:absolute;inset:50% 0;width:100%;height:3px;background:rgba(255,255,255,0.5);transform:translateX(-100%) translateY(-50%);animation:view-image-loading 800ms -100ms ease-in-out infinite}@keyframes view-image-loading{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}.view-image-tools{position:relative;display:flex;justify-content:space-between;align-content:center;color:#fff;max-width:600px;position: absolute; bottom: 5%; left: 1rem; right: 1rem; backdrop-filter: blur(10px);margin:0 auto;padding:10px;border-radius:5px;background:rgba(0,0,0,0.1);margin-bottom:constant(safe-area-inset-bottom);margin-bottom:env(safe-area-inset-bottom);z-index:999}.view-image-tools__count{width:60px;display:flex;align-items:center;justify-content:center}.view-image-tools__flip{display:flex;gap:10px}.view-image-tools [class*=-close]{margin:0 10px}</style>\n <div class="view-image-container">\n <div class="view-image-lead"></div>\n <div class="view-image-loading"></div>\n <div class="view-image-close view-image-close__full"></div>\n </div>\n <div class="view-image-tools">\n <div class="view-image-tools__count">\n <span><b class="view-image-index">'+ (c+1)+"</b>/"+a.length+'</span>\n </div>\n <div class="view-image-tools__flip">\n <div class="view-image-btn view-image-tools__flip-prev">\n <svg width="20" height="20" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg"><rect width="48" height="48" fill="white" fill-opacity="0.01"/><path d="M31 36L19 24L31 12" stroke="white" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/></svg>\n </div>\n <div class="view-image-btn view-image-tools__flip-next">\n <svg width="20" height="20" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg"><rect width="48" height="48" fill="white" fill-opacity="0.01"/><path d="M19 12L31 24L19 36" stroke="white" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/></svg>\n </div>\n </div>\n <div class="view-image-btn view-image-close">\n <svg width="16" height="16" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg"><rect width="48" height="48" fill="white" fill-opacity="0.01"/><path d="M8 8L40 40" stroke="white" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/><path d="M8 40L40 8" stroke="white" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/></svg>\n </div>\n </div>\n </div>\n ', "text/html").body.firstChild,g=function(f){var h={Escape:"close",ArrowLeft:"tools__flip-prev",ArrowRight:"tools__flip-next"};h[f.key]&&e.querySelector(".view-image-"+h[f.key]).click()},l=function(f){var h=new Image,k=e.querySelector(".view-image-lead");k.className="view-image-lead view-image-lead__out";setTimeout(function(){k.innerHTML="";h.onload=function(){setTimeout(function(){k.innerHTML='<img src="'+h.src+'" alt="ViewImage" no-view/>';k.className="view-image-lead view-image-lead__in"},100)};h.src=f},300)};document.body.appendChild(e);l(d);window.addEventListener("keydown",g);e.onclick=function(f){f.target.closest(".view-image-close")?(window.removeEventListener("keydown",g),e.onclick=null,e.classList.add("view-image__out"),setTimeout(function(){return e.remove()},290)):f.target.closest(".view-image-tools__flip")&&(c=f.target.closest(".view-image-tools__flip-prev")?0===c?a.length-1:c-1:c===a.length-1?0:c+1,l(a[c]),e.querySelector(".view-image-index").innerHTML=c+1)}}}})();
|
@@ -1,19 +0,0 @@
|
|
1
|
-
- const data = theme.aside.power.list
|
2
|
-
- const vip = data[Math.floor(Math.random() * data.length)]
|
3
|
-
.card-widget.card-power
|
4
|
-
.item-headline
|
5
|
-
i.scoicon.sco-afdian-line
|
6
|
-
span 爱发电赞助
|
7
|
-
a.power-charge(href=theme.aside.power.link, rel="external nofollow", target="_blank", title="赞助博主") 赞助
|
8
|
-
a#power-star(data-pjax-state="", href=vip.link)
|
9
|
-
#power-star-image(style=`background-image: url('${vip.avatar}');`)
|
10
|
-
.power-star-body
|
11
|
-
#power-star-title= vip.name
|
12
|
-
#power-star-desc= vip.descr
|
13
|
-
.power-list
|
14
|
-
.power-item
|
15
|
-
.power-item-body
|
16
|
-
each item in data
|
17
|
-
if item.name !== vip.name
|
18
|
-
.power-item-link
|
19
|
-
a(target="_blank", href=item.link, rel="external nofollow")= item.name
|
@@ -1,26 +0,0 @@
|
|
1
|
-
- var filteredPosts = site.posts.data.filter(item => item.recommend === true).slice(0,6)
|
2
|
-
each post in filteredPosts
|
3
|
-
.recent-post-item
|
4
|
-
.post_cover.left_radius
|
5
|
-
a(href=url_for(post.path), title=post.title)
|
6
|
-
span.recent-post-top-text 荐
|
7
|
-
img.post_bg(alt=post.title, src=post.cover, loading="lazy")
|
8
|
-
.recent-post-info
|
9
|
-
a.article-title(href=url_for(post.path), title=post.title)= post.title
|
10
|
-
|
11
|
-
if theme.hometop.recommendList.url.startsWith('/') && theme.hometop.recommendList.url.endsWith('/')
|
12
|
-
.todayCard#todayCard(onclick=`pjax.loadUrl('${theme.hometop.recommendList.url}')`, style="z-index: 1;")
|
13
|
-
else
|
14
|
-
script.
|
15
|
-
function GoTodayCard() {
|
16
|
-
window.open("#{theme.hometop.recommendList.url}", "_blank");
|
17
|
-
}
|
18
|
-
.todayCard#todayCard(onclick="GoTodayCard()", style="z-index: 1;")
|
19
|
-
.todayCard-info
|
20
|
-
.todayCard-tips= theme.hometop.recommendList.sup
|
21
|
-
.todayCard-title= theme.hometop.recommendList.title
|
22
|
-
.todayCard-cover.nolazyload(style=`background: url('${theme.hometop.recommendList.img}') no-repeat center /cover`)
|
23
|
-
.banner-button-group
|
24
|
-
a.banner-button(onclick="window.event.cancelBubble=true;sco.hideTodayCard();")
|
25
|
-
i.scoicon.sco-add-fill
|
26
|
-
span.banner-button-text 更多推荐
|
@@ -1,83 +0,0 @@
|
|
1
|
-
#rightMenu
|
2
|
-
display none
|
3
|
-
position fixed
|
4
|
-
padding 0 .25rem
|
5
|
-
width 9rem
|
6
|
-
height fit-content
|
7
|
-
top 10%
|
8
|
-
left 10%
|
9
|
-
background-color var(--sco-maskbgdeep)
|
10
|
-
-webkit-backdrop-filter blur(20px)
|
11
|
-
backdrop-filter blur(20px)
|
12
|
-
transform translateZ(0)
|
13
|
-
color var(--sco-fontcolor)
|
14
|
-
border-radius 12px
|
15
|
-
z-index 99994
|
16
|
-
border var(--style-border)
|
17
|
-
user-select none
|
18
|
-
box-shadow var(--sco-shadow-black)
|
19
|
-
transition border .3s
|
20
|
-
|
21
|
-
#rightMenu:hover
|
22
|
-
border var(--style-border-hover)
|
23
|
-
box-shadow var(--sco-shadow-theme)
|
24
|
-
|
25
|
-
#rightMenu .rightMenu-group
|
26
|
-
padding .35rem .3rem
|
27
|
-
transition .3s
|
28
|
-
|
29
|
-
#rightMenu .rightMenu-line
|
30
|
-
border-top 1px dashed var(--sco-theme-op)
|
31
|
-
|
32
|
-
#rightMenu .rightMenu-group.rightMenu-small
|
33
|
-
display flex
|
34
|
-
justify-content space-between
|
35
|
-
|
36
|
-
#rightMenu .rightMenu-group .rightMenu-item
|
37
|
-
border-radius 8px
|
38
|
-
transition .3s
|
39
|
-
cursor pointer
|
40
|
-
|
41
|
-
#rightMenu .rightMenu-line .rightMenu-item
|
42
|
-
margin .25rem 0
|
43
|
-
padding .25rem 0
|
44
|
-
|
45
|
-
#rightMenu .rightMenu-group.rightMenu-line .rightMenu-item
|
46
|
-
display flex
|
47
|
-
|
48
|
-
#rightMenu .rightMenu-group .rightMenu-item:hover
|
49
|
-
background-color var(--sco-main)
|
50
|
-
color var(--sco-white)
|
51
|
-
box-shadow var(--sco-shadow-main)
|
52
|
-
|
53
|
-
#rightMenu .rightMenu-group .rightMenu-item i
|
54
|
-
display inline-block
|
55
|
-
text-align center
|
56
|
-
line-height 1.5rem
|
57
|
-
width 1.5rem
|
58
|
-
padding 0 .25rem
|
59
|
-
|
60
|
-
#rightMenu .rightMenu-line .rightMenu-item i
|
61
|
-
margin 0 .25rem
|
62
|
-
|
63
|
-
#rightMenu .rightMenu-group .rightMenu-item span
|
64
|
-
line-height 1.5rem
|
65
|
-
|
66
|
-
.rightMenu-small .rightMenu-item
|
67
|
-
width 30px
|
68
|
-
height 30px
|
69
|
-
line-height 30px
|
70
|
-
display flex
|
71
|
-
align-items center
|
72
|
-
justify-content center
|
73
|
-
|
74
|
-
#rightmenu-mask
|
75
|
-
position fixed
|
76
|
-
width 100vw
|
77
|
-
height 100vh
|
78
|
-
background 0 0
|
79
|
-
top 0
|
80
|
-
left 0
|
81
|
-
display none
|
82
|
-
margin 0 !important
|
83
|
-
z-index 99993
|
@@ -1,199 +0,0 @@
|
|
1
|
-
.article-sort-title:before
|
2
|
-
display none
|
3
|
-
|
4
|
-
.article-sort-title:after
|
5
|
-
display none
|
6
|
-
|
7
|
-
.article-sort-title
|
8
|
-
margin-left 0
|
9
|
-
padding-bottom 0
|
10
|
-
padding-left 0
|
11
|
-
font-weight 700
|
12
|
-
font-size 2em
|
13
|
-
|
14
|
-
.article-sort-title sup
|
15
|
-
margin-left 4px
|
16
|
-
font-size 16px
|
17
|
-
font-weight 700
|
18
|
-
opacity .4
|
19
|
-
top -1em
|
20
|
-
|
21
|
-
.article-sort-item-title
|
22
|
-
line-height 1.3
|
23
|
-
-webkit-line-clamp 1
|
24
|
-
|
25
|
-
@media screen and (max-width: 768px)
|
26
|
-
.article-sort-item-title
|
27
|
-
-webkit-line-clamp 2
|
28
|
-
|
29
|
-
.article-sort .article-sort-item .article-sort-item-img
|
30
|
-
border-radius 12px
|
31
|
-
min-width 151px
|
32
|
-
min-height 80px
|
33
|
-
background var(--sco-secondbg)
|
34
|
-
-webkit-mask-image -webkit-radial-gradient(center, #fff, #000)
|
35
|
-
|
36
|
-
@media screen and (max-width: 768px)
|
37
|
-
.article-sort .article-sort-item .article-sort-item-img
|
38
|
-
min-width 80px
|
39
|
-
|
40
|
-
.article-sort-item:before
|
41
|
-
display none
|
42
|
-
|
43
|
-
@media screen and (max-width: 768px)
|
44
|
-
.article-sort-item-info a
|
45
|
-
white-space inherit !important
|
46
|
-
|
47
|
-
.article-sort-item.year
|
48
|
-
font-size .8rem
|
49
|
-
color var(--sco-secondtext)
|
50
|
-
margin-bottom .2rem
|
51
|
-
|
52
|
-
.article-sort-item-img img:hover
|
53
|
-
transform scale(1)
|
54
|
-
|
55
|
-
.article-sort-item-info
|
56
|
-
padding 0 .8rem
|
57
|
-
display flex
|
58
|
-
flex-direction column
|
59
|
-
-webkit-box-flex 1
|
60
|
-
flex 1 1 0
|
61
|
-
|
62
|
-
.article-sort-item-time
|
63
|
-
order 1
|
64
|
-
margin-top 4px
|
65
|
-
color var(--sco-secondtext)
|
66
|
-
display none
|
67
|
-
|
68
|
-
.article-sort-item-title
|
69
|
-
order 0
|
70
|
-
font-weight 700
|
71
|
-
|
72
|
-
.article-sort-item-info a
|
73
|
-
margin-right auto
|
74
|
-
overflow hidden
|
75
|
-
text-overflow ellipsis
|
76
|
-
|
77
|
-
.article-sort-item-info-more
|
78
|
-
display flex
|
79
|
-
font-size .7rem
|
80
|
-
margin-right auto
|
81
|
-
|
82
|
-
.article-sort-item-tags
|
83
|
-
margin-top 8px
|
84
|
-
white-space nowrap
|
85
|
-
overflow hidden
|
86
|
-
display inline-block
|
87
|
-
text-overflow ellipsis
|
88
|
-
width 100%
|
89
|
-
font-size .7rem
|
90
|
-
max-height 50px
|
91
|
-
|
92
|
-
.article-sort-item-tags a
|
93
|
-
color var(--sco-fontcolor)
|
94
|
-
transition .3s
|
95
|
-
|
96
|
-
.article-sort-item-tags a:hover
|
97
|
-
color var(--sco-theme)
|
98
|
-
transition .3s
|
99
|
-
|
100
|
-
.article-sort-item-tags a .tags-punctuation
|
101
|
-
font-size 12px
|
102
|
-
margin-right 1px
|
103
|
-
|
104
|
-
.article-sort
|
105
|
-
margin-left 0
|
106
|
-
padding-left 0
|
107
|
-
|
108
|
-
.article-sort-title::before
|
109
|
-
position absolute
|
110
|
-
top calc((100% - 1.8rem) / 2)
|
111
|
-
left -.45rem
|
112
|
-
z-index 1
|
113
|
-
width .5rem
|
114
|
-
height .5rem
|
115
|
-
border .25rem solid #307af6
|
116
|
-
border-radius .5rem
|
117
|
-
background var(--sco-card-bg)
|
118
|
-
content ""
|
119
|
-
line-height .5rem
|
120
|
-
transition all .2s ease-in-out 0s
|
121
|
-
|
122
|
-
.article-sort-title::after
|
123
|
-
position absolute
|
124
|
-
bottom 0
|
125
|
-
left 0
|
126
|
-
z-index 0
|
127
|
-
width .1rem
|
128
|
-
height 1.5em
|
129
|
-
background #92b9fa
|
130
|
-
content ""
|
131
|
-
|
132
|
-
.article-sort-item
|
133
|
-
position relative
|
134
|
-
display flex
|
135
|
-
-webkit-box-align center
|
136
|
-
align-items center
|
137
|
-
margin 0 0 1rem .5rem
|
138
|
-
transition all .2s ease-in-out 0s
|
139
|
-
overflow hidden
|
140
|
-
border-radius 12px
|
141
|
-
|
142
|
-
|
143
|
-
.article-sort-item:hover::before
|
144
|
-
border-color #ff7242
|
145
|
-
|
146
|
-
.article-sort-item::before
|
147
|
-
position absolute
|
148
|
-
left calc(-1rem - 17px)
|
149
|
-
width .3rem
|
150
|
-
height .3rem
|
151
|
-
border .15rem solid #307af6
|
152
|
-
border-radius .3rem
|
153
|
-
background var(--sco-card-bg)
|
154
|
-
content ""
|
155
|
-
transition all .2s ease-in-out 0s
|
156
|
-
|
157
|
-
.article-sort-item.no-article-cover
|
158
|
-
height 80px
|
159
|
-
|
160
|
-
.article-sort-item.no-article-cover .article-sort-item-info
|
161
|
-
padding 0
|
162
|
-
|
163
|
-
.article-sort-item.year:hover::before
|
164
|
-
border-color #307af6
|
165
|
-
|
166
|
-
.article-sort-item.year::before
|
167
|
-
border-color #ff7242
|
168
|
-
|
169
|
-
.article-sort-item-time
|
170
|
-
color #858585
|
171
|
-
font-size 95%
|
172
|
-
|
173
|
-
.article-sort-item-time time
|
174
|
-
padding-left .3rem
|
175
|
-
cursor default
|
176
|
-
|
177
|
-
.article-sort-item-title
|
178
|
-
color var(--sco-fontcolor)
|
179
|
-
font-size 1.1em
|
180
|
-
transition all .3s ease 0s
|
181
|
-
-webkit-line-clamp 2
|
182
|
-
|
183
|
-
.article-sort-item-title:hover
|
184
|
-
color var(sco-main)
|
185
|
-
transform all .3s
|
186
|
-
|
187
|
-
.article-sort-item-img
|
188
|
-
overflow hidden
|
189
|
-
width 80px
|
190
|
-
height 80px
|
191
|
-
|
192
|
-
.article-sort-item-img img
|
193
|
-
width 100%
|
194
|
-
height 100%
|
195
|
-
transition all .6s ease 0s
|
196
|
-
object-fit cover
|
197
|
-
|
198
|
-
.article-sort-item-img img:hover
|
199
|
-
transform scale(1.1)
|