feat: 新增CDN资源切换

This commit is contained in:
“吴浩” 2023-06-30 16:39:08 +08:00
parent 3f8aca1111
commit d11ee8a562
332 changed files with 6813 additions and 5934 deletions

BIN
.DS_Store vendored Normal file

Binary file not shown.

0
404.php Normal file → Executable file
View File

28
README.md Normal file → Executable file
View File

@ -1,31 +1,31 @@
## Joe
> 一款基于Typecho博客的双栏极致优化主题
> 一款基于 Typecho 博客的双栏极致优化主题
- QQ交流群457337579
- Git仓库https://github.com/HaoOuBa/Joe
- QQ 交流群457337579
- Git 仓库https://github.com/HaoOuBa/Joe
- 主题宗旨:简洁、超强、开源、精华
#### 主题简介:
1. 整包仅1.3Mb却实现超强功能极其迅速的响应在开发时都是使用30000篇文章进行开发测试
1. 整包仅 1.3Mb,却实现超强功能,极其迅速的响应(在开发时,都是使用 30000 篇文章进行开发测试)
2. 全站变量名、类名统一规范,重在方便更多人参与二开与拓展
3. 主题开箱即用,没有任何复杂的操作,无需像其他主题去特意创建个分类等。
4. 主题启用后会置换Typecho的默认编辑器采用 Joe 独家开发的编辑器
4. 主题启用后,会置换 Typecho 的默认编辑器,采用 Joe 独家开发的编辑器
5. 主题响应式布局,不依赖任何响应式框架,采用 Joe 独家响应式
6. 主题在一切可能暴露的接口上屏蔽sql注入、xss攻击风险提供安全保障
6. 主题在一切可能暴露的接口上,屏蔽 sql 注入、xss 攻击风险,提供安全保障
7. 内置超强视频功能、包含直播功能、全网影视功能、文章内插入视频功能
8. 主题SEO极致优化Lighthouse SEO跑分彪满100分
8. 主题 SEO 极致优化Lighthouse SEO 跑分彪满 100
9. 主题色彩全局公用、小白轻松直接修改整站自定义主题色
10. 主题内置代码高亮、无需借助任何插件、支持200种语言
10. 主题内置代码高亮、无需借助任何插件、支持 200 种语言
11. 主题首发极强画图回复功能,为你的博客带来用户互动,不再像传统博客那样,仅限文字
12. 主题内置sitemap、百度推送、友链、回复可见等无需依赖任何插件
12. 主题内置 sitemap、百度推送、友链、回复可见等无需依赖任何插件
#### 主题开发
1. 开发时请使用 `VSCode编辑器` ,编辑器插件:`scss-to-css`(根据官方文档进行下载依赖库) 和 `minify`
2. css代码由scss编译成.min.css文件
3. js代码由minify压缩成.min.js文件
2. css 代码由 scss 编译成.min.css 文件
3. js 代码由 minify 压缩成.min.js 文件
#### 主题目录介绍(非实时)
@ -41,9 +41,9 @@
│ ├── config 主题外观、功能设置的样式脚本目录
└── write Joe编辑器目录
│ └── write Joe 编辑器目录
├── 404.php 404页面
├── 404.php 404 页面
├── archive.php 搜索页面
@ -57,7 +57,7 @@
├── live.php 虎牙直播页面
├── package.json 主题发布至NPM仓库使用勿动
├── package.json 主题发布至 NPM 仓库使用(勿动)
├── page.php 独立页面

6
archive.php Normal file → Executable file
View File

@ -3,9 +3,9 @@
<head>
<?php $this->need('public/include.php'); ?>
<script src="https://fastly.jsdelivr.net/npm/wowjs@1.1.3/dist/wow.min.js"></script>
<link rel="stylesheet" href="<?php $this->options->themeUrl('assets/css/joe.archive.min.css'); ?>">
<script src="<?php $this->options->themeUrl('assets/js/joe.archive.min.js'); ?>"></script>
<script src="<?php _getAssets('assets/lib/wowjs@1.1.3/wow.min.js'); ?>"></script>
<link href="<?php _getAssets('assets/css/joe.archive.min.css'); ?>" rel="stylesheet">
<script src="<?php _getAssets('assets/js/joe.archive.min.js'); ?>"></script>
</head>
<body>

BIN
assets/.DS_Store vendored Normal file

Binary file not shown.

0
assets/backdrop/backdrop1.js Normal file → Executable file
View File

0
assets/backdrop/backdrop2.js Normal file → Executable file
View File

0
assets/backdrop/backdrop3.js Normal file → Executable file
View File

0
assets/backdrop/backdrop4.js Normal file → Executable file
View File

0
assets/backdrop/backdrop5.js Normal file → Executable file
View File

0
assets/backdrop/backdrop6.js Normal file → Executable file
View File

0
assets/css/joe.archive.min.css vendored Normal file → Executable file
View File

0
assets/css/joe.archive.min.scss Normal file → Executable file
View File

0
assets/css/joe.census.min.css vendored Normal file → Executable file
View File

0
assets/css/joe.census.min.scss Normal file → Executable file
View File

0
assets/css/joe.global.min.css vendored Normal file → Executable file
View File

0
assets/css/joe.global.min.scss Normal file → Executable file
View File

0
assets/css/joe.index.min.css vendored Normal file → Executable file
View File

0
assets/css/joe.index.min.scss Normal file → Executable file
View File

0
assets/css/joe.live.min.css vendored Normal file → Executable file
View File

0
assets/css/joe.live.min.scss Normal file → Executable file
View File

0
assets/css/joe.mode.min.css vendored Normal file → Executable file
View File

0
assets/css/joe.mode.min.scss Normal file → Executable file
View File

0
assets/css/joe.normalize.min.css vendored Normal file → Executable file
View File

0
assets/css/joe.normalize.min.scss Normal file → Executable file
View File

0
assets/css/joe.post.min.css vendored Normal file → Executable file
View File

0
assets/css/joe.post.min.scss Normal file → Executable file
View File

File diff suppressed because one or more lines are too long

8
assets/css/joe.responsive.min.scss Normal file → Executable file
View File

@ -1,12 +1,6 @@
/* 基类:基于 最大屏幕 + 有侧边栏 下进行适配 */
html {
@media (max-width: 1760px) {
#live2d-widget {
visibility: hidden;
}
}
@media (max-width: 1400px) {
.joe {
&_vplayer {
@ -626,7 +620,7 @@ html {
}
&__article {
font-size: 14px;
pre[class*='language-'] {
pre[class*="language-"] {
font-size: 13px;
}
&-video {

0
assets/css/joe.video.min.css vendored Normal file → Executable file
View File

0
assets/css/joe.video.min.scss Normal file → Executable file
View File

0
assets/css/joe.wallpaper.min.css vendored Normal file → Executable file
View File

0
assets/css/joe.wallpaper.min.scss Normal file → Executable file
View File

0
assets/cursor/cursor1.js Normal file → Executable file
View File

0
assets/cursor/cursor10.js Normal file → Executable file
View File

0
assets/cursor/cursor11.js Normal file → Executable file
View File

0
assets/cursor/cursor2.js Normal file → Executable file
View File

0
assets/cursor/cursor3.js Normal file → Executable file
View File

0
assets/cursor/cursor4.js Normal file → Executable file
View File

0
assets/cursor/cursor5.js Normal file → Executable file
View File

0
assets/cursor/cursor6.js Normal file → Executable file
View File

0
assets/cursor/cursor7.js Normal file → Executable file
View File

0
assets/cursor/cursor8.js Normal file → Executable file
View File

0
assets/cursor/cursor9.js Normal file → Executable file
View File

BIN
assets/img/.DS_Store vendored Normal file

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

BIN
assets/img/lazyload.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 114 KiB

BIN
assets/img/link.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

0
assets/js/joe.archive.js Normal file → Executable file
View File

0
assets/js/joe.archive.min.js vendored Normal file → Executable file
View File

0
assets/js/joe.census.js Normal file → Executable file
View File

0
assets/js/joe.census.min.js vendored Normal file → Executable file
View File

13
assets/js/joe.global.js Normal file → Executable file
View File

@ -295,19 +295,6 @@ document.addEventListener("DOMContentLoaded", () => {
}
}
/* 激活Live2d人物 */
{
if (Joe.LIVE2D !== "off" && Joe.LIVE2D) {
$.getScript("https://fastly.jsdelivr.net/npm/live2d-widget@3.1.4/lib/L2Dwidget.min.js", () => {
L2Dwidget.init({
model: { jsonPath: Joe.LIVE2D, scale: 1 },
mobile: { show: false },
display: { position: "right", width: 160, height: 200, hOffset: 70, vOffset: 0 },
});
});
}
}
/* 评论框点击切换画图模式和文本模式 */
{
if ($(".joe_comment").length) {

File diff suppressed because one or more lines are too long

0
assets/js/joe.index.js Normal file → Executable file
View File

0
assets/js/joe.index.min.js vendored Normal file → Executable file
View File

0
assets/js/joe.leaving.js Normal file → Executable file
View File

0
assets/js/joe.leaving.min.js vendored Normal file → Executable file
View File

0
assets/js/joe.live.js Normal file → Executable file
View File

0
assets/js/joe.live.min.js vendored Normal file → Executable file
View File

0
assets/js/joe.post_page.js Normal file → Executable file
View File

0
assets/js/joe.post_page.min.js vendored Normal file → Executable file
View File

0
assets/js/joe.short.js Normal file → Executable file
View File

0
assets/js/joe.short.min.js vendored Normal file → Executable file
View File

0
assets/js/joe.video.js Normal file → Executable file
View File

0
assets/js/joe.video.min.js vendored Normal file → Executable file
View File

0
assets/js/joe.wallpaper.js Normal file → Executable file
View File

0
assets/js/joe.wallpaper.min.js vendored Normal file → Executable file
View File

0
assets/json/joe.live.json Normal file → Executable file
View File

0
assets/json/joe.owo.json Normal file → Executable file
View File

1
assets/lib/3dtag/3dtag.min.js vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,26 @@
/*!
* Draggabilly PACKAGED v3.0.0
* Make that shiz draggable
* https://draggabilly.desandro.com
* MIT license
*/
!function(t,i){"function"==typeof define&&define.amd?define(["jquery"],(function(e){return i(t,e)})):"object"==typeof module&&module.exports?module.exports=i(t,require("jquery")):t.jQueryBridget=i(t,t.jQuery)}(window,(function(t,i){"use strict";var e=Array.prototype.slice,n=t.console,o=void 0===n?function(){}:function(t){n.error(t)};function s(n,s,h){function a(t,i,e){var s,r="$()."+n+'("'+i+'")';return t.each((function(t,a){var d=h.data(a,n);if(d){var u=d[i];if(u&&"_"!=i.charAt(0)){var l=u.apply(d,e);s=void 0===s?l:s}else o(r+" is not a valid method")}else o(n+" not initialized. Cannot call methods, i.e. "+r)})),void 0!==s?s:t}function d(t,i){t.each((function(t,e){var o=h.data(e,n);o?(o.option(i),o._init()):(o=new s(e,i),h.data(e,n,o))}))}(h=h||i||t.jQuery)&&(s.prototype.option||(s.prototype.option=function(t){h.isPlainObject(t)&&(this.options=h.extend(!0,this.options,t))}),h.fn[n]=function(t){if("string"==typeof t){var i=e.call(arguments,1);return a(this,t,i)}return d(this,t),this},r(h))}function r(t){!t||t&&t.bridget||(t.bridget=s)}return r(i||t.jQuery),s})),
/*!
* Infinite Scroll v2.0.4
* measure size of elements
* MIT license
*/
function(t,i){"object"==typeof module&&module.exports?module.exports=i():t.getSize=i()}(window,(function(){function t(t){let i=parseFloat(t);return-1==t.indexOf("%")&&!isNaN(i)&&i}let i=["paddingLeft","paddingRight","paddingTop","paddingBottom","marginLeft","marginRight","marginTop","marginBottom","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth"];i.length;return function(e){if("string"==typeof e&&(e=document.querySelector(e)),!(e&&"object"==typeof e&&e.nodeType))return;let n=getComputedStyle(e);if("none"==n.display)return function(){let t={width:0,height:0,innerWidth:0,innerHeight:0,outerWidth:0,outerHeight:0};return i.forEach((i=>{t[i]=0})),t}();let o={};o.width=e.offsetWidth,o.height=e.offsetHeight;let s=o.isBorderBox="border-box"==n.boxSizing;i.forEach((t=>{let i=n[t],e=parseFloat(i);o[t]=isNaN(e)?0:e}));let r=o.paddingLeft+o.paddingRight,h=o.paddingTop+o.paddingBottom,a=o.marginLeft+o.marginRight,d=o.marginTop+o.marginBottom,u=o.borderLeftWidth+o.borderRightWidth,l=o.borderTopWidth+o.borderBottomWidth,c=t(n.width);!1!==c&&(o.width=c+(s?0:r+u));let p=t(n.height);return!1!==p&&(o.height=p+(s?0:h+l)),o.innerWidth=o.width-(r+u),o.innerHeight=o.height-(h+l),o.outerWidth=o.width+a,o.outerHeight=o.height+d,o}})),function(t,i){"object"==typeof module&&module.exports?module.exports=i():t.EvEmitter=i()}("undefined"!=typeof window?window:this,(function(){function t(){}let i=t.prototype;return i.on=function(t,i){if(!t||!i)return this;let e=this._events=this._events||{},n=e[t]=e[t]||[];return n.includes(i)||n.push(i),this},i.once=function(t,i){if(!t||!i)return this;this.on(t,i);let e=this._onceEvents=this._onceEvents||{};return(e[t]=e[t]||{})[i]=!0,this},i.off=function(t,i){let e=this._events&&this._events[t];if(!e||!e.length)return this;let n=e.indexOf(i);return-1!=n&&e.splice(n,1),this},i.emitEvent=function(t,i){let e=this._events&&this._events[t];if(!e||!e.length)return this;e=e.slice(0),i=i||[];let n=this._onceEvents&&this._onceEvents[t];for(let o of e){n&&n[o]&&(this.off(t,o),delete n[o]),o.apply(this,i)}return this},i.allOff=function(){return delete this._events,delete this._onceEvents,this},t})),
/*!
* Unidragger v3.0.0
* Draggable base class
* MIT license
*/
function(t,i){"object"==typeof module&&module.exports?module.exports=i(t,require("ev-emitter")):t.Unidragger=i(t,t.EvEmitter)}("undefined"!=typeof window?window:this,(function(t,i){function e(){}let n,o,s=e.prototype=Object.create(i.prototype);s.handleEvent=function(t){let i="on"+t.type;this[i]&&this[i](t)},"ontouchstart"in t?(n="touchstart",o=["touchmove","touchend","touchcancel"]):t.PointerEvent?(n="pointerdown",o=["pointermove","pointerup","pointercancel"]):(n="mousedown",o=["mousemove","mouseup"]),s.touchActionValue="none",s.bindHandles=function(){this._bindHandles("addEventListener",this.touchActionValue)},s.unbindHandles=function(){this._bindHandles("removeEventListener","")},s._bindHandles=function(i,e){this.handles.forEach((o=>{o[i](n,this),o[i]("click",this),t.PointerEvent&&(o.style.touchAction=e)}))},s.bindActivePointerEvents=function(){o.forEach((i=>{t.addEventListener(i,this)}))},s.unbindActivePointerEvents=function(){o.forEach((i=>{t.removeEventListener(i,this)}))},s.withPointer=function(t,i){i.pointerId==this.pointerIdentifier&&this[t](i,i)},s.withTouch=function(t,i){let e;for(let t of i.changedTouches)t.identifier==this.pointerIdentifier&&(e=t);e&&this[t](i,e)},s.onmousedown=function(t){this.pointerDown(t,t)},s.ontouchstart=function(t){this.pointerDown(t,t.changedTouches[0])},s.onpointerdown=function(t){this.pointerDown(t,t)};const r=["TEXTAREA","INPUT","SELECT","OPTION"],h=["radio","checkbox","button","submit","image","file"];return s.pointerDown=function(t,i){let e=r.includes(t.target.nodeName),n=h.includes(t.target.type),o=!e||n;!this.isPointerDown&&!t.button&&o&&(this.isPointerDown=!0,this.pointerIdentifier=void 0!==i.pointerId?i.pointerId:i.identifier,this.pointerDown(t,i),this.bindActivePointerEvents(),this.emitEvent("pointerDown",[t,i]))},s.onmousemove=function(t){this.pointerMove(t,t)},s.onpointermove=function(t){this.withPointer("pointerMove",t)},s.ontouchmove=function(t){this.withTouch("pointerMove",t)},s.pointerMove=function(t,i){let e={x:i.pageX-this.pointerDownPointer.pageX,y:i.pageY-this.pointerDownPointer.pageY};this.emitEvent("pointerMove",[t,i,e]),!this.isDragging&&this.hasDragStarted(e)&&this.dragStart(t,i),this.isDragging&&this.dragMove(t,i,e)},s.hasDragStarted=function(t){return Math.abs(t.x)>3||Math.abs(t.y)>3},s.dragStart=function(t,i){this.isDragging=!0,this.isPreventingClicks=!0,this.emitEvent("dragStart",[t,i])},s.dragMove=function(t,i,e){this.emitEvent("dragMove",[t,i,e])},s.onmouseup=function(t){this.pointerUp(t,t)},s.onpointerup=function(t){this.withPointer("pointerUp",t)},s.ontouchend=function(t){this.withTouch("pointerUp",t)},s.pointerUp=function(t,i){this.pointerDone(),this.emitEvent("pointerUp",[t,i]),this.isDragging?this.dragEnd(t,i):this.staticClick(t,i)},s.dragEnd=function(t,i){this.isDragging=!1,setTimeout((()=>delete this.isPreventingClicks)),this.emitEvent("dragEnd",[t,i])},s.pointerDone=function(){this.isPointerDown=!1,delete this.pointerIdentifier,this.unbindActivePointerEvents(),this.emitEvent("pointerDone")},s.onpointercancel=function(t){this.withPointer("pointerCancel",t)},s.ontouchcancel=function(t){this.withTouch("pointerCancel",t)},s.pointerCancel=function(t,i){this.pointerDone(),this.emitEvent("pointerCancel",[t,i])},s.onclick=function(t){this.isPreventingClicks&&t.preventDefault()},s.staticClick=function(t,i){let e="mouseup"==t.type;e&&this.isIgnoringMouseUp||(this.emitEvent("staticClick",[t,i]),e&&(this.isIgnoringMouseUp=!0,setTimeout((()=>{delete this.isIgnoringMouseUp}),400)))},e})),
/*!
* Draggabilly v3.0.0
* Make that shiz draggable
* https://draggabilly.desandro.com
* MIT license
*/
function(t,i){"object"==typeof module&&module.exports?module.exports=i(t,require("get-size"),require("unidragger")):t.Draggabilly=i(t,t.getSize,t.Unidragger)}("undefined"!=typeof window?window:this,(function(t,i,e){let n=t.jQuery;function o(t,i){this.element="string"==typeof t?document.querySelector(t):t,n&&(this.$element=n(this.element)),this.options={},this.option(i),this._create()}let s=o.prototype=Object.create(e.prototype);s.option=function(t){this.options={...this.options,...t}};const r=["relative","absolute","fixed"];s._create=function(){this.position={},this._getPosition(),this.startPoint={x:0,y:0},this.dragPoint={x:0,y:0},this.startPosition={...this.position};let t=getComputedStyle(this.element);r.includes(t.position)||(this.element.style.position="relative"),this.on("pointerDown",this.handlePointerDown),this.on("pointerUp",this.handlePointerUp),this.on("dragStart",this.handleDragStart),this.on("dragMove",this.handleDragMove),this.on("dragEnd",this.handleDragEnd),this.setHandles(),this.enable()},s.setHandles=function(){let{handle:t}=this.options;"string"==typeof t?this.handles=this.element.querySelectorAll(t):"object"==typeof t&&t.length?this.handles=t:t instanceof HTMLElement?this.handles=[t]:this.handles=[this.element]};const h=["dragStart","dragMove","dragEnd"];let a=s.emitEvent;function d(t,i,e){return i?(e=e||"round",Math[e](t/i)*i):t}s.emitEvent=function(i,e){if(!this.isEnabled&&h.includes(i))return;a.call(this,i,e);let n,o=t.jQuery;if(!o||!this.$element)return;let s=e;e&&e[0]instanceof Event&&([n,...s]=e);let r=o.Event(n);r.type=i,this.$element.trigger(r,s)},s._getPosition=function(){let t=getComputedStyle(this.element),i=this._getPositionCoord(t.left,"width"),e=this._getPositionCoord(t.top,"height");this.position.x=isNaN(i)?0:i,this.position.y=isNaN(e)?0:e,this._addTransformPosition(t)},s._getPositionCoord=function(t,e){if(t.includes("%")){let n=i(this.element.parentNode);return n?parseFloat(t)/100*n[e]:0}return parseInt(t,10)},s._addTransformPosition=function(t){let i=t.transform;if(!i.startsWith("matrix"))return;let e=i.split(","),n=i.startsWith("matrix3d")?12:4,o=parseInt(e[n],10),s=parseInt(e[n+1],10);this.position.x+=o,this.position.y+=s},s.handlePointerDown=function(t,i){this.isEnabled&&(this.pointerDownPointer={pageX:i.pageX,pageY:i.pageY},t.preventDefault(),document.activeElement.blur(),this.bindActivePointerEvents(t),this.element.classList.add("is-pointer-down"))},s.handleDragStart=function(){this.isEnabled&&(this._getPosition(),this.measureContainment(),this.startPosition.x=this.position.x,this.startPosition.y=this.position.y,this.setLeftTop(),this.dragPoint.x=0,this.dragPoint.y=0,this.element.classList.add("is-dragging"),this.animate())},s.measureContainment=function(){let t=this.getContainer();if(!t)return;let e=i(this.element),n=i(t),{borderLeftWidth:o,borderRightWidth:s,borderTopWidth:r,borderBottomWidth:h}=n,a=this.element.getBoundingClientRect(),d=t.getBoundingClientRect(),u=o+s,l=r+h,c=this.relativeStartPosition={x:a.left-(d.left+o),y:a.top-(d.top+r)};this.containSize={width:n.width-u-c.x-e.width,height:n.height-l-c.y-e.height}},s.getContainer=function(){let t=this.options.containment;if(t)return t instanceof HTMLElement?t:"string"==typeof t?document.querySelector(t):this.element.parentNode},s.handleDragMove=function(t,i,e){if(!this.isEnabled)return;let n=e.x,o=e.y,s=this.options.grid,r=s&&s[0],h=s&&s[1];n=d(n,r),o=d(o,h),n=this.containDrag("x",n,r),o=this.containDrag("y",o,h),n="y"==this.options.axis?0:n,o="x"==this.options.axis?0:o,this.position.x=this.startPosition.x+n,this.position.y=this.startPosition.y+o,this.dragPoint.x=n,this.dragPoint.y=o},s.containDrag=function(t,i,e){if(!this.options.containment)return i;let n="x"==t?"width":"height",o=d(-this.relativeStartPosition[t],e,"ceil"),s=this.containSize[n];return s=d(s,e,"floor"),Math.max(o,Math.min(s,i))},s.handlePointerUp=function(){this.element.classList.remove("is-pointer-down")},s.handleDragEnd=function(){this.isEnabled&&(this.element.style.transform="",this.setLeftTop(),this.element.classList.remove("is-dragging"))},s.animate=function(){this.isDragging&&(this.positionDrag(),requestAnimationFrame((()=>this.animate())))},s.setLeftTop=function(){let{x:t,y:i}=this.position;this.element.style.left=`${t}px`,this.element.style.top=`${i}px`},s.positionDrag=function(){let{x:t,y:i}=this.dragPoint;this.element.style.transform=`translate3d(${t}px, ${i}px, 0)`},s.setPosition=function(t,i){this.position.x=t,this.position.y=i,this.setLeftTop()},s.enable=function(){this.isEnabled||(this.isEnabled=!0,this.bindHandles())},s.disable=function(){this.isEnabled&&(this.isEnabled=!1,this.isDragging&&this.dragEnd(),this.unbindHandles())};const u=["transform","left","top","position"];return s.destroy=function(){this.disable(),u.forEach((t=>{this.element.style[t]=""})),this.unbindHandles(),this.$element&&this.$element.removeData("draggabilly")},s._init=function(){},n&&n.bridget&&n.bridget("draggabilly",o),o}));

45
assets/lib/echarts@5.4.0/echarts.min.js vendored Normal file

File diff suppressed because one or more lines are too long

1
assets/lib/extend/extend.min.js vendored Normal file
View File

@ -0,0 +1 @@
(function(e){e.fn.extend({insertContent:function(t,n){var a=e(this)[0];if(document.selection){this.focus();var s=document.selection.createRange();s.text=t,this.focus(),s.moveStart("character",-i);var c=s.text.length;if(2==arguments.length){var i=a.value.length;s.moveEnd("character",c+n),n<=0?s.moveStart("character",c-2*n-t.length):s.moveStart("character",c-n-t.length),s.select()}}else if(a.selectionStart||"0"==a.selectionStart){var o=a.selectionStart,r=a.selectionEnd,l=a.scrollTop;a.value=a.value.substring(0,o)+t+a.value.substring(r,a.value.length),this.focus(),a.selectionStart=o+t.length,a.selectionEnd=o+t.length,a.scrollTop=l,2==arguments.length&&(a.setSelectionRange(o-n,a.selectionEnd+n),this.focus())}else this.value+=t,this.focus()},selectionRange:function(e,t){var n="",a=this[0];if(void 0===e)n=/input|textarea/i.test(a.tagName)&&/firefox/i.test(navigator.userAgent)?a.value.substring(a.selectionStart,a.selectionEnd):document.selection?document.selection.createRange().text:document.getSelection().toString();else{if(!/input|textarea/.test(a.tagName.toLowerCase()))return!1;if(void 0===t&&(t=e),a.setSelectionRange)a.setSelectionRange(e,t),this.focus();else{var s=a.createTextRange();s.move("character",e),s.moveEnd("character",t-e),s.select()}}return void 0===e?n:this}})})(jQuery);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

File diff suppressed because one or more lines are too long

Binary file not shown.

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 434 KiB

Binary file not shown.

Binary file not shown.

2
assets/lib/jquery@3.6.1/jquery.min.js vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

1
assets/lib/prism/prism.min.css vendored Normal file
View File

@ -0,0 +1 @@
code[class*=language-],pre[class*=language-]{color:#000;background:0 0;text-shadow:0 1px #fff;font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;font-size:1em;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}code[class*=language-] ::-moz-selection,code[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection,pre[class*=language-]::-moz-selection{text-shadow:none;background:#b3d4fc}code[class*=language-] ::selection,code[class*=language-]::selection,pre[class*=language-] ::selection,pre[class*=language-]::selection{text-shadow:none;background:#b3d4fc}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#f5f2f0}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#708090}.token.punctuation{color:#999}.token.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#905}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#690}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url{color:#9a6e3a;background:hsla(0,0%,100%,.5)}.token.atrule,.token.attr-value,.token.keyword{color:#07a}.token.class-name,.token.function{color:#dd4a68}.token.important,.token.regex,.token.variable{color:#e90}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}

17
assets/lib/prism/prism.min.js vendored Normal file

File diff suppressed because one or more lines are too long

1
assets/lib/qmsg/qmsg.min.css vendored Normal file
View File

@ -0,0 +1 @@
.qmsg.qmsg-wrapper{color:#909399;position:fixed;top:16px;left:0;z-index:9999;width:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;line-height:20px}.qmsg .qmsg-item{padding:8px;text-align:center;-webkit-animation-duration:0.3s;animation-duration:0.3s;position:relative}.qmsg .qmsg-item .qmsg-count{position:absolute;left:-4px;top:-4px;background-color:red;color:#fff;font-size:12px;text-align:center;border-radius:2px;min-width:16px;height:16px;line-height:16px;-webkit-animation-duration:0.3s;animation-duration:0.3s}.qmsg .qmsg-item:first-child{margin-top:-8px}.qmsg .qmsg-content{text-align:left;position:relative;display:inline-block;padding:10px 16px;background:#fff;border-radius:4px;box-shadow:0 4px 12px rgba(0,0,0,0.15);pointer-events:all;max-width:80%;min-width:80px}.qmsg .qmsg-content [class^='qmsg-content-']{display:flex;align-items:center}.qmsg .qmsg-content .qmsg-content-with-close{padding-right:20px}.qmsg .qmsg-icon{display:flex;align-items:center;margin-right:8px}.qmsg .qmsg-icon svg{vertical-align:unset;width:20px;height:20px}.qmsg .qmsg-content-info .qmsg-icon{color:#1890ff}.qmsg .qmsg-icon-close{position:absolute;top:11px;right:5px;padding:0;overflow:hidden;font-size:12px;line-height:22px;background-color:transparent;border:none;outline:none;cursor:pointer;color:rgba(0,0,0,0.45);transition:color 0.3s}.qmsg .qmsg-icon-close:hover>svg path{stroke:#555}.qmsg .animate-turn{-webkit-animation:MessageTurn 1s linear infinite;animation:MessageTurn 1s linear infinite}@-webkit-keyframes MessageTurn{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}100%{-webkit-transform:rotate(360deg)}}@keyframes MessageTurn{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}100%{-webkit-transform:rotate(360deg)}}@-webkit-keyframes MessageMoveOut{0%{max-height:150px;padding:8px;opacity:1}to{max-height:0;padding:0;opacity:0}}@keyframes MessageMoveOut{0%{max-height:150px;padding:8px;opacity:1}to{max-height:0;padding:0;opacity:0}}@-webkit-keyframes MessageMoveIn{0%{-webkit-transform:translateY(-100%);transform:translateY(-100%);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}to{-webkit-transform:translateY(0);transform:translateY(0);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}}@keyframes MessageMoveIn{0%{-webkit-transform:translateY(-100%);transform:translateY(-100%);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}to{-webkit-transform:translateY(0);transform:translateY(0);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}}@-webkit-keyframes MessageShake{0%,100%{-webkit-transform:translateX(0px);transform:translateX(0px);opacity:1}25%,75%{-webkit-transform:translateX(-4px);transform:translateX(-4px);opacity:0.75}50%{-webkit-transform:translateX(4px);transform:translateX(4px);opacity:0.25}}@keyframes MessageShake{0%,100%{-webkit-transform:translateX(0px);transform:translateX(0px);opacity:1}25%,75%{-webkit-transform:translateX(-4px);transform:translateX(-4px);opacity:0.75}50%{-webkit-transform:translateX(4px);transform:translateX(4px);opacity:0.25}}

1
assets/lib/qmsg/qmsg.min.js vendored Normal file

File diff suppressed because one or more lines are too long

1
assets/lib/scroll/scroll.min.js vendored Normal file
View File

@ -0,0 +1 @@
"use strict";function polyfill(){function o(o){var t=["MSIE ","Trident/","Edge/"];return new RegExp(t.join("|")).test(o)}function t(o,t){this.scrollLeft=o,this.scrollTop=t}function e(o){return.5*(1-Math.cos(Math.PI*o))}function l(o){if(null===o||"object"!=typeof o||void 0===o.behavior||"auto"===o.behavior||"instant"===o.behavior)return!0;if("object"==typeof o&&"smooth"===o.behavior)return!1;throw new TypeError("behavior member of ScrollOptions "+o.behavior+" is not a valid value for enumeration ScrollBehavior.")}function r(o,t){return"Y"===t?o.clientHeight+b<o.scrollHeight:"X"===t?o.clientWidth+b<o.scrollWidth:void 0}function i(o,t){var e=u.getComputedStyle(o,null)["overflow"+t];return"auto"===e||"scroll"===e}function n(o){var t=r(o,"Y")&&i(o,"Y"),e=r(o,"X")&&i(o,"X");return t||e}function c(o){for(;o!==m.body&&!1===n(o);)o=o.parentNode||o.host;return o}function s(o){var t,l,r,i=y(),n=(i-o.startTime)/h;n=n>1?1:n,t=e(n),l=o.startX+(o.x-o.startX)*t,r=o.startY+(o.y-o.startY)*t,o.method.call(o.scrollable,l,r),l===o.x&&r===o.y||u.requestAnimationFrame(s.bind(u,o))}function a(o,e,l){var r,i,n,c,a=y();o===m.body?(r=u,i=u.scrollX||u.pageXOffset,n=u.scrollY||u.pageYOffset,c=w.scroll):(r=o,i=o.scrollLeft,n=o.scrollTop,c=t),s({scrollable:r,method:c,startTime:a,startX:i,startY:n,x:e,y:l})}for(var f=0,p=["ms","moz","webkit","o"],d=0;d<p.length&&!window.requestAnimationFrame;++d)window.requestAnimationFrame=window[p[d]+"RequestAnimationFrame"],window.cancelAnimationFrame=window[p[d]+"CancelAnimationFrame"]||window[p[d]+"CancelRequestAnimationFrame"];window.requestAnimationFrame||(window.requestAnimationFrame=function(o,t){var e=(new Date).getTime(),l=Math.max(0,16-(e-f)),r=window.setTimeout(function(){o(e+l)},l);return f=e+l,r}),window.cancelAnimationFrame||(window.cancelAnimationFrame=function(o){clearTimeout(o)});var u=window,m=document;if(!("scrollBehavior"in m.documentElement.style&&!0!==u.__forceSmoothScrollPolyfill__)){var v=u.HTMLElement||u.Element,h=468,w={scroll:u.scroll||u.scrollTo,scrollBy:u.scrollBy,elementScroll:v.prototype.scroll||t,scrollIntoView:v.prototype.scrollIntoView},y=u.performance&&u.performance.now?u.performance.now.bind(u.performance):Date.now,b=o(u.navigator.userAgent)?1:0;u.scroll=u.scrollTo=function(){void 0!==arguments[0]&&(!0!==l(arguments[0])?a.call(u,m.body,void 0!==arguments[0].left?~~arguments[0].left:u.scrollX||u.pageXOffset,void 0!==arguments[0].top?~~arguments[0].top:u.scrollY||u.pageYOffset):w.scroll.call(u,void 0!==arguments[0].left?arguments[0].left:"object"!=typeof arguments[0]?arguments[0]:u.scrollX||u.pageXOffset,void 0!==arguments[0].top?arguments[0].top:void 0!==arguments[1]?arguments[1]:u.scrollY||u.pageYOffset))},u.scrollBy=function(){void 0!==arguments[0]&&(l(arguments[0])?w.scrollBy.call(u,void 0!==arguments[0].left?arguments[0].left:"object"!=typeof arguments[0]?arguments[0]:0,void 0!==arguments[0].top?arguments[0].top:void 0!==arguments[1]?arguments[1]:0):a.call(u,m.body,~~arguments[0].left+(u.scrollX||u.pageXOffset),~~arguments[0].top+(u.scrollY||u.pageYOffset)))},v.prototype.scroll=v.prototype.scrollTo=function(){if(void 0!==arguments[0])if(!0!==l(arguments[0])){var o=arguments[0].left,t=arguments[0].top;a.call(this,this,void 0===o?this.scrollLeft:~~o,void 0===t?this.scrollTop:~~t)}else{if("number"==typeof arguments[0]&&void 0===arguments[1])throw new SyntaxError("Value could not be converted");w.elementScroll.call(this,void 0!==arguments[0].left?~~arguments[0].left:"object"!=typeof arguments[0]?~~arguments[0]:this.scrollLeft,void 0!==arguments[0].top?~~arguments[0].top:void 0!==arguments[1]?~~arguments[1]:this.scrollTop)}},v.prototype.scrollBy=function(){void 0!==arguments[0]&&(!0!==l(arguments[0])?this.scroll({left:~~arguments[0].left+this.scrollLeft,top:~~arguments[0].top+this.scrollTop,behavior:arguments[0].behavior}):w.elementScroll.call(this,void 0!==arguments[0].left?~~arguments[0].left+this.scrollLeft:~~arguments[0]+this.scrollLeft,void 0!==arguments[0].top?~~arguments[0].top+this.scrollTop:~~arguments[1]+this.scrollTop))},v.prototype.scrollIntoView=function(){if(!0!==l(arguments[0])){var o=c(this),t=o.getBoundingClientRect(),e=this.getBoundingClientRect();o!==m.body?(a.call(this,o,o.scrollLeft+e.left-t.left,o.scrollTop+e.top-t.top),"fixed"!==u.getComputedStyle(o).position&&u.scrollBy({left:t.left,top:t.top,behavior:"smooth"})):u.scrollBy({left:e.left,top:e.top,behavior:"smooth"})}else w.scrollIntoView.call(this,void 0===arguments[0]||arguments[0])}}}"object"==typeof exports&&"undefined"!=typeof module?module.exports={polyfill:polyfill}:polyfill();

1
assets/lib/sketchpad/sketchpad.min.js vendored Normal file

File diff suppressed because one or more lines are too long

2
assets/lib/smooth/smooth.min.js vendored Normal file

File diff suppressed because one or more lines are too long

13
assets/lib/swiper@5.4.5/swiper.min.css vendored Normal file

File diff suppressed because one or more lines are too long

14
assets/lib/swiper@5.4.5/swiper.min.js vendored Normal file

File diff suppressed because one or more lines are too long

2
assets/lib/wowjs@1.1.3/wow.min.js vendored Normal file

File diff suppressed because one or more lines are too long

Some files were not shown because too many files have changed in this diff Show More