diff --git a/404.html b/404.html new file mode 100644 index 00000000..9acaa469 --- /dev/null +++ b/404.html @@ -0,0 +1,285 @@ +
页面没有找到 | 兔兔博客🇨🇳 + + + + + + + + + + + +
Page not found

迷路中

此页面不存在哦٩͡[๏̯͡๏]
空降评论复制本文地址
随便逛逛昼夜切换关于博客美化设置切换全屏打印页面
\ No newline at end of file diff --git a/archives/2023/01/index.html b/archives/2023/01/index.html new file mode 100644 index 00000000..9146eb79 --- /dev/null +++ b/archives/2023/01/index.html @@ -0,0 +1,289 @@ +
一月 2023 | 兔兔博客🇨🇳 + + + + + + + + + + + +
文章总览 - 1
2023
新年快乐
新年快乐
avatar
🐟认真内卷中
兔兔博客🇨🇳
万事都要全力以赴,包括开心
前往小窝
公告栏
--- 主域名 ---
blog.tutuxka.eu.org
--- 备用域名 ---
netlify.tutuxka.eu.org🍧
微博热搜
小站资讯
文章数目 :
5
本站总字数 :
701
本站访客数 :
本站总访问量 :
最后更新时间 :
空降评论复制本文地址
随便逛逛昼夜切换关于博客美化设置切换全屏打印页面
\ No newline at end of file diff --git a/archives/2023/02/index.html b/archives/2023/02/index.html new file mode 100644 index 00000000..fcc93aa6 --- /dev/null +++ b/archives/2023/02/index.html @@ -0,0 +1,289 @@ +
二月 2023 | 兔兔博客🇨🇳 + + + + + + + + + + + +
文章总览 - 1
2023
hello-world
hello-world
avatar
🐟认真内卷中
兔兔博客🇨🇳
万事都要全力以赴,包括开心
前往小窝
公告栏
--- 主域名 ---
blog.tutuxka.eu.org
--- 备用域名 ---
netlify.tutuxka.eu.org🍧
微博热搜
小站资讯
文章数目 :
5
本站总字数 :
701
本站访客数 :
本站总访问量 :
最后更新时间 :
空降评论复制本文地址
随便逛逛昼夜切换关于博客美化设置切换全屏打印页面
\ No newline at end of file diff --git a/archives/2023/08/index.html b/archives/2023/08/index.html new file mode 100644 index 00000000..2c34de95 --- /dev/null +++ b/archives/2023/08/index.html @@ -0,0 +1,289 @@ +
八月 2023 | 兔兔博客🇨🇳 + + + + + + + + + + + +
文章总览 - 1
2023
地球online更新
地球online更新
avatar
🐟认真内卷中
兔兔博客🇨🇳
万事都要全力以赴,包括开心
前往小窝
公告栏
--- 主域名 ---
blog.tutuxka.eu.org
--- 备用域名 ---
netlify.tutuxka.eu.org🍧
微博热搜
小站资讯
文章数目 :
5
本站总字数 :
701
本站访客数 :
本站总访问量 :
最后更新时间 :
空降评论复制本文地址
随便逛逛昼夜切换关于博客美化设置切换全屏打印页面
\ No newline at end of file diff --git a/archives/2023/09/index.html b/archives/2023/09/index.html new file mode 100644 index 00000000..3e4e5906 --- /dev/null +++ b/archives/2023/09/index.html @@ -0,0 +1,289 @@ +
九月 2023 | 兔兔博客🇨🇳 + + + + + + + + + + + +
文章总览 - 1
2023
自建腾讯地理位置api
自建腾讯地理位置api
avatar
🐟认真内卷中
兔兔博客🇨🇳
万事都要全力以赴,包括开心
前往小窝
公告栏
--- 主域名 ---
blog.tutuxka.eu.org
--- 备用域名 ---
netlify.tutuxka.eu.org🍧
微博热搜
小站资讯
文章数目 :
5
本站总字数 :
701
本站访客数 :
本站总访问量 :
最后更新时间 :
空降评论复制本文地址
随便逛逛昼夜切换关于博客美化设置切换全屏打印页面
\ No newline at end of file diff --git a/archives/2023/index.html b/archives/2023/index.html new file mode 100644 index 00000000..dd06f8fe --- /dev/null +++ b/archives/2023/index.html @@ -0,0 +1,289 @@ +
2023 | 兔兔博客🇨🇳 + + + + + + + + + + + +
文章总览 - 4
2023
自建腾讯地理位置api
自建腾讯地理位置api
地球online更新
地球online更新
hello-world
hello-world
新年快乐
新年快乐
avatar
🐟认真内卷中
兔兔博客🇨🇳
万事都要全力以赴,包括开心
前往小窝
公告栏
--- 主域名 ---
blog.tutuxka.eu.org
--- 备用域名 ---
netlify.tutuxka.eu.org🍧
微博热搜
小站资讯
文章数目 :
5
本站总字数 :
701
本站访客数 :
本站总访问量 :
最后更新时间 :
空降评论复制本文地址
随便逛逛昼夜切换关于博客美化设置切换全屏打印页面
\ No newline at end of file diff --git a/archives/2024/07/index.html b/archives/2024/07/index.html new file mode 100644 index 00000000..76d0324b --- /dev/null +++ b/archives/2024/07/index.html @@ -0,0 +1,289 @@ +
七月 2024 | 兔兔博客🇨🇳 + + + + + + + + + + + +
文章总览 - 1
2024
记 QQ 无头机器人搭建教程
记 QQ 无头机器人搭建教程
avatar
🐟认真内卷中
兔兔博客🇨🇳
万事都要全力以赴,包括开心
前往小窝
公告栏
--- 主域名 ---
blog.tutuxka.eu.org
--- 备用域名 ---
netlify.tutuxka.eu.org🍧
微博热搜
小站资讯
文章数目 :
5
本站总字数 :
701
本站访客数 :
本站总访问量 :
最后更新时间 :
空降评论复制本文地址
随便逛逛昼夜切换关于博客美化设置切换全屏打印页面
\ No newline at end of file diff --git a/archives/2024/index.html b/archives/2024/index.html new file mode 100644 index 00000000..24172324 --- /dev/null +++ b/archives/2024/index.html @@ -0,0 +1,289 @@ +
2024 | 兔兔博客🇨🇳 + + + + + + + + + + + +
文章总览 - 1
2024
记 QQ 无头机器人搭建教程
记 QQ 无头机器人搭建教程
avatar
🐟认真内卷中
兔兔博客🇨🇳
万事都要全力以赴,包括开心
前往小窝
公告栏
--- 主域名 ---
blog.tutuxka.eu.org
--- 备用域名 ---
netlify.tutuxka.eu.org🍧
微博热搜
小站资讯
文章数目 :
5
本站总字数 :
701
本站访客数 :
本站总访问量 :
最后更新时间 :
空降评论复制本文地址
随便逛逛昼夜切换关于博客美化设置切换全屏打印页面
\ No newline at end of file diff --git a/archives/index.html b/archives/index.html new file mode 100644 index 00000000..78f8a70e --- /dev/null +++ b/archives/index.html @@ -0,0 +1,289 @@ +
归档 | 兔兔博客🇨🇳 + + + + + + + + + + + +
文章总览 - 5
2024
记 QQ 无头机器人搭建教程
记 QQ 无头机器人搭建教程
2023
自建腾讯地理位置api
自建腾讯地理位置api
地球online更新
地球online更新
hello-world
hello-world
新年快乐
新年快乐
avatar
🐟认真内卷中
兔兔博客🇨🇳
万事都要全力以赴,包括开心
前往小窝
公告栏
--- 主域名 ---
blog.tutuxka.eu.org
--- 备用域名 ---
netlify.tutuxka.eu.org🍧
微博热搜
小站资讯
文章数目 :
5
本站总字数 :
701
本站访客数 :
本站总访问量 :
最后更新时间 :
空降评论复制本文地址
随便逛逛昼夜切换关于博客美化设置切换全屏打印页面
\ No newline at end of file diff --git a/assets/404_1.jpg b/assets/404_1.jpg new file mode 100644 index 00000000..090be05d Binary files /dev/null and b/assets/404_1.jpg differ diff --git a/assets/QRCode.jpg b/assets/QRCode.jpg new file mode 100644 index 00000000..10aa1f42 Binary files /dev/null and b/assets/QRCode.jpg differ diff --git a/assets/avatar.webp b/assets/avatar.webp new file mode 100644 index 00000000..00c66964 Binary files /dev/null and b/assets/avatar.webp differ diff --git a/assets/c10.cur b/assets/c10.cur new file mode 100644 index 00000000..ae0ca6a0 Binary files /dev/null and b/assets/c10.cur differ diff --git a/assets/c11.cur b/assets/c11.cur new file mode 100644 index 00000000..e2464e63 Binary files /dev/null and b/assets/c11.cur differ diff --git a/assets/c3.cur b/assets/c3.cur new file mode 100644 index 00000000..65361508 Binary files /dev/null and b/assets/c3.cur differ diff --git a/assets/c4.cur b/assets/c4.cur new file mode 100644 index 00000000..995fd075 Binary files /dev/null and b/assets/c4.cur differ diff --git a/assets/c7.cur b/assets/c7.cur new file mode 100644 index 00000000..6be79f7c Binary files /dev/null and b/assets/c7.cur differ diff --git a/assets/c8.cur b/assets/c8.cur new file mode 100644 index 00000000..d457bdbb Binary files /dev/null and b/assets/c8.cur differ diff --git a/assets/c9.cur b/assets/c9.cur new file mode 100644 index 00000000..d90e4a7e Binary files /dev/null and b/assets/c9.cur differ diff --git a/assets/close.webp b/assets/close.webp new file mode 100644 index 00000000..2b7d16de Binary files /dev/null and b/assets/close.webp differ diff --git a/assets/coffee.png b/assets/coffee.png new file mode 100644 index 00000000..94a6e29a Binary files /dev/null and b/assets/coffee.png differ diff --git a/assets/gulp/404.jpg b/assets/gulp/404.jpg new file mode 100644 index 00000000..446a8bd3 Binary files /dev/null and b/assets/gulp/404.jpg differ diff --git a/assets/gulp/comment_bg.png b/assets/gulp/comment_bg.png new file mode 100644 index 00000000..1ce39384 Binary files /dev/null and b/assets/gulp/comment_bg.png differ diff --git a/assets/gulp/friend_404.gif b/assets/gulp/friend_404.gif new file mode 100644 index 00000000..8b2de5e7 Binary files /dev/null and b/assets/gulp/friend_404.gif differ diff --git a/assets/gulp/loading.gif b/assets/gulp/loading.gif new file mode 100644 index 00000000..e17ef6e3 Binary files /dev/null and b/assets/gulp/loading.gif differ diff --git a/assets/gulp/siteicon/128.png b/assets/gulp/siteicon/128.png new file mode 100644 index 00000000..94a6e29a Binary files /dev/null and b/assets/gulp/siteicon/128.png differ diff --git a/assets/gulp/siteicon/144.png b/assets/gulp/siteicon/144.png new file mode 100644 index 00000000..2fa3c828 Binary files /dev/null and b/assets/gulp/siteicon/144.png differ diff --git a/assets/gulp/siteicon/16.png b/assets/gulp/siteicon/16.png new file mode 100644 index 00000000..8d7ddb85 Binary files /dev/null and b/assets/gulp/siteicon/16.png differ diff --git a/assets/gulp/siteicon/192.png b/assets/gulp/siteicon/192.png new file mode 100644 index 00000000..77e1b42f Binary files /dev/null and b/assets/gulp/siteicon/192.png differ diff --git a/assets/gulp/siteicon/32.png b/assets/gulp/siteicon/32.png new file mode 100644 index 00000000..af10c213 Binary files /dev/null and b/assets/gulp/siteicon/32.png differ diff --git a/assets/gulp/siteicon/48.png b/assets/gulp/siteicon/48.png new file mode 100644 index 00000000..01416c56 Binary files /dev/null and b/assets/gulp/siteicon/48.png differ diff --git a/assets/gulp/siteicon/512.png b/assets/gulp/siteicon/512.png new file mode 100644 index 00000000..8700c496 Binary files /dev/null and b/assets/gulp/siteicon/512.png differ diff --git a/assets/gulp/siteicon/64.png b/assets/gulp/siteicon/64.png new file mode 100644 index 00000000..04c139d0 Binary files /dev/null and b/assets/gulp/siteicon/64.png differ diff --git a/assets/head.jpg b/assets/head.jpg new file mode 100644 index 00000000..00c66964 Binary files /dev/null and b/assets/head.jpg differ diff --git a/assets/loading2.gif b/assets/loading2.gif new file mode 100644 index 00000000..a1c65b03 Binary files /dev/null and b/assets/loading2.gif differ diff --git a/assets/loading3.gif b/assets/loading3.gif new file mode 100644 index 00000000..9448aec3 Binary files /dev/null and b/assets/loading3.gif differ diff --git a/assets/open.webp b/assets/open.webp new file mode 100644 index 00000000..7aaf729e Binary files /dev/null and b/assets/open.webp differ diff --git a/assets/pusheencode.webp b/assets/pusheencode.webp new file mode 100644 index 00000000..9ba51192 Binary files /dev/null and b/assets/pusheencode.webp differ diff --git a/assets/r1.jpg b/assets/r1.jpg new file mode 100644 index 00000000..00c66964 Binary files /dev/null and b/assets/r1.jpg differ diff --git a/assets/r2.jpg b/assets/r2.jpg new file mode 100644 index 00000000..446a8bd3 Binary files /dev/null and b/assets/r2.jpg differ diff --git a/assets/tutu.jpg b/assets/tutu.jpg new file mode 100644 index 00000000..0f6b7e91 Binary files /dev/null and b/assets/tutu.jpg differ diff --git a/assets/tutu.svg b/assets/tutu.svg new file mode 100644 index 00000000..f02a67b2 --- /dev/null +++ b/assets/tutu.svg @@ -0,0 +1 @@ +兔兔小屋: 科研摸鱼中🐟 \ No newline at end of file diff --git "a/assets/\345\260\217\345\261\213-\344\270\213\347\217\255\344\274\221\346\201\257\345\225\246.svg" "b/assets/\345\260\217\345\261\213-\344\270\213\347\217\255\344\274\221\346\201\257\345\225\246.svg" new file mode 100644 index 00000000..997765c3 --- /dev/null +++ "b/assets/\345\260\217\345\261\213-\344\270\213\347\217\255\344\274\221\346\201\257\345\225\246.svg" @@ -0,0 +1 @@ + \ No newline at end of file diff --git "a/assets/\350\220\214ICP\345\244\207-20232928-fe1384.svg" "b/assets/\350\220\214ICP\345\244\207-20232928-fe1384.svg" new file mode 100644 index 00000000..66cdc24b --- /dev/null +++ "b/assets/\350\220\214ICP\345\244\207-20232928-fe1384.svg" @@ -0,0 +1 @@ +萌ICP备: 20232928萌ICP备20232928 \ No newline at end of file diff --git a/atom.xml b/atom.xml new file mode 100644 index 00000000..4d09fab9 --- /dev/null +++ b/atom.xml @@ -0,0 +1,121 @@ + + + 兔兔博客🇨🇳 + + + + + + 2024-07-26T16:31:33.734Z + https://blog.tutuxka.eu.org/ + + + 兔兔博客🇨🇳 + + + + Hexo + + + 记 QQ 无头机器人搭建教程 + + https://blog.tutuxka.eu.org/posts/427ff66d.html + 2024-07-26T16:11:48.363Z + 2024-07-26T16:31:33.734Z + + First. 环境

电脑一枚, QQ 最新版,以及一个科学的上网环境,加一个灵活的双手

Second.电脑登入 QQ,并再手机上开启自动登入,然后退出 QQ(是退出程序,不是退出登入哈😊)

Than.下载最新版 QQ 无头框架 https://github.com/NapNeko/NapCatQQ-Desktop/releases,然后启动,点击 Napcat,点击下载,然后等待下载完成,然后添加机器人,名称随便写,机器人 QQ 号就填你刚才电脑登入的那个 QQ 号,其他的不用管,点击连接配置,点击 websocket 服务,点击启用,主机填 127.0.0.1,端口填 6700,最后点击添加到机器人列表,启动,便可以了,后续可自行对接插件

]]>
+ + + 这篇文章介绍了使用电脑,QQ最新版和科学上网环境进行某种操作或活动的相关内容。 + + + + + + +
+ + + 自建腾讯地理位置api + + https://blog.tutuxka.eu.org/posts/4ecf8221.html + 2023-09-30T06:00:16.604Z + 2024-01-31T02:29:01.681Z + + 祝大家双节快乐,这里分享一下怎么自己搭建博客首页的地理位置欢迎api

首先你要有一个vercel的账号,没有的可以自行百度注册一个

然后点击部署

部署

部署成功和可以自己换一个域名,根据页面内的教程替换代码便可以了。

]]>
+ + + 这篇文章介绍了如何搭建博客首页的地理位置欢迎API,并祝大家双节快乐。文章内容涉及了博客首页地理位置欢迎API的搭建方法。 + + + + + + +
+ + + 地球online更新 + + https://blog.tutuxka.eu.org/posts/fae67b61.html + 2023-08-24T06:58:29.337Z + 2024-01-26T03:02:44.294Z + + 地球onile将在8.24日00:00分进行版本更新并将于12点开服

更新内容:新增核废水太平洋

主线任务:活到成年

更新团队:🇯🇵

更新计划:制造哥斯拉

更新内容尽情期待

停服补偿:奇异海鲜及墓碑蓝图一份

PS:可能由于网络(天气)延迟,导致开服时间推后

——地球onile运营团队

《地球online》更新预告

亲爱的玩家你好:

本次更新于8月24日早上7~10点,系统检测到《地球online》玩家对海洋的探索进度低于30%做出此不关服更新

新增:

绿色的海洋 本次海洋拥有全新元素与新的生物和新的文明遗址

地球OL要迎来新的赛季“辐射”

1.添加了新的地形“被污染的海”“被污染的土地”

2.给人物增添了新的健康条“辐射值”

3.盖格计数器被新增词条“必需品”“任务”

4.新增词条“辐射”“被污染”

5.更多的DNA分支

6.将更新大部分设施

7.削弱全体玩家

8.将“防护服”归为平民用品

以上是赛季“辐射”的更新内容

祝各位玩家游戏愉快😋

]]>
+ + + 这篇文章介绍了地球online游戏即将进行版本更新和开服的消息。更新和开服时间分别为8月24日的00:00和12:00。 + + + + + + + + +
+ + + hello-world + + https://blog.tutuxka.eu.org/posts/b1d4025b.html + 2023-02-09T07:03:35.724Z + 2024-08-20T09:53:18.002Z + + Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.

Quick Start

Create a new post

1
$ hexo new "My New Post"

More info: Writing

Run server

1
$ hexo server

More info: Server

Generate static files

1
$ hexo generate

More info: Generating

Deploy to remote sites

1
$ hexo deploy

More info: Deployment

]]>
+ + + + + <p>Welcome to <a href="https://hexo.io/">Hexo</a>! This is your very first post. Check <a href="https://hexo.io/docs/">documentation</a> for + + + + + +
+ + + 新年快乐 + + https://blog.tutuxka.eu.org/posts/2b9cc7eb.html + 2023-01-29T17:04:42.000Z + 2023-01-29T17:04:47.000Z + + 祝大家新年快乐吧,虽然年已经过完了,但还是要记录一下的

]]>
+ + + + + <p>祝大家新年快乐吧,虽然年已经过完了,但还是要记录一下的</p> + + + + + + + + +
+ +
diff --git a/baidusitemap.xml b/baidusitemap.xml new file mode 100644 index 00000000..4efcccf3 --- /dev/null +++ b/baidusitemap.xml @@ -0,0 +1,23 @@ + + + + https://blog.tutuxka.eu.org/posts/b1d4025b.html + 2024-08-20 + + + https://blog.tutuxka.eu.org/posts/427ff66d.html + 2024-07-26 + + + https://blog.tutuxka.eu.org/posts/4ecf8221.html + 2024-01-31 + + + https://blog.tutuxka.eu.org/posts/fae67b61.html + 2024-01-26 + + + https://blog.tutuxka.eu.org/posts/2b9cc7eb.html + 2023-01-29 + + \ No newline at end of file diff --git a/bangumis/index.html b/bangumis/index.html new file mode 100644 index 00000000..ebcfed3e --- /dev/null +++ b/bangumis/index.html @@ -0,0 +1,339 @@ +
bangumis | 兔兔博客🇨🇳 + + + + + + + + + + + + + +

评论
avatar
🐟认真内卷中
兔兔博客🇨🇳
万事都要全力以赴,包括开心
前往小窝
公告栏
--- 主域名 ---
blog.tutuxka.eu.org
--- 备用域名 ---
netlify.tutuxka.eu.org🍧
微博热搜
小站资讯
文章数目 :
5
本站总字数 :
701
本站访客数 :
本站总访问量 :
最后更新时间 :
空降评论复制本文地址
随便逛逛昼夜切换关于博客美化设置切换全屏打印页面
\ No newline at end of file diff --git a/categories/index.html b/categories/index.html new file mode 100644 index 00000000..f7e7dbdd --- /dev/null +++ b/categories/index.html @@ -0,0 +1,291 @@ +
分类 | 兔兔博客🇨🇳 + + + + + + + + + + + + + +
avatar
🐟认真内卷中
兔兔博客🇨🇳
万事都要全力以赴,包括开心
前往小窝
公告栏
--- 主域名 ---
blog.tutuxka.eu.org
--- 备用域名 ---
netlify.tutuxka.eu.org🍧
微博热搜
小站资讯
文章数目 :
5
本站总字数 :
701
本站访客数 :
本站总访问量 :
最后更新时间 :
空降评论复制本文地址
随便逛逛昼夜切换关于博客美化设置切换全屏打印页面
\ No newline at end of file diff --git "a/categories/\346\212\200\346\234\257\346\225\231\347\250\213/index.html" "b/categories/\346\212\200\346\234\257\346\225\231\347\250\213/index.html" new file mode 100644 index 00000000..0adda5da --- /dev/null +++ "b/categories/\346\212\200\346\234\257\346\225\231\347\250\213/index.html" @@ -0,0 +1,289 @@ +
分类: 技术教程 | 兔兔博客🇨🇳 + + + + + + + + + + + +
分类 - 技术教程
2023
自建腾讯地理位置api
自建腾讯地理位置api
avatar
🐟认真内卷中
兔兔博客🇨🇳
万事都要全力以赴,包括开心
前往小窝
公告栏
--- 主域名 ---
blog.tutuxka.eu.org
--- 备用域名 ---
netlify.tutuxka.eu.org🍧
微博热搜
小站资讯
文章数目 :
5
本站总字数 :
701
本站访客数 :
本站总访问量 :
最后更新时间 :
空降评论复制本文地址
随便逛逛昼夜切换关于博客美化设置切换全屏打印页面
\ No newline at end of file diff --git "a/categories/\347\224\237\346\264\273\347\202\271\346\273\264/index.html" "b/categories/\347\224\237\346\264\273\347\202\271\346\273\264/index.html" new file mode 100644 index 00000000..5cd389bb --- /dev/null +++ "b/categories/\347\224\237\346\264\273\347\202\271\346\273\264/index.html" @@ -0,0 +1,289 @@ +
分类: 生活点滴 | 兔兔博客🇨🇳 + + + + + + + + + + + +
分类 - 生活点滴
2023
新年快乐
新年快乐
avatar
🐟认真内卷中
兔兔博客🇨🇳
万事都要全力以赴,包括开心
前往小窝
公告栏
--- 主域名 ---
blog.tutuxka.eu.org
--- 备用域名 ---
netlify.tutuxka.eu.org🍧
微博热搜
小站资讯
文章数目 :
5
本站总字数 :
701
本站访客数 :
本站总访问量 :
最后更新时间 :
空降评论复制本文地址
随便逛逛昼夜切换关于博客美化设置切换全屏打印页面
\ No newline at end of file diff --git a/comments/index.html b/comments/index.html new file mode 100644 index 00000000..0901a9a7 --- /dev/null +++ b/comments/index.html @@ -0,0 +1,416 @@ +
留言板 | 兔兔博客🇨🇳 + + + + + + + + + + + +

来自兔兔博客🇨🇳的留言:

本站有哪些做得好或者不好的地方?
或者你有什么改进的建议?
又或者你有什么具体的问题需要咨询?
都可以在下方评论区留言哦~~~

兔兔小站站长亲自为您服务!


评论
avatar
🐟认真内卷中
兔兔博客🇨🇳
万事都要全力以赴,包括开心
前往小窝
公告栏
--- 主域名 ---
blog.tutuxka.eu.org
--- 备用域名 ---
netlify.tutuxka.eu.org🍧
微博热搜
小站资讯
文章数目 :
5
本站总字数 :
701
本站访客数 :
本站总访问量 :
最后更新时间 :
空降评论复制本文地址
随便逛逛昼夜切换关于博客美化设置切换全屏打印页面
\ No newline at end of file diff --git a/css/coin.css b/css/coin.css new file mode 100644 index 00000000..8f7a3f26 --- /dev/null +++ b/css/coin.css @@ -0,0 +1,190 @@ +.tip-button { + border: 0; + border-radius: 0.25rem; + cursor: pointer; + font-size: 20px; + font-weight: 600; + height: 2.6rem; + margin-bottom: -4rem; + outline: 0; + position: relative; + top: 0; + transform-origin: 0% 100%; + transition: transform 50ms ease-in-out; + width: auto; + -webkit-tap-highlight-color: transparent; +} +.tip-button:active { + transform: rotate(4deg); +} +.tip-button.clicked { + animation: 150ms ease-in-out 1 shake; + pointer-events: none; +} +.tip-button.clicked .tip-button__text { + opacity: 0; + transition: opacity 100ms linear 200ms; +} +.tip-button.clicked::before { + height: 0.5rem; + width: 60%; + background: var(button-hover-color); +} +.tip-button.clicked .coin { + transition: margin-bottom 1s linear 200ms; + margin-bottom: 0; +} +.tip-button.shrink-landing::before { + transition: width 200ms ease-in; + width: 0; +} +.tip-button.coin-landed::after { + opacity: 1; + transform: scale(1); + transform-origin: 50% 100%; +} +.tip-button.coin-landed .coin-wrapper { + background: radial-gradient(circle at 35% 97%, rgba(3, 16, 50, 0.4) 0.04rem, transparent 0.04rem), radial-gradient(circle at 45% 92%, rgba(3, 16, 50, 0.4) 0.04rem, transparent 0.02rem), radial-gradient(circle at 55% 98%, rgba(3, 16, 50, 0.4) 0.04rem, transparent 0.04rem), radial-gradient(circle at 65% 96%, rgba(3, 16, 50, 0.4) 0.06rem, transparent 0.06rem); + background-position: center bottom; + background-size: 100%; + bottom: -1rem; + opacity: 0; + transform: scale(2) translateY(-10px); +} +.tip-button__text { + color: #fff; + margin-right: 1.8rem; + opacity: 1; + position: relative; + transition: opacity 100ms linear 500ms; + z-index: 3; +} +.tip-button::before { + border-radius: 0.25rem; + bottom: 0; + content: ''; + display: block; + height: 100%; + left: 50%; + position: absolute; + transform: translateX(-50%); + transition: height 250ms ease-in-out 400ms, width 250ms ease-in-out 300ms; + width: 100%; + z-index: 2; +} +.tip-button::after { + bottom: -1rem; + color: white; + content: 'ヾ(≧O≦)〃嗷~'; /*点击后显示的内容*/ + height: 110%; + left: 0; + opacity: 0; + position: absolute; + pointer-events: none; + text-align: center; + transform: scale(0); + transform-origin: 50% 20%; + transition: transform 200ms cubic-bezier(0, 0, 0.35, 1.43); + width: 100%; + z-index: 1; +} + +.coin-wrapper { + background: none; + bottom: 0; + height: 18rem; + left: 0; + opacity: 1; + overflow: hidden; + pointer-events: none; + position: absolute; + transform: none; + transform-origin: 50% 100%; + transition: opacity 200ms linear 100ms, transform 300ms ease-out; + width: 100%; +} + +.coin { + --front-y-multiplier: 0; + --back-y-multiplier: 0; + --coin-y-multiplier: 0; + --coin-x-multiplier: 0; + --coin-scale-multiplier: 0; + --coin-rotation-multiplier: 0; + --shine-opacity-multiplier: 0.4; + --shine-bg-multiplier: 50%; + bottom: calc(var(--coin-y-multiplier) * 1rem - 3.5rem); + height: 3.5rem; + margin-bottom: 3.05rem; + position: absolute; + right: calc(var(--coin-x-multiplier) * 34% + 16%); + transform: translateX(50%) scale(calc(0.4 + var(--coin-scale-multiplier))) rotate(calc(var(--coin-rotation-multiplier) * -1deg)); + transition: opacity 100ms linear 200ms; + width: 3.5rem; + z-index: 3; +} +.coin__front, .coin__middle, .coin__back, .coin::before, .coin__front::after, .coin__back::after { + border-radius: 50%; + box-sizing: border-box; + height: 100%; + left: 0; + position: absolute; + width: 100%; + z-index: 3; +} +.coin__front { + background: radial-gradient(circle at 50% 50%, transparent 50%, rgba(115, 124, 153, 0.4) 54%, #c2cadf 54%), linear-gradient(210deg, #8590b3 32%, transparent 32%), linear-gradient(150deg, #8590b3 32%, transparent 32%), linear-gradient(to right, #8590b3 22%, transparent 22%, transparent 78%, #8590b3 78%), linear-gradient(to bottom, #fcfaf9 44%, transparent 44%, transparent 65%, #fcfaf9 65%, #fcfaf9 71%, #8590b3 71%), linear-gradient(to right, transparent 28%, #fcfaf9 28%, #fcfaf9 34%, #8590b3 34%, #8590b3 40%, #fcfaf9 40%, #fcfaf9 47%, #8590b3 47%, #8590b3 53%, #fcfaf9 53%, #fcfaf9 60%, #8590b3 60%, #8590b3 66%, #fcfaf9 66%, #fcfaf9 72%, transparent 72%); + background-color: #8590b3; + background-size: 100% 100%; + transform: translateY(calc(var(--front-y-multiplier) * 0.3181818182rem / 2)) scaleY(var(--front-scale-multiplier)); +} +.coin__front::after { + background: rgba(0, 0, 0, 0.2); + content: ''; + opacity: var(--front-y-multiplier); +} +.coin__middle { + background: #737c99; + transform: translateY(calc(var(--middle-y-multiplier) * 0.3181818182rem / 2)) scaleY(var(--middle-scale-multiplier)); +} +.coin__back { + background: radial-gradient(circle at 50% 50%, transparent 50%, rgba(115, 124, 153, 0.4) 54%, #c2cadf 54%), radial-gradient(circle at 50% 40%, #fcfaf9 23%, transparent 23%), radial-gradient(circle at 50% 100%, #fcfaf9 35%, transparent 35%); + background-color: #8590b3; + background-size: 100% 100%; + transform: translateY(calc(var(--back-y-multiplier) * 0.3181818182rem / 2)) scaleY(var(--back-scale-multiplier)); +} +.coin__back::after { + background: rgba(0, 0, 0, 0.2); + content: ''; + opacity: var(--back-y-multiplier); +} +.coin::before { + background: radial-gradient(circle at 25% 65%, transparent 50%, rgba(255, 255, 255, 0.9) 90%), linear-gradient(55deg, transparent calc(var(--shine-bg-multiplier) + 0%), #e9f4ff calc(var(--shine-bg-multiplier) + 0%), transparent calc(var(--shine-bg-multiplier) + 50%)); + content: ''; + opacity: var(--shine-opacity-multiplier); + transform: translateY(calc(var(--middle-y-multiplier) * 0.3181818182rem / -2)) scaleY(var(--middle-scale-multiplier)) rotate(calc(var(--coin-rotation-multiplier) * 1deg)); + z-index: 10; +} +.coin::after { + background: #737c99; + content: ''; + height: 0.3181818182rem; + left: 0; + position: absolute; + top: 50%; + transform: translateY(-50%); + width: 100%; + z-index: 2; +} + +@keyframes shake { + 0% { + transform: rotate(4deg); + } + 66% { + transform: rotate(-4deg); + } + 100% { + transform: rotate(); + } +} \ No newline at end of file diff --git a/css/hbe.style.css b/css/hbe.style.css new file mode 100644 index 00000000..060f1f83 --- /dev/null +++ b/css/hbe.style.css @@ -0,0 +1,749 @@ +.hbe, +.hbe:after, +.hbe:before { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +.hbe-container{ + margin: 0 auto; + overflow: hidden; +} +.hbe-content { + text-align: center; + font-size: 150%; + padding: 1em 0; +} + +.hbe-input { + position: relative; + z-index: 1; + display: inline-block; + margin: 1em; + width: 80%; + min-width: 200px; + vertical-align: top; +} + +.hbe-input-field { + line-height: normal; + font-size: 100%; + margin: 0; + position: relative; + display: block; + float: right; + padding: 0.8em; + width: 60%; + border: none; + border-radius: 0; + background: #f0f0f0; + color: #aaa; + font-weight: 400; + font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif; + -webkit-appearance: none; /* for box shadows to show on iOS */ +} + +.hbe-input-field:focus { + outline: none; +} + +.hbe-input-label { + display: inline-block; + float: right; + padding: 0 1em; + width: 40%; + color: #696969; + font-weight: bold; + font-size: 70.25%; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.hbe-input-label-content { + position: relative; + display: block; + padding: 1.6em 0; + width: 100%; +} + +.hbe-graphic { + position: absolute; + top: 0; + left: 0; + fill: none; +} + +/* hbe button in post page */ +.hbe-button { + width: 130px; + height: 40px; + background: linear-gradient(to bottom, #4eb5e5 0%,#389ed5 100%); /* W3C */ + border: none; + border-radius: 5px; + position: relative; + border-bottom: 4px solid #2b8bc6; + color: #fbfbfb; + font-weight: 600; + font-family: 'Open Sans', sans-serif; + text-shadow: 1px 1px 1px rgba(0,0,0,.4); + font-size: 15px; + text-align: left; + text-indent: 5px; + box-shadow: 0px 3px 0px 0px rgba(0,0,0,.2); + cursor: pointer; + + display: block; + margin: 0 auto; + margin-bottom: 20px; +} + +.hbe-button:active { + box-shadow: 0px 2px 0px 0px rgba(0,0,0,.2); + top: 1px; +} + +.hbe-button:after { + content: ""; + width: 0; + height: 0; + display: block; + border-top: 20px solid #187dbc; + border-bottom: 20px solid #187dbc; + border-left: 16px solid transparent; + border-right: 20px solid #187dbc; + position: absolute; + opacity: 0.6; + right: 0; + top: 0; + border-radius: 0 5px 5px 0; +} +/* hbe button in post page */ + +/* default theme {{{ */ +.hbe-input-default { + overflow: hidden; +} + +.hbe-input-field-default { + width: 100%; + background: transparent; + padding: 0.5em; + margin-bottom: 2em; + color: #f9f7f6; + z-index: 100; + opacity: 0; +} + +.hbe-input-label-default { + width: 100%; + position: absolute; + text-align: left; + padding: 0.5em 0; + pointer-events: none; + font-size: 1em; +} + +.hbe-input-label-default::before, +.hbe-input-label-default::after { + content: ''; + position: absolute; + width: 100%; + left: 0; +} + +.hbe-input-label-default::before { + height: 100%; + background: #666666; + top: 0; + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + -webkit-transition: -webkit-transform 0.2s; + transition: transform 0.2s; +} + +.hbe-input-label-default::after { + height: 2px; + background: #666666; + top: 100%; + -webkit-transition: opacity 0.2s; + transition: opacity 0.2s; +} + +.hbe-input-label-content-default { + padding: 0; + -webkit-transform-origin: 0 0; + transform-origin: 0 0; + -webkit-transition: -webkit-transform 0.2s, color 0.2s; + transition: transform 0.2s, color 0.2s; +} + +.hbe-input-field-default:focus, +.hbe-input--filled .hbe-input-field-default { + opacity: 1; + -webkit-transition: opacity 0s 0.2s; + transition: opacity 0s 0.2s; +} + +.hbe-input-label-default::before, +.hbe-input-label-default::after, +.hbe-input-label-content-default, +.hbe-input-field-default:focus, +.hbe-input--filled .hbe-input-field-default { + -webkit-transition-timing-function: cubic-bezier(0, 0.25, 0.5, 1); + transition-timing-function: cubic-bezier(0, 0.25, 0.5, 1); +} + +.hbe-input-field-default:focus + .hbe-input-label-default::before, +.hbe-input--filled .hbe-input-label-default::before { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); +} + +.hbe-input-field-default:focus + .hbe-input-label-default::after, +.hbe-input--filled .hbe-input-label-default::after { + opacity: 0; +} + +.hbe-input-field-default:focus + .hbe-input-label-default .hbe-input-label-content-default, +.hbe-input--filled .hbe-input-label-default .hbe-input-label-content-default { + color: #555555; + -webkit-transform: translate3d(0, 2.1em, 0) scale3d(0.65, 0.65, 1); + transform: translate3d(0, 2.1em, 0) scale3d(0.65, 0.65, 1); +} +/* default theme }}} */ + +/* up theme {{{ */ +.hbe-input-up { + overflow: hidden; + padding-top: 2em; +} + +.hbe-input-field-up { + width: 100%; + background: transparent; + opacity: 0; + padding: 0.35em; + z-index: 100; + color: #837482; +} + +.hbe-input-label-up { + width: 100%; + bottom: 0; + position: absolute; + pointer-events: none; + text-align: left; + color: #8E9191; + padding: 0 0.5em; +} + +.hbe-input-label-up::before { + content: ''; + position: absolute; + width: 100%; + height: 4em; + top: 100%; + left: 0; + background: #fff; + border-top: 4px solid #9B9F9F; + -webkit-transform: translate3d(0, -3px, 0); + transform: translate3d(0, -3px, 0); + -webkit-transition: -webkit-transform 0.4s; + transition: transform 0.4s; + -webkit-transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1); + transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1); +} + +.hbe-input-label-content-up { + padding: 0.5em 0; + -webkit-transform-origin: 0% 100%; + transform-origin: 0% 100%; + -webkit-transition: -webkit-transform 0.4s, color 0.4s; + transition: transform 0.4s, color 0.4s; + -webkit-transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1); + transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1); +} + +.hbe-input-field-up:focus, +.input--filled .hbe-input-field-up { + cursor: text; + opacity: 1; + -webkit-transition: opacity 0s 0.4s; + transition: opacity 0s 0.4s; +} + +.hbe-input-field-up:focus + .hbe-input-label-up::before, +.input--filled .hbe-input-label-up::before { + -webkit-transition-delay: 0.05s; + transition-delay: 0.05s; + -webkit-transform: translate3d(0, -3.3em, 0); + transform: translate3d(0, -3.3em, 0); +} + +.hbe-input-field-up:focus + .hbe-input-label-up .hbe-input-label-content-up, +.input--filled .hbe-input-label-content-up { + color: #6B6E6E; + -webkit-transform: translate3d(0, -3.3em, 0) scale3d(0.81, 0.81, 1); + transform: translate3d(0, -3.3em, 0) scale3d(0.81, 0.81, 1); +} +/* up theme }}} */ + +/* wave theme {{{ */ +.hbe-input-wave { + overflow: hidden; + padding-top: 1em; +} + +.hbe-input-field-wave { + padding: 0.5em 0em 0.25em; + width: 100%; + background: transparent; + color: #9da8b2; + font-size: 1.25em; +} + +.hbe-input-label-wave { + position: absolute; + top: 0.95em; + font-size: 0.85em; + left: 0; + display: block; + width: 100%; + text-align: left; + padding: 0em; + pointer-events: none; + -webkit-transform-origin: 0 0; + transform-origin: 0 0; + -webkit-transition: -webkit-transform 0.2s 0.15s, color 1s; + transition: transform 0.2s 0.15s, color 1s; + -webkit-transition-timing-function: ease-out; + transition-timing-function: ease-out; +} + +.hbe-graphic-wave { + stroke: #92989e; + pointer-events: none; + -webkit-transition: -webkit-transform 0.7s, stroke 0.7s; + transition: transform 0.7s, stroke 0.7s; + -webkit-transition-timing-function: cubic-bezier(0, 0.25, 0.5, 1); + transition-timing-function: cubic-bezier(0, 0.25, 0.5, 1); +} + +.hbe-input-field-wave:focus + .hbe-input-label-wave, +.input--filled .hbe-input-label-wave { + color: #333; + -webkit-transform: translate3d(0, -1.25em, 0) scale3d(0.75, 0.75, 1); + transform: translate3d(0, -1.25em, 0) scale3d(0.75, 0.75, 1); +} + +.hbe-input-field-wave:focus ~ .hbe-graphic-wave, +.input--filled .graphic-wave { + stroke: #333; + -webkit-transform: translate3d(-66.6%, 0, 0); + transform: translate3d(-66.6%, 0, 0); +} +/* wave theme }}} */ + +/* flip theme {{{ */ +.hbe-input-field-flip { + width: 100%; + background-color: #d0d1d0; + border: 2px solid transparent; + -webkit-transition: background-color 0.25s, border-color 0.25s; + transition: background-color 0.25s, border-color 0.25s; +} + +.hbe-input-label-flip { + width: 100%; + text-align: left; + position: absolute; + bottom: 100%; + pointer-events: none; + overflow: hidden; + padding: 0 1.25em; + -webkit-transform: translate3d(0, 3em, 0); + transform: translate3d(0, 3em, 0); + -webkit-transition: -webkit-transform 0.25s; + transition: transform 0.25s ; + -webkit-transition-timing-function: ease-in-out; + transition-timing-function: ease-in-out; +} + +.hbe-input-label-content-flip { + color: #8B8C8B; + padding: 0.25em 0; + -webkit-transition: -webkit-transform 0.25s; + transition: transform 0.25s; + -webkit-transition-timing-function: ease-in-out; + transition-timing-function: ease-in-out; +} + +.hbe-input-label-content-flip::after { + content: attr(data-content); + position: absolute; + font-weight: 800; + bottom: 100%; + left: 0; + height: 100%; + width: 100%; + color: #666666; + padding: 0.25em 0; + letter-spacing: 1px; + font-size: 1em; +} + +.hbe-input-field-flip:focus + .hbe-input-label-flip, +.input--filled .hbe-input-label-flip { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); +} + +.hbe-input-field-flip:focus + .hbe-input-label-flip .hbe-input-label-content-flip, +.input--filled .hbe-input-label-content-flip { + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); +} + +.hbe-input-field-flip:focus + .hbe-input-field-flip, +.input--filled .hbe-input-field-flip { + background-color: transparent; + border-color: #666666; +} +/* flip theme }}} */ + +/* xray theme {{{ */ +.hbe-input-xray { + overflow: hidden; + padding-bottom: 2.5em; +} + +.hbe-input-field-xray { + padding: 0; + margin-top: 1.2em; + width: 100%; + background: transparent; + color: #84AF9B ; + font-size: 1.55em; +} + +.hbe-input-label-xray { + position: absolute; + top: 2em; + left: 0; + display: block; + width: 100%; + text-align: left; + padding: 0em; + letter-spacing: 1px; + color: #84AF9B ; + pointer-events: none; + -webkit-transform-origin: 0 0; + transform-origin: 0 0; + -webkit-transition: -webkit-transform 0.2s 0.1s, color 0.3s; + transition: transform 0.2s 0.1s, color 0.3s; + -webkit-transition-timing-function: ease-out; + transition-timing-function: ease-out; +} + +.hbe-graphic-xray { + stroke: #84AF9B ; + pointer-events: none; + stroke-width: 2px; + top: 1.25em; + bottom: 0px; + height: 3.275em; + -webkit-transition: -webkit-transform 0.7s, stroke 0.7s; + transition: transform 0.7s, stroke 0.7s; + -webkit-transition-timing-function: cubic-bezier(0, 0.25, 0.5, 1); + transition-timing-function: cubic-bezier(0, 0.25, 0.5, 1); +} + +.hbe-input-field-xray:focus + .hbe-input-label-xray, +.input--filled .hbe-input-label-xray { + color: #84AF9B ; + -webkit-transform: translate3d(0, 3.5em, 0) scale3d(0.85, 0.85, 1); + transform: translate3d(0, 3.5em, 0) scale3d(0.85, 0.85, 1); +} + +.hbe-input-field-xray:focus ~ .hbe-graphic-xray, +.input--filled .graphic-xray { + stroke: #84AF9B ; + -webkit-transform: translate3d(-66.6%, 0, 0); + transform: translate3d(-66.6%, 0, 0); +} +/* xray theme }}} */ + +/* blink theme {{{ */ +.hbe-input-blink { + padding-top: 1em; +} + +.hbe-input-field-blink { + width: 100%; + padding: 0.8em 0.5em; + background: transparent; + border: 2px solid; + color: #8781bd; + -webkit-transition: border-color 0.25s; + transition: border-color 0.25s; +} + +.hbe-input-label-blink { + width: 100%; + position: absolute; + top: 0; + text-align: left; + overflow: hidden; + padding: 0; + pointer-events: none; + -webkit-transform: translate3d(0, 3em, 0); + transform: translate3d(0, 3em, 0); +} + +.hbe-input-label-content-blink { + padding: 0 1em; + font-weight: 400; + color: #b5b5b5; +} + +.hbe-input-label-content-blink::after { + content: attr(data-content); + position: absolute; + top: -200%; + left: 0; + color: #8781bd ; + font-weight: 800; +} + +.hbe-input-field-blink:focus, +.input--filled .hbe-input-field-blink { + border-color: #8781bd ; +} + +.hbe-input-field-blink:focus + .hbe-input-label-blink, +.input--filled .hbe-input-label-blink { + -webkit-animation: anim-blink-1 0.25s forwards; + animation: anim-blink-1 0.25s forwards; +} + +.hbe-input-field-blink:focus + .hbe-input-label-blink .hbe-input-label-content-blink, +.input--filled .hbe-input-label-content-blink { + -webkit-animation: anim-blink-2 0.25s forwards ease-in; + animation: anim-blink-2 0.25s forwards ease-in; +} + +@-webkit-keyframes anim-blink-1 { + 0%, 70% { + -webkit-transform: translate3d(0, 3em, 0); + transform: translate3d(0, 3em, 0); + } + 71%, 100% { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@-webkit-keyframes anim-blink-2 { + 0% { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + 70%, 71% { + -webkit-transform: translate3d(0, 125%, 0); + transform: translate3d(0, 125%, 0); + opacity: 0; + -webkit-animation-timing-function: ease-out; + } + 100% { + color: transparent; + -webkit-transform: translate3d(0, 200%, 0); + transform: translate3d(0, 200%, 0); + } +} + +@keyframes anim-blink-1 { + 0%, 70% { + -webkit-transform: translate3d(0, 3em, 0); + transform: translate3d(0, 3em, 0); + } + 71%, 100% { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes anim-blink-2 { + 0% { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + 70%, 71% { + -webkit-transform: translate3d(0, 125%, 0); + transform: translate3d(0, 125%, 0); + opacity: 0; + -webkit-animation-timing-function: ease-out; + } + 100% { + color: transparent; + -webkit-transform: translate3d(0, 200%, 0); + transform: translate3d(0, 200%, 0); + } +} +/* blink theme }}} */ + +/* surge theme {{{ */ +.hbe-input-surge { + overflow: hidden; + padding-bottom: 1em; +} + +.hbe-input-field-surge { + padding: 0.25em 0.5em; + margin-top: 1.25em; + width: 100%; + background: transparent; + color: #D0D0D0; + font-size: 1.55em; + opacity: 0; +} + +.hbe-input-label-surge { + width: 100%; + text-align: left; + position: absolute; + top: 1em; + pointer-events: none; + overflow: hidden; + padding: 0 0.25em; + -webkit-transform: translate3d(1em, 2.75em, 0); + transform: translate3d(1em, 2.75em, 0); + -webkit-transition: -webkit-transform 0.3s; + transition: transform 0.3s; +} + +.hbe-input-label-content-surge { + color: #A4A5A6; + padding: 0.4em 0 0.25em; + -webkit-transition: -webkit-transform 0.3s; + transition: transform 0.3s; +} + +.hbe-input-label-content-surge::after { + content: attr(data-content); + position: absolute; + font-weight: 800; + top: 100%; + left: 0; + height: 100%; + width: 100%; + color: #2C3E50; + padding: 0.25em 0; + letter-spacing: 1px; + font-size: 0.85em; +} + +.hbe-graphic-surge { + fill: #2C3E50; + pointer-events: none; + top: 1em; + bottom: 0px; + height: 4.5em; + z-index: -1; + -webkit-transition: -webkit-transform 0.7s, fill 0.7s; + transition: transform 0.7s, fill 0.7s; + -webkit-transition-timing-function: cubic-bezier(0, 0.25, 0.5, 1); + transition-timing-function: cubic-bezier(0, 0.25, 0.5, 1); +} + +.hbe-input-field-surge:focus, +.input--filled .hbe-input-field-surge { + -webkit-transition: opacity 0s 0.35s; + transition: opacity 0s 0.35s; + opacity: 1; +} + +.hbe-input-field-surge:focus + .hbe-input-label-surge, +.input--filled .hbe-input-label-surge { + -webkit-transition-delay: 0.15s; + transition-delay: 0.15s; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); +} + +.hbe-input-field-surge:focus + .hbe-input-label-surge .hbe-input-label-content-surge, +.input--filled .hbe-input-label-content-surge { + -webkit-transition-delay: 0.15s; + transition-delay: 0.15s; + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); +} + +.hbe-input-field-surge:focus ~ .hbe-graphic-surge, +.input--filled .graphic-surge { + fill: #2C3E50; + -webkit-transform: translate3d(-66.6%, 0, 0); + transform: translate3d(-66.6%, 0, 0); +} +/* surge theme }}} */ + +/* shrink theme {{{ */ +.hbe-input-field-shrink { + width: 100%; + background: transparent; + padding: 0.5em 0; + margin-bottom: 2em; + color: #2C3E50; +} + +.hbe-input-label-shrink { + width: 100%; + position: absolute; + text-align: left; + font-size: 1em; + padding: 10px 0 5px; + pointer-events: none; +} + +.hbe-input-label-shrink::after { + content: ''; + position: absolute; + width: 100%; + height: 7px; + background: #B7C3AC; + left: 0; + top: 100%; + -webkit-transform-origin: 50% 100%; + transform-origin: 50% 100%; + -webkit-transition: -webkit-transform 0.3s, background-color 0.3s; + transition: transform 0.3s, background-color 0.3s; +} + +.hbe-input-label-content-shrink { + padding: 0; + -webkit-transform-origin: 0 0; + transform-origin: 0 0; + -webkit-transition: -webkit-transform 0.3s, color 0.3s; + transition: transform 0.3s, color 0.3s; +} + +.hbe-input-field-shrink:focus + .hbe-input-label-shrink::after, +.input--filled .hbe-input-label-shrink::after { + background: #84AF9B; + -webkit-transform: scale3d(1, 0.25, 1); + transform: scale3d(1, 0.25, 1); +} + +.hbe-input-field-shrink:focus + .hbe-input-label-shrink .hbe-input-label-content-shrink, +.input--filled .hbe-input-label-shrink .hbe-input-label-content-shrink { + color: #84AF9B; + -webkit-transform: translate3d(0, 2em, 0) scale3d(0.655, 0.655, 1); + transform: translate3d(0, 2em, 0) scale3d(0.655, 0.655, 1); +} +/* shrink theme }}} */ diff --git a/css/index.css b/css/index.css new file mode 100644 index 00000000..8402dcc7 --- /dev/null +++ b/css/index.css @@ -0,0 +1,9781 @@ +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ +html { + line-height: 1.15; + -webkit-text-size-adjust: 100% +} + +body { + margin: 0 +} + +main { + display: block +} + +h1 { + font-size: 2em; + margin: .67em 0 +} + +hr { + box-sizing: content-box; + height: 0; + overflow: visible +} + +pre { + font-family: monospace, monospace; + font-size: 1em +} + +a { + background-color: transparent +} + +abbr[title] { + border-bottom: none; + text-decoration: underline; + text-decoration: underline dotted +} + +b, +strong { + font-weight: bolder +} + +code, +kbd, +samp { + font-family: monospace, monospace; + font-size: 1em +} + +small { + font-size: 80% +} + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline +} + +sub { + bottom: -.25em +} + +sup { + top: -.5em +} + +img { + border-style: none +} + +button, +input, +optgroup, +select, +textarea { + font-family: inherit; + font-size: 100%; + line-height: 1.15; + margin: 0 +} + +button, +input { + overflow: visible +} + +button, +select { + text-transform: none +} + +[type=button], +[type=reset], +[type=submit], +button { + -webkit-appearance: button +} + +[type=button]::-moz-focus-inner, +[type=reset]::-moz-focus-inner, +[type=submit]::-moz-focus-inner, +button::-moz-focus-inner { + border-style: none; + padding: 0 +} + +[type=button]:-moz-focusring, +[type=reset]:-moz-focusring, +[type=submit]:-moz-focusring, +button:-moz-focusring { + outline: 1px dotted ButtonText +} + +fieldset { + padding: .35em .75em .625em +} + +legend { + box-sizing: border-box; + color: inherit; + display: table; + max-width: 100%; + padding: 0; + white-space: normal +} + +progress { + vertical-align: baseline +} + +textarea { + overflow: auto +} + +[type=checkbox], +[type=radio] { + box-sizing: border-box; + padding: 0 +} + +[type=number]::-webkit-inner-spin-button, +[type=number]::-webkit-outer-spin-button { + height: auto +} + +[type=search] { + -webkit-appearance: textfield; + outline-offset: -2px +} + +[type=search]::-webkit-search-decoration { + -webkit-appearance: none +} + +::-webkit-file-upload-button { + -webkit-appearance: button; + font: inherit +} + +details { + display: block +} + +summary { + display: list-item +} + +template { + display: none +} + +[hidden] { + display: none +} +.limit-one-line, +#aside-content .card-archives ul.card-archive-list > .card-archive-list-item a span, +#aside-content .card-categories ul.card-category-list > .card-category-list-item a span, +.site-data > a .headline, +#pagination .prev_info, +#pagination .next_info, +#sidebar #sidebar-menus .menus_items .site-page { + overflow: hidden; + -o-text-overflow: ellipsis; + text-overflow: ellipsis; + white-space: nowrap; +} +.limit-more-line, +.error404 #error-wrap .error-content .error-info .error_subtitle, +.article-sort-item-title, +#aside-content .aside-list > .aside-list-item .content > .name, +#aside-content .aside-list > .aside-list-item .content > .title, +#aside-content .aside-list > .aside-list-item .content > .comment, +#post-info .post-title, +.relatedPosts > .relatedPosts-list .content .title, +#article-container figure.gallery-group p, +#article-container figure.gallery-group .gallery-group-name { + display: -webkit-box; + overflow: hidden; + -webkit-box-orient: vertical; +} +.fontawesomeIcon, +hr:before, +#article-container h1:before, +#article-container h2:before, +#article-container h3:before, +#article-container h4:before, +#article-container h5:before, +#article-container h6:before, +#post .post-outdate-notice:before, +.note:not(.no-icon)::before { + display: inline-block; + font-weight: 600; + font-family: 'Font Awesome 6 Free'; + text-rendering: auto; + -webkit-font-smoothing: antialiased; +} +.cardHover, +.error404 #error-wrap .error-content, +.layout > div:first-child:not(.recent-posts), +#aside-content .card-widget, +.layout > .recent-posts .pagination > *:not(.space) { + border-radius: 8px; + background: var(--card-bg); + -webkit-box-shadow: var(--card-box-shadow); + box-shadow: var(--card-box-shadow); + -webkit-transition: all 0.3s; + -moz-transition: all 0.3s; + -o-transition: all 0.3s; + -ms-transition: all 0.3s; + transition: all 0.3s; +} +.cardHover:hover, +.error404 #error-wrap .error-content:hover, +.layout > div:first-child:not(.recent-posts):hover, +#aside-content .card-widget:hover, +.layout > .recent-posts .pagination > *:not(.space):hover { + -webkit-box-shadow: var(--card-hover-box-shadow); + box-shadow: var(--card-hover-box-shadow); +} +.imgHover, +.error404 #error-wrap .error-content .error-img img, +.article-sort-item-img img, +#aside-content .aside-list > .aside-list-item .thumbnail > img { + width: 100%; + height: 100%; + -webkit-transition: filter 375ms ease-in 0.2s, -webkit-transform 0.6s; + -moz-transition: filter 375ms ease-in 0.2s, -moz-transform 0.6s; + -o-transition: filter 375ms ease-in 0.2s, -o-transform 0.6s; + -ms-transition: filter 375ms ease-in 0.2s, -ms-transform 0.6s; + transition: filter 375ms ease-in 0.2s, transform 0.6s; + object-fit: cover; +} +.imgHover:hover, +.error404 #error-wrap .error-content .error-img img:hover, +.article-sort-item-img img:hover, +#aside-content .aside-list > .aside-list-item .thumbnail > img:hover { + -webkit-transform: scale(1.1); + -moz-transform: scale(1.1); + -o-transform: scale(1.1); + -ms-transform: scale(1.1); + transform: scale(1.1); +} +.postImgHover:hover img, +#pagination .prev-post:hover img, +#pagination .next-post:hover img, +.relatedPosts > .relatedPosts-list > div:hover img { + opacity: 0.8; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)"; + filter: alpha(opacity=80); + -webkit-transform: scale(1.1); + -moz-transform: scale(1.1); + -o-transform: scale(1.1); + -ms-transform: scale(1.1); + transform: scale(1.1); +} +.postImgHover img, +#pagination .prev-post img, +#pagination .next-post img, +.relatedPosts > .relatedPosts-list > div img { + position: absolute; + width: 100%; + height: 100%; + opacity: 0.4; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)"; + filter: alpha(opacity=40); + -webkit-transition: all 0.6s, filter 375ms ease-in 0.2s; + -moz-transition: all 0.6s, filter 375ms ease-in 0.2s; + -o-transition: all 0.6s, filter 375ms ease-in 0.2s; + -ms-transition: all 0.6s, filter 375ms ease-in 0.2s; + transition: all 0.6s, filter 375ms ease-in 0.2s; + object-fit: cover; +} +.list-beauty, +.category-lists ul { + list-style: none; +} +.list-beauty li, +.category-lists ul li { + position: relative; + padding: 0.12em 0.4em 0.12em 1.4em; +} +.list-beauty li:hover:before, +.category-lists ul li:hover:before { + border-color: var(--pseudo-hover); +} +.list-beauty li:before, +.category-lists ul li:before { + position: absolute; + top: 0.67em; + left: 0; + width: 0.43em; + height: 0.43em; + border: 0.215em solid #49b1f5; + border-radius: 0.43em; + background: transparent; + content: ''; + -webkit-transition: all 0.3s ease-out; + -moz-transition: all 0.3s ease-out; + -o-transition: all 0.3s ease-out; + -ms-transition: all 0.3s ease-out; + transition: all 0.3s ease-out; +} +#content-inner, +#footer { + -webkit-animation: bottom-top 1s; + -moz-animation: bottom-top 1s; + -o-animation: bottom-top 1s; + -ms-animation: bottom-top 1s; + animation: bottom-top 1s; +} +#page-header { + -webkit-animation: header-effect 1s; + -moz-animation: header-effect 1s; + -o-animation: header-effect 1s; + -ms-animation: header-effect 1s; + animation: header-effect 1s; +} +#site-title, +#site-subtitle { + -webkit-animation: titleScale 1s; + -moz-animation: titleScale 1s; + -o-animation: titleScale 1s; + -ms-animation: titleScale 1s; + animation: titleScale 1s; +} +#nav.show { + -webkit-animation: headerNoOpacity 1s; + -moz-animation: headerNoOpacity 1s; + -o-animation: headerNoOpacity 1s; + -ms-animation: headerNoOpacity 1s; + animation: headerNoOpacity 1s; +} +canvas:not(#ribbon-canvas), +#web_bg { + -webkit-animation: to_show 4s; + -moz-animation: to_show 4s; + -o-animation: to_show 4s; + -ms-animation: to_show 4s; + animation: to_show 4s; +} +#ribbon-canvas { + -webkit-animation: ribbon_to_show 4s; + -moz-animation: ribbon_to_show 4s; + -o-animation: ribbon_to_show 4s; + -ms-animation: ribbon_to_show 4s; + animation: ribbon_to_show 4s; +} +#sidebar-menus.open > :nth-child(1) { + -webkit-animation: sidebarItem 0.2s; + -moz-animation: sidebarItem 0.2s; + -o-animation: sidebarItem 0.2s; + -ms-animation: sidebarItem 0.2s; + animation: sidebarItem 0.2s; +} +#sidebar-menus.open > :nth-child(2) { + -webkit-animation: sidebarItem 0.4s; + -moz-animation: sidebarItem 0.4s; + -o-animation: sidebarItem 0.4s; + -ms-animation: sidebarItem 0.4s; + animation: sidebarItem 0.4s; +} +#sidebar-menus.open > :nth-child(3) { + -webkit-animation: sidebarItem 0.6s; + -moz-animation: sidebarItem 0.6s; + -o-animation: sidebarItem 0.6s; + -ms-animation: sidebarItem 0.6s; + animation: sidebarItem 0.6s; +} +#sidebar-menus.open > :nth-child(4) { + -webkit-animation: sidebarItem 0.8s; + -moz-animation: sidebarItem 0.8s; + -o-animation: sidebarItem 0.8s; + -ms-animation: sidebarItem 0.8s; + animation: sidebarItem 0.8s; +} +.scroll-down-effects { + -webkit-animation: scroll-down-effect 1.5s infinite; + -moz-animation: scroll-down-effect 1.5s infinite; + -o-animation: scroll-down-effect 1.5s infinite; + -ms-animation: scroll-down-effect 1.5s infinite; + animation: scroll-down-effect 1.5s infinite; +} +.avatar-img { + -webkit-animation: avatar_turn_around 2s linear infinite; + -moz-animation: avatar_turn_around 2s linear infinite; + -o-animation: avatar_turn_around 2s linear infinite; + -ms-animation: avatar_turn_around 2s linear infinite; + animation: avatar_turn_around 2s linear infinite; +} +.reward-main { + -webkit-animation: donate_effcet 0.3s 0.1s ease both; + -moz-animation: donate_effcet 0.3s 0.1s ease both; + -o-animation: donate_effcet 0.3s 0.1s ease both; + -ms-animation: donate_effcet 0.3s 0.1s ease both; + animation: donate_effcet 0.3s 0.1s ease both; +} +@-moz-keyframes scroll-down-effect { + 0% { + top: 0; + opacity: 0.4; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)"; + filter: alpha(opacity=40); + } + 50% { + top: -16px; + opacity: 1; + -ms-filter: none; + filter: none; + } + 100% { + top: 0; + opacity: 0.4; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)"; + filter: alpha(opacity=40); + } +} +@-webkit-keyframes scroll-down-effect { + 0% { + top: 0; + opacity: 0.4; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)"; + filter: alpha(opacity=40); + } + 50% { + top: -16px; + opacity: 1; + -ms-filter: none; + filter: none; + } + 100% { + top: 0; + opacity: 0.4; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)"; + filter: alpha(opacity=40); + } +} +@-o-keyframes scroll-down-effect { + 0% { + top: 0; + opacity: 0.4; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)"; + filter: alpha(opacity=40); + } + 50% { + top: -16px; + opacity: 1; + -ms-filter: none; + filter: none; + } + 100% { + top: 0; + opacity: 0.4; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)"; + filter: alpha(opacity=40); + } +} +@keyframes scroll-down-effect { + 0% { + top: 0; + opacity: 0.4; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)"; + filter: alpha(opacity=40); + } + 50% { + top: -16px; + opacity: 1; + -ms-filter: none; + filter: none; + } + 100% { + top: 0; + opacity: 0.4; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)"; + filter: alpha(opacity=40); + } +} +@-moz-keyframes header-effect { + 0% { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + -webkit-transform: translateY(-50px); + -moz-transform: translateY(-50px); + -o-transform: translateY(-50px); + -ms-transform: translateY(-50px); + transform: translateY(-50px); + } + 100% { + opacity: 1; + -ms-filter: none; + filter: none; + -webkit-transform: translateY(0); + -moz-transform: translateY(0); + -o-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); + } +} +@-webkit-keyframes header-effect { + 0% { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + -webkit-transform: translateY(-50px); + -moz-transform: translateY(-50px); + -o-transform: translateY(-50px); + -ms-transform: translateY(-50px); + transform: translateY(-50px); + } + 100% { + opacity: 1; + -ms-filter: none; + filter: none; + -webkit-transform: translateY(0); + -moz-transform: translateY(0); + -o-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); + } +} +@-o-keyframes header-effect { + 0% { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + -webkit-transform: translateY(-50px); + -moz-transform: translateY(-50px); + -o-transform: translateY(-50px); + -ms-transform: translateY(-50px); + transform: translateY(-50px); + } + 100% { + opacity: 1; + -ms-filter: none; + filter: none; + -webkit-transform: translateY(0); + -moz-transform: translateY(0); + -o-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); + } +} +@keyframes header-effect { + 0% { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + -webkit-transform: translateY(-50px); + -moz-transform: translateY(-50px); + -o-transform: translateY(-50px); + -ms-transform: translateY(-50px); + transform: translateY(-50px); + } + 100% { + opacity: 1; + -ms-filter: none; + filter: none; + -webkit-transform: translateY(0); + -moz-transform: translateY(0); + -o-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); + } +} +@-moz-keyframes headerNoOpacity { + 0% { + -webkit-transform: translateY(-50px); + -moz-transform: translateY(-50px); + -o-transform: translateY(-50px); + -ms-transform: translateY(-50px); + transform: translateY(-50px); + } + 100% { + -webkit-transform: translateY(0); + -moz-transform: translateY(0); + -o-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); + } +} +@-webkit-keyframes headerNoOpacity { + 0% { + -webkit-transform: translateY(-50px); + -moz-transform: translateY(-50px); + -o-transform: translateY(-50px); + -ms-transform: translateY(-50px); + transform: translateY(-50px); + } + 100% { + -webkit-transform: translateY(0); + -moz-transform: translateY(0); + -o-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); + } +} +@-o-keyframes headerNoOpacity { + 0% { + -webkit-transform: translateY(-50px); + -moz-transform: translateY(-50px); + -o-transform: translateY(-50px); + -ms-transform: translateY(-50px); + transform: translateY(-50px); + } + 100% { + -webkit-transform: translateY(0); + -moz-transform: translateY(0); + -o-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); + } +} +@keyframes headerNoOpacity { + 0% { + -webkit-transform: translateY(-50px); + -moz-transform: translateY(-50px); + -o-transform: translateY(-50px); + -ms-transform: translateY(-50px); + transform: translateY(-50px); + } + 100% { + -webkit-transform: translateY(0); + -moz-transform: translateY(0); + -o-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); + } +} +@-moz-keyframes bottom-top { + 0% { + margin-top: 50px; + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + } + 100% { + margin-top: 0; + opacity: 1; + -ms-filter: none; + filter: none; + } +} +@-webkit-keyframes bottom-top { + 0% { + margin-top: 50px; + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + } + 100% { + margin-top: 0; + opacity: 1; + -ms-filter: none; + filter: none; + } +} +@-o-keyframes bottom-top { + 0% { + margin-top: 50px; + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + } + 100% { + margin-top: 0; + opacity: 1; + -ms-filter: none; + filter: none; + } +} +@keyframes bottom-top { + 0% { + margin-top: 50px; + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + } + 100% { + margin-top: 0; + opacity: 1; + -ms-filter: none; + filter: none; + } +} +@-moz-keyframes titleScale { + 0% { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + -webkit-transform: scale(0.7); + -moz-transform: scale(0.7); + -o-transform: scale(0.7); + -ms-transform: scale(0.7); + transform: scale(0.7); + } + 100% { + opacity: 1; + -ms-filter: none; + filter: none; + -webkit-transform: scale(1); + -moz-transform: scale(1); + -o-transform: scale(1); + -ms-transform: scale(1); + transform: scale(1); + } +} +@-webkit-keyframes titleScale { + 0% { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + -webkit-transform: scale(0.7); + -moz-transform: scale(0.7); + -o-transform: scale(0.7); + -ms-transform: scale(0.7); + transform: scale(0.7); + } + 100% { + opacity: 1; + -ms-filter: none; + filter: none; + -webkit-transform: scale(1); + -moz-transform: scale(1); + -o-transform: scale(1); + -ms-transform: scale(1); + transform: scale(1); + } +} +@-o-keyframes titleScale { + 0% { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + -webkit-transform: scale(0.7); + -moz-transform: scale(0.7); + -o-transform: scale(0.7); + -ms-transform: scale(0.7); + transform: scale(0.7); + } + 100% { + opacity: 1; + -ms-filter: none; + filter: none; + -webkit-transform: scale(1); + -moz-transform: scale(1); + -o-transform: scale(1); + -ms-transform: scale(1); + transform: scale(1); + } +} +@keyframes titleScale { + 0% { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + -webkit-transform: scale(0.7); + -moz-transform: scale(0.7); + -o-transform: scale(0.7); + -ms-transform: scale(0.7); + transform: scale(0.7); + } + 100% { + opacity: 1; + -ms-filter: none; + filter: none; + -webkit-transform: scale(1); + -moz-transform: scale(1); + -o-transform: scale(1); + -ms-transform: scale(1); + transform: scale(1); + } +} +@-moz-keyframes search_close { + 0% { + opacity: 1; + -ms-filter: none; + filter: none; + -webkit-transform: scale(1); + -moz-transform: scale(1); + -o-transform: scale(1); + -ms-transform: scale(1); + transform: scale(1); + } + 100% { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + -webkit-transform: scale(0.7); + -moz-transform: scale(0.7); + -o-transform: scale(0.7); + -ms-transform: scale(0.7); + transform: scale(0.7); + } +} +@-webkit-keyframes search_close { + 0% { + opacity: 1; + -ms-filter: none; + filter: none; + -webkit-transform: scale(1); + -moz-transform: scale(1); + -o-transform: scale(1); + -ms-transform: scale(1); + transform: scale(1); + } + 100% { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + -webkit-transform: scale(0.7); + -moz-transform: scale(0.7); + -o-transform: scale(0.7); + -ms-transform: scale(0.7); + transform: scale(0.7); + } +} +@-o-keyframes search_close { + 0% { + opacity: 1; + -ms-filter: none; + filter: none; + -webkit-transform: scale(1); + -moz-transform: scale(1); + -o-transform: scale(1); + -ms-transform: scale(1); + transform: scale(1); + } + 100% { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + -webkit-transform: scale(0.7); + -moz-transform: scale(0.7); + -o-transform: scale(0.7); + -ms-transform: scale(0.7); + transform: scale(0.7); + } +} +@keyframes search_close { + 0% { + opacity: 1; + -ms-filter: none; + filter: none; + -webkit-transform: scale(1); + -moz-transform: scale(1); + -o-transform: scale(1); + -ms-transform: scale(1); + transform: scale(1); + } + 100% { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + -webkit-transform: scale(0.7); + -moz-transform: scale(0.7); + -o-transform: scale(0.7); + -ms-transform: scale(0.7); + transform: scale(0.7); + } +} +@-moz-keyframes to_show { + 0% { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + } + 100% { + opacity: 1; + -ms-filter: none; + filter: none; + } +} +@-webkit-keyframes to_show { + 0% { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + } + 100% { + opacity: 1; + -ms-filter: none; + filter: none; + } +} +@-o-keyframes to_show { + 0% { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + } + 100% { + opacity: 1; + -ms-filter: none; + filter: none; + } +} +@keyframes to_show { + 0% { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + } + 100% { + opacity: 1; + -ms-filter: none; + filter: none; + } +} +@-moz-keyframes to_hide { + 0% { + opacity: 1; + -ms-filter: none; + filter: none; + } + 100% { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + } +} +@-webkit-keyframes to_hide { + 0% { + opacity: 1; + -ms-filter: none; + filter: none; + } + 100% { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + } +} +@-o-keyframes to_hide { + 0% { + opacity: 1; + -ms-filter: none; + filter: none; + } + 100% { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + } +} +@keyframes to_hide { + 0% { + opacity: 1; + -ms-filter: none; + filter: none; + } + 100% { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + } +} +@-moz-keyframes ribbon_to_show { + 0% { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + } + 100% { + opacity: 0.6; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)"; + filter: alpha(opacity=60); + } +} +@-webkit-keyframes ribbon_to_show { + 0% { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + } + 100% { + opacity: 0.6; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)"; + filter: alpha(opacity=60); + } +} +@-o-keyframes ribbon_to_show { + 0% { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + } + 100% { + opacity: 0.6; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)"; + filter: alpha(opacity=60); + } +} +@keyframes ribbon_to_show { + 0% { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + } + 100% { + opacity: 0.6; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)"; + filter: alpha(opacity=60); + } +} +@-moz-keyframes avatar_turn_around { + from { + -webkit-transform: rotate(0); + -moz-transform: rotate(0); + -o-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); + } + to { + -webkit-transform: rotate(360deg); + -moz-transform: rotate(360deg); + -o-transform: rotate(360deg); + -ms-transform: rotate(360deg); + transform: rotate(360deg); + } +} +@-webkit-keyframes avatar_turn_around { + from { + -webkit-transform: rotate(0); + -moz-transform: rotate(0); + -o-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); + } + to { + -webkit-transform: rotate(360deg); + -moz-transform: rotate(360deg); + -o-transform: rotate(360deg); + -ms-transform: rotate(360deg); + transform: rotate(360deg); + } +} +@-o-keyframes avatar_turn_around { + from { + -webkit-transform: rotate(0); + -moz-transform: rotate(0); + -o-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); + } + to { + -webkit-transform: rotate(360deg); + -moz-transform: rotate(360deg); + -o-transform: rotate(360deg); + -ms-transform: rotate(360deg); + transform: rotate(360deg); + } +} +@keyframes avatar_turn_around { + from { + -webkit-transform: rotate(0); + -moz-transform: rotate(0); + -o-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); + } + to { + -webkit-transform: rotate(360deg); + -moz-transform: rotate(360deg); + -o-transform: rotate(360deg); + -ms-transform: rotate(360deg); + transform: rotate(360deg); + } +} +@-moz-keyframes sub_menus { + 0% { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + -webkit-transform: translateY(10px); + -moz-transform: translateY(10px); + -o-transform: translateY(10px); + -ms-transform: translateY(10px); + transform: translateY(10px); + } + 100% { + opacity: 1; + -ms-filter: none; + filter: none; + -webkit-transform: translateY(0); + -moz-transform: translateY(0); + -o-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); + } +} +@-webkit-keyframes sub_menus { + 0% { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + -webkit-transform: translateY(10px); + -moz-transform: translateY(10px); + -o-transform: translateY(10px); + -ms-transform: translateY(10px); + transform: translateY(10px); + } + 100% { + opacity: 1; + -ms-filter: none; + filter: none; + -webkit-transform: translateY(0); + -moz-transform: translateY(0); + -o-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); + } +} +@-o-keyframes sub_menus { + 0% { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + -webkit-transform: translateY(10px); + -moz-transform: translateY(10px); + -o-transform: translateY(10px); + -ms-transform: translateY(10px); + transform: translateY(10px); + } + 100% { + opacity: 1; + -ms-filter: none; + filter: none; + -webkit-transform: translateY(0); + -moz-transform: translateY(0); + -o-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); + } +} +@keyframes sub_menus { + 0% { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + -webkit-transform: translateY(10px); + -moz-transform: translateY(10px); + -o-transform: translateY(10px); + -ms-transform: translateY(10px); + transform: translateY(10px); + } + 100% { + opacity: 1; + -ms-filter: none; + filter: none; + -webkit-transform: translateY(0); + -moz-transform: translateY(0); + -o-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); + } +} +@-moz-keyframes donate_effcet { + 0% { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + -webkit-transform: translateY(-20px); + -moz-transform: translateY(-20px); + -o-transform: translateY(-20px); + -ms-transform: translateY(-20px); + transform: translateY(-20px); + } + 100% { + opacity: 1; + -ms-filter: none; + filter: none; + -webkit-transform: translateY(0); + -moz-transform: translateY(0); + -o-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); + } +} +@-webkit-keyframes donate_effcet { + 0% { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + -webkit-transform: translateY(-20px); + -moz-transform: translateY(-20px); + -o-transform: translateY(-20px); + -ms-transform: translateY(-20px); + transform: translateY(-20px); + } + 100% { + opacity: 1; + -ms-filter: none; + filter: none; + -webkit-transform: translateY(0); + -moz-transform: translateY(0); + -o-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); + } +} +@-o-keyframes donate_effcet { + 0% { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + -webkit-transform: translateY(-20px); + -moz-transform: translateY(-20px); + -o-transform: translateY(-20px); + -ms-transform: translateY(-20px); + transform: translateY(-20px); + } + 100% { + opacity: 1; + -ms-filter: none; + filter: none; + -webkit-transform: translateY(0); + -moz-transform: translateY(0); + -o-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); + } +} +@keyframes donate_effcet { + 0% { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + -webkit-transform: translateY(-20px); + -moz-transform: translateY(-20px); + -o-transform: translateY(-20px); + -ms-transform: translateY(-20px); + transform: translateY(-20px); + } + 100% { + opacity: 1; + -ms-filter: none; + filter: none; + -webkit-transform: translateY(0); + -moz-transform: translateY(0); + -o-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); + } +} +@-moz-keyframes sidebarItem { + 0% { + -webkit-transform: translateX(200px); + -moz-transform: translateX(200px); + -o-transform: translateX(200px); + -ms-transform: translateX(200px); + transform: translateX(200px); + } + 100% { + -webkit-transform: translateX(0); + -moz-transform: translateX(0); + -o-transform: translateX(0); + -ms-transform: translateX(0); + transform: translateX(0); + } +} +@-webkit-keyframes sidebarItem { + 0% { + -webkit-transform: translateX(200px); + -moz-transform: translateX(200px); + -o-transform: translateX(200px); + -ms-transform: translateX(200px); + transform: translateX(200px); + } + 100% { + -webkit-transform: translateX(0); + -moz-transform: translateX(0); + -o-transform: translateX(0); + -ms-transform: translateX(0); + transform: translateX(0); + } +} +@-o-keyframes sidebarItem { + 0% { + -webkit-transform: translateX(200px); + -moz-transform: translateX(200px); + -o-transform: translateX(200px); + -ms-transform: translateX(200px); + transform: translateX(200px); + } + 100% { + -webkit-transform: translateX(0); + -moz-transform: translateX(0); + -o-transform: translateX(0); + -ms-transform: translateX(0); + transform: translateX(0); + } +} +@keyframes sidebarItem { + 0% { + -webkit-transform: translateX(200px); + -moz-transform: translateX(200px); + -o-transform: translateX(200px); + -ms-transform: translateX(200px); + transform: translateX(200px); + } + 100% { + -webkit-transform: translateX(0); + -moz-transform: translateX(0); + -o-transform: translateX(0); + -ms-transform: translateX(0); + transform: translateX(0); + } +} +:root { + --global-font-size: 15.5px; + --global-bg: #fff; + --font-color: #4c4948; + --hr-border: #d2ebfd; + --hr-before-color: #bfe4fb; + --search-bg: #f6f8fa; + --search-input-color: #4c4948; + --search-result-title: #4c4948; + --preloader-bg: #37474f; + --preloader-color: #fff; + --tab-border-color: #f0f0f0; + --tab-botton-bg: #f0f0f0; + --tab-botton-color: #1f2d3d; + --tab-button-hover-bg: #dcdcdc; + --tab-button-active-bg: #fff; + --card-bg: #fff; + --sidebar-bg: #f6f8fa; + --btn-hover-color: #ff7242; + --btn-color: #fff; + --btn-bg: #49b1f5; + --text-bg-hover: rgba(73,177,245,0.7); + --light-grey: #eee; + --dark-grey: #cacaca; + --white: #fff; + --text-highlight-color: #1f2d3d; + --blockquote-color: #6a737d; + --blockquote-bg: rgba(73,177,245,0.1); + --reward-pop: #f5f5f5; + --toc-link-color: #666261; + --card-box-shadow: 0 3px 8px 6px rgba(7,17,27,0.05); + --card-hover-box-shadow: 0 3px 8px 6px rgba(7,17,27,0.09); + --pseudo-hover: #ff7242; + --headline-presudo: #a0a0a0; + --scrollbar-color: #49b1f5; +} +body { + position: relative; + min-height: 100%; + background: var(--global-bg); + color: var(--font-color); + font-size: var(--global-font-size); + font-family: var(--global-font), -apple-system, 'Quicksand', 'Nimbus Roman No9 L', 'PingFang SC', 'Hiragino Sans GB', 'Noto Serif SC', 'Microsoft Yahei', 'WenQuanYi Micro Hei', 'ST Heiti', sans-serif;; + line-height: 2; + -webkit-tap-highlight-color: rgba(0,0,0,0); +} +*::-webkit-scrollbar { + width: 8px; + height: 8px; +} +*::-webkit-scrollbar-thumb { + background: var(--scrollbar-color); +} +*::-webkit-scrollbar-track { + background-color: transparent; +} +* { + scrollbar-width: thin; + scrollbar-color: var(--scrollbar-color) transparent; +} +input::placeholder { + color: var(--font-color); +} +#web_bg { + position: fixed; + z-index: -999; + width: 100%; + height: 100%; + background: var(--default-bg); + background-attachment: local; + background-position: center; + background-size: cover; + background-repeat: no-repeat; +} +h1, +h2, +h3, +h4, +h5, +h6 { + position: relative; + margin: 20px 0 14px; + color: var(--text-highlight-color); + font-weight: bold; +} +h1 code, +h2 code, +h3 code, +h4 code, +h5 code, +h6 code { + font-size: inherit !important; +} +* { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +hr { + position: relative; + margin: 40px auto; + border: 2px dashed var(--hr-border); + width: calc(100% - 4px); +} +hr:hover:before { + left: calc(95% - 20px); +} +hr:before { + position: absolute; + top: -10px; + left: 5%; + z-index: 1; + color: var(--hr-before-color); + content: '\f2dc'; + font-size: 20px; + line-height: 1; + -webkit-transition: all 1s ease-in-out; + -moz-transition: all 1s ease-in-out; + -o-transition: all 1s ease-in-out; + -ms-transition: all 1s ease-in-out; + transition: all 1s ease-in-out; +} +.table-wrap { + overflow-x: scroll; + margin: 0 0 20px; +} +table { + display: table; + width: 100%; + border-spacing: 0; + border-collapse: collapse; + empty-cells: show; +} +table thead { + background: rgba(153,169,191,0.1); +} +table th, +table td { + padding: 6px 12px; + border: 1px solid var(--light-grey); + vertical-align: middle; +} +*::selection { + background: #00c4b6; + color: #f7f7f7; +} +button { + padding: 0; + outline: 0; + border: none; + background: none; + touch-action: manipulation; +} +a { + color: #99a9bf; + text-decoration: none; + word-wrap: break-word; + -webkit-transition: all 0.2s; + -moz-transition: all 0.2s; + -o-transition: all 0.2s; + -ms-transition: all 0.2s; + transition: all 0.2s; + overflow-wrap: break-word; +} +a:hover { + color: #49b1f5; +} +#site-title, +#site-subtitle, +#site-name, +#aside-content .author-info__name, +#aside-content .author-info__description { + font-family: var(--global-font); +} +.is-center { + text-align: center; +} +.copy-true { + -webkit-user-select: all; + -moz-user-select: all; + -ms-user-select: all; + user-select: all; +} +.pull-left { + float: left; +} +.pull-right { + float: right; +} +img[src=''], +img:not([src]) { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); +} +img[data-lazy-src]:not(.loaded) { + filter: blur(8px) brightness(1); +} +img[data-lazy-src].error { + filter: none; +} +.img-alt { + margin: -10px 0 10px; + color: #858585; +} +.img-alt:hover { + text-decoration: none !important; +} +blockquote { + margin: 0 0 20px; + padding: 12px 15px; + border-left: 3px solid #49b1f5; + background-color: var(--blockquote-bg); + color: var(--blockquote-color); +} +blockquote footer cite:before { + padding: 0 5px; + content: '—'; +} +blockquote > :last-child { + margin-bottom: 0 !important; +} +:root { + --hl-color: #eff; + --hl-bg: #212121; + --hltools-bg: #1c1c1c; + --hltools-color: rgba(238,255,255,0.8); + --hlnumber-bg: #212121; + --hlnumber-color: rgba(238,255,255,0.5); + --hlscrollbar-bg: #353535; + --hlexpand-bg: linear-gradient(180deg, rgba(33,33,33,0.6), rgba(33,33,33,0.9)); +} +figure.highlight table { + scrollbar-color: var(--hlscrollbar-bg) transparent; +} +figure.highlight table::-webkit-scrollbar-thumb { + background: var(--hlscrollbar-bg); +} +figure.highlight pre .deletion { + color: #bf42bf; +} +figure.highlight pre .addition { + color: #105ede; +} +figure.highlight pre .meta { + color: #c792ea; +} +figure.highlight pre .comment { + color: #969896; +} +figure.highlight pre .variable, +figure.highlight pre .attribute, +figure.highlight pre .regexp, +figure.highlight pre .ruby .constant, +figure.highlight pre .xml .tag .title, +figure.highlight pre .xml .pi, +figure.highlight pre .xml .doctype, +figure.highlight pre .html .doctype, +figure.highlight pre .css .id, +figure.highlight pre .tag .name, +figure.highlight pre .css .class, +figure.highlight pre .css .pseudo { + color: #ff5370; +} +figure.highlight pre .tag { + color: #89ddff; +} +figure.highlight pre .number, +figure.highlight pre .preprocessor, +figure.highlight pre .literal, +figure.highlight pre .params, +figure.highlight pre .constant, +figure.highlight pre .command { + color: #f78c6c; +} +figure.highlight pre .built_in { + color: #ffcb6b; +} +figure.highlight pre .ruby .class .title, +figure.highlight pre .css .rules .attribute, +figure.highlight pre .string, +figure.highlight pre .value, +figure.highlight pre .inheritance, +figure.highlight pre .header, +figure.highlight pre .ruby .symbol, +figure.highlight pre .xml .cdata, +figure.highlight pre .special, +figure.highlight pre .number, +figure.highlight pre .formula { + color: #c3e88d; +} +figure.highlight pre .keyword, +figure.highlight pre .title, +figure.highlight pre .css .hexcolor { + color: #89ddff; +} +figure.highlight pre .function, +figure.highlight pre .python .decorator, +figure.highlight pre .python .title, +figure.highlight pre .ruby .function .title, +figure.highlight pre .ruby .title .keyword, +figure.highlight pre .perl .sub, +figure.highlight pre .javascript .title, +figure.highlight pre .coffeescript .title { + color: #82aaff; +} +figure.highlight pre .tag .attr, +figure.highlight pre .javascript .function { + color: #c792ea; +} +#article-container figure.highlight .line.marked { + background-color: rgba(97,97,97,0.314); +} +#article-container figure.highlight table { + display: block; + overflow: auto; + border: none; +} +#article-container figure.highlight table td { + padding: 0; + border: none; +} +#article-container figure.highlight .gutter pre { + padding-right: 10px; + padding-left: 10px; + background-color: var(--hlnumber-bg); + color: var(--hlnumber-color); + text-align: right; +} +#article-container figure.highlight .code pre { + padding-right: 10px; + padding-left: 10px; + width: 100%; +} +#article-container pre, +#article-container figure.highlight { + overflow: auto; + margin: 0 0 20px; + padding: 0; + background: var(--hl-bg); + color: var(--hl-color); + line-height: 1.6; +} +#article-container pre, +#article-container code { + font-size: 14.5px; + font-family: Consolas_1, var(--global-font), "Microsoft YaHei", Menlo, "PingFang SC", "Microsoft JhengHei", sans-serif !important; +} +#article-container code { + padding: 2px 4px; + background: rgba(27,31,35,0.05); + color: #f47466; +} +#article-container pre { + padding: 10px 20px; +} +#article-container pre code { + padding: 0; + background: none; + color: var(--hl-color); + text-shadow: none; +} +#article-container figure.highlight { + position: relative; +} +#article-container figure.highlight pre { + margin: 0; + padding: 8px 0; + border: none; +} +#article-container figure.highlight figcaption, +#article-container figure.highlight .caption { + padding: 6px 0 2px 14px; + font-size: 14.5px; + line-height: 1em; +} +#article-container figure.highlight figcaption a, +#article-container figure.highlight .caption a { + float: right; + padding-right: 10px; + color: var(--hl-color); +} +#article-container figure.highlight figcaption a:hover, +#article-container figure.highlight .caption a:hover { + border-bottom-color: var(--hl-color); +} +#article-container .highlight-tools { + position: relative; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + overflow: hidden; + min-height: 24px; + height: 2.15em; + background: var(--hltools-bg); + color: var(--hltools-color); + font-size: 14.5px; +} +#article-container .highlight-tools.closed ~ * { + display: none; +} +#article-container .highlight-tools .expand { + position: absolute; + padding: 0.57em 0.7em; + -webkit-transition: -webkit-transform 0.3s; + -moz-transition: -moz-transform 0.3s; + -o-transition: -o-transform 0.3s; + -ms-transition: -ms-transform 0.3s; + transition: transform 0.3s; +} +#article-container .highlight-tools .expand + .code-lang { + left: 1.7em; +} +#article-container .highlight-tools .expand.closed { + -webkit-transition: all 0.3s; + -moz-transition: all 0.3s; + -o-transition: all 0.3s; + -ms-transition: all 0.3s; + transition: all 0.3s; + -webkit-transform: rotate(-90deg) !important; + -moz-transform: rotate(-90deg) !important; + -o-transform: rotate(-90deg) !important; + -ms-transform: rotate(-90deg) !important; + transform: rotate(-90deg) !important; +} +#article-container .highlight-tools .code-lang { + position: absolute; + left: 14px; + text-transform: uppercase; + font-weight: bold; + font-size: 1.15em; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +#article-container .highlight-tools .copy-notice { + position: absolute; + right: 2.4em; + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + -webkit-transition: opacity 0.4s; + -moz-transition: opacity 0.4s; + -o-transition: opacity 0.4s; + -ms-transition: opacity 0.4s; + transition: opacity 0.4s; +} +#article-container .highlight-tools .copy-button { + position: absolute; + right: 14px; + -webkit-transition: color 0.2s; + -moz-transition: color 0.2s; + -o-transition: color 0.2s; + -ms-transition: color 0.2s; + transition: color 0.2s; +} +#article-container .highlight-tools .copy-button:hover { + color: #49b1f5; +} +#article-container .gutter { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +#article-container .gist table { + width: auto; +} +#article-container .gist table td { + border: none; +} +#article-container figure.highlight { + margin: 0 0 24px; + border-radius: 7px; + -webkit-box-shadow: 0 5px 10px 0 rgba(0,0,0,0.4); + box-shadow: 0 5px 10px 0 rgba(0,0,0,0.4); + -webkit-transform: translateZ(0); +} +#article-container figure.highlight .highlight-tools:after { + position: absolute; + left: 14px; + width: 12px; + height: 12px; + border-radius: 50%; + background: #fc625d; + -webkit-box-shadow: 20px 0 #fdbc40, 40px 0 #35cd4b; + box-shadow: 20px 0 #fdbc40, 40px 0 #35cd4b; + content: ' '; +} +#article-container figure.highlight .highlight-tools .expand { + right: 0; +} +#article-container figure.highlight .highlight-tools .expand.closed { + -webkit-transition: all 0.3s; + -moz-transition: all 0.3s; + -o-transition: all 0.3s; + -ms-transition: all 0.3s; + transition: all 0.3s; + -webkit-transform: rotate(90deg) !important; + -moz-transform: rotate(90deg) !important; + -o-transform: rotate(90deg) !important; + -ms-transform: rotate(90deg) !important; + transform: rotate(90deg) !important; +} +#article-container figure.highlight .highlight-tools .expand ~ .copy-notice { + right: 3.45em; +} +#article-container figure.highlight .highlight-tools .expand ~ .copy-button { + right: 2.1em; +} +#article-container figure.highlight .highlight-tools .code-lang { + left: 75px; +} +#article-container .code-expand-btn { + position: absolute; + bottom: 0; + z-index: 10; + width: 100%; + background: var(--hlexpand-bg); + text-align: center; + font-size: 14.5px; +} +#article-container .code-expand-btn i { + padding: 6px 0; + color: var(--hlnumber-color); + -webkit-animation: code-expand-key 1.2s infinite; + -moz-animation: code-expand-key 1.2s infinite; + -o-animation: code-expand-key 1.2s infinite; + -ms-animation: code-expand-key 1.2s infinite; + animation: code-expand-key 1.2s infinite; +} +#article-container .code-expand-btn.expand-done > i { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); +} +#article-container .code-expand-btn.expand-done + table, +#article-container .code-expand-btn.expand-done + pre { + margin-bottom: 1.8em; +} +#article-container .code-expand-btn:not(.expand-done) ~ table, +#article-container .code-expand-btn:not(.expand-done) ~ pre { + overflow: hidden; + height: 230px; +} +@-moz-keyframes code-expand-key { + 0% { + opacity: 0.6; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)"; + filter: alpha(opacity=60); + } + 50% { + opacity: 0.1; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=10)"; + filter: alpha(opacity=10); + } + 100% { + opacity: 0.6; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)"; + filter: alpha(opacity=60); + } +} +@-webkit-keyframes code-expand-key { + 0% { + opacity: 0.6; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)"; + filter: alpha(opacity=60); + } + 50% { + opacity: 0.1; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=10)"; + filter: alpha(opacity=10); + } + 100% { + opacity: 0.6; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)"; + filter: alpha(opacity=60); + } +} +@-o-keyframes code-expand-key { + 0% { + opacity: 0.6; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)"; + filter: alpha(opacity=60); + } + 50% { + opacity: 0.1; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=10)"; + filter: alpha(opacity=10); + } + 100% { + opacity: 0.6; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)"; + filter: alpha(opacity=60); + } +} +@keyframes code-expand-key { + 0% { + opacity: 0.6; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)"; + filter: alpha(opacity=60); + } + 50% { + opacity: 0.1; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=10)"; + filter: alpha(opacity=10); + } + 100% { + opacity: 0.6; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)"; + filter: alpha(opacity=60); + } +} +.error404 #error-wrap { + position: absolute; + top: 50%; + right: 0; + left: 0; + margin: 0 auto; + padding: 60px 20px 0; + max-width: 1000px; + -webkit-transform: translate(0, -50%); + -moz-transform: translate(0, -50%); + -o-transform: translate(0, -50%); + -ms-transform: translate(0, -50%); + transform: translate(0, -50%); +} +.error404 #error-wrap .error-content { + overflow: hidden; + margin: 0 20px; + height: 360px; +} +@media screen and (max-width: 768px) { + .error404 #error-wrap .error-content { + margin: 0; + height: 500px; + } +} +.error404 #error-wrap .error-content .error-img { + display: inline-block; + overflow: hidden; + width: 50%; + height: 100%; +} +@media screen and (max-width: 768px) { + .error404 #error-wrap .error-content .error-img { + width: 100%; + height: 45%; + } +} +.error404 #error-wrap .error-content .error-img img { + background-color: #49b1f5; +} +.error404 #error-wrap .error-content .error-info { + display: -webkit-inline-box; + display: -moz-inline-box; + display: -webkit-inline-flex; + display: -ms-inline-flexbox; + display: inline-box; + display: inline-flex; + -webkit-box-orient: vertical; + -moz-box-orient: vertical; + -o-box-orient: vertical; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-pack: center; + -moz-box-pack: center; + -o-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; + -ms-flex-line-pack: center; + -webkit-align-content: center; + align-content: center; + width: 50%; + height: 100%; + vertical-align: top; + text-align: center; + font-family: var(--global-font); +} +@media screen and (max-width: 768px) { + .error404 #error-wrap .error-content .error-info { + width: 100%; + height: 55%; + } +} +.error404 #error-wrap .error-content .error-info .error_title { + margin-top: -0.6em; + font-size: 9em; +} +@media screen and (max-width: 768px) { + .error404 #error-wrap .error-content .error-info .error_title { + font-size: 8em; + } +} +.error404 #error-wrap .error-content .error-info .error_subtitle { + margin-top: -3em; + word-break: break-word; + font-size: 1.6em; + -webkit-line-clamp: 2; +} +.error404 + #rightside { + display: none; +} +.article-sort { + margin-left: 10px; + padding-left: 20px; + border-left: 2px solid #aadafa; +} +.article-sort-title { + position: relative; + margin-left: 10px; + padding-bottom: 20px; + padding-left: 20px; + font-size: 1.72em; +} +.article-sort-title:hover:before { + border-color: var(--pseudo-hover); +} +.article-sort-title:before { + position: absolute; + top: calc(((100% - 36px) / 2)); + left: -9px; + z-index: 1; + width: 10px; + height: 10px; + border: 5px solid #49b1f5; + border-radius: 10px; + background: var(--card-bg); + content: ''; + line-height: 10px; + -webkit-transition: all 0.2s ease-in-out; + -moz-transition: all 0.2s ease-in-out; + -o-transition: all 0.2s ease-in-out; + -ms-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; +} +.article-sort-title:after { + position: absolute; + bottom: 0; + left: 0; + z-index: 0; + width: 2px; + height: 1.5em; + background: #aadafa; + content: ''; +} +.article-sort-item { + position: relative; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + margin: 0 0 20px 10px; + -webkit-transition: all 0.2s ease-in-out; + -moz-transition: all 0.2s ease-in-out; + -o-transition: all 0.2s ease-in-out; + -ms-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; +} +.article-sort-item:hover:before { + border-color: var(--pseudo-hover); +} +.article-sort-item:before { + position: absolute; + left: calc(-20px - 17px); + width: 6px; + height: 6px; + border: 3px solid #49b1f5; + border-radius: 6px; + background: var(--card-bg); + content: ''; + -webkit-transition: all 0.2s ease-in-out; + -moz-transition: all 0.2s ease-in-out; + -o-transition: all 0.2s ease-in-out; + -ms-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; +} +.article-sort-item.no-article-cover { + height: 80px; +} +.article-sort-item.no-article-cover .article-sort-item-info { + padding: 0; +} +.article-sort-item.year { + font-size: 1.43em; +} +.article-sort-item.year:hover:before { + border-color: #49b1f5; +} +.article-sort-item.year:before { + border-color: var(--pseudo-hover); +} +.article-sort-item-time { + color: #858585; + font-size: 95%; +} +.article-sort-item-time time { + padding-left: 6px; + cursor: default; +} +.article-sort-item-title { + color: var(--font-color); + font-size: 1.2em; + -webkit-transition: all 0.3s; + -moz-transition: all 0.3s; + -o-transition: all 0.3s; + -ms-transition: all 0.3s; + transition: all 0.3s; + -webkit-line-clamp: 2; +} +.article-sort-item-title:hover { + color: #49b1f5; + -webkit-transform: translateX(10px); + -moz-transform: translateX(10px); + -o-transform: translateX(10px); + -ms-transform: translateX(10px); + transform: translateX(10px); +} +.article-sort-item-img { + overflow: hidden; + width: 120px; + height: 120px; + border-radius: 12px; +} +.article-sort-item-info { + -webkit-box-flex: 1; + -moz-box-flex: 1; + -o-box-flex: 1; + box-flex: 1; + -webkit-flex: 1; + -ms-flex: 1; + flex: 1; + padding: 0 16px; +} +.category-lists .category-title { + font-size: 2.57em; +} +@media screen and (max-width: 768px) { + .category-lists .category-title { + font-size: 2em; + } +} +.category-lists .category-list { + margin-bottom: 0; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-orient: horizontal; + -moz-box-orient: horizontal; + -o-box-orient: horizontal; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + -webkit-box-lines: multiple; + -moz-box-lines: multiple; + -o-box-lines: multiple; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -webkit-box-pack: center; + -moz-box-pack: center; + -o-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; +} +.category-lists .category-list a { + color: var(--font-color); +} +.category-lists .category-list a:hover { + color: #49b1f5; +} +.category-lists .category-list .category-list-count { + margin-left: 8px; + color: #858585; +} +.category-lists .category-list .category-list-count:before { + content: '('; +} +.category-lists .category-list .category-list-count:after { + content: ')'; +} +.category-lists ul { + padding: 0 0 0 20px; +} +.category-lists ul ul { + padding-left: 4px; +} +.category-lists ul li { + position: relative; + margin: 6px 0; + padding: 0.12em 1.2em 0.12em 1.4em; +} +#body-wrap { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-orient: vertical; + -moz-box-orient: vertical; + -o-box-orient: vertical; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + min-height: 100vh; +} +.layout { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-flex: 1; + -moz-box-flex: 1; + -o-box-flex: 1; + box-flex: 1; + -webkit-flex: 1 auto; + -ms-flex: 1 auto; + flex: 1 auto; + margin: 0 auto; + padding: 40px 15px; + max-width: 1200px; + width: 100%; +} +@media screen and (max-width: 900px) { + .layout { + -webkit-box-orient: vertical; + -moz-box-orient: vertical; + -o-box-orient: vertical; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + } +} +@media screen and (max-width: 768px) { + .layout { + padding: 20px 5px; + } +} +@media screen and (min-width: 2000px) { + .layout { + max-width: 1500px; + } +} +.layout > div:first-child:not(.recent-posts) { + -webkit-align-self: flex-start; + align-self: flex-start; + -ms-flex-item-align: start; + padding: 50px 40px; +} +@media screen and (max-width: 768px) { + .layout > div:first-child:not(.recent-posts) { + padding: 36px 14px; + } +} +.layout > div:first-child { + width: 74%; + -webkit-transition: all 0.3s; + -moz-transition: all 0.3s; + -o-transition: all 0.3s; + -ms-transition: all 0.3s; + transition: all 0.3s; +} +@media screen and (max-width: 900px) { + .layout > div:first-child { + width: 100% !important; + } +} +.layout.hide-aside { + max-width: 1000px; +} +@media screen and (min-width: 2000px) { + .layout.hide-aside { + max-width: 1300px; + } +} +.layout.hide-aside > div { + width: 100% !important; +} +.apple #page-header.full_page { + background-attachment: scroll !important; +} +.apple .recent-post-item, +.apple .avatar-img, +.apple .flink-item-icon { + -webkit-transform: translateZ(0); + -moz-transform: translateZ(0); + -o-transform: translateZ(0); + -ms-transform: translateZ(0); + transform: translateZ(0); +} +.site-card-group { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-lines: multiple; + -moz-box-lines: multiple; + -o-box-lines: multiple; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -webkit-box-pack: start; + -moz-box-pack: start; + -o-box-pack: start; + -ms-flex-pack: start; + -webkit-justify-content: flex-start; + justify-content: flex-start; + margin: -8px; + -webkit-box-align: stretch; + -moz-box-align: stretch; + -o-box-align: stretch; + -ms-flex-align: stretch; + -webkit-align-items: stretch; + align-items: stretch; +} +.site-card { + margin: 8px; + width: calc(100% / 4 - 16px); + display: block; + line-height: 1.4; + height: 100%; +} +@media screen and (min-width: 2048px) { + .site-card { + width: calc(100% / 5 - 16px); + } +} +@media screen and (max-width: 768px) { + .site-card { + width: calc(100% / 3 - 16px); + } +} +@media screen and (max-width: 500px) { + .site-card { + width: calc(100% / 2 - 16px); + } +} +.site-card .img { + width: 100%; + height: 120px; + overflow: hidden; + border-radius: 6px; + -webkit-box-shadow: 0 1px 2px 0px rgba(0,0,0,0.2); + box-shadow: 0 1px 2px 0px rgba(0,0,0,0.2); + background: #f6f6f6; +} +@media screen and (max-width: 500px) { + .site-card .img { + height: 100px; + } +} +.site-card .img img { + width: 100%; + height: 100%; + pointer-events: none; + -webkit-transition: -webkit-transform 2s ease; + -moz-transition: -moz-transform 2s ease; + -o-transition: -o-transform 2s ease; + -ms-transition: -ms-transform 2s ease; + transition: transform 2s ease; + object-fit: cover; +} +.site-card .info { + margin-top: 8px; +} +.site-card .info img { + width: 32px; + height: 32px; + pointer-events: none; + border-radius: 16px; + float: left; + margin-right: 8px; + margin-top: 2px; +} +.site-card .info span { + display: block; +} +.site-card .info .title { + font-weight: 600; + font-size: var(--global-font-size); + color: #444; + display: -webkit-box; + -webkit-box-orient: vertical; + overflow: hidden; + -webkit-line-clamp: 1; + -webkit-transition: all 0.28s ease; + -moz-transition: all 0.28s ease; + -o-transition: all 0.28s ease; + -ms-transition: all 0.28s ease; + transition: all 0.28s ease; + -moz-transition: all 0.28s ease; + -webkit-transition: all 0.28s ease; + -o-transition: all 0.28s ease; +} +.site-card .info .desc { + font-size: var(--global-font-size); + word-wrap: break-word; + line-height: 1.2; + color: #888; + display: -webkit-box; + -webkit-box-orient: vertical; + overflow: hidden; + -webkit-line-clamp: 2; +} +.site-card .img { + -webkit-transition: all 0.28s ease; + -moz-transition: all 0.28s ease; + -o-transition: all 0.28s ease; + -ms-transition: all 0.28s ease; + transition: all 0.28s ease; + -moz-transition: all 0.28s ease; + -webkit-transition: all 0.28s ease; + -o-transition: all 0.28s ease; +} +.site-card:hover .img { + -webkit-box-shadow: 0 4px 8px 0px rgba(0,0,0,0.1), 0 2px 4px 0px rgba(0,0,0,0.1), 0 4px 8px 0px rgba(0,0,0,0.1), 0 8px 16px 0px rgba(0,0,0,0.1); + box-shadow: 0 4px 8px 0px rgba(0,0,0,0.1), 0 2px 4px 0px rgba(0,0,0,0.1), 0 4px 8px 0px rgba(0,0,0,0.1), 0 8px 16px 0px rgba(0,0,0,0.1); +} +.site-card:hover .info .title { + color: #ff5722; +} +.recent-posts { + padding: 0 5px 0 5px; + height: fit-content; +} +.recent-posts .recent-post-item { + margin-bottom: 15px; + overflow: hidden; + border-radius: 15px; +} +.recent-posts .recent-post-item .recent-post-content { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + position: relative; +} +.recent-posts .recent-post-item .recent-post-content:hover .recent-post-cover img { + -webkit-transition: all 0.6s ease-in-out; + -moz-transition: all 0.6s ease-in-out; + -o-transition: all 0.6s ease-in-out; + -ms-transition: all 0.6s ease-in-out; + transition: all 0.6s ease-in-out; + scale: 1.08; +} +.recent-posts .recent-post-item .recent-post-content:hover .article-content .article-content-text { + -webkit-transition: all 0.6s ease-in-out; + -moz-transition: all 0.6s ease-in-out; + -o-transition: all 0.6s ease-in-out; + -ms-transition: all 0.6s ease-in-out; + transition: all 0.6s ease-in-out; + scale: 1.08; +} +.recent-posts .recent-post-item .recent-post-content .recent-post-cover { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + background: transparent; +} +.recent-posts .recent-post-item .recent-post-content .recent-post-info { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + background: transparent; + -webkit-box-orient: vertical; + -moz-box-orient: vertical; + -o-box-orient: vertical; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-pack: center; + -moz-box-pack: center; + -o-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; +} +.recent-posts .recent-post-item .recent-post-content .recent-post-info .article-title { + height: 50%; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + text-align: center; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + -webkit-box-pack: end; + -moz-box-pack: end; + -o-box-pack: end; + -ms-flex-pack: end; + -webkit-justify-content: flex-end; + justify-content: flex-end; + -webkit-box-orient: vertical; + -moz-box-orient: vertical; + -o-box-orient: vertical; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; +} +.recent-posts .recent-post-item .recent-post-content .recent-post-info .article-title .article-title-link { + color: var(--text-highlight-color); + -webkit-transition: all 0.2s ease-in-out; + -moz-transition: all 0.2s ease-in-out; + -o-transition: all 0.2s ease-in-out; + -ms-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; + display: -webkit-box; + -webkit-box-orient: vertical; + overflow: hidden; +} +.recent-posts .recent-post-item .recent-post-content .recent-post-info .article-title .article-title-link:hover { + color: var(--theme-color); +} +.recent-posts .recent-post-item .recent-post-content .recent-post-info .recent-post-meta { + height: 50%; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + text-align: center; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + -webkit-box-pack: start; + -moz-box-pack: start; + -o-box-pack: start; + -ms-flex-pack: start; + -webkit-justify-content: flex-start; + justify-content: flex-start; + -webkit-box-orient: vertical; + -moz-box-orient: vertical; + -o-box-orient: vertical; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; +} +.recent-posts .recent-post-item .recent-post-content .recent-post-info .recent-post-meta .article-meta-wrap { + color: #969797; + display: -webkit-box; + -webkit-box-orient: vertical; + overflow: hidden; +} +.recent-posts .recent-post-item .recent-post-content .recent-post-info .recent-post-meta .article-meta-wrap a { + color: var(--text-highlight-color); + -webkit-transition: all 0.2s ease-in-out; + -moz-transition: all 0.2s ease-in-out; + -o-transition: all 0.2s ease-in-out; + -ms-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; + color: #969797; +} +.recent-posts .recent-post-item .recent-post-content .article-content { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + text-align: center; + -webkit-box-orient: horizontal; + -moz-box-orient: horizontal; + -o-box-orient: horizontal; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + -webkit-box-pack: center; + -moz-box-pack: center; + -o-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; +} +.recent-posts .recent-post-item .recent-post-content .article-content .article-content-text { + display: -webkit-box; + -webkit-box-orient: vertical; + -o-text-overflow: ellipsis; + text-overflow: ellipsis; + overflow: hidden; + color: #fff; + text-shadow: 1px 2px 3px #000; +} +.recent-posts .recent-post-item.ads-wrap { + display: block !important; + height: auto !important; +} +.recent-posts nav#pagination { + width: 100%; +} +.recent-posts { + padding: 0 5px 0 5px; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-orient: horizontal; + -moz-box-orient: horizontal; + -o-box-orient: horizontal; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + -webkit-box-lines: multiple; + -moz-box-lines: multiple; + -o-box-lines: multiple; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; +} +.recent-posts .recent-post-item { + border-radius: 15px; + overflow: hidden; +} +.recent-posts .recent-post-item .recent-post-content { + -webkit-box-orient: vertical; + -moz-box-orient: vertical; + -o-box-orient: vertical; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-lines: single; + -moz-box-lines: single; + -o-box-lines: single; + -webkit-flex-wrap: nowrap; + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + max-height: 350px; + height: auto; + width: 100%; +} +.recent-posts .recent-post-item .recent-post-content .recent-post-cover { + width: 100%; + height: 200px; + clip-path: polygon(0 130px, 0 0, 100% 0, 100% 130px, 50% 100%); +} +.recent-posts .recent-post-item .recent-post-content .recent-post-cover img { + height: 200px; + width: 100%; + object-fit: cover; +} +.recent-posts .recent-post-item .recent-post-content .recent-post-info { + height: 150px; + width: 100%; + padding: 0px 25px 5px 25px; +} +.recent-posts .recent-post-item .recent-post-content .recent-post-info .article-title { + margin: 0px 40px; + font-size: 19px; +} +.recent-posts .recent-post-item .recent-post-content .recent-post-info .article-title .article-title-link { + -webkit-line-clamp: 2; +} +.recent-posts .recent-post-item .recent-post-content .recent-post-info .recent-post-meta { + margin: 0px 20px; +} +.recent-posts .recent-post-item .recent-post-content .recent-post-info .recent-post-meta .article-meta-wrap { + font-size: 13px; + -webkit-line-clamp: 3; +} +.recent-posts .recent-post-item .recent-post-content .article-content { + position: absolute; + height: 200px; + width: 100%; + background: rgba(25,25,25,0.4); + clip-path: polygon(0 130px, 0 0, 100% 0, 100% 130px, 50% 100%); +} +.recent-posts .recent-post-item .recent-post-content .article-content .article-content-text { + -webkit-line-clamp: 3; + font-size: 16px; + margin: 0px 25px 30px 25px; +} +.recent-posts .recent-post-item .recent-post-content .article-content .article-content-text::before { + content: "「"; + font-size: 20px; +} +.recent-posts .recent-post-item .recent-post-content .article-content .article-content-text::after { + content: "」"; + font-size: 20px; +} +.recent-posts .recent-post-item .recent-post-content .recent-post-arrow { + display: block; + background: var(--text-bg-hover); + position: absolute; + height: 10px; + width: 20px; + clip-path: polygon(0 0, 100% 0, 50% 100%); +} +@media screen and (min-width: 1069px) { + .recent-posts .recent-post-item { + width: 32.3%; + margin: 0px 1% 20px 0px; + } + .recent-posts .recent-post-item .recent-post-content .recent-post-info .article-title { + margin: 0px 5px; + } + .recent-posts .recent-post-item .recent-post-content .recent-post-info .article-title .article-title-link { + -webkit-line-clamp: 1; + } + .recent-posts .recent-post-item .recent-post-content .recent-post-info .recent-post-meta { + margin: 0px 5px; + } + .recent-posts .recent-post-item .recent-post-content .recent-post-info .recent-post-meta .article-meta-wrap { + -webkit-line-clamp: 2; + } +} +@media screen and (min-width: 572px) and (max-width: 1068px) { + .recent-posts .recent-post-item { + width: 47%; + margin: 0px 3% 20px 0px; + } +} +@media screen and (max-width: 572px) { + .recent-posts .recent-post-item { + width: 100%; + } +} +.tag-cloud-list a { + display: inline-block; + padding: 0 8px; + -webkit-transition: all 0.3s; + -moz-transition: all 0.3s; + -o-transition: all 0.3s; + -ms-transition: all 0.3s; + transition: all 0.3s; +} +.tag-cloud-list a:hover { + color: #49b1f5 !important; + -webkit-transform: scale(1.1); + -moz-transform: scale(1.1); + -o-transform: scale(1.1); + -ms-transform: scale(1.1); + transform: scale(1.1); +} +@media screen and (max-width: 768px) { + .tag-cloud-list a { + zoom: 0.85; + } +} +.tag-cloud-title { + font-size: 2.57em; +} +@media screen and (max-width: 768px) { + .tag-cloud-title { + font-size: 2em; + } +} +h1.page-title + .tag-cloud-list { + text-align: left; +} +#aside-content { + width: 26%; +} +@media screen and (min-width: 900px) { + #aside-content { + padding-left: 15px; + } +} +@media screen and (max-width: 900px) { + #aside-content { + width: 100%; + } +} +#aside-content > .card-widget:first-child { + margin-top: 0; +} +@media screen and (max-width: 900px) { + #aside-content > .card-widget:first-child { + margin-top: 20px; + } +} +#aside-content .card-widget { + position: relative; + overflow: hidden; + margin-top: 20px; + padding: 20px 24px; +} +#aside-content .card-info .author-info__name { + font-weight: 500; + font-size: 1.57em; +} +#aside-content .card-info .author-info__description { + margin-top: -0.42em; +} +#aside-content .card-info .card-info-data { + margin: 14px 0 4px; +} +#aside-content .card-info .card-info-social-icons { + margin: 6px 0 -6px; +} +#aside-content .card-info .card-info-social-icons .social-icon { + margin: 0 10px; + color: var(--font-color); + font-size: 1.4em; +} +#aside-content .card-info .card-info-social-icons i { + -webkit-transition: all 0.3s; + -moz-transition: all 0.3s; + -o-transition: all 0.3s; + -ms-transition: all 0.3s; + transition: all 0.3s; +} +#aside-content .card-info .card-info-social-icons i:hover { + -webkit-transform: rotate(540deg); + -moz-transform: rotate(540deg); + -o-transform: rotate(540deg); + -ms-transform: rotate(540deg); + transform: rotate(540deg); +} +#aside-content .card-info #card-info-btn { + display: block; + margin-top: 14px; + background-color: var(--btn-bg); + color: var(--btn-color); + text-align: center; + line-height: 2.4; +} +#aside-content .card-info #card-info-btn:hover { + background-color: var(--btn-hover-color); +} +#aside-content .card-info #card-info-btn span { + padding-left: 10px; +} +#aside-content .item-headline { + padding-bottom: 6px; + font-size: 1.2em; +} +#aside-content .item-headline span { + margin-left: 6px; +} +@media screen and (min-width: 900px) { + #aside-content .sticky_layout { + position: sticky; + position: -webkit-sticky; + top: 20px; + -webkit-transition: top 0.3s; + -moz-transition: top 0.3s; + -o-transition: top 0.3s; + -ms-transition: top 0.3s; + transition: top 0.3s; + } +} +#aside-content .card-tag-cloud a { + display: inline-block; + padding: 0 4px; +} +#aside-content .card-tag-cloud a:hover { + color: #49b1f5 !important; +} +#aside-content .aside-list > span { + display: block; + margin-bottom: 10px; + text-align: center; +} +#aside-content .aside-list > .aside-list-item { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + padding: 6px 0; +} +#aside-content .aside-list > .aside-list-item:first-child { + padding-top: 0; +} +#aside-content .aside-list > .aside-list-item:not(:last-child) { + border-bottom: 1px dashed #f5f5f5; +} +#aside-content .aside-list > .aside-list-item:last-child { + padding-bottom: 0; +} +#aside-content .aside-list > .aside-list-item .thumbnail { + overflow: hidden; + width: 4.2em; + height: 4.2em; +} +#aside-content .aside-list > .aside-list-item .content { + -webkit-box-flex: 1; + -moz-box-flex: 1; + -o-box-flex: 1; + box-flex: 1; + -webkit-flex: 1; + -ms-flex: 1; + flex: 1; + padding-left: 10px; + word-break: break-all; +} +#aside-content .aside-list > .aside-list-item .content > .name { + -webkit-line-clamp: 1; +} +#aside-content .aside-list > .aside-list-item .content > time, +#aside-content .aside-list > .aside-list-item .content > .name { + display: block; + color: #858585; + font-size: 85%; +} +#aside-content .aside-list > .aside-list-item .content > .title, +#aside-content .aside-list > .aside-list-item .content > .comment { + color: var(--font-color); + font-size: 95%; + line-height: 1.5; + -webkit-line-clamp: 2; +} +#aside-content .aside-list > .aside-list-item .content > .title:hover, +#aside-content .aside-list > .aside-list-item .content > .comment:hover { + color: #49b1f5; +} +#aside-content .aside-list > .aside-list-item.no-cover { + min-height: 4.4em; +} +#aside-content .card-archives ul.card-archive-list, +#aside-content .card-categories ul.card-category-list { + margin: 0; + padding: 0; + list-style: none; +} +#aside-content .card-archives ul.card-archive-list > .card-archive-list-item a, +#aside-content .card-categories ul.card-category-list > .card-category-list-item a { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-orient: horizontal; + -moz-box-orient: horizontal; + -o-box-orient: horizontal; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + padding: 3px 10px; + color: var(--font-color); + -webkit-transition: all 0.4s; + -moz-transition: all 0.4s; + -o-transition: all 0.4s; + -ms-transition: all 0.4s; + transition: all 0.4s; +} +#aside-content .card-archives ul.card-archive-list > .card-archive-list-item a:hover, +#aside-content .card-categories ul.card-category-list > .card-category-list-item a:hover { + padding: 3px 17px; + background-color: var(--text-bg-hover); +} +#aside-content .card-archives ul.card-archive-list > .card-archive-list-item a span:first-child, +#aside-content .card-categories ul.card-category-list > .card-category-list-item a span:first-child { + -webkit-box-flex: 1; + -moz-box-flex: 1; + -o-box-flex: 1; + box-flex: 1; + -webkit-flex: 1; + -ms-flex: 1; + flex: 1; +} +#aside-content .card-categories .card-category-list.child { + padding: 0 0 0 16px; +} +#aside-content .card-categories .card-category-list > .parent > a .card-category-list-name { + width: 70% !important; +} +#aside-content .card-categories .card-category-list > .parent > a .card-category-list-count { + width: calc(100% - 70% - 20px); + text-align: right; +} +#aside-content .card-categories .card-category-list > .parent i { + float: right; + margin-right: -0.5em; + padding: 0.5em; + -webkit-transition: -webkit-transform 0.3s; + -moz-transition: -moz-transform 0.3s; + -o-transition: -o-transform 0.3s; + -ms-transition: -ms-transform 0.3s; + transition: transform 0.3s; + -webkit-transform: rotate(0); + -moz-transform: rotate(0); + -o-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); +} +#aside-content .card-categories .card-category-list > .parent i.expand { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); +} +#aside-content .card-webinfo .webinfo .webinfo-item { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + padding: 2px 10px 0; +} +#aside-content .card-webinfo .webinfo .webinfo-item div:first-child { + -webkit-box-flex: 1; + -moz-box-flex: 1; + -o-box-flex: 1; + box-flex: 1; + -webkit-flex: 1; + -ms-flex: 1; + flex: 1; + padding-right: 20px; +} +@media screen and (min-width: 901px) { + #aside-content #card-toc { + right: 0 !important; + } +} +@media screen and (max-width: 900px) { + #aside-content #card-toc { + position: fixed; + right: -100%; + bottom: 30px; + z-index: 100; + max-width: 380px; + max-height: calc(100% - 60px); + width: calc(100% - 80px); + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + -webkit-transition: initial; + -moz-transition: initial; + -o-transition: initial; + -ms-transition: initial; + transition: initial; + -webkit-transform-origin: right bottom; + -moz-transform-origin: right bottom; + -o-transform-origin: right bottom; + -ms-transform-origin: right bottom; + transform-origin: right bottom; + } +} +#aside-content #card-toc .toc-percentage { + float: right; + margin-top: -9px; + color: #a9a9a9; + font-style: italic; + font-size: 140%; +} +#aside-content #card-toc .toc-content { + overflow-y: scroll; + overflow-y: overlay; + margin: 0 -24px; + max-height: calc(100vh - 120px); +} +@media screen and (max-width: 900px) { + #aside-content #card-toc .toc-content { + max-height: calc(100vh - 140px); + } +} +#aside-content #card-toc .toc-content > * { + margin: 0 20px !important; +} +#aside-content #card-toc .toc-content > * > .toc-item > .toc-child { + margin-left: 10px; + padding-left: 10px; + border-left: 1px solid var(--dark-grey); +} +#aside-content #card-toc .toc-content:not(.is-expand) .toc-child { + display: none; +} +@media screen and (max-width: 900px) { + #aside-content #card-toc .toc-content:not(.is-expand) .toc-child { + display: block !important; + } +} +#aside-content #card-toc .toc-content:not(.is-expand) .toc-item.active .toc-child { + display: block; +} +#aside-content #card-toc .toc-content ol, +#aside-content #card-toc .toc-content li { + list-style: none; +} +#aside-content #card-toc .toc-content > ol { + padding: 0 !important; +} +#aside-content #card-toc .toc-content ol { + margin: 0; + padding-left: 18px; +} +#aside-content #card-toc .toc-content .toc-link { + display: block; + margin: 4px 0; + padding: 1px 6px; + color: var(--toc-link-color); + -webkit-transition: all 0.2s ease-in-out; + -moz-transition: all 0.2s ease-in-out; + -o-transition: all 0.2s ease-in-out; + -ms-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; +} +#aside-content #card-toc .toc-content .toc-link:hover { + color: #49b1f5; +} +#aside-content #card-toc .toc-content .toc-link.active { + background: #00c4b6; + color: #fff; +} +#aside-content :only-child > .card-widget { + margin-top: 0; +} +#aside-content .card-more-btn { + float: right; + color: inherit; +} +#aside-content .card-more-btn:hover { + -webkit-animation: more-btn-move 1s infinite; + -moz-animation: more-btn-move 1s infinite; + -o-animation: more-btn-move 1s infinite; + -ms-animation: more-btn-move 1s infinite; + animation: more-btn-move 1s infinite; +} +#aside-content .card-announcement .item-headline i { + color: #f00; +} +.avatar-img { + overflow: hidden; + margin: 0 auto; + width: 110px; + height: 110px; + border-radius: 70px; +} +.avatar-img img { + width: 100%; + height: 100%; + -webkit-transition: filter 1000ms cubic-bezier(0.38, 0.21, 0.94, 0.1) 0.2s, -webkit-transform 1s; + -moz-transition: filter 1000ms cubic-bezier(0.38, 0.21, 0.94, 0.1) 0.2s, -moz-transform 1s; + -o-transition: filter 1000ms cubic-bezier(0.38, 0.21, 0.94, 0.1) 0.2s, -o-transform 1s; + -ms-transition: filter 1000ms cubic-bezier(0.38, 0.21, 0.94, 0.1) 0.2s, -ms-transform 1s; + transition: filter 1000ms cubic-bezier(0.38, 0.21, 0.94, 0.1) 0.2s, transform 1s; + object-fit: cover; +} +.avatar-img img:hover { + -webkit-transform: rotate(360deg); + -moz-transform: rotate(360deg); + -o-transform: rotate(360deg); + -ms-transform: rotate(360deg); + transform: rotate(360deg); +} +.site-data { + display: table; + width: 100%; + table-layout: fixed; +} +.site-data > a { + display: table-cell; +} +.site-data > a div { + -webkit-transition: all 0.3s; + -moz-transition: all 0.3s; + -o-transition: all 0.3s; + -ms-transition: all 0.3s; + transition: all 0.3s; +} +.site-data > a:hover div { + color: #49b1f5 !important; +} +.site-data > a .headline { + color: var(--font-color); +} +.site-data > a .length-num { + margin-top: -0.32em; + color: var(--text-highlight-color); + font-size: 1.4em; +} +@media screen and (min-width: 900px) { + html.hide-aside .layout { + -webkit-box-pack: center; + -moz-box-pack: center; + -o-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; + } + html.hide-aside .layout > .aside-content { + display: none; + } + html.hide-aside .layout > div:first-child { + width: 80%; + } +} +.page .sticky_layout { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-orient: vertical; + -moz-box-orient: vertical; + -o-box-orient: vertical; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; +} +@-moz-keyframes more-btn-move { + 0%, 100% { + -webkit-transform: translateX(0); + -moz-transform: translateX(0); + -o-transform: translateX(0); + -ms-transform: translateX(0); + transform: translateX(0); + } + 50% { + -webkit-transform: translateX(3px); + -moz-transform: translateX(3px); + -o-transform: translateX(3px); + -ms-transform: translateX(3px); + transform: translateX(3px); + } +} +@-webkit-keyframes more-btn-move { + 0%, 100% { + -webkit-transform: translateX(0); + -moz-transform: translateX(0); + -o-transform: translateX(0); + -ms-transform: translateX(0); + transform: translateX(0); + } + 50% { + -webkit-transform: translateX(3px); + -moz-transform: translateX(3px); + -o-transform: translateX(3px); + -ms-transform: translateX(3px); + transform: translateX(3px); + } +} +@-o-keyframes more-btn-move { + 0%, 100% { + -webkit-transform: translateX(0); + -moz-transform: translateX(0); + -o-transform: translateX(0); + -ms-transform: translateX(0); + transform: translateX(0); + } + 50% { + -webkit-transform: translateX(3px); + -moz-transform: translateX(3px); + -o-transform: translateX(3px); + -ms-transform: translateX(3px); + transform: translateX(3px); + } +} +@keyframes more-btn-move { + 0%, 100% { + -webkit-transform: translateX(0); + -moz-transform: translateX(0); + -o-transform: translateX(0); + -ms-transform: translateX(0); + transform: translateX(0); + } + 50% { + -webkit-transform: translateX(3px); + -moz-transform: translateX(3px); + -o-transform: translateX(3px); + -ms-transform: translateX(3px); + transform: translateX(3px); + } +} +@-moz-keyframes toc-open { + 0% { + -webkit-transform: scale(0.7); + -moz-transform: scale(0.7); + -o-transform: scale(0.7); + -ms-transform: scale(0.7); + transform: scale(0.7); + } + 100% { + -webkit-transform: scale(1); + -moz-transform: scale(1); + -o-transform: scale(1); + -ms-transform: scale(1); + transform: scale(1); + } +} +@-webkit-keyframes toc-open { + 0% { + -webkit-transform: scale(0.7); + -moz-transform: scale(0.7); + -o-transform: scale(0.7); + -ms-transform: scale(0.7); + transform: scale(0.7); + } + 100% { + -webkit-transform: scale(1); + -moz-transform: scale(1); + -o-transform: scale(1); + -ms-transform: scale(1); + transform: scale(1); + } +} +@-o-keyframes toc-open { + 0% { + -webkit-transform: scale(0.7); + -moz-transform: scale(0.7); + -o-transform: scale(0.7); + -ms-transform: scale(0.7); + transform: scale(0.7); + } + 100% { + -webkit-transform: scale(1); + -moz-transform: scale(1); + -o-transform: scale(1); + -ms-transform: scale(1); + transform: scale(1); + } +} +@keyframes toc-open { + 0% { + -webkit-transform: scale(0.7); + -moz-transform: scale(0.7); + -o-transform: scale(0.7); + -ms-transform: scale(0.7); + transform: scale(0.7); + } + 100% { + -webkit-transform: scale(1); + -moz-transform: scale(1); + -o-transform: scale(1); + -ms-transform: scale(1); + transform: scale(1); + } +} +@-moz-keyframes toc-close { + 0% { + -webkit-transform: scale(1); + -moz-transform: scale(1); + -o-transform: scale(1); + -ms-transform: scale(1); + transform: scale(1); + } + 100% { + -webkit-transform: scale(0.7); + -moz-transform: scale(0.7); + -o-transform: scale(0.7); + -ms-transform: scale(0.7); + transform: scale(0.7); + } +} +@-webkit-keyframes toc-close { + 0% { + -webkit-transform: scale(1); + -moz-transform: scale(1); + -o-transform: scale(1); + -ms-transform: scale(1); + transform: scale(1); + } + 100% { + -webkit-transform: scale(0.7); + -moz-transform: scale(0.7); + -o-transform: scale(0.7); + -ms-transform: scale(0.7); + transform: scale(0.7); + } +} +@-o-keyframes toc-close { + 0% { + -webkit-transform: scale(1); + -moz-transform: scale(1); + -o-transform: scale(1); + -ms-transform: scale(1); + transform: scale(1); + } + 100% { + -webkit-transform: scale(0.7); + -moz-transform: scale(0.7); + -o-transform: scale(0.7); + -ms-transform: scale(0.7); + transform: scale(0.7); + } +} +@keyframes toc-close { + 0% { + -webkit-transform: scale(1); + -moz-transform: scale(1); + -o-transform: scale(1); + -ms-transform: scale(1); + transform: scale(1); + } + 100% { + -webkit-transform: scale(0.7); + -moz-transform: scale(0.7); + -o-transform: scale(0.7); + -ms-transform: scale(0.7); + transform: scale(0.7); + } +} +:root { + --card-friend-class-desc-bgcolor: #e7e7e7; + --card-friend-name-color: #000; + --card-friend-item-hover: var(--text-bg-hover); + --card-friend-descr-color: #797979; +} +[data-theme="dark"] { + --card-friend-class-desc-bgcolor: #111; + --card-friend-name-color: #fff; + --card-friend-item-hover: var(--text-bg-hover); + --card-friend-descr-color: #797979; +} +#aside-content .card-widget.card-friend-link { + padding: 20px; +} +.card-widget.card-friend-link .card-friend-link-container { + max-height: 460px; + overflow: scroll; +} +.card-widget.card-friend-link .card-friend-link-container::-webkit-scrollbar { + display: none; +} +.card-widget.card-friend-link summary.card-friend-class-desc { + padding: 0px 15px; +} +.card-widget.card-friend-link details.card-friend-class-name[open] summary.card-friend-class-desc { + position: sticky; + top: 0px; + background: var(--card-friend-class-desc-bgcolor); + z-index: 1; +} +.card-widget.card-friend-link a.card-friend-item { + padding: 0px 15px; + height: 60px; + width: auto; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + -webkit-box-lines: single; + -moz-box-lines: single; + -o-box-lines: single; + -webkit-flex-wrap: nowrap; + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; +} +.card-widget.card-friend-link a.card-friend-item:hover { + background-color: var(--card-friend-item-hover); + border-radius: 12px; + -webkit-transition: all 0.3s ease-in-out; + -moz-transition: all 0.3s ease-in-out; + -o-transition: all 0.3s ease-in-out; + -ms-transition: all 0.3s ease-in-out; + transition: all 0.3s ease-in-out; +} +.card-widget.card-friend-link img.card-friend-avatar { + width: 40px; + height: 40px; + border-radius: 50%; + margin: 10px 10px; +} +.card-widget.card-friend-link .offline-friend-link img.card-friend-avatar { + filter: grayscale(100%); +} +.card-widget.card-friend-link .card-friend-details { + width: auto; + height: 60px; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-lines: single; + -moz-box-lines: single; + -o-box-lines: single; + -webkit-flex-wrap: nowrap; + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + -webkit-box-orient: vertical; + -moz-box-orient: vertical; + -o-box-orient: vertical; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-pack: center; + -moz-box-pack: center; + -o-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; + -webkit-box-align: start; + -moz-box-align: start; + -o-box-align: start; + -ms-flex-align: start; + -webkit-align-items: flex-start; + align-items: flex-start; +} +.card-widget.card-friend-link .card-friend-name { + color: var(--card-friend-name-color); +} +.card-widget.card-friend-link .card-friend-descr { + font-size: 12px; + white-space: nowrap; + overflow: hidden; + -o-text-overflow: ellipsis; + text-overflow: ellipsis; + width: 12em; + color: var(--card-friend-descr-color); +} +#post-comment .comment-head { + margin-bottom: 20px; +} +#post-comment .comment-head .comment-headline { + display: inline-block; + vertical-align: middle; + font-weight: 700; + font-size: 1.43em; +} +#post-comment .comment-head #comment-switch { + display: inline-block; + float: right; + margin: 2px auto 0; + padding: 4px 16px; + width: max-content; + border-radius: 8px; + background: #f6f8fa; +} +#post-comment .comment-head #comment-switch .first-comment { + color: #49b1f5; +} +#post-comment .comment-head #comment-switch .second-comment { + color: #ff7242; +} +#post-comment .comment-head #comment-switch .switch-btn { + position: relative; + display: inline-block; + margin: -4px 8px 0; + width: 42px; + height: 22px; + border-radius: 34px; + background-color: #49b1f5; + vertical-align: middle; + -webkit-transition: 0.4s; + -moz-transition: 0.4s; + -o-transition: 0.4s; + -ms-transition: 0.4s; + transition: 0.4s; +} +#post-comment .comment-head #comment-switch .switch-btn:before { + position: absolute; + bottom: 4px; + left: 4px; + width: 14px; + height: 14px; + border-radius: 50%; + background-color: #fff; + content: ''; + -webkit-transition: 0.4s; + -moz-transition: 0.4s; + -o-transition: 0.4s; + -ms-transition: 0.4s; + transition: 0.4s; +} +#post-comment .comment-head #comment-switch .switch-btn.move { + background-color: #ff7242; +} +#post-comment .comment-head #comment-switch .switch-btn.move:before { + -webkit-transform: translateX(20px); + -moz-transform: translateX(20px); + -o-transform: translateX(20px); + -ms-transform: translateX(20px); + transform: translateX(20px); +} +#post-comment .comment-wrap > div:nth-child(2) { + display: none; +} +#footer { + position: relative; + background-attachment: scroll; + background-position: bottom; + background-size: cover; +} +#footer:before { + position: absolute; + width: 100%; + height: 100%; + background-color: rgba(0,0,0,0.3); + content: ''; +} +#footer-wrap { + position: relative; + padding: 40px 20px; + color: var(--light-grey); + text-align: center; +} +#footer-wrap a { + color: var(--light-grey); +} +#footer-wrap a:hover { + text-decoration: underline; +} +#footer-wrap .footer-separator { + margin: 0 4px; +} +#footer-wrap .icp-icon { + padding: 0 4px; + max-height: 1.4em; + width: auto; + vertical-align: text-bottom; +} +#page-header { + position: relative; + width: 100%; + background-position: center center; + background-size: cover; + background-repeat: no-repeat; + -webkit-transition: all 0.5s; + -moz-transition: all 0.5s; + -o-transition: all 0.5s; + -ms-transition: all 0.5s; + transition: all 0.5s; +} +#page-header:not(.not-top-img):before { + position: absolute; + width: 100%; + height: 100%; + background-color: rgba(0,0,0,0.3); + content: ''; +} +#page-header.full_page { + height: 100vh; + background-attachment: fixed; +} +#page-header.full_page #site-info { + position: absolute; + top: 43%; + padding: 0 10px; + width: 100%; +} +#page-header #site-title, +#page-header #site-subtitle, +#page-header #scroll-down .scroll-down-effects { + text-align: center; + text-shadow: 2px 2px 4px rgba(0,0,0,0.15); + line-height: 1.5; +} +#page-header #site-title { + margin: 0; + color: var(--white); + font-size: 1.85em; +} +@media screen and (min-width: 768px) { + #page-header #site-title { + font-size: 2.85em; + } +} +#page-header #site-subtitle { + color: var(--light-grey); + font-size: 1.15em; +} +@media screen and (min-width: 768px) { + #page-header #site-subtitle { + font-size: 1.72em; + } +} +#page-header #site_social_icons { + display: none; + margin: 0 auto; + width: 300px; + text-align: center; +} +@media screen and (max-width: 768px) { + #page-header #site_social_icons { + display: block; + } +} +#page-header #site_social_icons .social-icon { + margin: 0 10px; + color: var(--light-grey); + text-shadow: 2px 2px 4px rgba(0,0,0,0.15); + font-size: 1.43em; +} +#page-header #scroll-down { + position: absolute; + bottom: 0; + width: 100%; +} +#page-header #scroll-down .scroll-down-effects { + position: relative; + width: 100%; + color: var(--light-grey); + font-size: 30px; +} +#page-header.not-home-page { + height: 400px; +} +@media screen and (max-width: 768px) { + #page-header.not-home-page { + height: 280px; + } +} +#page-header #page-site-info { + position: absolute; + top: 200px; + padding: 0 10px; + width: 100%; +} +@media screen and (max-width: 768px) { + #page-header #page-site-info { + top: 140px; + } +} +#page-header.post-bg { + height: 400px; +} +@media screen and (max-width: 768px) { + #page-header.post-bg { + height: 360px; + } +} +#page-header.post-bg:before { + background-color: rgba(0,0,0,0.5); +} +#page-header #post-info { + position: absolute; + bottom: 100px; + padding: 0 8%; + width: 100%; + text-align: center; +} +@media screen and (max-width: 900px) { + #page-header #post-info { + bottom: 30px; + text-align: left; + } +} +@media screen and (max-width: 768px) { + #page-header #post-info { + bottom: 22px; + padding: 0 22px; + } +} +#page-header.not-top-img { + margin-bottom: 10px; + height: 60px; + background: 0; +} +#page-header.not-top-img #nav { + background: rgba(255,255,255,0.8); + -webkit-box-shadow: 0 5px 6px -5px rgba(133,133,133,0.6); + box-shadow: 0 5px 6px -5px rgba(133,133,133,0.6); +} +#page-header.not-top-img #nav a { + color: var(--font-color); + text-shadow: none; +} +#page-header.nav-fixed #nav { + position: fixed; + top: -60px; + z-index: 91; + background: rgba(255,255,255,0.8); + -webkit-box-shadow: 0 5px 6px -5px rgba(133,133,133,0.6); + box-shadow: 0 5px 6px -5px rgba(133,133,133,0.6); + -webkit-transition: -webkit-transform 0.2s ease-in-out, opacity 0.2s ease-in-out; + -moz-transition: -moz-transform 0.2s ease-in-out, opacity 0.2s ease-in-out; + -o-transition: -o-transform 0.2s ease-in-out, opacity 0.2s ease-in-out; + -ms-transition: -ms-transform 0.2s ease-in-out, opacity 0.2s ease-in-out; + transition: transform 0.2s ease-in-out, opacity 0.2s ease-in-out; +} +#page-header.nav-fixed #nav a, +#page-header.nav-fixed #nav #site-name, +#page-header.nav-fixed #nav #toggle-menu { + color: var(--font-color); + text-shadow: none; +} +#page-header.nav-fixed #nav a:hover, +#page-header.nav-fixed #nav #site-name:hover, +#page-header.nav-fixed #nav #toggle-menu:hover { + color: #49b1f5; +} +#page-header.nav-visible #nav { + -webkit-transition: all 0.5s; + -moz-transition: all 0.5s; + -o-transition: all 0.5s; + -ms-transition: all 0.5s; + transition: all 0.5s; + -webkit-transform: translate3d(0, 100%, 0); + -moz-transform: translate3d(0, 100%, 0); + -o-transform: translate3d(0, 100%, 0); + -ms-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); +} +#page-header.nav-visible + .layout > .aside-content > .sticky_layout { + top: 70px; + -webkit-transition: top 0.5s; + -moz-transition: top 0.5s; + -o-transition: top 0.5s; + -ms-transition: top 0.5s; + transition: top 0.5s; +} +#page h1.page-title { + margin: 8px 0 20px; +} +#post > #post-info { + margin-bottom: 30px; +} +#post > #post-info .post-title { + padding-bottom: 4px; + border-bottom: 1px solid var(--light-grey); + color: var(--text-highlight-color); +} +#post > #post-info .post-title .post-edit-link { + float: right; +} +#post > #post-info #post-meta, +#post > #post-info #post-meta a { + color: #78818a; +} +#post-info .post-title { + margin-bottom: 8px; + color: var(--white); + font-weight: normal; + font-size: 2.5em; + line-height: 1.5; + -webkit-line-clamp: 3; +} +@media screen and (max-width: 768px) { + #post-info .post-title { + font-size: 2.1em; + } +} +#post-info .post-title .post-edit-link { + padding-left: 10px; +} +#post-info #post-meta { + color: var(--light-grey); + font-size: 95%; +} +@media screen and (min-width: 768px) { + #post-info #post-meta > .meta-secondline > span:first-child { + display: none; + } +} +@media screen and (max-width: 768px) { + #post-info #post-meta { + font-size: 90%; + } + #post-info #post-meta > .meta-firstline, + #post-info #post-meta > .meta-secondline { + display: inline; + } +} +#post-info #post-meta .post-meta-separator { + margin: 0 8px; +} +#post-info #post-meta .post-meta-icon { + margin-right: 4px; +} +#post-info #post-meta .post-meta-label { + margin-right: 4px; +} +#post-info #post-meta a { + color: var(--light-grey); + -webkit-transition: all 0.3s ease-out; + -moz-transition: all 0.3s ease-out; + -o-transition: all 0.3s ease-out; + -ms-transition: all 0.3s ease-out; + transition: all 0.3s ease-out; +} +#post-info #post-meta a:hover { + color: #49b1f5; + text-decoration: underline; +} +#post-info #post-meta time { + display: none; +} +#nav { + position: absolute; + top: 0; + z-index: 90; + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-align: center; + -moz-box-align: center; + -o-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + padding: 0 36px; + width: 100%; + height: 60px; + font-size: 1.3em; + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + -webkit-transition: all 0.5s; + -moz-transition: all 0.5s; + -o-transition: all 0.5s; + -ms-transition: all 0.5s; + transition: all 0.5s; +} +@media screen and (max-width: 768px) { + #nav { + padding: 0 16px; + } +} +#nav.show { + opacity: 1; + -ms-filter: none; + filter: none; +} +#nav #blog_name { + -webkit-box-flex: 1; + -moz-box-flex: 1; + -o-box-flex: 1; + box-flex: 1; + -webkit-flex: 1; + -ms-flex: 1; + flex: 1; +} +#nav #toggle-menu { + display: none; + padding: 2px 0 0 6px; + vertical-align: top; +} +#nav #toggle-menu:hover { + color: var(--white); +} +#nav a { + color: var(--light-grey); +} +#nav a:hover { + color: var(--white); +} +#nav #site-name { + text-shadow: 2px 2px 4px rgba(0,0,0,0.15); + font-weight: bold; +} +#nav .menus_items { + display: inline; +} +#nav .menus_items .menus_item { + position: relative; + display: inline-block; + padding: 0 0 0 14px; +} +#nav .menus_items .menus_item:hover .menus_item_child { + display: block; +} +#nav .menus_items .menus_item:hover > a > i:last-child { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); +} +#nav .menus_items .menus_item > a > i:last-child { + padding: 4px; + -webkit-transition: -webkit-transform 0.3s; + -moz-transition: -moz-transform 0.3s; + -o-transition: -o-transform 0.3s; + -ms-transition: -ms-transform 0.3s; + transition: transform 0.3s; +} +#nav .menus_items .menus_item .menus_item_child { + position: absolute; + right: 0; + display: none; + margin-top: 8px; + padding: 0; + width: max-content; + background-color: var(--sidebar-bg); + -webkit-box-shadow: 0 5px 20px -4px rgba(0,0,0,0.5); + box-shadow: 0 5px 20px -4px rgba(0,0,0,0.5); + -webkit-animation: sub_menus 0.3s 0.1s ease both; + -moz-animation: sub_menus 0.3s 0.1s ease both; + -o-animation: sub_menus 0.3s 0.1s ease both; + -ms-animation: sub_menus 0.3s 0.1s ease both; + animation: sub_menus 0.3s 0.1s ease both; + border-radius: 5px; +} +#nav .menus_items .menus_item .menus_item_child:before { + position: absolute; + top: -8px; + left: 0; + width: 100%; + height: 20px; + content: ''; +} +#nav .menus_items .menus_item .menus_item_child li { + list-style: none; +} +#nav .menus_items .menus_item .menus_item_child li:hover { + background: var(--text-bg-hover); +} +#nav .menus_items .menus_item .menus_item_child li:first-child { + border-radius: 5px 5px 0 0; +} +#nav .menus_items .menus_item .menus_item_child li:last-child { + border-radius: 0 0 5px 5px; +} +#nav .menus_items .menus_item .menus_item_child li a { + display: inline-block; + padding: 8px 16px; + width: 100%; + color: var(--font-color) !important; + text-shadow: none !important; +} +#nav.hide-menu #toggle-menu { + display: inline-block !important; +} +#nav.hide-menu #toggle-menu .site-page { + font-size: inherit; +} +#nav.hide-menu .menus_items { + display: none; +} +#nav.hide-menu #search-button span { + display: none; +} +#nav #search-button { + display: inline; + padding: 0px; +} +#nav .site-page { + position: relative; + padding-bottom: 6px; + text-shadow: 1px 1px 2px rgba(0,0,0,0.3); + font-size: 0.78em; +} +#nav .site-page:not(.child):after { + position: absolute; + bottom: 0; + left: 0; + z-index: -1; + width: 0; + height: 3px; + background-color: #80c8f8; + content: ''; + -webkit-transition: all 0.3s ease-in-out; + -moz-transition: all 0.3s ease-in-out; + -o-transition: all 0.3s ease-in-out; + -ms-transition: all 0.3s ease-in-out; + transition: all 0.3s ease-in-out; +} +#nav .site-page:not(.child):hover:after { + width: 100%; +} +.loading-bg { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + width: 100%; + height: 100%; + position: fixed; + background: var(--loading-color); + z-index: 1001; + opacity: 1; + -ms-filter: none; + filter: none; + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -o-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; +} +#loading-box .loading-img { + width: 100px; + height: 100px; + border-radius: 50%; + margin: auto; + border: 4px solid #f0f0f2; + -webkit-animation-duration: 0.3s; + -moz-animation-duration: 0.3s; + -o-animation-duration: 0.3s; + -ms-animation-duration: 0.3s; + animation-duration: 0.3s; + -webkit-animation-name: loadingAction; + -moz-animation-name: loadingAction; + -o-animation-name: loadingAction; + -ms-animation-name: loadingAction; + animation-name: loadingAction; + -webkit-animation-iteration-count: infinite; + -moz-animation-iteration-count: infinite; + -o-animation-iteration-count: infinite; + -ms-animation-iteration-count: infinite; + animation-iteration-count: infinite; + -webkit-animation-direction: alternate; + -moz-animation-direction: alternate; + -o-animation-direction: alternate; + -ms-animation-direction: alternate; + animation-direction: alternate; +} +#loading-box .loading-image-dot { + width: 30px; + height: 30px; + background: #6bdf8f; + position: absolute; + border-radius: 50%; + border: 6px solid #fff; + top: 50%; + left: 50%; + -webkit-transform: translate(18px, 24px); + -moz-transform: translate(18px, 24px); + -o-transform: translate(18px, 24px); + -ms-transform: translate(18px, 24px); + transform: translate(18px, 24px); +} +#loading-box.loaded .loading-bg { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + z-index: -1000; +} +@-moz-keyframes loadingAction { + 0% { + opacity: 1; + -ms-filter: none; + filter: none; + } + 100% { + opacity: 0.4; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)"; + filter: alpha(opacity=40); + } +} +@-webkit-keyframes loadingAction { + 0% { + opacity: 1; + -ms-filter: none; + filter: none; + } + 100% { + opacity: 0.4; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)"; + filter: alpha(opacity=40); + } +} +@-o-keyframes loadingAction { + 0% { + opacity: 1; + -ms-filter: none; + filter: none; + } + 100% { + opacity: 0.4; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)"; + filter: alpha(opacity=40); + } +} +@keyframes loadingAction { + 0% { + opacity: 1; + -ms-filter: none; + filter: none; + } + 100% { + opacity: 0.4; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)"; + filter: alpha(opacity=40); + } +} +#pagination .pagination { + margin-top: 20px; + text-align: center; +} +#pagination .page-number.current { + background: #00c4b6; + color: var(--white); +} +#pagination .pagination-info { + position: absolute; + top: 50%; + padding: 20px 40px; + width: 100%; + -webkit-transform: translate(0, -50%); + -moz-transform: translate(0, -50%); + -o-transform: translate(0, -50%); + -ms-transform: translate(0, -50%); + transform: translate(0, -50%); +} +#pagination .prev_info, +#pagination .next_info { + color: var(--white); + font-weight: 500; +} +#pagination .next-post .pagination-info { + text-align: right; +} +#pagination .pull-full { + width: 100% !important; +} +#pagination .prev-post .label, +#pagination .next-post .label { + color: var(--light-grey); + text-transform: uppercase; + font-size: 90%; +} +#pagination .prev-post, +#pagination .next-post { + width: 50%; +} +@media screen and (max-width: 768px) { + #pagination .prev-post, + #pagination .next-post { + width: 100%; + } +} +#pagination .prev-post a, +#pagination .next-post a { + position: relative; + display: block; + overflow: hidden; + height: 150px; +} +#pagination.pagination-post { + overflow: hidden; + margin-top: 40px; + width: 100%; + background: #000; +} +.layout > .recent-posts .pagination > * { + display: inline-block; + margin: 0 6px; + width: 2.5em; + height: 2.5em; + line-height: 2.5em; +} +.layout > .recent-posts .pagination > *:not(.space):hover { + background: var(--btn-hover-color); + color: var(--btn-color); +} +.layout > div:not(.recent-posts) .pagination .page-number { + display: inline-block; + margin: 0 4px; + min-width: 24px; + height: 24px; + text-align: center; + line-height: 24px; +} +#article-container { + word-wrap: break-word; + overflow-wrap: break-word; +} +#article-container a { + color: #a591e0; +} +#article-container a:hover { + text-decoration: underline; +} +#article-container img { + display: block; + margin: 0 auto 20px; + max-width: 100%; + -webkit-transition: filter 375ms ease-in 0.2s; + -moz-transition: filter 375ms ease-in 0.2s; + -o-transition: filter 375ms ease-in 0.2s; + -ms-transition: filter 375ms ease-in 0.2s; + transition: filter 375ms ease-in 0.2s; +} +#article-container p { + margin: 0 0 16px; +} +#article-container iframe { + margin: 0 0 20px; +} +#article-container ol ol, +#article-container ul ol, +#article-container ol ul, +#article-container ul ul { + padding-left: 20px; +} +#article-container ol li, +#article-container ul li { + margin: 4px 0; +} +#article-container ol p, +#article-container ul p { + margin: 0 0 8px; +} +#article-container h1, +#article-container h2, +#article-container h3, +#article-container h4, +#article-container h5, +#article-container h6 { + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + -o-transition: all 0.2s ease-out; + -ms-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +#article-container h1:before, +#article-container h2:before, +#article-container h3:before, +#article-container h4:before, +#article-container h5:before, +#article-container h6:before { + position: absolute; + top: calc(50% - 7px); + color: #f47466; + content: '\f863'; + line-height: 1; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + -o-transition: all 0.2s ease-out; + -ms-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +#article-container h1:hover:before, +#article-container h2:hover:before, +#article-container h3:hover:before, +#article-container h4:hover:before, +#article-container h5:hover:before, +#article-container h6:hover:before { + color: #49b1f5; +} +#article-container h1 { + padding-left: 32px; +} +#article-container h1:before { + margin-left: -26px; + font-size: 20px; +} +#article-container h1:hover { + padding-left: 38px; +} +#article-container h2 { + padding-left: 30px; +} +#article-container h2:before { + margin-left: -24px; + font-size: 18px; +} +#article-container h2:hover { + padding-left: 36px; +} +#article-container h3 { + padding-left: 28px; +} +#article-container h3:before { + margin-left: -22px; + font-size: 16px; +} +#article-container h3:hover { + padding-left: 34px; +} +#article-container h4 { + padding-left: 26px; +} +#article-container h4:before { + margin-left: -20px; + font-size: 14px; +} +#article-container h4:hover { + padding-left: 32px; +} +#article-container h5 { + padding-left: 24px; +} +#article-container h5:before { + margin-left: -18px; + font-size: 12px; +} +#article-container h5:hover { + padding-left: 30px; +} +#article-container h6 { + padding-left: 24px; +} +#article-container h6:before { + margin-left: -18px; + font-size: 12px; +} +#article-container h6:hover { + padding-left: 30px; +} +#article-container ol p, +#article-container ul p { + margin: 0 0 8px; +} +#article-container li::marker { + color: #49b1f5; + font-weight: 600; + font-size: 1.05em; +} +#article-container li:hover::marker { + color: var(--pseudo-hover); +} +#article-container ul > li { + list-style-type: circle; +} +#article-container > :last-child { + margin-bottom: 0 !important; +} +#post .tag_share .post-meta__tag-list { + display: inline-block; +} +#post .tag_share .post-meta__tags { + display: inline-block; + margin: 8px 8px 8px 0; + padding: 0 12px; + width: fit-content; + border: 1px solid #49b1f5; + border-radius: 12px; + color: #49b1f5; + font-size: 0.85em; + -webkit-transition: all 0.2s ease-in-out; + -moz-transition: all 0.2s ease-in-out; + -o-transition: all 0.2s ease-in-out; + -ms-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; +} +#post .tag_share .post-meta__tags:hover { + background: #49b1f5; + color: var(--white); +} +#post .tag_share .post_share { + display: inline-block; + float: right; + margin: 8px 0; + width: fit-content; +} +#post .tag_share .post_share .social-share { + font-size: 0.85em; +} +#post .tag_share .post_share .social-share .social-share-icon { + margin: 0 4px; + width: 1.85em; + height: 1.85em; + font-size: 1.2em; + line-height: 1.85em; +} +#post .post-copyright { + position: relative; + margin: 40px 0 10px; + padding: 10px 16px; + border: 1px solid var(--light-grey); + -webkit-transition: box-shadow 0.3s ease-in-out; + -moz-transition: box-shadow 0.3s ease-in-out; + -o-transition: box-shadow 0.3s ease-in-out; + -ms-transition: box-shadow 0.3s ease-in-out; + transition: box-shadow 0.3s ease-in-out; + overflow: hidden; + border-radius: 12px !important; + background: -webkit-linear-gradient(45deg, #f6d8f5, #c2f1f0, #f0debf); + background: -moz-linear-gradient(45deg, #f6d8f5, #c2f1f0, #f0debf); + background: -o-linear-gradient(45deg, #f6d8f5, #c2f1f0, #f0debf); + background: -ms-linear-gradient(45deg, #f6d8f5, #c2f1f0, #f0debf); + background: linear-gradient(45deg, #f6d8f5, #c2f1f0, #f0debf); +} +#post .post-copyright:before { + background: var(--heo-post-blockquote-bg); + position: absolute; + right: -26px; + top: -120px; + content: '\f25e'; + font-size: 200px; + font-family: 'Font Awesome 5 Brands'; + opacity: 0.2; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=20)"; + filter: alpha(opacity=20); +} +#post .post-copyright:hover { + -webkit-box-shadow: 0 0 8px 0 rgba(232,237,250,0.6), 0 2px 4px 0 rgba(232,237,250,0.5); + box-shadow: 0 0 8px 0 rgba(232,237,250,0.6), 0 2px 4px 0 rgba(232,237,250,0.5); +} +#post .post-copyright .post-copyright-meta { + color: #49b1f5; + font-weight: bold; +} +#post .post-copyright .post-copyright-info { + padding-left: 6px; +} +#post .post-copyright .post-copyright-info a { + text-decoration: none; + word-break: break-word; +} +#post .post-copyright .post-copyright-info a:hover { + text-decoration: none; +} +#post .post-copyright-cc-info { + color: #49b1f5; +} +#post .post-outdate-notice { + position: relative; + margin: 0 0 20px; + padding: 0.5em 1.2em; + border-radius: 3px; + background-color: #ffe6e6; + color: #f66; + padding: 0.5em 1em 0.5em 2.6em; + border-left: 5px solid #ff8080; +} +#post .post-outdate-notice:before { + position: absolute; + top: 50%; + left: 0.9em; + color: #ff8080; + content: '\f071'; + -webkit-transform: translateY(-50%); + -moz-transform: translateY(-50%); + -o-transform: translateY(-50%); + -ms-transform: translateY(-50%); + transform: translateY(-50%); +} +#post .ads-wrap { + margin: 40px 0; +} +.post-copyright-m-info .post-copyright-a, +.post-copyright-m-info .post-copyright-c, +.post-copyright-m-info .post-copyright-u { + display: inline-block; + width: fit-content; + padding: 2px 5px; +} +[data-theme="dark"] #post .post-copyright { + background: #07080a; + text-shadow: #bfbeb8 0 0 2px; + border: 1px solid #131201; + -webkit-box-shadow: 0 0 5px var(--theme-color); + box-shadow: 0 0 5px var(--theme-color); + -webkit-animation: flashlight 1s linear infinite alternate; + -moz-animation: flashlight 1s linear infinite alternate; + -o-animation: flashlight 1s linear infinite alternate; + -ms-animation: flashlight 1s linear infinite alternate; + animation: flashlight 1s linear infinite alternate; +} +[data-theme="dark"] .post-copyright-info { + color: #e0e0e4; +} +#post .post-copyright__title { + font-size: 22px; +} +#post .post-copyright__notice { + font-size: 15px; +} +#post .post-copyright { + -webkit-box-shadow: 2px 2px 5px; + box-shadow: 2px 2px 5px; +} +.relatedPosts { + margin-top: 40px; +} +.relatedPosts > .headline { + margin-bottom: 5px; + font-weight: 700; + font-size: 1.43em; +} +.relatedPosts > .relatedPosts-list > div { + position: relative; + display: inline-block; + overflow: hidden; + margin: 3px; + width: calc(33.333% - 6px); + height: 200px; + background: #000; + vertical-align: bottom; +} +@media screen and (max-width: 768px) { + .relatedPosts > .relatedPosts-list > div { + margin: 2px; + width: calc(50% - 4px); + height: 150px; + } +} +@media screen and (max-width: 600px) { + .relatedPosts > .relatedPosts-list > div { + width: calc(100% - 4px); + } +} +.relatedPosts > .relatedPosts-list .content { + position: absolute; + top: 50%; + padding: 0 20px; + width: 100%; + -webkit-transform: translate(0, -50%); + -moz-transform: translate(0, -50%); + -o-transform: translate(0, -50%); + -ms-transform: translate(0, -50%); + transform: translate(0, -50%); +} +.relatedPosts > .relatedPosts-list .content .date { + color: var(--light-grey); + font-size: 90%; +} +.relatedPosts > .relatedPosts-list .content .title { + color: var(--white); + -webkit-line-clamp: 2; +} +.post-reward { + position: relative; + margin-top: 3rem; + width: 100%; + text-align: center; +} +.post-reward .reward-button { + display: inline-block; + padding: 0.2rem 1.2rem; + background: var(--btn-bg); + color: var(--btn-color); + -webkit-transition: all 0.4s; + -moz-transition: all 0.4s; + -o-transition: all 0.4s; + -ms-transition: all 0.4s; + transition: all 0.4s; + border-radius: 30px; +} +.post-reward .reward-button:hover { + -webkit-box-shadow: inset 20em 0 0 0 var(--btn-hover-color); + box-shadow: inset 20em 0 0 0 var(--btn-hover-color); +} +.post-reward .reward-button:hover .reward-main { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; +} +.post-reward .reward-button .reward-main { + position: absolute; + bottom: 40px; + left: -55%; + z-index: 100; + display: none; + padding: 0 0 15px; + width: 150%; +} +.post-reward .reward-button .reward-main .reward-all { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + margin: 0; + padding: 1rem 0.5rem; + border-radius: 12px; + background: var(--reward-pop); +} +.post-reward .reward-button .reward-main .reward-all:before { + position: absolute; + bottom: -10px; + left: 0; + width: 100%; + height: 20px; + content: ''; +} +.post-reward .reward-button .reward-main .reward-all:after { + position: absolute; + right: 0; + bottom: 2px; + left: 0; + margin: 0 auto; + width: 0; + height: 0; + border-top: 13px solid var(--reward-pop); + border-right: 13px solid transparent; + border-left: 13px solid transparent; + content: ''; +} +.post-reward .reward-button .reward-main .reward-all .reward-item { + display: inline-block; + padding: 0 8px; + list-style-type: none; + vertical-align: top; +} +.post-reward .reward-button .reward-main .reward-all .reward-item img { + width: 130px; + height: 130px; +} +.post-reward .reward-button .reward-main .reward-all .reward-item .post-qr-code-desc { + padding-top: 0.4rem; + width: 130px; + color: #858585; +} +#rightside { + position: fixed; + right: -48px; + bottom: 40px; + z-index: 100; + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + -webkit-transition: all 0.5s; + -moz-transition: all 0.5s; + -o-transition: all 0.5s; + -ms-transition: all 0.5s; + transition: all 0.5s; +} +#rightside #rightside-config-hide { + height: 0; + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + -webkit-transition: -webkit-transform 0.4s; + -moz-transition: -moz-transform 0.4s; + -o-transition: -o-transform 0.4s; + -ms-transition: -ms-transform 0.4s; + transition: transform 0.4s; + -webkit-transform: translate(45px, 0); + -moz-transform: translate(45px, 0); + -o-transform: translate(45px, 0); + -ms-transform: translate(45px, 0); + transform: translate(45px, 0); +} +#rightside #rightside-config-hide.show { + height: auto; + opacity: 1; + -ms-filter: none; + filter: none; + -webkit-transform: translate(0, 0); + -moz-transform: translate(0, 0); + -o-transform: translate(0, 0); + -ms-transform: translate(0, 0); + transform: translate(0, 0); +} +#rightside #rightside-config-hide.status { + height: auto; + opacity: 1; + -ms-filter: none; + filter: none; +} +#rightside > div > button, +#rightside > div > a { + display: block; + margin-bottom: 5px; + width: 35px; + height: 35px; + border-radius: 5px; + background-color: var(--btn-bg); + color: var(--btn-color); + text-align: center; + font-size: 16px; + line-height: 35px; +} +#rightside > div > button:hover, +#rightside > div > a:hover { + background-color: var(--btn-hover-color); +} +#rightside #mobile-toc-button { + display: none; +} +@media screen and (max-width: 900px) { + #rightside #mobile-toc-button { + display: block; + } +} +@media screen and (max-width: 900px) { + #rightside #hide-aside-btn { + display: none; + } +} +#sidebar #menu-mask { + position: fixed; + z-index: 102; + display: none; + width: 100%; + height: 100%; + background: rgba(0,0,0,0.8); +} +#sidebar #sidebar-menus { + position: fixed; + top: 0; + right: -300px; + z-index: 103; + overflow-x: hidden; + overflow-y: auto; + width: 300px; + height: 100%; + background: var(--sidebar-bg); + -webkit-transition: all 0.5s; + -moz-transition: all 0.5s; + -o-transition: all 0.5s; + -ms-transition: all 0.5s; + transition: all 0.5s; +} +#sidebar #sidebar-menus.open { + -webkit-transform: translate3d(-100%, 0, 0); + -moz-transform: translate3d(-100%, 0, 0); + -o-transform: translate3d(-100%, 0, 0); + -ms-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); +} +#sidebar #sidebar-menus > .avatar-img { + margin: 20px auto; +} +#sidebar #sidebar-menus .sidebar-site-data { + padding: 0 10px; +} +#sidebar #sidebar-menus hr { + margin: 20px auto; +} +#sidebar #sidebar-menus .menus_items { + padding: 0 10px 40px; +} +#sidebar #sidebar-menus .menus_items .site-page { + position: relative; + display: block; + padding: 6px 30px 6px 22px; + color: var(--font-color); + font-size: 1.15em; +} +#sidebar #sidebar-menus .menus_items .site-page:hover { + background: var(--text-bg-hover); +} +#sidebar #sidebar-menus .menus_items .site-page i:first-child { + width: 15%; + text-align: left; +} +#sidebar #sidebar-menus .menus_items .site-page.group > i:last-child { + position: absolute; + top: 0.78em; + right: 18px; + -webkit-transition: -webkit-transform 0.3s; + -moz-transition: -moz-transform 0.3s; + -o-transition: -o-transform 0.3s; + -ms-transition: -ms-transform 0.3s; + transition: transform 0.3s; +} +#sidebar #sidebar-menus .menus_items .site-page.group.hide > i:last-child { + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -o-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); +} +#sidebar #sidebar-menus .menus_items .site-page.group.hide + .menus_item_child { + display: none; +} +#sidebar #sidebar-menus .menus_items .menus_item_child { + margin: 0; + list-style: none; +} +.Cuteen_DarkSky, +.Cuteen_DarkSky:before { + content: ''; + position: fixed; + left: 0; + right: 0; + top: 0; + bottom: 0; + z-index: 88888888; +} +.Cuteen_DarkSky { + background: -webkit-linear-gradient(bottom, #f8cd71 0, #5bfde9 80%); + background: -moz-linear-gradient(bottom, #f8cd71 0, #5bfde9 80%); + background: -o-linear-gradient(bottom, #f8cd71 0, #5bfde9 80%); + background: -ms-linear-gradient(bottom, #f8cd71 0, #5bfde9 80%); + background: linear-gradient(to top, #f8cd71 0, #5bfde9 80%); +} +.Cuteen_DarkSky:before { + -webkit-transition: 2s ease all; + -moz-transition: 2s ease all; + -o-transition: 2s ease all; + -ms-transition: 2s ease all; + transition: 2s ease all; + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + background: -webkit-linear-gradient(bottom, #30cfd0 0, #330867 100%); + background: -moz-linear-gradient(bottom, #30cfd0 0, #330867 100%); + background: -o-linear-gradient(bottom, #30cfd0 0, #330867 100%); + background: -ms-linear-gradient(bottom, #30cfd0 0, #330867 100%); + background: linear-gradient(to top, #30cfd0 0, #330867 100%); +} +.DarkMode .Cuteen_DarkSky:before { + opacity: 1; + -ms-filter: none; + filter: none; +} +.Cuteen_DarkPlanet { + z-index: 99999999; + position: fixed; + left: -50%; + top: -50%; + width: 200%; + height: 200%; + -webkit-animation: CuteenPlanetMove 2s cubic-bezier(0.7, 0, 0, 1); + -webkit-animation: CuteenPlanetMove 2s cubic-bezier(0.7, 0, 0, 1); + -moz-animation: CuteenPlanetMove 2s cubic-bezier(0.7, 0, 0, 1); + -o-animation: CuteenPlanetMove 2s cubic-bezier(0.7, 0, 0, 1); + -ms-animation: CuteenPlanetMove 2s cubic-bezier(0.7, 0, 0, 1); + animation: CuteenPlanetMove 2s cubic-bezier(0.7, 0, 0, 1); + -webkit-transform-origin: center bottom; + -moz-transform-origin: center bottom; + -o-transform-origin: center bottom; + -ms-transform-origin: center bottom; + transform-origin: center bottom; +} +@-webkit-keyframes CuteenPlanetMove { + 0% { + -webkit-transform: rotate(0); + -moz-transform: rotate(0); + -o-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); + } + to { + -webkit-transform: rotate(360deg); + -moz-transform: rotate(360deg); + -o-transform: rotate(360deg); + -ms-transform: rotate(360deg); + transform: rotate(360deg); + } +} +.Cuteen_DarkPlanet #sun { + position: absolute; + border-radius: 100%; + left: 44%; + top: 30%; + height: 6rem; + width: 6rem; + background: #ffee94; + -webkit-box-shadow: 0 0 40px #ffee94; + box-shadow: 0 0 40px #ffee94; +} +.Cuteen_DarkPlanet #moon { + position: absolute; + border-radius: 100%; + left: 44%; + top: 30%; + position: absolute; + border-radius: 100%; + height: 6rem; + width: 6rem; + -webkit-box-shadow: -1.8em 1.8em 0 0.2em #fff; + box-shadow: -1.8em 1.8em 0 0.2em #fff; +} +.search span { + display: none; +} +.menus_item a { + text-decoration: none !important; +} +@-moz-keyframes CuteenPlanetMove { + 0% { + -webkit-transform: rotate(0); + -moz-transform: rotate(0); + -o-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); + } + to { + -webkit-transform: rotate(360deg); + -moz-transform: rotate(360deg); + -o-transform: rotate(360deg); + -ms-transform: rotate(360deg); + transform: rotate(360deg); + } +} +@-webkit-keyframes CuteenPlanetMove { + 0% { + -webkit-transform: rotate(0); + -moz-transform: rotate(0); + -o-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); + } + to { + -webkit-transform: rotate(360deg); + -moz-transform: rotate(360deg); + -o-transform: rotate(360deg); + -ms-transform: rotate(360deg); + transform: rotate(360deg); + } +} +@-o-keyframes CuteenPlanetMove { + 0% { + -webkit-transform: rotate(0); + -moz-transform: rotate(0); + -o-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); + } + to { + -webkit-transform: rotate(360deg); + -moz-transform: rotate(360deg); + -o-transform: rotate(360deg); + -ms-transform: rotate(360deg); + transform: rotate(360deg); + } +} +@keyframes CuteenPlanetMove { + 0% { + -webkit-transform: rotate(0); + -moz-transform: rotate(0); + -o-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); + } + to { + -webkit-transform: rotate(360deg); + -moz-transform: rotate(360deg); + -o-transform: rotate(360deg); + -ms-transform: rotate(360deg); + transform: rotate(360deg); + } +} +#vcomment { + font-size: 1.1em; +} +#vcomment .vbtn { + border: none; + background: var(--btn-bg); + color: var(--btn-color); +} +#vcomment .vbtn:hover { + background: var(--btn-hover-color); +} +#vcomment .vimg { + -webkit-transition: all 0.3s; + -moz-transition: all 0.3s; + -o-transition: all 0.3s; + -ms-transition: all 0.3s; + transition: all 0.3s; +} +#vcomment .vimg:hover { + -webkit-transform: rotate(360deg); + -moz-transform: rotate(360deg); + -o-transform: rotate(360deg); + -ms-transform: rotate(360deg); + transform: rotate(360deg); +} +#vcomment .vcards .vcard .vcontent.expand:before, +#vcomment .vcards .vcard .vcontent.expand:after { + z-index: 22; +} +#waline-wrap { + --waline-font-size: 1.1em; + --waline-theme-color: #49b1f5; + --waline-active-color: #ff7242; +} +#waline-wrap .vuser { + -webkit-transition: all 0.5s; + -moz-transition: all 0.5s; + -o-transition: all 0.5s; + -ms-transition: all 0.5s; + transition: all 0.5s; +} +#waline-wrap .vuser:hover { + -webkit-transform: rotate(360deg); + -moz-transform: rotate(360deg); + -o-transform: rotate(360deg); + -ms-transform: rotate(360deg); + transform: rotate(360deg); +} +.fireworks { + position: fixed; + top: 0; + left: 0; + z-index: 9999; + pointer-events: none; +} +.medium-zoom-image--opened { + z-index: 99999 !important; + margin: 0 !important; +} +.medium-zoom-overlay { + z-index: 99999 !important; +} +.mermaid-wrap { + margin: 0 0 20px; + text-align: center; +} +.mermaid-wrap > svg { + height: 100%; +} +.utterances, +.fb-comments iframe { + width: 100% !important; +} +#gitalk-container .gt-meta { + margin: 0 0 0.8em; + padding: 6px 0 16px; +} +.katex-wrap { + overflow: auto; +} +.katex-wrap::-webkit-scrollbar { + display: none; +} +mjx-container[display], +.has-jax { + overflow-x: auto; + overflow-y: hidden; + line-height: normal !important; +} +.aplayer { + color: #4c4948; +} +#article-container .aplayer { + margin: 0 0 20px; +} +#article-container .aplayer ol, +#article-container .aplayer ul { + margin: 0; + padding: 0; +} +#article-container .aplayer ol li, +#article-container .aplayer ul li { + margin: 0; + padding: 0 15px; +} +#article-container .aplayer ol li:before, +#article-container .aplayer ul li:before { + content: none; +} +.snackbar-css { + border-radius: 5px !important; +} +[data-theme="dark"] #web_bg { + background: var(--darkmode-bg); + background-attachment: local; + background-position: center; + background-size: cover; + background-repeat: no-repeat; +} +@media screen and (max-width: 800px) { + #web_bg { + background: var(--mobileday-bg); + background-attachment: local !important; + background-position: center !important; + background-size: cover !important; + background-repeat: no-repeat !important; + } + [data-theme="dark"] #web_bg { + background: var(--mobilenight-bg); + background-attachment: local !important; + background-position: center !important; + background-size: cover !important; + background-repeat: no-repeat !important; + } +} +#article-container .btn-center { + margin: 0 0 20px; + text-align: center; +} +#article-container .btn-beautify { + display: inline-block; + margin: 0 4px 6px; + padding: 0 15px; + background-color: var(--btn-beautify-color, #777); + color: #fff; + line-height: 2; +} +#article-container .btn-beautify.blue { + --btn-beautify-color: #428bca; +} +#article-container .btn-beautify.pink { + --btn-beautify-color: #ff69b4; +} +#article-container .btn-beautify.red { + --btn-beautify-color: #f00; +} +#article-container .btn-beautify.purple { + --btn-beautify-color: #6f42c1; +} +#article-container .btn-beautify.orange { + --btn-beautify-color: #ff8c00; +} +#article-container .btn-beautify.green { + --btn-beautify-color: #5cb85c; +} +#article-container .btn-beautify:hover { + background-color: var(--btn-hover-color); +} +#article-container .btn-beautify i + span { + margin-left: 6px; +} +#article-container .btn-beautify:not(.block) + .btn-beautify:not(.block) { + margin: 0 4px 20px; +} +#article-container .btn-beautify.block { + display: block; + margin: 0 0 20px; + width: fit-content; + width: -moz-fit-content; +} +#article-container .btn-beautify.block.center { + margin: 0 auto 20px; +} +#article-container .btn-beautify.block.right { + margin: 0 0 20px auto; +} +#article-container .btn-beautify.larger { + padding: 6px 15px; +} +#article-container .btn-beautify:hover { + text-decoration: none; +} +#article-container .btn-beautify.outline { + border: 1px solid transparent; + border-color: var(--btn-beautify-color, #777); + background-color: transparent; + color: var(--btn-beautify-color, #777); +} +#article-container .btn-beautify.outline:hover { + background-color: var(--btn-beautify-color, #777); +} +#article-container .btn-beautify.outline:hover { + color: #fff !important; +} +#article-container figure.gallery-group { + position: relative; + float: left; + overflow: hidden; + margin: 6px 4px; + width: calc(50% - 8px); + height: 250px; + border-radius: 8px; + background: #000; + -webkit-transform: translate3d(0, 0, 0); +} +@media screen and (max-width: 600px) { + #article-container figure.gallery-group { + width: calc(100% - 8px); + } +} +#article-container figure.gallery-group:hover img { + opacity: 0.4; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)"; + filter: alpha(opacity=40); + -webkit-transform: translate3d(0, 0, 0); + -moz-transform: translate3d(0, 0, 0); + -o-transform: translate3d(0, 0, 0); + -ms-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); +} +#article-container figure.gallery-group:hover .gallery-group-name::after { + -webkit-transform: translate3d(0, 0, 0); + -moz-transform: translate3d(0, 0, 0); + -o-transform: translate3d(0, 0, 0); + -ms-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); +} +#article-container figure.gallery-group:hover p { + opacity: 1; + -ms-filter: none; + filter: none; + -webkit-transform: translate3d(0, 0, 0); + -moz-transform: translate3d(0, 0, 0); + -o-transform: translate3d(0, 0, 0); + -ms-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); +} +#article-container figure.gallery-group img { + position: relative; + margin: 0; + max-width: none; + width: calc(100% + 20px); + height: 250px; + -webkit-backface-visibility: hidden; + -moz-backface-visibility: hidden; + -ms-backface-visibility: hidden; + backface-visibility: hidden; + opacity: 0.8; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)"; + filter: alpha(opacity=80); + -webkit-transition: all 0.3s, filter 375ms ease-in 0.2s; + -moz-transition: all 0.3s, filter 375ms ease-in 0.2s; + -o-transition: all 0.3s, filter 375ms ease-in 0.2s; + -ms-transition: all 0.3s, filter 375ms ease-in 0.2s; + transition: all 0.3s, filter 375ms ease-in 0.2s; + -webkit-transform: translate3d(-10px, 0, 0); + -moz-transform: translate3d(-10px, 0, 0); + -o-transform: translate3d(-10px, 0, 0); + -ms-transform: translate3d(-10px, 0, 0); + transform: translate3d(-10px, 0, 0); + object-fit: cover; +} +#article-container figure.gallery-group figcaption { + position: absolute; + top: 0; + left: 0; + padding: 30px; + width: 100%; + height: 100%; + color: #fff; + text-transform: uppercase; + -webkit-backface-visibility: hidden; + -moz-backface-visibility: hidden; + -ms-backface-visibility: hidden; + backface-visibility: hidden; +} +#article-container figure.gallery-group figcaption > a { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1000; + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); +} +#article-container figure.gallery-group p { + margin: 0; + padding: 8px 0 0; + letter-spacing: 1px; + font-size: 1.1em; + line-height: 1.5; + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + -webkit-transition: opacity 0.35s, -webkit-transform 0.35s; + -moz-transition: opacity 0.35s, -moz-transform 0.35s; + -o-transition: opacity 0.35s, -o-transform 0.35s; + -ms-transition: opacity 0.35s, -ms-transform 0.35s; + transition: opacity 0.35s, transform 0.35s; + -webkit-transform: translate3d(100%, 0, 0); + -moz-transform: translate3d(100%, 0, 0); + -o-transform: translate3d(100%, 0, 0); + -ms-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + -webkit-line-clamp: 4; +} +#article-container figure.gallery-group .gallery-group-name { + position: relative; + margin: 0; + padding: 8px 0; + font-weight: bold; + font-size: 1.65em; + line-height: 1.5; + -webkit-line-clamp: 2; +} +#article-container figure.gallery-group .gallery-group-name:after { + position: absolute; + bottom: 0; + left: 0; + width: 100%; + height: 2px; + background: #fff; + content: ''; + -webkit-transition: -webkit-transform 0.35s; + -moz-transition: -moz-transform 0.35s; + -o-transition: -o-transform 0.35s; + -ms-transition: -ms-transform 0.35s; + transition: transform 0.35s; + -webkit-transform: translate3d(-100%, 0, 0); + -moz-transform: translate3d(-100%, 0, 0); + -o-transform: translate3d(-100%, 0, 0); + -ms-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); +} +#article-container .gallery-group-main { + overflow: auto; + padding: 0 0 16px; +} +#article-container .fj-gallery { + margin: 0 0 16px; + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); +} +#article-container .fj-gallery .img-alt { + display: none; +} +blockquote.pullquote { + position: relative; + max-width: 45%; + font-size: 110%; +} +blockquote.pullquote.left { + float: left; + margin: 1em 0.5em 0 0; +} +blockquote.pullquote.right { + float: right; + margin: 1em 0 0 0.5em; +} +.video-container { + position: relative; + overflow: hidden; + margin-bottom: 16px; + padding-top: 56.25%; + height: 0; +} +.video-container iframe { + position: absolute; + top: 0; + left: 0; + margin-top: 0; + width: 100%; + height: 100%; +} +.hide-inline > .hide-button, +.hide-block > .hide-button { + display: inline-block; + padding: 5px 18px; + background: #49b1f5; + color: var(--white); +} +.hide-inline > .hide-button:hover, +.hide-block > .hide-button:hover { + background-color: var(--btn-hover-color); +} +.hide-inline > .hide-button.open, +.hide-block > .hide-button.open { + display: none; +} +.hide-inline > .hide-button.open + div, +.hide-block > .hide-button.open + div { + display: block; +} +.hide-inline > .hide-button.open + span, +.hide-block > .hide-button.open + span { + display: inline; +} +.hide-inline > .hide-content, +.hide-block > .hide-content { + display: none; +} +.hide-inline > .hide-button { + margin: 0 6px; +} +.hide-inline > .hide-content { + margin: 0 6px; +} +.hide-block { + margin: 0 0 16px; +} +.toggle { + margin-bottom: 20px; + border: 1px solid #f0f0f0; +} +.toggle > .toggle-button { + padding: 6px 15px; + background: #f0f0f0; + color: #1f2d3d; +} +.toggle > .toggle-content { + margin: 30px 24px; +} +#article-container .inline-img { + display: inline; + margin: 0 3px; + height: 1.1em; + vertical-align: text-bottom; +} +.hl-label { + padding: 2px 4px; + border-radius: 3px; + color: #fff; +} +.hl-label.default { + background-color: #777; +} +.hl-label.blue { + background-color: #428bca; +} +.hl-label.pink { + background-color: #ff69b4; +} +.hl-label.red { + background-color: #f00; +} +.hl-label.purple { + background-color: #6f42c1; +} +.hl-label.orange { + background-color: #ff8c00; +} +.hl-label.green { + background-color: #5cb85c; +} +.note { + position: relative; + margin: 0 0 20px; + padding: 15px; + border-radius: 3px; +} +.note.icon-padding { + padding-left: 3em; +} +.note > .note-icon { + position: absolute; + top: calc(50% - 0.5em); + left: 0.8em; + font-size: larger; +} +.note.blue:not(.disabled) { + border-left-color: #428bca !important; +} +.note.blue:not(.disabled).modern { + border-left-color: transparent !important; + color: #428bca; +} +.note.blue:not(.disabled):not(.simple) { + background: #e3eef7 !important; +} +.note.blue > .note-icon { + color: #428bca; +} +.note.pink:not(.disabled) { + border-left-color: #ff69b4 !important; +} +.note.pink:not(.disabled).modern { + border-left-color: transparent !important; + color: #ff69b4; +} +.note.pink:not(.disabled):not(.simple) { + background: #ffe9f4 !important; +} +.note.pink > .note-icon { + color: #ff69b4; +} +.note.red:not(.disabled) { + border-left-color: #f00 !important; +} +.note.red:not(.disabled).modern { + border-left-color: transparent !important; + color: #f00; +} +.note.red:not(.disabled):not(.simple) { + background: #ffd9d9 !important; +} +.note.red > .note-icon { + color: #f00; +} +.note.purple:not(.disabled) { + border-left-color: #6f42c1 !important; +} +.note.purple:not(.disabled).modern { + border-left-color: transparent !important; + color: #6f42c1; +} +.note.purple:not(.disabled):not(.simple) { + background: #e9e3f6 !important; +} +.note.purple > .note-icon { + color: #6f42c1; +} +.note.orange:not(.disabled) { + border-left-color: #ff8c00 !important; +} +.note.orange:not(.disabled).modern { + border-left-color: transparent !important; + color: #ff8c00; +} +.note.orange:not(.disabled):not(.simple) { + background: #ffeed9 !important; +} +.note.orange > .note-icon { + color: #ff8c00; +} +.note.green:not(.disabled) { + border-left-color: #5cb85c !important; +} +.note.green:not(.disabled).modern { + border-left-color: transparent !important; + color: #5cb85c; +} +.note.green:not(.disabled):not(.simple) { + background: #e7f4e7 !important; +} +.note.green > .note-icon { + color: #5cb85c; +} +.note.simple { + border: 1px solid #eee; + border-left-width: 5px; +} +.note.modern { + border: 1px solid transparent !important; + background-color: #f5f5f5; + color: #4c4948; +} +.note.flat { + border: initial; + border-left: 5px solid #eee; + background-color: #f9f9f9; + color: #4c4948; +} +.note h2, +.note h3, +.note h4, +.note h5, +.note h6 { + margin-top: 3px; + margin-bottom: 0; + padding-top: 0 !important; + border-bottom: initial; +} +.note p:first-child, +.note ul:first-child, +.note ol:first-child, +.note table:first-child, +.note pre:first-child, +.note blockquote:first-child, +.note img:first-child { + margin-top: 0 !important; +} +.note p:last-child, +.note ul:last-child, +.note ol:last-child, +.note table:last-child, +.note pre:last-child, +.note blockquote:last-child, +.note img:last-child { + margin-bottom: 0 !important; +} +.note:not(.no-icon) { + padding-left: 3em; +} +.note:not(.no-icon)::before { + position: absolute; + top: calc(50% - 0.95em); + left: 0.8em; + font-size: larger; +} +.note.default.flat { + background: #f7f7f7; +} +.note.default.modern { + border-color: #e1e1e1; + background: #f3f3f3; + color: #666; +} +.note.default.modern a:not(.btn) { + color: #666; +} +.note.default.modern a:not(.btn):hover { + color: #454545; +} +.note.default:not(.modern) { + border-left-color: #777; +} +.note.default:not(.modern) h2, +.note.default:not(.modern) h3, +.note.default:not(.modern) h4, +.note.default:not(.modern) h5, +.note.default:not(.modern) h6 { + color: #777; +} +.note.default:not(.no-icon)::before { + content: '\f0a9'; +} +.note.default:not(.no-icon):not(.modern)::before { + color: #777; +} +.note.primary.flat { + background: #f5f0fa; +} +.note.primary.modern { + border-color: #e1c2ff; + background: #f3daff; + color: #6f42c1; +} +.note.primary.modern a:not(.btn) { + color: #6f42c1; +} +.note.primary.modern a:not(.btn):hover { + color: #453298; +} +.note.primary:not(.modern) { + border-left-color: #6f42c1; +} +.note.primary:not(.modern) h2, +.note.primary:not(.modern) h3, +.note.primary:not(.modern) h4, +.note.primary:not(.modern) h5, +.note.primary:not(.modern) h6 { + color: #6f42c1; +} +.note.primary:not(.no-icon)::before { + content: '\f055'; +} +.note.primary:not(.no-icon):not(.modern)::before { + color: #6f42c1; +} +.note.info.flat { + background: #eef7fa; +} +.note.info.modern { + border-color: #b3e5ef; + background: #d9edf7; + color: #31708f; +} +.note.info.modern a:not(.btn) { + color: #31708f; +} +.note.info.modern a:not(.btn):hover { + color: #215761; +} +.note.info:not(.modern) { + border-left-color: #428bca; +} +.note.info:not(.modern) h2, +.note.info:not(.modern) h3, +.note.info:not(.modern) h4, +.note.info:not(.modern) h5, +.note.info:not(.modern) h6 { + color: #428bca; +} +.note.info:not(.no-icon)::before { + content: '\f05a'; +} +.note.info:not(.no-icon):not(.modern)::before { + color: #428bca; +} +.note.success.flat { + background: #eff8f0; +} +.note.success.modern { + border-color: #d0e6be; + background: #dff0d8; + color: #3c763d; +} +.note.success.modern a:not(.btn) { + color: #3c763d; +} +.note.success.modern a:not(.btn):hover { + color: #32562c; +} +.note.success:not(.modern) { + border-left-color: #5cb85c; +} +.note.success:not(.modern) h2, +.note.success:not(.modern) h3, +.note.success:not(.modern) h4, +.note.success:not(.modern) h5, +.note.success:not(.modern) h6 { + color: #5cb85c; +} +.note.success:not(.no-icon)::before { + content: '\f058'; +} +.note.success:not(.no-icon):not(.modern)::before { + color: #5cb85c; +} +.note.warning.flat { + background: #fdf8ea; +} +.note.warning.modern { + border-color: #fae4cd; + background: #fcf4e3; + color: #8a6d3b; +} +.note.warning.modern a:not(.btn) { + color: #8a6d3b; +} +.note.warning.modern a:not(.btn):hover { + color: #714f30; +} +.note.warning:not(.modern) { + border-left-color: #f0ad4e; +} +.note.warning:not(.modern) h2, +.note.warning:not(.modern) h3, +.note.warning:not(.modern) h4, +.note.warning:not(.modern) h5, +.note.warning:not(.modern) h6 { + color: #f0ad4e; +} +.note.warning:not(.no-icon)::before { + content: '\f06a'; +} +.note.warning:not(.no-icon):not(.modern)::before { + color: #f0ad4e; +} +.note.danger.flat { + background: #fcf1f2; +} +.note.danger.modern { + border-color: #ebcdd2; + background: #f2dfdf; + color: #a94442; +} +.note.danger.modern a:not(.btn) { + color: #a94442; +} +.note.danger.modern a:not(.btn):hover { + color: #84333f; +} +.note.danger:not(.modern) { + border-left-color: #d9534f; +} +.note.danger:not(.modern) h2, +.note.danger:not(.modern) h3, +.note.danger:not(.modern) h4, +.note.danger:not(.modern) h5, +.note.danger:not(.modern) h6 { + color: #d9534f; +} +.note.danger:not(.no-icon)::before { + content: '\f056'; +} +.note.danger:not(.no-icon):not(.modern)::before { + color: #d9534f; +} +#article-container .tabs { + position: relative; + margin: 0 0 20px; + border-right: 1px solid var(--tab-border-color); + border-bottom: 1px solid var(--tab-border-color); + border-left: 1px solid var(--tab-border-color); +} +#article-container .tabs > .nav-tabs { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: box; + display: flex; + -webkit-box-lines: multiple; + -moz-box-lines: multiple; + -o-box-lines: multiple; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + margin: 0; + padding: 0; + background: var(--tab-botton-bg); +} +#article-container .tabs > .nav-tabs > .tab { + margin: 0; + padding: 0; + list-style: none; +} +@media screen and (max-width: 768px) { + #article-container .tabs > .nav-tabs > .tab { + -webkit-box-flex: 1; + -moz-box-flex: 1; + -o-box-flex: 1; + -ms-box-flex: 1; + box-flex: 1; + -webkit-flex-grow: 1; + flex-grow: 1; + } +} +#article-container .tabs > .nav-tabs > .tab button { + display: block; + padding: 8px 18px; + width: 100%; + border-top: 2px solid var(--tab-border-color); + background: var(--tab-botton-bg); + color: var(--tab-botton-color); + line-height: 2; + -webkit-transition: all 0.4s; + -moz-transition: all 0.4s; + -o-transition: all 0.4s; + -ms-transition: all 0.4s; + transition: all 0.4s; +} +#article-container .tabs > .nav-tabs > .tab button i { + width: 1.5em; +} +#article-container .tabs > .nav-tabs > .tab.active button { + border-top: 2px solid #49b1f5; + background: var(--tab-button-active-bg); + cursor: default; +} +#article-container .tabs > .nav-tabs > .tab:not(.active) button:hover { + border-top: 2px solid var(--tab-button-hover-bg); + background: var(--tab-button-hover-bg); +} +#article-container .tabs > .tab-contents .tab-item-content { + position: relative; + display: none; + padding: 36px 24px; +} +@media screen and (max-width: 768px) { + #article-container .tabs > .tab-contents .tab-item-content { + padding: 24px 14px; + } +} +#article-container .tabs > .tab-contents .tab-item-content.active { + display: block; + -webkit-animation: tabshow 0.5s; + -moz-animation: tabshow 0.5s; + -o-animation: tabshow 0.5s; + -ms-animation: tabshow 0.5s; + animation: tabshow 0.5s; +} +#article-container .tabs .tab-to-top { + position: relative; + display: block; + margin: 0 0 0 auto; + color: #99a9bf; +} +@-moz-keyframes tabshow { + 0% { + -webkit-transform: translateY(15px); + -moz-transform: translateY(15px); + -o-transform: translateY(15px); + -ms-transform: translateY(15px); + transform: translateY(15px); + } + 100% { + -webkit-transform: translateY(0); + -moz-transform: translateY(0); + -o-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); + } +} +@-webkit-keyframes tabshow { + 0% { + -webkit-transform: translateY(15px); + -moz-transform: translateY(15px); + -o-transform: translateY(15px); + -ms-transform: translateY(15px); + transform: translateY(15px); + } + 100% { + -webkit-transform: translateY(0); + -moz-transform: translateY(0); + -o-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); + } +} +@-o-keyframes tabshow { + 0% { + -webkit-transform: translateY(15px); + -moz-transform: translateY(15px); + -o-transform: translateY(15px); + -ms-transform: translateY(15px); + transform: translateY(15px); + } + 100% { + -webkit-transform: translateY(0); + -moz-transform: translateY(0); + -o-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); + } +} +@keyframes tabshow { + 0% { + -webkit-transform: translateY(15px); + -moz-transform: translateY(15px); + -o-transform: translateY(15px); + -ms-transform: translateY(15px); + transform: translateY(15px); + } + 100% { + -webkit-transform: translateY(0); + -moz-transform: translateY(0); + -o-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); + } +} +#article-container .timeline { + margin: 0 0 20px 10px; + padding: 14px 20px 5px; + border-left: 2px solid var(--timeline-color, #49b1f5); +} +#article-container .timeline.blue { + --timeline-color: #428bca; + --timeline-bg: rgba(66,139,202, 0.2); +} +#article-container .timeline.pink { + --timeline-color: #ff69b4; + --timeline-bg: rgba(255,105,180, 0.2); +} +#article-container .timeline.red { + --timeline-color: #f00; + --timeline-bg: rgba(255,0,0, 0.2); +} +#article-container .timeline.purple { + --timeline-color: #6f42c1; + --timeline-bg: rgba(111,66,193, 0.2); +} +#article-container .timeline.orange { + --timeline-color: #ff8c00; + --timeline-bg: rgba(255,140,0, 0.2); +} +#article-container .timeline.green { + --timeline-color: #5cb85c; + --timeline-bg: rgba(92,184,92, 0.2); +} +#article-container .timeline .timeline-item { + margin: 0 0 15px; +} +#article-container .timeline .timeline-item:hover .item-circle:before { + border-color: var(--timeline-color, #49b1f5); +} +#article-container .timeline .timeline-item.headline .timeline-item-title .item-circle > p { + font-weight: 600; + font-size: 1.2em; +} +#article-container .timeline .timeline-item.headline .timeline-item-title .item-circle:before { + left: -28px; + border: 4px solid var(--timeline-color, #49b1f5); +} +#article-container .timeline .timeline-item.headline:hover .item-circle:before { + border-color: var(--pseudo-hover); +} +#article-container .timeline .timeline-item .timeline-item-title { + position: relative; +} +#article-container .timeline .timeline-item .item-circle:before { + position: absolute; + top: 50%; + left: -27px; + width: 6px; + height: 6px; + border: 3px solid var(--pseudo-hover); + border-radius: 50%; + background: var(--card-bg); + content: ''; + -webkit-transition: all 0.3s; + -moz-transition: all 0.3s; + -o-transition: all 0.3s; + -ms-transition: all 0.3s; + transition: all 0.3s; + -webkit-transform: translate(0, -50%); + -moz-transform: translate(0, -50%); + -o-transform: translate(0, -50%); + -ms-transform: translate(0, -50%); + transform: translate(0, -50%); +} +#article-container .timeline .timeline-item .item-circle > p { + margin: 0 0 8px; + font-weight: 500; +} +#article-container .timeline .timeline-item .timeline-item-content { + position: relative; + padding: 12px 15px; + border-radius: 8px; + background: var(--timeline-bg, #e4f3fd); + font-size: 0.93em; +} +#article-container .timeline .timeline-item .timeline-item-content > :last-child { + margin-bottom: 0; +} +#article-container .timeline + .timeline { + margin-top: -20px; +} +[data-theme='dark'] { + --global-bg: #0d0d0d; + --font-color: rgba(255,255,255,0.7); + --hr-border: rgba(255,255,255,0.4); + --hr-before-color: rgba(255,255,255,0.7); + --search-bg: #121212; + --search-input-color: rgba(255,255,255,0.7); + --search-result-title: rgba(255,255,255,0.9); + --preloader-bg: #0d0d0d; + --preloader-color: rgba(255,255,255,0.7); + --tab-border-color: #2c2c2c; + --tab-botton-bg: #2c2c2c; + --tab-botton-color: rgba(255,255,255,0.7); + --tab-button-hover-bg: #383838; + --tab-button-active-bg: #121212; + --card-bg: #121212; + --sidebar-bg: #121212; + --btn-hover-color: #787878; + --btn-color: rgba(255,255,255,0.7); + --btn-bg: #1f1f1f; + --text-bg-hover: #383838; + --light-grey: rgba(255,255,255,0.7); + --dark-grey: rgba(255,255,255,0.2); + --white: rgba(255,255,255,0.9); + --text-highlight-color: rgba(255,255,255,0.9); + --blockquote-color: rgba(255,255,255,0.7); + --blockquote-bg: #2c2c2c; + --reward-pop: #2c2c2c; + --toc-link-color: rgba(255,255,255,0.6); + --hl-color: rgba(255,255,255,0.7); + --hl-bg: #171717; + --hltools-bg: #1a1a1a; + --hltools-color: #90a4ae; + --hlnumber-bg: #171717; + --hlnumber-color: rgba(255,255,255,0.4); + --hlscrollbar-bg: #1f1f1f; + --hlexpand-bg: linear-gradient(180deg, rgba(23,23,23,0.6), rgba(23,23,23,0.9)); + --scrollbar-color: #1f1f1f; + --timeline-bg: #1f1f1f; +} +[data-theme='dark'] #web_bg:before, +[data-theme='dark'] #footer:before, +[data-theme='dark'] #page-header:before { + position: absolute; + width: 100%; + height: 100%; + background-color: rgba(0,0,0,0.7); + content: ''; +} +[data-theme='dark'] #article-container code { + background: #2c2c2c; +} +[data-theme='dark'] #article-container pre > code { + background: #171717; +} +[data-theme='dark'] #article-container figure.highlight { + -webkit-box-shadow: none; + box-shadow: none; +} +[data-theme='dark'] #article-container .note code { + background: rgba(27,31,35,0.05); +} +[data-theme='dark'] #article-container .aplayer { + filter: brightness(0.8); +} +[data-theme='dark'] #article-container kbd { + border-color: #696969; + background-color: #525252; + color: #e2f1ff; +} +[data-theme='dark'] #page-header.nav-fixed > #nav, +[data-theme='dark'] #page-header.not-top-img > #nav { + background: rgba(18,18,18,0.8); + -webkit-box-shadow: 0 5px 6px -5px rgba(133,133,133,0); + box-shadow: 0 5px 6px -5px rgba(133,133,133,0); +} +[data-theme='dark'] #post-comment #comment-switch { + background: #2c2c2c !important; +} +[data-theme='dark'] #post-comment #comment-switch .switch-btn { + filter: brightness(0.8); +} +[data-theme='dark'] .note { + filter: brightness(0.8); +} +[data-theme='dark'] .hide-button, +[data-theme='dark'] .btn-beautify, +[data-theme='dark'] .hl-label, +[data-theme='dark'] .post-outdate-notice, +[data-theme='dark'] .error-img, +[data-theme='dark'] #article-container iframe, +[data-theme='dark'] .gist, +[data-theme='dark'] .ads-wrap { + filter: brightness(0.8); +} +[data-theme='dark'] img { + filter: blur(0) brightness(0.8); +} +[data-theme='dark'] #aside-content .aside-list > .aside-list-item:not(:last-child) { + border-bottom: 1px dashed rgba(255,255,255,0.1); +} +[data-theme='dark'] #gitalk-container { + filter: brightness(0.8); +} +[data-theme='dark'] #gitalk-container svg { + fill: rgba(255,255,255,0.9) !important; +} +[data-theme='dark'] #disqusjs #dsqjs:hover, +[data-theme='dark'] #disqusjs #dsqjs:focus, +[data-theme='dark'] #disqusjs #dsqjs .dsqjs-tab-active, +[data-theme='dark'] #disqusjs #dsqjs .dsqjs-no-comment { + color: rgba(255,255,255,0.7); +} +[data-theme='dark'] #disqusjs #dsqjs .dsqjs-order-label { + background-color: #1f1f1f; +} +[data-theme='dark'] #disqusjs #dsqjs .dsqjs-post-body { + color: rgba(255,255,255,0.7); +} +[data-theme='dark'] #disqusjs #dsqjs .dsqjs-post-body code, +[data-theme='dark'] #disqusjs #dsqjs .dsqjs-post-body pre { + background: #2c2c2c; +} +[data-theme='dark'] #disqusjs #dsqjs .dsqjs-post-body blockquote { + color: rgba(255,255,255,0.7); +} +[data-theme='dark'] #artitalk_main #lazy { + background: #121212; +} +[data-theme='dark'] #operare_artitalk .c2 { + background: #121212; +} +@media screen and (max-width: 900px) { + [data-theme='dark'] #card-toc { + background: #1f1f1f; + } +} +.read-mode { + --font-color: #4c4948; + --readmode-light-color: #fff; + --white: #4c4948; + --light-grey: #4c4948; + --gray: #d6dbdf; + --hr-border: #d6dbdf; + --hr-before-color: #b9c2c9; + --highlight-bg: #f7f7f7; + --exit-btn-bg: #c0c0c0; + --exit-btn-color: #fff; + --exit-btn-hover: #8d8d8d; + --pseudo-hover: none; +} +[data-theme='dark'] .read-mode { + --font-color: rgba(255,255,255,0.7); + --readmode-light-color: #0d0d0d; + --white: rgba(255,255,255,0.9); + --light-grey: rgba(255,255,255,0.7); + --gray: rgba(255,255,255,0.7); + --hr-border: rgba(255,255,255,0.5); + --hr-before-color: rgba(255,255,255,0.7); + --highlight-bg: #171717; + --exit-btn-bg: #1f1f1f; + --exit-btn-color: rgba(255,255,255,0.9); + --exit-btn-hover: #525252; +} +.read-mode { + background: var(--readmode-light-color); +} +.read-mode .exit-readmode { + position: fixed; + top: 30px; + right: 30px; + z-index: 100; + width: 40px; + height: 40px; + border-radius: 8px; + background: var(--exit-btn-bg); + color: var(--exit-btn-color); + font-size: 16px; + -webkit-transition: background 0.3s; + -moz-transition: background 0.3s; + -o-transition: background 0.3s; + -ms-transition: background 0.3s; + transition: background 0.3s; +} +@media screen and (max-width: 768px) { + .read-mode .exit-readmode { + top: initial; + bottom: 30px; + } +} +.read-mode .exit-readmode:hover { + background: var(--exit-btn-hover); +} +.read-mode #aside-content { + display: none; +} +.read-mode #page-header.post-bg { + background-color: transparent; + background-image: none !important; +} +.read-mode #page-header.post-bg:before { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); +} +.read-mode #page-header.post-bg > #post-info { + text-align: center; +} +.read-mode #post { + margin: 0 auto; + background: transparent; + -webkit-box-shadow: none; + box-shadow: none; +} +.read-mode #post:hover { + -webkit-box-shadow: none; + box-shadow: none; +} +.read-mode > canvas { + display: none !important; +} +.read-mode .highlight-tools, +.read-mode #footer, +.read-mode #post > *:not(#post-info):not(.post-content), +.read-mode #nav, +.read-mode .post-outdate-notice, +.read-mode #web_bg, +.read-mode #rightside, +.read-mode .not-top-img { + display: none !important; +} +.read-mode #article-container a { + color: #99a9bf; +} +.read-mode #article-container pre, +.read-mode #article-container .highlight:not(.js-file-line-container) { + background: var(--highlight-bg) !important; +} +.read-mode #article-container pre *, +.read-mode #article-container .highlight:not(.js-file-line-container) * { + color: var(--font-color) !important; +} +.read-mode #article-container figure.highlight { + border-radius: 0 !important; + -webkit-box-shadow: none !important; + box-shadow: none !important; +} +.read-mode #article-container figure.highlight > :not(.highlight-tools) { + display: block !important; +} +.read-mode #article-container figure.highlight .line:before { + color: var(--font-color) !important; +} +.read-mode #article-container figure.highlight .hljs { + background: var(-highlight-bg) !important; +} +.read-mode #article-container h1, +.read-mode #article-container h2, +.read-mode #article-container h3, +.read-mode #article-container h4, +.read-mode #article-container h5, +.read-mode #article-container h6 { + padding: 0; +} +.read-mode #article-container h1:before, +.read-mode #article-container h2:before, +.read-mode #article-container h3:before, +.read-mode #article-container h4:before, +.read-mode #article-container h5:before, +.read-mode #article-container h6:before { + content: ''; +} +.read-mode #article-container h1:hover, +.read-mode #article-container h2:hover, +.read-mode #article-container h3:hover, +.read-mode #article-container h4:hover, +.read-mode #article-container h5:hover, +.read-mode #article-container h6:hover { + padding: 0; +} +.read-mode #article-container ul:hover:before, +.read-mode #article-container li:hover:before, +.read-mode #article-container ol:hover:before { + -webkit-transform: none !important; + -moz-transform: none !important; + -o-transform: none !important; + -ms-transform: none !important; + transform: none !important; +} +.read-mode #article-container ol:before, +.read-mode #article-container li:before { + background: transparent !important; + color: var(--font-color) !important; +} +.read-mode #article-container ul >li:before { + border-color: var(--gray) !important; +} +.read-mode #article-container .tabs { + border: 2px solid var(--tab-border-color); +} +.read-mode #article-container .tabs > .nav-tabs { + background: transparent; +} +.read-mode #article-container .tabs > .nav-tabs > .tab { + border-bottom: 0; +} +.read-mode #article-container .tabs > .nav-tabs > .tab button { + border-top: none !important; + background: transparent; +} +.read-mode #article-container .tabs > .nav-tabs > .tab button:hover { + background: none !important; +} +.read-mode #article-container .tabs > .nav-tabs > .tab.active button { + text-decoration: underline; +} +.read-mode #article-container .tabs > .tab-contents .tab-item-content.active { + -webkit-animation: none; + -moz-animation: none; + -o-animation: none; + -ms-animation: none; + animation: none; +} +.read-mode #article-container code { + color: var(--font-color); +} +.read-mode #article-container blockquote { + border-color: var(--gray); + background-color: var(--readmode-light-color); +} +.read-mode #article-container kbd { + border: 1px solid var(--gray); + background-color: transparent; + -webkit-box-shadow: none; + box-shadow: none; + color: var(--font-color); +} +.read-mode #article-container .hide-toggle { + border: 1px solid var(--gray) !important; +} +.read-mode #article-container .hide-button, +.read-mode #article-container .btn-beautify, +.read-mode #article-container .hl-label { + border: 1px solid var(--gray) !important; + background: var(--readmode-light-color) !important; + color: var(--font-color) !important; +} +.read-mode #article-container .note { + border: 2px solid var(--gray); + border-left-color: var(--gray) !important; + filter: none; + background-color: var(--readmode-light-color) !important; + color: var(--font-color); +} +.read-mode #article-container .note:before, +.read-mode #article-container .note .note-icon { + color: var(--font-color); +} +/* root伪类指定全局颜色 */ +:root { + --blue-custom: #5ea6e5; + --loading-color: rgba(207, 246, 247, 0.92); + --border-color: #c9c9c9; + --color-red: rgb(241, 71, 71); + --color-orange: rgb(241, 162, 71); + --color-yellow: rgb(241, 238, 71); + --color-purple: rgb(179, 71, 241); + --color-blue: rgb(102, 204, 255); + --color-gray: rgb(226, 226, 226); + --color-green: rgb(57, 197, 187); + --color-whitegray: rgb(241, 241, 241); + --color-pink: rgb(237, 112, 155); + --color-black: rgb(0, 0, 0); + --color-darkblue: rgb(97, 100, 159); + --color-heoblue: rgb(66, 90, 239); + --btn-bg: var(--theme-color) !important; + --scrollbar-color: var(--theme-color) !important; + --border-style: 1px solid rgba(169, 169, 169, 0.7); + /* 代码框行数背景色 */ + --hlnumber-bg: #282c34; + /* 代码框顶部背景色 */ + --hltools-bg: #1c1c1c; + /* 代码框背景色 */ + --hl-bg: #282c34; +} + +/* 滚动条样式 */ +::-webkit-scrollbar { + width: 8px; + height: 8px; +} + +::-webkit-scrollbar-track { + background-color: rgba(73, 177, 245, 0.2); + border-radius: 2em; +} + +::-webkit-scrollbar-thumb { + background-color: var(--theme-color); + background-image: -webkit-linear-gradient( + 45deg, + rgba(255, 255, 255, 0.4) 25%, + transparent 25%, + transparent 50%, + rgba(255, 255, 255, 0.4) 50%, + rgba(255, 255, 255, 0.4) 75%, + transparent 75%, + transparent + ); + border-radius: 2em; +} + +::-webkit-scrollbar-corner { + background-color: transparent; +} + +::-moz-selection { + color: #fff; + background-color: var(--theme-color) !important; +} + +/* 代码框底部滚动条 */ +#article-container figure.highlight > ::-webkit-scrollbar-thumb { + background-color: #35393f !important; + background-image: -webkit-linear-gradient( + 45deg, + rgba(255, 255, 255, 0.1) 25%, + transparent 25%, + transparent 50%, + rgba(255, 255, 255, 0.1) 50%, + rgba(255, 255, 255, 0.1) 75%, + transparent 75%, + transparent + ) !important; + border-radius: 2em !important; +} + +/* 字体引入 */ +@font-face { + font-family: YSHST; + src: url(/fonts/优设好身体.woff2); + font-display: swap; +} + +@font-face { + font-family: MiSans; + src: url(/fonts/MiSans.woff2); + font-display: swap; +} + +@font-face { + font-family: HYTMR; + src: url(/fonts/HYTangMeiRen55W.woff2); + font-display: swap; +} + +@font-face { + font-family: LXGW; + src: url(/fonts/霞鹜文楷.woff2); + font-display: swap; +} + +@font-face { + font-family: TTQHB; + src: url(/fonts/甜甜圈海报字体.woff2); + font-display: swap; +} + +@font-face { + font-family: Consolas_1; + src: url(/fonts/Consolas.woff2); + font-display: swap; +} + +@font-face { + font-family: ZhuZiAWan; + src: url(/fonts/ZhuZiAWan2.woff2); + font-display: swap; +} + +/* 特定部件字体调用 */ +div#menus { + font-weight: bold !important; +} +h1#site-title { + font-size: 3em !important; + font-weight: bold !important; +} +a.article-title, +a.blog-slider__title, +a.categoryBar-list-link, +h1.post-title { + font-weight: bold !important; +} + +.iconfont { + font-family: "iconfont" !important; + font-size: 3em; + font-style: normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.icon-zhongbiao::before { + color: #f7c768; +} + +/* 解决artitalk的图标问题 */ +#uploadSource > svg { + width: 1.19em; + height: 1.5em; +} + +/* 滚动显示的标题居中 */ +center#name-container { + position: absolute !important; + width: fit-content !important; + left: 42% !important; + /* transform: translateX(-50%) !important; */ + /* transform: translateY(-100%) !important; */ +} +@media screen and (max-width: 768px) { + center#name-container { + display: none; + } +} + +/* 去掉蓝色条 */ +/* #nav *::after{ + background-color: transparent!important; +} */ + +/* 一级菜单居中 */ +#nav .menus_items { + /* 这个带不带都可以,本来就是inline */ + display: inline; + position: absolute !important; + width: max-content !important; + left: 50% !important; + transform: translateX(-50%) !important; +} +#nav .menus_items .menus_item { + padding: 0 0 0 8px !important; +} +/* 子菜单横向展示 */ +#nav .menus_items .menus_item:hover .menus_item_child { + display: flex !important; +} +/* 这里的2是代表导航栏的第二个元素,即有子菜单的元素,可以按自己需求修改 */ +.menus_items .menus_item:nth-child(2) .menus_item_child { + left: -95px; +} +.menus_items .menus_item:nth-child(3) .menus_item_child { + left: -103px; +} +.menus_items .menus_item:nth-child(4) .menus_item_child { + left: -102px; +} +.menus_items .menus_item:nth-child(5) .menus_item_child { + left: -117px; +} +.menus_items .menus_item:nth-child(6) .menus_item_child { + left: -133px; +} +.menus_items .menus_item:nth-child(7) .menus_item_child { + left: -105px; +} + +/*top-img黑色透明玻璃效果移除,不建议加,除非你执着于完全一图流或者背景图对比色明显 */ +/* #page-header:not(.not-top-img):before { + background-color: transparent !important; +} */ + +/* 置顶滚动圆角 */ +.blog-slider__img img { + border-radius: 20px !important; +} + +/* 首页文章卡片 */ +#recent-posts > .recent-post-item { + background: var(--trans-light); + backdrop-filter: var(--backdrop-filter); + border-radius: 25px; + border: var(--border-style); +} + +/* 首页侧栏卡片 */ +#aside-content .card-widget { + background: var(--trans-light); + backdrop-filter: var(--backdrop-filter); + border-radius: 18px; + border: var(--border-style); + padding: 20px; +} + +/* 文章页、归档页、普通页面 */ +div#post, +div#page, +div#archive { + background: var(--trans-light); + backdrop-filter: var(--backdrop-filter); + border: var(--border-style); + border-radius: 20px; +} + +/* 导航栏颜色 */ +#page-header.nav-fixed #nav { + background: linear-gradient(60deg, #ffd7e4 0, #c8f1ff 93%); + opacity: 0.95; + backdrop-filter: var(--backdrop-filter); +} +[data-theme="dark"] #page-header.nav-fixed #nav { + background: rgba(0, 0, 0, 0.95) !important; +} + +/* 夜间模式遮罩 */ +[data-theme="dark"] #recent-posts > .recent-post-item, +[data-theme="dark"] #aside-content .card-widget, +[data-theme="dark"] div#post, +[data-theme="dark"] div#archive, +[data-theme="dark"] div#page { + background: var(--trans-dark); +} + +/* 白天模式头图与页脚遮罩 */ +[data-theme="light"] #page-header:before, +[data-theme="light"] #footer::before { + background-color: rgba(0, 0, 0, 0.18) !important; + z-index: -3; +} + +/* 头图隐藏 */ +#page-header { + background: transparent !important; +} +/* 夜间模式页脚遮罩隐藏 */ +[data-theme="dark"] #footer::before { + background: transparent !important; +} +/* 夜间模式页脚头部遮罩隐藏 */ +[data-theme="dark"] #page-header::before { + background: transparent !important; +} + +/* 阅读模式 */ +.read-mode #aside-content .card-widget { + background: rgba(158, 204, 171, 0.5) !important; +} +.read-mode div#post { + background: rgba(158, 204, 171, 0.5) !important; +} + +/* 夜间模式下的阅读模式 */ +[data-theme="dark"] .read-mode #aside-content .card-widget { + background: rgba(25, 25, 25, 0.9) !important; + color: #ffffff; +} +[data-theme="dark"] .read-mode div#post { + background: rgba(25, 25, 25, 0.9) !important; + color: #ffffff; +} + +/* 评论框 */ +.vwrap { + box-shadow: 2px 2px 5px #bbb; + background: rgba(255, 255, 255, 0.3); + border-radius: 8px; + padding: 30px; + margin: 30px 0px 30px 0px; +} + +/* 设置评论框 */ +.vcard { + box-shadow: 2px 2px 5px #bbb; + background: rgba(255, 255, 255, 0.3); + border-radius: 8px; + padding: 30px; + margin: 30px 0px 0px 0px; +} + +/* 超链接样式 参考heo */ +#article-container + a:not(.fancybox, .imgbox, .swf, .box, .pimgbox, .magnet_link) { + text-decoration: none; + /* border-bottom: 2px solid var(--theme-color) */ + /* border-radius: 4px 4px 0 0 */ +} + +#article-container + a:not( + .fancybox, + .imgbox, + .swf, + .box, + .pimgbox, + .magnet_link, + .gallery_link + ):hover { + text-decoration: none; + color: #fefefe; + background: var(--text-bg-hover) !important; + border-radius: 4px; + box-shadow: 0 8px 12px -3px #4259ef23; + padding: 2px; + transition: all 0.3s ease-in-out; +} + +#article-container #hpp_talk p img { + display: inline; +} + +/* 代码框主题 */ +#article-container figure.highlight { + border-radius: 10px; +} +[data-theme="dark"] #article-container figure.highlight { + border: 0.5px solid #404040; +} + +/* 鼠标样式 */ +#cursor { + position: fixed; + width: 16px; + height: 16px; + background: var(--theme-color) !important; + border-radius: 8px; + opacity: 0.25; + z-index: 10086; + pointer-events: none; + transition: 0.2s ease-in-out; + transition-property: background, opacity, transform; +} + +#cursor.hidden { + opacity: 0; +} + +#cursor.hover { + opacity: 0.1; + transform: scale(2.5); + -webkit-transform: scale(2.5); + -moz-transform: scale(2.5); + -ms-transform: scale(2.5); + -o-transform: scale(2.5); +} + +#cursor.active { + opacity: 0.5; + transform: scale(0.5); + -webkit-transform: scale(0.5); + -moz-transform: scale(0.5); + -ms-transform: scale(0.5); + -o-transform: scale(0.5); +} + +/* ========================twikoo美化====================== */ +/* 隐藏评论者头像 */ +#twikoo .tk-comments .tk-submit .tk-avatar.tk-has-avatar { + display: none; +} + +/* 下面表情和按钮那一栏的设置 */ +#twikoo .tk-comments .tk-submit .tk-row.actions{ + margin-bottom: 0; + margin-left: 0; +} + +/* 个人信息和文本输入之间的空位置 */ +.tk-main .tk-submit .tk-col .tk-meta-input, +#twikoo .tk-comments .tk-submit .tk-col .tk-meta-input{ + margin-bottom: 16px; +} + +/* 直接固定高度,解决提交按钮有时高度不起作用的问题 */ +.tk-row.actions button.el-button { + height: 32px; +} + +/* 解决图片大小超出范围问题 */ +.tk-main .tk-content img { + max-width: 100%; + height: auto; +} + +/* 圆角设置 */ +.tk-meta-input input { + border-top-right-radius: 12px; + border-bottom-right-radius: 12px; +} + +.tk-meta-input div { + border-top-left-radius: 12px; + border-bottom-left-radius: 12px; +} + +/* 输入框样式 */ +.tk-input.el-textarea textarea { + border-radius: 12px; + min-height: 150px !important; + height: auto; +} + +/* 宽度太窄的时候去掉预览按钮 */ +@media screen and (max-width:420px) { + .tk-main .tk-submit .tk-row.actions button.el-button.tk-preview.el-button--default.el-button--small{ + display: none; + } +} + +:root { + --liushen-radius: 12px; + --liushen-card-border-width: 1px; +} + +/* 浅色模式颜色 */ +[data-theme=light] { + --liushen-border-color: #e3e8f7; + --liushen-card-bg: #fff; + --liushen-card-border: #e3e8f7; + --style-border-always: 1px solid var(--liushen-card-border); + --liushen-blue: #425AEF; +} + +/* 深色模式颜色 */ +[data-theme=dark] { + --liushen-border-color: #42444a; + --liushen-card-bg: #2c2c2c; + --liushen-card-border: #42444a; + --style-border-always: 1px solid var(--liushen-card-border); + --liushen-blue: #0084FF; +} + +/* 评论区评论大框 */ +.twikoo .tk-comments-container>.tk-comment, +.twikoo .tk-comments .tk-submit { + /* 内边距 */ + padding: 20px; + margin-top: 0px; + margin-bottom: 20px; + /* 圆角 */ + border-radius: var(--liushen-radius); + /* 背景颜色 */ + background: var(--liushen-card-bg); + /* 变动动画时长 */ + transition: .3s; +} + +/* 浅色模式评论区评论大框 */ +[data-theme=light] +.twikoo .tk-comments-container>.tk-comment, +.twikoo .tk-comments .tk-submit { + /* 阴影 */ + box-shadow: var(--card-box-shadow); +} + +/* 浅色模式评论区评论大框阴影悬浮加深 */ +[data-theme=light] +.twikoo .tk-comments-container>.tk-comment:hover, +.twikoo .tk-comments .tk-submit:hover { + /* 阴影(浅色模式突出层次感) */ + box-shadow: var(--card-hover-box-shadow); +} + +/* 黑暗模式评论区评论大框 */ +[data-theme=dark] +.twikoo .tk-comments-container>.tk-comment, +.twikoo .tk-comments .tk-submit { + /* 边框样式 */ + border-style: solid; + /* 边框宽度 */ + border-width: var(--liushen-card-border-width); + /* 边框颜色 */ + border-color: var(--liushen-card-border); +} + +/* 设备信息 */ +.twikoo .tk-extra { + /* 圆角 */ + border-radius: var(--liushen-radius); + /* 背景颜色 */ + background: var(--liushen-card-bg); + /* 内边距 */ + padding: 0.4rem; + /* 底边距 */ + margin-bottom: 1rem; + /* 变动动画时长 */ + transition: .3s; +} + +/* 浅色模式设备信息 */ +[data-theme=light] .twikoo .tk-extra { + /* 阴影 */ + box-shadow: var(--card-box-shadow); +} + +/* 浅色模式设备信息阴影悬浮加深 */ +[data-theme=light] .twikoo .tk-extra:hover { + /* 阴影 */ + box-shadow: var(--card-hover-box-shadow); +} + +/* 黑暗模式设备信息 */ +[data-theme=dark] .twikoo .tk-extra { + /* 边框样式 */ + border-style: solid; + /* 边框宽度 */ + border-width: var(--liushen-card-border-width); + /* 边框颜色 */ + border-color: var(--liushen-card-border); +} + +/* 加载更多按钮 */ +.twikoo .tk-expand { + /* 圆角 */ + border-radius: var(--liushen-radius); +} + +/* 浅色模式加载更多按钮 */ +[data-theme=light] .twikoo .tk-expand { + /* 阴影 */ + box-shadow: var(--card-box-shadow); +} + +/* 浅色模式加载更多按钮(鼠标悬浮时) */ +[data-theme=light] .twikoo .tk-expand:hover { + /* 阴影 */ + box-shadow: var(--card-hover-box-shadow); + /* 背景颜色 */ + background-color: var(--btn-bg); +} + +/* 黑暗模式加载更多按钮(鼠标悬浮时) */ +[data-theme=dark] .twikoo .tk-expand:hover { + /* 背景颜色 */ + background-color: var(--liushen-blue); +} + +/* 黑暗模式加载更多按钮 */ +[data-theme=dark] .twikoo .tk-expand { + /* 边框样式 */ + border-style: solid; + /* 边框宽度 */ + border-width: var(--liushen-card-border-width); + /* 边框颜色 */ + border-color: var(--liushen-card-border); +} + +/* 分类卡片移动端个人信息卡片只显示两个 */ +@media screen and (max-width:570px) { + .tk-main .tk-extras { + display: none; + } +} + +/* 评论区按钮样式 */ +.tk-row.actions button.el-button { + border-radius: 12px !important; +} + +/* 由于twikoo内部函数不宜修改,为了合适,去掉弹窗中的刷新按钮,该部分不需要,这是为了适配右键回复弹窗的内容的 +#popup #twikoo .tk-comments .tk-comments-container .tk-comments-title > span:nth-child(2) > span:nth-child(1) { + display: none; +} */ + +/* ========================twikoo美化====================== */ + +/* 右下角闭眼 */ +.el-textarea__inner { + background-image: url(/assets/open.webp) !important; +} +.el-textarea__inner:focus { + background-image: url(/assets/close.webp) !important; +} + +/* 调整楼中楼样式 ,整体左移,贴合气泡化效果 */ +.tk-replies { + left: -70px; + width: calc(100% + 70px); +} +/* 头像宽度调整 rem单位与全局字体大小挂钩,需配合自己情况调整大小以保证头像显示完整*/ +.tk-replies .tk-avatar { + width: 2.5rem !important; + height: 2.5rem !important; +} +.tk-replies .tk-avatar img { + width: 2.5rem !important; + height: 2.5rem !important; +} +/* 回复框左移,避免窄屏时出框 */ +.tk-comments-container .tk-submit { + position: relative; + left: -70px; +} +/* 评论块气泡化修改 */ +.tk-content { + /* linear-gradient(to bottom, #2193b0, #6dd5ed); */ + background: linear-gradient( + to top, + #4568dc, + #b06ab3 + ); /*默认模式访客气泡配色*/ + padding: 10px; + color: #fff; /*默认模式访客气泡字体配色*/ + border-radius: 10px; + font-size: 16px !important; + width: fit-content; + max-width: 100%; + position: relative !important; + overflow: visible !important; + max-height: none !important; +} +/* 修复图片出框 */ +.tk-content img { + max-width: 100% !important; +} +/* 修复过长文本出框 */ +.tk-content pre { + white-space: pre-wrap; + word-wrap: break-word; +} +.tk-content a { + color: #eeecaa; /*默认模式超链接配色*/ +} +.tk-content::before { + content: ""; + width: 0; + height: 0; + position: absolute; + top: 20px; + left: -13px; + border-top: 2px solid transparent; + border-bottom: 20px solid transparent; + border-right: 15px solid transparent; /*默认模式访客气泡小三角配色*/ + border-left: 0px solid transparent; +} +.tk-master .tk-content { + background: linear-gradient( + to top, + #43cea2, + #185a9d + ); /*默认模式博主气泡配色*/ + color: #fff; /*默认模式博主气泡字体配色*/ + width: fit-content; + max-width: 100%; +} +.tk-master .tk-content a { + color: #eeecaa; +} +.tk-master .tk-content::before { + content: ""; + width: 0; + height: 0; + position: absolute; + top: 20px; + left: -13px; + border-top: 2px solid transparent; + border-bottom: 20px solid transparent; + border-right: 15px solid transparent; /*默认模式博主气泡小三角配色*/ + border-left: 0px solid transparent; +} +.tk-row[data-v-d82ce9a0] { + max-width: 100%; + width: fit-content; +} +.tk-avatar { + border-radius: 50%; + margin-top: 10px; +} + +/* 夜间模式配色,具体比照上方默认模式class */ +[data-theme="dark"] .tk-content { + background: #000; + color: #fff; +} +[data-theme="dark"] .tk-content a { + color: #dfa036; +} +[data-theme="dark"] .tk-content::before { + border-right: 15px solid #000; +} +[data-theme="dark"] .tk-master .tk-content { + background: #000; + color: #fff; +} +[data-theme="dark"] .tk-master .tk-content a { + color: #dfa036; +} +[data-theme="dark"] .tk-master .tk-content::before { + border-top: 2px solid transparent; + border-bottom: 20px solid transparent; + border-right: 15px solid #000; + border-left: 0px solid transparent; +} +/* 自适应内容 */ +@media screen and (min-width: 1024px) { + /* 设置宽度上限,避免挤压博主头像 */ + .tk-content { + max-width: 75%; + width: fit-content; + } + .tk-master .tk-content { + width: 75%; + } + .tk-master .tk-content::before { + left: 100%; + border-left: 15px solid transparent; + border-right: 0px solid transparent; + } + .tk-master .tk-avatar { + position: relative; + left: calc(75% + 70px); + } + .tk-master .tk-row[data-v-d82ce9a0] { + position: relative; + top: 0px; + left: calc(75% - 230px); + } + [data-theme="dark"] .tk-master .tk-content::before { + border-left: 15px solid #000; + border-right: 0px solid transparent; + } +} +/* 设备名称常态隐藏,悬停评论时显示 */ +.tk-extras { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); +} +.tk-content:hover + .tk-extras { + -webkit-animation: tk-extras-fadeIn 0.5s linear; + -moz-animation: tk-extras-fadeIn 0.5s linear; + -o-animation: tk-extras-fadeIn 0.5s linear; + -ms-animation: tk-extras-fadeIn 0.5s linear; + animation: tk-extras-fadeIn 0.5s linear; + -webkit-animation-fill-mode: forwards; + -moz-animation-fill-mode: forwards; + -o-animation-fill-mode: forwards; + -ms-animation-fill-mode: forwards; + animation-fill-mode: forwards; +} +@-moz-keyframes tk-extras-fadeIn { + from { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + } + to { + opacity: 1; + -ms-filter: none; + filter: none; + } +} +@-webkit-keyframes tk-extras-fadeIn { + from { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + } + to { + opacity: 1; + -ms-filter: none; + filter: none; + } +} +@-o-keyframes tk-extras-fadeIn { + from { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + } + to { + opacity: 1; + -ms-filter: none; + filter: none; + } +} +@keyframes tk-extras-fadeIn { + from { + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + } + to { + opacity: 1; + -ms-filter: none; + filter: none; + } +} + +/* 文章页H1-H6图标样式效果 */ +/* 控制风车转动速度 */ +h1::before, +h2::before, +h3::before, +h4::before, +h5::before, +h6::before { + -webkit-animation: ccc 4s linear infinite; + animation: ccc 4s linear infinite; +} +/* 控制风车转动方向 -1turn 为逆时针转动,1turn 为顺时针转动,相同数字部分记得统一修改 */ +@-webkit-keyframes ccc { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + to { + -webkit-transform: rotate(-1turn); + transform: rotate(-1turn); + } +} +@keyframes ccc { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + to { + -webkit-transform: rotate(-1turn); + transform: rotate(-1turn); + } +} +/* 设置风车颜色 */ +#content-inner.layout h1::before { + color: #ef50a8; + margin-left: -1.55rem; + font-size: 1.3rem; + margin-top: -0.23rem; +} +#content-inner.layout h2::before { + color: #fb7061; + margin-left: -1.35rem; + font-size: 1.1rem; + margin-top: -0.12rem; +} +#content-inner.layout h3::before { + color: #ffbf00; + margin-left: -1.22rem; + font-size: 0.95rem; + margin-top: -0.09rem; +} +#content-inner.layout h4::before { + color: #a9e000; + margin-left: -1.05rem; + font-size: 0.8rem; + margin-top: -0.09rem; +} +#content-inner.layout h5::before { + color: #57c850; + margin-left: -0.9rem; + font-size: 0.7rem; + margin-top: 0rem; +} +#content-inner.layout h6::before { + color: #5ec1e0; + margin-left: -0.9rem; + font-size: 0.66rem; + margin-top: 0rem; +} +/* s设置风车hover动效 */ +#content-inner.layout h1:hover, +#content-inner.layout h2:hover, +#content-inner.layout h3:hover, +#content-inner.layout h4:hover, +#content-inner.layout h5:hover, +#content-inner.layout h6:hover { + color: var(--theme-color) !important; +} +#content-inner.layout h1:hover::before, +#content-inner.layout h2:hover::before, +#content-inner.layout h3:hover::before, +#content-inner.layout h4:hover::before, +#content-inner.layout h5:hover::before, +#content-inner.layout h6:hover::before { + color: var(--theme-color) !important; + -webkit-animation: ccc 6s linear infinite; + animation: ccc 6s linear infinite; +} + +/*哔哩哔哩视频适配*/ +.aspect-ratio { + position: relative; + width: 90%; + height: auto; + padding-bottom: 75%; + margin: 3% auto; + text-align: center; +} +.aspect-ratio iframe { + position: absolute; + width: 100%; + height: 86%; + left: 0; + top: 0; +} + +/* 图片模糊渐变清晰 */ +/*3s为加载动画的时间,1为加载动画的次数,ease-in-out为动画效果*/ +#page-header, +#web_bg { + -webkit-animation: imgblur 1s 1 ease-in-out; + animation: imgblur 1s 1 ease-in-out; +} +@keyframes imgblur { + 0% { + filter: blur(5px); + } + 100% { + filter: blur(0px); + } +} +/*适配使用-webkit内核的浏览器 */ +@-webkit-keyframes imgblur { + 0% { + -webkit-filter: blur(5px); + } + 100% { + -webkit-filter: blur(0px); + } +} + +/* 全局宽度 参考:https://yisous.xyz/posts/d1fc759/ */ +.layout { + max-width: 1400px; +} + +/* 侧边卡片栏宽度 */ +.aside-content { + max-width: 318px; + min-width: 300px; +} + +/* 平板尺寸自适应(不启用侧边栏宽度限制) */ +@media screen and (max-width: 900px) { + .aside-content { + max-width: none !important; + padding: 0 5px 0 5px; + } +} + +/* 除了首页以外其他页面隐藏卡片,并采用宽屏显示 */ +#archive, +#page, +#category, +#tag { + width: 100%; +} +.page:not(.page.home) .aside-content { + display: none; +} + +/* 友链一行显示更多 */ +.site-card { + width: calc(100% / 5 - 16px) !important; + border-radius: 18px !important; +} +.site-card .img { + height: 165px !important; + border-radius: 18px !important; +} +/* 适应宽度不同的设备 */ +@media screen and (max-width: 1200px) { + .site-card { + width: calc(100% / 4 - 16px) !important; + } +} +@media screen and (max-width: 900px) { + .site-card { + width: calc(100% / 3 - 16px) !important; + } +} +@media screen and (max-width: 600px) { + .site-card { + width: calc(100% / 2 - 16px) !important; + } +} + +/* Gallery一行显示更多 */ +.gallery-group { + width: calc(33% - 8px) !important; +} +/* 适应宽度不同的设备 */ +@media screen and (max-width: 1000px) { + .gallery-group { + width: calc(50% - 8px) !important; + } +} + +/* 标题增强 */ +#site-name::before { + opacity: 0; + background-color: var(--theme-color) !important; + border-radius: 8px; + -webkit-border-radius: 8px; + -moz-border-radius: 8px; + -ms-border-radius: 8px; + -o-border-radius: 8px; + transition: 0.3s; + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -ms-transition: 0.3s; + -o-transition: 0.3s; + position: absolute; + top: 0 !important; + right: 0 !important; + width: 100%; + height: 100%; + content: "\f015"; + box-shadow: 0 0 5px var(--theme-color) !important; + font-family: "Font Awesome 6 Free"; + text-align: center; + color: white; + line-height: 34px; /*如果有溢出或者垂直不居中的现象微调一下这个参数*/ + font-size: 18px; /*根据个人喜好*/ +} +#site-name:hover::before { + opacity: 1; + scale: 1.03; +} +#site-name { + position: relative; + font-size: 24px; /*一定要把字体调大点,否则效果惨不忍睹!*/ +} + +/* 阅读百分比 */ +/* 返回顶部 */ +button#go-up #percent { + display: none; + font-weight: bold; + font-size: 15px !important; +} + +button#go-up span { + font-size: 12px !important; + margin-right: -1px; +} + +/* 鼠标滑动到按钮上时显示返回顶部图标 */ +button#go-up:hover i { + display: block !important; +} + +button#go-up:hover #percent { + display: none !important; +} + +#rightside > div > a, +#rightside > div > button { + display: flex; + align-items: center; + justify-content: center; + width: 38px; + height: 38px; + font-size: 18px; + border-radius: 6px; +} + +/* 评论表情放大显示 */ +#owo-big { + position: fixed; + align-items: center; + background-color: rgb(255, 255, 255); + border: 1px #aaa solid; + border-radius: 10px; + z-index: 9999; + display: none; + transform: translate(0, -105%); + overflow: hidden; + animation: owoIn 0.3s cubic-bezier(0.42, 0, 0.3, 1.11); +} + +[data-theme="dark"] #owo-big { + background-color: #4a4a4a; +} + +#owo-big img { + width: 100%; +} + +/* 动画效果代码由 Heo:https://blog.zhheo.com/ 提供 */ +@keyframes owoIn { + 0% { + transform: translate(0, -95%); + opacity: 0; + } + 100% { + transform: translate(0, -105%); + opacity: 1; + } +} + +/* 评论区输入提示 */ +/* 设置文字内容 :nth-child(1)的作用是选择第几个 */ +.el-input.el-input--small.el-input-group.el-input-group--prepend:nth-child( + 1 + ):before { + content: "输入QQ号会自动获取昵称和头像🐧"; +} + +.el-input.el-input--small.el-input-group.el-input-group--prepend:nth-child( + 2 + ):before { + content: "收到回复将会发送到您的邮箱📧"; +} + +.el-input.el-input--small.el-input-group.el-input-group--prepend:nth-child( + 3 + ):before { + content: "可以通过昵称访问您的网站🔗"; +} + +/* 当用户点击输入框时显示 */ +.el-input.el-input--small.el-input-group.el-input-group--prepend:focus-within::before, +.el-input.el-input--small.el-input-group.el-input-group--prepend:focus-within::after { + display: block; +} + +/* 主内容区 */ +.el-input.el-input--small.el-input-group.el-input-group--prepend::before { + /* 先隐藏起来 */ + display: none; + /* 绝对定位 */ + position: absolute; + /* 向上移动60像素 */ + top: -60px; + /* 文字强制不换行,防止left:50%导致的文字换行 */ + white-space: nowrap; + /* 圆角 */ + border-radius: 10px; + /* 距离左边50% */ + left: 50%; + /* 然后再向左边挪动自身的一半,即可实现居中 */ + transform: translate(-50%); + /* 填充 */ + padding: 14px 18px; + background: #444; + color: #fff; +} + +/* 小角标 */ +.el-input.el-input--small.el-input-group.el-input-group--prepend::after { + display: none; + content: ""; + position: absolute; + /* 内容大小(宽高)为0且边框大小不为0的情况下,每一条边(4个边)都是一个三角形,组成一个正方形。 + 我们先将所有边框透明,再给其中的一条边添加颜色就可以实现小三角图标 */ + border: 12px solid transparent; + border-top-color: #444; + left: 50%; + transform: translate(-50%, -48px); +} + +/* 美化模块 */ +.winbox { + border-radius: 12px; + overflow: hidden; +} + +.wb-body { + background-color: #e5f1f5; +} + +.wb-full { + display: none; +} + +.wb-min { + background-position: center; +} + +[data-theme="dark"] .wb-body, +[data-theme="dark"] #changeBgBox { + background: #333 !important; +} + +.bgbox { + display: flex; + flex-wrap: wrap; + justify-content: space-between; +} + +.pimgbox, +.imgbox, +.box { + height: 100px; + width: 166px; + margin: 10px; + border-radius: 10px !important; + background-size: cover; +} + +.pimgbox, +.imgbox { + border-radius: 10px; + overflow: hidden; +} + +.imgbox:hover, +.pimgbox:hover, +.box:hover { + scale: 1.05; + transition: all 0.3s ease-in-out; +} + +.pimgbox { + height: 240px; +} + +.imgbox { + height: 95px; +} + +@media screen and (max-width: 768px) { + /* 背景 */ + .pimgbox, + .imgbox, + .box { + height: 73px; + width: 135px; + } + .pimgbox { + height: 205px; + } + + /* 2.0新增内容 */ + .wb-min { + display: none; + } + #changeBgBox .wb-body::-webkit-scrollbar { + display: none; + } +} + +/* 应用监控夜间模式适配 id要# class是直接来就行*/ +[data-theme="dark"] #statistic { + background: #2b2929; +} + +/* 侧边栏个人信息卡片动态渐变色 */ +/* #aside-content > .card-widget.card-info { + background: linear-gradient( + -45deg, + #e8d8b9, + #eccec5, + #a3e9eb, + #bdbdf0, + #eec1ea + ); + box-shadow: 0 0 5px rgb(66, 68, 68); + position: relative; + background-size: 400% 400%; + -webkit-animation: Gradient 10s ease infinite; + -moz-animation: Gradient 10s ease infinite; + animation: Gradient 10s ease infinite !important; +} +@-webkit-keyframes Gradient { + 0% { + background-position: 0% 50%; + } + 50% { + background-position: 100% 50%; + } + 100% { + background-position: 0% 50%; + } +} +@-moz-keyframes Gradient { + 0% { + background-position: 0% 50%; + } + 50% { + background-position: 100% 50%; + } + 100% { + background-position: 0% 50%; + } +} +@keyframes Gradient { + 0% { + background-position: 0% 50%; + } + 50% { + background-position: 100% 50%; + } + 100% { + background-position: 0% 50%; + } +} */ + + +/* 个人信息卡片背景图 */ +[data-theme="light"] #aside-content > .card-widget.card-info { + background-image: url(https://pict.tutuxka.eu.org/Qexo/23/12/snowflower_d41d8cd98f00b204e9800998ecf8427e.webp); + background-repeat: no-repeat; + background-attachment: inherit; + background-size: 100%; +} +[data-theme="dark"] #aside-content > .card-widget.card-info { + background-image: url(https://pict.tutuxka.eu.org/Qexo/23/12/aurora_d41d8cd98f00b204e9800998ecf8427e.webp); + background-repeat: no-repeat; + background-attachment: inherit; + background-size: 100%; +} +/* 头像呼吸灯 */ +[data-theme="light"] .avatar-img { + animation: huxi_light 4s ease-in-out infinite; +} +[data-theme="dark"] .avatar-img { + animation: huxi_dark 4s ease-in-out infinite; +} +@keyframes huxi_light { + 0% { + box-shadow: 0px 0px 1px 1px #9ff2d2; + } + 50% { + box-shadow: 0px 0px 5px 5px #9ff2d2; + } + 100% { + box-shadow: 0px 0px 1px 1px #9ff2d2; + } +} +@keyframes huxi_dark { + 0% { + box-shadow: 0px 0px 1px 1px #39c5bb; + } + 50% { + box-shadow: 0px 0px 5px 5px #39c5bb; + } + 100% { + box-shadow: 0px 0px 1px 1px #39c5bb; + } +} + +/* 个人信息Follow me按钮 */ +#aside-content > .card-widget.card-info > #card-info-btn { + background-color: var(--theme-color) !important; + border-radius: 30px; + color: white; +} +#aside-content > .card-widget.card-info > #card-info-btn:hover { + background-color: var(--text-bg-hover) !important; +} + +/* Aplayer字体 */ +#article-container .aplayer { + font-family: var(--global-font) !important; +} + +/* 背景图片链接输入框placeholder*/ +input#pic-link::-webkit-input-placeholder { + color: rgb(150, 150, 150); +} + +input#pic-link { + width: 82%; + border-radius: 30px; + border: 1px solid var(--theme-color) !important; + padding: 5px 10px 5px 10px; + line-height: 2; + outline: 1px solid var(--theme-color) !important; +} + +/* heo 加载动画头像 */ +.loading-img { + background: url(https://tutublog.eu.org/file/62be185fff26d03cda4f1.jpg) + no-repeat center center; + background-size: cover; +} + +/* heo 夜间模式加载背景色 */ +[data-theme="dark"] { + --loading-color: rgba(25, 25, 25, 0.92) !important; +} + +/* 顶栏常驻 */ +.nav-fixed #nav { + transform: translateY(58px) !important; + -webkit-transform: translateY(58px) !important; + -moz-transform: translateY(58px) !important; + -ms-transform: translateY(58px) !important; + -o-transform: translateY(58px) !important; +} +#nav { + transition: none !important; + -webkit-transition: none !important; + -moz-transition: none !important; + -ms-transition: none !important; + -o-transition: none !important; +} + +@media screen and (mai-width: 768px) { + #nav { + padding: 0 28px; + } +} + +/* 导航栏显示标题 */ +#page-name::before { + font-size: 18px; + position: absolute; + width: 100%; + height: 100%; + border-radius: 8px; + color: white !important; + top: 0; + left: 0; + content: "回到顶部"; + background-color: var(--theme-color) !important; + transition: all 0.3s; + -webkit-transition: all 0.3s; + -moz-transition: all 0.3s; + -ms-transition: all 0.3s; + -o-transition: all 0.3s; + opacity: 0; + box-shadow: 0 0 3px var(--theme-color) !important; + line-height: 45px; /*如果垂直位置不居中可以微调此值,也可以删了*/ +} +#page-name:hover:before { + opacity: 1; +} +#name-container { + transition: all 0.3s; + -webkit-transition: all 0.3s; + -moz-transition: all 0.3s; + -ms-transition: all 0.3s; + -o-transition: all 0.3s; +} +#name-container:hover { + scale: 1.03; +} +#page-name { + position: relative; + padding: 10px 30px; /*如果文字间隔不合理可以微调修改,第二个是水平方向的padding,第一个是垂直的*/ +} + +/* 调节字体显示栏目 */ +#swfs { + display: flex; + flex-wrap: wrap; +} +.swf { + padding: 10px; + font-size: 20px; + background-color: white; + /* 字体选择框边界由js指定 */ + /* border: 2px solid var(--border-color); */ + border-radius: 10px !important; + margin: 10px; +} + +.swf:hover { + text-decoration: none !important; + background: var(--text-bg-hover) !important; +} + +/* 主题色选择 */ +input[name="colors"] { + margin-right: 15px; + min-width: 1rem; + height: 1rem; + appearance: none; + -webkit-appearance: none; + border-radius: 50%; +} +#red { + border: 3px solid var(--color-red); +} +#orange { + border: 3px solid var(--color-orange); +} +#yellow { + border: 3px solid var(--color-yellow); +} +#green { + border: 3px solid var(--color-green); +} +#blue { + border: 3px solid var(--color-blue); +} +#purple { + border: 3px solid var(--color-purple); +} +#pink { + border: 3px solid var(--color-pink); +} +#heoblue { + border: 3px solid var(--color-heoblue); +} +#darkblue { + border: 3px solid var(--color-darkblue); +} +#black { + border: 3px solid var(--color-black); +} +#blackgray { + border: 3px solid var(--color-blackgray); +} +#purple:checked { + box-shadow: 0 0 0 2px #fff inset; + border-radius: 50%; + border: 3px solid var(--color-purple); + background-color: var(--color-purple); +} +#red:checked { + box-shadow: 0 0 0 2px #fff inset; + border-radius: 50%; + border: 3px solid var(--color-red); + background-color: var(--color-red); +} +#orange:checked { + box-shadow: 0 0 0 2px #fff inset; + border-radius: 50%; + border: 3px solid var(--color-orange); + background-color: var(--color-orange); +} +#yellow:checked { + box-shadow: 0 0 0 2px #fff inset; + border-radius: 50%; + border: 3px solid var(--color-yellow); + background-color: var(--color-yellow); +} +#green:checked { + box-shadow: 0 0 0 2px #fff inset; + border-radius: 50%; + border: 3px solid var(--color-green); + background-color: var(--color-green); +} +#blue:checked { + box-shadow: 0 0 0 2px #fff inset; + border-radius: 50%; + border: 3px solid var(--color-blue); + background-color: var(--color-blue); +} +#pink:checked { + box-shadow: 0 0 0 2px #fff inset; + border-radius: 50%; + border: 3px solid var(--color-pink); + background-color: var(--color-pink); +} +#heoblue:checked { + box-shadow: 0 0 0 2px #fff inset; + border-radius: 50%; + border: 3px solid var(--color-heoblue); + background-color: var(--color-heoblue); +} +#darkblue:checked { + box-shadow: 0 0 0 2px #fff inset; + border-radius: 50%; + border: 3px solid var(--color-darkblue); + background-color: var(--color-darkblue); +} +#black:checked { + box-shadow: 0 0 0 2px #fff inset; + border-radius: 50%; + border: 3px solid var(--color-black); + background-color: var(--color-black); +} +#blackgray:checked { + box-shadow: 0 0 0 2px #fff inset; + border-radius: 50%; + border: 3px solid var(--color-blackgray); + background-color: var(--color-blackgray); +} + +/* 主题色适配覆盖区域 */ +.category-lists ul li:before { + border: 0.215em solid var(--theme-color) !important; +} +a.article-meta__tags:hover, +a.article-meta__categories:hover, +a.blog-slider__title:hover, +.tk-footer a:hover { + color: var(--theme-color) !important; +} + +blockquote { + border-left: 3px solid var(--theme-color) !important; +} +#article-container .highlight-tools .copy-button:hover { + color: var(--theme-color) !important; +} +.error404 #error-wrap .error-content .error-img img { + background-color: var(--theme-color) !important; +} +.article-sort-title:before { + border: 5px solid var(--theme-color) !important; +} +.article-sort-item:before { + order: 3px solid var(--theme-color) !important; +} +.article-sort-item.year:hover:before { + border-color: var(--theme-color) !important; +} +.article-sort-item-title:hover { + color: var(--theme-color) !important; +} +.category-lists .category-list a:hover { + color: var(--theme-color) !important; +} +#recent-posts > .recent-post-item > .recent-post-info > .article-title:hover { + color: var(--theme-color) !important; +} +#recent-posts + > .recent-post-item + > .recent-post-info + > .article-meta-wrap + a:hover { + color: var(--theme-color) !important; +} +.tag-cloud-list a:hover { + color: var(--theme-color) !important; +} +#aside-content .card-tag-cloud a:hover { + color: var(--theme-color) !important; +} +#aside-content .aside-list > .aside-list-item .content > .comment:hover { + color: var(--theme-color) !important; +} +#aside-content #card-toc .toc-content .toc-link:hover { + color: var(--theme-color); + scale: 1.03; +} +*::selection { + background: var(--theme-color) !important; +} +#aside-content #card-toc .toc-content .toc-link.active { + background: var(--theme-color); + border-radius: 8px; +} +#aside-content #card-toc .toc-content .toc-link.active:hover { + color: #fefefe; +} +.site-data > a:hover div { + color: var(--theme-color) !important; +} + +#post-comment .comment-head #comment-switch .first-comment { + color: var(--theme-color) !important; +} +#post-comment .comment-head #comment-switch .switch-btn { + background-color: var(--theme-color) !important; +} +#page-header.nav-fixed #nav #toggle-menu:hover { + color: var(--theme-color) !important; +} +#post-info #post-meta a:hover { + color: var(--theme-color) !important; +} +#pagination .page-number.current { + background: var(--theme-color) !important; +} +#article-container h1:hover:before, +#article-container h2:hover:before, +#article-container h3:hover:before, +#article-container h4:hover:before, +#article-container h5:hover:before, +#article-container h6:hover:before { + color: var(--theme-color) !important; +} +#article-container li::marker { + color: var(--theme-color) !important; +} +#post .tag_share .post-meta__tags { + border: 1px solid var(--theme-color) !important; + color: var(--theme-color); + display: flex; +} +a:hover { + color: var(--theme-color); +} +#post .tag_share .post-meta__tags:hover { + background: var(--theme-color) !important; +} +#post .post-copyright .post-copyright-meta { + color: var(--theme-color) !important; +} +#post .post-copyright-cc-info { + color: var(--theme-color) !important; +} +#waline-wrap { + --waline-theme-color: var(--theme-color) !important; +} +.hide-inline > .hide-button, +.hide-block > .hide-button { + background: var(--theme-color) !important; +} +#article-container .tabs > .nav-tabs > .tab.active button { + border-top: 2px solid var(--theme-color) !important; +} +#article-container .timeline { + border-left: 2px solid var(--timeline-color, var(--theme-color)); +} +#article-container .timeline .timeline-item:hover .item-circle:before { + border-color: var(--timeline-color, var(--theme-color)); +} +#article-container + .timeline + .timeline-item.headline + .timeline-item-title + .item-circle:before { + border: 4px solid var(--timeline-color, var(--theme-color)); +} +.search-dialog .search-nav { + color: var(--theme-color) !important; +} +.search-dialog .search-nav .search-close-button:hover { + color: var(--theme-color) !important; +} +#local-search .search-dialog .local-search-box input { + border: 2px solid var(--theme-color) !important; +} +#local-search .search-dialog .local-search__hit-item:before { + border: 3px solid var(--theme-color) !important; +} +#local-search .search-dialog .local-search__hit-item a:hover { + color: var(--theme-color) !important; +} +#nav *::after { + background-color: var(--theme-color) !important; +} + +.article-sort { + border-left: 2px solid var(--theme-color) !important; +} + +.article-sort-title:after { + background: var(--theme-color) !important; +} + +.article-sort-item:before { + border: 3px solid var(--theme-color) !important; +} + +/* 开关按钮 */ +.settings input[type="checkbox"] { + width: 37px; + height: 20px; + position: relative; + border: 1px solid #000000; + background-color: #fdfdfd; + border-radius: 12px; + background-clip: content-box; + display: inline-block; + -webkit-appearance: none; + user-select: none; + outline: none; + transform: translateY(5px); +} +.settings input[type="checkbox"]:before { + content: ""; + width: 14px; + height: 14px; + position: absolute; + top: 2px; + left: 3px; + border-radius: 10px; + background-color: #000; +} +.settings input[type="checkbox"]:checked { + background-color: var(--theme-color) !important; + border-color: var(--theme-color) !important; +} +.settings input[type="checkbox"]:checked:before { + left: 19px; + background-color: white !important; +} +.settings input[type="checkbox"] { + transition: border background-color box-shadow; +} +.settings input[type="checkbox"]:before { + transition: left 0.2s; +} +.settings input[type="checkbox"]:checked { + background-color: var(--theme-color) !important; +} +.settings input[type="checkbox"]:checked:before { + transition: left 0.2s; +} +.settings input[type="checkbox"]:checked:hover { + opacity: 0.8; +} +.settings input[type="checkbox"]:active { + background-color: #666666 !important; + border-color: #666666 !important; +} +.settings input[type="checkbox"]:active::before { + background-color: white !important; +} +.content-text { + margin-right: 5px; +} + +/* 手机侧边菜单栏 */ +#sidebar #sidebar-menus { + background: linear-gradient(60deg, #ffd7e4 0, #c8f1ff 93%); + border-radius: 15px; +} + +/* 手机菜单栏渐变色适配暗黑模式 */ +[data-theme="dark"] #sidebar #sidebar-menus { + background: rgba(25, 25, 25, 0.95) !important; +} + +/* 帧率检测 */ +#fps { + position: fixed; + left: 10px; + bottom: 10px; + z-index: 1919810; +} +[data-theme="light"] #fps { + background-color: rgba(255, 255, 255, 0.85); + backdrop-filter: var(--backdrop-filter); + padding: 4px; + border-radius: 4px; +} +[data-theme="dark"] #fps { + background-color: rgba(0, 0, 0, 0.72); + backdrop-filter: var(--backdrop-filter); + padding: 4px; + border-radius: 4px; +} + +/* 侧边栏 */ +div#rightside { + display: var(--rightside-display); + opacity: 0.98 !important; + transform: translateX(-58px); +} + +/* 标签圆角 */ +.hl-label { + border-radius: 8px; +} + +/* 透明度和模糊半径滑块 */ +input[type="range"] { + display: block; + -webkit-appearance: none; + background-color: #bdc3c7; + width: 100%; + height: 5px; + border-radius: 3px; + margin: 0 auto; + outline: 0; +} +input[type="range"]::-webkit-slider-thumb { + -webkit-appearance: none; + background-color: var(--theme-color) !important; + width: 15px; + height: 15px; + border-radius: 50%; + z-index: 100; +} +.range { + position: relative; + width: 300px; + margin: 20px 0px 32px 10px; +} +.rang_width { + position: absolute; + top: 0px; + left: 0px; + background: var(--theme-color) !important; + height: 5px; + border-radius: 2px 0 0 2px; +} + +/* 翻页按钮居中 */ +#pagination { + width: 100%; + margin: auto; +} +/* 翻页按钮上边距 */ +#pagination .pagination { + margin-top: 10px; +} + +/* 文章卡片 */ +/* #recent-posts > .recent-post-item .post_cover { + height: 240px !important; +} */ + +/* 分类磁贴 */ +/* .categoryBar-list { + max-height: 210px !important; +} +@media screen and (max-width: 650px) { + .categoryBar-list { + max-height: 190px !important; + } +} +li.categoryBar-list-item { + border-radius: 20px !important; +} */ + +/* 置顶滚动栏电脑端样式,手机端用默认的 */ +@media screen and (min-width: 600px) { + .blog-slider { + height: 260px !important; + } + .blog-slider__img { + width: 240px !important; + height: 100% !important; + } +} + +/* 自定义颜色框 */ +#define_colors::before { + position: absolute; + color: rgb(255, 255, 255); + left: 45px; + top: 44px; + content: "自定义颜色"; +} +#define_colors { + border: none; + background: 0 0; + width: 166px; + height: 110px; + margin: 5px 10px; + position: relative; + padding: 0; +} + +/* 顶部胶囊加载条 */ +.pace { + -webkit-pointer-events: none; + pointer-events: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + z-index: 2000; + position: fixed; + margin: auto; + top: 10px; + left: 0; + right: 0; + height: 8px; + border-radius: 8px; + width: 5rem; + background: #eaecf2; + border: 1px #e3e8f7; + overflow: hidden; +} + +.pace-inactive .pace-progress { + opacity: 0; + transition: 0.3s ease-in; +} + +.pace .pace-progress { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + -ms-box-sizing: border-box; + -o-box-sizing: border-box; + box-sizing: border-box; + -webkit-transform: translate3d(0, 0, 0); + -moz-transform: translate3d(0, 0, 0); + -ms-transform: translate3d(0, 0, 0); + -o-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + max-width: 200px; + position: absolute; + z-index: 2000; + display: block; + top: 0; + right: 100%; + height: 100%; + width: 100%; + background: linear-gradient(-45deg, #ee7752, #e73c7e, #23a6d5, #23d5ab); + animation: gradient 1.5s ease infinite; + background-size: 200%; +} + +.pace.pace-inactive { + opacity: 0; + transition: 0.3s; + top: -8px; +} +@keyframes gradient { + 0% { + background-position: 0% 50%; + } + 50% { + background-position: 100% 50%; + } + 100% { + background-position: 0% 50%; + } +} + +/* 右键菜单 */ +#rightMenu { + display: none; + position: fixed; + width: 160px; + height: fit-content; + top: 10%; + left: 10%; + background-color: var(--card-bg); + border: 1px solid var(--font-color); + border-radius: 8px; + z-index: 100; +} +#rightMenu .rightMenu-group { + padding: 7px 6px; +} +#rightMenu .rightMenu-group:not(:nth-last-child(1)) { + border-bottom: 1px solid var(--font-color); +} +#rightMenu .rightMenu-group.rightMenu-small { + display: flex; + justify-content: space-between; +} +#rightMenu .rightMenu-group .rightMenu-item { + height: 30px; + line-height: 30px; + border-radius: 8px; + transition: 0.3s; + color: var(--font-color); +} +#rightMenu .rightMenu-group.rightMenu-line .rightMenu-item { + display: flex; + height: 40px; + line-height: 40px; + padding: 0 4px; +} +#rightMenu .rightMenu-group .rightMenu-item:hover { + background-color: var(--text-bg-hover) !important; +} +#rightMenu .rightMenu-group .rightMenu-item i { + display: inline-block; + text-align: center; + line-height: 30px; + width: 30px; + height: 30px; + padding: 0 5px; +} +#rightMenu .rightMenu-group .rightMenu-item span { + line-height: 30px; +} + +#rightMenu .rightMenu-group.rightMenu-line .rightMenu-item * { + height: 40px; + line-height: 40px; +} +.rightMenu-group.hide { + display: none; +} + +/* 页脚心跳动画 */ +#heartbeat { + color: red; + animation: iconAnimate 1s ease-in-out infinite; +} +@-moz-keyframes iconAnimate { + 0%, + 100% { + transform: scale(1); + } + 10%, + 30% { + transform: scale(0.9); + } + 20%, + 40%, + 60%, + 80% { + transform: scale(1.1); + } + 50%, + 70% { + transform: scale(1.1); + } +} +@-webkit-keyframes iconAnimate { + 0%, + 100% { + transform: scale(1); + } + 10%, + 30% { + transform: scale(0.9); + } + 20%, + 40%, + 60%, + 80% { + transform: scale(1.1); + } + 50%, + 70% { + transform: scale(1.1); + } +} +@-o-keyframes iconAnimate { + 0%, + 100% { + transform: scale(1); + } + 10%, + 30% { + transform: scale(0.9); + } + 20%, + 40%, + 60%, + 80% { + transform: scale(1.1); + } + 50%, + 70% { + transform: scale(1.1); + } +} +@keyframes iconAnimate { + 0%, + 100% { + transform: scale(1); + } + 10%, + 30% { + transform: scale(0.9); + } + 20%, + 40%, + 60%, + 80% { + transform: scale(1.1); + } + 50%, + 70% { + transform: scale(1.1); + } +} + +/* 星空背景 */ +#universe { + position: fixed; + margin: 0; + padding: 0; + border: 0; + outline: 0; + left: 0; + top: 0; + width: 100%; + height: 100%; + pointer-events: none; + /* 星空在底层避免干扰阅读 */ + z-index: -2; +} + +/* 星空手机模式消失 */ +@media screen and (max-width: 768px) { + #universe { + display: none !important; + } +} + +/* 星空白天模式消失 */ +[data-theme="light"] #universe { + display: none !important; +} + +/* 雪花特效 */ +[data-theme="light"] #snow { + position: fixed; + left: 0; + top: 0; + width: 100%; + height: 100%; + pointer-events: none; + z-index: -2; +} + +/* 雪花夜间模式不显示 */ +[data-theme="dark"] #snow { + display: none !important; +} + +/* 雪花手机模式不显示 */ +@media screen and (max-width: 768px) { + #snow { + display: none !important; + } +} + +/* 右边的小猫咪 */ +/* 滚动条,我设置的不隐藏,为了可以到达任何地方 */ +/* body::-webkit-scrollbar { + width: 0; +} */ + +.neko { + width: 64px; + height: 64px; + position: absolute; + right: 56px !important; + background-repeat: no-repeat; + background-size: contain; + transform: translateX(50%); + font-family: var(--global-font); + font-weight: 600; + font-size: 16px; + color: var(--theme-color) !important; + display: none; +} + +.neko::after { + display: none; + width: 100px; + height: 100px; + background-image: url("https://bu.dusays.com/2022/07/20/62d812d95e6f5.png"); + background-size: contain; + z-index: 9999; + position: absolute; + right: 50%; + text-align: center; + line-height: 106px; + top: -115%; +} + +.neko.showMsg::after { + content: attr(data-msg); + display: block; + overflow: hidden; + text-overflow: ellipsis; +} + +.neko:hover::after { + content: attr(data-msg); + display: block; + overflow: hidden; + text-overflow: ellipsis; +} + +.neko.fontColor::after { + color: #333; +} + +/* 小猫咪手机端消失 */ +@media screen and (max-width: 768px) { + .neko, + #myscoll { + display: none !important; + } +} + +#article-container .card-content img { + margin: 0; +} + +@media screen and (min-width: 768px) { + .card-content .fancybox, + .card-content video { + display: inline-block; + max-width: 40%; + margin-right: 10px; + } +} + +@media screen and (max-width: 768px) { + .card-content .fancybox, + .card-content video { + display: inline-block; + max-width: 48%; + margin: 1%; + } +} + +@keyframes Gradient { + 0% { + background-position: 0 50%; + } + 50% { + background-position: 100% 50%; + } + to { + background-position: 0 50%; + } +} + +/* By Fomalhaut版权大小 */ +.copyright { + font-size: 16px; +} + +/* 电子钟字体调节 */ +/* .card-clock-location, +.card-clock-windDir, +span.card-clock-weather { + font-family: var(--global-font) !important; +} */ + +/* 二级菜单圆角 */ +#nav .menus_items .menus_item .menus_item_child, +#nav .menus_items .menus_item .menus_item_child li, +#nav .menus_items .menus_item .menus_item_child li:first-child, +#nav .menus_items .menus_item .menus_item_child li:last-child { + border-radius: 8px; +} + +/* 右边的按钮间距 */ +#meihua-button, +#nightmode-button { + padding-left: 12px; +} + +/* 搜索框样式 */ +#algolia-search .search-dialog .ais-SearchBox .ais-SearchBox-form input { + border: 2px solid var(--theme-color) !important; + border-right: 0px !important; +} + +#algolia-search .search-dialog .ais-Hits-list a:hover { + color: var(--theme-color) !important; +} + +#algolia-search .search-dialog .ais-Hits-list li:before { + border: 0.215em solid var(--theme-color) !important; +} + +/* 小冰分类分类磁铁黑夜模式适配 */ +.magnet_item { + margin-right: 5px !important; +} +#catalog_magnet { + padding: 18px 18px 0 18px !important; +} +@media screen and (max-width: 600px) { + .magnet_item { + margin-right: 0px !important; + } +} +[data-theme="dark"] .magnet_link_context { + background: #1e1e1e; + color: antiquewhite; +} +[data-theme="dark"] .magnet_link_context { + border-radius: 6px; +} +[data-theme="dark"] .magnet_link_context:hover { + background: var(--text-bg-hover) !important; + color: #f2f2f2; + border-radius: 6px; +} + +/* 公告栏、微博 */ +.anno_content:hover, +.weibo-title:hover { + border-bottom: 2px solid var(--theme-color) !important; +} + +/* 关于页面区块 */ +.about_page { + background: #fafafa; + border-radius: 20px; + padding: 12px; + margin: 5px; + border: 2px solid #a0a0a0; +} +[data-theme="dark"] .about_page { + background: #252525; +} +/* 首页文章信息彩色图标右边相隔5px */ +.post-ui-icon { + margin-right: 2px; +} +/* 欢迎信息 */ +#welcome-info { + background: linear-gradient(45deg, #b9f4f3, #e3fbf9); + border-radius: 18px; + padding: 8px 8px; +} +[data-theme="dark"] #welcome-info { + background: #212121; +} + +/* 霓虹灯颜色渐变 */ +#site-name, +#site-title, +#site-subtitle, +#post-info, +.author-info__name, +.author-info__description { + transition: text-shadow 1s linear !important; +} + +/* tzy页脚样式 */ +/* 自定义底部 start */ +#ft { + max-width: 1200px; + margin: 0 auto 12px; + display: flex; + color: rgb(255 255 255 / 80%) !important; + text-align: left; + flex-wrap: wrap; +} + +.ft-item-1, +.ft-item-2 { + display: flex; + height: 100%; + padding: 2px 14px; +} + +.ft-item-1 { + flex-direction: column; + flex: 2; +} + +.ft-item-2 { + flex: 1; + flex-direction: column; +} + +.t-top { + display: flex; +} + +.t-top .t-t-l { + display: flex; + flex-direction: column; + flex: 1.4; + margin-right: 10px; +} + +.t-top .t-t-l .bg-ad { + width: 85%; + border-radius: 10px; + padding: 0 10px; +} + +.btn-xz-box { + margin-top: 10px; +} + +.btn-xz { + display: block; + background-color: var(--btn-bg); + color: var(--btn-color); + text-align: center; + line-height: 2.4; + margin: 8px 0; +} + +.btn-xz:hover { + text-decoration: none !important; +} + +.btn-xz-box:hover .btn-xz { + background-color: var(--text-bg-hover) !important; +} + +.t-top .t-t-r { + display: flex; + flex-direction: column; + flex: 1; +} + +.ft-links { + padding: 0 14px; + list-style: none; + margin-top: 0 !important; +} + +.ft-links li a { + display: inline-block !important; + width: 50%; +} + +.ft-links li a:hover { + text-decoration: none !important; + color: var(--theme-color) !important; +} + +.ft-item-2 .ft-img-group { + width: 100%; +} + +.ft-t { + font-size: 1.1rem; + margin-bottom: 20px; + line-height: 1; + font-weight: 600; +} + +.t-l-t { + padding-left: 14px; +} + +.ft-item-2 .ft-img-group .img-group-item { + display: inline-block; + width: 18.4%; + margin-right: 14px; + margin-bottom: 6px; +} + +.ft-item-2 .ft-img-group .img-group-item a { + display: inline-block; + width: 100%; + height: 100%; +} + +.ft-item-2 .ft-img-group .img-group-item a img { + width: 100%; + max-height: 80px; + border-radius: 10px; +} + +.ft-item-2 .ft-img-group .img-group-item a img:hover { + scale: 1.1; + transition: all 0.3s ease-in-out; +} + +@media screen and (max-width: 768px) { + .ft-item-1 { + flex-basis: 100% !important; + } + + .ft-item-2 { + flex-basis: 100% !important; + } + + .t-top .t-t-l .bg-ad { + width: 100%; + } +} + +@media screen and (max-width: 576px) { + .t-top { + flex-wrap: wrap; + } + + .t-top .t-t-l { + flex-basis: 100% !important; + } + + .t-top .t-t-r { + margin-top: 16px; + flex-basis: 100% !important; + } +} +#footer-wrap a { + border-radius: 30px; +} +#footer-wrap { + padding: 20px 20px; +} +/* 自定义底部 End */ + +/* 手机菜单栏选中圆角 */ +#sidebar #sidebar-menus .menus_items .site-page:hover { + border-radius: 10px; +} + +/* 代码框数字行 */ +#article-container figure.highlight .gutter pre { + border-right: 0.5px solid #808080; +} + +/* 右侧栏宽度 */ +@media screen and (min-width: 900px) { + #aside-content { + padding: 0 5px 0 5px; + } +} + +/* 右边栏设置齿轮转速 */ +i.fas.fa-cog.right_side { + animation: fa-spin 5s linear infinite; +} + +/* 文章封面箭头动画 */ +.recent-post-arrow { + animation: ddd 3s linear infinite; +} + +@keyframes ddd { + 0% { + top: 30px; + } + 10% { + top: 20px; + } + 20% { + top: 30px; + } + 30% { + top: 20px; + } + 60% { + top: 22px; + } + 90% { + top: 20px; + } + 100% { + top: 20px; + } +} + +/* 下一篇文章的圆角 */ +.relatedPosts > .relatedPosts-list > div, +#pagination.pagination-post, +.postImgHover img, +#pagination .prev-post img, +#pagination .next-post img, +.relatedPosts > .relatedPosts-list > div img { + border-radius: 12px; +} + +/* 个人信息状态(参考鱼的) */ +.card-info-avatar .author-status-box { + position: absolute; + bottom: 0; + left: calc(100% - 28px); + width: 28px; + height: 28px; + border: 1px solid #d0d7de; + border-radius: 2em; + background-color: #f8f8f8f8; + transition: 0.4s; + overflow: hidden; +} + +[data-theme="dark"] .card-info-avatar .author-status-box { + background-color: #222222f2; + border: 1px solid #5c6060; +} + +.card-info-avatar .author-status-box .author-status { + display: flex; + align-items: center; + justify-content: center; + height: 28px; + padding: 0 5px; +} + +.card-info-avatar .author-status-box:hover { + width: 105px; +} + +.card-info-avatar .author-status-box:hover .author-status span { + width: 105px; + margin-left: 4px; +} + +.card-info-avatar .author-status-box .author-status span { + width: 0; + font-size: 12px; + height: 100%; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + transition: 0.4s; +} + +.card-widget .card-info-avatar { + display: inline-block; + position: relative; +} + +/* 波浪css */ +.main-hero-waves-area { + width: 100%; + position: absolute; + left: 0; + bottom: -11px; + z-index: 5; +} +.waves-area .waves-svg { + width: 100%; + height: 5rem; +} +/* Animation */ + +.parallax > use { + animation: move-forever 25s cubic-bezier(0.55, 0.5, 0.45, 0.5) infinite; +} +.parallax > use:nth-child(1) { + animation-delay: -2s; + animation-duration: 7s; + fill: #f7f9febd; +} +.parallax > use:nth-child(2) { + animation-delay: -3s; + animation-duration: 10s; + fill: #f7f9fe82; +} +.parallax > use:nth-child(3) { + animation-delay: -4s; + animation-duration: 13s; + fill: #f7f9fe36; +} +.parallax > use:nth-child(4) { + animation-delay: -5s; + animation-duration: 20s; + fill: #f7f9fe; +} +/* 黑色模式背景 */ +[data-theme="dark"] .parallax > use:nth-child(1) { + animation-delay: -2s; + animation-duration: 7s; + fill: #18171dc8; +} +[data-theme="dark"] .parallax > use:nth-child(2) { + animation-delay: -3s; + animation-duration: 10s; + fill: #18171d80; +} +[data-theme="dark"] .parallax > use:nth-child(3) { + animation-delay: -4s; + animation-duration: 13s; + fill: #18171d3e; +} +[data-theme="dark"] .parallax > use:nth-child(4) { + animation-delay: -5s; + animation-duration: 20s; + fill: #18171d; +} + +@keyframes move-forever { + 0% { + transform: translate3d(-90px, 0, 0); + } + 100% { + transform: translate3d(85px, 0, 0); + } +} +/*Shrinking for mobile*/ +@media (max-width: 768px) { + .waves-area .waves-svg { + height: 40px; + min-height: 40px; + } +} +/* 波浪黑夜模式隐藏 */ +[data-theme="dark"] .main-hero-waves-area { + display: none; +} + +/* 图片圆角和边框 */ +.post-content img, +#article-container:has(.fj-gallery, #gitZone, .about_page) img { + border-radius: 12px; + border: 0.5px solid #80808030; +} + +/* twikoo评论框聚焦边框颜色 */ +#twikoo .el-textarea textarea:focus, +.twikoo .el-input__inner:focus { + border-color: var(--theme-color) !important; +} + +/* 友链描述 */ +.flink-desc { + font-size: 1.1em; + padding: 0px 0px 20px 10px; + font-weight: bold; +} + +/* 目录样式 */ +#aside-content #card-toc .toc-content { + margin: 0 -16px 0 -25px; +} + +/* diff块颜色 */ +figure.highlight pre .addition { + color: #13dfa8; +} +figure.highlight pre .deletion { + color: #f669f6; +} + +/* 新年侧边栏 */ + +#newYear { + color: white; + padding: 0 !important; +} + +#newYear p, +#newYear h3 { + font-weight: normal; + color: inherit; + margin: 0; +} + +#newYear .item-headline { + display: none; +} + +#newYear-main { + min-height: 160px; + padding: 1rem; + position: relative; + border-radius: 12px; + background-image: url(https://photo.tutuxka.eu.org/tunian.webp); + background-size: cover; + background-position: center; +} + +#newYear-main * { + position: relative; + line-height: 1.3; +} + +#newYear-main .newYear-time { + font-weight: bold; + text-align: center; +} + +#newYear-main .time, +#newYear-main .happyNewYear { + font-size: 3.5rem; + margin: 1rem 0; + display: block; +} + +#newYear-main .day { + font-size: 5rem; +} + +#newYear-main .day .unit { + font-size: 1rem; +} + +#newYear-main .mask { + position: absolute; + left: 0; + top: 0; + height: 100%; + width: 100%; + background-color: rgba(0, 0, 0, 0.1); +} + +/* 夜间模式友链文字颜色 */ +[data-theme="dark"] .site-card .info .desc { + color: #aaa; +} +[data-theme="dark"] .site-card .info .title { + color: #ddd; +} +[data-theme="light"] .site-card:hover .info .title { + color: #444 !important; +} +[data-theme="light"] .site-card:hover .info .desc { + color: #666 !important; +} +[data-theme="dark"] .site-card:hover .info .title { + color: #eee !important; +} +[data-theme="dark"] .site-card:hover .info .desc { + color: #ccc !important; +} + +/* 信息卡片彩带 */ +/* .author_top:hover { + background: url(https://photo.tutuxka.eu.org/snow.gif); + background-size: cover; +} */ + +/* 霓虹灯css实现 light_15px 10s linear infinite */ +[data-theme="light"] #site-name, +[data-theme="light"] #site-title, +[data-theme="light"] #site-subtitle, +[data-theme="light"] #post-info { + animation: none !important; +} + +@keyframes light_15px { + 0% { + text-shadow: #5636ed 0 0 15px; + } + 12.5% { + text-shadow: #11ee5e 0 0 15px; + } + 25% { + text-shadow: #f14747 0 0 15px; + } + 37.5% { + text-shadow: #f1a247 0 0 15px; + } + 50% { + text-shadow: #f1ee47 0 0 15px; + } + 50% { + text-shadow: #b347f1 0 0 15px; + } + 62.5% { + text-shadow: #002afa 0 0 15px; + } + 75% { + text-shadow: #ed709b 0 0 15px; + } + 87.5% { + text-shadow: #39c5bb 0 0 15px; + } + 100% { + text-shadow: #5636ed 0 0 15px; + } +} + +@keyframes light_10px { + 0% { + text-shadow: #5636ed 0 0 10px; + } + 12.5% { + text-shadow: #11ee5e 0 0 10px; + } + 25% { + text-shadow: #f14747 0 0 10px; + } + 37.5% { + text-shadow: #f1a247 0 0 10px; + } + 50% { + text-shadow: #f1ee47 0 0 10px; + } + 50% { + text-shadow: #b347f1 0 0 10px; + } + 62.5% { + text-shadow: #002afa 0 0 10px; + } + 75% { + text-shadow: #ed709b 0 0 10px; + } + 87.5% { + text-shadow: #39c5bb 0 0 10px; + } + 100% { + text-shadow: #5636ed 0 0 10px; + } +} + +@keyframes light_5px { + 0% { + text-shadow: #5636ed 0 0 5px; + } + 12.5% { + text-shadow: #11ee5e 0 0 5px; + } + 25% { + text-shadow: #f14747 0 0 5px; + } + 37.5% { + text-shadow: #f1a247 0 0 15px; + } + 50% { + text-shadow: #f1ee47 0 0 5px; + } + 50% { + text-shadow: #b347f1 0 0 5px; + } + 62.5% { + text-shadow: #002afa 0 0 5px; + } + 75% { + text-shadow: #ed709b 0 0 5px; + } + 87.5% { + text-shadow: #39c5bb 0 0 5px; + } + 100% { + text-shadow: #5636ed 0 0 5px; + } +} + +/* 夜间模式菜单栏发光字 0 0 1px var(--theme-color) */ +[data-theme="light"] .menu_word { + text-shadow: none !important; +} +[data-theme="dark"] .menu_word { + text-shadow: var(--menu-shadow); +} + +/* 评论按钮 */ +.el-button--primary { + background-color: var(--theme-color) !important; + border-color: transparent !important; +} +.el-button--primary.is-disabled, +.el-button--primary.is-disabled:active, +.el-button--primary.is-disabled:focus, +.el-button--primary.is-disabled:hover { + background-color: var(--high-trans-color) !important; +} + +.twikoo .el-button:not(.el-button--primary):not(.el-button--text):active, +.twikoo .el-button:not(.el-button--primary):not(.el-button--text):focus, +.twikoo .el-button:not(.el-button--primary):not(.el-button--text):hover { + color: var(--theme-color) !important; + background-color: rgba(64, 158, 255, 0.063); + border-color: var(--high-trans-color) !important; +} + +.tk-icon.__comments, +.tk-action-icon, +.tk-action-count, +.tk-nick-link:hover { + color: var(--theme-color) !important; +} +.el-textarea__inner { + border-radius: 8px !important; +} + +/* 分割线 */ +hr { + border: 2px dashed var(--high-trans-color) !important; +} + +hr:before { + color: var(--theme-color) !important; +} + +/* 版权下面标签排列 */ +#post .tag_share .post-meta__tag-list { + display: flex; +} +#post .tag_share .post-meta__tags { + border-radius: 20px; +} + +/* 必应壁纸框 */ +#bingDayBox:hover, +#bingHistoryBox:hover, +#EEEDogBox:hover, +#seovxBox:hover, +#picsumBox:hover, +#waiBizhiBox:hover, +#btstuBox:hover, +#unsplashBox:hover { + text-decoration: none !important; +} + +.apiBox::before { + position: relative; + color: aliceblue; + border-radius: 5px; + top: 35px; + padding: 2px 5px; + background: #00000090; +} + +#bingDayBox::before { + left: 34px; + content: "必应每日壁纸"; +} +#bingHistoryBox::before { + left: 34px; + content: "必应历史壁纸"; +} +#EEEDogBox::before { + left: 20px; + content: "EEEDog动漫壁纸"; +} +#seovxBox::before { + left: 30px; + content: "seovx美女壁纸"; +} +#picsumBox::before { + left: 24px; + content: "picsum随机壁纸"; +} +#waiBizhiBox::before { + left: 34px; + content: "小歪高清壁纸"; +} +#btstuBox::before { + left: 34px; + content: "博天随机壁纸"; +} +#unsplashBox::before { + left: 15px; + content: "Unsplash随机壁纸"; +} + +/* 评论区圆角 */ +.tk-meta-input .el-input .el-input-group__prepend { + border-bottom-left-radius: 6px; + border-top-left-radius: 6px; +} +.el-input-group--prepend .el-input__inner { + border-bottom-right-radius: 6px; + border-top-right-radius: 6px; +} + +/* Twikoo底部小字样式 */ +.tk-footer { + font-size: 0.9em; +} + +.tk-footer a { + font-weight: bold; + color: #a591e0; +} + +/* Github徽标 */ +.github-badge img:hover { + scale: 1.05; + transition: all 0.3s ease-in-out; +} + +.search-dialog { + position: fixed; + top: 10%; + left: 50%; + z-index: 1001; + display: none; + margin-left: -300px; + padding: 20px; + width: 600px; + border-radius: 8px; + background: var(--search-bg); +} +@media screen and (max-width: 768px) { + .search-dialog { + top: 0; + left: 0; + margin: 0; + width: 100%; + height: 100%; + border-radius: 0; + } +} +.search-dialog hr { + margin: 20px auto; +} +.search-dialog .search-nav { + margin: 0 0 14px; + color: #49b1f5; + font-size: 1.4em; + line-height: 1; +} +.search-dialog .search-nav .search-dialog-title { + margin-right: 10px; +} +.search-dialog .search-nav .search-close-button { + float: right; + color: #858585; + -webkit-transition: color 0.2s ease-in-out; + -moz-transition: color 0.2s ease-in-out; + -o-transition: color 0.2s ease-in-out; + -ms-transition: color 0.2s ease-in-out; + transition: color 0.2s ease-in-out; +} +.search-dialog .search-nav .search-close-button:hover { + color: #49b1f5; +} +#search-mask { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1000; + display: none; + background: rgba(0,0,0,0.6); +} +#local-search .search-dialog .local-search-box { + margin: 0 auto; + max-width: 100%; + width: 100%; +} +#local-search .search-dialog .local-search-box input { + padding: 5px 14px; + width: 100%; + outline: none; + border: 2px solid #49b1f5; + border-radius: 40px; + background: var(--search-bg); + color: var(--search-input-color); + -webkit-appearance: none; +} +#local-search .search-dialog .search-wrap { + display: none; +} +#local-search .search-dialog .local-search__hit-item { + position: relative; + padding-left: 24px; + line-height: 1.7; +} +#local-search .search-dialog .local-search__hit-item:hover:before { + border-color: var(--pseudo-hover); +} +#local-search .search-dialog .local-search__hit-item:before { + position: absolute; + top: 0.45em; + left: 0; + width: 0.5em; + height: 0.5em; + border: 3px solid #49b1f5; + border-radius: 0.5em; + background: transparent; + content: ''; + line-height: 0.5em; + -webkit-transition: all 0.2s ease-in-out; + -moz-transition: all 0.2s ease-in-out; + -o-transition: all 0.2s ease-in-out; + -ms-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; +} +#local-search .search-dialog .local-search__hit-item a { + display: block; + color: var(--search-result-title); + font-weight: 600; +} +#local-search .search-dialog .local-search__hit-item a:hover { + color: #49b1f5; +} +#local-search .search-dialog .local-search__hit-item .search-result { + margin: 0 8px 8px 0; + word-break: break-all; +} +#local-search .search-dialog .local-search__hit-item .search-keyword { + color: #f47466; + font-weight: bold; +} +#local-search .search-dialog .search-result-list { + overflow-y: auto; + max-height: calc(80vh - 130px); +} +@media screen and (max-width: 768px) { + #local-search .search-dialog .search-result-list { + padding-bottom: 40px; + max-height: 75vh !important; + } +} diff --git a/css/kslink.css b/css/kslink.css new file mode 100644 index 00000000..20eceeb2 --- /dev/null +++ b/css/kslink.css @@ -0,0 +1,38 @@ +/* 添加友链按钮 */ +/* 快速填写格式 */ +.addBtn { + display: flex; + justify-content: center; + flex-wrap: wrap; +} +.addBtn button { + transition: .2s; + display: flex; + margin: 5px auto; + color: var(--global-bg); + padding: 15px; + border-radius: 40px; + background: var(--search-result-title); + align-items: center; +} + +button { + padding: 0; + outline: 0; + border: none; + background: 0 0; + cursor: pointer; + touch-action: manipulation; +} +.fa-solid, .fas { + font-family: "Font Awesome 6 Free"; + font-weight: 900; +} +.addBtn i { + font-size: 1.3rem; + margin-right: 10px; +} +.addBtn button:hover { + background: var(--theme-color); + color: #fff; +} \ No newline at end of file diff --git a/placeholder b/css/var.css similarity index 100% rename from placeholder rename to css/var.css diff --git a/favicon.ico b/favicon.ico new file mode 100644 index 00000000..00c66964 Binary files /dev/null and b/favicon.ico differ diff --git a/fonts/Consolas.woff2 b/fonts/Consolas.woff2 new file mode 100644 index 00000000..b7937157 Binary files /dev/null and b/fonts/Consolas.woff2 differ diff --git a/fonts/HYTangMeiRen55W.woff2 b/fonts/HYTangMeiRen55W.woff2 new file mode 100644 index 00000000..11282617 Binary files /dev/null and b/fonts/HYTangMeiRen55W.woff2 differ diff --git a/fonts/MiSans.woff2 b/fonts/MiSans.woff2 new file mode 100644 index 00000000..fa9e0788 Binary files /dev/null and b/fonts/MiSans.woff2 differ diff --git a/fonts/ZhuZiAWan2.woff2 b/fonts/ZhuZiAWan2.woff2 new file mode 100644 index 00000000..f4873021 Binary files /dev/null and b/fonts/ZhuZiAWan2.woff2 differ diff --git "a/fonts/\344\274\230\350\256\276\345\245\275\350\272\253\344\275\223.woff2" "b/fonts/\344\274\230\350\256\276\345\245\275\350\272\253\344\275\223.woff2" new file mode 100644 index 00000000..629abc83 Binary files /dev/null and "b/fonts/\344\274\230\350\256\276\345\245\275\350\272\253\344\275\223.woff2" differ diff --git "a/fonts/\347\224\234\347\224\234\345\234\210\346\265\267\346\212\245\345\255\227\344\275\223.woff2" "b/fonts/\347\224\234\347\224\234\345\234\210\346\265\267\346\212\245\345\255\227\344\275\223.woff2" new file mode 100644 index 00000000..fd172ff0 Binary files /dev/null and "b/fonts/\347\224\234\347\224\234\345\234\210\346\265\267\346\212\245\345\255\227\344\275\223.woff2" differ diff --git "a/fonts/\351\234\236\351\271\234\346\226\207\346\245\267.woff2" "b/fonts/\351\234\236\351\271\234\346\226\207\346\245\267.woff2" new file mode 100644 index 00000000..ccb9622c Binary files /dev/null and "b/fonts/\351\234\236\351\271\234\346\226\207\346\245\267.woff2" differ diff --git a/img/404.jpg b/img/404.jpg new file mode 100644 index 00000000..4bab3c3f Binary files /dev/null and b/img/404.jpg differ diff --git a/img/favicon.png b/img/favicon.png new file mode 100644 index 00000000..862ebe85 Binary files /dev/null and b/img/favicon.png differ diff --git a/img/friend_404.gif b/img/friend_404.gif new file mode 100644 index 00000000..91dd56a2 Binary files /dev/null and b/img/friend_404.gif differ diff --git a/index.html b/index.html new file mode 100644 index 00000000..3c8a8488 --- /dev/null +++ b/index.html @@ -0,0 +1,334 @@ +
兔兔博客🇨🇳 + + + + + + + + + + + +
avatar
🐟认真内卷中
兔兔博客🇨🇳
万事都要全力以赴,包括开心
前往小窝
公告栏
--- 主域名 ---
blog.tutuxka.eu.org
--- 备用域名 ---
netlify.tutuxka.eu.org🍧
微博热搜
小站资讯
文章数目 :
5
本站总字数 :
701
本站访客数 :
本站总访问量 :
最后更新时间 :
空降评论复制本文地址
随便逛逛昼夜切换关于博客美化设置切换全屏打印页面
\ No newline at end of file diff --git a/js/bibi.js b/js/bibi.js new file mode 100644 index 00000000..ed500bed --- /dev/null +++ b/js/bibi.js @@ -0,0 +1,70 @@ +let svg = '' +let total = 0 +let nowNum = 0 +let items = [] +let page = 1 +let Url = 'https://kkapi.fomal.cc/api/ispeak?author=6319fedef46fae97dcfa5ee2&page=' // 记住替换为你的API链接 + + +window.addEventListener('DOMContentLoaded', () => { + getNew(); +}); + +// 获取数据 +function getNew() { + let bibi = document.getElementById('bibi'); + try { + bibi.removeChild(document.getElementById('more')) + } catch (error) { } + + bibi.innerHTML += '
bb_loading
' // bb_loading图片可以f12在我网站源码下载,也可以使用其他图片。 + + fetch(Url + page).then(res => res.json()).then((res) => { + total = res.data.total + items = res.data.items + nowNum += items.length + if (page == 1) { + document.querySelector('.bb-info').innerHTML = ' 站长的唠叨(' + total + ')' + } + page += 1 + }).then(() => { + bb(); + if (nowNum < total) { + document.getElementById('bibi').innerHTML += '' + } + document.getElementById('bibi').removeChild(document.getElementById('bb_loading')) + }) +} + +// 渲染数据 +function bb() { + let bb = document.getElementById('bb-main') + items.forEach((item) => { + let time = item.createdAt.substring(0, 10); + let div = document.createElement('div') + item.content = contentFormat(item.content) + + div.className = 'bb-card' + div.innerHTML = '
' + item.author.nickName + '
' + svg + '
' + time + '
' + item.content + '
' + bb.appendChild(div) + }) +} + +// content格式化 +function contentFormat(s) { + let br = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g; + let re_forimg = /|!\[(.*?)\]\((.*?)\)/g; + let getImgUrl = /(http(.*).[jpg|png|gif])/g; + let ls = s.match(getImgUrl) + s = s.replace(re_forimg, '') + s = s.replace(br, '') + + let html = '
' + if (ls) { + ls.forEach((e) => { + html += '' + }) + } + s += html + return s +} \ No newline at end of file diff --git a/js/census.js b/js/census.js new file mode 100644 index 00000000..419ae219 --- /dev/null +++ b/js/census.js @@ -0,0 +1,329 @@ +var start_date = '20220201' // 开始日期 +var date = new Date(); +var end_date = '' + date.getFullYear() + (date.getMonth() > 8 ? (date.getMonth() + 1) : ("0" + (date.getMonth() + 1))) + (date.getDate() > 9 ? date.getDate() : ("0" + date.getDate())); // 结束日期 + +var access_token = '' // accessToken +var site_id = '' // 网址 id +var dataUrl = '' + access_token + '&site_id=' + site_id +// var dataUrl = 'https://baidu-tongji.fomal.cc/api?site_id=' + site_id +var metrics = 'pv_count' // 统计访问次数 PV 填写 'pv_count',统计访客数 UV 填写 'visitor_count',二选一 +var metricsName = (metrics === 'pv_count' ? '访问次数' : (metrics === 'visitor_count' ? '访客数' : '')) +// 这里为了统一颜色选取的是“明暗模式”下的两种字体颜色,也可以自己定义 +var color = document.documentElement.getAttribute('data-theme') === 'light' ? '#4c4948' : 'rgba(255,255,255,0.7)' + +// 访问地图 +function mapChart() { + let script = document.createElement("script") + // let paramUrl = '&start_date=' + start_date + '&end_date=' + end_date + '&metrics=' + metrics + '&method=visit/district/a'; // 更换请求地址 + let paramUrl = '&start_date=' + start_date + '&end_date=' + end_date + '&metrics=' + metrics + '&method=overview/getDistrictRpt'; + fetch(dataUrl + paramUrl).then(data => data.json()).then(data => { + let mapName = data.result.items[0] + let mapValue = data.result.items[1] + let mapArr = [] + let max = mapValue[0][0] + for (let i = 0; i < mapName.length; i++) { + // mapArr.push({ name: mapName[i][0].name, value: mapValue[i][0] }) + mapArr.push({ name: mapName[i][0], value: mapValue[i][0] }) + } + let mapArrJson = JSON.stringify(mapArr) + script.innerHTML = ` + var mapChart = echarts.init(document.getElementById('map-chart'), 'light'); + var mapOption = { + title: { + text: '网站访客地域分布图🌏', + x: 'center', + textStyle: { + color: '${color}' + } + }, + tooltip: { + trigger: 'item' + }, + visualMap: { + min: 0, + max: ${max}, + left: 'left', + top: 'bottom', + text: ['多','少'], + color: ['#39c5bb', '#b9ebe4'], + textStyle: { + color: '${color}' + }, + calculable: true + }, + series: [{ + name: '${metricsName}', + type: 'map', + mapType: 'china', + showLegendSymbol: false, + label: { + normal: { + show: false + }, + emphasis: { + show: true, + color: '#617282' + } + }, + itemStyle: { + normal: { + areaColor: 'rgb(230, 232, 234)', + borderColor: 'rgb(255, 255, 255)', + borderWidth: 1 + }, + emphasis: { + areaColor: 'gold' + } + }, + data: ${mapArrJson} + }] + }; + mapChart.setOption(mapOption); + window.addEventListener("resize", () => { + mapChart.resize(); + });` + document.getElementById('map-chart').after(script); + }).catch(function (error) { + console.log(error); + }); +} + +// 访问趋势 +function trendsChart() { + let script = document.createElement("script") + let paramUrl = '&start_date=' + start_date + '&end_date=' + end_date + '&metrics=' + metrics + '&method=trend/time/a&gran=month' + fetch(dataUrl + paramUrl).then(data => data.json()).then(data => { + let monthArr = [] + let monthValueArr = [] + let monthName = data.result.items[0] + let monthValue = data.result.items[1] + for (let i = monthName.length - 1; i >= 0; i--) { + monthArr.push(monthName[i][0].substring(0, 7).replace('/', '-')) + monthValueArr.push(monthValue[i][0] !== '--' ? monthValue[i][0] : 0) + } + let monthArrJson = JSON.stringify(monthArr) + let monthValueArrJson = JSON.stringify(monthValueArr) + script.innerHTML = ` + var trendsChart = echarts.init(document.getElementById('trends-chart'), 'light'); + var trendsOption = { + title: { + text: '网站访客日期分布图📅', + x: 'center', + textStyle: { + color: '${color}' + } + }, + tooltip: { + trigger: 'axis' + }, + xAxis: { + name: '日期', + type: 'category', + boundaryGap: false, + nameTextStyle: { + color: '${color}' + }, + axisTick: { + show: false + }, + axisLabel: { + show: true, + color: '${color}' + }, + axisLine: { + show: true, + lineStyle: { + color: '${color}' + } + }, + data: ${monthArrJson} + }, + yAxis: { + name: '${metricsName}', + type: 'value', + nameTextStyle: { + color: '${color}' + }, + splitLine: { + show: false + }, + axisTick: { + show: false + }, + axisLabel: { + show: true, + color: '${color}' + }, + axisLine: { + show: true, + lineStyle: { + color: '${color}' + } + } + }, + series: [{ + name: '${metricsName}', + type: 'line', + smooth: true, + lineStyle: { + width: 0 + }, + showSymbol: false, + itemStyle: { + opacity: 1, + color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ + offset: 0, + color: 'rgba(128, 255, 165)' + }, + { + offset: 1, + color: 'rgba(1, 191, 236)' + }]) + }, + areaStyle: { + opacity: 1, + color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ + offset: 0, + color: 'rgba(128, 255, 165)' + }, { + offset: 1, + color: 'rgba(1, 191, 236)' + }]) + }, + data: ${monthValueArrJson}, + markLine: { + data: [{ + name: '平均值', + type: 'average', + label: { + color: '${color}' + } + }] + } + }] + }; + trendsChart.setOption(trendsOption); + window.addEventListener("resize", () => { + trendsChart.resize(); + });` + document.getElementById('trends-chart').after(script); + }).catch(function (error) { + console.log(error); + }); +} + +// 访问来源 +function sourcesChart() { + let script = document.createElement("script") + let paramUrl = '&start_date=' + start_date + '&end_date=' + end_date + '&metrics=' + metrics + '&method=source/all/a'; + fetch(dataUrl + paramUrl).then(data => data.json()).then(data => { + let sourcesName = data.result.items[0] + let sourcesValue = data.result.items[1] + let sourcesArr = [] + for (let i = 0; i < sourcesName.length; i++) { + sourcesArr.push({ name: sourcesName[i][0].name, value: sourcesValue[i][0] }) + } + let sourcesArrJson = JSON.stringify(sourcesArr) + script.innerHTML = ` + var sourcesChart = echarts.init(document.getElementById('sources-chart'), 'light'); + var sourcesOption = { + title: { + text: '网站访客来源分布图🎨', + x: 'center', + textStyle: { + color: '${color}' + } + }, + legend: { + top: 'bottom', + textStyle: { + color: '${color}' + } + }, + tooltip: { + trigger: 'item' + }, + series: [{ + name: '${metricsName}', + type: 'pie', + radius: [30, 80], + center: ['50%', '50%'], + roseType: 'area', + label: { + color: '${color}', + formatter: "{b} : {c} ({d}%)" + }, + data: ${sourcesArrJson}, + itemStyle: { + emphasis: { + shadowBlur: 10, + shadowOffsetX: 0, + shadowColor: 'rgba(255, 255, 255, 0.5)' + } + } + }] + }; + sourcesChart.setOption(sourcesOption); + window.addEventListener("resize", () => { + sourcesChart.resize(); + });` + document.getElementById('sources-chart').after(script); + }).catch(function (error) { + console.log(error); + }); +} + +function switchVisitChart() { + // 这里为了统一颜色选取的是“明暗模式”下的两种字体颜色,也可以自己定义 + let color = document.documentElement.getAttribute('data-theme') === 'light' ? '#4c4948' : 'rgba(255,255,255,0.7)' + if (document.getElementById('map-chart') && mapOption) { + try { + let mapOptionNew = mapOption + mapOptionNew.title.textStyle.color = color + mapOptionNew.visualMap.textStyle.color = color + mapChart.setOption(mapOptionNew) + } catch (error) { + console.log(error) + } + } + if (document.getElementById('trends-chart') && trendsOption) { + try { + let trendsOptionNew = trendsOption + trendsOptionNew.title.textStyle.color = color + trendsOptionNew.xAxis.nameTextStyle.color = color + trendsOptionNew.yAxis.nameTextStyle.color = color + trendsOptionNew.xAxis.axisLabel.color = color + trendsOptionNew.yAxis.axisLabel.color = color + trendsOptionNew.xAxis.axisLine.lineStyle.color = color + trendsOptionNew.yAxis.axisLine.lineStyle.color = color + trendsOptionNew.series[0].markLine.data[0].label.color = color + trendsChart.setOption(trendsOptionNew) + } catch (error) { + console.log(error) + } + } + if (document.getElementById('sources-chart') && sourcesOption) { + try { + let sourcesOptionNew = sourcesOption + sourcesOptionNew.title.textStyle.color = color + sourcesOptionNew.legend.textStyle.color = color + sourcesOptionNew.series[0].label.color = color + sourcesChart.setOption(sourcesOptionNew) + } catch (error) { + console.log(error) + } + } +} + +if (document.getElementById('map-chart')) mapChart() +if (document.getElementById('trends-chart')) trendsChart() +if (document.getElementById('sources-chart')) sourcesChart() + +// 切换夜间模式字体颜色适应 +var censusTimer; +try { + document.addEventListener("click", function () { + clearTimeout(censusTimer); + censusTimer = setTimeout(switchVisitChart, 100); + }); +} catch (err) { } diff --git a/js/coin.js b/js/coin.js new file mode 100644 index 00000000..9f7f907c --- /dev/null +++ b/js/coin.js @@ -0,0 +1,90 @@ +var tipButtons = document.querySelectorAll('.tip-button') + +function coinAudio() { + var coinAudio = document.getElementById("coinAudio"); + if (coinAudio) { + coinAudio.play();//有音频时播放 + } +} +// Loop through all buttons (allows for multiple buttons on page) +tipButtons.forEach((button) => { + var coin = button.querySelector('.coin') + + // The larger the number, the slower the animation + coin.maxMoveLoopCount = 90 + + button.addEventListener('click', () => { + if (/Android|webOS|BlackBerry/i.test(navigator.userAgent)) return true; //媒体选择 + if (button.clicked) return + button.classList.add('clicked') + + // Wait to start flipping th coin because of the button tilt animation + setTimeout(() => { + // Randomize the flipping speeds just for fun + coin.sideRotationCount = Math.floor(Math.random() * 5) * 90 + coin.maxFlipAngle = (Math.floor(Math.random() * 4) + 3) * Math.PI + button.clicked = true + flipCoin() + coinAudio() + }, 50) + }) + + var flipCoin = () => { + coin.moveLoopCount = 0 + flipCoinLoop() + } + + var resetCoin = () => { + coin.style.setProperty('--coin-x-multiplier', 0) + coin.style.setProperty('--coin-scale-multiplier', 0) + coin.style.setProperty('--coin-rotation-multiplier', 0) + coin.style.setProperty('--shine-opacity-multiplier', 0.4) + coin.style.setProperty('--shine-bg-multiplier', '50%') + coin.style.setProperty('opacity', 1) + // Delay to give the reset animation some time before you can click again + setTimeout(() => { + button.clicked = false + }, 300) + } + + var flipCoinLoop = () => { + coin.moveLoopCount++ + var percentageCompleted = coin.moveLoopCount / coin.maxMoveLoopCount + coin.angle = -coin.maxFlipAngle * Math.pow((percentageCompleted - 1), 2) + coin.maxFlipAngle + + // Calculate the scale and position of the coin moving through the air + coin.style.setProperty('--coin-y-multiplier', -11 * Math.pow(percentageCompleted * 2 - 1, 4) + 11) + coin.style.setProperty('--coin-x-multiplier', percentageCompleted) + coin.style.setProperty('--coin-scale-multiplier', percentageCompleted * 0.6) + coin.style.setProperty('--coin-rotation-multiplier', percentageCompleted * coin.sideRotationCount) + + // Calculate the scale and position values for the different coin faces + // The math uses sin/cos wave functions to similate the circular motion of 3D spin + coin.style.setProperty('--front-scale-multiplier', Math.max(Math.cos(coin.angle), 0)) + coin.style.setProperty('--front-y-multiplier', Math.sin(coin.angle)) + + coin.style.setProperty('--middle-scale-multiplier', Math.abs(Math.cos(coin.angle), 0)) + coin.style.setProperty('--middle-y-multiplier', Math.cos((coin.angle + Math.PI / 2) % Math.PI)) + + coin.style.setProperty('--back-scale-multiplier', Math.max(Math.cos(coin.angle - Math.PI), 0)) + coin.style.setProperty('--back-y-multiplier', Math.sin(coin.angle - Math.PI)) + + coin.style.setProperty('--shine-opacity-multiplier', 4 * Math.sin((coin.angle + Math.PI / 2) % Math.PI) - 3.2) + coin.style.setProperty('--shine-bg-multiplier', -40 * (Math.cos((coin.angle + Math.PI / 2) % Math.PI) - 0.5) + '%') + + // Repeat animation loop + if (coin.moveLoopCount < coin.maxMoveLoopCount) { + if (coin.moveLoopCount === coin.maxMoveLoopCount - 6) button.classList.add('shrink-landing') + window.requestAnimationFrame(flipCoinLoop) + } else { + button.classList.add('coin-landed') + coin.style.setProperty('opacity', 0) + setTimeout(() => { + button.classList.remove('clicked', 'shrink-landing', 'coin-landed') + setTimeout(() => { + resetCoin() + }, 300) + }, 1500) + } + } +}) \ No newline at end of file diff --git a/js/fomal.js b/js/fomal.js new file mode 100644 index 00000000..7d8159fb --- /dev/null +++ b/js/fomal.js @@ -0,0 +1,3547 @@ +/* 阅读进度 start */ +document.addEventListener('pjax:complete', function () { + window.onscroll = percent; +}); +document.addEventListener('DOMContentLoaded', function () { + window.onscroll = percent; +}); +// 页面百分比 +function percent() { + + // 先让菜单栏消失 + try { + rmf.showRightMenu(false); + $('.rmMask').attr('style', 'display: none'); + } catch (err) { + + } + + let a = document.documentElement.scrollTop, // 卷去高度 + b = Math.max(document.body.scrollHeight, document.documentElement.scrollHeight, document.body.offsetHeight, document.documentElement.offsetHeight, document.body.clientHeight, document.documentElement.clientHeight) - document.documentElement.clientHeight, // 整个网页高度 减去 可视高度 + result = Math.round(a / b * 100), // 计算百分比 + btn = document.querySelector("#go-up"); // 获取按钮 + + if (result < 95) { // 如果阅读进度小于95% 就显示百分比 + btn.childNodes[0].style.display = 'none' + btn.childNodes[1].style.display = 'block' + btn.childNodes[1].innerHTML = result + '%'; + } else { // 如果大于95%就显示回到顶部图标 + btn.childNodes[1].style.display = 'none' + btn.childNodes[0].style.display = 'block' + } +} +/* 阅读进度 end */ + +//---------------------------------------------------------------- + +/* 导航栏显示标题 start */ + +document.addEventListener('pjax:complete', tonav); +document.addEventListener('DOMContentLoaded', tonav); +//响应pjax +function tonav() { + document.getElementById("name-container").setAttribute("style", "display:none"); + var position = $(window).scrollTop(); + $(window).scroll(function () { + var scroll = $(window).scrollTop(); + if (scroll > position) { + document.getElementById("name-container").setAttribute("style", ""); + document.getElementsByClassName("menus_items")[1].setAttribute("style", "display:none!important"); + } else { + document.getElementsByClassName("menus_items")[1].setAttribute("style", ""); + document.getElementById("name-container").setAttribute("style", "display:none"); + } + position = scroll; + }); + //修复没有弄右键菜单的童鞋无法回顶部的问题 + document.getElementById("page-name").innerText = document.title.split(" | 兔兔博客🇨🇳")[0]; +} + +function scrollToTop() { + document.getElementsByClassName("menus_items")[1].setAttribute("style", ""); + document.getElementById("name-container").setAttribute("style", "display:none"); + btf.scrollToDest(0, 500); +} + +/* 导航栏显示标题 end */ + +//---------------------------------------------------------------- + +/* 欢迎信息 start */ +//get请求 +$.ajax({ + type: 'get', + url: 'https://china.tutuxka.eu.org/api/ip', + success: function (res) { + ipLoacation = res; + } +}); +function getDistance(e1, n1, e2, n2) { + const R = 6371 + const { sin, cos, asin, PI, hypot } = Math + let getPoint = (e, n) => { + e *= PI / 180 + n *= PI / 180 + return { x: cos(n) * cos(e), y: cos(n) * sin(e), z: sin(n) } + } + + let a = getPoint(e1, n1) + let b = getPoint(e2, n2) + let c = hypot(a.x - b.x, a.y - b.y, a.z - b.z) + let r = asin(c / 2) * 2 * R + return Math.round(r); +} + +function showWelcome() { + + let dist = getDistance(114.442627,23.090711, ipLoacation.result.location.lng, ipLoacation.result.location.lat); //这里换成自己的经纬度 + let pos = ipLoacation.result.ad_info.nation; + let ip; + let posdesc; + //根据国家、省份、城市信息自定义欢迎语 + switch (ipLoacation.result.ad_info.nation) { + case "日本": + posdesc = "よろしく,一起去看樱花吗"; + break; + case "美国": + posdesc = "Let us live in peace!"; + break; + case "英国": + posdesc = "想同你一起夜乘伦敦眼"; + break; + case "俄罗斯": + posdesc = "干了这瓶伏特加!"; + break; + case "法国": + posdesc = "C'est La Vie"; + break; + case "德国": + posdesc = "Die Zeit verging im Fluge."; + break; + case "澳大利亚": + posdesc = "一起去大堡礁吧!"; + break; + case "加拿大": + posdesc = "拾起一片枫叶赠予你"; + break; + case "中国": + pos = ipLoacation.result.ad_info.province + " " + ipLoacation.result.ad_info.city + " " + ipLoacation.result.ad_info.district; + ip = ipLoacation.result.ip; + switch (ipLoacation.result.ad_info.province) { + case "北京市": + posdesc = "北——京——欢迎你~~~"; + break; + case "天津市": + posdesc = "讲段相声吧。"; + break; + case "河北省": + posdesc = "山势巍巍成壁垒,天下雄关。铁马金戈由此向,无限江山。"; + break; + case "山西省": + posdesc = "展开坐具长三尺,已占山河五百余。"; + break; + case "内蒙古自治区": + posdesc = "天苍苍,野茫茫,风吹草低见牛羊。"; + break; + case "辽宁省": + posdesc = "我想吃烤鸡架!"; + break; + case "吉林省": + posdesc = "状元阁就是东北烧烤之王。"; + break; + case "黑龙江省": + posdesc = "很喜欢哈尔滨大剧院。"; + break; + case "上海市": + posdesc = "众所周知,中国只有两个城市。"; + break; + case "江苏省": + switch (ipLoacation.result.ad_info.city) { + case "南京市": + posdesc = "这是我挺想去的城市啦。"; + break; + case "苏州市": + posdesc = "上有天堂,下有苏杭。"; + break; + default: + posdesc = "散装是必须要散装的。"; + break; + } + break; + case "浙江省": + posdesc = "东风渐绿西湖柳,雁已还人未南归。"; + break; + case "河南省": + switch (ipLoacation.result.ad_info.city) { + case "郑州市": + posdesc = "豫州之域,天地之中。"; + break; + case "南阳市": + posdesc = "臣本布衣,躬耕于南阳。此南阳非彼南阳!"; + break; + case "驻马店市": + posdesc = "峰峰有奇石,石石挟仙气。嵖岈山的花很美哦!"; + break; + case "开封市": + posdesc = "刚正不阿包青天。"; + break; + case "洛阳市": + posdesc = "洛阳牡丹甲天下。"; + break; + default: + posdesc = "可否带我品尝河南烩面啦?"; + break; + } + break; + case "安徽省": + posdesc = "蚌埠住了,芜湖起飞。"; + break; + case "福建省": + posdesc = "井邑白云间,岩城远带山。"; + break; + case "江西省": + posdesc = "落霞与孤鹜齐飞,秋水共长天一色。"; + break; + case "山东省": + posdesc = "遥望齐州九点烟,一泓海水杯中泻。"; + break; + case "湖北省": + posdesc = "来碗热干面!"; + break; + case "湖南省": + posdesc = "74751,长沙斯塔克。"; + break; + case "广东省": + posdesc = "老板来两斤福建人。"; + break; + case "广西壮族自治区": + posdesc = "桂林山水甲天下。"; + break; + case "海南省": + posdesc = "朝观日出逐白浪,夕看云起收霞光。"; + break; + case "四川省": + posdesc = "康康川妹子。"; + break; + case "贵州省": + posdesc = "茅台,学生,再塞200。"; + break; + case "云南省": + posdesc = "玉龙飞舞云缠绕,万仞冰川直耸天。"; + break; + case "西藏自治区": + posdesc = "躺在茫茫草原上,仰望蓝天。"; + break; + case "陕西省": + posdesc = "来份臊子面加馍。"; + break; + case "甘肃省": + posdesc = "羌笛何须怨杨柳,春风不度玉门关。"; + break; + case "青海省": + posdesc = "牛肉干和老酸奶都好好吃。"; + break; + case "宁夏回族自治区": + posdesc = "大漠孤烟直,长河落日圆。"; + break; + case "新疆维吾尔自治区": + posdesc = "驼铃古道丝绸路,胡马犹闻唐汉风。"; + break; + case "台湾省": + posdesc = "我在这头,大陆在那头。"; + break; + case "香港特别行政区": + posdesc = "永定贼有残留地鬼嚎,迎击光非岁玉。"; + break; + case "澳门特别行政区": + posdesc = "性感荷官,在线发牌。"; + break; + default: + posdesc = "带我去你的城市逛逛吧!"; + break; + } + break; + default: + posdesc = "带我去你的国家逛逛吧。"; + break; + } + + //根据本地时间切换欢迎语 + let timeChange; + let date = new Date(); + if (date.getHours() >= 5 && date.getHours() < 11) timeChange = "上午好,一日之计在于晨!"; + else if (date.getHours() >= 11 && date.getHours() < 13) timeChange = "中午好,该摸鱼吃午饭了。"; + else if (date.getHours() >= 13 && date.getHours() < 15) timeChange = "下午好,懒懒地睡个午觉吧!"; + else if (date.getHours() >= 15 && date.getHours() < 16) timeChange = "三点几啦,一起饮茶呀!"; + else if (date.getHours() >= 16 && date.getHours() < 19) timeChange = "夕阳无限好!"; + else if (date.getHours() >= 19 && date.getHours() < 24) timeChange = "晚上好,夜生活嗨起来!"; + else timeChange = "夜深了,早点休息,少熬夜。"; + + try { + //自定义文本和需要放的位置 + document.getElementById("welcome-info").innerHTML = + `
🎉 欢迎信息 🎉
  欢迎来自 ${pos} 的小伙伴,${timeChange}您现在距离站长约 ${dist} 公里,当前的IP地址为: ${ip}, ${posdesc}
`; + } catch (err) { + // console.log("Pjax无法获取#welcome-info元素🙄🙄🙄") + } +} +window.onload = showWelcome; +// 如果使用了pjax在加上下面这行代码 +document.addEventListener('pjax:complete', showWelcome); + +/* 欢迎信息 end */ + +//---------------------------------------------------------------- + +/* 微博热搜 start */ +document.addEventListener('pjax:complete', getWeibo); +document.addEventListener('DOMContentLoaded', getWeibo); + +function getWeibo() { + fetch('https://weibo.tutuxka.eu.org/api').then(data => data.json()).then(data => { // 这里要写上你的API!!! + let html = '' + html += '
' + let hotness = { + '爆': 'weibo-boom', + '热': 'weibo-hot', + '沸': 'weibo-boil', + '新': 'weibo-new', + '荐': 'weibo-recommend', + '音': 'weibo-jyzy', + '影': 'weibo-jyzy', + '剧': 'weibo-jyzy', + '综': 'weibo-jyzy' + } + for (let item of data) { + html += '
' + (item.hot || '荐') + '
' + + '' + item.title + '' + + '
' + item.num + '
' + } + html += '
' + document.getElementById('weibo-container').innerHTML = html + }).catch(function (error) { + console.log(error); + }); +} + +/* 微博热搜 end */ + +//---------------------------------------------------------------- + +/* 禁用f12与按键防抖 start */ +// 防抖全局计时器 +let TT = null; //time用来控制事件的触发 +// 防抖函数:fn->逻辑 time->防抖时间 +function debounce(fn, time) { + if (TT !== null) clearTimeout(TT); + TT = setTimeout(fn, time); +} + +// 复制提醒 +document.addEventListener("copy", function () { + debounce(function () { + new Vue({ + data: function () { + this.$notify({ + title: "哎嘿!复制成功🍬", + message: "若要转载最好保留原文链接哦,给你一个大大的赞!", + position: 'top-left', + offset: 50, + showClose: true, + type: "success", + duration: 5000 + }); + } + }) + }, 300); +}) + + +// f12提醒但不禁用 +document.onkeydown = function (e) { + if (123 == e.keyCode || (e.ctrlKey && e.shiftKey && (74 === e.keyCode || 73 === e.keyCode || 67 === e.keyCode)) || (e.ctrlKey && 85 === e.keyCode)) { + debounce(function () { + new Vue({ + data: function () { + this.$notify({ + title: "你已被发现😜", + message: "小伙子,扒源记住要遵循GPL协议!", + position: 'top-left', + offset: 50, + showClose: true, + type: "warning", + duration: 5000 + }); + } + }) + }, 300); + } +}; +/* 禁用f12与按键防抖 end */ + +//---------------------------------------------------------------- + +/* 雪花特效 start */ +if ((navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i))) { + // 移动端不显示 +} else { + // document.write(''); + + window && (() => { + let e = { + flakeCount: 50, // 雪花数目 + minDist: 150, // 最小距离 + color: "255, 255, 255", // 雪花颜色 + size: 1.5, // 雪花大小 + speed: .5, // 雪花速度 + opacity: .7, // 雪花透明度 + stepsize: .5 // 步距 + }; + const t = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || window.msRequestAnimationFrame || function (e) { + window.setTimeout(e, 1e3 / 60) + } + ; + window.requestAnimationFrame = t; + const i = document.getElementById("snow"), + n = i.getContext("2d"), + o = e.flakeCount; + let a = -100, + d = -100, + s = []; + i.width = window.innerWidth, + i.height = window.innerHeight; + const h = () => { + n.clearRect(0, 0, i.width, i.height); + const r = e.minDist; + for (let t = 0; t < o; t++) { + let o = s[t]; + const h = a, + w = d, + m = o.x, + c = o.y, + p = Math.sqrt((h - m) * (h - m) + (w - c) * (w - c)); + if (p < r) { + const e = (h - m) / p, + t = (w - c) / p, + i = r / (p * p) / 2; + o.velX -= i * e, + o.velY -= i * t + } else + o.velX *= .98, + o.velY < o.speed && o.speed - o.velY > .01 && (o.velY += .01 * (o.speed - o.velY)), + o.velX += Math.cos(o.step += .05) * o.stepSize; + n.fillStyle = "rgba(" + e.color + ", " + o.opacity + ")", + o.y += o.velY, + o.x += o.velX, + (o.y >= i.height || o.y <= 0) && l(o), + (o.x >= i.width || o.x <= 0) && l(o), + n.beginPath(), + n.arc(o.x, o.y, o.size, 0, 2 * Math.PI), + n.fill() + } + t(h) + } + , l = e => { + e.x = Math.floor(Math.random() * i.width), + e.y = 0, + e.size = 3 * Math.random() + 2, + e.speed = 1 * Math.random() + .5, + e.velY = e.speed, + e.velX = 0, + e.opacity = .5 * Math.random() + .3 + } + ; + document.addEventListener("mousemove", (e => { + a = e.clientX, + d = e.clientY + } + )), + window.addEventListener("resize", (() => { + i.width = window.innerWidth, + i.height = window.innerHeight + } + )), + (() => { + for (let t = 0; t < o; t++) { + const t = Math.floor(Math.random() * i.width) + , n = Math.floor(Math.random() * i.height) + , o = 3 * Math.random() + e.size + , a = 1 * Math.random() + e.speed + , d = .5 * Math.random() + e.opacity; + s.push({ + speed: a, + velX: 0, + velY: a, + x: t, + y: n, + size: o, + stepSize: Math.random() / 30 * e.stepsize, + step: 0, + angle: 180, + opacity: d + }) + } + h() + } + )() + } + )(); +} + +/* 雪花特效 end */ + +//---------------------------------------------------------------- + +/* 星空特效 start */ +function dark() { + window.requestAnimationFrame = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || window.msRequestAnimationFrame; + var n, e, i, h, t = .05, + s = document.getElementById("universe"), + o = !0, + a = "180,184,240", + r = "226,225,142", + d = "226,225,224", + c = []; + + function f() { + n = window.innerWidth, e = window.innerHeight, i = .216 * n, s.setAttribute("width", n), s.setAttribute("height", e) + } + function u() { + h.clearRect(0, 0, n, e); + for (var t = c.length, i = 0; i < t; i++) { + var s = c[i]; + s.move(), s.fadeIn(), s.fadeOut(), s.draw() + } + } + function y() { + this.reset = function () { + this.giant = m(3), this.comet = !this.giant && !o && m(10), this.x = l(0, n - 10), this.y = l(0, e), this.r = l(1.1, 2.6), this.dx = l(t, 6 * t) + (this.comet + 1 - 1) * t * l(50, 120) + 2 * t, this.dy = -l(t, 6 * t) - (this.comet + 1 - 1) * t * l(50, 120), this.fadingOut = null, this.fadingIn = !0, this.opacity = 0, this.opacityTresh = l(.2, 1 - .4 * (this.comet + 1 - 1)), this.do = l(5e-4, .002) + .001 * (this.comet + 1 - 1) + }, this.fadeIn = function () { + this.fadingIn && (this.fadingIn = !(this.opacity > this.opacityTresh), this.opacity += this.do) + }, this.fadeOut = function () { + this.fadingOut && (this.fadingOut = !(this.opacity < 0), this.opacity -= this.do / 2, (this.x > n || this.y < 0) && (this.fadingOut = !1, this.reset())) + }, this.draw = function () { + if (h.beginPath(), this.giant) h.fillStyle = "rgba(" + a + "," + this.opacity + ")", h.arc(this.x, this.y, 2, 0, 2 * Math.PI, !1); else if (this.comet) { + h.fillStyle = "rgba(" + d + "," + this.opacity + ")", h.arc(this.x, this.y, 1.5, 0, 2 * Math.PI, !1); for (var t = 0; t < 30; t++)h.fillStyle = "rgba(" + d + "," + (this.opacity - this.opacity / 20 * t) + ")", h.rect(this.x - this.dx / 4 * t, this.y - this.dy / 4 * t - 2, 2, 2), h.fill() + } else h.fillStyle = "rgba(" + r + "," + this.opacity + ")", h.rect(this.x, this.y, this.r, this.r); + h.closePath(), h.fill() + }, this.move = function () { + this.x += this.dx, this.y += this.dy, !1 === this.fadingOut && this.reset(), (this.x > n - n / 4 || this.y < 0) && (this.fadingOut = !0) + }, setTimeout(function () { + o = !1 + }, 50) + } + function m(t) { + return Math.floor(1e3 * Math.random()) + 1 < 10 * t + } + function l(t, i) { + return Math.random() * (i - t) + t + } + f(), window.addEventListener("resize", f, !1), function () { + h = s.getContext("2d"); + for (var t = 0; t < i; t++) c[t] = new y, c[t].reset(); + u() + }(), function t() { + document.getElementsByTagName('html')[0].getAttribute('data-theme') == 'dark' && u(), window.requestAnimationFrame(t) + }() +}; +dark() +/* 星空特效 end */ + +//---------------------------------------------------------------- + +/* 表情放大 start */ +document.addEventListener('pjax:complete', function () { + if (document.getElementById('post-comment')) owoBig(); +}); +document.addEventListener('DOMContentLoaded', function () { + if (document.getElementById('post-comment')) owoBig(); +}); + +// 表情放大 +function owoBig() { + let flag = 1, // 设置节流阀 + owo_time = '', // 设置计时器 + m = 3; // 设置放大倍数 + // 创建盒子 + let div = document.createElement('div'), + body = document.querySelector('body'); + // 设置ID + div.id = 'owo-big'; + // 插入盒子 + body.appendChild(div) + + // 构造observer + let observer = new MutationObserver(mutations => { + + for (let i = 0; i < mutations.length; i++) { + let dom = mutations[i].addedNodes, + owo_body = ''; + if (dom.length == 2 && dom[1].className == 'OwO-body') owo_body = dom[1]; + // 如果需要在评论内容中启用此功能请解除下面的注释 + // else if (dom.length == 1 && dom[0].className == 'tk-comment') owo_body = dom[0]; + else continue; + + // 禁用右键(手机端长按会出现右键菜单,为了体验给禁用掉) + if (document.body.clientWidth <= 768) owo_body.addEventListener('contextmenu', e => e.preventDefault()); + // 鼠标移入 + owo_body.onmouseover = (e) => { + if (flag && e.target.tagName == 'IMG') { + flag = 0; + // 移入300毫秒后显示盒子 + owo_time = setTimeout(() => { + let height = e.path[0].clientHeight * m, // 盒子高 + width = e.path[0].clientWidth * m, // 盒子宽 + left = (e.x - e.offsetX) - (width - e.path[0].clientWidth) / 2, // 盒子与屏幕左边距离 + top = e.y - e.offsetY; // 盒子与屏幕顶部距离 + + if ((left + width) > body.clientWidth) left -= ((left + width) - body.clientWidth + 10); // 右边缘检测,防止超出屏幕 + if (left < 0) left = 10; // 左边缘检测,防止超出屏幕 + // 设置盒子样式 + div.style.cssText = `display:flex; height:${height}px; width:${width}px; left:${left}px; top:${top}px;`; + // 在盒子中插入图片 + div.innerHTML = `` + }, 300); + } + }; + // 鼠标移出隐藏盒子 + owo_body.onmouseout = () => { div.style.display = 'none', flag = 1, clearTimeout(owo_time); } + } + + }) + observer.observe(document.getElementById('post-comment'), { subtree: true, childList: true }) +} +/* 表情放大 end */ + +//---------------------------------------------------------------- + +/* 随便逛逛 start */ +// 随便逛逛 +// 发现有时会和当前页面重复,加一个判断 +function randomPost() { + fetch('/baidusitemap.xml').then(res => res.text()).then(str => (new window.DOMParser()).parseFromString(str, "text/xml")).then(data => { + let ls = data.querySelectorAll('url loc'); + while (true) { + let url = ls[Math.floor(Math.random() * ls.length)].innerHTML; + if (location.href == url) continue; + location.href = url; + return; + } + }) +} +/* 随便逛逛 end */ + +//---------------------------------------------------------------- + +/* 小猫咪 start */ +if (document.body.clientWidth > 992) { + function getBasicInfo() { + /* 窗口高度 */ + var ViewH = $(window).height(); + /* document高度 */ + var DocH = $("body")[0].scrollHeight; + /* 滚动的高度 */ + var ScrollTop = $(window).scrollTop(); + /* 可滚动的高度 */ + var S_V = DocH - ViewH; + var Band_H = ScrollTop / (DocH - ViewH) * 100; + return { + ViewH: ViewH, + DocH: DocH, + ScrollTop: ScrollTop, + Band_H: Band_H, + S_V: S_V + } + }; + function show(basicInfo) { + if (basicInfo.ScrollTop > 0.001) { + $(".neko").css('display', 'block'); + } else { + $(".neko").css('display', 'none'); + } + } + (function ($) { + $.fn.nekoScroll = function (option) { + var defaultSetting = { + top: '0', + scroWidth: 6 + 'px', + z_index: 9999, + zoom: 0.9, + borderRadius: 5 + 'px', + right: 55.6 + 'px', + nekoImg: "https://bu.dusays.com/2022/07/20/62d812db74be9.png", + hoverMsg: "春天啦~", + color: "var(--theme-color)", + during: 500, + blog_body: "body", + }; + var setting = $.extend(defaultSetting, option); + var getThis = this.prop("className") !== "" ? "." + this.prop("className") : this.prop("id") !== "" ? "#" + + this.prop("id") : this.prop("nodeName"); + if ($(".neko").length == 0) { + this.after("
"); + } + let basicInfo = getBasicInfo(); + $(getThis) + .css({ + 'position': 'fixed', + 'width': setting.scroWidth, + 'top': setting.top, + 'height': basicInfo.Band_H * setting.zoom * basicInfo.ViewH * 0.01 + 'px', + 'z-index': setting.z_index, + 'background-color': setting.bgcolor, + "border-radius": setting.borderRadius, + 'right': setting.right, + 'background-image': 'url(' + setting.scImg + ')', + 'background-image': '-webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.1) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.1) 50%, rgba(255, 255, 255, 0.1) 75%, transparent 75%, transparent)', 'border-radius': '2em', + 'background-size': 'contain' + }); + $("#" + setting.nekoname) + .css({ + 'position': 'fixed', + 'top': basicInfo.Band_H * setting.zoom * basicInfo.ViewH * 0.01 - 50 + 'px', + 'z-index': setting.z_index * 10, + 'right': setting.right, + 'background-image': 'url(' + setting.nekoImg + ')', + }); + show(getBasicInfo()); + $(window) + .scroll(function () { + let basicInfo = getBasicInfo(); + show(basicInfo); + $(getThis) + .css({ + 'position': 'fixed', + 'width': setting.scroWidth, + 'top': setting.top, + 'height': basicInfo.Band_H * setting.zoom * basicInfo.ViewH * 0.01 + 'px', + 'z-index': setting.z_index, + 'background-color': setting.bgcolor, + "border-radius": setting.borderRadius, + 'right': setting.right, + 'background-image': 'url(' + setting.scImg + ')', + 'background-image': '-webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.1) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.1) 50%, rgba(255, 255, 255, 0.1) 75%, transparent 75%, transparent)', 'border-radius': '2em', + 'background-size': 'contain' + }); + $("#" + setting.nekoname) + .css({ + 'position': 'fixed', + 'top': basicInfo.Band_H * setting.zoom * basicInfo.ViewH * 0.01 - 50 + 'px', + 'z-index': setting.z_index * 10, + 'right': setting.right, + 'background-image': 'url(' + setting.nekoImg + ')', + }); + if (basicInfo.ScrollTop == basicInfo.S_V) { + $("#" + setting.nekoname) + .addClass("showMsg") + } else { + $("#" + setting.nekoname) + .removeClass("showMsg"); + $("#" + setting.nekoname) + .attr("data-msg", setting.hoverMsg); + } + }); + this.click(function (e) { + btf.scrollToDest(0, 500) + }); + $("#" + setting.nekoname) + .click(function () { + btf.scrollToDest(0, 500) + }); + return this; + } + })(jQuery); + + $(document).ready(function () { + //部分自定义 + $("#myscoll").nekoScroll({ + bgcolor: 'rgb(0 0 0 / .5)', //背景颜色,没有绳子背景图片时有效 + borderRadius: '2em', + zoom: 0.9 + } + ); + //自定义(去掉以下注释,并注释掉其他的查看效果) + /* + $("#myscoll").nekoScroll({ + nekoname:'neko1', //nekoname,相当于id + nekoImg:'img/猫咪.png', //neko的背景图片 + scImg:"img/绳1.png", //绳子的背景图片 + bgcolor:'#1e90ff', //背景颜色,没有绳子背景图片时有效 + zoom:0.9, //绳子长度的缩放值 + hoverMsg:'你好~喵', //鼠标浮动到neko上方的对话框信息 + right:'100px', //距离页面右边的距离 + fontFamily:'楷体', //对话框字体 + fontSize:'14px', //对话框字体的大小 + color:'#1e90ff', //对话框字体颜色 + scroWidth:'8px', //绳子的宽度 + z_index:100, //不用解释了吧 + during:1200, //从顶部到底部滑动的时长 + }); + */ + }) +} + +/* 小猫咪 end */ + +//---------------------------------------------------------------- + +/* 右键菜单 start */ +function setMask() { + //设置遮罩 + if (document.getElementsByClassName("rmMask")[0] != undefined) + return document.getElementsByClassName("rmMask")[0]; + mask = document.createElement('div'); + mask.className = "rmMask"; + mask.style.width = window.innerWidth + 'px'; + mask.style.height = window.innerHeight + 'px'; + mask.style.background = '#fff'; + mask.style.opacity = '.0'; + mask.style.position = 'fixed'; + mask.style.top = '0'; + mask.style.left = '0'; + mask.style.zIndex = 998; + document.body.appendChild(mask); + document.getElementById("rightMenu").style.zIndex = 19198; + return mask; +} + +function insertAtCursor(myField, myValue) { + + //IE 浏览器 + if (document.selection) { + myField.focus(); + sel = document.selection.createRange(); + sel.text = myValue; + sel.select(); + } + + //FireFox、Chrome等 + else if (myField.selectionStart || myField.selectionStart == '0') { + var startPos = myField.selectionStart; + var endPos = myField.selectionEnd; + + // 保存滚动条 + var restoreTop = myField.scrollTop; + myField.value = myField.value.substring(0, startPos) + myValue + myField.value.substring(endPos, myField.value.length); + + if (restoreTop > 0) { + myField.scrollTop = restoreTop; + } + + myField.focus(); + myField.selectionStart = startPos + myValue.length; + myField.selectionEnd = startPos + myValue.length; + } else { + myField.value += myValue; + myField.focus(); + } +} + +let rmf = {}; +rmf.showRightMenu = function (isTrue, x = 0, y = 0) { + let $rightMenu = $('#rightMenu'); + $rightMenu.css('top', x + 'px').css('left', y + 'px'); + + if (isTrue) { + $rightMenu.show(); + } else { + $rightMenu.hide(); + } +} + +rmf.copyWordsLink = function () { + let url = window.location.href + let txa = document.createElement("textarea"); + txa.value = url; + document.body.appendChild(txa) + txa.select(); + document.execCommand("Copy"); + document.body.removeChild(txa); +} +rmf.switchReadMode = function () { + const $body = document.body + $body.classList.add('read-mode') + const newEle = document.createElement('button') + newEle.type = 'button' + newEle.className = 'fas fa-sign-out-alt exit-readmode' + $body.appendChild(newEle) + + function clickFn() { + $body.classList.remove('read-mode') + newEle.remove() + newEle.removeEventListener('click', clickFn) + } + + newEle.addEventListener('click', clickFn) +} + +//复制选中文字 +rmf.copySelect = function () { + document.execCommand('Copy', false, null); +} + +//回到顶部 +rmf.scrollToTop = function () { + document.getElementsByClassName("menus_items")[1].setAttribute("style", ""); + document.getElementById("name-container").setAttribute("style", "display:none"); + btf.scrollToDest(0, 500); +} + +document.body.addEventListener('touchmove', function () { + +}, { passive: false }); + +function popupMenu() { + window.oncontextmenu = function (event) { + // if (event.ctrlKey) return true; + + // 当关掉自定义右键时候直接返回 + if (mouseMode == "off") return true; + + $('.rightMenu-group.hide').hide(); + if (document.getSelection().toString()) { + $('#menu-text').show(); + } + if (document.getElementById('post')) { + $('#menu-post').show(); + } else { + if (document.getElementById('page')) { + $('#menu-post').show(); + } + } + var el = window.document.body; + el = event.target; + var a = /^(?:http(s)?:\/\/)?[\w.-]+(?:\.[\w\.-]+)+[\w\-\._~:/?#[\]@!\$&'\*\+,;=.]+$/ + if (a.test(window.getSelection().toString()) && el.tagName != "A") { + $('#menu-too').show() + } + if (el.tagName == 'A') { + $('#menu-to').show() + rmf.open = function () { + if (el.href.indexOf("http://") == -1 && el.href.indexOf("https://") == -1 || el.href.indexOf("yisous.xyz") != -1) { + pjax.loadUrl(el.href) + } + else { + location.href = el.href + } + } + rmf.openWithNewTab = function () { + window.open(el.href); + // window.location.reload(); + } + rmf.copyLink = function () { + let url = el.href + let txa = document.createElement("textarea"); + txa.value = url; + document.body.appendChild(txa) + txa.select(); + document.execCommand("Copy"); + document.body.removeChild(txa); + } + } else if (el.tagName == 'IMG') { + $('#menu-img').show() + rmf.openWithNewTab = function () { + window.open(el.src); + // window.location.reload(); + } + rmf.click = function () { + el.click() + } + rmf.copyLink = function () { + let url = el.src + let txa = document.createElement("textarea"); + txa.value = url; + document.body.appendChild(txa) + txa.select(); + document.execCommand("Copy"); + document.body.removeChild(txa); + } + rmf.saveAs = function () { + var a = document.createElement('a'); + var url = el.src; + var filename = url.split("/")[-1]; + a.href = url; + a.download = filename; + a.click(); + window.URL.revokeObjectURL(url); + } + } else if (el.tagName == "TEXTAREA" || el.tagName == "INPUT") { + $('#menu-paste').show(); + rmf.paste = function () { + navigator.permissions + .query({ + name: 'clipboard-read' + }) + .then(result => { + if (result.state == 'granted' || result.state == 'prompt') { + //读取剪贴板 + navigator.clipboard.readText().then(text => { + console.log(text) + insertAtCursor(el, text) + }) + } else { + Snackbar.show({ + text: '请允许读取剪贴板!', + pos: 'top-center', + showAction: false, + }) + } + }) + } + } + let pageX = event.clientX + 10; + let pageY = event.clientY; + let rmWidth = $('#rightMenu').width(); + let rmHeight = $('#rightMenu').height(); + if (pageX + rmWidth > window.innerWidth) { + pageX -= rmWidth + 10; + } + if (pageY + rmHeight > window.innerHeight) { + pageY -= pageY + rmHeight - window.innerHeight; + } + mask = setMask(); + // 滚动消失的代码和阅读进度有冲突,因此放到readPercent.js里面了 + $(".rightMenu-item").click(() => { + $('.rmMask').attr('style', 'display: none'); + }) + $(window).resize(() => { + rmf.showRightMenu(false); + $('.rmMask').attr('style', 'display: none'); + }) + mask.onclick = () => { + $('.rmMask').attr('style', 'display: none'); + } + rmf.showRightMenu(true, pageY, pageX); + $('.rmMask').attr('style', 'display: flex'); + return false; + }; + + window.addEventListener('click', function () { + rmf.showRightMenu(false); + }); +} +if (!(navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i))) { + popupMenu() +} +const box = document.documentElement + +function addLongtabListener(target, callback) { + let timer = 0 // 初始化timer + + target.ontouchstart = () => { + timer = 0 // 重置timer + timer = setTimeout(() => { + callback(); + timer = 0 + }, 380) // 超时器能成功执行,说明是长按 + } + + target.ontouchmove = () => { + clearTimeout(timer) // 如果来到这里,说明是滑动 + timer = 0 + } + + target.ontouchend = () => { // 到这里如果timer有值,说明此触摸时间不足380ms,是点击 + if (timer) { + clearTimeout(timer) + } + } +} + +addLongtabListener(box, popupMenu) + +// 全屏 +rmf.fullScreen = function () { + if (document.fullscreenElement) document.exitFullscreen(); + else document.documentElement.requestFullscreen(); +} + +// 右键开关 +if (localStorage.getItem("mouse") == undefined) { + localStorage.setItem("mouse", "on"); +} +var mouseMode = localStorage.getItem("mouse"); +function changeMouseMode() { + if (localStorage.getItem("mouse") == "on") { + mouseMode = "off"; + localStorage.setItem("mouse", "off"); + debounce(function () { + new Vue({ + data: function () { + this.$notify({ + title: "切换右键模式成功🍔", + message: "当前鼠标右键已恢复为系统默认!", + position: 'top-left', + offset: 50, + showClose: true, + type: "success", + duration: 5000 + }); + } + }) + }, 300); + } else { + mouseMode = "on"; + localStorage.setItem("mouse", "on"); + debounce(function () { + new Vue({ + data: function () { + this.$notify({ + title: "切换右键模式成功🍔", + message: "当前鼠标右键已更换为网站指定样式!", + position: 'top-left', + offset: 50, + showClose: true, + type: "success", + duration: 5000 + }); + } + }) + }, 300); + } +} +/* 右键菜单 end */ + +//---------------------------------------------------------------- + +/* 控制台输出字符画 start */ +var now1 = new Date(); + +function createtime1() { + var grt = new Date("08/09/2022 00:00:00"); //此处修改你的建站时间或者网站上线时间 + now1.setTime(now1.getTime() + 250); + var days = (now1 - grt) / 1000 / 60 / 60 / 24; + var dnum = Math.floor(days); + + var ascll = [ + `欢迎来到兔兔博客🇨🇳の小家!`, + `Future is now 🍭🍭🍭`, + ` + +███████ ██ ██ ███████ ██ ██ ██ ██ ██ + ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ + ██ ██ ██ ██ ██ ██ ██ ██ ██ + ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ + ██ ████ ██ ████ ██ ██ ██ ██ + +`, + "小站已经苟活", + dnum, + "天啦!", + "©2022 By 兔兔博客🇨🇳", + ]; + + setTimeout( + console.log.bind( + console, + `\n%c${ascll[0]} %c ${ascll[1]} %c ${ascll[2]} %c${ascll[3]}%c ${ascll[4]}%c ${ascll[5]}\n\n%c ${ascll[6]}\n`, + "color:#39c5bb", + "", + "color:#39c5bb", + "color:#39c5bb", + "", + "color:#39c5bb", + "" + ) + ); +} + +createtime1(); + +function createtime2() { + var ascll2 = [`NCC2-036`, `调用前置摄像头拍照成功,识别为「大聪明」`, `Photo captured: `, ` 🤪 `]; + + setTimeout( + console.log.bind( + console, + `%c ${ascll2[0]} %c ${ascll2[1]} %c \n${ascll2[2]} %c\n${ascll2[3]}`, + "color:white; background-color:#10bcc0", + "", + "", + 'background:url("https://unpkg.zhimg.com/anzhiyu-assets@latest/image/common/tinggge.gif") no-repeat;font-size:450%' + ) + ); + + setTimeout(console.log.bind(console, "%c WELCOME %c 欢迎光临,大聪明", "color:white; background-color:#23c682", "")); + + setTimeout( + console.warn.bind( + console, + "%c ⚡ Powered by 兔兔博客🇨🇳 %c 你正在访问兔兔博客🇨🇳の小家", + "color:white; background-color:#f0ad4e", + "" + ) + ); + + setTimeout(console.log.bind(console, "%c W23-12 %c 系统监测到你已打开控制台", "color:white; background-color:#4f90d9", "")); + setTimeout( + console.warn.bind(console, "%c S013-782 %c 你现在正处于监控中", "color:white; background-color:#d9534f", "") + ); +} +createtime2(); + +// 重写console方法 +console.log = function () { }; +console.error = function () { }; +console.warn = function () { }; + +/* 控制台输出字符画 end */ + +//---------------------------------------------------------------- + +/* 夜间模式切换动画 start */ +function switchNightMode() { + document.querySelector('body').insertAdjacentHTML('beforeend', '
'), + setTimeout(function () { + document.querySelector('body').classList.contains('DarkMode') ? (document.querySelector('body').classList.remove('DarkMode'), localStorage.setItem('isDark', '0'), document.getElementById('modeicon').setAttribute('xlink:href', '#icon-moon')) : (document.querySelector('body').classList.add('DarkMode'), localStorage.setItem('isDark', '1'), document.getElementById('modeicon').setAttribute('xlink:href', '#icon-sun')), + setTimeout(function () { + document.getElementsByClassName('Cuteen_DarkSky')[0].style.transition = 'opacity 3s'; + document.getElementsByClassName('Cuteen_DarkSky')[0].style.opacity = '0'; + setTimeout(function () { + document.getElementsByClassName('Cuteen_DarkSky')[0].remove(); + }, 1e3); + }, 2e3) + }) + const nowMode = document.documentElement.getAttribute('data-theme') === 'dark' ? 'dark' : 'light' + if (nowMode === 'light') { + // 先设置太阳月亮透明度 + document.getElementById("sun").style.opacity = "1"; + document.getElementById("moon").style.opacity = "0"; + setTimeout(function () { + document.getElementById("sun").style.opacity = "0"; + document.getElementById("moon").style.opacity = "1"; + }, 1000); + + activateDarkMode() + saveToLocal.set('theme', 'dark', 2) + // GLOBAL_CONFIG.Snackbar !== undefined && btf.snackbarShow(GLOBAL_CONFIG.Snackbar.day_to_night) + document.getElementById('modeicon').setAttribute('xlink:href', '#icon-sun') + // 延时弹窗提醒 + setTimeout(() => { + new Vue({ + data: function () { + this.$notify({ + title: "关灯啦🌙", + message: "当前已成功切换至夜间模式!", + position: 'top-left', + offset: 50, + showClose: true, + type: "success", + duration: 5000 + }); + } + }) + }, 2000) + } else { + // 先设置太阳月亮透明度 + document.getElementById("sun").style.opacity = "0"; + document.getElementById("moon").style.opacity = "1"; + setTimeout(function () { + document.getElementById("sun").style.opacity = "1"; + document.getElementById("moon").style.opacity = "0"; + }, 1000); + + activateLightMode() + saveToLocal.set('theme', 'light', 2) + document.querySelector('body').classList.add('DarkMode'), document.getElementById('modeicon').setAttribute('xlink:href', '#icon-moon') + setTimeout(() => { + new Vue({ + data: function () { + this.$notify({ + title: "开灯啦🌞", + message: "当前已成功切换至白天模式!", + position: 'top-left', + offset: 50, + showClose: true, + type: "success", + duration: 5000 + }); + } + }) + }, 2000) + } + // handle some cases + typeof utterancesTheme === 'function' && utterancesTheme() + typeof FB === 'object' && window.loadFBComment() + window.DISQUS && document.getElementById('disqus_thread').children.length && setTimeout(() => window.disqusReset(), 200) +} + +/* 夜间模式切换动画 end */ + +//---------------------------------------------------------------- + +/* 分享按钮 start */ +// 分享本页 +function share_() { + let url = window.location.origin + window.location.pathname + try { + // 截取标题 + var title = document.title; + var subTitle = title.endsWith("| 兔兔博客🇨🇳") ? title.substring(0, title.length - 14) : title; + navigator.clipboard.writeText('兔兔博客🇨🇳的站内分享\n标题:' + subTitle + '\n链接:' + url + '\n欢迎来访!🍭🍭🍭'); + new Vue({ + data: function () { + this.$notify({ + title: "成功复制分享信息🎉", + message: "您现在可以通过粘贴直接跟小伙伴分享了!", + position: 'top-left', + offset: 50, + showClose: true, + type: "success", + duration: 5000 + }); + // return { visible: false } + } + }) + } catch (err) { + console.error('复制失败!', err); + } + // new ClipboardJS(".share", { text: function () { return '标题:' + document.title + '\n链接:' + url } }); + // btf.snackbarShow("本页链接已复制到剪切板,快去分享吧~") +} + +// 防抖 +function share() { + debounce(share_, 300); +} + +/* 分享按钮 end */ + +//---------------------------------------------------------------- + +/* 恶搞标题 start */ +//动态标题 +var OriginTitile = document.title; +var titleTime; +document.addEventListener('visibilitychange', function () { + if (document.hidden) { + //离开当前页面时标签显示内容 + document.title = '👀跑哪里去了~'; + clearTimeout(titleTime); + } else { + //返回当前页面时标签显示内容 + document.title = '🐖抓到你啦~'; + //两秒后变回正常标题 + titleTime = setTimeout(function () { + document.title = OriginTitile; + }, 2000); + } +}); +/* 恶搞标题 end */ + +//---------------------------------------------------------------- + + +/* 农历转换 start */ +/** + +* @1900-2100区间内的公历、农历互转 + +* @charset UTF-8 + +* @Author jiangjiazhi + +* @公历转农历:calendar.solar2lunar(1987,11,01); //[you can ignore params of prefix 0] + +* @农历转公历:calendar.lunar2solar(1987,09,10); //[you can ignore params of prefix 0] + +*/ + + + +/** + +* 农历1900-2100的润大小信息表 + +* @Array Of Property + +* @return Hex + +*/ + +var lunarInfo = [0x04bd8, 0x04ae0, 0x0a570, 0x054d5, 0x0d260, 0x0d950, 0x16554, 0x056a0, 0x09ad0, 0x055d2, // 1900-1909 + + 0x04ae0, 0x0a5b6, 0x0a4d0, 0x0d250, 0x1d255, 0x0b540, 0x0d6a0, 0x0ada2, 0x095b0, 0x14977, // 1910-1919 + + 0x04970, 0x0a4b0, 0x0b4b5, 0x06a50, 0x06d40, 0x1ab54, 0x02b60, 0x09570, 0x052f2, 0x04970, // 1920-1929 + + 0x06566, 0x0d4a0, 0x0ea50, 0x06e95, 0x05ad0, 0x02b60, 0x186e3, 0x092e0, 0x1c8d7, 0x0c950, // 1930-1939 + + 0x0d4a0, 0x1d8a6, 0x0b550, 0x056a0, 0x1a5b4, 0x025d0, 0x092d0, 0x0d2b2, 0x0a950, 0x0b557, // 1940-1949 + + 0x06ca0, 0x0b550, 0x15355, 0x04da0, 0x0a5b0, 0x14573, 0x052b0, 0x0a9a8, 0x0e950, 0x06aa0, // 1950-1959 + + 0x0aea6, 0x0ab50, 0x04b60, 0x0aae4, 0x0a570, 0x05260, 0x0f263, 0x0d950, 0x05b57, 0x056a0, // 1960-1969 + + 0x096d0, 0x04dd5, 0x04ad0, 0x0a4d0, 0x0d4d4, 0x0d250, 0x0d558, 0x0b540, 0x0b6a0, 0x195a6, // 1970-1979 + + 0x095b0, 0x049b0, 0x0a974, 0x0a4b0, 0x0b27a, 0x06a50, 0x06d40, 0x0af46, 0x0ab60, 0x09570, // 1980-1989 + + 0x04af5, 0x04970, 0x064b0, 0x074a3, 0x0ea50, 0x06b58, 0x05ac0, 0x0ab60, 0x096d5, 0x092e0, // 1990-1999 + + 0x0c960, 0x0d954, 0x0d4a0, 0x0da50, 0x07552, 0x056a0, 0x0abb7, 0x025d0, 0x092d0, 0x0cab5, // 2000-2009 + + 0x0a950, 0x0b4a0, 0x0baa4, 0x0ad50, 0x055d9, 0x04ba0, 0x0a5b0, 0x15176, 0x052b0, 0x0a930, // 2010-2019 + + 0x07954, 0x06aa0, 0x0ad50, 0x05b52, 0x04b60, 0x0a6e6, 0x0a4e0, 0x0d260, 0x0ea65, 0x0d530, // 2020-2029 + + 0x05aa0, 0x076a3, 0x096d0, 0x04afb, 0x04ad0, 0x0a4d0, 0x1d0b6, 0x0d250, 0x0d520, 0x0dd45, // 2030-2039 + + 0x0b5a0, 0x056d0, 0x055b2, 0x049b0, 0x0a577, 0x0a4b0, 0x0aa50, 0x1b255, 0x06d20, 0x0ada0, // 2040-2049 + + 0x14b63, 0x09370, 0x049f8, 0x04970, 0x064b0, 0x168a6, 0x0ea50, 0x06b20, 0x1a6c4, 0x0aae0, // 2050-2059 + + 0x0a2e0, 0x0d2e3, 0x0c960, 0x0d557, 0x0d4a0, 0x0da50, 0x05d55, 0x056a0, 0x0a6d0, 0x055d4, // 2060-2069 + + 0x052d0, 0x0a9b8, 0x0a950, 0x0b4a0, 0x0b6a6, 0x0ad50, 0x055a0, 0x0aba4, 0x0a5b0, 0x052b0, // 2070-2079 + + 0x0b273, 0x06930, 0x07337, 0x06aa0, 0x0ad50, 0x14b55, 0x04b60, 0x0a570, 0x054e4, 0x0d160, // 2080-2089 + + 0x0e968, 0x0d520, 0x0daa0, 0x16aa6, 0x056d0, 0x04ae0, 0x0a9d4, 0x0a2d0, 0x0d150, 0x0f252, // 2090-2099 + + 0x0d520] // 2100 + + + +var solarMonth = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] + + + +/** + +* 天干地支之天干速查表 + +* @Array Of Property trans['甲','乙','丙','丁','戊','己','庚','辛','壬','癸'] + +* @return Cn string + +*/ + +var Gan = ['\u7532', '\u4e59', '\u4e19', '\u4e01', '\u620a', '\u5df1', '\u5e9a', '\u8f9b', '\u58ec', '\u7678'] + + + +/** + +* 天干地支之地支速查表 + +* @Array Of Property + +* @trans['子','丑','寅','卯','辰','巳','午','未','申','酉','戌','亥'] + +* @return Cn string + +*/ + +var Zhi = ['\u5b50', '\u4e11', '\u5bc5', '\u536f', '\u8fb0', '\u5df3', '\u5348', '\u672a', '\u7533', '\u9149', '\u620c', '\u4ea5'] + + + +/** + +* 天干地支之地支速查表<=>生肖 + +* @Array Of Property + +* @trans['鼠','牛','虎','兔','龙','蛇','马','羊','猴','鸡','狗','猪'] + +* @return Cn string + +*/ + +var Animals = ['\u9f20', '\u725b', '\u864e', '\u5154', '\u9f99', '\u86c7', '\u9a6c', '\u7f8a', '\u7334', '\u9e21', '\u72d7', '\u732a'] + + + +/** + +* 24节气速查表 + +* @Array Of Property + +* @trans['小寒','大寒','立春','雨水','惊蛰','春分','清明','谷雨','立夏','小满','芒种','夏至','小暑','大暑','立秋','处暑','白露','秋分','寒露','霜降','立冬','小雪','大雪','冬至'] + +* @return Cn string + +*/ + +var solarTerm = ['\u5c0f\u5bd2', '\u5927\u5bd2', '\u7acb\u6625', '\u96e8\u6c34', '\u60ca\u86f0', '\u6625\u5206', '\u6e05\u660e', '\u8c37\u96e8', '\u7acb\u590f', '\u5c0f\u6ee1', '\u8292\u79cd', '\u590f\u81f3', '\u5c0f\u6691', '\u5927\u6691', '\u7acb\u79cb', '\u5904\u6691', '\u767d\u9732', '\u79cb\u5206', '\u5bd2\u9732', '\u971c\u964d', '\u7acb\u51ac', '\u5c0f\u96ea', '\u5927\u96ea', '\u51ac\u81f3'] + + + +/** + +* 1900-2100各年的24节气日期速查表 + +* @Array Of Property + +* @return 0x string For splice + +*/ + +var sTermInfo = ['9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bcf97c3598082c95f8c965cc920f', + + '97bd0b06bdb0722c965ce1cfcc920f', 'b027097bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', + + '97bcf97c359801ec95f8c965cc920f', '97bd0b06bdb0722c965ce1cfcc920f', 'b027097bd097c36b0b6fc9274c91aa', + + '97b6b97bd19801ec9210c965cc920e', '97bcf97c359801ec95f8c965cc920f', '97bd0b06bdb0722c965ce1cfcc920f', + + 'b027097bd097c36b0b6fc9274c91aa', '9778397bd19801ec9210c965cc920e', '97b6b97bd19801ec95f8c965cc920f', + + '97bd09801d98082c95f8e1cfcc920f', '97bd097bd097c36b0b6fc9210c8dc2', '9778397bd197c36c9210c9274c91aa', + + '97b6b97bd19801ec95f8c965cc920e', '97bd09801d98082c95f8e1cfcc920f', '97bd097bd097c36b0b6fc9210c8dc2', + + '9778397bd097c36c9210c9274c91aa', '97b6b97bd19801ec95f8c965cc920e', '97bcf97c3598082c95f8e1cfcc920f', + + '97bd097bd097c36b0b6fc9210c8dc2', '9778397bd097c36c9210c9274c91aa', '97b6b97bd19801ec9210c965cc920e', + + '97bcf97c3598082c95f8c965cc920f', '97bd097bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', + + '97b6b97bd19801ec9210c965cc920e', '97bcf97c3598082c95f8c965cc920f', '97bd097bd097c35b0b6fc920fb0722', + + '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bcf97c359801ec95f8c965cc920f', + + '97bd097bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', + + '97bcf97c359801ec95f8c965cc920f', '97bd097bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', + + '97b6b97bd19801ec9210c965cc920e', '97bcf97c359801ec95f8c965cc920f', '97bd097bd07f595b0b6fc920fb0722', + + '9778397bd097c36b0b6fc9210c8dc2', '9778397bd19801ec9210c9274c920e', '97b6b97bd19801ec95f8c965cc920f', + + '97bd07f5307f595b0b0bc920fb0722', '7f0e397bd097c36b0b6fc9210c8dc2', '9778397bd097c36c9210c9274c920e', + + '97b6b97bd19801ec95f8c965cc920f', '97bd07f5307f595b0b0bc920fb0722', '7f0e397bd097c36b0b6fc9210c8dc2', + + '9778397bd097c36c9210c9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bd07f1487f595b0b0bc920fb0722', + + '7f0e397bd097c36b0b6fc9210c8dc2', '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', + + '97bcf7f1487f595b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', + + '97b6b97bd19801ec9210c965cc920e', '97bcf7f1487f595b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', + + '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bcf7f1487f531b0b0bb0b6fb0722', + + '7f0e397bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', + + '97bcf7f1487f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', + + '97b6b97bd19801ec9210c9274c920e', '97bcf7f0e47f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', + + '9778397bd097c36b0b6fc9210c91aa', '97b6b97bd197c36c9210c9274c920e', '97bcf7f0e47f531b0b0bb0b6fb0722', + + '7f0e397bd07f595b0b0bc920fb0722', '9778397bd097c36b0b6fc9210c8dc2', '9778397bd097c36c9210c9274c920e', + + '97b6b7f0e47f531b0723b0b6fb0722', '7f0e37f5307f595b0b0bc920fb0722', '7f0e397bd097c36b0b6fc9210c8dc2', + + '9778397bd097c36b0b70c9274c91aa', '97b6b7f0e47f531b0723b0b6fb0721', '7f0e37f1487f595b0b0bb0b6fb0722', + + '7f0e397bd097c35b0b6fc9210c8dc2', '9778397bd097c36b0b6fc9274c91aa', '97b6b7f0e47f531b0723b0b6fb0721', + + '7f0e27f1487f595b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', + + '97b6b7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', + + '9778397bd097c36b0b6fc9274c91aa', '97b6b7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', + + '7f0e397bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', '97b6b7f0e47f531b0723b0b6fb0721', + + '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', '9778397bd097c36b0b6fc9274c91aa', + + '97b6b7f0e47f531b0723b0787b0721', '7f0e27f0e47f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', + + '9778397bd097c36b0b6fc9210c91aa', '97b6b7f0e47f149b0723b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722', + + '7f0e397bd07f595b0b0bc920fb0722', '9778397bd097c36b0b6fc9210c8dc2', '977837f0e37f149b0723b0787b0721', + + '7f07e7f0e47f531b0723b0b6fb0722', '7f0e37f5307f595b0b0bc920fb0722', '7f0e397bd097c35b0b6fc9210c8dc2', + + '977837f0e37f14998082b0787b0721', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e37f1487f595b0b0bb0b6fb0722', + + '7f0e397bd097c35b0b6fc9210c8dc2', '977837f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', + + '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', '977837f0e37f14998082b0787b06bd', + + '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', + + '977837f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', + + '7f0e397bd07f595b0b0bc920fb0722', '977837f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', + + '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', '977837f0e37f14998082b0787b06bd', + + '7f07e7f0e47f149b0723b0787b0721', '7f0e27f0e47f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', + + '977837f0e37f14998082b0723b06bd', '7f07e7f0e37f149b0723b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722', + + '7f0e397bd07f595b0b0bc920fb0722', '977837f0e37f14898082b0723b02d5', '7ec967f0e37f14998082b0787b0721', + + '7f07e7f0e47f531b0723b0b6fb0722', '7f0e37f1487f595b0b0bb0b6fb0722', '7f0e37f0e37f14898082b0723b02d5', + + '7ec967f0e37f14998082b0787b0721', '7f07e7f0e47f531b0723b0b6fb0722', '7f0e37f1487f531b0b0bb0b6fb0722', + + '7f0e37f0e37f14898082b0723b02d5', '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', + + '7f0e37f1487f531b0b0bb0b6fb0722', '7f0e37f0e37f14898082b072297c35', '7ec967f0e37f14998082b0787b06bd', + + '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e37f0e37f14898082b072297c35', + + '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', + + '7f0e37f0e366aa89801eb072297c35', '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f149b0723b0787b0721', + + '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e37f0e366aa89801eb072297c35', '7ec967f0e37f14998082b0723b06bd', + + '7f07e7f0e47f149b0723b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722', '7f0e37f0e366aa89801eb072297c35', + + '7ec967f0e37f14998082b0723b06bd', '7f07e7f0e37f14998083b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722', + + '7f0e37f0e366aa89801eb072297c35', '7ec967f0e37f14898082b0723b02d5', '7f07e7f0e37f14998082b0787b0721', + + '7f07e7f0e47f531b0723b0b6fb0722', '7f0e36665b66aa89801e9808297c35', '665f67f0e37f14898082b0723b02d5', + + '7ec967f0e37f14998082b0787b0721', '7f07e7f0e47f531b0723b0b6fb0722', '7f0e36665b66a449801e9808297c35', + + '665f67f0e37f14898082b0723b02d5', '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', + + '7f0e36665b66a449801e9808297c35', '665f67f0e37f14898082b072297c35', '7ec967f0e37f14998082b0787b06bd', + + '7f07e7f0e47f531b0723b0b6fb0721', '7f0e26665b66a449801e9808297c35', '665f67f0e37f1489801eb072297c35', + + '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722'] + + + +/** + + * 数字转中文速查表 + +* @Array Of Property + +* @trans ['日','一','二','三','四','五','六','七','八','九','十'] + +* @return Cn string + + */ + +var nStr1 = ['\u65e5', '\u4e00', '\u4e8c', '\u4e09', '\u56db', '\u4e94', '\u516d', '\u4e03', '\u516b', '\u4e5d', '\u5341'] + + + +/** + +* 日期转农历称呼速查表 + +* @Array Of Property + +* @trans ['初','十','廿','卅'] + +* @return Cn string + +*/ + +var nStr2 = ['\u521d', '\u5341', '\u5eff', '\u5345'] + + + +/** + +* 月份转农历称呼速查表 + +* @Array Of Property + +* @trans ['正','一','二','三','四','五','六','七','八','九','十','冬','腊'] + +* @return Cn string + +*/ + +var nStr3 = ['\u6b63', '\u4e8c', '\u4e09', '\u56db', '\u4e94', '\u516d', '\u4e03', '\u516b', '\u4e5d', '\u5341', '\u51ac', '\u814a'] + + + +/** + +* 返回农历y年一整年的总天数 + +* @param lunar Year + + * @return Number + +* @eg:var count = calendar.lYearDays(1987) ;//count=387 + +*/ + +function lYearDays(y) { + + var i + + var sum = 348 + + for (i = 0x8000; i > 0x8; i >>= 1) { sum += (lunarInfo[y - 1900] & i) ? 1 : 0 } + + return (sum + leapDays(y)) + +} + + + +/** + +* 返回农历y年闰月是哪个月;若y年没有闰月 则返回0 + +* @param lunar Year + +* @return Number (0-12) + + * @eg:var leapMonth = calendar.leapMonth(1987) ;//leapMonth=6 + +*/ + +function leapMonth(y) { // 闰字编码 \u95f0 + + return (lunarInfo[y - 1900] & 0xf) + +} + + + +/** + +* 返回农历y年闰月的天数 若该年没有闰月则返回0 + +* @param lunar Year + +* @return Number (0、29、30) + +* @eg:var leapMonthDay = calendar.leapDays(1987) ;//leapMonthDay=29 + +*/ + +function leapDays(y) { + + if (leapMonth(y)) { + + return ((lunarInfo[y - 1900] & 0x10000) ? 30 : 29) + + } + + return (0) + +} + + + +/** + +* 返回农历y年m月(非闰月)的总天数,计算m为闰月时的天数请使用leapDays方法 + +* @param lunar Year + +* @return Number (-1、29、30) + + * @eg:var MonthDay = calendar.monthDays(1987,9) ;//MonthDay=29 + +*/ + +function monthDays(y, m) { + + if (m > 12 || m < 1) { return -1 }// 月份参数从1至12,参数错误返回-1 + + return ((lunarInfo[y - 1900] & (0x10000 >> m)) ? 30 : 29) + +} + + + +/** + +* 返回公历(!)y年m月的天数 + +* @param solar Year + +* @return Number (-1、28、29、30、31) + +* @eg:var solarMonthDay = calendar.leapDays(1987) ;//solarMonthDay=30 + +*/ + +function solarDays(y, m) { + + if (m > 12 || m < 1) { return -1 } // 若参数错误 返回-1 + + var ms = m - 1 + + if (ms === 1) { // 2月份的闰平规律测算后确认返回28或29 + + return (((y % 4 === 0) && (y % 100 !== 0) || (y % 400 === 0)) ? 29 : 28) + + } else { + + return (solarMonth[ms]) + + } + +} + + + +/** + +* 农历年份转换为干支纪年 + +* @param lYear 农历年的年份数 + +* @return Cn string + +*/ + +function toGanZhiYear(lYear) { + + var ganKey = (lYear - 3) % 10 + + var zhiKey = (lYear - 3) % 12 + + if (ganKey === 0) ganKey = 10 // 如果余数为0则为最后一个天干 + + if (zhiKey === 0) zhiKey = 12 // 如果余数为0则为最后一个地支 + + return Gan[ganKey - 1] + Zhi[zhiKey - 1] + +} + + + +/** + +* 公历月、日判断所属星座 + +* @param cMonth [description] + +* @param cDay [description] + +* @return Cn string + +*/ + +function toAstro(cMonth, cDay) { + + var s = '\u9b54\u7faf\u6c34\u74f6\u53cc\u9c7c\u767d\u7f8a\u91d1\u725b\u53cc\u5b50\u5de8\u87f9\u72ee\u5b50\u5904\u5973\u5929\u79e4\u5929\u874e\u5c04\u624b\u9b54\u7faf' + + var arr = [20, 19, 21, 21, 21, 22, 23, 23, 23, 23, 22, 22] + + return s.substr(cMonth * 2 - (cDay < arr[cMonth - 1] ? 2 : 0), 2) + '\u5ea7' // 座 + +} + + + +/** + +* 传入offset偏移量返回干支 + +* @param offset 相对甲子的偏移量 + +* @return Cn string + +*/ + +function toGanZhi(offset) { + + return Gan[offset % 10] + Zhi[offset % 12] + +} + + + +/** + +* 传入公历(!)y年获得该年第n个节气的公历日期 + +* @param y公历年(1900-2100);n二十四节气中的第几个节气(1~24);从n=1(小寒)算起 + +* @return day Number + +* @eg:var _24 = calendar.getTerm(1987,3) ;//_24=4;意即1987年2月4日立春 + +*/ + +function getTerm(y, n) { + + if (y < 1900 || y > 2100) { return -1 } + + if (n < 1 || n > 24) { return -1 } + + var _table = sTermInfo[y - 1900] + + var _info = [ + + parseInt('0x' + _table.substr(0, 5)).toString(), + + parseInt('0x' + _table.substr(5, 5)).toString(), + + parseInt('0x' + _table.substr(10, 5)).toString(), + + parseInt('0x' + _table.substr(15, 5)).toString(), + + parseInt('0x' + _table.substr(20, 5)).toString(), + + parseInt('0x' + _table.substr(25, 5)).toString() + + ] + + var _calday = [ + + _info[0].substr(0, 1), + + _info[0].substr(1, 2), + + _info[0].substr(3, 1), + + _info[0].substr(4, 2), + + + + _info[1].substr(0, 1), + + _info[1].substr(1, 2), + + _info[1].substr(3, 1), + + _info[1].substr(4, 2), + + + + _info[2].substr(0, 1), + + _info[2].substr(1, 2), + + _info[2].substr(3, 1), + + _info[2].substr(4, 2), + + + + _info[3].substr(0, 1), + + _info[3].substr(1, 2), + + _info[3].substr(3, 1), + + _info[3].substr(4, 2), + + + + _info[4].substr(0, 1), + + _info[4].substr(1, 2), + + _info[4].substr(3, 1), + + _info[4].substr(4, 2), + + + + _info[5].substr(0, 1), + + _info[5].substr(1, 2), + + _info[5].substr(3, 1), + + _info[5].substr(4, 2) + + ] + + return parseInt(_calday[n - 1]) + +} + + + +/** + +* 传入农历数字月份返回汉语通俗表示法 + +* @param lunar month + +* @return Cn string + +* @eg:var cnMonth = calendar.toChinaMonth(12) ;//cnMonth='腊月' + +*/ + +function toChinaMonth(m) { // 月 => \u6708 + + if (m > 12 || m < 1) { return -1 } // 若参数错误 返回-1 + + var s = nStr3[m - 1] + + s += '\u6708' // 加上月字 + + return s + +} + + + +/** + +* 传入农历日期数字返回汉字表示法 + +* @param lunar day + +* @return Cn string + +* @eg:var cnDay = calendar.toChinaDay(21) ;//cnMonth='廿一' + +*/ + +function toChinaDay(d) { // 日 => \u65e5 + + var s + + switch (d) { + + case 10: + + s = '\u521d\u5341' + + break + + case 20: + + s = '\u4e8c\u5341' + + break + + case 30: + + s = '\u4e09\u5341' + + break + + default: + + s = nStr2[Math.floor(d / 10)] + + s += nStr1[d % 10] + + } + + return (s) + +} + + + +/** + +* 年份转生肖[!仅能大致转换] => 精确划分生肖分界线是“立春” + +* @param y year + +* @return Cn string + +* @eg:var animal = calendar.getAnimal(1987) ;//animal='兔' + +*/ + +function getAnimal(y) { + + return Animals[(y - 4) % 12] + +} + + + +/** + +* 传入阳历年月日获得详细的公历、农历object信息 <=>JSON + +* @param y solar year + +* @param m solar month + +* @param d solar day + +* @return JSON object + +* @eg:console.log(calendar.solar2lunar(1987,11,01)); + +*/ + +function solar2lunar(y, m, d) { // 参数区间1900.1.31~2100.12.31 + + // 年份限定、上限 + + if (y < 1900 || y > 2100) { + + return -1 // undefined转换为数字变为NaN + + } + + // 公历传参最下限 + + if (y === 1900 && m === 1 && d < 31) { + + return -1 + + } + + // 未传参 获得当天 + + var objDate = null + + if (!y) { + + objDate = new Date() + + } else { + + objDate = new Date(y, parseInt(m) - 1, d) + + } + + var i + + var leap = 0 + + var temp = 0 + + // 修正ymd参数 + + y = objDate.getFullYear() + + m = objDate.getMonth() + 1 + + d = objDate.getDate() + + var offset = (Date.UTC(objDate.getFullYear(), objDate.getMonth(), objDate.getDate()) - Date.UTC(1900, 0, 31)) / 86400000 + + for (i = 1900; i < 2101 && offset > 0; i++) { + + temp = lYearDays(i) + + offset -= temp + + } + + if (offset < 0) { + + offset += temp; i-- + + } + + + + // 是否今天 + + var isTodayObj = new Date() + + var isToday = false + + if (isTodayObj.getFullYear() === y && isTodayObj.getMonth() + 1 === m && isTodayObj.getDate() === d) { + + isToday = true + + } + + // 星期几 + + var nWeek = objDate.getDay() + + var cWeek = nStr1[nWeek] + + // 数字表示周几顺应天朝周一开始的惯例 + + if (nWeek === 0) { + + nWeek = 7 + + } + + // 农历年 + + var year = i + + leap = leapMonth(i) // 闰哪个月 + + var isLeap = false + + + + // 效验闰月 + + for (i = 1; i < 13 && offset > 0; i++) { + + // 闰月 + + if (leap > 0 && i === (leap + 1) && isLeap === false) { + + --i + + isLeap = true; temp = leapDays(year) // 计算农历闰月天数 + + } else { + + temp = monthDays(year, i)// 计算农历普通月天数 + + } + + // 解除闰月 + + if (isLeap === true && i === (leap + 1)) { isLeap = false } + + offset -= temp + + } + + // 闰月导致数组下标重叠取反 + + if (offset === 0 && leap > 0 && i === leap + 1) { + + if (isLeap) { + + isLeap = false + + } else { + + isLeap = true; --i + + } + + } + + if (offset < 0) { + + offset += temp; --i + + } + + // 农历月 + + var month = i + + // 农历日 + + var day = offset + 1 + + // 天干地支处理 + + var sm = m - 1 + + var gzY = toGanZhiYear(year) + + + + // 当月的两个节气 + + // bugfix-2017-7-24 11:03:38 use lunar Year Param `y` Not `year` + + var firstNode = getTerm(y, (m * 2 - 1)) // 返回当月「节」为几日开始 + + var secondNode = getTerm(y, (m * 2)) // 返回当月「节」为几日开始 + + + + // 依据12节气修正干支月 + + var gzM = toGanZhi((y - 1900) * 12 + m + 11) + + if (d >= firstNode) { + + gzM = toGanZhi((y - 1900) * 12 + m + 12) + + } + + // 传入的日期的节气与否 + + var isTerm = false + + var Term = null + + if (firstNode === d) { + + isTerm = true + + Term = solarTerm[m * 2 - 2] + + } + + if (secondNode === d) { + + isTerm = true + + Term = solarTerm[m * 2 - 1] + + } + + // 日柱 当月一日与 1900/1/1 相差天数 + + var dayCyclical = Date.UTC(y, sm, 1, 0, 0, 0, 0) / 86400000 + 25567 + 10 + + var gzD = toGanZhi(dayCyclical + d - 1) + + // 该日期所属的星座 + + var astro = toAstro(m, d) + + return { 'lYear': year, 'lMonth': month, 'lDay': day, 'Animal': getAnimal(year), 'IMonthCn': (isLeap ? '\u95f0' : '') + toChinaMonth(month), 'IDayCn': toChinaDay(day), 'cYear': y, 'cMonth': m, 'cDay': d, 'gzYear': gzY, 'gzMonth': gzM, 'gzDay': gzD, 'isToday': isToday, 'isLeap': isLeap, 'nWeek': nWeek, 'ncWeek': '\u661f\u671f' + cWeek, 'isTerm': isTerm, 'Term': Term, 'astro': astro } + +} + + + + + +var calendarFormatter = { + + // 传入阳历年月日获得详细的公历、农历object信息 <=>JSON + + solar2lunar: function (y, m, d) { // 参数区间1900.1.31~2100.12.31 + + return solar2lunar(y, m, d) + + }, + + /** + + * 传入农历年月日以及传入的月份是否闰月获得详细的公历、农历object信息 <=>JSON + + * @param y lunar year + + * @param m lunar month + + * @param d lunar day + + * @param isLeapMonth lunar month is leap or not.[如果是农历闰月第四个参数赋值true即可] + + * @return JSON object + + * @eg:console.log(calendar.lunar2solar(1987,9,10)); + + */ + + lunar2solar: function (y, m, d, isLeapMonth) { // 参数区间1900.1.31~2100.12.1 + + isLeapMonth = !!isLeapMonth + + if (isLeapMonth && (leapMonth !== m)) { return -1 }// 传参要求计算该闰月公历 但该年得出的闰月与传参的月份并不同 + + if (y === 2100 && m === 12 && d > 1 || y === 1900 && m === 1 && d < 31) { return -1 } // 超出了最大极限值 + + var day = monthDays(y, m) + + var _day = day + + // bugFix 2016-9-25 + + // if month is leap, _day use leapDays method + + if (isLeapMonth) { + + _day = leapDays(y, m) + + } + + if (y < 1900 || y > 2100 || d > _day) { return -1 }// 参数合法性效验 + + + + // 计算农历的时间差 + + var offset = 0 + + for (var i = 1900; i < y; i++) { + + offset += lYearDays(i) + + } + + var leap = 0 + + var isAdd = false + + for (i = 1; i < m; i++) { + + leap = leapMonth(y) + + if (!isAdd) { // 处理闰月 + + if (leap <= i && leap > 0) { + + offset += leapDays(y); isAdd = true + + } + + } + + offset += monthDays(y, i) + + } + + // 转换闰月农历 需补充该年闰月的前一个月的时差 + + if (isLeapMonth) { offset += day } + + // 1900年农历正月一日的公历时间为1900年1月30日0时0分0秒(该时间也是本农历的最开始起始点) + + var stmap = Date.UTC(1900, 1, 30, 0, 0, 0) + + var calObj = new Date((offset + d - 31) * 86400000 + stmap) + + var cY = calObj.getUTCFullYear() + + var cM = calObj.getUTCMonth() + 1 + + var cD = calObj.getUTCDate() + + return solar2lunar(cY, cM, cD) + + } + +} + +/* 农历转换 end */ + +//---------------------------------------------------------------- + +/* 节日弹窗 start */ +var d = new Date(); +m = d.getMonth() + 1; +dd = d.getDate(); +y = d.getFullYear(); + +// 公祭日 +if (m == 9 && dd == 18) { + document.getElementsByTagName("html")[0].setAttribute("style", "filter: grayscale(60%);"); + if (sessionStorage.getItem("isPopupWindow") != "1") { + Swal.fire("今天是九一八事变" + (y - 1931).toString() + "周年纪念日\n🪔勿忘国耻,振兴中华🪔"); + sessionStorage.setItem("isPopupWindow", "1"); + } +} +if (m == 7 && dd == 7) { + document.getElementsByTagName("html")[0].setAttribute("style", "filter: grayscale(60%);"); + if (sessionStorage.getItem("isPopupWindow") != "1") { + Swal.fire("今天是卢沟桥事变" + (y - 1937).toString() + "周年纪念日\n🪔勿忘国耻,振兴中华🪔"); + sessionStorage.setItem("isPopupWindow", "1"); + } +} +if (m == 12 && dd == 13) { + document.getElementsByTagName("html")[0].setAttribute("style", "filter: grayscale(60%);"); + if (sessionStorage.getItem("isPopupWindow") != "1") { + Swal.fire("今天是南京大屠杀" + (y - 1937).toString() + "周年纪念日\n🪔勿忘国耻,振兴中华🪔"); + sessionStorage.setItem("isPopupWindow", "1"); + } +} +if (m == 8 && dd == 14) { + document.getElementsByTagName("html")[0].setAttribute("style", "filter: grayscale(60%);"); + if (sessionStorage.getItem("isPopupWindow") != "1") { + Swal.fire("今天是世界慰安妇纪念日\n🪔勿忘国耻,振兴中华🪔"); + sessionStorage.setItem("isPopupWindow", "1"); + } +} + + +// 节假日 +if (m == 10 && dd <= 3) {//国庆节 + if (sessionStorage.getItem("isPopupWindow") != "1") { + Swal.fire("祝祖国" + (y - 1949).toString() + "岁生日快乐!"); + sessionStorage.setItem("isPopupWindow", "1"); + } +} +if (m == 8 && dd == 15) {//搞来玩的,小日子投降 + if (sessionStorage.getItem("isPopupWindow") != "1") { + Swal.fire("小日子已经投降" + (y - 1945).toString() + "年了😃"); + sessionStorage.setItem("isPopupWindow", "1"); + } +} +if (m == 1 && dd == 1) {//元旦节 + if (sessionStorage.getItem("isPopupWindow") != "1") { + Swal.fire(y.toString() + "年元旦快乐!🎉"); + sessionStorage.setItem("isPopupWindow", "1"); + } +} +if (m == 3 && dd == 8) {//妇女节 + if (sessionStorage.getItem("isPopupWindow") != "1") { + Swal.fire("各位女神们,妇女节快乐!👩"); + sessionStorage.setItem("isPopupWindow", "1"); + } +} +l = ["非常抱歉,因为不可控原因,博客将于明天停止运营!", "好消息,日本没了!", "美国垮了,原因竟然是川普!", "微软垮了!", "你的电脑已经过载,建议立即关机!", "你知道吗?站长很喜欢你哦!", "一分钟有61秒哦", "你喜欢的人跟别人跑了!"] +if (m == 4 && dd == 1) {//愚人节,随机谎话 + if (sessionStorage.getItem("isPopupWindow") != "1") { + Swal.fire(l[Math.floor(Math.random() * l.length)]); + sessionStorage.setItem("isPopupWindow", "1"); + } +} +if (m == 5 && dd == 1) {//劳动节 + if (sessionStorage.getItem("isPopupWindow") != "1") { + Swal.fire("劳动节快乐\n为各行各业辛勤工作的人们致敬!"); + sessionStorage.setItem("isPopupWindow", "1"); + } +} +if (m == 5 && dd == 4) {//青年节 + if (sessionStorage.getItem("isPopupWindow") != "1") { + Swal.fire("青年节快乐\n青春不是回忆逝去,而是把握现在!"); + sessionStorage.setItem("isPopupWindow", "1"); + } +} +if (m == 5 && dd == 20) {//520 + if (sessionStorage.getItem("isPopupWindow") != "1") { + Swal.fire("今年是520情人节\n快和你喜欢的人一起过吧!💑"); + sessionStorage.setItem("isPopupWindow", "1"); + } +} +if (m == 7 && dd == 1) {//建党节 + if (sessionStorage.getItem("isPopupWindow") != "1") { + Swal.fire("祝中国共产党" + (y - 1921).toString() + "岁生日快乐!"); + sessionStorage.setItem("isPopupWindow", "1"); + } +} +if (m == 9 && dd == 10) {//教师节 + if (sessionStorage.getItem("isPopupWindow") != "1") { + Swal.fire("各位老师们教师节快乐!👩‍🏫"); + sessionStorage.setItem("isPopupWindow", "1"); + } +} +if (m == 12 && dd == 25) {//圣诞节 + if (sessionStorage.getItem("isPopupWindow") != "1") { + Swal.fire("圣诞节快乐!🎄"); + sessionStorage.setItem("isPopupWindow", "1"); + } +} +if (m == 6 && dd == 30) {//小猫咪生日 + if (sessionStorage.getItem("isPopupWindow") != "1") { + Swal.fire("祝小猫咪" + (y - 1999).toString() + "岁生日快乐!🐱"); + sessionStorage.setItem("isPopupWindow", "1"); + } +} + +//传统节日部分 + +if ((y == 2023 && m == 4 && dd == 5) || (y == 2024 && m == 4 && dd == 4) || (y == 2025 && m == 4 && dd == 4)) {//清明节 + if (sessionStorage.getItem("isPopupWindow") != "1") { + Swal.fire("清明时节雨纷纷,一束鲜花祭故人💐"); + sessionStorage.setItem("isPopupWindow", "1"); + } +} +if ((y == 2023 && m == 12 && dd == 22) || (y == 2024 && m == 12 && dd == 21) || (y == 2025 && m == 12 && dd == 21)) {//冬至 + if (sessionStorage.getItem("isPopupWindow") != "1") { + Swal.fire("冬至快乐\n快吃上一碗热热的汤圆和饺子吧🧆"); + sessionStorage.setItem("isPopupWindow", "1"); + } +} + +var lunar = calendarFormatter.solar2lunar(); + +//农历采用汉字计算,防止出现闰月导致问题 + +if ((lunar["IMonthCn"] == "正月" && lunar["IDayCn"] == "初六") || (lunar["IMonthCn"] == "正月" && lunar["IDayCn"] == "初五") || (lunar["IMonthCn"] == "正月" && lunar["IDayCn"] == "初四") || (lunar["IMonthCn"] == "正月" && lunar["IDayCn"] == "初三") || (lunar["IMonthCn"] == "正月" && lunar["IDayCn"] == "初二") || (lunar["IMonthCn"] == "正月" && lunar["IDayCn"] == "初一") || (lunar["IMonthCn"] == "腊月" && lunar["IDayCn"] == "三十") || (lunar["IMonthCn"] == "腊月" && lunar["IDayCn"] == "廿九")) { + //春节,本来只有大年三十到初六,但是有时候除夕是大年二十九,所以也加上了 + if (sessionStorage.getItem("isPopupWindow") != "1") { + Swal.fire(y.toString() + "年新年快乐\n🎊祝你心想事成,诸事顺利🎊"); + sessionStorage.setItem("isPopupWindow", "1"); + } +} +if ((lunar["IMonthCn"] == "正月" && lunar["IDayCn"] == "十五")) { + //元宵节 + if (sessionStorage.getItem("isPopupWindow") != "1") { + Swal.fire("元宵节快乐\n送你一个大大的灯笼🧅"); + sessionStorage.setItem("isPopupWindow", "1"); + } +} +if ((lunar["IMonthCn"] == "五月" && lunar["IDayCn"] == "初五")) { + //端午节 + if (sessionStorage.getItem("isPopupWindow") != "1") { + Swal.fire("端午节快乐\n请你吃一条粽子🍙"); + sessionStorage.setItem("isPopupWindow", "1"); + } +} +if ((lunar["IMonthCn"] == "七月" && lunar["IDayCn"] == "初七")) { + //七夕节 + if (sessionStorage.getItem("isPopupWindow") != "1") { + Swal.fire("七夕节快乐\n黄昏后,柳梢头,牛郎织女来碰头"); + sessionStorage.setItem("isPopupWindow", "1"); + } +} +if ((lunar["IMonthCn"] == "八月" && lunar["IDayCn"] == "十五")) { + //中秋节 + if (sessionStorage.getItem("isPopupWindow") != "1") { + Swal.fire("中秋节快乐\n请你吃一块月饼🍪"); + sessionStorage.setItem("isPopupWindow", "1"); + } +} +if ((lunar["IMonthCn"] == "九月" && lunar["IDayCn"] == "初九")) { + //重阳节 + if (sessionStorage.getItem("isPopupWindow") != "1") { + Swal.fire("重阳节快乐\n独在异乡为异客,每逢佳节倍思亲"); + sessionStorage.setItem("isPopupWindow", "1"); + } +} +if ((lunar["IMonthCn"] == "腊月" && lunar["IDayCn"] == "廿六")) { + //站长生日 + if (sessionStorage.getItem("isPopupWindow") != "1") { + Swal.fire("祝站长" + (y - 2010).toString() + "岁生日快乐!🥝"); + sessionStorage.setItem("isPopupWindow", "1"); + } +} + +// 切换主题提醒 +// if (y == 2022 && m == 12 && (dd >= 18 && dd <= 20)) { +// if (sessionStorage.getItem("isPopupWindow") != "1") { +// Swal.fire("网站换成冬日限定主题啦⛄"); +// sessionStorage.setItem("isPopupWindow", "1"); +// } +// } + + +/* 节日弹窗 end */ + +//---------------------------------------------------------------- + +/* 听话鼠标 start */ +var CURSOR; + +Math.lerp = (a, b, n) => (1 - n) * a + n * b; + +const getStyle2 = (el, attr) => { + try { + return window.getComputedStyle + ? window.getComputedStyle(el)[attr] + : el.currentStyle[attr]; + } catch (e) { } + return ""; +}; + +// 为了屏蔽异步加载导致无法读取颜色值,这里统一用哈希表预处理 +const map = new Map(); +map.set('red', "rgb(241, 71, 71)"); +map.set('orange', "rgb(241, 162, 71)"); +map.set('yellow', "rgb(241, 238, 71)") +map.set('purple', "rgb(179, 71, 241)"); +map.set('blue', "rgb(102, 204, 255)"); +map.set('gray', "rgb(226, 226, 226)"); +map.set('green', "rgb(57, 197, 187)"); +map.set('whitegray', "rgb(241, 241, 241)"); +map.set('pink', "rgb(237, 112, 155)"); +map.set('black', "rgb(0, 0, 0)"); +map.set('darkblue', "rgb(97, 100, 159)"); +map.set('heoblue', "rgb(66, 90, 239)"); + +class Cursor { + constructor() { + this.pos = { curr: null, prev: null }; + this.pt = []; + this.create(); + this.init(); + this.render(); + } + + move(left, top) { + this.cursor.style["left"] = `${left}px`; + this.cursor.style["top"] = `${top}px`; + } + + create() { + if (!this.cursor) { + this.cursor = document.createElement("div"); + this.cursor.id = "cursor"; + this.cursor.classList.add("hidden"); + document.body.append(this.cursor); + } + var el = document.getElementsByTagName('*'); + for (let i = 0; i < el.length; i++) + if (getStyle2(el[i], "cursor") == "pointer") + this.pt.push(el[i].outerHTML); + var colorVal = map.get(localStorage.getItem("themeColor")); + document.body.appendChild((this.scr = document.createElement("style"))); + this.scr.innerHTML = `* {cursor: url("data:image/svg+xml,") 4 4, auto}`; + } + + refresh() { + this.scr.remove(); + this.cursor.classList.remove("hover"); + this.cursor.classList.remove("active"); + this.pos = { curr: null, prev: null }; + this.pt = []; + + this.create(); + this.init(); + this.render(); + } + + init() { + document.onmouseover = e => this.pt.includes(e.target.outerHTML) && this.cursor.classList.add("hover"); + document.onmouseout = e => this.pt.includes(e.target.outerHTML) && this.cursor.classList.remove("hover"); + document.onmousemove = e => { (this.pos.curr == null) && this.move(e.clientX - 8, e.clientY - 8); this.pos.curr = { x: e.clientX - 8, y: e.clientY - 8 }; this.cursor.classList.remove("hidden"); }; + document.onmouseenter = e => this.cursor.classList.remove("hidden"); + document.onmouseleave = e => this.cursor.classList.add("hidden"); + document.onmousedown = e => this.cursor.classList.add("active"); + document.onmouseup = e => this.cursor.classList.remove("active"); + } + + render() { + if (this.pos.prev) { + // 跟踪速度调节 + this.pos.prev.x = Math.lerp(this.pos.prev.x, this.pos.curr.x, 0.15); + this.pos.prev.y = Math.lerp(this.pos.prev.y, this.pos.curr.y, 0.15); + this.move(this.pos.prev.x, this.pos.prev.y); + } else { + this.pos.prev = this.pos.curr; + } + requestAnimationFrame(() => this.render()); + } +} + +(() => { + CURSOR = new Cursor(); + // 需要重新获取列表时,使用 CURSOR.refresh() +})(); + +/* 听话鼠标 end */ + +//---------------------------------------------------------------- + +/* 新年倒计时 start */ +// let newYearTimer = null; +// var newYear = () => { +// clearTimeout(newYearTimer); +// if (!document.querySelector('#newYear')) return; +// // 新年时间戳 and 星期对象 +// let newYear = new Date('2023-01-22 00:00:00').getTime() / 1000, +// week = { 0: '周日', 1: '周一', 2: '周二', 3: '周三', 4: '周四', 5: '周五', 6: '周六' } + +// time(); + +// // 补零函数 +// function nol(h) { return h > 9 ? h : '0' + h; }; + +// function time() { +// // 现在 时间对象 +// let now = new Date(); + +// // 右下角 今天 +// document.querySelector('#newYear .today').innerHTML = now.getFullYear() + '-' + (now.getMonth() + 1) + '-' + now.getDate() + ' ' + week[now.getDay()] + +// // 现在与新年相差秒数 +// let second = newYear - Math.round(now.getTime() / 1000); + +// // 小于0则表示已经过年 +// if (second < 0) { +// document.querySelector('#newYear .title').innerHTML = 'Happy New Year!'; +// document.querySelector('#newYear .newYear-time').innerHTML = '新年快乐

'; +// } else { +// // 大于0则还未过年 +// document.querySelector('#newYear .title').innerHTML = '距离2025年春节:' + +// // 大于一天则直接渲染天数 +// if (second > 86400) { +// document.querySelector('#newYear .newYear-time').innerHTML = `${Math.ceil(second / 86400)}` +// } else { +// // 小于一天则使用时分秒计时。 +// let h = nol(parseInt(second / 3600)); +// second %= 3600; +// let m = nol(parseInt(second / 60)); +// second %= 60; +// let s = nol(second); +// document.querySelector('#newYear .newYear-time').innerHTML = `${h}:${m}:${s}
`; +// // 计时 +// newYearTimer = setTimeout(time, 1000); +// } +// } +// } + +// // 元宝飘落 +// jQuery(document).ready(function ($) { +// $('#newYear').wpSuperSnow({ +// flakes: ['https://photo.tutuxka.eu.org/yb1.webp', 'https://photo.tutuxka.eu.org/yb2.webp', 'https://photo.tutuxka.eu.org/yb3.webp'], +// totalFlakes: '100', +// zIndex: '999999', +// maxSize: '30', +// maxDuration: '20', +// useFlakeTrans: false +// }); +// }); +// } +// // Pjax适配:若没有开启Pjax这里直接是newYear()即可 +// // 开了Pjax的用以下两句 +// document.addEventListener('pjax:complete', newYear); +// document.addEventListener('DOMContentLoaded', newYear); + +/* 新年倒计时 end */ + +//---------------------------------------------------------------- + +/* 页脚计时器 start */ +var now = new Date(); +function createtime() { + // 当前时间 + now.setTime(now.getTime() + 1000); + var start = new Date("02/09/2022 00:00:00"); // 旅行者1号开始计算的时间 + var dis = Math.trunc(23400000000 + ((now - start) / 1000) * 17); // 距离=秒数*速度 记住转换毫秒 + var unit = (dis / 149600000).toFixed(6); // 天文单位 + // 网站诞生时间 + var grt = new Date("02/09/2022 00:00:00"); + var days = (now - grt) / 1e3 / 60 / 60 / 24, + dnum = Math.floor(days), + hours = (now - grt) / 1e3 / 60 / 60 - 24 * dnum, + hnum = Math.floor(hours); + 1 == String(hnum).length && (hnum = "0" + hnum); + var minutes = (now - grt) / 1e3 / 60 - 1440 * dnum - 60 * hnum, + mnum = Math.floor(minutes); + 1 == String(mnum).length && (mnum = "0" + mnum); + var seconds = (now - grt) / 1e3 - 86400 * dnum - 3600 * hnum - 60 * mnum, + snum = Math.round(seconds); + 1 == String(snum).length && (snum = "0" + snum); + let currentTimeHtml = ""; + (currentTimeHtml = + hnum < 18 && hnum >= 9 + ? `
本站居然运行了 ${dnum} 天 ${hnum} 小时 ${mnum} 分 ${snum} 秒
旅行者 1 号当前距离地球 ${dis} 千米,约为 ${unit} 个天文单位 🚀
` + : `
本站居然运行了 ${dnum} 天 ${hnum} 小时 ${mnum} 分 ${snum} 秒
旅行者 1 号当前距离地球 ${dis} 千米,约为 ${unit} 个天文单位 🚀
`), + document.getElementById("workboard") && + (document.getElementById("workboard").innerHTML = currentTimeHtml); +} +// 设置重复执行函数,周期1000ms +setInterval(() => { + createtime(); +}, 1000); + +/*页脚计时器 end */ + +//---------------------------------------------------------------- + + +/* fps检测 start */ +if (window.localStorage.getItem("fpson") == undefined || window.localStorage.getItem("fpson") == "1") { + var rAF = function () { + return ( + window.requestAnimationFrame || + window.webkitRequestAnimationFrame || + function (callback) { + window.setTimeout(callback, 1000 / 60); + } + ); + }(); + var frame = 0; + var allFrameCount = 0; + var lastTime = Date.now(); + var lastFameTime = Date.now(); + var loop = function () { + var now = Date.now(); + var fs = (now - lastFameTime); + var fps = Math.round(1000 / fs); + + lastFameTime = now; + // 不置 0,在动画的开头及结尾记录此值的差值算出 FPS + allFrameCount++; + frame++; + + if (now > 1000 + lastTime) { + var fps = Math.round((frame * 1000) / (now - lastTime)); + if (fps <= 5) { + var kd = `卡成ppt🤢` + } else if (fps <= 15) { + var kd = `电竞级帧率😖` + } else if (fps <= 25) { + var kd = `有点难受😨` + } else if (fps < 35) { + var kd = `不太流畅🙄` + } else if (fps <= 45) { + var kd = `还不错哦😁` + } else { + var kd = `十分流畅🤣` + } + document.getElementById("fps").innerHTML = `FPS:${fps} ${kd}`; + frame = 0; + lastTime = now; + }; + + rAF(loop); + } + + loop(); +} else { + document.getElementById("fps").style = "display:none!important" +} +/* fps检测 end */ + +//---------------------------------------------------------------- + +/* 美化模块 start */ + +// 更新版本需要每个用户都恢复一次默认设置 +if (localStorage.getItem("reset_4") == undefined) { + localStorage.setItem("reset_4", "1"); + // 清空之前的标记值 + for (var i = 1; i <= 3; i++) { + localStorage.removeItem("reset_" + i); + } + clearItem(); + setTimeout(function () { + new Vue({ + data: function () { + this.$notify({ + title: "提示🍒", + message: " (。・∀・)ノ゙由于网站部分设置项更新,当前已为您重置所有设置,祝您愉快!", + position: 'top-left', + offset: 50, + showClose: true, + type: "success", + duration: 8000 + }); + } + }) + }, 1500); +} + +// 清除localStorage配置项 +function clearItem() { + localStorage.removeItem('blogbg'); + localStorage.removeItem('universe'); + localStorage.removeItem('blur'); + localStorage.removeItem('fpson'); + localStorage.removeItem('transNum'); + localStorage.removeItem('blurRad'); + localStorage.removeItem('font'); + localStorage.removeItem('themeColor'); + localStorage.removeItem('rs'); + localStorage.removeItem('mouse'); + localStorage.removeItem('light'); + localStorage.removeItem('snow'); +} + + +// 设置字体 +if (localStorage.getItem("font") == undefined) { + localStorage.setItem("font", "LXGW"); +} +setFont(localStorage.getItem("font")); +function setFont(n) { + localStorage.setItem("font", n) + if (n == "default") { + document.documentElement.style.setProperty('--global-font', '-apple-system'); + document.body.style.fontFamily = "-apple-system, Consolas_1, BlinkMacSystemFont, 'Segoe UI' , 'Helvetica Neue' , Lato, Roboto, 'PingFang SC' , 'Microsoft JhengHei' , 'Microsoft YaHei' , sans-serif"; + } + else { + document.documentElement.style.setProperty('--global-font', n); + document.body.style.fontFamily = "var(--global-font),-apple-system, IBM Plex Mono ,monosapce,'微软雅黑', sans-serif"; + } + try { setFontBorder(); } catch (err) { }; +} + +// 设置字体选择框边界 +function setFontBorder() { + var curFont = localStorage.getItem("font"); + var swfId = "swf_" + curFont; + document.getElementById(swfId).style.border = "2px solid var(--theme-color)"; + Array.prototype.forEach.call(document.getElementsByClassName("swf"), function (ee) { + if (ee.id != swfId) ee.style.border = "2px solid var(--border-color)"; + }); +} + + +// 设置主题色 +if (localStorage.getItem("themeColor") == undefined) { + localStorage.setItem("themeColor", "green"); +} +setColor(localStorage.getItem("themeColor")); +function setColor(c) { + document.getElementById("themeColor").innerText = `:root{--theme-color:` + map.get(c) + ` !important}`; + localStorage.setItem("themeColor", c); + // 刷新鼠标颜色 + CURSOR.refresh(); + // 设置一个带有透明度的主题色,用于菜单栏的悬浮颜色 + var theme_color = map.get(c); + var trans_theme_color = "rgba" + theme_color.substring(3, theme_color.length - 1) + ", 0.7)"; + var high_trans_color = "rgba" + theme_color.substring(3, theme_color.length - 1) + ", 0.5)"; + document.documentElement.style.setProperty("--text-bg-hover", trans_theme_color); + document.documentElement.style.setProperty("--high-trans-color", high_trans_color); +} + + +// 星空背景开关 +if (localStorage.getItem("universe") == undefined) { + localStorage.setItem("universe", "block"); +} +setUniverse2(localStorage.getItem("universe")); +function setUniverse2(c) { + document.getElementById("universe").style.display = c; + localStorage.setItem("universe", c); +} +function setUniverse() { + if (document.getElementById("universeSet").checked) { + setUniverse2("block"); + } else { + setUniverse2("none"); + } +} + +// 雪花开关 +if (localStorage.getItem("snow") == undefined) { + localStorage.setItem("snow", "none"); +} +document.getElementById("snow").style.display = localStorage.getItem("snow"); +function setSnow() { + if (document.getElementById("snowSet").checked) { + document.getElementById("snow").style.display = "block"; + localStorage.setItem("snow", "block"); + } else { + document.getElementById("snow").style.display = "none"; + localStorage.setItem("snow", "none"); + } +} + + +// 帧率监测开关 +if (localStorage.getItem("fpson") == undefined) { + localStorage.setItem("fpson", "1"); +} +function fpssw() { + if (document.getElementById("fpson").checked) { + localStorage.setItem("fpson", "1"); + } else { + localStorage.setItem("fpson", "0"); + } + setTimeout(reload, 600); +} + +// 刷新窗口 +function reload() { + window.location.reload(); +} + +// 侧边栏开关 +if (localStorage.getItem("rs") == undefined) { + localStorage.setItem("rs", "block"); +} +if (localStorage.getItem("rs") == "block") { + document.getElementById("rightSide").innerText = `:root{--rightside-display: block}`; +} else { + document.getElementById("rightSide").innerText = `:root{--rightside-display: none}`; +} +function toggleRightside() { + // 先设置localStorage变量 + if (document.getElementById("rightSideSet").checked) { + localStorage.setItem("rs", "block"); + document.getElementById("rightSide").innerText = `:root{--rightside-display: block}`; + } else { + localStorage.setItem("rs", "none"); + document.getElementById("rightSide").innerText = `:root{--rightside-display: none}`; + } +} + + +// 透明度调节滑块 +if (localStorage.getItem("transNum") == undefined) { + localStorage.setItem("transNum", 95); +} +var curTransNum = localStorage.getItem("transNum"); +var curTransMini = curTransNum * 0.95; +document.getElementById("transPercent").innerText = `:root{--trans-light: rgba(253, 253, 253, ${curTransNum}%) !important; --trans-dark: rgba(25, 25, 25, ${curTransNum}%) !important} `; +function setTrans() { + var elem = document.getElementById("transSet"); + var newTransNum = elem.value; + var target = document.querySelector('.transValue'); + target.innerHTML = "透明度 (0%-100%): " + newTransNum + "%"; + localStorage.setItem("transNum", newTransNum); + curTransMini = newTransNum * 0.95; + curTransNum = newTransNum; // 更新当前透明度 + document.querySelector('#rang_trans').style.width = curTransMini + "%"; + document.getElementById("transPercent").innerText = `:root{--trans-light: rgba(253, 253, 253, ${newTransNum}%) !important; --trans-dark: rgba(25, 25, 25, ${newTransNum}%) !important} `; +}; + + +// 模糊度调节滑块 +if (localStorage.getItem("blurRad") == undefined) { + localStorage.setItem("blurRad", 20); +} +var curBlur = localStorage.getItem("blurRad"); // 当前模糊半径 +var miniBlur = curBlur * 0.95; +document.getElementById("blurNum").innerText = `:root{--blur-num: blur(${curBlur}px) saturate(120%) !important`; +function setBlurNum() { + var elem = document.getElementById("blurSet"); + var newBlur = elem.value; + var target = document.querySelector('.blurValue'); + target.innerHTML = "模糊半径 (开启模糊生效 0px-100px): " + newBlur + "px"; + localStorage.setItem("blurRad", newBlur); + curBlur = newBlur; + miniBlur = curBlur * 0.95; + // var max = elem.getAttribute("max"); + document.querySelector('#rang_blur').style.width = miniBlur + "%"; + document.getElementById("blurNum").innerText = `:root{--blur-num: blur(${curBlur}px) saturate(120%) !important`; +}; + + +// 模糊效果开关 +if (localStorage.getItem("blur") == undefined) { + localStorage.setItem("blur", 0); +} +if (localStorage.getItem("blur") == 0) { + document.getElementById("settingStyle").innerText = `:root{--backdrop-filter: none}`; +} else { + document.getElementById("settingStyle").innerText = `:root{--backdrop-filter: var(--blur-num)}`; +} +function setBlur() { + if (document.getElementById("blur").checked) { + localStorage.setItem("blur", 1); + document.getElementById("settingStyle").innerText = `:root{--backdrop-filter: var(--blur-num)}`; + } else { + localStorage.setItem("blur", 0); + document.getElementById("settingStyle").innerText = `:root{--backdrop-filter: none}`; + } +} + +// 更换背景(原来Leonus的代码) +// 存数据 +// name:命名 data:数据 +// function saveData(name, data) { +// localStorage.setItem(name, JSON.stringify({ time: Date.now(), data: data })); +// } +// 取数据 +// name:命名 time:过期时长,单位分钟,如传入30,即加载数据时如果超出30分钟返回0,否则返回数据 +// function loadData(name, time) { +// let d = JSON.parse(localStorage.getItem(name)); +// // 过期或有错误返回 0 否则返回数据 +// if (d) { +// let t = Date.now() - d.time; +// if (t < time * 60 * 1000 && t > -1) return d.data; +// } +// return 0; +// } +// 上面两个函数如果你有其他需要存取数据的功能,也可以直接使用 +// 读取背景 +// try { +// let data = loadData("blogbg", 1440); +// if (data) changeBg(data, 1); +// else localStorage.removeItem("blogbg"); +// } catch (error) { +// localStorage.removeItem("blogbg"); +// } +// 切换背景函数 +// 此处的flag是为了每次读取时都重新存储一次,导致过期时间不稳定 +// 如果flag为0则存储,即设置背景. 为1则不存储,即每次加载自动读取背景. +// function changeBg(s, flag) { +// let bg = document.getElementById("web_bg"); +// if (s.charAt(0) == "#") { +// bg.style.backgroundColor = s; +// bg.style.backgroundImage = "none"; +// } else { +// bg.style.backgroundImage = s +// }; +// if (!flag) { +// saveData("blogbg", s); +// } +// } + +// 切换自定义颜色 +var defineColor = localStorage.getItem("blogbg") && localStorage.getItem("blogbg").charAt(0) == '#' ? localStorage.getItem("blogbg") : '#F4D88A'; +function changeBgColor() { + changeBg(document.querySelector("#define_colors").value); +} + +// 必应每日壁纸API +let bingDayBg = screen.width <= 768 ? "url(https://bing.img.run/m.php)" : "url(https://bing.img.run/1920x1080.php)"; +// 必应历史壁纸API +let bingHistoryBg = screen.width <= 768 ? "url(https://bing.img.run/rand_m.php)" : "url(https://bing.img.run/rand.php)"; +// EEE.DOG +let EEEDog = "url(https://api.yimian.xyz/img?type=moe&size=1920x1080)"; +// 随机美图cdn.seovx.com +let seovx = "url(https://cdn.seovx.com/?mom=302)"; +// picsum随机 +let picsum = "url(https://picsum.photos/1920/1080.webp)"; +// 小歪二次元 +// let waiDongman = "url(https://api.ixiaowai.cn/api/api.php)"; +// 小歪高清壁纸 +let waiBizhi = "url(https://api.ixiaowai.cn/gqapi/gqapi.php)"; +// 博天随机 +let btstu = "url(http://api.btstu.cn/sjbz/?lx=suiji)"; +// tuapi 动漫 +// let tuapi = "url(https://tuapi.eees.cc/api.php?category=dongman)"; +// unsplash随机 https://source.unsplash.com/random/1920x1080/daily (weekly) +let unsplash = "url(https://source.unsplash.com/random/1920x1080/)"; + + +// 更换背景(自己的代码) +if (localStorage.getItem("blogbg") != undefined) { + setBg(localStorage.getItem("blogbg")); +} else { + document.getElementById("defineBg").innerText = `:root{ + --default-bg: url(/assets/tutu.jpg); + --darkmode-bg:url(/assets/tutu.jpg); + --mobileday-bg: url(/assets/tutu.jpg); + --mobilenight-bg: url(/assets/tutu.jpg); + }`; +} +// 切换背景主函数 +function changeBg(s) { + // 自定义颜色框 + defineColor = s.charAt(0) == "#" ? s : '#F4D88A'; + setBg(s); + localStorage.setItem("blogbg", s); +} +// 设置背景属性 +function setBg(s) { + document.getElementById("defineBg").innerText = `:root{ + --default-bg: ${s}; + --darkmode-bg: ${s}; + --mobileday-bg: ${s}; + --mobilenight-bg: ${s}; + }`; +} + +// 切换链接对应的背景(加入了链接检验与防抖) +function getPicture() { + debounce(getPicture_, 300); +} + +function getPicture_() { + checkImgExists(document.getElementById("pic-link").value).then(() => { + // 有效的图片链接 + var link = "url(" + document.getElementById("pic-link").value + ")"; + changeBg(link); + // 提示切换成功 + new Vue({ + data: function () { + this.$notify({ + title: "可以啦🍨", + message: "切换自定义背景成功!", + position: 'top-left', + offset: 50, + showClose: true, + type: "success", + duration: 5000 + }); + } + }) + }).catch(() => { + // 无效的图片链接,提示无效 + new Vue({ + data: function () { + this.$notify({ + title: "链接不对🤣", + message: "请输入有效的图片链接!", + position: 'top-left', + offset: 50, + showClose: true, + type: "warning", + duration: 5000 + }); + } + }) + }) +} +// 判断图片链接是否可用 +function checkImgExists(imgurl) { + return new Promise(function (resolve, reject) { + var ImgObj = new Image(); + ImgObj.src = imgurl; + ImgObj.onload = function (res) { + resolve(res); + } + ImgObj.onerror = function (err) { + reject(err); + } + }) +} + +// 黑夜霓虹灯开关 +if (localStorage.getItem("light") == undefined) { + localStorage.setItem("light", "true"); +} +// 这里要适配Pjax +document.addEventListener('pjax:complete', function () { + changeLight(localStorage.getItem("light") == "true" ? true : false) +}); +document.addEventListener('DOMContentLoaded', function () { + changeLight(localStorage.getItem("light") == "true" ? true : false) +}); +function setLight() { + if (document.getElementById("lightSet").checked) { + changeLight(true); + localStorage.setItem("light", "true"); + } else { + changeLight(false); + localStorage.setItem("light", "false"); + } +} +// 更换霓虹灯状态 +function changeLight(flag) { + if (document.getElementById("site-name")) + document.getElementById("site-name").style.animation = flag ? "light_15px 10s linear infinite" : "none"; + if (document.getElementById("site-title")) + document.getElementById("site-title").style.animation = flag ? "light_15px 10s linear infinite" : "none"; + if (document.getElementById("site-subtitle")) + document.getElementById("site-subtitle").style.animation = flag ? "light_10px 10s linear infinite" : "none"; + if (document.getElementById("post-info")) + document.getElementById("post-info").style.animation = flag ? "light_5px 10s linear infinite" : "none"; + document.getElementById("menu_shadow").innerText = flag ? `:root{--menu-shadow: 0 0 1px var(--theme-color);}` : `:root{--menu-shadow: none;}`; +} + + + +// 解决开启Pjax的问题 +// function whenDOMReady() { +// try { +// let data = loadData('blogbg', 1440) +// if (data) changeBg_noWindow(data, 0) +// else localStorage.removeItem('blogbg'); +// } catch (error) { localStorage.removeItem('blogbg'); } +// } +// whenDOMReady() +// document.addEventListener("pjax:success", whenDOMReady) + +// 无弹窗提醒更换背景 +// function changeBg_noWindow(s, flag) { +// let bg = document.getElementById("web_bg"); +// if (s.charAt(0) == "#") { +// bg.style.backgroundColor = s; +// bg.style.backgroundImage = "none"; +// } else bg.style.backgroundImage = s; +// if (!flag) { +// saveData("blogbg", s); +// } +// } + +// 创建窗口 +var winbox = ""; + +function createWinbox() { + let div = document.createElement("div"); + document.body.appendChild(div); + winbox = WinBox({ + id: "meihuaBox", + index: 99, + title: "美化设置", + x: "left", + y: "center", + minwidth: "300px", + height: "60%", + // "#76c8f1" + background: 'var(--theme-color)', + onmaximize: () => { + div.innerHTML = ``; + }, + onrestore: () => { + div.innerHTML = ""; + }, + }); + winResize(); + window.addEventListener("resize", winResize); + + // 每一类我放了一个演示,直接往下复制粘贴 a标签 就可以,需要注意的是 函数里面的链接 冒号前面需要添加反斜杠\进行转义 + winbox.body.innerHTML = ` +
+
+
+

+ +

一、显示偏好

+ +
透明度 (0%-100%): ${curTransNum}%
+
+ +

+
+ +
模糊半径 (开启模糊生效 0px-100px): ${curBlur} px
+
+ +

+
+ + +
+
星空特效 (夜间模式)
+
霓虹灯 (夜间模式)
+
+ +
+
模糊效果 (消耗性能)
+
侧边栏 (默认开)
+
+ +
+
帧率监测 (刷新生效)
+
雪花特效 (白天模式)
+
+ + +

二、字体设置

+

非商免字体未经授权只能个人使用。本站为完全非商业、非盈利性质的网站,平时用于个人学习交流,如有侵权请联系站长删除,谢谢! —— 致版权方

+
+

+筑紫A丸标准体2.0 +汉仪唐美人 +霞鹜文楷 +甜甜圈海报 +优设好身体 +MiSans +系统默认 +

+ +

三、主题色设置

+
+ +

四、背景设置

+
+ +

1. 二次元

+
查看二次元背景 +
+
+
+
+ + +

2. 风景

+ +
查看风景背景 +
+
+
+
+ +

3. 萌宠

+ +
查看萌宠背景 +
+
+
+
+ +

4. 渐变色

+
查看渐变色背景 +
+
+
+
+ + +

5. 纯色

+
查看纯色背景 +
+
+
+
+ + + +

6. 适配手机

+
查看适配手机的背景 +
+
+
+
+ + +

7. 壁纸API

+
查看壁纸API系列背景 +
+
+
+
+ + +

8. 自定义背景

+
设置自定义背景 +
+

+
+
+ +
+
------ ( •̀ ω •́ )y 到底啦 ------
+
+ +
+ +
+ +`; + + // 打开小窗时候初始化 + $("#" + localStorage.getItem("themeColor")).attr("checked", true); + if (localStorage.getItem("blur") == 1) { + document.getElementById("blur").checked = true; + } else { + document.getElementById("blur").checked = false; + } + if (localStorage.getItem("universe") == "block") { + document.getElementById("universeSet").checked = true; + } else if (localStorage.getItem("universe") == "none") { + document.getElementById("universeSet").checked = false; + } + if (localStorage.getItem("fpson") == "1") { + document.getElementById("fpson").checked = true; + } else { + document.getElementById("fpson").checked = false; + } + if (localStorage.getItem("rs") == "block") { + document.getElementById("rightSideSet").checked = true; + } else if (localStorage.getItem("rs") == "none") { + document.getElementById("rightSideSet").checked = false; + } + if (localStorage.getItem("light") == "true") { + document.getElementById("lightSet").checked = true; + } else { + document.getElementById("lightSet").checked = false; + } + setFontBorder(); + if (localStorage.getItem("snow") == "block") { + document.getElementById("snowSet").checked = true; + } else if (localStorage.getItem("snow") == "none") { + document.getElementById("snowSet").checked = false; + } +} + +// 恢复默认背景 +function resetBg() { + localStorage.removeItem('blogbg'); + reload(); +} + +// 恢复默认设置并刷新页面 +function reset() { + clearItem(); + reload(); +} + +// 适应窗口大小 +function winResize() { + try { + var offsetWid = document.documentElement.clientWidth; + if (offsetWid <= 768) { + winbox.resize(offsetWid * 0.95 + "px", "90%").move("center", "center"); + } else { + winbox.resize(offsetWid * 0.6 + "px", "70%").move("center", "center"); + } + } catch (err) { + // console.log("Pjax毒瘤抽风运行winResize方法🙄🙄🙄"); + } +} + +// 切换状态,窗口已创建则控制窗口显示和隐藏,没窗口则创建窗口 +function toggleWinbox() { + if (document.querySelector("#meihuaBox")) { + winbox.toggleClass("hide"); + } else { + createWinbox(); + }; +} + +/* 美化模块 end */ diff --git a/js/kslink.js b/js/kslink.js new file mode 100644 index 00000000..b9926438 --- /dev/null +++ b/js/kslink.js @@ -0,0 +1,38 @@ +var leonus = { + linkCom: e => { + var t = document.querySelector(".el-textarea__inner"); + "bf" == e ? (t.value = "```yml\n", t.value += "- name: \n link: \n avatar: \n descr: \n siteshot: ", t.value += "\n```", t.setSelectionRange(15, 15)) : (t.value = "站点名称:\n站点地址:\n头像链接:\n站点描述:\n站点截图:", t.setSelectionRange(5, 5)), t.focus() + }, + owoBig: () => { + if (!document.getElementById("post-comment") || document.body.clientWidth < 768) return; + let e = 1, + t = "", + o = document.createElement("div"), + n = document.querySelector("body"); + o.id = "owo-big", n.appendChild(o), new MutationObserver((l => { + for (let a = 0; a < l.length; a++) { + let i = l[a].addedNodes, + s = ""; + if (2 == i.length && "OwO-body" == i[1].className) s = i[1]; + else { + if (1 != i.length || "tk-comment" != i[0].className) continue; + s = i[0] + } + s.onmouseover = l => { + e && ("OwO-body" == s.className && "IMG" == l.target.tagName || "tk-owo-emotion" == l.target.className) && (e = 0, t = setTimeout((() => { + let e = 3 * l.path[0].clientHeight, + t = 3 * l.path[0].clientWidth, + a = l.x - l.offsetX - (t - l.path[0].clientWidth) / 2, + i = l.y - l.offsetY; + a + t > n.clientWidth && (a -= a + t - n.clientWidth + 10), a < 0 && (a = 10), o.style.cssText = `display:flex; height:${e}px; width:${t}px; left:${a}px; top:${i}px;`, o.innerHTML = `` + }), 300)) + }, s.onmouseout = () => { + o.style.display = "none", e = 1, clearTimeout(t) + } + } + })).observe(document.getElementById("post-comment"), { + subtree: !0, + childList: !0 + }) + }, +}; \ No newline at end of file diff --git a/js/main.js b/js/main.js new file mode 100644 index 00000000..6cd75e3b --- /dev/null +++ b/js/main.js @@ -0,0 +1,779 @@ +document.addEventListener('DOMContentLoaded', function () { + let blogNameWidth, menusWidth, searchWidth, $nav + let mobileSidebarOpen = false + + const adjustMenu = (init) => { + if (init) { + blogNameWidth = document.getElementById('site-name').offsetWidth + const $menusEle = document.querySelectorAll('#menus .menus_item') + menusWidth = 0 + $menusEle.length && $menusEle.forEach(i => { menusWidth += i.offsetWidth }) + const $searchEle = document.querySelector('#search-button') + searchWidth = $searchEle ? $searchEle.offsetWidth : 0 + $nav = document.getElementById('nav') + } + + let hideMenuIndex = '' + if (window.innerWidth <= 800) hideMenuIndex = true + // 这行会引起缩放异常,删掉 + // else hideMenuIndex = blogNameWidth + menusWidth + searchWidth > $nav.offsetWidth - 120 + + if (hideMenuIndex) { + $nav.classList.add('hide-menu') + } else { + $nav.classList.remove('hide-menu') + } + } + + // 初始化header + const initAdjust = () => { + adjustMenu(true) + $nav.classList.add('show') + } + + // sidebar menus + const sidebarFn = { + open: () => { + btf.sidebarPaddingR() + document.body.style.overflow = 'hidden' + btf.animateIn(document.getElementById('menu-mask'), 'to_show 0.5s') + document.getElementById('sidebar-menus').classList.add('open') + mobileSidebarOpen = true + }, + close: () => { + const $body = document.body + $body.style.overflow = '' + $body.style.paddingRight = '' + btf.animateOut(document.getElementById('menu-mask'), 'to_hide 0.5s') + document.getElementById('sidebar-menus').classList.remove('open') + mobileSidebarOpen = false + } + } + + /** + * 首頁top_img底下的箭頭 + */ + const scrollDownInIndex = () => { + const $scrollDownEle = document.getElementById('scroll-down') + $scrollDownEle && $scrollDownEle.addEventListener('click', function () { + btf.scrollToDest(document.getElementById('content-inner').offsetTop, 300) + }) + } + + /** + * 代碼 + * 只適用於Hexo默認的代碼渲染 + */ + const addHighlightTool = function () { + const highLight = GLOBAL_CONFIG.highlight + if (!highLight) return + + const isHighlightCopy = highLight.highlightCopy + const isHighlightLang = highLight.highlightLang + const isHighlightShrink = GLOBAL_CONFIG_SITE.isHighlightShrink + const highlightHeightLimit = highLight.highlightHeightLimit + const isShowTool = isHighlightCopy || isHighlightLang || isHighlightShrink !== undefined + const $figureHighlight = highLight.plugin === 'highlighjs' ? document.querySelectorAll('figure.highlight') : document.querySelectorAll('pre[class*="language-"]') + + if (!((isShowTool || highlightHeightLimit) && $figureHighlight.length)) return + + const isPrismjs = highLight.plugin === 'prismjs' + + let highlightShrinkEle = '' + let highlightCopyEle = '' + const highlightShrinkClass = isHighlightShrink === true ? 'closed' : '' + + if (isHighlightShrink !== undefined) { + highlightShrinkEle = `` + } + + if (isHighlightCopy) { + highlightCopyEle = '
' + } + + const copy = (text, ctx) => { + if (document.queryCommandSupported && document.queryCommandSupported('copy')) { + document.execCommand('copy') + if (GLOBAL_CONFIG.Snackbar !== undefined) { + // btf.snackbarShow(GLOBAL_CONFIG.copy.success) + } else { + const prevEle = ctx.previousElementSibling + prevEle.innerText = GLOBAL_CONFIG.copy.success + prevEle.style.opacity = 1 + setTimeout(() => { prevEle.style.opacity = 0 }, 700) + } + } else { + if (GLOBAL_CONFIG.Snackbar !== undefined) { + // btf.snackbarShow(GLOBAL_CONFIG.copy.noSupport) + } else { + ctx.previousElementSibling.innerText = GLOBAL_CONFIG.copy.noSupport + } + } + } + + // click events + const highlightCopyFn = (ele) => { + const $buttonParent = ele.parentNode + $buttonParent.classList.add('copy-true') + const selection = window.getSelection() + const range = document.createRange() + if (isPrismjs) range.selectNodeContents($buttonParent.querySelectorAll('pre code')[0]) + else range.selectNodeContents($buttonParent.querySelectorAll('table .code pre')[0]) + selection.removeAllRanges() + selection.addRange(range) + const text = selection.toString() + copy(text, ele.lastChild) + selection.removeAllRanges() + $buttonParent.classList.remove('copy-true') + } + + const highlightShrinkFn = (ele) => { + const $nextEle = [...ele.parentNode.children].slice(1) + ele.firstChild.classList.toggle('closed') + if (btf.isHidden($nextEle[$nextEle.length - 1])) { + $nextEle.forEach(e => { e.style.display = 'block' }) + } else { + $nextEle.forEach(e => { e.style.display = 'none' }) + } + } + + const highlightToolsFn = function (e) { + const $target = e.target.classList + if ($target.contains('expand')) highlightShrinkFn(this) + else if ($target.contains('copy-button')) highlightCopyFn(this) + } + + const expandCode = function () { + this.classList.toggle('expand-done') + } + + function createEle (lang, item, service) { + const fragment = document.createDocumentFragment() + + if (isShowTool) { + const hlTools = document.createElement('div') + hlTools.className = `highlight-tools ${highlightShrinkClass}` + hlTools.innerHTML = highlightShrinkEle + lang + highlightCopyEle + hlTools.addEventListener('click', highlightToolsFn) + fragment.appendChild(hlTools) + } + + if (highlightHeightLimit && item.offsetHeight > highlightHeightLimit + 30) { + const ele = document.createElement('div') + ele.className = 'code-expand-btn' + ele.innerHTML = '' + ele.addEventListener('click', expandCode) + fragment.appendChild(ele) + } + + if (service === 'hl') { + item.insertBefore(fragment, item.firstChild) + } else { + item.parentNode.insertBefore(fragment, item) + } + } + + if (isHighlightLang) { + if (isPrismjs) { + $figureHighlight.forEach(function (item) { + const langName = item.getAttribute('data-language') ? item.getAttribute('data-language') : 'Code' + const highlightLangEle = `
${langName}
` + btf.wrap(item, 'figure', { class: 'highlight' }) + createEle(highlightLangEle, item) + }) + } else { + $figureHighlight.forEach(function (item) { + let langName = item.getAttribute('class').split(' ')[1] + if (langName === 'plain' || langName === undefined) langName = 'Code' + const highlightLangEle = `
${langName}
` + createEle(highlightLangEle, item, 'hl') + }) + } + } else { + if (isPrismjs) { + $figureHighlight.forEach(function (item) { + btf.wrap(item, 'figure', { class: 'highlight' }) + createEle('', item) + }) + } else { + $figureHighlight.forEach(function (item) { + createEle('', item, 'hl') + }) + } + } + } + + /** + * PhotoFigcaption + */ + function addPhotoFigcaption () { + document.querySelectorAll('#article-container img').forEach(function (item) { + const parentEle = item.parentNode + const altValue = item.title || item.alt + if (altValue && !parentEle.parentNode.classList.contains('justified-gallery')) { + const ele = document.createElement('div') + ele.className = 'img-alt is-center' + ele.textContent = altValue + parentEle.insertBefore(ele, item.nextSibling) + } + }) + } + + /** + * Lightbox + */ + const runLightbox = () => { + btf.loadLightbox(document.querySelectorAll('#article-container img:not(.no-lightbox)')) + } + + /** + * justified-gallery 圖庫排版 + */ + const runJustifiedGallery = function (ele) { + ele.forEach(item => { + const $imgList = item.querySelectorAll('img') + + $imgList.forEach(i => { + const dataLazySrc = i.getAttribute('data-lazy-src') + if (dataLazySrc) i.src = dataLazySrc + btf.wrap(i, 'div', { class: 'fj-gallery-item' }) + }) + }) + + if (window.fjGallery) { + setTimeout(() => { btf.initJustifiedGallery(ele) }, 100) + return + } + + const newEle = document.createElement('link') + newEle.rel = 'stylesheet' + newEle.href = GLOBAL_CONFIG.source.justifiedGallery.css + document.body.appendChild(newEle) + getScript(`${GLOBAL_CONFIG.source.justifiedGallery.js}`).then(() => { btf.initJustifiedGallery(ele) }) + } + + /** + * 滾動處理 + */ + const scrollFn = function () { + const $rightside = document.getElementById('rightside') + const innerHeight = window.innerHeight + 56 + + // 當滾動條小于 56 的時候 + if (document.body.scrollHeight <= innerHeight) { + $rightside.style.cssText = 'opacity: 1; transform: translateX(-58px)' + return + } + + // find the scroll direction + function scrollDirection (currentTop) { + const result = currentTop > initTop // true is down & false is up + initTop = currentTop + return result + } + + let initTop = 0 + let isChatShow = true + const $header = document.getElementById('page-header') + const isChatBtnHide = typeof chatBtnHide === 'function' + const isChatBtnShow = typeof chatBtnShow === 'function' + + window.scrollCollect = () => { + return btf.throttle(function (e) { + const currentTop = window.scrollY || document.documentElement.scrollTop + const isDown = scrollDirection(currentTop) + if (currentTop > 56) { + if (isDown) { + if ($header.classList.contains('nav-visible')) $header.classList.remove('nav-visible') + if (isChatBtnShow && isChatShow === true) { + chatBtnHide() + isChatShow = false + } + } else { + if (!$header.classList.contains('nav-visible')) $header.classList.add('nav-visible') + if (isChatBtnHide && isChatShow === false) { + chatBtnShow() + isChatShow = true + } + } + $header.classList.add('nav-fixed') + if (window.getComputedStyle($rightside).getPropertyValue('opacity') === '0') { + $rightside.style.cssText = 'opacity: 0.8; transform: translateX(-58px)' + } + } else { + if (currentTop === 0) { + $header.classList.remove('nav-fixed', 'nav-visible') + } + $rightside.style.cssText = "opacity: ''; transform: ''" + } + + if (document.body.scrollHeight <= innerHeight) { + $rightside.style.cssText = 'opacity: 0.8; transform: translateX(-58px)' + } + }, 200)() + } + + window.addEventListener('scroll', scrollCollect) + } + + /** + * toc,anchor + */ + const scrollFnToDo = function () { + const isToc = GLOBAL_CONFIG_SITE.isToc + const isAnchor = GLOBAL_CONFIG.isAnchor + const $article = document.getElementById('article-container') + + if (!($article && (isToc || isAnchor))) return + + let $tocLink, $cardToc, scrollPercent, autoScrollToc, isExpand + + if (isToc) { + const $cardTocLayout = document.getElementById('card-toc') + $cardToc = $cardTocLayout.getElementsByClassName('toc-content')[0] + $tocLink = $cardToc.querySelectorAll('.toc-link') + const $tocPercentage = $cardTocLayout.querySelector('.toc-percentage') + isExpand = $cardToc.classList.contains('is-expand') + + scrollPercent = currentTop => { + const docHeight = $article.clientHeight + const winHeight = document.documentElement.clientHeight + const headerHeight = $article.offsetTop + const contentMath = (docHeight > winHeight) ? (docHeight - winHeight) : (document.documentElement.scrollHeight - winHeight) + const scrollPercent = (currentTop - headerHeight) / (contentMath) + const scrollPercentRounded = Math.round(scrollPercent * 100) + const percentage = (scrollPercentRounded > 100) ? 100 : (scrollPercentRounded <= 0) ? 0 : scrollPercentRounded + $tocPercentage.textContent = percentage + } + + window.mobileToc = { + open: () => { + $cardTocLayout.style.cssText = 'animation: toc-open .3s; opacity: 1; right: 55px' + }, + + close: () => { + $cardTocLayout.style.animation = 'toc-close .2s' + setTimeout(() => { + $cardTocLayout.style.cssText = "opacity:''; animation: ''; right: ''" + }, 100) + } + } + + // toc元素點擊 + $cardToc.addEventListener('click', e => { + e.preventDefault() + const target = e.target.classList + if (target.contains('toc-content')) return + const $target = target.contains('toc-link') + ? e.target + : e.target.parentElement + btf.scrollToDest(btf.getEleTop(document.getElementById(decodeURI($target.getAttribute('href')).replace('#', ''))), 300) + if (window.innerWidth < 900) { + window.mobileToc.close() + } + }) + + autoScrollToc = item => { + const activePosition = item.getBoundingClientRect().top + const sidebarScrollTop = $cardToc.scrollTop + if (activePosition > (document.documentElement.clientHeight - 100)) { + $cardToc.scrollTop = sidebarScrollTop + 150 + } + if (activePosition < 100) { + $cardToc.scrollTop = sidebarScrollTop - 150 + } + } + } + + // find head position & add active class + const list = $article.querySelectorAll('h1,h2,h3,h4,h5,h6') + let detectItem = '' + const findHeadPosition = function (top) { + if (top === 0) { + return false + } + + let currentId = '' + let currentIndex = '' + + list.forEach(function (ele, index) { + if (top > btf.getEleTop(ele) - 80) { + const id = ele.id + currentId = id ? '#' + encodeURI(id) : '' + currentIndex = index + } + }) + + if (detectItem === currentIndex) return + + if (isAnchor) btf.updateAnchor(currentId) + + detectItem = currentIndex + + if (isToc) { + $cardToc.querySelectorAll('.active').forEach(i => { i.classList.remove('active') }) + + if (currentId === '') { + return + } + + const currentActive = $tocLink[currentIndex] + currentActive.classList.add('active') + + setTimeout(() => { + autoScrollToc(currentActive) + }, 0) + + if (isExpand) return + let parent = currentActive.parentNode + + for (; !parent.matches('.toc'); parent = parent.parentNode) { + if (parent.matches('li')) parent.classList.add('active') + } + } + } + + // main of scroll + window.tocScrollFn = function () { + return btf.throttle(function () { + const currentTop = window.scrollY || document.documentElement.scrollTop + isToc && scrollPercent(currentTop) + findHeadPosition(currentTop) + }, 100)() + } + window.addEventListener('scroll', tocScrollFn) + } + + /** + * Rightside + */ + const rightSideFn = { + switchReadMode: () => { // read-mode + const $body = document.body + $body.classList.add('read-mode') + const newEle = document.createElement('button') + newEle.type = 'button' + newEle.className = 'fas fa-sign-out-alt exit-readmode' + $body.appendChild(newEle) + + function clickFn () { + $body.classList.remove('read-mode') + newEle.remove() + newEle.removeEventListener('click', clickFn) + } + + newEle.addEventListener('click', clickFn) + }, + switchDarkMode: () => { // Switch Between Light And Dark Mode + const nowMode = document.documentElement.getAttribute('data-theme') === 'dark' ? 'dark' : 'light' + if (nowMode === 'light') { + activateDarkMode() + saveToLocal.set('theme', 'dark', 2) + // GLOBAL_CONFIG.Snackbar !== undefined && btf.snackbarShow(GLOBAL_CONFIG.Snackbar.day_to_night) + } else { + activateLightMode() + saveToLocal.set('theme', 'light', 2) + // GLOBAL_CONFIG.Snackbar !== undefined && btf.snackbarShow(GLOBAL_CONFIG.Snackbar.night_to_day) + } + // handle some cases + typeof utterancesTheme === 'function' && utterancesTheme() + typeof changeGiscusTheme === 'function' && changeGiscusTheme() + typeof FB === 'object' && window.loadFBComment() + typeof runMermaid === 'function' && window.runMermaid() + }, + showOrHideBtn: (e) => { // rightside 點擊設置 按鈕 展開 + const rightsideHideClassList = document.getElementById('rightside-config-hide').classList + rightsideHideClassList.toggle('show') + if (e.classList.contains('show')) { + rightsideHideClassList.add('status') + setTimeout(() => { + rightsideHideClassList.remove('status') + }, 300) + } + e.classList.toggle('show') + }, + scrollToTop: () => { // Back to top + btf.scrollToDest(0, 500) + }, + hideAsideBtn: () => { // Hide aside + const $htmlDom = document.documentElement.classList + $htmlDom.contains('hide-aside') + ? saveToLocal.set('aside-status', 'show', 2) + : saveToLocal.set('aside-status', 'hide', 2) + $htmlDom.toggle('hide-aside') + }, + + runMobileToc: () => { + if (window.getComputedStyle(document.getElementById('card-toc')).getPropertyValue('opacity') === '0') window.mobileToc.open() + else window.mobileToc.close() + } + } + + document.getElementById('rightside').addEventListener('click', function (e) { + const $target = e.target.id ? e.target : e.target.parentNode + switch ($target.id) { + case 'go-up': + rightSideFn.scrollToTop() + break + case 'rightside_config': + rightSideFn.showOrHideBtn($target) + break + case 'mobile-toc-button': + rightSideFn.runMobileToc() + break + case 'readmode': + rightSideFn.switchReadMode() + break + case 'darkmode': + rightSideFn.switchDarkMode() + break + case 'hide-aside-btn': + rightSideFn.hideAsideBtn() + break + default: + break + } + }) + + /** + * menu + * 側邊欄sub-menu 展開/收縮 + */ + const clickFnOfSubMenu = () => { + document.querySelectorAll('#sidebar-menus .site-page.group').forEach(function (item) { + item.addEventListener('click', function () { + this.classList.toggle('hide') + }) + }) + } + + /** + * 複製時加上版權信息 + */ + const addCopyright = () => { + const copyright = GLOBAL_CONFIG.copyright + document.body.oncopy = (e) => { + e.preventDefault() + let textFont; const copyFont = window.getSelection(0).toString() + if (copyFont.length > copyright.limitCount) { + textFont = copyFont + '\n' + '\n' + '\n' + + copyright.languages.author + '\n' + + copyright.languages.link + window.location.href + '\n' + + copyright.languages.source + '\n' + + copyright.languages.info + } else { + textFont = copyFont + } + if (e.clipboardData) { + return e.clipboardData.setData('text', textFont) + } else { + return window.clipboardData.setData('text', textFont) + } + } + } + + /** + * 網頁運行時間 + */ + const addRuntime = () => { + const $runtimeCount = document.getElementById('runtimeshow') + if ($runtimeCount) { + const publishDate = $runtimeCount.getAttribute('data-publishDate') + $runtimeCount.innerText = btf.diffDate(publishDate) + ' ' + GLOBAL_CONFIG.runtime + } + } + + /** + * 最後一次更新時間 + */ + const addLastPushDate = () => { + const $lastPushDateItem = document.getElementById('last-push-date') + if ($lastPushDateItem) { + const lastPushDate = $lastPushDateItem.getAttribute('data-lastPushDate') + $lastPushDateItem.innerText = btf.diffDate(lastPushDate, true) + } + } + + /** + * table overflow + */ + const addTableWrap = () => { + const $table = document.querySelectorAll('#article-container :not(.highlight) > table, #article-container > table') + if ($table.length) { + $table.forEach(item => { + btf.wrap(item, 'div', { class: 'table-wrap' }) + }) + } + } + + /** + * tag-hide + */ + const clickFnOfTagHide = function () { + const $hideInline = document.querySelectorAll('#article-container .hide-button') + if ($hideInline.length) { + $hideInline.forEach(function (item) { + item.addEventListener('click', function (e) { + const $this = this + $this.classList.add('open') + const $fjGallery = $this.nextElementSibling.querySelectorAll('.fj-gallery') + $fjGallery.length && btf.initJustifiedGallery($fjGallery) + }) + }) + } + } + + const tabsFn = { + clickFnOfTabs: function () { + document.querySelectorAll('#article-container .tab > button').forEach(function (item) { + item.addEventListener('click', function (e) { + const $this = this + const $tabItem = $this.parentNode + + if (!$tabItem.classList.contains('active')) { + const $tabContent = $tabItem.parentNode.nextElementSibling + const $siblings = btf.siblings($tabItem, '.active')[0] + $siblings && $siblings.classList.remove('active') + $tabItem.classList.add('active') + const tabId = $this.getAttribute('data-href').replace('#', '') + const childList = [...$tabContent.children] + childList.forEach(item => { + if (item.id === tabId) item.classList.add('active') + else item.classList.remove('active') + }) + const $isTabJustifiedGallery = $tabContent.querySelectorAll(`#${tabId} .fj-gallery`) + if ($isTabJustifiedGallery.length > 0) { + btf.initJustifiedGallery($isTabJustifiedGallery) + } + } + }) + }) + }, + backToTop: () => { + document.querySelectorAll('#article-container .tabs .tab-to-top').forEach(function (item) { + item.addEventListener('click', function () { + btf.scrollToDest(btf.getEleTop(btf.getParents(this, '.tabs')), 300) + }) + }) + } + } + + const toggleCardCategory = function () { + const $cardCategory = document.querySelectorAll('#aside-cat-list .card-category-list-item.parent i') + if ($cardCategory.length) { + $cardCategory.forEach(function (item) { + item.addEventListener('click', function (e) { + e.preventDefault() + const $this = this + $this.classList.toggle('expand') + const $parentEle = $this.parentNode.nextElementSibling + if (btf.isHidden($parentEle)) { + $parentEle.style.display = 'block' + } else { + $parentEle.style.display = 'none' + } + }) + }) + } + } + + const switchComments = function () { + let switchDone = false + const $switchBtn = document.querySelector('#comment-switch > .switch-btn') + $switchBtn && $switchBtn.addEventListener('click', function () { + this.classList.toggle('move') + document.querySelectorAll('#post-comment > .comment-wrap > div').forEach(function (item) { + if (btf.isHidden(item)) { + item.style.cssText = 'display: block;animation: tabshow .5s' + } else { + item.style.cssText = "display: none;animation: ''" + } + }) + + if (!switchDone && typeof loadOtherComment === 'function') { + switchDone = true + loadOtherComment() + } + }) + } + + const addPostOutdateNotice = function () { + const data = GLOBAL_CONFIG.noticeOutdate + const diffDay = btf.diffDate(GLOBAL_CONFIG_SITE.postUpdate) + if (diffDay >= data.limitDay) { + const ele = document.createElement('div') + ele.className = 'post-outdate-notice' + ele.textContent = data.messagePrev + ' ' + diffDay + ' ' + data.messageNext + const $targetEle = document.getElementById('article-container') + if (data.position === 'top') { + $targetEle.insertBefore(ele, $targetEle.firstChild) + } else { + $targetEle.appendChild(ele) + } + } + } + + const lazyloadImg = () => { + window.lazyLoadInstance = new LazyLoad({ + elements_selector: 'img', + threshold: 0, + data_src: 'lazy-src' + }) + } + + const relativeDate = function (selector) { + selector.forEach(item => { + const $this = item + const timeVal = $this.getAttribute('datetime') + $this.innerText = btf.diffDate(timeVal, true) + $this.style.display = 'inline' + }) + } + + const unRefreshFn = function () { + window.addEventListener('resize', () => { + adjustMenu(false) + btf.isHidden(document.getElementById('toggle-menu')) && mobileSidebarOpen && sidebarFn.close() + }) + + document.getElementById('menu-mask').addEventListener('click', e => { sidebarFn.close() }) + + clickFnOfSubMenu() + GLOBAL_CONFIG.islazyload && lazyloadImg() + GLOBAL_CONFIG.copyright !== undefined && addCopyright() + } + + window.refreshFn = function () { + initAdjust() + + if (GLOBAL_CONFIG_SITE.isPost) { + GLOBAL_CONFIG.noticeOutdate !== undefined && addPostOutdateNotice() + GLOBAL_CONFIG.relativeDate.post && relativeDate(document.querySelectorAll('#post-meta time')) + } else { + GLOBAL_CONFIG.relativeDate.homepage && relativeDate(document.querySelectorAll('#recent-posts time')) + GLOBAL_CONFIG.runtime && addRuntime() + addLastPushDate() + toggleCardCategory() + } + + scrollFnToDo() + GLOBAL_CONFIG_SITE.isHome && scrollDownInIndex() + addHighlightTool() + GLOBAL_CONFIG.isPhotoFigcaption && addPhotoFigcaption() + scrollFn() + + const $jgEle = document.querySelectorAll('#article-container .fj-gallery') + $jgEle.length && runJustifiedGallery($jgEle) + + runLightbox() + addTableWrap() + clickFnOfTagHide() + tabsFn.clickFnOfTabs() + tabsFn.backToTop() + switchComments() + document.getElementById('toggle-menu').addEventListener('click', () => { sidebarFn.open() }) + } + + refreshFn() + unRefreshFn() +}) diff --git a/js/qexo-dao.min.js b/js/qexo-dao.min.js new file mode 100644 index 00000000..2cc627c0 --- /dev/null +++ b/js/qexo-dao.min.js @@ -0,0 +1,2 @@ +/*! For license information please see qexo-dao.min.js.LICENSE.txt */ +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.qexoDaodao=t():e.qexoDaodao=t()}(self,(function(){return function(){var e={2557:function(e,t,n){"use strict";e.exports=n(9302)},6965:function(e,t,n){"use strict";var r=n(1966),o=n(5889),a=n(1763),i=n(5565),u=n(4852),s=n(6892),c=n(8830),l=n(8124);e.exports=function(e){return new Promise((function(t,n){var f=e.data,d=e.headers,p=e.responseType;r.isFormData(f)&&delete d["Content-Type"];var v=new XMLHttpRequest;if(e.auth){var y=e.auth.username||"",h=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";d.Authorization="Basic "+btoa(y+":"+h)}var m=u(e.baseURL,e.url);function b(){if(v){var r="getAllResponseHeaders"in v?s(v.getAllResponseHeaders()):null,a={data:p&&"text"!==p&&"json"!==p?v.response:v.responseText,status:v.status,statusText:v.statusText,headers:r,config:e,request:v};o(t,n,a),v=null}}if(v.open(e.method.toUpperCase(),i(m,e.params,e.paramsSerializer),!0),v.timeout=e.timeout,"onloadend"in v?v.onloadend=b:v.onreadystatechange=function(){v&&4===v.readyState&&(0!==v.status||v.responseURL&&0===v.responseURL.indexOf("file:"))&&setTimeout(b)},v.onabort=function(){v&&(n(l("Request aborted",e,"ECONNABORTED",v)),v=null)},v.onerror=function(){n(l("Network Error",e,null,v)),v=null},v.ontimeout=function(){var t="timeout of "+e.timeout+"ms exceeded";e.timeoutErrorMessage&&(t=e.timeoutErrorMessage),n(l(t,e,e.transitional&&e.transitional.clarifyTimeoutError?"ETIMEDOUT":"ECONNABORTED",v)),v=null},r.isStandardBrowserEnv()){var g=(e.withCredentials||c(m))&&e.xsrfCookieName?a.read(e.xsrfCookieName):void 0;g&&(d[e.xsrfHeaderName]=g)}"setRequestHeader"in v&&r.forEach(d,(function(e,t){void 0===f&&"content-type"===t.toLowerCase()?delete d[t]:v.setRequestHeader(t,e)})),r.isUndefined(e.withCredentials)||(v.withCredentials=!!e.withCredentials),p&&"json"!==p&&(v.responseType=e.responseType),"function"==typeof e.onDownloadProgress&&v.addEventListener("progress",e.onDownloadProgress),"function"==typeof e.onUploadProgress&&v.upload&&v.upload.addEventListener("progress",e.onUploadProgress),e.cancelToken&&e.cancelToken.promise.then((function(e){v&&(v.abort(),n(e),v=null)})),f||(f=null),v.send(f)}))}},9302:function(e,t,n){"use strict";var r=n(1966),o=n(7509),a=n(9401),i=n(2636);function u(e){var t=new a(e),n=o(a.prototype.request,t);return r.extend(n,a.prototype,t),r.extend(n,t),n}var s=u(n(6338));s.Axios=a,s.create=function(e){return u(i(s.defaults,e))},s.Cancel=n(9387),s.CancelToken=n(8745),s.isCancel=n(4227),s.all=function(e){return Promise.all(e)},s.spread=n(262),s.isAxiosError=n(8668),e.exports=s,e.exports.default=s},9387:function(e){"use strict";function t(e){this.message=e}t.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},t.prototype.__CANCEL__=!0,e.exports=t},8745:function(e,t,n){"use strict";var r=n(9387);function o(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");var t;this.promise=new Promise((function(e){t=e}));var n=this;e((function(e){n.reason||(n.reason=new r(e),t(n.reason))}))}o.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},o.source=function(){var e;return{token:new o((function(t){e=t})),cancel:e}},e.exports=o},4227:function(e){"use strict";e.exports=function(e){return!(!e||!e.__CANCEL__)}},9401:function(e,t,n){"use strict";var r=n(1966),o=n(5565),a=n(801),i=n(9440),u=n(2636),s=n(199),c=s.validators;function l(e){this.defaults=e,this.interceptors={request:new a,response:new a}}l.prototype.request=function(e){"string"==typeof e?(e=arguments[1]||{}).url=arguments[0]:e=e||{},(e=u(this.defaults,e)).method?e.method=e.method.toLowerCase():this.defaults.method?e.method=this.defaults.method.toLowerCase():e.method="get";var t=e.transitional;void 0!==t&&s.assertOptions(t,{silentJSONParsing:c.transitional(c.boolean,"1.0.0"),forcedJSONParsing:c.transitional(c.boolean,"1.0.0"),clarifyTimeoutError:c.transitional(c.boolean,"1.0.0")},!1);var n=[],r=!0;this.interceptors.request.forEach((function(t){"function"==typeof t.runWhen&&!1===t.runWhen(e)||(r=r&&t.synchronous,n.unshift(t.fulfilled,t.rejected))}));var o,a=[];if(this.interceptors.response.forEach((function(e){a.push(e.fulfilled,e.rejected)})),!r){var l=[i,void 0];for(Array.prototype.unshift.apply(l,n),l=l.concat(a),o=Promise.resolve(e);l.length;)o=o.then(l.shift(),l.shift());return o}for(var f=e;n.length;){var d=n.shift(),p=n.shift();try{f=d(f)}catch(e){p(e);break}}try{o=i(f)}catch(e){return Promise.reject(e)}for(;a.length;)o=o.then(a.shift(),a.shift());return o},l.prototype.getUri=function(e){return e=u(this.defaults,e),o(e.url,e.params,e.paramsSerializer).replace(/^\?/,"")},r.forEach(["delete","get","head","options"],(function(e){l.prototype[e]=function(t,n){return this.request(u(n||{},{method:e,url:t,data:(n||{}).data}))}})),r.forEach(["post","put","patch"],(function(e){l.prototype[e]=function(t,n,r){return this.request(u(r||{},{method:e,url:t,data:n}))}})),e.exports=l},801:function(e,t,n){"use strict";var r=n(1966);function o(){this.handlers=[]}o.prototype.use=function(e,t,n){return this.handlers.push({fulfilled:e,rejected:t,synchronous:!!n&&n.synchronous,runWhen:n?n.runWhen:null}),this.handlers.length-1},o.prototype.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},o.prototype.forEach=function(e){r.forEach(this.handlers,(function(t){null!==t&&e(t)}))},e.exports=o},4852:function(e,t,n){"use strict";var r=n(4622),o=n(8825);e.exports=function(e,t){return e&&!r(t)?o(e,t):t}},8124:function(e,t,n){"use strict";var r=n(9984);e.exports=function(e,t,n,o,a){var i=new Error(e);return r(i,t,n,o,a)}},9440:function(e,t,n){"use strict";var r=n(1966),o=n(3926),a=n(4227),i=n(6338);function u(e){e.cancelToken&&e.cancelToken.throwIfRequested()}e.exports=function(e){return u(e),e.headers=e.headers||{},e.data=o.call(e,e.data,e.headers,e.transformRequest),e.headers=r.merge(e.headers.common||{},e.headers[e.method]||{},e.headers),r.forEach(["delete","get","head","post","put","patch","common"],(function(t){delete e.headers[t]})),(e.adapter||i.adapter)(e).then((function(t){return u(e),t.data=o.call(e,t.data,t.headers,e.transformResponse),t}),(function(t){return a(t)||(u(e),t&&t.response&&(t.response.data=o.call(e,t.response.data,t.response.headers,e.transformResponse))),Promise.reject(t)}))}},9984:function(e){"use strict";e.exports=function(e,t,n,r,o){return e.config=t,n&&(e.code=n),e.request=r,e.response=o,e.isAxiosError=!0,e.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code}},e}},2636:function(e,t,n){"use strict";var r=n(1966);e.exports=function(e,t){t=t||{};var n={},o=["url","method","data"],a=["headers","auth","proxy","params"],i=["baseURL","transformRequest","transformResponse","paramsSerializer","timeout","timeoutMessage","withCredentials","adapter","responseType","xsrfCookieName","xsrfHeaderName","onUploadProgress","onDownloadProgress","decompress","maxContentLength","maxBodyLength","maxRedirects","transport","httpAgent","httpsAgent","cancelToken","socketPath","responseEncoding"],u=["validateStatus"];function s(e,t){return r.isPlainObject(e)&&r.isPlainObject(t)?r.merge(e,t):r.isPlainObject(t)?r.merge({},t):r.isArray(t)?t.slice():t}function c(o){r.isUndefined(t[o])?r.isUndefined(e[o])||(n[o]=s(void 0,e[o])):n[o]=s(e[o],t[o])}r.forEach(o,(function(e){r.isUndefined(t[e])||(n[e]=s(void 0,t[e]))})),r.forEach(a,c),r.forEach(i,(function(o){r.isUndefined(t[o])?r.isUndefined(e[o])||(n[o]=s(void 0,e[o])):n[o]=s(void 0,t[o])})),r.forEach(u,(function(r){r in t?n[r]=s(e[r],t[r]):r in e&&(n[r]=s(void 0,e[r]))}));var l=o.concat(a).concat(i).concat(u),f=Object.keys(e).concat(Object.keys(t)).filter((function(e){return-1===l.indexOf(e)}));return r.forEach(f,c),n}},5889:function(e,t,n){"use strict";var r=n(8124);e.exports=function(e,t,n){var o=n.config.validateStatus;n.status&&o&&!o(n.status)?t(r("Request failed with status code "+n.status,n.config,null,n.request,n)):e(n)}},3926:function(e,t,n){"use strict";var r=n(1966),o=n(6338);e.exports=function(e,t,n){var a=this||o;return r.forEach(n,(function(n){e=n.call(a,e,t)})),e}},6338:function(e,t,n){"use strict";var r=n(1966),o=n(9419),a=n(9984),i={"Content-Type":"application/x-www-form-urlencoded"};function u(e,t){!r.isUndefined(e)&&r.isUndefined(e["Content-Type"])&&(e["Content-Type"]=t)}var s,c={transitional:{silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},adapter:(("undefined"!=typeof XMLHttpRequest||"undefined"!=typeof process&&"[object process]"===Object.prototype.toString.call(process))&&(s=n(6965)),s),transformRequest:[function(e,t){return o(t,"Accept"),o(t,"Content-Type"),r.isFormData(e)||r.isArrayBuffer(e)||r.isBuffer(e)||r.isStream(e)||r.isFile(e)||r.isBlob(e)?e:r.isArrayBufferView(e)?e.buffer:r.isURLSearchParams(e)?(u(t,"application/x-www-form-urlencoded;charset=utf-8"),e.toString()):r.isObject(e)||t&&"application/json"===t["Content-Type"]?(u(t,"application/json"),function(e,t,n){if(r.isString(e))try{return(0,JSON.parse)(e),r.trim(e)}catch(e){if("SyntaxError"!==e.name)throw e}return(0,JSON.stringify)(e)}(e)):e}],transformResponse:[function(e){var t=this.transitional,n=t&&t.silentJSONParsing,o=t&&t.forcedJSONParsing,i=!n&&"json"===this.responseType;if(i||o&&r.isString(e)&&e.length)try{return JSON.parse(e)}catch(e){if(i){if("SyntaxError"===e.name)throw a(e,this,"E_JSON_PARSE");throw e}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};r.forEach(["delete","get","head"],(function(e){c.headers[e]={}})),r.forEach(["post","put","patch"],(function(e){c.headers[e]=r.merge(i)})),e.exports=c},7509:function(e){"use strict";e.exports=function(e,t){return function(){for(var n=new Array(arguments.length),r=0;r=0)return;i[t]="set-cookie"===t?(i[t]?i[t]:[]).concat([n]):i[t]?i[t]+", "+n:n}})),i):i}},262:function(e){"use strict";e.exports=function(e){return function(t){return e.apply(null,t)}}},199:function(e,t,n){"use strict";var r=n(3330)(n(9767)),o=n(8593),a={};["object","boolean","number","function","string","symbol"].forEach((function(e,t){a[e]=function(n){return(0,r.default)(n)===e||"a"+(t<1?"n ":" ")+e}}));var i={},u=o.version.split(".");function s(e,t){for(var n=t?t.split("."):u,r=e.split("."),o=0;o<3;o++){if(n[o]>r[o])return!0;if(n[o]0;){var i=o[a],u=t[i];if(u){var s=e[i],c=void 0===s||u(s,i,e);if(!0!==c)throw new TypeError("option "+i+" must be "+c)}else if(!0!==n)throw Error("Unknown option "+i)}},validators:a}},1966:function(e,t,n){"use strict";var r=n(3330)(n(9767)),o=n(7509),a=Object.prototype.toString;function i(e){return"[object Array]"===a.call(e)}function u(e){return void 0===e}function s(e){return null!==e&&"object"===(0,r.default)(e)}function c(e){if("[object Object]"!==a.call(e))return!1;var t=Object.getPrototypeOf(e);return null===t||t===Object.prototype}function l(e){return"[object Function]"===a.call(e)}function f(e,t){if(null!=e)if("object"!==(0,r.default)(e)&&(e=[e]),i(e))for(var n=0,o=e.length;n0?"-":"+",r=Math.abs(e),o=Math.floor(r/60),a=r%60;if(0===a)return n+String(o);var i=t||"";return n+String(o)+i+(0,c.default)(a,2)}function d(e,t){return e%60==0?(e>0?"-":"+")+(0,c.default)(Math.abs(e)/60,2):p(e,t)}function p(e,t){var n=t||"",r=e>0?"-":"+",o=Math.abs(e);return r+(0,c.default)(Math.floor(o/60),2)+n+(0,c.default)(o%60,2)}var v={G:function(e,t,n){var r=e.getUTCFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return n.era(r,{width:"abbreviated"});case"GGGGG":return n.era(r,{width:"narrow"});default:return n.era(r,{width:"wide"})}},y:function(e,t,n){if("yo"===t){var r=e.getUTCFullYear(),o=r>0?r:1-r;return n.ordinalNumber(o,{unit:"year"})}return l.default.y(e,t)},Y:function(e,t,n,r){var o=(0,s.default)(e,r),a=o>0?o:1-o;if("YY"===t){var i=a%100;return(0,c.default)(i,2)}return"Yo"===t?n.ordinalNumber(a,{unit:"year"}):(0,c.default)(a,t.length)},R:function(e,t){var n=(0,i.default)(e);return(0,c.default)(n,t.length)},u:function(e,t){var n=e.getUTCFullYear();return(0,c.default)(n,t.length)},Q:function(e,t,n){var r=Math.ceil((e.getUTCMonth()+1)/3);switch(t){case"Q":return String(r);case"QQ":return(0,c.default)(r,2);case"Qo":return n.ordinalNumber(r,{unit:"quarter"});case"QQQ":return n.quarter(r,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(r,{width:"narrow",context:"formatting"});default:return n.quarter(r,{width:"wide",context:"formatting"})}},q:function(e,t,n){var r=Math.ceil((e.getUTCMonth()+1)/3);switch(t){case"q":return String(r);case"qq":return(0,c.default)(r,2);case"qo":return n.ordinalNumber(r,{unit:"quarter"});case"qqq":return n.quarter(r,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(r,{width:"narrow",context:"standalone"});default:return n.quarter(r,{width:"wide",context:"standalone"})}},M:function(e,t,n){var r=e.getUTCMonth();switch(t){case"M":case"MM":return l.default.M(e,t);case"Mo":return n.ordinalNumber(r+1,{unit:"month"});case"MMM":return n.month(r,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(r,{width:"narrow",context:"formatting"});default:return n.month(r,{width:"wide",context:"formatting"})}},L:function(e,t,n){var r=e.getUTCMonth();switch(t){case"L":return String(r+1);case"LL":return(0,c.default)(r+1,2);case"Lo":return n.ordinalNumber(r+1,{unit:"month"});case"LLL":return n.month(r,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(r,{width:"narrow",context:"standalone"});default:return n.month(r,{width:"wide",context:"standalone"})}},w:function(e,t,n,r){var o=(0,u.default)(e,r);return"wo"===t?n.ordinalNumber(o,{unit:"week"}):(0,c.default)(o,t.length)},I:function(e,t,n){var r=(0,a.default)(e);return"Io"===t?n.ordinalNumber(r,{unit:"week"}):(0,c.default)(r,t.length)},d:function(e,t,n){return"do"===t?n.ordinalNumber(e.getUTCDate(),{unit:"date"}):l.default.d(e,t)},D:function(e,t,n){var r=(0,o.default)(e);return"Do"===t?n.ordinalNumber(r,{unit:"dayOfYear"}):(0,c.default)(r,t.length)},E:function(e,t,n){var r=e.getUTCDay();switch(t){case"E":case"EE":case"EEE":return n.day(r,{width:"abbreviated",context:"formatting"});case"EEEEE":return n.day(r,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(r,{width:"short",context:"formatting"});default:return n.day(r,{width:"wide",context:"formatting"})}},e:function(e,t,n,r){var o=e.getUTCDay(),a=(o-r.weekStartsOn+8)%7||7;switch(t){case"e":return String(a);case"ee":return(0,c.default)(a,2);case"eo":return n.ordinalNumber(a,{unit:"day"});case"eee":return n.day(o,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(o,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(o,{width:"short",context:"formatting"});default:return n.day(o,{width:"wide",context:"formatting"})}},c:function(e,t,n,r){var o=e.getUTCDay(),a=(o-r.weekStartsOn+8)%7||7;switch(t){case"c":return String(a);case"cc":return(0,c.default)(a,t.length);case"co":return n.ordinalNumber(a,{unit:"day"});case"ccc":return n.day(o,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(o,{width:"narrow",context:"standalone"});case"cccccc":return n.day(o,{width:"short",context:"standalone"});default:return n.day(o,{width:"wide",context:"standalone"})}},i:function(e,t,n){var r=e.getUTCDay(),o=0===r?7:r;switch(t){case"i":return String(o);case"ii":return(0,c.default)(o,t.length);case"io":return n.ordinalNumber(o,{unit:"day"});case"iii":return n.day(r,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(r,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(r,{width:"short",context:"formatting"});default:return n.day(r,{width:"wide",context:"formatting"})}},a:function(e,t,n){var r=e.getUTCHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(r,{width:"narrow",context:"formatting"});default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},b:function(e,t,n){var r,o=e.getUTCHours();switch(r=12===o?"noon":0===o?"midnight":o/12>=1?"pm":"am",t){case"b":case"bb":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(r,{width:"narrow",context:"formatting"});default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},B:function(e,t,n){var r,o=e.getUTCHours();switch(r=o>=17?"evening":o>=12?"afternoon":o>=4?"morning":"night",t){case"B":case"BB":case"BBB":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(r,{width:"narrow",context:"formatting"});default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},h:function(e,t,n){if("ho"===t){var r=e.getUTCHours()%12;return 0===r&&(r=12),n.ordinalNumber(r,{unit:"hour"})}return l.default.h(e,t)},H:function(e,t,n){return"Ho"===t?n.ordinalNumber(e.getUTCHours(),{unit:"hour"}):l.default.H(e,t)},K:function(e,t,n){var r=e.getUTCHours()%12;return"Ko"===t?n.ordinalNumber(r,{unit:"hour"}):(0,c.default)(r,t.length)},k:function(e,t,n){var r=e.getUTCHours();return 0===r&&(r=24),"ko"===t?n.ordinalNumber(r,{unit:"hour"}):(0,c.default)(r,t.length)},m:function(e,t,n){return"mo"===t?n.ordinalNumber(e.getUTCMinutes(),{unit:"minute"}):l.default.m(e,t)},s:function(e,t,n){return"so"===t?n.ordinalNumber(e.getUTCSeconds(),{unit:"second"}):l.default.s(e,t)},S:function(e,t){return l.default.S(e,t)},X:function(e,t,n,r){var o=(r._originalDate||e).getTimezoneOffset();if(0===o)return"Z";switch(t){case"X":return d(o);case"XXXX":case"XX":return p(o);default:return p(o,":")}},x:function(e,t,n,r){var o=(r._originalDate||e).getTimezoneOffset();switch(t){case"x":return d(o);case"xxxx":case"xx":return p(o);default:return p(o,":")}},O:function(e,t,n,r){var o=(r._originalDate||e).getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+f(o,":");default:return"GMT"+p(o,":")}},z:function(e,t,n,r){var o=(r._originalDate||e).getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+f(o,":");default:return"GMT"+p(o,":")}},t:function(e,t,n,r){var o=r._originalDate||e,a=Math.floor(o.getTime()/1e3);return(0,c.default)(a,t.length)},T:function(e,t,n,r){var o=(r._originalDate||e).getTime();return(0,c.default)(o,t.length)}};t.default=v},2851:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=r(n(5115)),a={y:function(e,t){var n=e.getUTCFullYear(),r=n>0?n:1-n;return(0,o.default)("yy"===t?r%100:r,t.length)},M:function(e,t){var n=e.getUTCMonth();return"M"===t?String(n+1):(0,o.default)(n+1,2)},d:function(e,t){return(0,o.default)(e.getUTCDate(),t.length)},a:function(e,t){var n=e.getUTCHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.toUpperCase();case"aaa":return n;case"aaaaa":return n[0];default:return"am"===n?"a.m.":"p.m."}},h:function(e,t){return(0,o.default)(e.getUTCHours()%12||12,t.length)},H:function(e,t){return(0,o.default)(e.getUTCHours(),t.length)},m:function(e,t){return(0,o.default)(e.getUTCMinutes(),t.length)},s:function(e,t){return(0,o.default)(e.getUTCSeconds(),t.length)},S:function(e,t){var n=t.length,r=e.getUTCMilliseconds(),a=Math.floor(r*Math.pow(10,n-3));return(0,o.default)(a,t.length)}};t.default=a},1696:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=function(e,t){switch(e){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});default:return t.date({width:"full"})}},r=function(e,t){switch(e){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});default:return t.time({width:"full"})}},o={p:r,P:function(e,t){var o,a=e.match(/(P+)(p+)?/)||[],i=a[1],u=a[2];if(!u)return n(e,t);switch(i){case"P":o=t.dateTime({width:"short"});break;case"PP":o=t.dateTime({width:"medium"});break;case"PPP":o=t.dateTime({width:"long"});break;default:o=t.dateTime({width:"full"})}return o.replace("1724147598038",n(i,t)).replace("",r(u,t))}};t.default=o},7955:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()));return t.setUTCFullYear(e.getFullYear()),e.getTime()-t.getTime()}},3570:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){(0,a.default)(1,arguments);var t=(0,o.default)(e),n=t.getTime();t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0);var r=t.getTime(),u=n-r;return Math.floor(u/i)+1};var o=r(n(2368)),a=r(n(9652)),i=864e5},7378:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){(0,a.default)(1,arguments);var t=(0,o.default)(e),n=t.getUTCFullYear(),r=new Date(0);r.setUTCFullYear(n+1,0,4),r.setUTCHours(0,0,0,0);var u=(0,i.default)(r),s=new Date(0);s.setUTCFullYear(n,0,4),s.setUTCHours(0,0,0,0);var c=(0,i.default)(s);return t.getTime()>=u.getTime()?n+1:t.getTime()>=c.getTime()?n:n-1};var o=r(n(2368)),a=r(n(9652)),i=r(n(7295))},8949:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){(0,u.default)(1,arguments);var t=(0,o.default)(e),n=(0,a.default)(t).getTime()-(0,i.default)(t).getTime();return Math.round(n/s)+1};var o=r(n(2368)),a=r(n(7295)),i=r(n(7435)),u=r(n(9652)),s=6048e5},5970:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var n,r,c,l,f,d,p,v;(0,a.default)(1,arguments);var y=(0,o.default)(e),h=y.getUTCFullYear(),m=(0,s.getDefaultOptions)(),b=(0,u.default)(null!==(n=null!==(r=null!==(c=null!==(l=null==t?void 0:t.firstWeekContainsDate)&&void 0!==l?l:null==t||null===(f=t.locale)||void 0===f||null===(d=f.options)||void 0===d?void 0:d.firstWeekContainsDate)&&void 0!==c?c:m.firstWeekContainsDate)&&void 0!==r?r:null===(p=m.locale)||void 0===p||null===(v=p.options)||void 0===v?void 0:v.firstWeekContainsDate)&&void 0!==n?n:1);if(!(b>=1&&b<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var g=new Date(0);g.setUTCFullYear(h+1,0,b),g.setUTCHours(0,0,0,0);var _=(0,i.default)(g,t),w=new Date(0);w.setUTCFullYear(h,0,b),w.setUTCHours(0,0,0,0);var O=(0,i.default)(w,t);return y.getTime()>=_.getTime()?h+1:y.getTime()>=O.getTime()?h:h-1};var o=r(n(2368)),a=r(n(9652)),i=r(n(9087)),u=r(n(2449)),s=n(7014)},838:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){(0,u.default)(1,arguments);var n=(0,o.default)(e),r=(0,a.default)(n,t).getTime()-(0,i.default)(n,t).getTime();return Math.round(r/s)+1};var o=r(n(2368)),a=r(n(9087)),i=r(n(6828)),u=r(n(9652)),s=6048e5},8343:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isProtectedDayOfYearToken=function(e){return-1!==n.indexOf(e)},t.isProtectedWeekYearToken=function(e){return-1!==r.indexOf(e)},t.throwProtectedError=function(e,t,n){if("YYYY"===e)throw new RangeError("Use `yyyy` instead of `YYYY` (in `".concat(t,"`) for formatting years to the input `").concat(n,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"));if("YY"===e)throw new RangeError("Use `yy` instead of `YY` (in `".concat(t,"`) for formatting years to the input `").concat(n,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"));if("D"===e)throw new RangeError("Use `d` instead of `D` (in `".concat(t,"`) for formatting days of the month to the input `").concat(n,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"));if("DD"===e)throw new RangeError("Use `dd` instead of `DD` (in `".concat(t,"`) for formatting days of the month to the input `").concat(n,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"))};var n=["D","DD"],r=["YY","YYYY"]},9652:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if(t.length1?"s":"")+" required, but only "+t.length+" present")}},3671:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getRoundingMethod=function(e){return e?n[e]:n.trunc};var n={ceil:Math.ceil,round:Math.round,floor:Math.floor,trunc:function(e){return e<0?Math.ceil(e):Math.floor(e)}}},7169:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n){var r,s,c,l,f,d,p,v;(0,a.default)(2,arguments);var y=(0,u.getDefaultOptions)(),h=(0,i.default)(null!==(r=null!==(s=null!==(c=null!==(l=null==n?void 0:n.weekStartsOn)&&void 0!==l?l:null==n||null===(f=n.locale)||void 0===f||null===(d=f.options)||void 0===d?void 0:d.weekStartsOn)&&void 0!==c?c:y.weekStartsOn)&&void 0!==s?s:null===(p=y.locale)||void 0===p||null===(v=p.options)||void 0===v?void 0:v.weekStartsOn)&&void 0!==r?r:0);if(!(h>=0&&h<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var m=(0,o.default)(e),b=(0,i.default)(t),g=m.getUTCDay(),_=b%7,w=(_+7)%7,O=(w=0&&y<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var h=(0,o.default)(e),m=h.getUTCDay(),b=(m0;)n.setDate(n.getDate()+d),(0,o.default)(n)||(v-=1);return r&&(0,o.default)(n)&&0!==l&&((0,c.default)(n)&&n.setDate(n.getDate()+(d<0?2:-1)),(0,s.default)(n)&&n.setDate(n.getDate()+(d<0?1:-2))),n.setHours(f),n};var o=r(n(9018)),a=r(n(2368)),i=r(n(2449)),u=r(n(9652)),s=r(n(7568)),c=r(n(7768))},971:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){(0,i.default)(2,arguments);var n=(0,a.default)(e),r=(0,o.default)(t);return isNaN(r)?new Date(NaN):r?(n.setDate(n.getDate()+r),n):n};var o=r(n(2449)),a=r(n(2368)),i=r(n(9652))},2823:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){(0,i.default)(2,arguments);var n=(0,o.default)(t);return(0,a.default)(e,n*u)};var o=r(n(2449)),a=r(n(7684)),i=r(n(9652)),u=36e5},7592:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){(0,u.default)(2,arguments);var n=(0,o.default)(t);return(0,i.default)(e,(0,a.default)(e)+n)};var o=r(n(2449)),a=r(n(4314)),i=r(n(3040)),u=r(n(9652))},7684:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){(0,i.default)(2,arguments);var n=(0,a.default)(e).getTime(),r=(0,o.default)(t);return new Date(n+r)};var o=r(n(2449)),a=r(n(2368)),i=r(n(9652))},5117:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){(0,i.default)(2,arguments);var n=(0,o.default)(t);return(0,a.default)(e,6e4*n)};var o=r(n(2449)),a=r(n(7684)),i=r(n(9652))},1899:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){(0,i.default)(2,arguments);var n=(0,a.default)(e),r=(0,o.default)(t);if(isNaN(r))return new Date(NaN);if(!r)return n;var u=n.getDate(),s=new Date(n.getTime());s.setMonth(n.getMonth()+r+1,0);var c=s.getDate();return u>=c?s:(n.setFullYear(s.getFullYear(),s.getMonth(),u),n)};var o=r(n(2449)),a=r(n(2368)),i=r(n(9652))},2420:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){(0,i.default)(2,arguments);var n=(0,o.default)(t),r=3*n;return(0,a.default)(e,r)};var o=r(n(2449)),a=r(n(1899)),i=r(n(9652))},1917:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){(0,i.default)(2,arguments);var n=(0,o.default)(t);return(0,a.default)(e,1e3*n)};var o=r(n(2449)),a=r(n(7684)),i=r(n(9652))},7518:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){(0,i.default)(2,arguments);var n=(0,o.default)(t),r=7*n;return(0,a.default)(e,r)};var o=r(n(2449)),a=r(n(971)),i=r(n(9652))},7491:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){(0,i.default)(2,arguments);var n=(0,o.default)(t);return(0,a.default)(e,12*n)};var o=r(n(2449)),a=r(n(1899)),i=r(n(9652))},6222:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if((0,u.default)(2,arguments),!t||"object"!==c(t))return new Date(NaN);var n=t.years?(0,s.default)(t.years):0,r=t.months?(0,s.default)(t.months):0,l=t.weeks?(0,s.default)(t.weeks):0,f=t.days?(0,s.default)(t.days):0,d=t.hours?(0,s.default)(t.hours):0,p=t.minutes?(0,s.default)(t.minutes):0,v=t.seconds?(0,s.default)(t.seconds):0,y=(0,i.default)(e),h=r||n?(0,a.default)(y,r+12*n):y,m=f||l?(0,o.default)(h,f+7*l):h,b=p+60*d,g=v+60*b,_=1e3*g,w=new Date(m.getTime()+_);return w};var o=r(n(971)),a=r(n(1899)),i=r(n(2368)),u=r(n(9652)),s=r(n(2449));function c(e){return c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},c(e)}},3630:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n){(0,a.default)(2,arguments);var r=(0,o.default)(null==e?void 0:e.start).getTime(),i=(0,o.default)(null==e?void 0:e.end).getTime(),u=(0,o.default)(null==t?void 0:t.start).getTime(),s=(0,o.default)(null==t?void 0:t.end).getTime();if(!(r<=i&&u<=s))throw new RangeError("Invalid interval");return null!=n&&n.inclusive?r<=s&&u<=i:r0?1:i};var o=r(n(2368)),a=r(n(9652))},313:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){(0,a.default)(2,arguments);var n=(0,o.default)(e),r=(0,o.default)(t),i=n.getTime()-r.getTime();return i>0?-1:i<0?1:i};var o=r(n(2368)),a=r(n(9652))},1186:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.secondsInYear=t.secondsInWeek=t.secondsInQuarter=t.secondsInMonth=t.secondsInMinute=t.secondsInHour=t.secondsInDay=t.quartersInYear=t.monthsInYear=t.monthsInQuarter=t.minutesInHour=t.minTime=t.millisecondsInSecond=t.millisecondsInMinute=t.millisecondsInHour=t.maxTime=t.daysInYear=t.daysInWeek=void 0,t.daysInWeek=7;t.daysInYear=365.2425;var n=24*Math.pow(10,8)*60*60*1e3;t.maxTime=n,t.millisecondsInMinute=6e4,t.millisecondsInHour=36e5,t.millisecondsInSecond=1e3;var r=-n;t.minTime=r,t.minutesInHour=60,t.monthsInQuarter=3,t.monthsInYear=12,t.quartersInYear=4,t.secondsInHour=3600,t.secondsInMinute=60;t.secondsInDay=86400,t.secondsInWeek=604800;t.secondsInYear=31556952;t.secondsInMonth=2629746,t.secondsInQuarter=7889238},9352:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){(0,o.default)(1,arguments);var t=e/a.daysInWeek;return Math.floor(t)};var o=r(n(9652)),a=n(1186)},4130:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){(0,l.default)(2,arguments);var n=(0,c.default)(e),r=(0,c.default)(t);if(!(0,u.default)(n)||!(0,u.default)(r))return NaN;var d=(0,a.default)(n,r),p=d<0?-1:1,v=(0,f.default)(d/7),y=5*v;for(r=(0,o.default)(r,7*v);!(0,i.default)(n,r);)y+=(0,s.default)(r)?0:p,r=(0,o.default)(r,p);return 0===y?0:y};var o=r(n(971)),a=r(n(4639)),i=r(n(3652)),u=r(n(7707)),s=r(n(9018)),c=r(n(2368)),l=r(n(9652)),f=r(n(2449))},4639:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){(0,i.default)(2,arguments);var n=(0,a.default)(e),r=(0,a.default)(t),s=n.getTime()-(0,o.default)(n),c=r.getTime()-(0,o.default)(r);return Math.round((s-c)/u)};var o=r(n(7955)),a=r(n(2127)),i=r(n(9652)),u=864e5},8710:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){return(0,a.default)(2,arguments),(0,o.default)(e)-(0,o.default)(t)};var o=r(n(4314)),a=r(n(9652))},8342:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){(0,i.default)(2,arguments);var n=(0,a.default)(e),r=(0,a.default)(t),s=n.getTime()-(0,o.default)(n),c=r.getTime()-(0,o.default)(r);return Math.round((s-c)/u)};var o=r(n(7955)),a=r(n(740)),i=r(n(9652)),u=6048e5},8547:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){(0,a.default)(2,arguments);var n=(0,o.default)(e),r=(0,o.default)(t),i=n.getFullYear()-r.getFullYear(),u=n.getMonth()-r.getMonth();return 12*i+u};var o=r(n(2368)),a=r(n(9652))},4181:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){(0,i.default)(2,arguments);var n=(0,a.default)(e),r=(0,a.default)(t),u=n.getFullYear()-r.getFullYear(),s=(0,o.default)(n)-(0,o.default)(r);return 4*u+s};var o=r(n(4812)),a=r(n(2368)),i=r(n(9652))},5743:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n){(0,i.default)(2,arguments);var r=(0,o.default)(e,n),s=(0,o.default)(t,n),c=r.getTime()-(0,a.default)(r),l=s.getTime()-(0,a.default)(s);return Math.round((c-l)/u)};var o=r(n(384)),a=r(n(7955)),i=r(n(9652)),u=6048e5},2857:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){(0,a.default)(2,arguments);var n=(0,o.default)(e),r=(0,o.default)(t);return n.getFullYear()-r.getFullYear()};var o=r(n(2368)),a=r(n(9652))},1604:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){(0,i.default)(2,arguments);var n=(0,o.default)(e),r=(0,o.default)(t),s=u(n,r),c=Math.abs((0,a.default)(n,r));n.setDate(n.getDate()-s*c);var l=Number(u(n,r)===-s),f=s*(c-l);return 0===f?0:f};var o=r(n(2368)),a=r(n(4639)),i=r(n(9652));function u(e,t){var n=e.getFullYear()-t.getFullYear()||e.getMonth()-t.getMonth()||e.getDate()-t.getDate()||e.getHours()-t.getHours()||e.getMinutes()-t.getMinutes()||e.getSeconds()-t.getSeconds()||e.getMilliseconds()-t.getMilliseconds();return n<0?-1:n>0?1:n}},1038:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n){(0,i.default)(2,arguments);var r=(0,a.default)(e,t)/o.millisecondsInHour;return(0,u.getRoundingMethod)(null==n?void 0:n.roundingMethod)(r)};var o=n(1186),a=r(n(6063)),i=r(n(9652)),u=n(3671)},648:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){(0,s.default)(2,arguments);var n=(0,o.default)(e),r=(0,o.default)(t),c=(0,i.default)(n,r),l=Math.abs((0,a.default)(n,r));n=(0,u.default)(n,c*l);var f=Number((0,i.default)(n,r)===-c),d=c*(l-f);return 0===d?0:d};var o=r(n(2368)),a=r(n(8710)),i=r(n(4765)),u=r(n(3185)),s=r(n(9652))},6063:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){return(0,a.default)(2,arguments),(0,o.default)(e).getTime()-(0,o.default)(t).getTime()};var o=r(n(2368)),a=r(n(9652))},8875:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n){(0,i.default)(2,arguments);var r=(0,a.default)(e,t)/o.millisecondsInMinute;return(0,u.getRoundingMethod)(null==n?void 0:n.roundingMethod)(r)};var o=n(1186),a=r(n(6063)),i=r(n(9652)),u=n(3671)},2645:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){(0,u.default)(2,arguments);var n,r=(0,o.default)(e),c=(0,o.default)(t),l=(0,i.default)(r,c),f=Math.abs((0,a.default)(r,c));if(f<1)n=0;else{1===r.getMonth()&&r.getDate()>27&&r.setDate(30),r.setMonth(r.getMonth()-l*f);var d=(0,i.default)(r,c)===-l;(0,s.default)((0,o.default)(e))&&1===f&&1===(0,i.default)(e,c)&&(d=!1),n=l*(f-Number(d))}return 0===n?0:n};var o=r(n(2368)),a=r(n(8547)),i=r(n(4765)),u=r(n(9652)),s=r(n(160))},250:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n){(0,a.default)(2,arguments);var r=(0,o.default)(e,t)/3;return(0,i.getRoundingMethod)(null==n?void 0:n.roundingMethod)(r)};var o=r(n(2645)),a=r(n(9652)),i=n(3671)},4864:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n){(0,a.default)(2,arguments);var r=(0,o.default)(e,t)/1e3;return(0,i.getRoundingMethod)(null==n?void 0:n.roundingMethod)(r)};var o=r(n(6063)),a=r(n(9652)),i=n(3671)},80:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n){(0,a.default)(2,arguments);var r=(0,o.default)(e,t)/7;return(0,i.getRoundingMethod)(null==n?void 0:n.roundingMethod)(r)};var o=r(n(1604)),a=r(n(9652)),i=n(3671)},6643:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){(0,u.default)(2,arguments);var n=(0,o.default)(e),r=(0,o.default)(t),s=(0,i.default)(n,r),c=Math.abs((0,a.default)(n,r));n.setFullYear(1584),r.setFullYear(1584);var l=(0,i.default)(n,r)===-s,f=s*(c-Number(l));return 0===f?0:f};var o=r(n(2368)),a=r(n(2857)),i=r(n(4765)),u=r(n(9652))},6674:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var n;(0,a.default)(1,arguments);var r=e||{},i=(0,o.default)(r.start),u=(0,o.default)(r.end),s=u.getTime();if(!(i.getTime()<=s))throw new RangeError("Invalid interval");var c=[],l=i;l.setHours(0,0,0,0);var f=Number(null!==(n=null==t?void 0:t.step)&&void 0!==n?n:1);if(f<1||isNaN(f))throw new RangeError("`options.step` must be a number greater than 1");for(;l.getTime()<=s;)c.push((0,o.default)(l)),l.setDate(l.getDate()+f),l.setHours(0,0,0,0);return c};var o=r(n(2368)),a=r(n(9652))},2274:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var n;(0,i.default)(1,arguments);var r=e||{},u=(0,a.default)(r.start),s=(0,a.default)(r.end),c=u.getTime(),l=s.getTime();if(!(c<=l))throw new RangeError("Invalid interval");var f=[],d=u;d.setMinutes(0,0,0);var p=Number(null!==(n=null==t?void 0:t.step)&&void 0!==n?n:1);if(p<1||isNaN(p))throw new RangeError("`options.step` must be a number greater than 1");for(;d.getTime()<=l;)f.push((0,a.default)(d)),d=(0,o.default)(d,p);return f};var o=r(n(2823)),a=r(n(2368)),i=r(n(9652))},58:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var n;(0,u.default)(1,arguments);var r=(0,i.default)((0,a.default)(e.start)),s=(0,a.default)(e.end),c=r.getTime(),l=s.getTime();if(c>=l)throw new RangeError("Invalid interval");var f=[],d=r,p=Number(null!==(n=null==t?void 0:t.step)&&void 0!==n?n:1);if(p<1||isNaN(p))throw new RangeError("`options.step` must be a number equal to or greater than 1");for(;d.getTime()<=l;)f.push((0,a.default)(d)),d=(0,o.default)(d,p);return f};var o=r(n(5117)),a=r(n(2368)),i=r(n(7013)),u=r(n(9652))},1761:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){(0,a.default)(1,arguments);var t=e||{},n=(0,o.default)(t.start),r=(0,o.default)(t.end),i=r.getTime(),u=[];if(!(n.getTime()<=i))throw new RangeError("Invalid interval");var s=n;for(s.setHours(0,0,0,0),s.setDate(1);s.getTime()<=i;)u.push((0,o.default)(s)),s.setMonth(s.getMonth()+1);return u};var o=r(n(2368)),a=r(n(9652))},2362:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){(0,u.default)(1,arguments);var t=e||{},n=(0,i.default)(t.start),r=(0,i.default)(t.end),s=r.getTime();if(!(n.getTime()<=s))throw new RangeError("Invalid interval");var c=(0,a.default)(n),l=(0,a.default)(r);s=l.getTime();for(var f=[],d=c;d.getTime()<=s;)f.push((0,i.default)(d)),d=(0,o.default)(d,1);return f};var o=r(n(2420)),a=r(n(4715)),i=r(n(2368)),u=r(n(9652))},9246:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){(0,u.default)(1,arguments);var n=e||{},r=(0,i.default)(n.start),s=(0,i.default)(n.end),c=s.getTime();if(!(r.getTime()<=c))throw new RangeError("Invalid interval");var l=(0,a.default)(r,t),f=(0,a.default)(s,t);l.setHours(15),f.setHours(15),c=f.getTime();for(var d=[],p=l;p.getTime()<=c;)p.setHours(0),d.push((0,i.default)(p)),(p=(0,o.default)(p,1)).setHours(15);return d};var o=r(n(7518)),a=r(n(384)),i=r(n(2368)),u=r(n(9652))},7402:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){(0,u.default)(1,arguments);for(var t=(0,o.default)(e),n=[],r=0;r=0&&y<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var h=(0,a.default)(e),m=h.getDay(),b=6+(m0?(w=(0,u.default)(t),O=(0,u.default)(e)):(w=(0,u.default)(e),O=(0,u.default)(t));var x,j=String(null!==(m=null==n?void 0:n.roundingMethod)&&void 0!==m?m:"round");if("floor"===j)x=Math.floor;else if("ceil"===j)x=Math.ceil;else{if("round"!==j)throw new RangeError("roundingMethod must be 'floor', 'ceil' or 'round'");x=Math.round}var T,k=O.getTime()-w.getTime(),S=k/d,M=(0,a.default)(O)-(0,a.default)(w),D=(k-M)/d,C=null==n?void 0:n.unit;if("second"===(T=C?String(C):S<1?"second":S<60?"minute":S0?(_=(0,c.default)(t),w=(0,c.default)(e)):(_=(0,c.default)(e),w=(0,c.default)(t));var P,x=(0,u.default)(w,_),j=((0,d.default)(w)-(0,d.default)(_))/1e3,T=Math.round((x-j)/60);if(T<2)return null!=n&&n.includeSeconds?x<5?b.formatDistance("lessThanXSeconds",5,O):x<10?b.formatDistance("lessThanXSeconds",10,O):x<20?b.formatDistance("lessThanXSeconds",20,O):x<40?b.formatDistance("halfAMinute",0,O):x<60?b.formatDistance("lessThanXMinutes",1,O):b.formatDistance("xMinutes",1,O):0===T?b.formatDistance("lessThanXMinutes",1,O):b.formatDistance("xMinutes",T,O);if(T<45)return b.formatDistance("xMinutes",T,O);if(T<90)return b.formatDistance("aboutXHours",1,O);if(T=0&&s<=3))throw new RangeError("fractionDigits must be between 0 and 3 inclusively");var c=(0,i.default)(r.getDate(),2),l=(0,i.default)(r.getMonth()+1,2),f=r.getFullYear(),d=(0,i.default)(r.getHours(),2),p=(0,i.default)(r.getMinutes(),2),v=(0,i.default)(r.getSeconds(),2),y="";if(s>0){var h=r.getMilliseconds(),m=Math.floor(h*Math.pow(10,s-3));y="."+(0,i.default)(m,s)}var b="",g=r.getTimezoneOffset();if(0!==g){var _=Math.abs(g),w=(0,i.default)((0,u.default)(_/60),2),O=(0,i.default)(_%60,2),P=g<0?"+":"-";b="".concat(P).concat(w,":").concat(O)}else b="Z";return"".concat(f,"-").concat(l,"-").concat(c,"T").concat(d,":").concat(p,":").concat(v).concat(y).concat(b)};var o=r(n(2368)),a=r(n(7707)),i=r(n(5115)),u=r(n(2449))},9883:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){if(arguments.length<1)throw new TypeError("1 arguments required, but only ".concat(arguments.length," present"));var t=(0,o.default)(e);if(!(0,a.default)(t))throw new RangeError("Invalid time value");var n=u[t.getUTCDay()],r=(0,i.default)(t.getUTCDate(),2),c=s[t.getUTCMonth()],l=t.getUTCFullYear(),f=(0,i.default)(t.getUTCHours(),2),d=(0,i.default)(t.getUTCMinutes(),2),p=(0,i.default)(t.getUTCSeconds(),2);return"".concat(n,", ").concat(r," ").concat(c," ").concat(l," ").concat(f,":").concat(d,":").concat(p," GMT")};var o=r(n(2368)),a=r(n(7707)),i=r(n(5115)),u=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],s=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]},6553:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n){var r,p,v,y,h,m,b,g,_,w;(0,f.default)(2,arguments);var O=(0,c.default)(e),P=(0,c.default)(t),x=(0,o.getDefaultOptions)(),j=null!==(r=null!==(p=null==n?void 0:n.locale)&&void 0!==p?p:x.locale)&&void 0!==r?r:u.default,T=(0,d.default)(null!==(v=null!==(y=null!==(h=null!==(m=null==n?void 0:n.weekStartsOn)&&void 0!==m?m:null==n||null===(b=n.locale)||void 0===b||null===(g=b.options)||void 0===g?void 0:g.weekStartsOn)&&void 0!==h?h:x.weekStartsOn)&&void 0!==y?y:null===(_=x.locale)||void 0===_||null===(w=_.options)||void 0===w?void 0:w.weekStartsOn)&&void 0!==v?v:0);if(!j.localize)throw new RangeError("locale must contain localize property");if(!j.formatLong)throw new RangeError("locale must contain formatLong property");if(!j.formatRelative)throw new RangeError("locale must contain formatRelative property");var k,S=(0,a.default)(O,P);if(isNaN(S))throw new RangeError("Invalid time value");k=S<-6?"other":S<-1?"lastWeek":S<0?"yesterday":S<1?"today":S<2?"tomorrow":S<7?"nextWeek":"other";var M=(0,s.default)(O,(0,l.default)(O)),D=(0,s.default)(P,(0,l.default)(P)),C=j.formatRelative(k,M,D,{locale:j,weekStartsOn:T});return(0,i.default)(O,C,{locale:j,weekStartsOn:T})};var o=n(7014),a=r(n(4639)),i=r(n(3665)),u=r(n(3096)),s=r(n(6128)),c=r(n(2368)),l=r(n(7955)),f=r(n(9652)),d=r(n(2449))},3665:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n){var r,m,b,w,O,P,x,j,T,k,S,M,D,C,E,R,I,N;(0,d.default)(2,arguments);var A=String(t),Y=(0,p.getDefaultOptions)(),L=null!==(r=null!==(m=null==n?void 0:n.locale)&&void 0!==m?m:Y.locale)&&void 0!==r?r:v.default,B=(0,f.default)(null!==(b=null!==(w=null!==(O=null!==(P=null==n?void 0:n.firstWeekContainsDate)&&void 0!==P?P:null==n||null===(x=n.locale)||void 0===x||null===(j=x.options)||void 0===j?void 0:j.firstWeekContainsDate)&&void 0!==O?O:Y.firstWeekContainsDate)&&void 0!==w?w:null===(T=Y.locale)||void 0===T||null===(k=T.options)||void 0===k?void 0:k.firstWeekContainsDate)&&void 0!==b?b:1);if(!(B>=1&&B<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var U=(0,f.default)(null!==(S=null!==(M=null!==(D=null!==(C=null==n?void 0:n.weekStartsOn)&&void 0!==C?C:null==n||null===(E=n.locale)||void 0===E||null===(R=E.options)||void 0===R?void 0:R.weekStartsOn)&&void 0!==D?D:Y.weekStartsOn)&&void 0!==M?M:null===(I=Y.locale)||void 0===I||null===(N=I.options)||void 0===N?void 0:N.weekStartsOn)&&void 0!==S?S:0);if(!(U>=0&&U<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");if(!L.localize)throw new RangeError("locale must contain localize property");if(!L.formatLong)throw new RangeError("locale must contain formatLong property");var F=(0,i.default)(e);if(!(0,o.default)(F))throw new RangeError("Invalid time value");var H=(0,c.default)(F),$=(0,a.default)(F,H),W={firstWeekContainsDate:B,weekStartsOn:U,locale:L,_originalDate:F},V=A.match(h).map((function(e){var t=e[0];return"p"===t||"P"===t?(0,s.default[t])(e,L.formatLong):e})).join("").match(y).map((function(r){if("''"===r)return"'";var o=r[0];if("'"===o)return _(r);var a=u.default[o];if(a)return null!=n&&n.useAdditionalWeekYearTokens||!(0,l.isProtectedWeekYearToken)(r)||(0,l.throwProtectedError)(r,t,String(e)),null!=n&&n.useAdditionalDayOfYearTokens||!(0,l.isProtectedDayOfYearToken)(r)||(0,l.throwProtectedError)(r,t,String(e)),a($,r,L.localize,W);if(o.match(g))throw new RangeError("Format string contains an unescaped latin alphabet character `"+o+"`");return r})).join("");return V};var o=r(n(7707)),a=r(n(6128)),i=r(n(2368)),u=r(n(1387)),s=r(n(1696)),c=r(n(7955)),l=n(8343),f=r(n(2449)),d=r(n(9652)),p=n(7014),v=r(n(3096)),y=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,h=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,m=/^'([^]*?)'?$/,b=/''/g,g=/[a-zA-Z]/;function _(e){var t=e.match(m);return t?t[1].replace(b,"'"):e}},6737:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){(0,i.default)(1,arguments);var t=(0,a.default)(e);return(0,o.default)(1e3*t)};var o=r(n(2368)),a=r(n(2449)),i=r(n(9652))},6142:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){(0,a.default)(1,arguments);var t=(0,o.default)(e),n=t.getDate();return n};var o=r(n(2368)),a=r(n(9652))},9981:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){(0,u.default)(1,arguments);var t=(0,o.default)(e),n=(0,i.default)(t,(0,a.default)(t)),r=n+1;return r};var o=r(n(2368)),a=r(n(2403)),i=r(n(4639)),u=r(n(9652))},4858:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){(0,a.default)(1,arguments);var t=(0,o.default)(e),n=t.getDay();return n};var o=r(n(2368)),a=r(n(9652))},8368:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){(0,a.default)(1,arguments);var t=(0,o.default)(e),n=t.getFullYear(),r=t.getMonth(),i=new Date(0);return i.setFullYear(n,r+1,0),i.setHours(0,0,0,0),i.getDate()};var o=r(n(2368)),a=r(n(9652))},941:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){(0,i.default)(1,arguments);var t=(0,o.default)(e);return"Invalid Date"===String(new Date(t))?NaN:(0,a.default)(t)?366:365};var o=r(n(2368)),a=r(n(4102)),i=r(n(9652))},8123:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){(0,a.default)(1,arguments);var t=(0,o.default)(e),n=t.getFullYear(),r=10*Math.floor(n/10);return r};var o=r(n(2368)),a=r(n(9652))},5910:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){return(0,a.default)({},(0,o.getDefaultOptions)())};var o=n(7014),a=r(n(619))},7282:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){(0,a.default)(1,arguments);var t=(0,o.default)(e),n=t.getHours();return n};var o=r(n(2368)),a=r(n(9652))},821:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){(0,a.default)(1,arguments);var t=(0,o.default)(e),n=t.getDay();return 0===n&&(n=7),n};var o=r(n(2368)),a=r(n(9652))},4314:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){(0,i.default)(1,arguments);var t=(0,o.default)(e),n=t.getFullYear(),r=new Date(0);r.setFullYear(n+1,0,4),r.setHours(0,0,0,0);var u=(0,a.default)(r),s=new Date(0);s.setFullYear(n,0,4),s.setHours(0,0,0,0);var c=(0,a.default)(s);return t.getTime()>=u.getTime()?n+1:t.getTime()>=c.getTime()?n:n-1};var o=r(n(2368)),a=r(n(740)),i=r(n(9652))},5832:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){(0,u.default)(1,arguments);var t=(0,o.default)(e),n=(0,a.default)(t).getTime()-(0,i.default)(t).getTime();return Math.round(n/s)+1};var o=r(n(2368)),a=r(n(740)),i=r(n(5030)),u=r(n(9652)),s=6048e5},5758:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){(0,i.default)(1,arguments);var t=(0,o.default)(e),n=(0,o.default)((0,a.default)(t,60)),r=n.valueOf()-t.valueOf();return Math.round(r/u)};var o=r(n(5030)),a=r(n(7518)),i=r(n(9652)),u=6048e5},2735:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){(0,a.default)(1,arguments);var t=(0,o.default)(e),n=t.getMilliseconds();return n};var o=r(n(2368)),a=r(n(9652))},9437:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){(0,a.default)(1,arguments);var t=(0,o.default)(e),n=t.getMinutes();return n};var o=r(n(2368)),a=r(n(9652))},8975:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){(0,a.default)(1,arguments);var t=(0,o.default)(e),n=t.getMonth();return n};var o=r(n(2368)),a=r(n(9652))},9046:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){(0,a.default)(2,arguments);var n=e||{},r=t||{},u=(0,o.default)(n.start).getTime(),s=(0,o.default)(n.end).getTime(),c=(0,o.default)(r.start).getTime(),l=(0,o.default)(r.end).getTime();if(!(u<=s&&c<=l))throw new RangeError("Invalid interval");var f=us?s:l,v=p-d;return Math.ceil(v/i)};var o=r(n(2368)),a=r(n(9652)),i=864e5},4812:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){(0,a.default)(1,arguments);var t=(0,o.default)(e),n=Math.floor(t.getMonth()/3)+1;return n};var o=r(n(2368)),a=r(n(9652))},3856:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){(0,a.default)(1,arguments);var t=(0,o.default)(e),n=t.getSeconds();return n};var o=r(n(2368)),a=r(n(9652))},1063:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){(0,a.default)(1,arguments);var t=(0,o.default)(e),n=t.getTime();return n};var o=r(n(2368)),a=r(n(9652))},6794:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,a.default)(1,arguments),Math.floor((0,o.default)(e)/1e3)};var o=r(n(1063)),a=r(n(9652))},732:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var n,r,l,f,d,p,v,y;(0,s.default)(1,arguments);var h=(0,o.getDefaultOptions)(),m=(0,c.default)(null!==(n=null!==(r=null!==(l=null!==(f=null==t?void 0:t.weekStartsOn)&&void 0!==f?f:null==t||null===(d=t.locale)||void 0===d||null===(p=d.options)||void 0===p?void 0:p.weekStartsOn)&&void 0!==l?l:h.weekStartsOn)&&void 0!==r?r:null===(v=h.locale)||void 0===v||null===(y=v.options)||void 0===y?void 0:y.weekStartsOn)&&void 0!==n?n:0);if(!(m>=0&&m<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var b=(0,a.default)(e);if(isNaN(b))return NaN;var g=(0,i.default)((0,u.default)(e)),_=m-g;_<=0&&(_+=7);var w=b-_;return Math.ceil(w/7)+1};var o=n(7014),a=r(n(6142)),i=r(n(4858)),u=r(n(7265)),s=r(n(9652)),c=r(n(2449))},4548:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var n,r,c,l,f,d,p,v;(0,u.default)(1,arguments);var y=(0,a.default)(e),h=y.getFullYear(),m=(0,s.getDefaultOptions)(),b=(0,i.default)(null!==(n=null!==(r=null!==(c=null!==(l=null==t?void 0:t.firstWeekContainsDate)&&void 0!==l?l:null==t||null===(f=t.locale)||void 0===f||null===(d=f.options)||void 0===d?void 0:d.firstWeekContainsDate)&&void 0!==c?c:m.firstWeekContainsDate)&&void 0!==r?r:null===(p=m.locale)||void 0===p||null===(v=p.options)||void 0===v?void 0:v.firstWeekContainsDate)&&void 0!==n?n:1);if(!(b>=1&&b<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var g=new Date(0);g.setFullYear(h+1,0,b),g.setHours(0,0,0,0);var _=(0,o.default)(g,t),w=new Date(0);w.setFullYear(h,0,b),w.setHours(0,0,0,0);var O=(0,o.default)(w,t);return y.getTime()>=_.getTime()?h+1:y.getTime()>=O.getTime()?h:h-1};var o=r(n(384)),a=r(n(2368)),i=r(n(2449)),u=r(n(9652)),s=n(7014)},6714:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){(0,u.default)(1,arguments);var n=(0,i.default)(e),r=(0,o.default)(n,t).getTime()-(0,a.default)(n,t).getTime();return Math.round(r/s)+1};var o=r(n(384)),a=r(n(1514)),i=r(n(2368)),u=r(n(9652)),s=6048e5},4719:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){return(0,u.default)(1,arguments),(0,o.default)((0,a.default)(e),(0,i.default)(e),t)+1};var o=r(n(5743)),a=r(n(3763)),i=r(n(7265)),u=r(n(9652))},1280:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,a.default)(1,arguments),(0,o.default)(e).getFullYear()};var o=r(n(2368)),a=r(n(9652))},2484:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,o.default)(1,arguments),Math.floor(e*a.millisecondsInHour)};var o=r(n(9652)),a=n(1186)},7758:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,o.default)(1,arguments),Math.floor(e*a.minutesInHour)};var o=r(n(9652)),a=n(1186)},5369:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,o.default)(1,arguments),Math.floor(e*a.secondsInHour)};var o=r(n(9652)),a=n(1186)},7153:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0});var o={add:!0,addBusinessDays:!0,addDays:!0,addHours:!0,addISOWeekYears:!0,addMilliseconds:!0,addMinutes:!0,addMonths:!0,addQuarters:!0,addSeconds:!0,addWeeks:!0,addYears:!0,areIntervalsOverlapping:!0,clamp:!0,closestIndexTo:!0,closestTo:!0,compareAsc:!0,compareDesc:!0,daysToWeeks:!0,differenceInBusinessDays:!0,differenceInCalendarDays:!0,differenceInCalendarISOWeekYears:!0,differenceInCalendarISOWeeks:!0,differenceInCalendarMonths:!0,differenceInCalendarQuarters:!0,differenceInCalendarWeeks:!0,differenceInCalendarYears:!0,differenceInDays:!0,differenceInHours:!0,differenceInISOWeekYears:!0,differenceInMilliseconds:!0,differenceInMinutes:!0,differenceInMonths:!0,differenceInQuarters:!0,differenceInSeconds:!0,differenceInWeeks:!0,differenceInYears:!0,eachDayOfInterval:!0,eachHourOfInterval:!0,eachMinuteOfInterval:!0,eachMonthOfInterval:!0,eachQuarterOfInterval:!0,eachWeekOfInterval:!0,eachWeekendOfInterval:!0,eachWeekendOfMonth:!0,eachWeekendOfYear:!0,eachYearOfInterval:!0,endOfDay:!0,endOfDecade:!0,endOfHour:!0,endOfISOWeek:!0,endOfISOWeekYear:!0,endOfMinute:!0,endOfMonth:!0,endOfQuarter:!0,endOfSecond:!0,endOfToday:!0,endOfTomorrow:!0,endOfWeek:!0,endOfYear:!0,endOfYesterday:!0,format:!0,formatDistance:!0,formatDistanceStrict:!0,formatDistanceToNow:!0,formatDistanceToNowStrict:!0,formatDuration:!0,formatISO:!0,formatISO9075:!0,formatISODuration:!0,formatRFC3339:!0,formatRFC7231:!0,formatRelative:!0,fromUnixTime:!0,getDate:!0,getDay:!0,getDayOfYear:!0,getDaysInMonth:!0,getDaysInYear:!0,getDecade:!0,getDefaultOptions:!0,getHours:!0,getISODay:!0,getISOWeek:!0,getISOWeekYear:!0,getISOWeeksInYear:!0,getMilliseconds:!0,getMinutes:!0,getMonth:!0,getOverlappingDaysInIntervals:!0,getQuarter:!0,getSeconds:!0,getTime:!0,getUnixTime:!0,getWeek:!0,getWeekOfMonth:!0,getWeekYear:!0,getWeeksInMonth:!0,getYear:!0,hoursToMilliseconds:!0,hoursToMinutes:!0,hoursToSeconds:!0,intervalToDuration:!0,intlFormat:!0,intlFormatDistance:!0,isAfter:!0,isBefore:!0,isDate:!0,isEqual:!0,isExists:!0,isFirstDayOfMonth:!0,isFriday:!0,isFuture:!0,isLastDayOfMonth:!0,isLeapYear:!0,isMatch:!0,isMonday:!0,isPast:!0,isSameDay:!0,isSameHour:!0,isSameISOWeek:!0,isSameISOWeekYear:!0,isSameMinute:!0,isSameMonth:!0,isSameQuarter:!0,isSameSecond:!0,isSameWeek:!0,isSameYear:!0,isSaturday:!0,isSunday:!0,isThisHour:!0,isThisISOWeek:!0,isThisMinute:!0,isThisMonth:!0,isThisQuarter:!0,isThisSecond:!0,isThisWeek:!0,isThisYear:!0,isThursday:!0,isToday:!0,isTomorrow:!0,isTuesday:!0,isValid:!0,isWednesday:!0,isWeekend:!0,isWithinInterval:!0,isYesterday:!0,lastDayOfDecade:!0,lastDayOfISOWeek:!0,lastDayOfISOWeekYear:!0,lastDayOfMonth:!0,lastDayOfQuarter:!0,lastDayOfWeek:!0,lastDayOfYear:!0,lightFormat:!0,max:!0,milliseconds:!0,millisecondsToHours:!0,millisecondsToMinutes:!0,millisecondsToSeconds:!0,min:!0,minutesToHours:!0,minutesToMilliseconds:!0,minutesToSeconds:!0,monthsToQuarters:!0,monthsToYears:!0,nextDay:!0,nextFriday:!0,nextMonday:!0,nextSaturday:!0,nextSunday:!0,nextThursday:!0,nextTuesday:!0,nextWednesday:!0,parse:!0,parseISO:!0,parseJSON:!0,previousDay:!0,previousFriday:!0,previousMonday:!0,previousSaturday:!0,previousSunday:!0,previousThursday:!0,previousTuesday:!0,previousWednesday:!0,quartersToMonths:!0,quartersToYears:!0,roundToNearestMinutes:!0,secondsToHours:!0,secondsToMilliseconds:!0,secondsToMinutes:!0,set:!0,setDate:!0,setDay:!0,setDayOfYear:!0,setDefaultOptions:!0,setHours:!0,setISODay:!0,setISOWeek:!0,setISOWeekYear:!0,setMilliseconds:!0,setMinutes:!0,setMonth:!0,setQuarter:!0,setSeconds:!0,setWeek:!0,setWeekYear:!0,setYear:!0,startOfDay:!0,startOfDecade:!0,startOfHour:!0,startOfISOWeek:!0,startOfISOWeekYear:!0,startOfMinute:!0,startOfMonth:!0,startOfQuarter:!0,startOfSecond:!0,startOfToday:!0,startOfTomorrow:!0,startOfWeek:!0,startOfWeekYear:!0,startOfYear:!0,startOfYesterday:!0,sub:!0,subBusinessDays:!0,subDays:!0,subHours:!0,subISOWeekYears:!0,subMilliseconds:!0,subMinutes:!0,subMonths:!0,subQuarters:!0,subSeconds:!0,subWeeks:!0,subYears:!0,toDate:!0,weeksToDays:!0,yearsToMonths:!0,yearsToQuarters:!0};Object.defineProperty(t,"add",{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(t,"addBusinessDays",{enumerable:!0,get:function(){return i.default}}),Object.defineProperty(t,"addDays",{enumerable:!0,get:function(){return u.default}}),Object.defineProperty(t,"addHours",{enumerable:!0,get:function(){return s.default}}),Object.defineProperty(t,"addISOWeekYears",{enumerable:!0,get:function(){return c.default}}),Object.defineProperty(t,"addMilliseconds",{enumerable:!0,get:function(){return l.default}}),Object.defineProperty(t,"addMinutes",{enumerable:!0,get:function(){return f.default}}),Object.defineProperty(t,"addMonths",{enumerable:!0,get:function(){return d.default}}),Object.defineProperty(t,"addQuarters",{enumerable:!0,get:function(){return p.default}}),Object.defineProperty(t,"addSeconds",{enumerable:!0,get:function(){return v.default}}),Object.defineProperty(t,"addWeeks",{enumerable:!0,get:function(){return y.default}}),Object.defineProperty(t,"addYears",{enumerable:!0,get:function(){return h.default}}),Object.defineProperty(t,"areIntervalsOverlapping",{enumerable:!0,get:function(){return m.default}}),Object.defineProperty(t,"clamp",{enumerable:!0,get:function(){return b.default}}),Object.defineProperty(t,"closestIndexTo",{enumerable:!0,get:function(){return g.default}}),Object.defineProperty(t,"closestTo",{enumerable:!0,get:function(){return _.default}}),Object.defineProperty(t,"compareAsc",{enumerable:!0,get:function(){return w.default}}),Object.defineProperty(t,"compareDesc",{enumerable:!0,get:function(){return O.default}}),Object.defineProperty(t,"daysToWeeks",{enumerable:!0,get:function(){return P.default}}),Object.defineProperty(t,"differenceInBusinessDays",{enumerable:!0,get:function(){return x.default}}),Object.defineProperty(t,"differenceInCalendarDays",{enumerable:!0,get:function(){return j.default}}),Object.defineProperty(t,"differenceInCalendarISOWeekYears",{enumerable:!0,get:function(){return T.default}}),Object.defineProperty(t,"differenceInCalendarISOWeeks",{enumerable:!0,get:function(){return k.default}}),Object.defineProperty(t,"differenceInCalendarMonths",{enumerable:!0,get:function(){return S.default}}),Object.defineProperty(t,"differenceInCalendarQuarters",{enumerable:!0,get:function(){return M.default}}),Object.defineProperty(t,"differenceInCalendarWeeks",{enumerable:!0,get:function(){return D.default}}),Object.defineProperty(t,"differenceInCalendarYears",{enumerable:!0,get:function(){return C.default}}),Object.defineProperty(t,"differenceInDays",{enumerable:!0,get:function(){return E.default}}),Object.defineProperty(t,"differenceInHours",{enumerable:!0,get:function(){return R.default}}),Object.defineProperty(t,"differenceInISOWeekYears",{enumerable:!0,get:function(){return I.default}}),Object.defineProperty(t,"differenceInMilliseconds",{enumerable:!0,get:function(){return N.default}}),Object.defineProperty(t,"differenceInMinutes",{enumerable:!0,get:function(){return A.default}}),Object.defineProperty(t,"differenceInMonths",{enumerable:!0,get:function(){return Y.default}}),Object.defineProperty(t,"differenceInQuarters",{enumerable:!0,get:function(){return L.default}}),Object.defineProperty(t,"differenceInSeconds",{enumerable:!0,get:function(){return B.default}}),Object.defineProperty(t,"differenceInWeeks",{enumerable:!0,get:function(){return U.default}}),Object.defineProperty(t,"differenceInYears",{enumerable:!0,get:function(){return F.default}}),Object.defineProperty(t,"eachDayOfInterval",{enumerable:!0,get:function(){return H.default}}),Object.defineProperty(t,"eachHourOfInterval",{enumerable:!0,get:function(){return $.default}}),Object.defineProperty(t,"eachMinuteOfInterval",{enumerable:!0,get:function(){return W.default}}),Object.defineProperty(t,"eachMonthOfInterval",{enumerable:!0,get:function(){return V.default}}),Object.defineProperty(t,"eachQuarterOfInterval",{enumerable:!0,get:function(){return z.default}}),Object.defineProperty(t,"eachWeekOfInterval",{enumerable:!0,get:function(){return q.default}}),Object.defineProperty(t,"eachWeekendOfInterval",{enumerable:!0,get:function(){return X.default}}),Object.defineProperty(t,"eachWeekendOfMonth",{enumerable:!0,get:function(){return Q.default}}),Object.defineProperty(t,"eachWeekendOfYear",{enumerable:!0,get:function(){return Z.default}}),Object.defineProperty(t,"eachYearOfInterval",{enumerable:!0,get:function(){return G.default}}),Object.defineProperty(t,"endOfDay",{enumerable:!0,get:function(){return J.default}}),Object.defineProperty(t,"endOfDecade",{enumerable:!0,get:function(){return K.default}}),Object.defineProperty(t,"endOfHour",{enumerable:!0,get:function(){return ee.default}}),Object.defineProperty(t,"endOfISOWeek",{enumerable:!0,get:function(){return te.default}}),Object.defineProperty(t,"endOfISOWeekYear",{enumerable:!0,get:function(){return ne.default}}),Object.defineProperty(t,"endOfMinute",{enumerable:!0,get:function(){return re.default}}),Object.defineProperty(t,"endOfMonth",{enumerable:!0,get:function(){return oe.default}}),Object.defineProperty(t,"endOfQuarter",{enumerable:!0,get:function(){return ae.default}}),Object.defineProperty(t,"endOfSecond",{enumerable:!0,get:function(){return ie.default}}),Object.defineProperty(t,"endOfToday",{enumerable:!0,get:function(){return ue.default}}),Object.defineProperty(t,"endOfTomorrow",{enumerable:!0,get:function(){return se.default}}),Object.defineProperty(t,"endOfWeek",{enumerable:!0,get:function(){return ce.default}}),Object.defineProperty(t,"endOfYear",{enumerable:!0,get:function(){return le.default}}),Object.defineProperty(t,"endOfYesterday",{enumerable:!0,get:function(){return fe.default}}),Object.defineProperty(t,"format",{enumerable:!0,get:function(){return de.default}}),Object.defineProperty(t,"formatDistance",{enumerable:!0,get:function(){return pe.default}}),Object.defineProperty(t,"formatDistanceStrict",{enumerable:!0,get:function(){return ve.default}}),Object.defineProperty(t,"formatDistanceToNow",{enumerable:!0,get:function(){return ye.default}}),Object.defineProperty(t,"formatDistanceToNowStrict",{enumerable:!0,get:function(){return he.default}}),Object.defineProperty(t,"formatDuration",{enumerable:!0,get:function(){return me.default}}),Object.defineProperty(t,"formatISO",{enumerable:!0,get:function(){return be.default}}),Object.defineProperty(t,"formatISO9075",{enumerable:!0,get:function(){return ge.default}}),Object.defineProperty(t,"formatISODuration",{enumerable:!0,get:function(){return _e.default}}),Object.defineProperty(t,"formatRFC3339",{enumerable:!0,get:function(){return we.default}}),Object.defineProperty(t,"formatRFC7231",{enumerable:!0,get:function(){return Oe.default}}),Object.defineProperty(t,"formatRelative",{enumerable:!0,get:function(){return Pe.default}}),Object.defineProperty(t,"fromUnixTime",{enumerable:!0,get:function(){return xe.default}}),Object.defineProperty(t,"getDate",{enumerable:!0,get:function(){return je.default}}),Object.defineProperty(t,"getDay",{enumerable:!0,get:function(){return Te.default}}),Object.defineProperty(t,"getDayOfYear",{enumerable:!0,get:function(){return ke.default}}),Object.defineProperty(t,"getDaysInMonth",{enumerable:!0,get:function(){return Se.default}}),Object.defineProperty(t,"getDaysInYear",{enumerable:!0,get:function(){return Me.default}}),Object.defineProperty(t,"getDecade",{enumerable:!0,get:function(){return De.default}}),Object.defineProperty(t,"getDefaultOptions",{enumerable:!0,get:function(){return Ce.default}}),Object.defineProperty(t,"getHours",{enumerable:!0,get:function(){return Ee.default}}),Object.defineProperty(t,"getISODay",{enumerable:!0,get:function(){return Re.default}}),Object.defineProperty(t,"getISOWeek",{enumerable:!0,get:function(){return Ie.default}}),Object.defineProperty(t,"getISOWeekYear",{enumerable:!0,get:function(){return Ne.default}}),Object.defineProperty(t,"getISOWeeksInYear",{enumerable:!0,get:function(){return Ae.default}}),Object.defineProperty(t,"getMilliseconds",{enumerable:!0,get:function(){return Ye.default}}),Object.defineProperty(t,"getMinutes",{enumerable:!0,get:function(){return Le.default}}),Object.defineProperty(t,"getMonth",{enumerable:!0,get:function(){return Be.default}}),Object.defineProperty(t,"getOverlappingDaysInIntervals",{enumerable:!0,get:function(){return Ue.default}}),Object.defineProperty(t,"getQuarter",{enumerable:!0,get:function(){return Fe.default}}),Object.defineProperty(t,"getSeconds",{enumerable:!0,get:function(){return He.default}}),Object.defineProperty(t,"getTime",{enumerable:!0,get:function(){return $e.default}}),Object.defineProperty(t,"getUnixTime",{enumerable:!0,get:function(){return We.default}}),Object.defineProperty(t,"getWeek",{enumerable:!0,get:function(){return Ve.default}}),Object.defineProperty(t,"getWeekOfMonth",{enumerable:!0,get:function(){return ze.default}}),Object.defineProperty(t,"getWeekYear",{enumerable:!0,get:function(){return qe.default}}),Object.defineProperty(t,"getWeeksInMonth",{enumerable:!0,get:function(){return Xe.default}}),Object.defineProperty(t,"getYear",{enumerable:!0,get:function(){return Qe.default}}),Object.defineProperty(t,"hoursToMilliseconds",{enumerable:!0,get:function(){return Ze.default}}),Object.defineProperty(t,"hoursToMinutes",{enumerable:!0,get:function(){return Ge.default}}),Object.defineProperty(t,"hoursToSeconds",{enumerable:!0,get:function(){return Je.default}}),Object.defineProperty(t,"intervalToDuration",{enumerable:!0,get:function(){return Ke.default}}),Object.defineProperty(t,"intlFormat",{enumerable:!0,get:function(){return et.default}}),Object.defineProperty(t,"intlFormatDistance",{enumerable:!0,get:function(){return tt.default}}),Object.defineProperty(t,"isAfter",{enumerable:!0,get:function(){return nt.default}}),Object.defineProperty(t,"isBefore",{enumerable:!0,get:function(){return rt.default}}),Object.defineProperty(t,"isDate",{enumerable:!0,get:function(){return ot.default}}),Object.defineProperty(t,"isEqual",{enumerable:!0,get:function(){return at.default}}),Object.defineProperty(t,"isExists",{enumerable:!0,get:function(){return it.default}}),Object.defineProperty(t,"isFirstDayOfMonth",{enumerable:!0,get:function(){return ut.default}}),Object.defineProperty(t,"isFriday",{enumerable:!0,get:function(){return st.default}}),Object.defineProperty(t,"isFuture",{enumerable:!0,get:function(){return ct.default}}),Object.defineProperty(t,"isLastDayOfMonth",{enumerable:!0,get:function(){return lt.default}}),Object.defineProperty(t,"isLeapYear",{enumerable:!0,get:function(){return ft.default}}),Object.defineProperty(t,"isMatch",{enumerable:!0,get:function(){return dt.default}}),Object.defineProperty(t,"isMonday",{enumerable:!0,get:function(){return pt.default}}),Object.defineProperty(t,"isPast",{enumerable:!0,get:function(){return vt.default}}),Object.defineProperty(t,"isSameDay",{enumerable:!0,get:function(){return yt.default}}),Object.defineProperty(t,"isSameHour",{enumerable:!0,get:function(){return ht.default}}),Object.defineProperty(t,"isSameISOWeek",{enumerable:!0,get:function(){return mt.default}}),Object.defineProperty(t,"isSameISOWeekYear",{enumerable:!0,get:function(){return bt.default}}),Object.defineProperty(t,"isSameMinute",{enumerable:!0,get:function(){return gt.default}}),Object.defineProperty(t,"isSameMonth",{enumerable:!0,get:function(){return _t.default}}),Object.defineProperty(t,"isSameQuarter",{enumerable:!0,get:function(){return wt.default}}),Object.defineProperty(t,"isSameSecond",{enumerable:!0,get:function(){return Ot.default}}),Object.defineProperty(t,"isSameWeek",{enumerable:!0,get:function(){return Pt.default}}),Object.defineProperty(t,"isSameYear",{enumerable:!0,get:function(){return xt.default}}),Object.defineProperty(t,"isSaturday",{enumerable:!0,get:function(){return jt.default}}),Object.defineProperty(t,"isSunday",{enumerable:!0,get:function(){return Tt.default}}),Object.defineProperty(t,"isThisHour",{enumerable:!0,get:function(){return kt.default}}),Object.defineProperty(t,"isThisISOWeek",{enumerable:!0,get:function(){return St.default}}),Object.defineProperty(t,"isThisMinute",{enumerable:!0,get:function(){return Mt.default}}),Object.defineProperty(t,"isThisMonth",{enumerable:!0,get:function(){return Dt.default}}),Object.defineProperty(t,"isThisQuarter",{enumerable:!0,get:function(){return Ct.default}}),Object.defineProperty(t,"isThisSecond",{enumerable:!0,get:function(){return Et.default}}),Object.defineProperty(t,"isThisWeek",{enumerable:!0,get:function(){return Rt.default}}),Object.defineProperty(t,"isThisYear",{enumerable:!0,get:function(){return It.default}}),Object.defineProperty(t,"isThursday",{enumerable:!0,get:function(){return Nt.default}}),Object.defineProperty(t,"isToday",{enumerable:!0,get:function(){return At.default}}),Object.defineProperty(t,"isTomorrow",{enumerable:!0,get:function(){return Yt.default}}),Object.defineProperty(t,"isTuesday",{enumerable:!0,get:function(){return Lt.default}}),Object.defineProperty(t,"isValid",{enumerable:!0,get:function(){return Bt.default}}),Object.defineProperty(t,"isWednesday",{enumerable:!0,get:function(){return Ut.default}}),Object.defineProperty(t,"isWeekend",{enumerable:!0,get:function(){return Ft.default}}),Object.defineProperty(t,"isWithinInterval",{enumerable:!0,get:function(){return Ht.default}}),Object.defineProperty(t,"isYesterday",{enumerable:!0,get:function(){return $t.default}}),Object.defineProperty(t,"lastDayOfDecade",{enumerable:!0,get:function(){return Wt.default}}),Object.defineProperty(t,"lastDayOfISOWeek",{enumerable:!0,get:function(){return Vt.default}}),Object.defineProperty(t,"lastDayOfISOWeekYear",{enumerable:!0,get:function(){return zt.default}}),Object.defineProperty(t,"lastDayOfMonth",{enumerable:!0,get:function(){return qt.default}}),Object.defineProperty(t,"lastDayOfQuarter",{enumerable:!0,get:function(){return Xt.default}}),Object.defineProperty(t,"lastDayOfWeek",{enumerable:!0,get:function(){return Qt.default}}),Object.defineProperty(t,"lastDayOfYear",{enumerable:!0,get:function(){return Zt.default}}),Object.defineProperty(t,"lightFormat",{enumerable:!0,get:function(){return Gt.default}}),Object.defineProperty(t,"max",{enumerable:!0,get:function(){return Jt.default}}),Object.defineProperty(t,"milliseconds",{enumerable:!0,get:function(){return Kt.default}}),Object.defineProperty(t,"millisecondsToHours",{enumerable:!0,get:function(){return en.default}}),Object.defineProperty(t,"millisecondsToMinutes",{enumerable:!0,get:function(){return tn.default}}),Object.defineProperty(t,"millisecondsToSeconds",{enumerable:!0,get:function(){return nn.default}}),Object.defineProperty(t,"min",{enumerable:!0,get:function(){return rn.default}}),Object.defineProperty(t,"minutesToHours",{enumerable:!0,get:function(){return on.default}}),Object.defineProperty(t,"minutesToMilliseconds",{enumerable:!0,get:function(){return an.default}}),Object.defineProperty(t,"minutesToSeconds",{enumerable:!0,get:function(){return un.default}}),Object.defineProperty(t,"monthsToQuarters",{enumerable:!0,get:function(){return sn.default}}),Object.defineProperty(t,"monthsToYears",{enumerable:!0,get:function(){return cn.default}}),Object.defineProperty(t,"nextDay",{enumerable:!0,get:function(){return ln.default}}),Object.defineProperty(t,"nextFriday",{enumerable:!0,get:function(){return fn.default}}),Object.defineProperty(t,"nextMonday",{enumerable:!0,get:function(){return dn.default}}),Object.defineProperty(t,"nextSaturday",{enumerable:!0,get:function(){return pn.default}}),Object.defineProperty(t,"nextSunday",{enumerable:!0,get:function(){return vn.default}}),Object.defineProperty(t,"nextThursday",{enumerable:!0,get:function(){return yn.default}}),Object.defineProperty(t,"nextTuesday",{enumerable:!0,get:function(){return hn.default}}),Object.defineProperty(t,"nextWednesday",{enumerable:!0,get:function(){return mn.default}}),Object.defineProperty(t,"parse",{enumerable:!0,get:function(){return bn.default}}),Object.defineProperty(t,"parseISO",{enumerable:!0,get:function(){return gn.default}}),Object.defineProperty(t,"parseJSON",{enumerable:!0,get:function(){return _n.default}}),Object.defineProperty(t,"previousDay",{enumerable:!0,get:function(){return wn.default}}),Object.defineProperty(t,"previousFriday",{enumerable:!0,get:function(){return On.default}}),Object.defineProperty(t,"previousMonday",{enumerable:!0,get:function(){return Pn.default}}),Object.defineProperty(t,"previousSaturday",{enumerable:!0,get:function(){return xn.default}}),Object.defineProperty(t,"previousSunday",{enumerable:!0,get:function(){return jn.default}}),Object.defineProperty(t,"previousThursday",{enumerable:!0,get:function(){return Tn.default}}),Object.defineProperty(t,"previousTuesday",{enumerable:!0,get:function(){return kn.default}}),Object.defineProperty(t,"previousWednesday",{enumerable:!0,get:function(){return Sn.default}}),Object.defineProperty(t,"quartersToMonths",{enumerable:!0,get:function(){return Mn.default}}),Object.defineProperty(t,"quartersToYears",{enumerable:!0,get:function(){return Dn.default}}),Object.defineProperty(t,"roundToNearestMinutes",{enumerable:!0,get:function(){return Cn.default}}),Object.defineProperty(t,"secondsToHours",{enumerable:!0,get:function(){return En.default}}),Object.defineProperty(t,"secondsToMilliseconds",{enumerable:!0,get:function(){return Rn.default}}),Object.defineProperty(t,"secondsToMinutes",{enumerable:!0,get:function(){return In.default}}),Object.defineProperty(t,"set",{enumerable:!0,get:function(){return Nn.default}}),Object.defineProperty(t,"setDate",{enumerable:!0,get:function(){return An.default}}),Object.defineProperty(t,"setDay",{enumerable:!0,get:function(){return Yn.default}}),Object.defineProperty(t,"setDayOfYear",{enumerable:!0,get:function(){return Ln.default}}),Object.defineProperty(t,"setDefaultOptions",{enumerable:!0,get:function(){return Bn.default}}),Object.defineProperty(t,"setHours",{enumerable:!0,get:function(){return Un.default}}),Object.defineProperty(t,"setISODay",{enumerable:!0,get:function(){return Fn.default}}),Object.defineProperty(t,"setISOWeek",{enumerable:!0,get:function(){return Hn.default}}),Object.defineProperty(t,"setISOWeekYear",{enumerable:!0,get:function(){return $n.default}}),Object.defineProperty(t,"setMilliseconds",{enumerable:!0,get:function(){return Wn.default}}),Object.defineProperty(t,"setMinutes",{enumerable:!0,get:function(){return Vn.default}}),Object.defineProperty(t,"setMonth",{enumerable:!0,get:function(){return zn.default}}),Object.defineProperty(t,"setQuarter",{enumerable:!0,get:function(){return qn.default}}),Object.defineProperty(t,"setSeconds",{enumerable:!0,get:function(){return Xn.default}}),Object.defineProperty(t,"setWeek",{enumerable:!0,get:function(){return Qn.default}}),Object.defineProperty(t,"setWeekYear",{enumerable:!0,get:function(){return Zn.default}}),Object.defineProperty(t,"setYear",{enumerable:!0,get:function(){return Gn.default}}),Object.defineProperty(t,"startOfDay",{enumerable:!0,get:function(){return Jn.default}}),Object.defineProperty(t,"startOfDecade",{enumerable:!0,get:function(){return Kn.default}}),Object.defineProperty(t,"startOfHour",{enumerable:!0,get:function(){return er.default}}),Object.defineProperty(t,"startOfISOWeek",{enumerable:!0,get:function(){return tr.default}}),Object.defineProperty(t,"startOfISOWeekYear",{enumerable:!0,get:function(){return nr.default}}),Object.defineProperty(t,"startOfMinute",{enumerable:!0,get:function(){return rr.default}}),Object.defineProperty(t,"startOfMonth",{enumerable:!0,get:function(){return or.default}}),Object.defineProperty(t,"startOfQuarter",{enumerable:!0,get:function(){return ar.default}}),Object.defineProperty(t,"startOfSecond",{enumerable:!0,get:function(){return ir.default}}),Object.defineProperty(t,"startOfToday",{enumerable:!0,get:function(){return ur.default}}),Object.defineProperty(t,"startOfTomorrow",{enumerable:!0,get:function(){return sr.default}}),Object.defineProperty(t,"startOfWeek",{enumerable:!0,get:function(){return cr.default}}),Object.defineProperty(t,"startOfWeekYear",{enumerable:!0,get:function(){return lr.default}}),Object.defineProperty(t,"startOfYear",{enumerable:!0,get:function(){return fr.default}}),Object.defineProperty(t,"startOfYesterday",{enumerable:!0,get:function(){return dr.default}}),Object.defineProperty(t,"sub",{enumerable:!0,get:function(){return pr.default}}),Object.defineProperty(t,"subBusinessDays",{enumerable:!0,get:function(){return vr.default}}),Object.defineProperty(t,"subDays",{enumerable:!0,get:function(){return yr.default}}),Object.defineProperty(t,"subHours",{enumerable:!0,get:function(){return hr.default}}),Object.defineProperty(t,"subISOWeekYears",{enumerable:!0,get:function(){return mr.default}}),Object.defineProperty(t,"subMilliseconds",{enumerable:!0,get:function(){return br.default}}),Object.defineProperty(t,"subMinutes",{enumerable:!0,get:function(){return gr.default}}),Object.defineProperty(t,"subMonths",{enumerable:!0,get:function(){return _r.default}}),Object.defineProperty(t,"subQuarters",{enumerable:!0,get:function(){return wr.default}}),Object.defineProperty(t,"subSeconds",{enumerable:!0,get:function(){return Or.default}}),Object.defineProperty(t,"subWeeks",{enumerable:!0,get:function(){return Pr.default}}),Object.defineProperty(t,"subYears",{enumerable:!0,get:function(){return xr.default}}),Object.defineProperty(t,"toDate",{enumerable:!0,get:function(){return jr.default}}),Object.defineProperty(t,"weeksToDays",{enumerable:!0,get:function(){return Tr.default}}),Object.defineProperty(t,"yearsToMonths",{enumerable:!0,get:function(){return kr.default}}),Object.defineProperty(t,"yearsToQuarters",{enumerable:!0,get:function(){return Sr.default}});var a=r(n(6222)),i=r(n(4992)),u=r(n(971)),s=r(n(2823)),c=r(n(7592)),l=r(n(7684)),f=r(n(5117)),d=r(n(1899)),p=r(n(2420)),v=r(n(1917)),y=r(n(7518)),h=r(n(7491)),m=r(n(3630)),b=r(n(5639)),g=r(n(2987)),_=r(n(570)),w=r(n(4765)),O=r(n(313)),P=r(n(9352)),x=r(n(4130)),j=r(n(4639)),T=r(n(8710)),k=r(n(8342)),S=r(n(8547)),M=r(n(4181)),D=r(n(5743)),C=r(n(2857)),E=r(n(1604)),R=r(n(1038)),I=r(n(648)),N=r(n(6063)),A=r(n(8875)),Y=r(n(2645)),L=r(n(250)),B=r(n(4864)),U=r(n(80)),F=r(n(6643)),H=r(n(6674)),$=r(n(2274)),W=r(n(58)),V=r(n(1761)),z=r(n(2362)),q=r(n(9246)),X=r(n(7402)),Q=r(n(2827)),Z=r(n(1860)),G=r(n(2522)),J=r(n(1581)),K=r(n(5515)),ee=r(n(7650)),te=r(n(7673)),ne=r(n(4343)),re=r(n(4744)),oe=r(n(1171)),ae=r(n(6089)),ie=r(n(7845)),ue=r(n(7271)),se=r(n(1589)),ce=r(n(2638)),le=r(n(7307)),fe=r(n(6115)),de=r(n(3665)),pe=r(n(2033)),ve=r(n(3786)),ye=r(n(5015)),he=r(n(1032)),me=r(n(6387)),be=r(n(8740)),ge=r(n(7657)),_e=r(n(8220)),we=r(n(469)),Oe=r(n(9883)),Pe=r(n(6553)),xe=r(n(6737)),je=r(n(6142)),Te=r(n(4858)),ke=r(n(9981)),Se=r(n(8368)),Me=r(n(941)),De=r(n(8123)),Ce=r(n(5910)),Ee=r(n(7282)),Re=r(n(821)),Ie=r(n(5832)),Ne=r(n(4314)),Ae=r(n(5758)),Ye=r(n(2735)),Le=r(n(9437)),Be=r(n(8975)),Ue=r(n(9046)),Fe=r(n(4812)),He=r(n(3856)),$e=r(n(1063)),We=r(n(6794)),Ve=r(n(6714)),ze=r(n(732)),qe=r(n(4548)),Xe=r(n(4719)),Qe=r(n(1280)),Ze=r(n(2484)),Ge=r(n(7758)),Je=r(n(5369)),Ke=r(n(2684)),et=r(n(1880)),tt=r(n(6837)),nt=r(n(8725)),rt=r(n(1660)),ot=r(n(8026)),at=r(n(888)),it=r(n(5877)),ut=r(n(9742)),st=r(n(4665)),ct=r(n(4994)),lt=r(n(160)),ft=r(n(4102)),dt=r(n(4293)),pt=r(n(1911)),vt=r(n(2335)),yt=r(n(3652)),ht=r(n(1340)),mt=r(n(5228)),bt=r(n(5164)),gt=r(n(3111)),_t=r(n(4317)),wt=r(n(3358)),Ot=r(n(8753)),Pt=r(n(6340)),xt=r(n(2377)),jt=r(n(7768)),Tt=r(n(7568)),kt=r(n(9605)),St=r(n(7093)),Mt=r(n(5057)),Dt=r(n(9011)),Ct=r(n(9462)),Et=r(n(4772)),Rt=r(n(3158)),It=r(n(7761)),Nt=r(n(4830)),At=r(n(6572)),Yt=r(n(4750)),Lt=r(n(5265)),Bt=r(n(7707)),Ut=r(n(7214)),Ft=r(n(9018)),Ht=r(n(6376)),$t=r(n(5195)),Wt=r(n(4400)),Vt=r(n(3983)),zt=r(n(7132)),qt=r(n(3763)),Xt=r(n(6453)),Qt=r(n(8292)),Zt=r(n(6870)),Gt=r(n(6495)),Jt=r(n(7821)),Kt=r(n(9804)),en=r(n(5394)),tn=r(n(2848)),nn=r(n(7907)),rn=r(n(1853)),on=r(n(6175)),an=r(n(8015)),un=r(n(935)),sn=r(n(653)),cn=r(n(7275)),ln=r(n(8749)),fn=r(n(6189)),dn=r(n(9653)),pn=r(n(2459)),vn=r(n(6645)),yn=r(n(1263)),hn=r(n(7382)),mn=r(n(2829)),bn=r(n(1504)),gn=r(n(7731)),_n=r(n(8515)),wn=r(n(1105)),On=r(n(4467)),Pn=r(n(7074)),xn=r(n(1265)),jn=r(n(123)),Tn=r(n(8783)),kn=r(n(6864)),Sn=r(n(9495)),Mn=r(n(6688)),Dn=r(n(2064)),Cn=r(n(6009)),En=r(n(5341)),Rn=r(n(1213)),In=r(n(3645)),Nn=r(n(9393)),An=r(n(8785)),Yn=r(n(7607)),Ln=r(n(4118)),Bn=r(n(4241)),Un=r(n(4326)),Fn=r(n(8727)),Hn=r(n(196)),$n=r(n(3040)),Wn=r(n(1152)),Vn=r(n(7304)),zn=r(n(7277)),qn=r(n(8033)),Xn=r(n(9597)),Qn=r(n(3193)),Zn=r(n(950)),Gn=r(n(7764)),Jn=r(n(2127)),Kn=r(n(855)),er=r(n(4615)),tr=r(n(740)),nr=r(n(5030)),rr=r(n(7013)),or=r(n(7265)),ar=r(n(4715)),ir=r(n(4755)),ur=r(n(9182)),sr=r(n(3740)),cr=r(n(384)),lr=r(n(1514)),fr=r(n(2403)),dr=r(n(5166)),pr=r(n(6273)),vr=r(n(6383)),yr=r(n(1286)),hr=r(n(8049)),mr=r(n(3185)),br=r(n(6128)),gr=r(n(6390)),_r=r(n(5501)),wr=r(n(4811)),Or=r(n(4710)),Pr=r(n(9416)),xr=r(n(1149)),jr=r(n(2368)),Tr=r(n(917)),kr=r(n(5309)),Sr=r(n(4969)),Mr=n(1186);Object.keys(Mr).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(o,e)||e in t&&t[e]===Mr[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return Mr[e]}}))}))},2684:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){(0,p.default)(1,arguments);var t=(0,d.default)(e.start),n=(0,d.default)(e.end);if(isNaN(t.getTime()))throw new RangeError("Start Date is invalid");if(isNaN(n.getTime()))throw new RangeError("End Date is invalid");var r={};r.years=Math.abs((0,f.default)(n,t));var v=(0,o.default)(n,t),y=(0,a.default)(t,{years:v*r.years});r.months=Math.abs((0,c.default)(n,y));var h=(0,a.default)(y,{months:v*r.months});r.days=Math.abs((0,i.default)(n,h));var m=(0,a.default)(h,{days:v*r.days});r.hours=Math.abs((0,u.default)(n,m));var b=(0,a.default)(m,{hours:v*r.hours});r.minutes=Math.abs((0,s.default)(n,b));var g=(0,a.default)(b,{minutes:v*r.minutes});return r.seconds=Math.abs((0,l.default)(n,g)),r};var o=r(n(4765)),a=r(n(6222)),i=r(n(1604)),u=r(n(1038)),s=r(n(8875)),c=r(n(2645)),l=r(n(4864)),f=r(n(6643)),d=r(n(2368)),p=r(n(9652))},6837:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n){(0,v.default)(2,arguments);var r,y=0,h=(0,p.default)(e),m=(0,p.default)(t);if(null!=n&&n.unit)"second"===(r=null==n?void 0:n.unit)?y=(0,d.default)(h,m):"minute"===r?y=(0,f.default)(h,m):"hour"===r?y=(0,l.default)(h,m):"day"===r?y=(0,a.default)(h,m):"week"===r?y=(0,s.default)(h,m):"month"===r?y=(0,i.default)(h,m):"quarter"===r?y=(0,u.default)(h,m):"year"===r&&(y=(0,c.default)(h,m));else{var b=(0,d.default)(h,m);Math.abs(b)r.getTime()};var o=r(n(2368)),a=r(n(9652))},1660:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){(0,a.default)(2,arguments);var n=(0,o.default)(e),r=(0,o.default)(t);return n.getTime()Date.now()};var o=r(n(2368)),a=r(n(9652))},160:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){(0,u.default)(1,arguments);var t=(0,o.default)(e);return(0,a.default)(t).getTime()===(0,i.default)(t).getTime()};var o=r(n(2368)),a=r(n(1581)),i=r(n(1171)),u=r(n(9652))},4102:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){(0,a.default)(1,arguments);var t=(0,o.default)(e),n=t.getFullYear();return n%400==0||n%4==0&&n%100!=0};var o=r(n(2368)),a=r(n(9652))},4293:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n){return(0,i.default)(2,arguments),(0,a.default)((0,o.default)(e,t,new Date,n))};var o=r(n(1504)),a=r(n(7707)),i=r(n(9652))},1911:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,a.default)(1,arguments),1===(0,o.default)(e).getDay()};var o=r(n(2368)),a=r(n(9652))},2335:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,a.default)(1,arguments),(0,o.default)(e).getTime()=r&&n<=i};var o=r(n(2368)),a=r(n(9652))},5195:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,i.default)(1,arguments),(0,o.default)(e,(0,a.default)(Date.now(),1))};var o=r(n(3652)),a=r(n(1286)),i=r(n(9652))},4400:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){(0,a.default)(1,arguments);var t=(0,o.default)(e),n=t.getFullYear(),r=9+10*Math.floor(n/10);return t.setFullYear(r+1,0,0),t.setHours(0,0,0,0),t};var o=r(n(2368)),a=r(n(9652))},7132:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){(0,i.default)(1,arguments);var t=(0,o.default)(e),n=new Date(0);n.setFullYear(t+1,0,4),n.setHours(0,0,0,0);var r=(0,a.default)(n);return r.setDate(r.getDate()-1),r};var o=r(n(4314)),a=r(n(740)),i=r(n(9652))},3983:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,a.default)(1,arguments),(0,o.default)(e,{weekStartsOn:1})};var o=r(n(8292)),a=r(n(9652))},3763:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){(0,a.default)(1,arguments);var t=(0,o.default)(e),n=t.getMonth();return t.setFullYear(t.getFullYear(),n+1,0),t.setHours(0,0,0,0),t};var o=r(n(2368)),a=r(n(9652))},6453:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){(0,a.default)(1,arguments);var t=(0,o.default)(e),n=t.getMonth(),r=n-n%3+3;return t.setMonth(r,0),t.setHours(0,0,0,0),t};var o=r(n(2368)),a=r(n(9652))},8292:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var n,r,s,c,l,f,d,p;(0,i.default)(1,arguments);var v=(0,u.getDefaultOptions)(),y=(0,a.default)(null!==(n=null!==(r=null!==(s=null!==(c=null==t?void 0:t.weekStartsOn)&&void 0!==c?c:null==t||null===(l=t.locale)||void 0===l||null===(f=l.options)||void 0===f?void 0:f.weekStartsOn)&&void 0!==s?s:v.weekStartsOn)&&void 0!==r?r:null===(d=v.locale)||void 0===d||null===(p=d.options)||void 0===p?void 0:p.weekStartsOn)&&void 0!==n?n:0);if(!(y>=0&&y<=6))throw new RangeError("weekStartsOn must be between 0 and 6");var h=(0,o.default)(e),m=h.getDay(),b=6+(m0&&void 0!==arguments[0]?arguments[0]:{},n=t.width?String(t.width):e.defaultWidth,r=e.formats[n]||e.formats[e.defaultWidth];return r}}},8844:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return function(t,n){var r;if("formatting"===(null!=n&&n.context?String(n.context):"standalone")&&e.formattingValues){var o=e.defaultFormattingWidth||e.defaultWidth,a=null!=n&&n.width?String(n.width):o;r=e.formattingValues[a]||e.formattingValues[o]}else{var i=e.defaultWidth,u=null!=n&&n.width?String(n.width):e.defaultWidth;r=e.values[u]||e.values[i]}return r[e.argumentCallback?e.argumentCallback(t):t]}}},8793:function(e,t){"use strict";function n(e,t){for(var n in e)if(e.hasOwnProperty(n)&&t(e[n]))return n}function r(e,t){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:{},a=o.width,i=a&&e.matchPatterns[a]||e.matchPatterns[e.defaultMatchWidth],u=t.match(i);if(!u)return null;var s,c=u[0],l=a&&e.parsePatterns[a]||e.parsePatterns[e.defaultParseWidth],f=Array.isArray(l)?r(l,(function(e){return e.test(c)})):n(l,(function(e){return e.test(c)}));s=e.valueCallback?e.valueCallback(f):f,s=o.valueCallback?o.valueCallback(s):s;var d=t.slice(c.length);return{value:s,rest:d}}}},8730:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.match(e.matchPattern);if(!r)return null;var o=r[0],a=t.match(e.parsePattern);if(!a)return null;var i=e.valueCallback?e.valueCallback(a[0]):a[0];i=n.valueCallback?n.valueCallback(i):i;var u=t.slice(o.length);return{value:i,rest:u}}}},2019:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n={lessThanXSeconds:{one:"less than a second",other:"less than seconds"},xSeconds:{one:"1 second",other:" seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than minutes"},xMinutes:{one:"1 minute",other:" minutes"},aboutXHours:{one:"about 1 hour",other:"about hours"},xHours:{one:"1 hour",other:" hours"},xDays:{one:"1 day",other:" days"},aboutXWeeks:{one:"about 1 week",other:"about weeks"},xWeeks:{one:"1 week",other:" weeks"},aboutXMonths:{one:"about 1 month",other:"about months"},xMonths:{one:"1 month",other:" months"},aboutXYears:{one:"about 1 year",other:"about years"},xYears:{one:"1 year",other:" years"},overXYears:{one:"over 1 year",other:"over years"},almostXYears:{one:"almost 1 year",other:"almost years"}};t.default=function(e,t,r){var o,a=n[e];return o="string"==typeof a?a:1===t?a.one:a.other.replace("",t.toString()),null!=r&&r.addSuffix?r.comparison&&r.comparison>0?"in "+o:o+" ago":o}},8296:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=r(n(7198)),a={date:(0,o.default)({formats:{full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},defaultWidth:"full"}),time:(0,o.default)({formats:{full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},defaultWidth:"full"}),dateTime:(0,o.default)({formats:{full:"1724147598038 'at' ",long:"1724147598038 'at' ",medium:"1724147598038, ",short:"1724147598038, "},defaultWidth:"full"})};t.default=a},8651:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"};t.default=function(e,t,r,o){return n[e]}},3871:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=r(n(8844)),a={ordinalNumber:function(e,t){var n=Number(e),r=n%100;if(r>20||r<10)switch(r%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},era:(0,o.default)({values:{narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},defaultWidth:"wide"}),quarter:(0,o.default)({values:{narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},defaultWidth:"wide",argumentCallback:function(e){return e-1}}),month:(0,o.default)({values:{narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},defaultWidth:"wide"}),day:(0,o.default)({values:{narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},defaultWidth:"wide"}),dayPeriod:(0,o.default)({values:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},defaultWidth:"wide",formattingValues:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},defaultFormattingWidth:"wide"})};t.default=a},7480:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=r(n(8793)),a={ordinalNumber:(0,r(n(8730)).default)({matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:function(e){return parseInt(e,10)}}),era:(0,o.default)({matchPatterns:{narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},defaultMatchWidth:"wide",parsePatterns:{any:[/^b/i,/^(a|c)/i]},defaultParseWidth:"any"}),quarter:(0,o.default)({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},defaultMatchWidth:"wide",parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:"any",valueCallback:function(e){return e+1}}),month:(0,o.default)({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:"any"}),day:(0,o.default)({matchPatterns:{narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},defaultParseWidth:"any"}),dayPeriod:(0,o.default)({matchPatterns:{narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},defaultMatchWidth:"any",parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},defaultParseWidth:"any"})};t.default=a},5038:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=r(n(2019)),a=r(n(8296)),i=r(n(8651)),u=r(n(3871)),s=r(n(7480)),c={code:"en-US",formatDistance:o.default,formatLong:a.default,formatRelative:i.default,localize:u.default,match:s.default,options:{weekStartsOn:0,firstWeekContainsDate:1}};t.default=c},7821:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t,n;if((0,a.default)(1,arguments),e&&"function"==typeof e.forEach)t=e;else{if("object"!==i(e)||null===e)return new Date(NaN);t=Array.prototype.slice.call(e)}return t.forEach((function(e){var t=(0,o.default)(e);(void 0===n||nt||isNaN(t.getDate()))&&(n=t)})),n||new Date(NaN)};var o=r(n(2368)),a=r(n(9652));function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}},6175:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){(0,o.default)(1,arguments);var t=e/a.minutesInHour;return Math.floor(t)};var o=r(n(9652)),a=n(1186)},8015:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,o.default)(1,arguments),Math.floor(e*a.millisecondsInMinute)};var o=r(n(9652)),a=n(1186)},935:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,o.default)(1,arguments),Math.floor(e*a.secondsInMinute)};var o=r(n(9652)),a=n(1186)},653:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){(0,o.default)(1,arguments);var t=e/a.monthsInQuarter;return Math.floor(t)};var o=r(n(9652)),a=n(1186)},7275:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){(0,o.default)(1,arguments);var t=e/a.monthsInYear;return Math.floor(t)};var o=r(n(9652)),a=n(1186)},8749:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){(0,i.default)(2,arguments);var n=t-(0,a.default)(e);return n<=0&&(n+=7),(0,o.default)(e,n)};var o=r(n(971)),a=r(n(4858)),i=r(n(9652))},6189:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,a.default)(1,arguments),(0,o.default)(e,5)};var o=r(n(8749)),a=r(n(9652))},9653:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,a.default)(1,arguments),(0,o.default)(e,1)};var o=r(n(8749)),a=r(n(9652))},2459:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,a.default)(1,arguments),(0,o.default)(e,6)};var o=r(n(8749)),a=r(n(9652))},6645:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,a.default)(1,arguments),(0,o.default)(e,0)};var o=r(n(8749)),a=r(n(9652))},1263:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,a.default)(1,arguments),(0,o.default)(e,4)};var o=r(n(8749)),a=r(n(9652))},7382:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,a.default)(1,arguments),(0,o.default)(e,2)};var o=r(n(8749)),a=r(n(9652))},2829:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,a.default)(1,arguments),(0,o.default)(e,3)};var o=r(n(8749)),a=r(n(9652))},7731:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var n;(0,a.default)(1,arguments);var r=(0,i.default)(null!==(n=null==t?void 0:t.additionalDigits)&&void 0!==n?n:2);if(2!==r&&1!==r&&0!==r)throw new RangeError("additionalDigits must be 0, 1 or 2");if("string"!=typeof e&&"[object String]"!==Object.prototype.toString.call(e))return new Date(NaN);var o,u=f(e);if(u.date){var s=d(u.date,r);o=p(s.restDateString,s.year)}if(!o||isNaN(o.getTime()))return new Date(NaN);var c,l=o.getTime(),v=0;if(u.time&&(v=y(u.time),isNaN(v)))return new Date(NaN);if(!u.timezone){var h=new Date(l+v),b=new Date(0);return b.setFullYear(h.getUTCFullYear(),h.getUTCMonth(),h.getUTCDate()),b.setHours(h.getUTCHours(),h.getUTCMinutes(),h.getUTCSeconds(),h.getUTCMilliseconds()),b}return c=m(u.timezone),isNaN(c)?new Date(NaN):new Date(l+v+c)};var o=n(1186),a=r(n(9652)),i=r(n(2449)),u={dateTimeDelimiter:/[T ]/,timeZoneDelimiter:/[Z ]/i,timezone:/([Z+-].*)$/},s=/^-?(?:(\d{3})|(\d{2})(?:-?(\d{2}))?|W(\d{2})(?:-?(\d{1}))?|)$/,c=/^(\d{2}(?:[.,]\d*)?)(?::?(\d{2}(?:[.,]\d*)?))?(?::?(\d{2}(?:[.,]\d*)?))?$/,l=/^([+-])(\d{2})(?::?(\d{2}))?$/;function f(e){var t,n={},r=e.split(u.dateTimeDelimiter);if(r.length>2)return n;if(/:/.test(r[0])?t=r[0]:(n.date=r[0],t=r[1],u.timeZoneDelimiter.test(n.date)&&(n.date=e.split(u.timeZoneDelimiter)[0],t=e.substr(n.date.length,e.length))),t){var o=u.timezone.exec(t);o?(n.time=t.replace(o[1],""),n.timezone=o[1]):n.time=t}return n}function d(e,t){var n=new RegExp("^(?:(\\d{4}|[+-]\\d{"+(4+t)+"})|(\\d{2}|[+-]\\d{"+(2+t)+"})$)"),r=e.match(n);if(!r)return{year:NaN,restDateString:""};var o=r[1]?parseInt(r[1]):null,a=r[2]?parseInt(r[2]):null;return{year:null===a?o:100*a,restDateString:e.slice((r[1]||r[2]).length)}}function p(e,t){if(null===t)return new Date(NaN);var n=e.match(s);if(!n)return new Date(NaN);var r=!!n[4],o=v(n[1]),a=v(n[2])-1,i=v(n[3]),u=v(n[4]),c=v(n[5])-1;if(r)return function(e,t,n){return t>=1&&t<=53&&n>=0&&n<=6}(0,u,c)?function(e,t,n){var r=new Date(0);r.setUTCFullYear(e,0,4);var o=7*(t-1)+n+1-(r.getUTCDay()||7);return r.setUTCDate(r.getUTCDate()+o),r}(t,u,c):new Date(NaN);var l=new Date(0);return function(e,t,n){return t>=0&&t<=11&&n>=1&&n<=(b[t]||(g(e)?29:28))}(t,a,i)&&function(e,t){return t>=1&&t<=(g(e)?366:365)}(t,o)?(l.setUTCFullYear(t,a,Math.max(o,i)),l):new Date(NaN)}function v(e){return e?parseInt(e):1}function y(e){var t=e.match(c);if(!t)return NaN;var n=h(t[1]),r=h(t[2]),a=h(t[3]);return function(e,t,n){return 24===e?0===t&&0===n:n>=0&&n<60&&t>=0&&t<60&&e>=0&&e<25}(n,r,a)?n*o.millisecondsInHour+r*o.millisecondsInMinute+1e3*a:NaN}function h(e){return e&&parseFloat(e.replace(",","."))||0}function m(e){if("Z"===e)return 0;var t=e.match(l);if(!t)return 0;var n="+"===t[1]?-1:1,r=parseInt(t[2]),a=t[3]&&parseInt(t[3])||0;return function(e,t){return t>=0&&t<=59}(0,a)?n*(r*o.millisecondsInHour+a*o.millisecondsInMinute):NaN}var b=[31,null,31,30,31,30,31,31,30,31,30,31];function g(e){return e%400==0||e%4==0&&e%100!=0}},8515:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){if((0,a.default)(1,arguments),"string"==typeof e){var t=e.match(/(\d{4})-(\d{2})-(\d{2})[T ](\d{2}):(\d{2}):(\d{2})(?:\.(\d{0,7}))?(?:Z|(.)(\d{2}):?(\d{2})?)?/);return t?new Date(Date.UTC(+t[1],+t[2]-1,+t[3],+t[4]-(+t[9]||0)*("-"==t[8]?-1:1),+t[5]-(+t[10]||0)*("-"==t[8]?-1:1),+t[6],+((t[7]||"0")+"00").substring(0,3))):new Date(NaN)}return(0,o.default)(e)};var o=r(n(2368)),a=r(n(9652))},8086:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Parser=void 0;var r=n(2247);function o(e,t){for(var n=0;n=1&&t<=y[a]:t>=1&&t<=v[a]}},{key:"set",value:function(e,t,n){return e.setUTCDate(n),e.setUTCHours(0,0,0,0),e}}])&&s(t.prototype,n),m}(o.Parser);t.DateParser=h},1069:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DayOfYearParser=void 0;var r=n(8086),o=n(712),a=n(2526);function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function u(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){for(var n=0;n=1&&t<=366:t>=1&&t<=365}},{key:"set",value:function(e,t,n){return e.setUTCMonth(0,n),e.setUTCHours(0,0,0,0),e}}])&&s(t.prototype,n),y}(r.Parser);t.DayOfYearParser=v},2826:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.DayParser=void 0;var o=n(8086),a=r(n(7169));function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function u(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){for(var n=0;n=0&&t<=6}},{key:"set",value:function(e,t,n,r){return(e=(0,a.default)(e,n,r)).setUTCHours(0,0,0,0),e}}])&&s(t.prototype,n),v}(o.Parser);t.DayParser=v},1446:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DayPeriodParser=void 0;var r=n(8086),o=n(2526);function a(e){return a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a(e)}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function u(e,t){for(var n=0;n=0&&t<=11}},{key:"set",value:function(e,t,n){return e.getUTCHours()>=12&&n<12?e.setUTCHours(n+12,0,0,0):e.setUTCHours(n,0,0,0),e}}])&&s(t.prototype,n),y}(r.Parser);t.Hour0To11Parser=v},9457:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Hour0to23Parser=void 0;var r=n(8086),o=n(712),a=n(2526);function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function u(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){for(var n=0;n=0&&t<=23}},{key:"set",value:function(e,t,n){return e.setUTCHours(n,0,0,0),e}}])&&s(t.prototype,n),y}(r.Parser);t.Hour0to23Parser=v},8275:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Hour1To24Parser=void 0;var r=n(8086),o=n(712),a=n(2526);function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function u(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){for(var n=0;n=1&&t<=24}},{key:"set",value:function(e,t,n){var r=n<=24?n%24:n;return e.setUTCHours(r,0,0,0),e}}])&&s(t.prototype,n),y}(r.Parser);t.Hour1To24Parser=v},4146:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Hour1to12Parser=void 0;var r=n(8086),o=n(712),a=n(2526);function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function u(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){for(var n=0;n=1&&t<=12}},{key:"set",value:function(e,t,n){var r=e.getUTCHours()>=12;return r&&n<12?e.setUTCHours(n+12,0,0,0):r||12!==n?e.setUTCHours(n,0,0,0):e.setUTCHours(0,0,0,0),e}}])&&s(t.prototype,n),y}(r.Parser);t.Hour1to12Parser=v},9839:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.ISODayParser=void 0;var o=n(8086),a=n(2526),i=r(n(7454));function u(e){return u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},u(e)}function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function c(e,t){for(var n=0;n=1&&t<=7}},{key:"set",value:function(e,t,n){return(e=(0,i.default)(e,n)).setUTCHours(0,0,0,0),e}}])&&c(t.prototype,n),y}(o.Parser);t.ISODayParser=y},3178:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ISOTimezoneParser=void 0;var r=n(8086),o=n(712),a=n(2526);function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function u(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){for(var n=0;n=1&&t<=53}},{key:"set",value:function(e,t,n){return(0,s.default)((0,u.default)(e,n))}}])&&f(t.prototype,n),m}(o.Parser);t.ISOWeekParser=m},4714:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.ISOWeekYearParser=void 0;var o=n(8086),a=n(2526),i=r(n(7295));function u(e){return u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},u(e)}function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function c(e,t){for(var n=0;n=0&&t<=6}},{key:"set",value:function(e,t,n,r){return(e=(0,i.default)(e,n,r)).setUTCHours(0,0,0,0),e}}])&&c(t.prototype,n),y}(o.Parser);t.LocalDayParser=y},4284:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.LocalWeekParser=void 0;var o=n(8086),a=n(712),i=n(2526),u=r(n(9137)),s=r(n(9087));function c(e){return c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},c(e)}function l(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function f(e,t){for(var n=0;n=1&&t<=53}},{key:"set",value:function(e,t,n,r){return(0,s.default)((0,u.default)(e,n,r),r)}}])&&f(t.prototype,n),m}(o.Parser);t.LocalWeekParser=m},1235:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.LocalWeekYearParser=void 0;var o=n(8086),a=n(2526),i=r(n(5970)),u=r(n(9087));function s(e){return s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},s(e)}function c(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){for(var n=0;n0}},{key:"set",value:function(e,t,n,r){var o=(0,i.default)(e,r);if(n.isTwoDigitYear){var s=(0,a.normalizeTwoDigitYear)(n.year,o);return e.setUTCFullYear(s,0,r.firstWeekContainsDate),e.setUTCHours(0,0,0,0),(0,u.default)(e,r)}var c="era"in t&&1!==t.era?1-n.year:n.year;return e.setUTCFullYear(c,0,r.firstWeekContainsDate),e.setUTCHours(0,0,0,0),(0,u.default)(e,r)}}])&&l(t.prototype,n),h}(o.Parser);t.LocalWeekYearParser=h},4303:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MinuteParser=void 0;var r=n(8086),o=n(712),a=n(2526);function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function u(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){for(var n=0;n=0&&t<=59}},{key:"set",value:function(e,t,n){return e.setUTCMinutes(n,0,0),e}}])&&s(t.prototype,n),y}(r.Parser);t.MinuteParser=v},5282:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MonthParser=void 0;var r=n(2526),o=n(8086),a=n(712);function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function u(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){for(var n=0;n=0&&t<=11}},{key:"set",value:function(e,t,n){return e.setUTCMonth(n,1),e.setUTCHours(0,0,0,0),e}}])&&s(t.prototype,n),y}(o.Parser);t.MonthParser=v},3357:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.QuarterParser=void 0;var r=n(8086),o=n(2526);function a(e){return a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a(e)}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function u(e,t){for(var n=0;n=1&&t<=4}},{key:"set",value:function(e,t,n){return e.setUTCMonth(3*(n-1),1),e.setUTCHours(0,0,0,0),e}}])&&u(t.prototype,n),v}(r.Parser);t.QuarterParser=p},9806:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SecondParser=void 0;var r=n(8086),o=n(712),a=n(2526);function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function u(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){for(var n=0;n=0&&t<=59}},{key:"set",value:function(e,t,n){return e.setUTCSeconds(n,0),e}}])&&s(t.prototype,n),y}(r.Parser);t.SecondParser=v},8333:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.StandAloneLocalDayParser=void 0;var o=n(8086),a=n(2526),i=r(n(7169));function u(e){return u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},u(e)}function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function c(e,t){for(var n=0;n=0&&t<=6}},{key:"set",value:function(e,t,n,r){return(e=(0,i.default)(e,n,r)).setUTCHours(0,0,0,0),e}}])&&c(t.prototype,n),y}(o.Parser);t.StandAloneLocalDayParser=y},6231:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StandAloneMonthParser=void 0;var r=n(8086),o=n(712),a=n(2526);function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function u(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){for(var n=0;n=0&&t<=11}},{key:"set",value:function(e,t,n){return e.setUTCMonth(n,1),e.setUTCHours(0,0,0,0),e}}])&&s(t.prototype,n),y}(r.Parser);t.StandAloneMonthParser=v},8298:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StandAloneQuarterParser=void 0;var r=n(8086),o=n(2526);function a(e){return a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a(e)}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function u(e,t){for(var n=0;n=1&&t<=4}},{key:"set",value:function(e,t,n){return e.setUTCMonth(3*(n-1),1),e.setUTCHours(0,0,0,0),e}}])&&u(t.prototype,n),v}(r.Parser);t.StandAloneQuarterParser=p},7804:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TimestampMillisecondsParser=void 0;var r=n(8086),o=n(2526);function a(e){return a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a(e)}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function u(e,t){for(var n=0;n0}},{key:"set",value:function(e,t,n){var r=e.getUTCFullYear();if(n.isTwoDigitYear){var a=(0,o.normalizeTwoDigitYear)(n.year,r);return e.setUTCFullYear(a,0,1),e.setUTCHours(0,0,0,0),e}var i="era"in t&&1!==t.era?1-n.year:n.year;return e.setUTCFullYear(i,0,1),e.setUTCHours(0,0,0,0),e}}])&&u(t.prototype,n),v}(r.Parser);t.YearParser=p},9076:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.parsers=void 0;var r=n(6529),o=n(6274),a=n(1235),i=n(4714),u=n(879),s=n(3357),c=n(8298),l=n(5282),f=n(6231),d=n(4284),p=n(9564),v=n(6617),y=n(1069),h=n(2826),m=n(2410),b=n(8333),g=n(9839),_=n(4142),w=n(1628),O=n(1446),P=n(4146),x=n(9457),j=n(8953),T=n(8275),k=n(4303),S=n(9806),M=n(9071),D=n(8845),C=n(3178),E=n(8098),R=n(7804),I={G:new r.EraParser,y:new o.YearParser,Y:new a.LocalWeekYearParser,R:new i.ISOWeekYearParser,u:new u.ExtendedYearParser,Q:new s.QuarterParser,q:new c.StandAloneQuarterParser,M:new l.MonthParser,L:new f.StandAloneMonthParser,w:new d.LocalWeekParser,I:new p.ISOWeekParser,d:new v.DateParser,D:new y.DayOfYearParser,E:new h.DayParser,e:new m.LocalDayParser,c:new b.StandAloneLocalDayParser,i:new g.ISODayParser,a:new _.AMPMParser,b:new w.AMPMMidnightParser,B:new O.DayPeriodParser,h:new P.Hour1to12Parser,H:new x.Hour0to23Parser,K:new j.Hour0To11Parser,k:new T.Hour1To24Parser,m:new k.MinuteParser,s:new S.SecondParser,S:new M.FractionOfSecondParser,X:new D.ISOTimezoneWithZParser,x:new C.ISOTimezoneParser,t:new E.TimestampSecondsParser,T:new R.TimestampMillisecondsParser};t.parsers=I},2526:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.dayPeriodEnumToHours=function(e){switch(e){case"morning":return 4;case"evening":return 17;case"pm":case"noon":case"afternoon":return 12;default:return 0}},t.isLeapYearIndex=function(e){return e%400==0||e%4==0&&e%100!=0},t.mapValue=function(e,t){return e?{value:t(e.value),rest:e.rest}:e},t.normalizeTwoDigitYear=function(e,t){var n,r=t>0,o=r?t:1-t;if(o<=50)n=e||100;else{var a=o+50;n=e+100*Math.floor(a/100)-(e>=a%100?100:0)}return r?n:1-n},t.parseAnyDigitsSigned=function(e){return a(o.numericPatterns.anyDigitsSigned,e)},t.parseNDigits=function(e,t){switch(e){case 1:return a(o.numericPatterns.singleDigit,t);case 2:return a(o.numericPatterns.twoDigits,t);case 3:return a(o.numericPatterns.threeDigits,t);case 4:return a(o.numericPatterns.fourDigits,t);default:return a(new RegExp("^\\d{1,"+e+"}"),t)}},t.parseNDigitsSigned=function(e,t){switch(e){case 1:return a(o.numericPatterns.singleDigitSigned,t);case 2:return a(o.numericPatterns.twoDigitsSigned,t);case 3:return a(o.numericPatterns.threeDigitsSigned,t);case 4:return a(o.numericPatterns.fourDigitsSigned,t);default:return a(new RegExp("^-?\\d{1,"+e+"}"),t)}},t.parseNumericPattern=a,t.parseTimezonePattern=function(e,t){var n=t.match(e);if(!n)return null;if("Z"===n[0])return{value:0,rest:t.slice(1)};var o="+"===n[1]?1:-1,a=n[2]?parseInt(n[2],10):0,i=n[3]?parseInt(n[3],10):0,u=n[5]?parseInt(n[5],10):0;return{value:o*(a*r.millisecondsInHour+i*r.millisecondsInMinute+u*r.millisecondsInSecond),rest:t.slice(n[0].length)}};var r=n(1186),o=n(712);function a(e,t){var n=t.match(e);return n?{value:parseInt(n[0],10),rest:t.slice(n[0].length)}:null}},1504:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n,r){var b,w,O,T,k,S,M,D,C,E,R,I,N,A,Y,L,B,U;(0,d.default)(3,arguments);var F=String(e),H=String(t),$=(0,y.getDefaultOptions)(),W=null!==(b=null!==(w=null==r?void 0:r.locale)&&void 0!==w?w:$.locale)&&void 0!==b?b:o.default;if(!W.match)throw new RangeError("locale must contain match property");var V=(0,f.default)(null!==(O=null!==(T=null!==(k=null!==(S=null==r?void 0:r.firstWeekContainsDate)&&void 0!==S?S:null==r||null===(M=r.locale)||void 0===M||null===(D=M.options)||void 0===D?void 0:D.firstWeekContainsDate)&&void 0!==k?k:$.firstWeekContainsDate)&&void 0!==T?T:null===(C=$.locale)||void 0===C||null===(E=C.options)||void 0===E?void 0:E.firstWeekContainsDate)&&void 0!==O?O:1);if(!(V>=1&&V<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var z=(0,f.default)(null!==(R=null!==(I=null!==(N=null!==(A=null==r?void 0:r.weekStartsOn)&&void 0!==A?A:null==r||null===(Y=r.locale)||void 0===Y||null===(L=Y.options)||void 0===L?void 0:L.weekStartsOn)&&void 0!==N?N:$.weekStartsOn)&&void 0!==I?I:null===(B=$.locale)||void 0===B||null===(U=B.options)||void 0===U?void 0:U.weekStartsOn)&&void 0!==R?R:0);if(!(z>=0&&z<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");if(""===H)return""===F?(0,i.default)(n):new Date(NaN);var q,X={firstWeekContainsDate:V,weekStartsOn:z,locale:W},Q=[new p.DateToSystemTimezoneSetter],Z=H.match(_).map((function(e){var t=e[0];return t in s.default?(0,s.default[t])(e,W.formatLong):e})).join("").match(g),G=[],J=m(Z);try{var K=function(){var t=q.value;null!=r&&r.useAdditionalWeekYearTokens||!(0,l.isProtectedWeekYearToken)(t)||(0,l.throwProtectedError)(t,H,e),null!=r&&r.useAdditionalDayOfYearTokens||!(0,l.isProtectedDayOfYearToken)(t)||(0,l.throwProtectedError)(t,H,e);var n=t[0],o=v.parsers[n];if(o){var a=o.incompatibleTokens;if(Array.isArray(a)){var i=G.find((function(e){return a.includes(e.token)||e.token===n}));if(i)throw new RangeError("The format string mustn't contain `".concat(i.fullToken,"` and `").concat(t,"` at the same time"))}else if("*"===o.incompatibleTokens&&G.length>0)throw new RangeError("The format string mustn't contain `".concat(t,"` and any other token at the same time"));G.push({token:n,fullToken:t});var u=o.run(F,t,W.match,X);if(!u)return{v:new Date(NaN)};Q.push(u.setter),F=u.rest}else{if(n.match(x))throw new RangeError("Format string contains an unescaped latin alphabet character `"+n+"`");if("''"===t?t="'":"'"===n&&(t=j(t)),0!==F.indexOf(t))return{v:new Date(NaN)};F=F.slice(t.length)}};for(J.s();!(q=J.n()).done;){var ee=K();if("object"===h(ee))return ee.v}}catch(e){J.e(e)}finally{J.f()}if(F.length>0&&P.test(F))return new Date(NaN);var te=Q.map((function(e){return e.priority})).sort((function(e,t){return t-e})).filter((function(e,t,n){return n.indexOf(e)===t})).map((function(e){return Q.filter((function(t){return t.priority===e})).sort((function(e,t){return t.subPriority-e.subPriority}))})).map((function(e){return e[0]})),ne=(0,i.default)(n);if(isNaN(ne.getTime()))return new Date(NaN);var re,oe=(0,a.default)(ne,(0,c.default)(ne)),ae={},ie=m(te);try{for(ie.s();!(re=ie.n()).done;){var ue=re.value;if(!ue.validate(oe,X))return new Date(NaN);var se=ue.set(oe,ae,X);Array.isArray(se)?(oe=se[0],(0,u.default)(ae,se[1])):oe=se}}catch(e){ie.e(e)}finally{ie.f()}return oe};var o=r(n(3096)),a=r(n(6128)),i=r(n(2368)),u=r(n(619)),s=r(n(1696)),c=r(n(7955)),l=n(8343),f=r(n(2449)),d=r(n(9652)),p=n(2247),v=n(9076),y=n(7014);function h(e){return h="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},h(e)}function m(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return b(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?b(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,u=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return i=e.done,e},e:function(e){u=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(u)throw a}}}}function b(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n30)throw new RangeError("`options.nearestTo` must be between 1 and 30");var u=(0,o.default)(e),s=u.getSeconds(),c=u.getMinutes()+s/60,l=(0,a.getRoundingMethod)(null==t?void 0:t.roundingMethod),f=l(c/r)*r,d=c%r,p=Math.round(d/r)*r;return new Date(u.getFullYear(),u.getMonth(),u.getDate(),u.getHours(),f+p)};var o=r(n(2368)),a=n(3671),i=r(n(2449))},5341:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){(0,o.default)(1,arguments);var t=e/a.secondsInHour;return Math.floor(t)};var o=r(n(9652)),a=n(1186)},1213:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,o.default)(1,arguments),e*a.millisecondsInSecond};var o=r(n(9652)),a=n(1186)},3645:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){(0,o.default)(1,arguments);var t=e/a.secondsInMinute;return Math.floor(t)};var o=r(n(9652)),a=n(1186)},8785:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){(0,i.default)(2,arguments);var n=(0,a.default)(e),r=(0,o.default)(t);return n.setDate(r),n};var o=r(n(2449)),a=r(n(2368)),i=r(n(9652))},4118:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){(0,i.default)(2,arguments);var n=(0,a.default)(e),r=(0,o.default)(t);return n.setMonth(0),n.setDate(r),n};var o=r(n(2449)),a=r(n(2368)),i=r(n(9652))},7607:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n){var r,c,l,f,d,p,v,y;(0,u.default)(2,arguments);var h=(0,s.getDefaultOptions)(),m=(0,i.default)(null!==(r=null!==(c=null!==(l=null!==(f=null==n?void 0:n.weekStartsOn)&&void 0!==f?f:null==n||null===(d=n.locale)||void 0===d||null===(p=d.options)||void 0===p?void 0:p.weekStartsOn)&&void 0!==l?l:h.weekStartsOn)&&void 0!==c?c:null===(v=h.locale)||void 0===v||null===(y=v.options)||void 0===y?void 0:y.weekStartsOn)&&void 0!==r?r:0);if(!(m>=0&&m<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var b=(0,a.default)(e),g=(0,i.default)(t),_=b.getDay(),w=g%7,O=(w+7)%7,P=7-m,x=g<0||g>6?g-(_+P)%7:(O+P)%7-(_+P)%7;return(0,o.default)(b,x)};var o=r(n(971)),a=r(n(2368)),i=r(n(2449)),u=r(n(9652)),s=n(7014)},4241:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){(0,a.default)(1,arguments);var t={},n=(0,o.getDefaultOptions)();for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r]);for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(void 0===e[i]?delete t[i]:t[i]=e[i]);(0,o.setDefaultOptions)(t)};var o=n(7014),a=r(n(9652))},4326:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){(0,i.default)(2,arguments);var n=(0,a.default)(e),r=(0,o.default)(t);return n.setHours(r),n};var o=r(n(2449)),a=r(n(2368)),i=r(n(9652))},8727:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){(0,s.default)(2,arguments);var n=(0,a.default)(e),r=(0,o.default)(t),c=(0,u.default)(n),l=r-c;return(0,i.default)(n,l)};var o=r(n(2449)),a=r(n(2368)),i=r(n(971)),u=r(n(821)),s=r(n(9652))},3040:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){(0,s.default)(2,arguments);var n=(0,a.default)(e),r=(0,o.default)(t),c=(0,u.default)(n,(0,i.default)(n)),l=new Date(0);return l.setFullYear(r,0,4),l.setHours(0,0,0,0),(n=(0,i.default)(l)).setDate(n.getDate()+c),n};var o=r(n(2449)),a=r(n(2368)),i=r(n(5030)),u=r(n(4639)),s=r(n(9652))},196:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){(0,u.default)(2,arguments);var n=(0,a.default)(e),r=(0,o.default)(t),s=(0,i.default)(n)-r;return n.setDate(n.getDate()-7*s),n};var o=r(n(2449)),a=r(n(2368)),i=r(n(5832)),u=r(n(9652))},1152:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){(0,i.default)(2,arguments);var n=(0,a.default)(e),r=(0,o.default)(t);return n.setMilliseconds(r),n};var o=r(n(2449)),a=r(n(2368)),i=r(n(9652))},7304:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){(0,i.default)(2,arguments);var n=(0,a.default)(e),r=(0,o.default)(t);return n.setMinutes(r),n};var o=r(n(2449)),a=r(n(2368)),i=r(n(9652))},7277:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){(0,u.default)(2,arguments);var n=(0,a.default)(e),r=(0,o.default)(t),s=n.getFullYear(),c=n.getDate(),l=new Date(0);l.setFullYear(s,r,15),l.setHours(0,0,0,0);var f=(0,i.default)(l);return n.setMonth(r,Math.min(c,f)),n};var o=r(n(2449)),a=r(n(2368)),i=r(n(8368)),u=r(n(9652))},8033:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){(0,u.default)(2,arguments);var n=(0,a.default)(e),r=(0,o.default)(t),s=Math.floor(n.getMonth()/3)+1,c=r-s;return(0,i.default)(n,n.getMonth()+3*c)};var o=r(n(2449)),a=r(n(2368)),i=r(n(7277)),u=r(n(9652))},9597:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){(0,i.default)(2,arguments);var n=(0,a.default)(e),r=(0,o.default)(t);return n.setSeconds(r),n};var o=r(n(2449)),a=r(n(2368)),i=r(n(9652))},950:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n){var r,l,f,d,p,v,y,h;(0,s.default)(2,arguments);var m=(0,c.getDefaultOptions)(),b=(0,u.default)(null!==(r=null!==(l=null!==(f=null!==(d=null==n?void 0:n.firstWeekContainsDate)&&void 0!==d?d:null==n||null===(p=n.locale)||void 0===p||null===(v=p.options)||void 0===v?void 0:v.firstWeekContainsDate)&&void 0!==f?f:m.firstWeekContainsDate)&&void 0!==l?l:null===(y=m.locale)||void 0===y||null===(h=y.options)||void 0===h?void 0:h.firstWeekContainsDate)&&void 0!==r?r:1),g=(0,i.default)(e),_=(0,u.default)(t),w=(0,o.default)(g,(0,a.default)(g,n)),O=new Date(0);return O.setFullYear(_,0,b),O.setHours(0,0,0,0),(g=(0,a.default)(O,n)).setDate(g.getDate()+w),g};var o=r(n(4639)),a=r(n(1514)),i=r(n(2368)),u=r(n(2449)),s=r(n(9652)),c=n(7014)},3193:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n){(0,i.default)(2,arguments);var r=(0,a.default)(e),s=(0,u.default)(t),c=(0,o.default)(r,n)-s;return r.setDate(r.getDate()-7*c),r};var o=r(n(6714)),a=r(n(2368)),i=r(n(9652)),u=r(n(2449))},7764:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){(0,i.default)(2,arguments);var n=(0,a.default)(e),r=(0,o.default)(t);return isNaN(n.getTime())?new Date(NaN):(n.setFullYear(r),n)};var o=r(n(2449)),a=r(n(2368)),i=r(n(9652))},9393:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if((0,u.default)(2,arguments),"object"!==s(t)||null===t)throw new RangeError("values parameter must be an object");var n=(0,o.default)(e);return isNaN(n.getTime())?new Date(NaN):(null!=t.year&&n.setFullYear(t.year),null!=t.month&&(n=(0,a.default)(n,t.month)),null!=t.date&&n.setDate((0,i.default)(t.date)),null!=t.hours&&n.setHours((0,i.default)(t.hours)),null!=t.minutes&&n.setMinutes((0,i.default)(t.minutes)),null!=t.seconds&&n.setSeconds((0,i.default)(t.seconds)),null!=t.milliseconds&&n.setMilliseconds((0,i.default)(t.milliseconds)),n)};var o=r(n(2368)),a=r(n(7277)),i=r(n(2449)),u=r(n(9652));function s(e){return s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},s(e)}},2127:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){(0,a.default)(1,arguments);var t=(0,o.default)(e);return t.setHours(0,0,0,0),t};var o=r(n(2368)),a=r(n(9652))},855:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){(0,a.default)(1,arguments);var t=(0,o.default)(e),n=t.getFullYear(),r=10*Math.floor(n/10);return t.setFullYear(r,0,1),t.setHours(0,0,0,0),t};var o=r(n(2368)),a=r(n(9652))},4615:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){(0,a.default)(1,arguments);var t=(0,o.default)(e);return t.setMinutes(0,0,0),t};var o=r(n(2368)),a=r(n(9652))},5030:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){(0,i.default)(1,arguments);var t=(0,o.default)(e),n=new Date(0);n.setFullYear(t,0,4),n.setHours(0,0,0,0);var r=(0,a.default)(n);return r};var o=r(n(4314)),a=r(n(740)),i=r(n(9652))},740:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,a.default)(1,arguments),(0,o.default)(e,{weekStartsOn:1})};var o=r(n(384)),a=r(n(9652))},7013:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){(0,a.default)(1,arguments);var t=(0,o.default)(e);return t.setSeconds(0,0),t};var o=r(n(2368)),a=r(n(9652))},7265:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){(0,a.default)(1,arguments);var t=(0,o.default)(e);return t.setDate(1),t.setHours(0,0,0,0),t};var o=r(n(2368)),a=r(n(9652))},4715:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){(0,a.default)(1,arguments);var t=(0,o.default)(e),n=t.getMonth(),r=n-n%3;return t.setMonth(r,1),t.setHours(0,0,0,0),t};var o=r(n(2368)),a=r(n(9652))},4755:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){(0,a.default)(1,arguments);var t=(0,o.default)(e);return t.setMilliseconds(0),t};var o=r(n(2368)),a=r(n(9652))},9182:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){return(0,o.default)(Date.now())};var o=r(n(2127))},3740:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){var e=new Date,t=e.getFullYear(),n=e.getMonth(),r=e.getDate(),o=new Date(0);return o.setFullYear(t,n,r+1),o.setHours(0,0,0,0),o}},1514:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var n,r,c,l,f,d,p,v;(0,u.default)(1,arguments);var y=(0,s.getDefaultOptions)(),h=(0,i.default)(null!==(n=null!==(r=null!==(c=null!==(l=null==t?void 0:t.firstWeekContainsDate)&&void 0!==l?l:null==t||null===(f=t.locale)||void 0===f||null===(d=f.options)||void 0===d?void 0:d.firstWeekContainsDate)&&void 0!==c?c:y.firstWeekContainsDate)&&void 0!==r?r:null===(p=y.locale)||void 0===p||null===(v=p.options)||void 0===v?void 0:v.firstWeekContainsDate)&&void 0!==n?n:1),m=(0,o.default)(e,t),b=new Date(0);b.setFullYear(m,0,h),b.setHours(0,0,0,0);var g=(0,a.default)(b,t);return g};var o=r(n(4548)),a=r(n(384)),i=r(n(2449)),u=r(n(9652)),s=n(7014)},384:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var n,r,s,c,l,f,d,p;(0,i.default)(1,arguments);var v=(0,u.getDefaultOptions)(),y=(0,a.default)(null!==(n=null!==(r=null!==(s=null!==(c=null==t?void 0:t.weekStartsOn)&&void 0!==c?c:null==t||null===(l=t.locale)||void 0===l||null===(f=l.options)||void 0===f?void 0:f.weekStartsOn)&&void 0!==s?s:v.weekStartsOn)&&void 0!==r?r:null===(d=v.locale)||void 0===d||null===(p=d.options)||void 0===p?void 0:p.weekStartsOn)&&void 0!==n?n:0);if(!(y>=0&&y<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var h=(0,o.default)(e),m=h.getDay(),b=(m1&&(r+="s"),[e+" "+r+" ago","in "+e+" "+r]};var n=["second","minute","hour","day","week","month","year"]},6882:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if(0===t)return["刚刚","片刻后"];var r=n[~~(t/2)];return[e+" "+r+"前",e+" "+r+"后"]};var n=["秒","分钟","小时","天","周","个月","年"]},8110:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.cancel=function(e){e?u((0,r.getTimerId)(e)):Object.keys(i).forEach(u)},t.render=function(e,t,n){var o=e.length?e:[e];return o.forEach((function(e){s(e,(0,r.getDateAttribute)(e),(0,a.getLocale)(t),n||{})})),o};var r=n(3759),o=n(4280),a=n(5722),i={},u=function(e){clearTimeout(e),delete i[e]};function s(e,t,n,a){u((0,r.getTimerId)(e));var c=a.relativeDate,l=a.minInterval,f=(0,o.diffSec)(t,c);e.innerText=(0,o.formatDiff)(f,n);var d=setTimeout((function(){s(e,t,n,a)}),Math.min(1e3*Math.max((0,o.nextInterval)(f),l||1),2147483647));i[d]=0,(0,r.setTimerId)(e,d)}},5722:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.register=t.getLocale=void 0;var n={};t.register=function(e,t){n[e]=t},t.getLocale=function(e){return n[e]||n.en_US}},4280:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.diffSec=function(e,t){return(+(t?r(t):new Date)-+r(e))/1e3},t.formatDiff=function(e,t){for(var r=e<0?1:0,o=e=Math.abs(e),a=0;e>=n[a]&&a(0==(a*=2)?9:1)&&(a+=1),t(e,a,o)[r].replace("%s",e.toString())},t.nextInterval=function(e){for(var t=1,r=0,o=Math.abs(e);e>=n[r]&&r
<\/p>*|


<\/p>*$/g,""),null!==(e=this.format)&&void 0!==e&&e.trim().length)this.date=(0,i.format)(Number(this.time.padEnd(13,0)),this.format);else{var t=new Date(1e3*parseInt(this.time)),n=(new Date).getTime()-new Date(t).getTime(),r=(new Date(this.bbData.date).getTime(),new Date(1e3*parseInt(this.time)).toJSON());r=r.substr(0,10).replace("T"," "),this.date=n>26784e5?r:(0,a.format)(new Date(1e3*parseInt(this.time)),"zh_CN")}window.ViewImage&&ViewImage.init(".xk-card-content img")},methods:{handleLike:function(){this.$emit("changeLike",this.id)}}},c=function(){(0,o.useCssVars)((function(e,t){return{f4afac4a:e.labelColor,"23240d2a":e.labelColor+"1a"}}))},l=s.setup;s.setup=l?function(e,t){return c(),l(e,t)}:c;var f=s;t.Z=f},6049:function(e,t,n){"use strict";Object.defineProperty(t,"X",{value:!0}),t.Z=void 0;var r=n(4147),o={data:function(){return{version:r.version,name:r.name,warehouse:r.warehouse}}};t.Z=o},5997:function(e,t){"use strict";Object.defineProperty(t,"X",{value:!0}),t.Z=void 0,t.Z={props:["count","title"]}},934:function(e,t,n){"use strict";var r=n(3330);Object.defineProperty(t,"X",{value:!0}),t.Z=void 0;var o=r(n(818)),a=r(n(8711)),i=r(n(1848)),u=r(n(9414)),s=r(n(1291)),c=r(n(5930)),l={components:{XkCard:u.default,XkInfo:s.default,XkFooter:c.default},data:function(){return{title:"",name:"",avatar:"",bbList:[],total:0,message:"让叨叨飞一会~",loading:!0,page:1,limit:5,showMessage:!1,fromColor:"",labelColor:"",loadingImg:"https://blog-img-1258635493.cos.ap-chengdu.myqcloud.com/cdn/img/loader/dogloading.gif",useLoadingImg:!0,execIng:!1,baseURL:"",format:""}},methods:{getData:function(){var e=this;return(0,a.default)(o.default.mark((function t(){var n,r,a,i,u,s,c;return o.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e.loading=e.showMessage=!0,t.next=3,e.$http({url:e.baseURL+"pub/talks/",method:"get",params:{page:e.page,limit:e.limit}});case 3:if(n=t.sent,r=n.data,a=r.count,i=void 0===a?0:a,u=r.data,s=void 0===u?[]:u,void 0===(c=r.status)||!c){t.next=11;break}e.total=i,e.bbList=e.bbList.concat(s),e.page+=1,t.next=14;break;case 11:return e.message="哦吼,加载失败了,刷新看看~",e.showMessage=!0,t.abrupt("return");case 14:e.loading=e.showMessage=!1,e.bbList.length===e.total&&(e.message="当你看到这段话的时候,就说明已经全部加载完了...",e.showMessage=!0);case 16:case"end":return t.stop()}}),t)})))()},handleChageLike:function(e,t){var n=this;return(0,a.default)(o.default.mark((function r(){return o.default.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(e&&!n.execIng){r.next=2;break}return r.abrupt("return");case 2:if(!n.bbList[t].liked){r.next=7;break}return n.$toast.error("哈哈哈,点赞了就休想取消啦~"),r.abrupt("return");case 7:n.$toast.success("点赞成功,只不过有点慢,让点赞飞一会~");case 8:return n.execIng=!0,r.next=11,n.$http({url:n.baseURL+"pub/like_talk/",method:"post",data:"id=".concat(e)});case 11:r.sent.data.status&&(n.bbList[t].like=n.bbList[t].liked?n.bbList[t].like-1:n.bbList[t].like+1,n.bbList[t].liked=!n.bbList[t].liked),n.execIng=!1;case 15:case"end":return r.stop()}}),r)})))()}},mounted:function(){var e=this;return(0,a.default)(o.default.mark((function t(){var n,r,a,u,s,c,l,f,d,p,v,y,h,m,b;return o.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:n=i.default.prototype.$speakData,r=n.title,a=void 0===r?"叨叨":r,u=n.name,s=n.avatar,c=n.baseURL,l=n.limit,f=void 0===l?5:l,d=n.fromColor,p=void 0===d?"black":d,v=n.labelColor,y=void 0===v?"#000a85":v,n.loadingImg,h=n.useLoadingImg,m=void 0===h||h,b=n.format,e.title=a,e.name=u,e.baseURL=c.endsWith("/")?c:c+"/",e.avatar=s,e.useLoadingImg=m,e.limit=f,e.fromColor=p,e.labelColor=y,e.format=b,e.getData();case 11:case"end":return t.stop()}}),t)})))()}};t.Z=l},9990:function(e,t){"use strict";t.xk=t.sY=void 0;var n=function(){var e=this._self._c;return e("div",{staticClass:"ispeak",attrs:{id:"ispeak"}},[e("xk-issue")],1)};t.sY=n,t.xk=[],n._withStripped=!0},5957:function(e,t){"use strict";t.xk=t.sY=void 0;var n=function(){var e,t=this,n=t._self._c;return n("div",{staticClass:"xk-card wow animate__zoomIn"},[n("div",{staticClass:"xk-card-header"},[n("div",{staticClass:"xk-card-name"},[n("div",{staticClass:"avatar"},[n("img",{staticClass:"avatar-img",attrs:{src:t.avatar}})]),t._v(" "),n("div",{staticClass:"name-info"},[n("div",{staticClass:"name"},[t._v(t._s(t.name))]),t._v(" "),n("span",{staticClass:"xk-card-time",attrs:{title:t.time_title}},[t._v(t._s(t.date))])])]),t._v(" "),t.label?n("div",{staticClass:"dao-label"},[t._v("#"+t._s(t.label))]):t._e()]),t._v(" "),n("div",{staticClass:"xk-card-content",domProps:{innerHTML:t._s(t.content)}}),t._v(" "),n("div",{staticClass:"xk-card-footer"},[n("div",{staticClass:"xk-card-label",style:{background:t.fromColor,color:"white"}},[n("span",[t._v(t._s(null!==(e=t.from)&&void 0!==e?e:"Chrome"))])]),t._v(" "),n("div",{staticClass:"dao-like"},[t.liked?[n("svg",{staticClass:"like-svg",staticStyle:{"margin-right":"2px"},attrs:{xmlns:"http://www.w3.org/2000/svg",height:"16",width:"16",fill:"red"},on:{click:t.handleLike}},[n("path",{attrs:{transform:"scale(0.03,0.03)",d:"M0 190.9V185.1C0 115.2 50.52 55.58 119.4 44.1C164.1 36.51 211.4 51.37 244 84.02L256 96L267.1 84.02C300.6 51.37 347 36.51 392.6 44.1C461.5 55.58 512 115.2 512 185.1V190.9C512 232.4 494.8 272.1 464.4 300.4L283.7 469.1C276.2 476.1 266.3 480 256 480C245.7 480 235.8 476.1 228.3 469.1L47.59 300.4C17.23 272.1 .0003 232.4 .0003 190.9L0 190.9z"}})]),t._v("\n "+t._s(t.like)+"\n ")]:[n("svg",{staticClass:"like-svg",attrs:{xmlns:"http://www.w3.org/2000/svg",height:"16",width:"16"},on:{click:t.handleLike}},[n("path",{attrs:{transform:"scale(0.03,0.03)",d:"M244 84L255.1 96L267.1 84.02C300.6 51.37 347 36.51 392.6 44.1C461.5 55.58 512 115.2 512 185.1V190.9C512 232.4 494.8 272.1 464.4 300.4L283.7 469.1C276.2 476.1 266.3 480 256 480C245.7 480 235.8 476.1 228.3 469.1L47.59 300.4C17.23 272.1 0 232.4 0 190.9V185.1C0 115.2 50.52 55.58 119.4 44.1C164.1 36.51 211.4 51.37 244 84C243.1 84 244 84.01 244 84L244 84zM255.1 163.9L210.1 117.1C188.4 96.28 157.6 86.4 127.3 91.44C81.55 99.07 48 138.7 48 185.1V190.9C48 219.1 59.71 246.1 80.34 265.3L256 429.3L431.7 265.3C452.3 246.1 464 219.1 464 190.9V185.1C464 138.7 430.4 99.07 384.7 91.44C354.4 86.4 323.6 96.28 301.9 117.1L255.1 163.9z"}})]),t._v("\n "+t._s(t.like)+"\n ")]],2)])])};t.sY=n,t.xk=[],n._withStripped=!0},8497:function(e,t){"use strict";t.xk=t.sY=void 0;var n=function(){var e=this,t=e._self._c;return t("div",{staticClass:"xk-footer"},[e._v("\n Powered by\n "),t("a",{attrs:{href:e.warehouse,target:"_blank"}},[e._v(e._s(e.name))]),e._v("\n v"+e._s(e.version)+"\n")])};t.sY=n,t.xk=[],n._withStripped=!0},547:function(e,t){"use strict";t.xk=t.sY=void 0;var n=function(){var e=this,t=e._self._c;return t("div",{staticClass:"xk-info"},[t("div",{staticClass:"count"},[t("i",{staticClass:"iconfont icon-pinlun"}),e._v("\n "+e._s(e.title)+" 「"),t("span",{staticStyle:{"font-size":"26px"}},[e._v(e._s(e.count))]),e._v("」\n ")])])};t.sY=n,t.xk=[],n._withStripped=!0},9674:function(e,t){"use strict";t.xk=t.sY=void 0;var n=function(){var e=this,t=e._self._c;return t("div",{staticStyle:{"padding-bottom":"40px"}},[t("xk-info",{attrs:{count:e.total,title:e.title}}),e._v(" "),t("transition-group",{attrs:{name:"list",tag:"div"}},[e._l(e.bbList,(function(n,r){return[t("xk-card",{key:n.id,attrs:{bbData:n.content,id:n.id,name:e.name,avatar:e.avatar,fromColor:e.fromColor,time:n.time,label:n.tags[0],from:n.tags[1],like:n.like,liked:n.liked,labelColor:e.labelColor,format:e.format},on:{changeLike:function(t){return e.handleChageLike(t,r)}}})]}))],2),e._v(" "),t("div",{directives:[{name:"show",rawName:"v-show",value:e.loading,expression:"loading"}],staticClass:"loading"},[t("img",{directives:[{name:"show",rawName:"v-show",value:e.useLoadingImg,expression:"useLoadingImg"}],attrs:{src:e.loadingImg,alt:"loading"}}),e._v(" "),t("div",{directives:[{name:"show",rawName:"v-show",value:!e.useLoadingImg,expression:"!useLoadingImg"}],staticClass:"bbddloading-inner"},[e._m(0),e._v(" "),e._m(1),e._v(" "),e._m(2),e._v(" "),e._m(3),e._v(" "),e._m(4)])]),e._v(" "),t("div",{staticClass:"btn-area"},[e.bbList.length0},O=function(e){return"number"==typeof e},P=function(e){return void 0===e},x=function(e){return"object"===(0,c.default)(e)&&null!==e},j=function(e){return D(e,"tag")&&w(e.tag)},T=function(e){return window.TouchEvent&&e instanceof TouchEvent},k=function(e){return D(e,"component")&&S(e.component)},S=function(e){return!P(e)&&(_(e)||function(e){return e instanceof l.default||(!!function(e){return g(e)&&D(e,"cid")}(t=e)||!!x(t)&&(!(!t.extends&&!t._Ctor)||!!_(t.template)||C(t)));var t}(e)||C(e)||j(e)||k(e))},M=function(e){return x(e)&&O(e.height)&&O(e.width)&&O(e.right)&&O(e.left)&&O(e.top)&&O(e.bottom)},D=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},C=function(e){return D(e,"render")&&g(e.render)},E=(f=0,function(){return f++});function R(e){return T(e)?e.targetTouches[0].clientX:e.clientX}function I(e){return T(e)?e.targetTouches[0].clientY:e.clientY}var N=function(e){P(e.remove)?e.parentNode&&e.parentNode.removeChild(e):e.remove()},A=function e(t){return k(t)?e(t.component):j(t)?{render:function(){return t}}:t};function Y(e,t,n,r,o,a,i,u,s,c){"boolean"!=typeof i&&(s=u,u=i,i=!1);var l,f="function"==typeof n?n.options:n;if(e&&e.render&&(f.render=e.render,f.staticRenderFns=e.staticRenderFns,f._compiled=!0,o&&(f.functional=!0)),r&&(f._scopeId=r),a?(l=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),t&&t.call(this,s(e)),e&&e._registeredComponents&&e._registeredComponents.add(a)},f._ssrRegister=l):t&&(l=i?function(e){t.call(this,c(e,this.$root.$options.shadowRoot))}:function(e){t.call(this,u(e))}),l)if(f.functional){var d=f.render;f.render=function(e,t){return l.call(t),d(e,t)}}else{var p=f.beforeCreate;f.beforeCreate=p?[].concat(p,l):[l]}return n}var L=l.default.extend({props:b.PROGRESS_BAR,data:function(){return{hasClass:!0}},computed:{style:function(){return{animationDuration:"".concat(this.timeout,"ms"),animationPlayState:this.isRunning?"running":"paused",opacity:this.hideProgressBar?0:1}},cpClass:function(){return this.hasClass?"".concat(d,"__progress-bar"):""}},mounted:function(){this.$el.addEventListener("animationend",this.animationEnded)},beforeDestroy:function(){this.$el.removeEventListener("animationend",this.animationEnded)},methods:{animationEnded:function(){this.$emit("close-toast")}},watch:{timeout:function(){var e=this;this.hasClass=!1,this.$nextTick((function(){return e.hasClass=!0}))}}}),B=function(){var e=this,t=e.$createElement;return(e._self._c||t)("div",{class:e.cpClass,style:e.style})};B._withStripped=!0;var U=Y({render:B,staticRenderFns:[]},void 0,L,void 0,!1,void 0,!1,void 0,void 0,void 0),F=l.default.extend({props:b.CLOSE_BUTTON,computed:{buttonComponent:function(){return!1!==this.component?A(this.component):"button"},classes:function(){var e=["".concat(d,"__close-button")];return this.showOnHover&&e.push("show-on-hover"),e.concat(this.classNames)}}}),H=function(){var e=this,t=e.$createElement;return(e._self._c||t)(e.buttonComponent,e._g({tag:"component",class:e.classes,attrs:{"aria-label":e.ariaLabel}},e.$listeners),[e._v("\n ×\n")])};H._withStripped=!0;var $=Y({render:H,staticRenderFns:[]},void 0,F,void 0,!1,void 0,!1,void 0,void 0,void 0),W={},V=function(){var e=this.$createElement,t=this._self._c||e;return t("svg",{staticClass:"svg-inline--fa fa-check-circle fa-w-16",attrs:{"aria-hidden":"true",focusable:"false","data-prefix":"fas","data-icon":"check-circle",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"}},[t("path",{attrs:{fill:"currentColor",d:"M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zM227.314 387.314l184-184c6.248-6.248 6.248-16.379 0-22.627l-22.627-22.627c-6.248-6.249-16.379-6.249-22.628 0L216 308.118l-70.059-70.059c-6.248-6.248-16.379-6.248-22.628 0l-22.627 22.627c-6.248 6.248-6.248 16.379 0 22.627l104 104c6.249 6.249 16.379 6.249 22.628.001z"}})])};V._withStripped=!0;var z=Y({render:V,staticRenderFns:[]},void 0,W,void 0,!1,void 0,!1,void 0,void 0,void 0),q={},X=function(){var e=this.$createElement,t=this._self._c||e;return t("svg",{staticClass:"svg-inline--fa fa-info-circle fa-w-16",attrs:{"aria-hidden":"true",focusable:"false","data-prefix":"fas","data-icon":"info-circle",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"}},[t("path",{attrs:{fill:"currentColor",d:"M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 110c23.196 0 42 18.804 42 42s-18.804 42-42 42-42-18.804-42-42 18.804-42 42-42zm56 254c0 6.627-5.373 12-12 12h-88c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h12v-64h-12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h64c6.627 0 12 5.373 12 12v100h12c6.627 0 12 5.373 12 12v24z"}})])};X._withStripped=!0;var Q=Y({render:X,staticRenderFns:[]},void 0,q,void 0,!1,void 0,!1,void 0,void 0,void 0),Z={},G=function(){var e=this.$createElement,t=this._self._c||e;return t("svg",{staticClass:"svg-inline--fa fa-exclamation-circle fa-w-16",attrs:{"aria-hidden":"true",focusable:"false","data-prefix":"fas","data-icon":"exclamation-circle",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"}},[t("path",{attrs:{fill:"currentColor",d:"M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zm-248 50c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z"}})])};G._withStripped=!0;var J=Y({render:G,staticRenderFns:[]},void 0,Z,void 0,!1,void 0,!1,void 0,void 0,void 0),K={},ee=function(){var e=this.$createElement,t=this._self._c||e;return t("svg",{staticClass:"svg-inline--fa fa-exclamation-triangle fa-w-18",attrs:{"aria-hidden":"true",focusable:"false","data-prefix":"fas","data-icon":"exclamation-triangle",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 576 512"}},[t("path",{attrs:{fill:"currentColor",d:"M569.517 440.013C587.975 472.007 564.806 512 527.94 512H48.054c-36.937 0-59.999-40.055-41.577-71.987L246.423 23.985c18.467-32.009 64.72-31.951 83.154 0l239.94 416.028zM288 354c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z"}})])};ee._withStripped=!0;var te=Y({render:ee,staticRenderFns:[]},void 0,K,void 0,!1,void 0,!1,void 0,void 0,void 0),ne=l.default.extend({props:b.ICON,computed:{customIconChildren:function(){return D(this.customIcon,"iconChildren")?this.trimValue(this.customIcon.iconChildren):""},customIconClass:function(){return _(this.customIcon)?this.trimValue(this.customIcon):D(this.customIcon,"iconClass")?this.trimValue(this.customIcon.iconClass):""},customIconTag:function(){return D(this.customIcon,"iconTag")?this.trimValue(this.customIcon.iconTag,"i"):"i"},hasCustomIcon:function(){return this.customIconClass.length>0},component:function(){return this.hasCustomIcon?this.customIconTag:S(this.customIcon)?A(this.customIcon):this.iconTypeComponent},iconTypeComponent:function(){var e;return(e={},(0,s.default)(e,o.DEFAULT,Q),(0,s.default)(e,o.INFO,Q),(0,s.default)(e,o.SUCCESS,z),(0,s.default)(e,o.ERROR,te),(0,s.default)(e,o.WARNING,J),e)[this.type]},iconClasses:function(){var e=["".concat(d,"__icon")];return this.hasCustomIcon?e.concat(this.customIconClass):e}},methods:{trimValue:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return w(e)?e.trim():t}}}),re=ne,oe=function(){var e=this,t=e.$createElement;return(e._self._c||t)(e.component,{tag:"component",class:e.iconClasses},[e._v(e._s(e.customIconChildren))])};oe._withStripped=!0;var ae=Y({render:oe,staticRenderFns:[]},void 0,re,void 0,!1,void 0,!1,void 0,void 0,void 0),ie=l.default.extend({components:{ProgressBar:U,CloseButton:$,Icon:ae},inheritAttrs:!1,props:Object.assign({},b.CORE_TOAST,b.TOAST),data:function(){return{isRunning:!0,disableTransitions:!1,beingDragged:!1,dragStart:0,dragPos:{x:0,y:0},dragRect:{}}},computed:{classes:function(){var e=["".concat(d,"__toast"),"".concat(d,"__toast--").concat(this.type),"".concat(this.position)].concat(this.toastClassName);return this.disableTransitions&&e.push("disable-transition"),this.rtl&&e.push("".concat(d,"__toast--rtl")),e},bodyClasses:function(){return["".concat(d,"__toast-").concat(_(this.content)?"body":"component-body")].concat(this.bodyClassName)},draggableStyle:function(){return this.dragStart===this.dragPos.x?{}:this.beingDragged?{transform:"translateX(".concat(this.dragDelta,"px)"),opacity:1-Math.abs(this.dragDelta/this.removalDistance)}:{transition:"transform 0.2s, opacity 0.2s",transform:"translateX(0)",opacity:1}},dragDelta:function(){return this.beingDragged?this.dragPos.x-this.dragStart:0},removalDistance:function(){return M(this.dragRect)?(this.dragRect.right-this.dragRect.left)*this.draggablePercent:0}},mounted:function(){this.draggable&&this.draggableSetup(),this.pauseOnFocusLoss&&this.focusSetup()},beforeDestroy:function(){this.draggable&&this.draggableCleanup(),this.pauseOnFocusLoss&&this.focusCleanup()},destroyed:function(){var e=this;setTimeout((function(){N(e.$el)}),1e3)},methods:{getVueComponentFromObj:A,closeToast:function(){this.eventBus.$emit(i.DISMISS,this.id)},clickHandler:function(){this.onClick&&this.onClick(this.closeToast),this.closeOnClick&&(this.beingDragged&&this.dragStart!==this.dragPos.x||this.closeToast())},timeoutHandler:function(){this.closeToast()},hoverPause:function(){this.pauseOnHover&&(this.isRunning=!1)},hoverPlay:function(){this.pauseOnHover&&(this.isRunning=!0)},focusPause:function(){this.isRunning=!1},focusPlay:function(){this.isRunning=!0},focusSetup:function(){addEventListener("blur",this.focusPause),addEventListener("focus",this.focusPlay)},focusCleanup:function(){removeEventListener("blur",this.focusPause),removeEventListener("focus",this.focusPlay)},draggableSetup:function(){var e=this.$el;e.addEventListener("touchstart",this.onDragStart,{passive:!0}),e.addEventListener("mousedown",this.onDragStart),addEventListener("touchmove",this.onDragMove,{passive:!1}),addEventListener("mousemove",this.onDragMove),addEventListener("touchend",this.onDragEnd),addEventListener("mouseup",this.onDragEnd)},draggableCleanup:function(){var e=this.$el;e.removeEventListener("touchstart",this.onDragStart),e.removeEventListener("mousedown",this.onDragStart),removeEventListener("touchmove",this.onDragMove),removeEventListener("mousemove",this.onDragMove),removeEventListener("touchend",this.onDragEnd),removeEventListener("mouseup",this.onDragEnd)},onDragStart:function(e){this.beingDragged=!0,this.dragPos={x:R(e),y:I(e)},this.dragStart=R(e),this.dragRect=this.$el.getBoundingClientRect()},onDragMove:function(e){this.beingDragged&&(e.preventDefault(),this.isRunning&&(this.isRunning=!1),this.dragPos={x:R(e),y:I(e)})},onDragEnd:function(){var e=this;this.beingDragged&&(Math.abs(this.dragDelta)>=this.removalDistance?(this.disableTransitions=!0,this.$nextTick((function(){return e.closeToast()}))):setTimeout((function(){e.beingDragged=!1,M(e.dragRect)&&e.pauseOnHover&&e.dragRect.bottom>=e.dragPos.y&&e.dragPos.y>=e.dragRect.top&&e.dragRect.left<=e.dragPos.x&&e.dragPos.x<=e.dragRect.right?e.isRunning=!1:e.isRunning=!0})))}}}),ue=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{class:e.classes,style:e.draggableStyle,on:{click:e.clickHandler,mouseenter:e.hoverPause,mouseleave:e.hoverPlay}},[e.icon?n("Icon",{attrs:{"custom-icon":e.icon,type:e.type}}):e._e(),e._v(" "),n("div",{class:e.bodyClasses,attrs:{role:e.accessibility.toastRole||"alert"}},["string"==typeof e.content?[e._v(e._s(e.content))]:n(e.getVueComponentFromObj(e.content),e._g(e._b({tag:"component",attrs:{"toast-id":e.id},on:{"close-toast":e.closeToast}},"component",e.content.props,!1),e.content.listeners))],2),e._v(" "),e.closeButton?n("CloseButton",{attrs:{component:e.closeButton,"class-names":e.closeButtonClassName,"show-on-hover":e.showCloseButtonOnHover,"aria-label":e.accessibility.closeButtonLabel},on:{click:function(t){return t.stopPropagation(),e.closeToast(t)}}}):e._e(),e._v(" "),e.timeout?n("ProgressBar",{attrs:{"is-running":e.isRunning,"hide-progress-bar":e.hideProgressBar,timeout:e.timeout},on:{"close-toast":e.timeoutHandler}}):e._e()],1)};ue._withStripped=!0;var se=Y({render:ue,staticRenderFns:[]},void 0,ie,void 0,!1,void 0,!1,void 0,void 0,void 0),ce=l.default.extend({inheritAttrs:!1,props:b.TRANSITION,methods:{beforeEnter:function(e){var t="number"==typeof this.transitionDuration?this.transitionDuration:this.transitionDuration.enter;e.style.animationDuration="".concat(t,"ms"),e.style.animationFillMode="both",this.$emit("before-enter",e)},afterEnter:function(e){this.cleanUpStyles(e),this.$emit("after-enter",e)},afterLeave:function(e){this.cleanUpStyles(e),this.$emit("after-leave",e)},beforeLeave:function(e){var t="number"==typeof this.transitionDuration?this.transitionDuration:this.transitionDuration.leave;e.style.animationDuration="".concat(t,"ms"),e.style.animationFillMode="both",this.$emit("before-leave",e)},leave:function(e,t){this.setAbsolutePosition(e),this.$emit("leave",e,t)},setAbsolutePosition:function(e){e.style.left=e.offsetLeft+"px",e.style.top=e.offsetTop+"px",e.style.width=getComputedStyle(e).width,e.style.height=getComputedStyle(e).height,e.style.position="absolute"},cleanUpStyles:function(e){e.style.animationFillMode="",e.style.animationDuration=""}}}),le=function(){var e=this,t=e.$createElement;return(e._self._c||t)("transition-group",{attrs:{tag:"div","enter-active-class":e.transition.enter?e.transition.enter:e.transition+"-enter-active","move-class":e.transition.move?e.transition.move:e.transition+"-move","leave-active-class":e.transition.leave?e.transition.leave:e.transition+"-leave-active"},on:{leave:e.leave,"before-enter":e.beforeEnter,"before-leave":e.beforeLeave,"after-enter":e.afterEnter,"after-leave":e.afterLeave}},[e._t("default")],2)};le._withStripped=!0;var fe=Y({render:le,staticRenderFns:[]},void 0,ce,void 0,!1,void 0,!1,void 0,void 0,void 0),de=l.default.extend({components:{Toast:se,VtTransition:fe},props:Object.assign({},b.CORE_TOAST,b.CONTAINER,b.TRANSITION),data:function(){return{count:0,positions:Object.values(a),toasts:{},defaults:{}}},computed:{toastArray:function(){return Object.values(this.toasts)},filteredToasts:function(){return this.defaults.filterToasts(this.toastArray)}},beforeMount:function(){this.setup(this.container);var e=this.eventBus;e.$on(i.ADD,this.addToast),e.$on(i.CLEAR,this.clearToasts),e.$on(i.DISMISS,this.dismissToast),e.$on(i.UPDATE,this.updateToast),e.$on(i.UPDATE_DEFAULTS,this.updateDefaults),this.defaults=this.$props},methods:{setup:function(e){return t=this,n=void 0,r=void 0,o=u.default.mark((function t(){return u.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!g(e)){t.next=4;break}return t.next=3,e();case 3:e=t.sent;case 4:N(this.$el),e.appendChild(this.$el);case 6:case"end":return t.stop()}}),t,this)})),new(r||(r=Promise))((function(e,a){function i(e){try{s(o.next(e))}catch(e){a(e)}}function u(e){try{s(o.throw(e))}catch(e){a(e)}}function s(t){var n;t.done?e(t.value):(n=t.value,n instanceof r?n:new r((function(e){e(n)}))).then(i,u)}s((o=o.apply(t,n||[])).next())}));var t,n,r,o},setToast:function(e){P(e.id)||this.$set(this.toasts,e.id,e)},addToast:function(e){var t=Object.assign({},this.defaults,e.type&&this.defaults.toastDefaults&&this.defaults.toastDefaults[e.type],e),n=this.defaults.filterBeforeCreate(t,this.toastArray);n&&this.setToast(n)},dismissToast:function(e){var t=this.toasts[e];P(t)||P(t.onClose)||t.onClose(),this.$delete(this.toasts,e)},clearToasts:function(){var e=this;Object.keys(this.toasts).forEach((function(t){e.dismissToast(t)}))},getPositionToasts:function(e){var t=this.filteredToasts.filter((function(t){return t.position===e})).slice(0,this.defaults.maxToasts);return this.defaults.newestOnTop?t.reverse():t},updateDefaults:function(e){P(e.container)||this.setup(e.container),this.defaults=Object.assign({},this.defaults,e)},updateToast:function(e){var t=e.id,n=e.options,r=e.create;this.toasts[t]?(n.timeout&&n.timeout===this.toasts[t].timeout&&n.timeout++,this.setToast(Object.assign({},this.toasts[t],n))):r&&this.addToast(Object.assign({},{id:t},n))},getClasses:function(e){return["".concat(d,"__container"),e].concat(this.defaults.containerClassName)}}}),pe=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",e._l(e.positions,(function(t){return n("div",{key:t},[n("VtTransition",{class:e.getClasses(t),attrs:{transition:e.defaults.transition,"transition-duration":e.defaults.transitionDuration}},e._l(e.getPositionToasts(t),(function(t){return n("Toast",e._b({key:t.id},"Toast",t,!1))})),1)],1)})),0)};pe._withStripped=!0;var ve=Y({render:pe,staticRenderFns:[]},void 0,de,void 0,!1,void 0,!1,void 0,void 0,void 0),ye=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=t.eventBus=t.eventBus||new e;if(n){var a=new(e.extend(ve))({el:document.createElement("div"),propsData:t}),u=t.onMounted;P(u)||u(a)}var s=function(e,t){var n=Object.assign({},{id:E(),type:o.DEFAULT},t,{content:e});return r.$emit(i.ADD,n),n.id};function c(e,t){var n=t.content,o=t.options,a=arguments.length>2&&void 0!==arguments[2]&&arguments[2];r.$emit(i.UPDATE,{id:e,options:Object.assign({},o,{content:n}),create:a})}return s.clear=function(){return r.$emit(i.CLEAR)},s.updateDefaults=function(e){r.$emit(i.UPDATE_DEFAULTS,e)},s.dismiss=function(e){r.$emit(i.DISMISS,e)},s.update=c,s.success=function(e,t){return s(e,Object.assign({},t,{type:o.SUCCESS}))},s.info=function(e,t){return s(e,Object.assign({},t,{type:o.INFO}))},s.error=function(e,t){return s(e,Object.assign({},t,{type:o.ERROR}))},s.warning=function(e,t){return s(e,Object.assign({},t,{type:o.WARNING}))},s};function he(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:l.default,n=function(e){return e instanceof t};return n(e)?ye(t,{eventBus:e},!1):ye(t,e,!0)}t.default=function(e,t){var n=he(t,e);e.$toast=n,e.prototype.$toast=n}},1848:function(e,t,n){"use strict";e.exports=n(8265)},8265:function(e,t,n){"use strict";var r=n(3330),o=r(n(5272)),a=r(n(8946)),i=r(n(9767)),u=Object.freeze({}),s=Array.isArray;function c(e){return null==e}function l(e){return null!=e}function f(e){return!0===e}function d(e){return"string"==typeof e||"number"==typeof e||"symbol"==(0,i.default)(e)||"boolean"==typeof e}function p(e){return"function"==typeof e}function v(e){return null!==e&&"object"==(0,i.default)(e)}var y=Object.prototype.toString;function h(e){return"[object Object]"===y.call(e)}function m(e){var t=parseFloat(String(e));return t>=0&&Math.floor(t)===t&&isFinite(e)}function b(e){return l(e)&&"function"==typeof e.then&&"function"==typeof e.catch}function g(e){return null==e?"":Array.isArray(e)||h(e)&&e.toString===y?JSON.stringify(e,null,2):String(e)}function _(e){var t=parseFloat(e);return isNaN(t)?e:t}function w(e,t){for(var n=Object.create(null),r=e.split(","),o=0;o-1)return e.splice(n,1)}}var x=Object.prototype.hasOwnProperty;function j(e,t){return x.call(e,t)}function T(e){var t=Object.create(null);return function(n){return t[n]||(t[n]=e(n))}}var k=/-(\w)/g,S=T((function(e){return e.replace(k,(function(e,t){return t?t.toUpperCase():""}))})),M=T((function(e){return e.charAt(0).toUpperCase()+e.slice(1)})),D=/\B([A-Z])/g,C=T((function(e){return e.replace(D,"-$1").toLowerCase()})),E=Function.prototype.bind?function(e,t){return e.bind(t)}:function(e,t){function n(n){var r=arguments.length;return r?r>1?e.apply(t,arguments):e.call(t,n):e.call(t)}return n._length=e.length,n};function R(e,t){t=t||0;for(var n=e.length-t,r=new Array(n);n--;)r[n]=e[n+t];return r}function I(e,t){for(var n in t)e[n]=t[n];return e}function N(e){for(var t={},n=0;n0,ee=G&&G.indexOf("edge/")>0;G&&G.indexOf("android");var te=G&&/iphone|ipad|ipod|ios/.test(G);G&&/chrome\/\d+/.test(G),G&&/phantomjs/.test(G);var ne,re=G&&G.match(/firefox\/(\d+)/),oe={}.watch,ae=!1;if(Z)try{var ie={};Object.defineProperty(ie,"passive",{get:function(){ae=!0}}),window.addEventListener("test-passive",null,ie)}catch(u){}var ue=function(){return void 0===ne&&(ne=!Z&&void 0!==n.g&&n.g.process&&"server"===n.g.process.env.VUE_ENV),ne},se=Z&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function ce(e){return"function"==typeof e&&/native code/.test(e.toString())}var le,fe="undefined"!=typeof Symbol&&ce(Symbol)&&"undefined"!=typeof Reflect&&ce(Reflect.ownKeys);le="undefined"!=typeof Set&&ce(Set)?Set:function(){function e(){(0,o.default)(this,e),this.set=Object.create(null)}return(0,a.default)(e,[{key:"has",value:function(e){return!0===this.set[e]}},{key:"add",value:function(e){this.set[e]=!0}},{key:"clear",value:function(){this.set=Object.create(null)}}]),e}();var de=null;function pe(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;e||de&&de._scope.off(),de=e,e&&e._scope.on()}var ve=function(){function e(t,n,r,a,i,u,s,c){(0,o.default)(this,e),this.tag=t,this.data=n,this.children=r,this.text=a,this.elm=i,this.ns=void 0,this.context=u,this.fnContext=void 0,this.fnOptions=void 0,this.fnScopeId=void 0,this.key=n&&n.key,this.componentOptions=s,this.componentInstance=void 0,this.parent=void 0,this.raw=!1,this.isStatic=!1,this.isRootInsert=!0,this.isComment=!1,this.isCloned=!1,this.isOnce=!1,this.asyncFactory=c,this.asyncMeta=void 0,this.isAsyncPlaceholder=!1}return(0,a.default)(e,[{key:"child",get:function(){return this.componentInstance}}]),e}(),ye=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=new ve;return t.text=e,t.isComment=!0,t};function he(e){return new ve(void 0,void 0,void 0,String(e))}function me(e){var t=new ve(e.tag,e.data,e.children&&e.children.slice(),e.text,e.elm,e.context,e.componentOptions,e.asyncFactory);return t.ns=e.ns,t.isStatic=e.isStatic,t.key=e.key,t.isComment=e.isComment,t.fnContext=e.fnContext,t.fnOptions=e.fnOptions,t.fnScopeId=e.fnScopeId,t.asyncMeta=e.asyncMeta,t.isCloned=!0,t}var be=0,ge=function(){function e(){(0,o.default)(this,e),this.id=be++,this.subs=[]}return(0,a.default)(e,[{key:"addSub",value:function(e){this.subs.push(e)}},{key:"removeSub",value:function(e){P(this.subs,e)}},{key:"depend",value:function(t){e.target&&e.target.addDep(this)}},{key:"notify",value:function(e){for(var t=this.subs.slice(),n=0,r=t.length;n1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if((0,o.default)(this,e),this.value=t,this.shallow=n,this.mock=r,this.dep=r?Me:new ge,this.vmCount=0,q(t,"__ob__",this),s(t)){if(!r)if(Q)t.__proto__=xe;else for(var a=0,i=je.length;a2&&void 0!==arguments[2]?arguments[2]:u,a=o.immediate,i=o.deep,c=o.flush,l=void 0===c?"pre":c,f=(o.onTrack,o.onTrigger,de),d=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return Ut(e,null,n,f,t)},v=!1,y=!1;if(Fe(e)?(n=function(){return e.value},v=Be(e)):Le(e)?(n=function(){return e.__ob__.dep.depend(),e},i=!0):s(e)?(y=!0,v=e.some((function(e){return Le(e)||Be(e)})),n=function(){return e.map((function(e){return Fe(e)?e.value:Le(e)?yn(e):p(e)?d(e,"watcher getter"):void 0}))}):n=p(e)?t?function(){return d(e,"watcher getter")}:function(){if(!f||!f._isDestroyed)return r&&r(),d(e,"watcher",[m])}:A,t&&i){var h=n;n=function(){return yn(h())}}var m=function(e){r=b.onStop=function(){d(e,"watcher cleanup")}};if(ue())return m=A,t?a&&d(t,"watcher callback",[n(),y?[]:void 0,m]):n(),A;var b=new gn(de,n,A,{lazy:!0});b.noRecurse=!t;var g=y?[]:Ze;return b.run=function(){if(b.active)if(t){var e=b.get();(i||v||(y?e.some((function(e,t){return H(e,g[t])})):H(e,g)))&&(r&&r(),d(t,"watcher callback",[e,g===Ze?void 0:g,m]),g=e)}else b.get()},"sync"===l?b.update=b.run:"post"===l?(b.post=!0,b.update=function(){return Fn(b)}):b.update=function(){if(f&&f===de&&!f._isMounted){var e=f._preWatchers||(f._preWatchers=[]);e.indexOf(b)<0&&e.push(b)}else Fn(b)},t?a?b.run():g=b.get():"post"===l&&f?f.$once("hook:mounted",(function(){return b.get()})):b.get(),function(){b.teardown()}}var Je=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];(0,o.default)(this,e),this.active=!0,this.effects=[],this.cleanups=[],!t&&Qe&&(this.parent=Qe,this.index=(Qe.scopes||(Qe.scopes=[])).push(this)-1)}return(0,a.default)(e,[{key:"run",value:function(e){if(this.active){var t=Qe;try{return Qe=this,e()}finally{Qe=t}}}},{key:"on",value:function(){Qe=this}},{key:"off",value:function(){Qe=this.parent}},{key:"stop",value:function(e){if(this.active){var t,n;for(t=0,n=this.effects.length;t0&&(it((r=ut(r,"".concat(t||"","_").concat(n)))[0])&&it(a)&&(i[o]=he(a.text+r[0].text),r.shift()),i.push.apply(i,r)):d(r)?it(a)?i[o]=he(a.text+r):""!==r&&i.push(he(r)):it(r)&&it(a)?i[o]=he(a.text+r.text):(f(e._isVList)&&l(r.tag)&&c(r.key)&&l(t)&&(r.key="__vlist".concat(t,"_").concat(n,"__")),i.push(r)));return i}function st(e,t){var n,r,o,a,i=null;if(s(e)||"string"==typeof e)for(i=new Array(e.length),n=0,r=e.length;n0,i=t?!!t.$stable:!a,s=t&&t.$key;if(t){if(t._normalized)return t._normalized;if(i&&r&&r!==u&&s===r.$key&&!a&&!r.$hasNormal)return r;for(var c in o={},t)t[c]&&"$"!==c[0]&&(o[c]=kt(e,n,c,t[c]))}else o={};for(var l in n)l in o||(o[l]=St(n,l));return t&&Object.isExtensible(t)&&(t._normalized=o),q(o,"$stable",i),q(o,"$key",s),q(o,"$hasNormal",a),o}function kt(e,t,n,r){var o=function(){var t=de;pe(e);var n=arguments.length?r.apply(null,arguments):r({}),o=(n=n&&"object"==(0,i.default)(n)&&!s(n)?[n]:at(n))&&n[0];return pe(t),n&&(!o||1===n.length&&o.isComment&&!jt(o))?void 0:n};return r.proxy&&Object.defineProperty(t,n,{get:o,enumerable:!0,configurable:!0}),o}function St(e,t){return function(){return e[t]}}function Mt(e){return{get attrs(){if(!e._attrsProxy){var t=e._attrsProxy={};q(t,"_v_attr_proxy",!0),Dt(t,e.$attrs,u,e,"$attrs")}return e._attrsProxy},get listeners(){return e._listenersProxy||Dt(e._listenersProxy={},e.$listeners,u,e,"$listeners"),e._listenersProxy},get slots(){return function(e){return e._slotsProxy||Et(e._slotsProxy={},e.$scopedSlots),e._slotsProxy}(e)},emit:E(e.$emit,e),expose:function(t){t&&Object.keys(t).forEach((function(n){return $e(e,t,n)}))}}}function Dt(e,t,n,r,o){var a=!1;for(var i in t)i in e?t[i]!==n[i]&&(a=!0):(a=!0,Ct(e,i,r,o));for(var u in e)u in t||(a=!0,delete e[u]);return a}function Ct(e,t,n,r){Object.defineProperty(e,t,{enumerable:!0,configurable:!0,get:function(){return n[r][t]}})}function Et(e,t){for(var n in t)e[n]=t[n];for(var r in e)r in t||delete e[r]}function Rt(){var e=de;return e._setupContext||(e._setupContext=Mt(e))}var It=null;function Nt(e,t){return(e.__esModule||fe&&"Module"===e[Symbol.toStringTag])&&(e=e.default),v(e)?t.extend(e):e}function At(e){if(s(e))for(var t=0;t1&&void 0!==arguments[1]?arguments[1]:de;if(n)return function(e,t,n){var r=e.$options;r[t]=tr(r[t],n)}(n,e,t)}}var en=Kt("beforeMount"),tn=Kt("mounted"),nn=Kt("beforeUpdate"),rn=Kt("updated"),on=Kt("beforeDestroy"),an=Kt("destroyed"),un=Kt("activated"),sn=Kt("deactivated"),cn=Kt("serverPrefetch"),ln=Kt("renderTracked"),fn=Kt("renderTriggered"),dn=Kt("errorCaptured"),pn=Object.freeze({__proto__:null,version:"2.7.10",defineComponent:function(e){return e},ref:function(e){return He(e,!1)},shallowRef:function(e){return He(e,!0)},isRef:Fe,toRef:We,toRefs:function(e){var t=s(e)?new Array(e.length):{};for(var n in e)t[n]=We(e,n);return t},unref:function(e){return Fe(e)?e.value:e},proxyRefs:function(e){if(Le(e))return e;for(var t={},n=Object.keys(e),r=0;r2&&void 0!==arguments[2]&&arguments[2],r=de;if(r){var o=r.$parent&&r.$parent._provided;if(o&&e in o)return o[e];if(arguments.length>1)return n&&p(t)?t.call(r):t}},h:function(e,t,n){return Yt(de,e,t,n,2,!0)},getCurrentInstance:function(){return de&&{proxy:de}},useSlots:function(){return Rt().slots},useAttrs:function(){return Rt().attrs},useListeners:function(){return Rt().listeners},mergeDefaults:function(e,t){var n=s(e)?e.reduce((function(e,t){return e[t]={},e}),{}):e;for(var r in t){var o=n[r];o?s(o)||p(o)?n[r]={type:o,default:t[r]}:o.default=t[r]:null===o&&(n[r]={default:t[r]})}return n},nextTick:Jt,set:Re,del:Ie,useCssModule:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"$style";if(!de)return u;var t=de[e];return t||u},useCssVars:function(e){if(Z){var t=de;t&&Xe((function(){var n=t.$el,r=e(t,t._setupProxy);if(n&&1===n.nodeType){var o=n.style;for(var a in r)o.setProperty("--".concat(a),r[a])}}))}},defineAsyncComponent:function(e){p(e)&&(e={loader:e});var t=e,n=t.loader,r=t.loadingComponent,o=t.errorComponent,a=t.delay,i=void 0===a?200:a,u=t.timeout,s=(t.suspensible,t.onError),c=null,l=0,f=function e(){var t;return c||(t=c=n().catch((function(t){if(t=t instanceof Error?t:new Error(String(t)),s)return new Promise((function(n,r){s(t,(function(){return n((l++,c=null,e()))}),(function(){return r(t)}),l+1)}));throw t})).then((function(e){return t!==c&&c?c:(e&&(e.__esModule||"Module"===e[Symbol.toStringTag])&&(e=e.default),e)})))};return function(){return{component:f(),delay:i,timeout:u,error:o,loading:r}}},onBeforeMount:en,onMounted:tn,onBeforeUpdate:nn,onUpdated:rn,onBeforeUnmount:on,onUnmounted:an,onActivated:un,onDeactivated:sn,onServerPrefetch:cn,onRenderTracked:ln,onRenderTriggered:fn,onErrorCaptured:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:de;dn(e,t)}}),vn=new le;function yn(e){return hn(e,vn),vn.clear(),e}function hn(e,t){var n,r,o=s(e);if(!(!o&&!v(e)||Object.isFrozen(e)||e instanceof ve)){if(e.__ob__){var a=e.__ob__.dep.id;if(t.has(a))return;t.add(a)}if(o)for(n=e.length;n--;)hn(e[n],t);else if(Fe(e))hn(e.value,t);else for(n=(r=Object.keys(e)).length;n--;)hn(e[r[n]],t)}}var mn,bn=0,gn=function(){function e(t,n,r,a,i){(0,o.default)(this,e),function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Qe;t&&t.active&&t.effects.push(e)}(this,Qe&&!Qe._vm?Qe:t?t._scope:void 0),(this.vm=t)&&i&&(t._watcher=this),a?(this.deep=!!a.deep,this.user=!!a.user,this.lazy=!!a.lazy,this.sync=!!a.sync,this.before=a.before):this.deep=this.user=this.lazy=this.sync=!1,this.cb=r,this.id=++bn,this.active=!0,this.post=!1,this.dirty=this.lazy,this.deps=[],this.newDeps=[],this.depIds=new le,this.newDepIds=new le,this.expression="",p(n)?this.getter=n:(this.getter=function(e){if(!X.test(e)){var t=e.split(".");return function(e){for(var n=0;n3&&void 0!==arguments[3])||arguments[3];we();var o=de;r&&pe(e);var a=e.$options[t],i="".concat(t," hook");if(a)for(var u=0,s=a.length;udocument.createEvent("Event").timeStamp&&(Yn=function(){return Ln.now()})}var Bn=function(e,t){if(e.post){if(!t.post)return 1}else if(t.post)return-1;return e.id-t.id};function Un(){var e,t;for(An=Yn(),In=!0,Dn.sort(Bn),Nn=0;NnNn&&Dn[n].id>e.id;)n--;Dn.splice(n+1,0,e)}else Dn.push(e);Rn||(Rn=!0,Jt(Un))}}function Hn(e,t){if(e){for(var n=Object.create(null),r=fe?Reflect.ownKeys(e):Object.keys(e),o=0;o-1)if(a&&!j(o,"default"))i=!1;else if(""===i||i===C(e)){var s=lr(String,o.type);(s<0||u-1:"string"==typeof e?e.split(",").indexOf(t)>-1:(n=e,"[object RegExp]"===y.call(n)&&e.test(t));var n}function xr(e,t){var n=e.cache,r=e.keys,o=e._vnode;for(var a in n){var i=n[a];if(i){var u=i.name;u&&!t(u)&&jr(n,a,r,o)}}}function jr(e,t,n,r){var o=e[t];!o||r&&o.tag===r.tag||o.componentInstance.$destroy(),e[t]=null,P(n,t)}!function(e){e.prototype._init=function(e){var t=this;t._uid=gr++,t._isVue=!0,t.__v_skip=!0,t._scope=new Je(!0),t._scope._vm=!0,e&&e._isComponent?function(e,t){var n=e.$options=Object.create(e.constructor.options),r=t._parentVnode;n.parent=t.parent,n._parentVnode=r;var o=r.componentOptions;n.propsData=o.propsData,n._parentListeners=o.listeners,n._renderChildren=o.children,n._componentTag=o.tag,t.render&&(n.render=t.render,n.staticRenderFns=t.staticRenderFns)}(t,e):t.$options=or(_r(t.constructor),e||{},t),t._renderProxy=t,t._self=t,function(e){var t=e.$options,n=t.parent;if(n&&!t.abstract){for(;n.$options.abstract&&n.$parent;)n=n.$parent;n.$children.push(e)}e.$parent=n,e.$root=n?n.$root:e,e.$children=[],e.$refs={},e._provided=n?n._provided:Object.create(null),e._watcher=null,e._inactive=null,e._directInactive=!1,e._isMounted=!1,e._isDestroyed=!1,e._isBeingDestroyed=!1}(t),function(e){e._events=Object.create(null),e._hasHookEvent=!1;var t=e.$options._parentListeners;t&&Pn(e,t)}(t),function(e){e._vnode=null,e._staticTrees=null;var t=e.$options,n=e.$vnode=t._parentVnode,r=n&&n.context;e.$slots=Pt(t._renderChildren,r),e.$scopedSlots=n?Tt(e.$parent,n.data.scopedSlots,e.$slots):u,e._c=function(t,n,r,o){return Yt(e,t,n,r,o,!1)},e.$createElement=function(t,n,r,o){return Yt(e,t,n,r,o,!0)};var o=n&&n.data;Ee(e,"$attrs",o&&o.attrs||u,null,!0),Ee(e,"$listeners",t._parentListeners||u,null,!0)}(t),Mn(t,"beforeCreate",void 0,!1),function(e){var t=Hn(e.$options.inject,e);t&&(Se(!1),Object.keys(t).forEach((function(n){Ee(e,n,t[n])})),Se(!0))}(t),pr(t),function(e){var t=e.$options.provide;if(t){var n=p(t)?t.call(e):t;if(!v(n))return;for(var r=Ke(e),o=fe?Reflect.ownKeys(n):Object.keys(n),a=0;a1?R(n):n;for(var r=R(arguments,1),o='event handler for "'.concat(e,'"'),a=0,i=n.length;aparseInt(this.max)&&jr(e,t[0],t,this._vnode),this.vnodeToCache=null}}},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var e in this.cache)jr(this.cache,e,this.keys)},mounted:function(){var e=this;this.cacheVNode(),this.$watch("include",(function(t){xr(e,(function(e){return Pr(t,e)}))})),this.$watch("exclude",(function(t){xr(e,(function(e){return!Pr(t,e)}))}))},updated:function(){this.cacheVNode()},render:function(){var e=this.$slots.default,t=At(e),n=t&&t.componentOptions;if(n){var r=Or(n),o=this.include,a=this.exclude;if(o&&(!r||!Pr(o,r))||a&&r&&Pr(a,r))return t;var i=this.cache,u=this.keys,s=null==t.key?n.Ctor.cid+(n.tag?"::".concat(n.tag):""):t.key;i[s]?(t.componentInstance=i[s].componentInstance,P(u,s),u.push(s)):(this.vnodeToCache=t,this.keyToCache=s),t.data.keepAlive=!0}return t||e&&e[0]}}};!function(e){var t={get:function(){return V}};Object.defineProperty(e,"config",t),e.util={warn:Gn,extend:I,mergeOptions:or,defineReactive:Ee},e.set=Re,e.delete=Ie,e.nextTick=Jt,e.observable=function(e){return Ce(e),e},e.options=Object.create(null),$.forEach((function(t){e.options[t+"s"]=Object.create(null)})),e.options._base=e,I(e.options.components,kr),function(e){e.use=function(e){var t=this._installedPlugins||(this._installedPlugins=[]);if(t.indexOf(e)>-1)return this;var n=R(arguments,1);return n.unshift(this),p(e.install)?e.install.apply(e,n):p(e)&&e.apply(null,n),t.push(e),this}}(e),function(e){e.mixin=function(e){return this.options=or(this.options,e),this}}(e),function(e){e.cid=0;var t=1;e.extend=function(e){e=e||{};var n=this,r=n.cid,o=e._Ctor||(e._Ctor={});if(o[r])return o[r];var a=zn(e)||zn(n.options),i=function(e){this._init(e)};return(i.prototype=Object.create(n.prototype)).constructor=i,i.cid=t++,i.options=or(n.options,e),i.super=n,i.options.props&&function(e){var t=e.options.props;for(var n in t)dr(e.prototype,"_props",n)}(i),i.options.computed&&function(e){var t=e.options.computed;for(var n in t)yr(e.prototype,n,t[n])}(i),i.extend=n.extend,i.mixin=n.mixin,i.use=n.use,$.forEach((function(e){i[e]=n[e]})),a&&(i.options.components[a]=i),i.superOptions=n.options,i.extendOptions=e,i.sealedOptions=I({},i.options),o[r]=i,i}}(e),function(e){$.forEach((function(t){e[t]=function(e,n){return n?("component"===t&&h(n)&&(n.name=n.name||e,n=this.options._base.extend(n)),"directive"===t&&p(n)&&(n={bind:n,update:n}),this.options[t+"s"][e]=n,n):this.options[t+"s"][e]}}))}(e)}(wr),Object.defineProperty(wr.prototype,"$isServer",{get:ue}),Object.defineProperty(wr.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(wr,"FunctionalRenderContext",{value:$n}),wr.version="2.7.10";var Sr=w("style,class"),Mr=w("input,textarea,option,select,progress"),Dr=w("contenteditable,draggable,spellcheck"),Cr=w("events,caret,typing,plaintext-only"),Er=w("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,truespeed,typemustmatch,visible"),Rr="http://www.w3.org/1999/xlink",Ir=function(e){return":"===e.charAt(5)&&"xlink"===e.slice(0,5)},Nr=function(e){return Ir(e)?e.slice(6,e.length):""},Ar=function(e){return null==e||!1===e};function Yr(e,t){return{staticClass:Lr(e.staticClass,t.staticClass),class:l(e.class)?[e.class,t.class]:t.class}}function Lr(e,t){return e?t?e+" "+t:e:t||""}function Br(e){return Array.isArray(e)?function(e){for(var t,n="",r=0,o=e.length;r-1?co(e,t,n):Er(t)?Ar(n)?e.removeAttribute(t):(n="allowfullscreen"===t&&"EMBED"===e.tagName?"true":t,e.setAttribute(t,n)):Dr(t)?e.setAttribute(t,function(e,t){return Ar(t)||"false"===t?"false":"contenteditable"===e&&Cr(t)?t:"true"}(t,n)):Ir(t)?Ar(n)?e.removeAttributeNS(Rr,Nr(t)):e.setAttributeNS(Rr,t,n):co(e,t,n)}function co(e,t,n){Ar(n)?e.removeAttribute(t):(!J||K||"TEXTAREA"!==e.tagName||"placeholder"!==t||""===n||e.__ieph||(e.addEventListener("input",(function t(n){n.stopImmediatePropagation(),e.removeEventListener("input",t)})),e.__ieph=!0),e.setAttribute(t,n))}var lo={create:uo,update:uo};function fo(e,t){var n=t.elm,r=t.data,o=e.data;if(!(c(r.staticClass)&&c(r.class)&&(c(o)||c(o.staticClass)&&c(o.class)))){var a=function(e){for(var t=e.data,n=e,r=e;l(r.componentInstance);)(r=r.componentInstance._vnode)&&r.data&&(t=Yr(r.data,t));for(;l(n=n.parent);)n&&n.data&&(t=Yr(t,n.data));return function(e,t){return l(e)||l(t)?Lr(e,Br(t)):""}(t.staticClass,t.class)}(t),i=n._transitionClasses;l(i)&&(a=Lr(a,Br(i))),a!==n._prevClass&&(n.setAttribute("class",a),n._prevClass=a)}}var po,vo={create:fo,update:fo};function yo(e,t,n){var r=po;return function o(){var a=t.apply(null,arguments);null!==a&&bo(e,o,n,r)}}var ho=Wt&&!(re&&Number(re[1])<=53);function mo(e,t,n,r){if(ho){var o=An,a=t;t=a._wrapper=function(e){if(e.target===e.currentTarget||e.timeStamp>=o||e.timeStamp<=0||e.target.ownerDocument!==document)return a.apply(this,arguments)}}po.addEventListener(e,t,ae?{capture:n,passive:r}:n)}function bo(e,t,n,r){(r||po).removeEventListener(e,t._wrapper||t,n)}function go(e,t){if(!c(e.data.on)||!c(t.data.on)){var n=t.data.on||{},r=e.data.on||{};po=t.elm||e.elm,function(e){if(l(e.__r)){var t=J?"change":"input";e[t]=[].concat(e.__r,e[t]||[]),delete e.__r}l(e.__c)&&(e.change=[].concat(e.__c,e.change||[]),delete e.__c)}(n),nt(n,r,mo,bo,yo,t.context),po=void 0}}var _o,wo={create:go,update:go,destroy:function(e){return go(e,Zr)}};function Oo(e,t){if(!c(e.data.domProps)||!c(t.data.domProps)){var n,r,o=t.elm,a=e.data.domProps||{},i=t.data.domProps||{};for(n in(l(i.__ob__)||f(i._v_attr_proxy))&&(i=t.data.domProps=I({},i)),a)n in i||(o[n]="");for(n in i){if(r=i[n],"textContent"===n||"innerHTML"===n){if(t.children&&(t.children.length=0),r===a[n])continue;1===o.childNodes.length&&o.removeChild(o.childNodes[0])}if("value"===n&&"PROGRESS"!==o.tagName){o._value=r;var u=c(r)?"":String(r);Po(o,u)&&(o.value=u)}else if("innerHTML"===n&&Hr(o.tagName)&&c(o.innerHTML)){(_o=_o||document.createElement("div")).innerHTML="".concat(r,"");for(var s=_o.firstChild;o.firstChild;)o.removeChild(o.firstChild);for(;s.firstChild;)o.appendChild(s.firstChild)}else if(r!==a[n])try{o[n]=r}catch(e){}}}}function Po(e,t){return!e.composing&&("OPTION"===e.tagName||function(e,t){var n=!0;try{n=document.activeElement!==e}catch(e){}return n&&e.value!==t}(e,t)||function(e,t){var n=e.value,r=e._vModifiers;if(l(r)){if(r.number)return _(n)!==_(t);if(r.trim)return n.trim()!==t.trim()}return n!==t}(e,t))}var xo={create:Oo,update:Oo},jo=T((function(e){var t={},n=/:(.+)/;return e.split(/;(?![^(]*\))/g).forEach((function(e){if(e){var r=e.split(n);r.length>1&&(t[r[0].trim()]=r[1].trim())}})),t}));function To(e){var t=ko(e.style);return e.staticStyle?I(e.staticStyle,t):t}function ko(e){return Array.isArray(e)?N(e):"string"==typeof e?jo(e):e}var So,Mo=/^--/,Do=/\s*!important$/,Co=function(e,t,n){if(Mo.test(t))e.style.setProperty(t,n);else if(Do.test(n))e.style.setProperty(C(t),n.replace(Do,""),"important");else{var r=Ro(t);if(Array.isArray(n))for(var o=0,a=n.length;o-1?t.split(Ao).forEach((function(t){return e.classList.add(t)})):e.classList.add(t);else{var n=" ".concat(e.getAttribute("class")||""," ");n.indexOf(" "+t+" ")<0&&e.setAttribute("class",(n+t).trim())}}function Lo(e,t){if(t&&(t=t.trim()))if(e.classList)t.indexOf(" ")>-1?t.split(Ao).forEach((function(t){return e.classList.remove(t)})):e.classList.remove(t),e.classList.length||e.removeAttribute("class");else{for(var n=" ".concat(e.getAttribute("class")||""," "),r=" "+t+" ";n.indexOf(r)>=0;)n=n.replace(r," ");(n=n.trim())?e.setAttribute("class",n):e.removeAttribute("class")}}function Bo(e){if(e){if("object"==(0,i.default)(e)){var t={};return!1!==e.css&&I(t,Uo(e.name||"v")),I(t,e),t}return"string"==typeof e?Uo(e):void 0}}var Uo=T((function(e){return{enterClass:"".concat(e,"-enter"),enterToClass:"".concat(e,"-enter-to"),enterActiveClass:"".concat(e,"-enter-active"),leaveClass:"".concat(e,"-leave"),leaveToClass:"".concat(e,"-leave-to"),leaveActiveClass:"".concat(e,"-leave-active")}})),Fo=Z&&!K,Ho="transition",$o="transitionend",Wo="animation",Vo="animationend";Fo&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(Ho="WebkitTransition",$o="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(Wo="WebkitAnimation",Vo="webkitAnimationEnd"));var zo=Z?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(e){return e()};function qo(e){zo((function(){zo(e)}))}function Xo(e,t){var n=e._transitionClasses||(e._transitionClasses=[]);n.indexOf(t)<0&&(n.push(t),Yo(e,t))}function Qo(e,t){e._transitionClasses&&P(e._transitionClasses,t),Lo(e,t)}function Zo(e,t,n){var r=Jo(e,t),o=r.type,a=r.timeout,i=r.propCount;if(!o)return n();var u="transition"===o?$o:Vo,s=0,c=function(){e.removeEventListener(u,l),n()},l=function(t){t.target===e&&++s>=i&&c()};setTimeout((function(){s0&&(n="transition",l=i,f=a.length):"animation"===t?c>0&&(n="animation",l=c,f=s.length):f=(n=(l=Math.max(i,c))>0?i>c?"transition":"animation":null)?"transition"===n?a.length:s.length:0,{type:n,timeout:l,propCount:f,hasTransform:"transition"===n&&Go.test(r[Ho+"Property"])}}function Ko(e,t){for(;e.length1}function aa(e,t){!0!==t.data.show&&ta(t)}var ia=function(e){var t,n,r={},o=e.modules,a=e.nodeOps;for(t=0;tv?g(e,c(n[m+1])?null:n[m+1].elm,n,p,m,r):p>m&&O(t,d,v)}(d,y,m,n,s):l(m)?(l(e.text)&&a.setTextContent(d,""),g(d,null,m,0,m.length-1,n)):l(y)?O(y,0,y.length-1):l(e.text)&&a.setTextContent(d,""):e.text!==t.text&&a.setTextContent(d,t.text),l(v)&&l(p=v.hook)&&l(p=p.postpatch)&&p(e,t)}}}function T(e,t,n){if(f(n)&&l(e.parent))e.parent.data.pendingInsert=t;else for(var r=0;r-1,i.selected!==a&&(i.selected=a);else if(B(fa(i),r))return void(e.selectedIndex!==u&&(e.selectedIndex=u));o||(e.selectedIndex=-1)}}function la(e,t){return t.every((function(t){return!B(t,e)}))}function fa(e){return"_value"in e?e._value:e.value}function da(e){e.target.composing=!0}function pa(e){e.target.composing&&(e.target.composing=!1,va(e.target,"input"))}function va(e,t){var n=document.createEvent("HTMLEvents");n.initEvent(t,!0,!0),e.dispatchEvent(n)}function ya(e){return!e.componentInstance||e.data&&e.data.transition?e:ya(e.componentInstance._vnode)}var ha={bind:function(e,t,n){var r=t.value,o=(n=ya(n)).data&&n.data.transition,a=e.__vOriginalDisplay="none"===e.style.display?"":e.style.display;r&&o?(n.data.show=!0,ta(n,(function(){e.style.display=a}))):e.style.display=r?a:"none"},update:function(e,t,n){var r=t.value;!r!=!t.oldValue&&((n=ya(n)).data&&n.data.transition?(n.data.show=!0,r?ta(n,(function(){e.style.display=e.__vOriginalDisplay})):na(n,(function(){e.style.display="none"}))):e.style.display=r?e.__vOriginalDisplay:"none")},unbind:function(e,t,n,r,o){o||(e.style.display=e.__vOriginalDisplay)}},ma={model:ua,show:ha},ba={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function ga(e){var t=e&&e.componentOptions;return t&&t.Ctor.options.abstract?ga(At(t.children)):e}function _a(e){var t={},n=e.$options;for(var r in n.propsData)t[r]=e[r];var o=n._parentListeners;for(var a in o)t[S(a)]=o[a];return t}function wa(e,t){if(/\d-keep-alive$/.test(t.tag))return e("keep-alive",{props:t.componentOptions.propsData})}var Oa=function(e){return e.tag||jt(e)},Pa=function(e){return"show"===e.name},xa={name:"transition",props:ba,abstract:!0,render:function(e){var t=this,n=this.$slots.default;if(n&&(n=n.filter(Oa)).length){var r=this.mode,o=n[0];if(function(e){for(;e=e.parent;)if(e.data.transition)return!0}(this.$vnode))return o;var a=ga(o);if(!a)return o;if(this._leaving)return wa(e,o);var i="__transition-".concat(this._uid,"-");a.key=null==a.key?a.isComment?i+"comment":i+a.tag:d(a.key)?0===String(a.key).indexOf(i)?a.key:i+a.key:a.key;var u=(a.data||(a.data={})).transition=_a(this),s=this._vnode,c=ga(s);if(a.data.directives&&a.data.directives.some(Pa)&&(a.data.show=!0),c&&c.data&&!function(e,t){return t.key===e.key&&t.tag===e.tag}(a,c)&&!jt(c)&&(!c.componentInstance||!c.componentInstance._vnode.isComment)){var l=c.data.transition=I({},u);if("out-in"===r)return this._leaving=!0,rt(l,"afterLeave",(function(){t._leaving=!1,t.$forceUpdate()})),wa(e,o);if("in-out"===r){if(jt(a))return s;var f,p=function(){f()};rt(u,"afterEnter",p),rt(u,"enterCancelled",p),rt(l,"delayLeave",(function(e){f=e}))}}return o}}},ja=I({tag:String,moveClass:String},ba);delete ja.mode;var Ta={props:ja,beforeMount:function(){var e=this,t=this._update;this._update=function(n,r){var o=jn(e);e.__patch__(e._vnode,e.kept,!1,!0),e._vnode=e.kept,o(),t.call(e,n,r)}},render:function(e){for(var t=this.tag||this.$vnode.data.tag||"span",n=Object.create(null),r=this.prevChildren=this.children,o=this.$slots.default||[],a=this.children=[],i=_a(this),u=0;u-1?Wr[e]=t.constructor===window.HTMLUnknownElement||t.constructor===window.HTMLElement:Wr[e]=/HTMLUnknownElement/.test(t.toString())},I(wr.options.directives,ma),I(wr.options.components,Da),wr.prototype.__patch__=Z?ia:A,wr.prototype.$mount=function(e,t){return function(e,t,n){var r;e.$el=t,e.$options.render||(e.$options.render=ye),Mn(e,"beforeMount"),r=function(){e._update(e._render(),n)},new gn(e,r,A,{before:function(){e._isMounted&&!e._isDestroyed&&Mn(e,"beforeUpdate")}},!0),n=!1;var o=e._preWatchers;if(o)for(var a=0;a0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;return o.default.prototype.$marked=t,o.default.prototype.$speakData=e,o.default.prototype.$http=i.default,o.default.prototype.$eventHub=s,o.default.use(a.default,c),new o.default({render:function(e){return e(u.default)}}).$mount(e.el||"#ispeak")}},8126:function(){"use strict";var e=e||{};e.scope={},e.createTemplateTagFirstArg=function(e){return e.raw=e},e.createTemplateTagFirstArgWithRaw=function(e,t){return e.raw=t,e},e.arrayIteratorImpl=function(e){var t=0;return function(){return t\n \n

\n
\n
\n
\n
\n
\n
\n '+(n+1)+"/"+e.length+'\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n \n
\n
\n \n ',"text/html").body.firstChild,o=function(e){var t={Escape:"close",ArrowLeft:"tools__flip-prev",ArrowRight:"tools__flip-next"};t[e.key]&&r.querySelector(".view-image-"+t[e.key]).click()},a=function(e){var t=new Image,n=r.querySelector(".view-image-lead");n.className="view-image-lead view-image-lead__out",setTimeout((function(){n.innerHTML="",t.onload=function(){setTimeout((function(){n.innerHTML='ViewImage',n.className="view-image-lead view-image-lead__in"}),100)},t.src=e}),300)};document.body.appendChild(r),a(t),window.addEventListener("keydown",o),r.onclick=function(t){t.target.closest(".view-image-close")?(window.removeEventListener("keydown",o),r.onclick=null,r.classList.add("view-image__out"),setTimeout((function(){return r.remove()}),290)):t.target.closest(".view-image-tools__flip")&&(n=t.target.closest(".view-image-tools__flip-prev")?0===n?e.length-1:n-1:n===e.length-1?0:n+1,a(e[n]),r.querySelector(".view-image-index").innerHTML=n+1)}}}},7152:function(e,t,n){(t=n(8161)(!1)).push([e.id,'\n.xk-card[data-v-7d45a7d6] {\r\n padding: 15px 20px 2px;\r\n border-radius: 10px;\r\n background: rgba(255, 255, 255, 0.1);\r\n box-shadow: 0 0px 14px 2px rgb(7 17 27 / 6%);\r\n overflow: hidden;\r\n margin-top: 20px;\r\n user-select: none;\r\n position: relative;\r\n transition: all 0.15s ease-in-out;\n}\n.xk-card[data-v-7d45a7d6]:hover {\r\n box-shadow: 0 5px 10px 8px rgba(7, 17, 27, 0.16);\r\n transform: scale(1.015);\n}\n.xk-card .xk-card-time[data-v-7d45a7d6] {\r\n font-size: 12px;\r\n /* text-shadow: #d9d9d9 0 0 1px, #fffffb 0 0 1px, #fffffb 0 0 2px; */\r\n /* margin-left: 10px; */\r\n font-weight: 400;\r\n font-style: oblique;\n}\n.xk-card .xk-card-header[data-v-7d45a7d6] {\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\n}\n.xk-card .xk-card-header .xk-card-name[data-v-7d45a7d6] {\r\n display: flex;\r\n align-items: center;\n}\n.xk-card .xk-card-header .xk-card-name .is-badge[data-v-7d45a7d6] {\r\n height: 20px;\r\n width: 20px;\r\n margin-left: 5px;\n}\n.xk-card .xk-card-header .xk-card-name .avatar[data-v-7d45a7d6] {\r\n width: 40px;\r\n height: 40px;\r\n margin-right: 10px;\n}\n.xk-card .xk-card-header .xk-card-name .name-info[data-v-7d45a7d6] {\r\n display: inline-flex;\r\n flex-direction: column;\r\n align-items: flex-start;\n}\n.xk-card .xk-card-header .xk-card-name .avatar-img[data-v-7d45a7d6] {\r\n width: 100%;\r\n height: unset;\r\n border-radius: 0.6em;\r\n box-shadow: 0px 0px 3px 0px #00000066;\n}\n.name[data-v-7d45a7d6] {\r\n font-weight: bold;\r\n transition: letter-spacing 0.2s ease;\n}\n.xk-card .xk-card-content[data-v-7d45a7d6] {\r\n padding: 0.8rem 0;\n}\n.xk-card-content > div > iframe[data-v-7d45a7d6] {\r\n width: 100% !important;\n}\n.dao-label[data-v-7d45a7d6] {\r\n color: var(--f4afac4a);\r\n font-weight: bold;\r\n font-style: oblique;\r\n font-size: 13px;\r\n background-color: var(--23240d2a);\r\n padding: 2px 6px;\r\n border-radius: 0.4em;\n}\n.dao-like[data-v-7d45a7d6] {\r\n display: inline-flex;\r\n align-items: center;\n}\n.like-svg[data-v-7d45a7d6] {\r\n cursor: pointer;\n}\n@media screen and (min-width: 768px) {\n#article-container .xk-card-content[data-v-7d45a7d6] .fancybox,\r\n #article-container .xk-card-content[data-v-7d45a7d6] video {\r\n display: inline-block;\r\n max-width: 50%;\n}\n}\n@media screen and (max-width: 768px) {\n#article-container .xk-card-content[data-v-7d45a7d6] .fancybox,\r\n #article-container .xk-card-content[data-v-7d45a7d6] video {\r\n display: inline-block;\r\n max-width: 100%;\n}\n}\n.xk-card .xk-card-footer[data-v-7d45a7d6] {\r\n display: flex;\r\n padding-bottom: 10px;\r\n justify-content: space-between;\n}\n.xk-card .xk-card-footer .xk-card-label[data-v-7d45a7d6] {\r\n height: fit-content;\r\n padding: 1px 5px;\r\n border-radius: 0.3rem;\r\n\r\n /* padding: 0 5px;\r\n font-weight: 600;\r\n line-height: 24px; */\r\n font-size: 12px;\r\n /* cursor: pointer;\r\n user-select: none;\r\n margin-right: 10px; */\n}\n.xk-card-header[data-v-7d45a7d6]::before {\r\n content: " ";\r\n width: 4.5px;\r\n height: 30px;\r\n background-color: var(--f4afac4a);\r\n position: absolute;\r\n left: 0px;\r\n border-top-right-radius: 5px;\r\n border-bottom-right-radius: 5px;\r\n transition: height 0.2s ease;\n}\n.xk-card-label > span[data-v-7d45a7d6]::before {\r\n content: " ";\r\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABmJLR0QA/wD/AP+gvaeTAAAEvElEQVR4nO2aT2zbVBzHP892kiZuGK2hYUXTVqRqVO0FDkyCE5uGEEi7TOJSisQBxoEJ0MR2GxO7ICHQJv6IjQPSChdOlD8TQmxHxMSBSyc2/mxllHTtllRakrZpbD8OadPW6dYkfrEbls+pec9+/n2+9rMT90GbNm3atGnT5m5FHDv2ZTR5M38cxAiwNeyCAiKNYDRnmUeNZKbwNojDYVcUML1IjiQzBQwkIwADz+6is6cr7MICITc9y6WzF0AyogG9wF0jD5BMVVx7DW/nb99dID8zG2xFikimunj4mV3A+h6r+5epBKCnLABELNLsOptGLB6lr/8BAK4mouQ9/UbHSv8vy23eQQaH9zazxpowhKDH1DE0saY9O++QL7mVz4mIhhXXEZ79HQkDw3spObLS1h3X6YxoVceqbgkZFfIzc3ZN8rDJAghaHjZRAH7kTc1pSB4UBrDDlBtvdBv8yCc0hy7DprBYvzwoCsCKQW9cYsXq39eP/BbdptuwARhIOvTEygHUKg8KArBi0GeWC+0z3bpC8Dvns7ZBer7c+mdOMFMUdcnDOo/BethhSnrjK5ddVIOdSZe0IZgoeMv1HFjRDc92BFLCjQbkwWcAEwVBzhb0mS5RDRZduFrQyBQ3OKjiu/3fc43Jg4IpkCmWpQGuhCAP9c35qnoa2stDpghpQ5BtMXlQ+BgMas6rlAdFV8BG6EKQ6tTRxVqtzLxDYZW8uSTvxZUwXbCx3RV5K65j+pSHAAJYPvNe+axHPhHR6F5HvnK3d9eeeT/yswtO5e+mfhXejJf97IJDbnHl2E0LoBXkoUkBtIo8NCGAVpIHxQG0mjwoDKAV5UFRAH7khQhPHhQE4EsesIwSt4rhyIPPAPxe9p2aTYdw2R530Zc6g5QHH98EVcz533OwNSaYnBe4Mnh5aDAAlTe8a3Pl3jDkoYEp0Kp3+9tR11H/b/JQRwCbQf6+Ux9hnf648nl2weH4P19xcvqbNduNXZph7PJMTWNW7gE/v/NFzYUExT2pe3nq4D40rRxS5NpEpW/5zF8tTlftdz1f/Wrq4ugP5P69UdUeyAuRRnFLLpnrWYQoB7C8fufmVBaAxKptE4Vc1f6r23S5/jSpBLD74D6f5Tafua3b8M6tfuN+PO9aeDBhVE3BR/c/sebz+Q++Bjb5FeDlr/3PV7Ud3rKnqu257Z01j1kJIJdfbLCs1kYD0lBeOHS3kF9xTRsIRpEcuXT2Qpg1hYKAM0bOMo8mMwWWlsv1hl1UQKQRjN6yzLfu/N8Mhbz36mcSwNo9dMftMufHATj04YuB1LZpVoiERTuAsAsIG+Xz7NTLpxL5aPSQlAwLwUOA35WXJSm5omnyc7NYev/A6QNzKupcRmkA775ypkcz7O9BPKJy3BXkr65tPP3mJy/U9lOvBpQFcOK1T1OOY5wDBiOJqNs1uE3rsDoRur9ZJh2XhUye7PiktOeLArio6/ae10++VP0zsAGUBFA+8+45kEORRKyYerw/pitec+wu2kz99EfRLizEpOSyHjGefOPEyJTfcZX8GNIizrdIhgBKc8XY5I/jKoZdjxiAEOx0HXsMeMzvgGqeAq70LsxuOkJS/QKgTZs2berkP82M1TLgT8x4AAAAAElFTkSuQmCC");\n}\n.xk-card:hover .xk-card-header[data-v-7d45a7d6]::before {\r\n height: 45px;\n}\n.xk-card:hover .xk-card-header .name[data-v-7d45a7d6] {\r\n letter-spacing: 1px;\n}\r\n',""]),e.exports=t},3355:function(e,t,n){(t=n(8161)(!1)).push([e.id,"\n.xk-footer[data-v-5b309de0] {\r\n width: 100%;\r\n text-align: end;\r\n font-size: 0.75em;\r\n color: #999999;\r\n margin-top: 1em;\n}\r\n",""]),e.exports=t},374:function(e,t,n){(t=n(8161)(!1)).push([e.id,'\n.xk-info[data-v-4fed8636] {\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\n}\n.xk-info .count[data-v-4fed8636] {\r\n font-weight: 700;\r\n font-size: 16px;\r\n /* color: #49b1f5; */\n}\n.xk-info .count i[data-v-4fed8636] {\r\n /* color: black; */\r\n font-size: 20px;\n}\n@font-face {\r\n font-family: "iconfont";\r\n src: url("//at.alicdn.com/t/font_2434936_h1orv7ic88t.eot?t=1616336275189"); /* IE9 */\r\n src: url("//at.alicdn.com/t/font_2434936_h1orv7ic88t.eot?t=1616336275189#iefix")\r\n format("embedded-opentype"),\r\n /* IE6-IE8 */\r\n url("data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAAMUAAsAAAAABswAAALIAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCCcAqBWIFdATYCJAMICwYABCAFhG0HMBsDBsiemjwpUokNLPAZtJlEAoQIov3Yz947VJNLIopHtaRJSyVBhhYowRL5awlvck0zIE7JjQhkMf8FTPMDhUDn5xDUpuZ2E47y4rM+PUz6Di6nP8VbB5TLHJPHBAwsDXCsRZEVSGDeIruI7YlHxHECtXr4M1jLzC8H5jIYF4hbGS0E5g2vLBuJaqGSsjSLFxWq01O6BsBz9v34D0LDnKSiACXbNxkSkPyrB1OMGsoG5wmCt5wZxioKTAEysU+1bjIqolOM1HpRYwPAsQqDX/7LhHvYPx5BVIL8etAlc5+JF/EfNT+BXHSvAy4mXU2aIe6KHBubHndZtXp7q3r9rnz+LG942RidnFhxDUOv0Xh0TCvpfvkKeWkoP6BPE3RtTXlVja+vjjqXj4y6FSxNPCFP/9cWMbjH+Vr8HJw1ut80qkdWEp41nEkP1fYpibiTYR+wW5ODOSm89IJsVvIfIxgL2yCsVPRXsw6wUuzttbP2T3cpoRceFtw8Qi9NSOn5G8O6c2SUFT+SAZQfxUoR8HN/47U4O+XbzW1el8HP1cOZu/zIYJgdqL4FW/AreQObsi8AXcouj2pP1ieFE2oxQAmcrT6mKjvuOxmqddy9vUp3BYVqQ2gmp6BCnVmoVG0Rak3KWl2nDWYkcg0mtEoQmu1D0ugdCs1u0Ey+Q4VO31CpOYyg1mG0bVlnJGSWqxgJCZJAUR2UiTVqihiIZV5YimhGKcR1QUapRFgvC8CQwOB2IgupEV5ihr6aDiWEghTWqGCmdBpSKjVQizVyJCaBUkK0sUFBFO1NgWKNClhahSFCBCIBidSBZMQ01KikM2HZ+XwphMZQEsKcsh5zJQTTk/UOhQgUPADNkqoHlT3KK3rVaKEIggJRMA0VKFMahCgpaUBa+iA5RIwIJJ0Q1ooVhO2oodLA7eWqH8gxqgBVCuxXqHyUqZWMGgA=")\r\n format("woff2"),\r\n url("//at.alicdn.com/t/font_2434936_h1orv7ic88t.woff?t=1616336275189")\r\n format("woff"),\r\n url("//at.alicdn.com/t/font_2434936_h1orv7ic88t.ttf?t=1616336275189")\r\n format("truetype"),\r\n /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */\r\n url("//at.alicdn.com/t/font_2434936_h1orv7ic88t.svg?t=1616336275189#iconfont")\r\n format("svg"); /* iOS 4.1- */\n}\n.iconfont[data-v-4fed8636] {\r\n font-family: "iconfont" !important;\r\n font-size: 16px;\r\n font-style: normal;\r\n -webkit-font-smoothing: antialiased;\r\n -moz-osx-font-smoothing: grayscale;\n}\n@keyframes change-4fed8636 {\n0% {\r\n color: rgb(255, 0, 0);\r\n text-shadow: 0 0 5px rgb(255, 0, 0), 0 0 10px rgb(255, 0, 0),\r\n 0 0 15px rgb(255, 0, 0);\n}\n10% {\r\n color: rgb(255, 187, 0);\r\n text-shadow: 0 0 5px rgb(255, 187, 0), 0 0 10px rgb(255, 187, 0),\r\n 0 0 15px rgb(255, 187, 0);\n}\n20% {\r\n color: rgb(72, 255, 0);\r\n text-shadow: 0 0 5px rgb(72, 255, 0), 0 0 10px rgb(72, 255, 0),\r\n 0 0 15px rgb(72, 255, 0);\n}\n30% {\r\n color: rgb(0, 162, 255);\r\n text-shadow: 0 0 5px rgb(0, 162, 255), 0 0 10px rgb(0, 162, 255),\r\n 0 0 25px rgb(0, 162, 255);\n}\n40% {\r\n color: rgb(0, 60, 255);\r\n text-shadow: 0 0 5px rgb(0, 60, 255), 0 0 10px rgb(0, 60, 255),\r\n 0 0 15px rgb(0, 60, 255);\n}\n50% {\r\n color: rgb(0, 60, 255);\r\n text-shadow: 0 0 5px rgb(0, 60, 255), 0 0 10px rgb(0, 60, 255),\r\n 0 0 15px rgb(0, 60, 255);\n}\n60% {\r\n color: rgb(183, 0, 255);\r\n text-shadow: 0 0 5px rgb(183, 0, 255), 0 0 15px rgb(183, 0, 255),\r\n 0 0 15px rgb(183, 0, 255);\n}\n70% {\r\n color: rgb(0, 255, 213);\r\n text-shadow: 0 0 5px rgb(0, 255, 213), 0 0 15px rgb(0, 255, 213),\r\n 0 0 25px rgb(0, 255, 213);\n}\n80% {\r\n color: rgb(0, 26, 255);\r\n text-shadow: 0 0 5px rgb(0, 26, 255), 0 0 10px rgb(0, 26, 255),\r\n 0 0 15px rgb(0, 26, 255);\n}\n90% {\r\n color: rgb(212, 0, 255);\r\n text-shadow: 0 0 5px rgb(212, 0, 255), 0 0 10px rgb(212, 0, 255),\r\n 0 0 15px rgb(212, 0, 255);\n}\n100% {\r\n color: rgb(255, 0, 0);\r\n text-shadow: 0 0 5px rgb(255, 0, 0), 0 0 10px rgb(255, 0, 0),\r\n 0 0 15px rgb(255, 0, 0);\n}\n}\n.icon-pinlun[data-v-4fed8636]:before {\r\n content: "\\e61e";\r\n animation: change-4fed8636 5s linear 0s infinite;\r\n font-size: larger;\n}\r\n',""]),e.exports=t},1030:function(e,t,n){(t=n(8161)(!1)).push([e.id,"\n.bbddloading-inner[data-v-5103719c] {\r\n height: 100px;\r\n margin: auto;\r\n position: relative;\r\n width: 100px;\n}\n.bbddloading-line-wrap[data-v-5103719c] {\r\n animation: spin-5103719c 2000ms cubic-bezier(0.175, 0.885, 0.32, 1.275) infinite;\r\n box-sizing: border-box;\r\n height: 50px;\r\n left: 0;\r\n overflow: hidden;\r\n position: absolute;\r\n top: 0;\r\n transform-origin: 50% 100%;\r\n width: 100px;\n}\n.bbddloading-line[data-v-5103719c] {\r\n border: 4px solid transparent;\r\n border-radius: 100%;\r\n box-sizing: border-box;\r\n height: 100px;\r\n left: 0;\r\n margin: 0 auto;\r\n position: absolute;\r\n right: 0;\r\n top: 0;\r\n width: 100px;\n}\n.bbddloading-line-wrap[data-v-5103719c]:nth-child(1) {\r\n animation-delay: -50ms;\n}\n.bbddloading-line-wrap[data-v-5103719c]:nth-child(2) {\r\n animation-delay: -100ms;\n}\n.bbddloading-line-wrap[data-v-5103719c]:nth-child(3) {\r\n animation-delay: -150ms;\n}\n.bbddloading-line-wrap[data-v-5103719c]:nth-child(4) {\r\n animation-delay: -200ms;\n}\n.bbddloading-line-wrap[data-v-5103719c]:nth-child(5) {\r\n animation-delay: -250ms;\n}\n.bbddloading-line-wrap:nth-child(1) .bbddloading-line[data-v-5103719c] {\r\n border-color: hsl(0, 80%, 60%);\r\n height: 90px;\r\n width: 90px;\r\n top: 7px;\n}\n.bbddloading-line-wrap:nth-child(2) .bbddloading-line[data-v-5103719c] {\r\n border-color: hsl(60, 80%, 60%);\r\n height: 76px;\r\n width: 76px;\r\n top: 14px;\n}\n.bbddloading-line-wrap:nth-child(3) .bbddloading-line[data-v-5103719c] {\r\n border-color: hsl(120, 80%, 60%);\r\n height: 62px;\r\n width: 62px;\r\n top: 21px;\n}\n.bbddloading-line-wrap:nth-child(4) .bbddloading-line[data-v-5103719c] {\r\n border-color: hsl(180, 80%, 60%);\r\n height: 48px;\r\n width: 48px;\r\n top: 28px;\n}\n.bbddloading-line-wrap:nth-child(5) .bbddloading-line[data-v-5103719c] {\r\n border-color: hsl(240, 80%, 60%);\r\n height: 34px;\r\n width: 34px;\r\n top: 35px;\n}\n@keyframes spin-5103719c {\n0%,\r\n 15% {\r\n transform: rotate(0);\n}\n100% {\r\n transform: rotate(360deg);\n}\n}\n.list-enter-active[data-v-5103719c],\r\n.list-leave-active[data-v-5103719c] {\r\n transition: all 0.2s cubic-bezier(0.55, 0.085, 0.68, 0.53);\r\n transform-origin: 50% 50%;\n}\n.list-enter[data-v-5103719c],\r\n.list-leave-to[data-v-5103719c] {\r\n transform-origin: 50% 50%;\r\n transform: scaleY(0) translateZ(0);\r\n opacity: 0;\n}\n.loading[data-v-5103719c] {\r\n text-align: center;\r\n padding: 20px;\n}\n@keyframes Gradient-5103719c {\n0% {\r\n background-position: 0 50%;\n}\n50% {\r\n background-position: 100% 50%;\n}\nto {\r\n background-position: 0 50%;\n}\n}\n.push-btn.color-1[data-v-5103719c] {\r\n background-image: linear-gradient(\r\n to right,\r\n #29323c,\r\n #485563,\r\n #2b5876,\r\n #4e4376\r\n );\r\n box-shadow: 0 4px 15px 0 rgba(45, 54, 65, 0.75);\n}\n.btn-area[data-v-5103719c] {\r\n text-align: center;\n}\n.push-btn[data-v-5103719c] {\r\n width: 148px;\r\n font-size: 16px;\r\n font-weight: 600;\r\n color: #fff;\r\n cursor: pointer;\r\n margin: 20px;\r\n height: 55px;\r\n text-align: center;\r\n border: none;\r\n background-size: 300% 100%;\r\n\r\n border-radius: 50px;\r\n moz-transition: all 0.4s ease-in-out;\r\n -o-transition: all 0.4s ease-in-out;\r\n -webkit-transition: all 0.4s ease-in-out;\r\n transition: all 0.4s ease-in-out;\n}\n.push-btn[data-v-5103719c]:hover {\r\n background-position: 100% 0;\r\n moz-transition: all 0.4s ease-in-out;\r\n -o-transition: all 0.4s ease-in-out;\r\n -webkit-transition: all 0.4s ease-in-out;\r\n transition: all 0.4s ease-in-out;\n}\n.push-btn[data-v-5103719c]:focus {\r\n outline: none;\n}\r\n",""]),e.exports=t},5588:function(e,t,n){(t=n(8161)(!1)).push([e.id,'.Vue-Toastification__container {\n z-index: 9999;\n position: fixed;\n padding: 4px;\n width: 600px;\n box-sizing: border-box;\n display: flex;\n min-height: 100%;\n color: #fff;\n flex-direction: column;\n pointer-events: none;\n}\n@media only screen and (min-width : 600px) {\n .Vue-Toastification__container.top-left, .Vue-Toastification__container.top-right, .Vue-Toastification__container.top-center {\n top: 1em;\n }\n .Vue-Toastification__container.bottom-left, .Vue-Toastification__container.bottom-right, .Vue-Toastification__container.bottom-center {\n bottom: 1em;\n flex-direction: column-reverse;\n }\n .Vue-Toastification__container.top-left, .Vue-Toastification__container.bottom-left {\n left: 1em;\n }\n .Vue-Toastification__container.top-left .Vue-Toastification__toast, .Vue-Toastification__container.bottom-left .Vue-Toastification__toast {\n margin-right: auto;\n }\n @supports not (-moz-appearance: none) {\n .Vue-Toastification__container.top-left .Vue-Toastification__toast--rtl, .Vue-Toastification__container.bottom-left .Vue-Toastification__toast--rtl {\n margin-right: unset;\n margin-left: auto;\n }\n }\n .Vue-Toastification__container.top-right, .Vue-Toastification__container.bottom-right {\n right: 1em;\n }\n .Vue-Toastification__container.top-right .Vue-Toastification__toast, .Vue-Toastification__container.bottom-right .Vue-Toastification__toast {\n margin-left: auto;\n }\n @supports not (-moz-appearance: none) {\n .Vue-Toastification__container.top-right .Vue-Toastification__toast--rtl, .Vue-Toastification__container.bottom-right .Vue-Toastification__toast--rtl {\n margin-left: unset;\n margin-right: auto;\n }\n }\n .Vue-Toastification__container.top-center, .Vue-Toastification__container.bottom-center {\n left: 50%;\n margin-left: -300px;\n }\n .Vue-Toastification__container.top-center .Vue-Toastification__toast, .Vue-Toastification__container.bottom-center .Vue-Toastification__toast {\n margin-left: auto;\n margin-right: auto;\n }\n}\n@media only screen and (max-width : 600px) {\n .Vue-Toastification__container {\n width: 100vw;\n padding: 0;\n left: 0;\n margin: 0;\n }\n .Vue-Toastification__container .Vue-Toastification__toast {\n width: 100%;\n }\n .Vue-Toastification__container.top-left, .Vue-Toastification__container.top-right, .Vue-Toastification__container.top-center {\n top: 0;\n }\n .Vue-Toastification__container.bottom-left, .Vue-Toastification__container.bottom-right, .Vue-Toastification__container.bottom-center {\n bottom: 0;\n flex-direction: column-reverse;\n }\n}\n\n.Vue-Toastification__toast {\n display: inline-flex;\n position: relative;\n max-height: 800px;\n min-height: 64px;\n box-sizing: border-box;\n margin-bottom: 1rem;\n padding: 22px 24px;\n border-radius: 8px;\n box-shadow: 0 1px 10px 0 rgba(0, 0, 0, 0.1), 0 2px 15px 0 rgba(0, 0, 0, 0.05);\n justify-content: space-between;\n font-family: "Lato", Helvetica, "Roboto", Arial, sans-serif;\n max-width: 600px;\n min-width: 326px;\n pointer-events: auto;\n overflow: hidden;\n transform: translateZ(0);\n direction: ltr;\n}\n.Vue-Toastification__toast--rtl {\n direction: rtl;\n}\n.Vue-Toastification__toast--default {\n background-color: #1976d2;\n color: #fff;\n}\n.Vue-Toastification__toast--info {\n background-color: #2196f3;\n color: #fff;\n}\n.Vue-Toastification__toast--success {\n background-color: #4caf50;\n color: #fff;\n}\n.Vue-Toastification__toast--error {\n background-color: #ff5252;\n color: #fff;\n}\n.Vue-Toastification__toast--warning {\n background-color: #ffc107;\n color: #fff;\n}\n@media only screen and (max-width : 600px) {\n .Vue-Toastification__toast {\n border-radius: 0px;\n margin-bottom: 0.5rem;\n }\n}\n.Vue-Toastification__toast-body {\n flex: 1;\n line-height: 24px;\n font-size: 16px;\n word-break: break-word;\n white-space: pre-wrap;\n}\n.Vue-Toastification__toast-component-body {\n flex: 1;\n}\n.Vue-Toastification__toast.disable-transition {\n transition: none !important;\n animation: none !important;\n}\n\n.Vue-Toastification__close-button {\n font-weight: bold;\n font-size: 24px;\n line-height: 24px;\n background: transparent;\n outline: none;\n border: none;\n padding: 0;\n padding-left: 10px;\n cursor: pointer;\n transition: 0.3s ease;\n align-items: center;\n color: #fff;\n opacity: 0.3;\n transition: visibility 0s, opacity 0.2s linear;\n}\n.Vue-Toastification__close-button:hover, .Vue-Toastification__close-button:focus {\n opacity: 1;\n}\n.Vue-Toastification__toast:not(:hover) .Vue-Toastification__close-button.show-on-hover {\n opacity: 0;\n}\n.Vue-Toastification__toast--rtl .Vue-Toastification__close-button {\n padding-left: unset;\n padding-right: 10px;\n}\n\n@keyframes scale-x-frames {\n 0% {\n transform: scaleX(1);\n }\n 100% {\n transform: scaleX(0);\n }\n}\n.Vue-Toastification__progress-bar {\n position: absolute;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 5px;\n z-index: 10000;\n background-color: rgba(255, 255, 255, 0.7);\n transform-origin: left;\n animation: scale-x-frames linear 1 forwards;\n}\n.Vue-Toastification__toast--rtl .Vue-Toastification__progress-bar {\n right: 0;\n left: unset;\n transform-origin: right;\n}\n\n.Vue-Toastification__icon {\n margin: auto 18px auto 0px;\n background: transparent;\n outline: none;\n border: none;\n padding: 0;\n transition: 0.3s ease;\n align-items: center;\n width: 20px;\n height: 100%;\n}\n.Vue-Toastification__toast--rtl .Vue-Toastification__icon {\n margin: auto 0px auto 18px;\n}\n\n@keyframes bounceInRight {\n from, 60%, 75%, 90%, to {\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n }\n from {\n opacity: 0;\n transform: translate3d(3000px, 0, 0);\n }\n 60% {\n opacity: 1;\n transform: translate3d(-25px, 0, 0);\n }\n 75% {\n transform: translate3d(10px, 0, 0);\n }\n 90% {\n transform: translate3d(-5px, 0, 0);\n }\n to {\n transform: none;\n }\n}\n@keyframes bounceOutRight {\n 40% {\n opacity: 1;\n transform: translate3d(-20px, 0, 0);\n }\n to {\n opacity: 0;\n transform: translate3d(1000px, 0, 0);\n }\n}\n@keyframes bounceInLeft {\n from, 60%, 75%, 90%, to {\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n }\n 0% {\n opacity: 0;\n transform: translate3d(-3000px, 0, 0);\n }\n 60% {\n opacity: 1;\n transform: translate3d(25px, 0, 0);\n }\n 75% {\n transform: translate3d(-10px, 0, 0);\n }\n 90% {\n transform: translate3d(5px, 0, 0);\n }\n to {\n transform: none;\n }\n}\n@keyframes bounceOutLeft {\n 20% {\n opacity: 1;\n transform: translate3d(20px, 0, 0);\n }\n to {\n opacity: 0;\n transform: translate3d(-2000px, 0, 0);\n }\n}\n@keyframes bounceInUp {\n from, 60%, 75%, 90%, to {\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n }\n from {\n opacity: 0;\n transform: translate3d(0, 3000px, 0);\n }\n 60% {\n opacity: 1;\n transform: translate3d(0, -20px, 0);\n }\n 75% {\n transform: translate3d(0, 10px, 0);\n }\n 90% {\n transform: translate3d(0, -5px, 0);\n }\n to {\n transform: translate3d(0, 0, 0);\n }\n}\n@keyframes bounceOutUp {\n 20% {\n transform: translate3d(0, -10px, 0);\n }\n 40%, 45% {\n opacity: 1;\n transform: translate3d(0, 20px, 0);\n }\n to {\n opacity: 0;\n transform: translate3d(0, -2000px, 0);\n }\n}\n@keyframes bounceInDown {\n from, 60%, 75%, 90%, to {\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n }\n 0% {\n opacity: 0;\n transform: translate3d(0, -3000px, 0);\n }\n 60% {\n opacity: 1;\n transform: translate3d(0, 25px, 0);\n }\n 75% {\n transform: translate3d(0, -10px, 0);\n }\n 90% {\n transform: translate3d(0, 5px, 0);\n }\n to {\n transform: none;\n }\n}\n@keyframes bounceOutDown {\n 20% {\n transform: translate3d(0, 10px, 0);\n }\n 40%, 45% {\n opacity: 1;\n transform: translate3d(0, -20px, 0);\n }\n to {\n opacity: 0;\n transform: translate3d(0, 2000px, 0);\n }\n}\n.Vue-Toastification__bounce-enter-active.top-left, .Vue-Toastification__bounce-enter-active.bottom-left {\n animation-name: bounceInLeft;\n}\n.Vue-Toastification__bounce-enter-active.top-right, .Vue-Toastification__bounce-enter-active.bottom-right {\n animation-name: bounceInRight;\n}\n.Vue-Toastification__bounce-enter-active.top-center {\n animation-name: bounceInDown;\n}\n.Vue-Toastification__bounce-enter-active.bottom-center {\n animation-name: bounceInUp;\n}\n\n.Vue-Toastification__bounce-leave-active.top-left, .Vue-Toastification__bounce-leave-active.bottom-left {\n animation-name: bounceOutLeft;\n}\n.Vue-Toastification__bounce-leave-active.top-right, .Vue-Toastification__bounce-leave-active.bottom-right {\n animation-name: bounceOutRight;\n}\n.Vue-Toastification__bounce-leave-active.top-center {\n animation-name: bounceOutUp;\n}\n.Vue-Toastification__bounce-leave-active.bottom-center {\n animation-name: bounceOutDown;\n}\n\n.Vue-Toastification__bounce-move {\n transition-timing-function: ease-in-out;\n transition-property: all;\n transition-duration: 400ms;\n}\n\n/* ----------------------------------------------\n * Modified version from Animista\n * Animista is Licensed under FreeBSD License.\n * See http://animista.net/license for more info. \n * w: http://animista.net, t: @cssanimista\n * ---------------------------------------------- */\n@keyframes fadeOutTop {\n 0% {\n transform: translateY(0);\n opacity: 1;\n }\n 100% {\n transform: translateY(-50px);\n opacity: 0;\n }\n}\n@keyframes fadeOutLeft {\n 0% {\n transform: translateX(0);\n opacity: 1;\n }\n 100% {\n transform: translateX(-50px);\n opacity: 0;\n }\n}\n@keyframes fadeOutBottom {\n 0% {\n transform: translateY(0);\n opacity: 1;\n }\n 100% {\n transform: translateY(50px);\n opacity: 0;\n }\n}\n@keyframes fadeOutRight {\n 0% {\n transform: translateX(0);\n opacity: 1;\n }\n 100% {\n transform: translateX(50px);\n opacity: 0;\n }\n}\n@keyframes fadeInLeft {\n 0% {\n transform: translateX(-50px);\n opacity: 0;\n }\n 100% {\n transform: translateX(0);\n opacity: 1;\n }\n}\n@keyframes fadeInRight {\n 0% {\n transform: translateX(50px);\n opacity: 0;\n }\n 100% {\n transform: translateX(0);\n opacity: 1;\n }\n}\n@keyframes fadeInTop {\n 0% {\n transform: translateY(-50px);\n opacity: 0;\n }\n 100% {\n transform: translateY(0);\n opacity: 1;\n }\n}\n@keyframes fadeInBottom {\n 0% {\n transform: translateY(50px);\n opacity: 0;\n }\n 100% {\n transform: translateY(0);\n opacity: 1;\n }\n}\n.Vue-Toastification__fade-enter-active.top-left, .Vue-Toastification__fade-enter-active.bottom-left {\n animation-name: fadeInLeft;\n}\n.Vue-Toastification__fade-enter-active.top-right, .Vue-Toastification__fade-enter-active.bottom-right {\n animation-name: fadeInRight;\n}\n.Vue-Toastification__fade-enter-active.top-center {\n animation-name: fadeInTop;\n}\n.Vue-Toastification__fade-enter-active.bottom-center {\n animation-name: fadeInBottom;\n}\n\n.Vue-Toastification__fade-leave-active.top-left, .Vue-Toastification__fade-leave-active.bottom-left {\n animation-name: fadeOutLeft;\n}\n.Vue-Toastification__fade-leave-active.top-right, .Vue-Toastification__fade-leave-active.bottom-right {\n animation-name: fadeOutRight;\n}\n.Vue-Toastification__fade-leave-active.top-center {\n animation-name: fadeOutTop;\n}\n.Vue-Toastification__fade-leave-active.bottom-center {\n animation-name: fadeOutBottom;\n}\n\n.Vue-Toastification__fade-move {\n transition-timing-function: ease-in-out;\n transition-property: all;\n transition-duration: 400ms;\n}\n\n/* ----------------------------------------------\n * Modified version from Animista\n * Animista is Licensed under FreeBSD License.\n * See http://animista.net/license for more info. \n * w: http://animista.net, t: @cssanimista\n * ---------------------------------------------- */\n@keyframes slideInBlurredLeft {\n 0% {\n transform: translateX(-1000px) scaleX(2.5) scaleY(0.2);\n transform-origin: 100% 50%;\n filter: blur(40px);\n opacity: 0;\n }\n 100% {\n transform: translateX(0) scaleY(1) scaleX(1);\n transform-origin: 50% 50%;\n filter: blur(0);\n opacity: 1;\n }\n}\n@keyframes slideInBlurredTop {\n 0% {\n transform: translateY(-1000px) scaleY(2.5) scaleX(0.2);\n transform-origin: 50% 0%;\n filter: blur(240px);\n opacity: 0;\n }\n 100% {\n transform: translateY(0) scaleY(1) scaleX(1);\n transform-origin: 50% 50%;\n filter: blur(0);\n opacity: 1;\n }\n}\n@keyframes slideInBlurredRight {\n 0% {\n transform: translateX(1000px) scaleX(2.5) scaleY(0.2);\n transform-origin: 0% 50%;\n filter: blur(40px);\n opacity: 0;\n }\n 100% {\n transform: translateX(0) scaleY(1) scaleX(1);\n transform-origin: 50% 50%;\n filter: blur(0);\n opacity: 1;\n }\n}\n@keyframes slideInBlurredBottom {\n 0% {\n transform: translateY(1000px) scaleY(2.5) scaleX(0.2);\n transform-origin: 50% 100%;\n filter: blur(240px);\n opacity: 0;\n }\n 100% {\n transform: translateY(0) scaleY(1) scaleX(1);\n transform-origin: 50% 50%;\n filter: blur(0);\n opacity: 1;\n }\n}\n@keyframes slideOutBlurredTop {\n 0% {\n transform: translateY(0) scaleY(1) scaleX(1);\n transform-origin: 50% 0%;\n filter: blur(0);\n opacity: 1;\n }\n 100% {\n transform: translateY(-1000px) scaleY(2) scaleX(0.2);\n transform-origin: 50% 0%;\n filter: blur(240px);\n opacity: 0;\n }\n}\n@keyframes slideOutBlurredBottom {\n 0% {\n transform: translateY(0) scaleY(1) scaleX(1);\n transform-origin: 50% 50%;\n filter: blur(0);\n opacity: 1;\n }\n 100% {\n transform: translateY(1000px) scaleY(2) scaleX(0.2);\n transform-origin: 50% 100%;\n filter: blur(240px);\n opacity: 0;\n }\n}\n@keyframes slideOutBlurredLeft {\n 0% {\n transform: translateX(0) scaleY(1) scaleX(1);\n transform-origin: 50% 50%;\n filter: blur(0);\n opacity: 1;\n }\n 100% {\n transform: translateX(-1000px) scaleX(2) scaleY(0.2);\n transform-origin: 100% 50%;\n filter: blur(40px);\n opacity: 0;\n }\n}\n@keyframes slideOutBlurredRight {\n 0% {\n transform: translateX(0) scaleY(1) scaleX(1);\n transform-origin: 50% 50%;\n filter: blur(0);\n opacity: 1;\n }\n 100% {\n transform: translateX(1000px) scaleX(2) scaleY(0.2);\n transform-origin: 0% 50%;\n filter: blur(40px);\n opacity: 0;\n }\n}\n.Vue-Toastification__slideBlurred-enter-active.top-left, .Vue-Toastification__slideBlurred-enter-active.bottom-left {\n animation-name: slideInBlurredLeft;\n}\n.Vue-Toastification__slideBlurred-enter-active.top-right, .Vue-Toastification__slideBlurred-enter-active.bottom-right {\n animation-name: slideInBlurredRight;\n}\n.Vue-Toastification__slideBlurred-enter-active.top-center {\n animation-name: slideInBlurredTop;\n}\n.Vue-Toastification__slideBlurred-enter-active.bottom-center {\n animation-name: slideInBlurredBottom;\n}\n\n.Vue-Toastification__slideBlurred-leave-active.top-left, .Vue-Toastification__slideBlurred-leave-active.bottom-left {\n animation-name: slideOutBlurredLeft;\n}\n.Vue-Toastification__slideBlurred-leave-active.top-right, .Vue-Toastification__slideBlurred-leave-active.bottom-right {\n animation-name: slideOutBlurredRight;\n}\n.Vue-Toastification__slideBlurred-leave-active.top-center {\n animation-name: slideOutBlurredTop;\n}\n.Vue-Toastification__slideBlurred-leave-active.bottom-center {\n animation-name: slideOutBlurredBottom;\n}\n\n.Vue-Toastification__slideBlurred-move {\n transition-timing-function: ease-in-out;\n transition-property: all;\n transition-duration: 400ms;\n}',""]),e.exports=t},4166:function(e,t,n){"use strict";n.r(t),n.d(t,{__esModule:function(){return o.X},default:function(){return i}});var r=n(9990),o=n(3294),a=o.Z,i=(0,n(1900).Z)(a,r.sY,r.xk,!1,null,"c0a7b186",null).exports},9414:function(e,t,n){"use strict";n.r(t),n.d(t,{__esModule:function(){return o.X},default:function(){return i}});var r=n(5957),o=n(4764),a=o.Z,i=(n(6777),(0,n(1900).Z)(a,r.sY,r.xk,!1,null,"7d45a7d6",null).exports)},5930:function(e,t,n){"use strict";n.r(t),n.d(t,{__esModule:function(){return o.X},default:function(){return i}});var r=n(8497),o=n(6049),a=o.Z,i=(n(2801),(0,n(1900).Z)(a,r.sY,r.xk,!1,null,"5b309de0",null).exports)},1291:function(e,t,n){"use strict";n.r(t),n.d(t,{__esModule:function(){return o.X},default:function(){return i}});var r=n(547),o=n(5997),a=o.Z,i=(n(9361),(0,n(1900).Z)(a,r.sY,r.xk,!1,null,"4fed8636",null).exports)},4649:function(e,t,n){"use strict";n.r(t),n.d(t,{__esModule:function(){return o.X},default:function(){return i}});var r=n(9674),o=n(934),a=o.Z,i=(n(6731),(0,n(1900).Z)(a,r.sY,r.xk,!1,null,"5103719c",null).exports)},1900:function(e,t,n){"use strict";function r(e,t,n,r,o,a,i,u){var s,c="function"==typeof e?e.options:e;if(t&&(c.render=t,c.staticRenderFns=n,c._compiled=!0),r&&(c.functional=!0),a&&(c._scopeId="data-v-"+a),i?(s=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),o&&o.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(i)},c._ssrRegister=s):o&&(s=u?function(){o.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:o),s)if(c.functional){c._injectStyles=s;var l=c.render;c.render=function(e,t){return s.call(t),l(e,t)}}else{var f=c.beforeCreate;c.beforeCreate=f?[].concat(f,s):[s]}return{exports:e,options:c}}n.d(t,{Z:function(){return r}})},6777:function(e,t,n){var r=n(7152);r.__esModule&&(r=r.default),"string"==typeof r&&(r=[[e.id,r,""]]),r.locals&&(e.exports=r.locals),(0,n(7913).Z)("084c8940",r,!1,{})},2801:function(e,t,n){var r=n(3355);r.__esModule&&(r=r.default),"string"==typeof r&&(r=[[e.id,r,""]]),r.locals&&(e.exports=r.locals),(0,n(7913).Z)("171c514a",r,!1,{})},9361:function(e,t,n){var r=n(374);r.__esModule&&(r=r.default),"string"==typeof r&&(r=[[e.id,r,""]]),r.locals&&(e.exports=r.locals),(0,n(7913).Z)("31093e88",r,!1,{})},6731:function(e,t,n){var r=n(1030);r.__esModule&&(r=r.default),"string"==typeof r&&(r=[[e.id,r,""]]),r.locals&&(e.exports=r.locals),(0,n(7913).Z)("875cfc92",r,!1,{})},8726:function(e,t,n){var r=n(5588);r.__esModule&&(r=r.default),"string"==typeof r&&(r=[[e.id,r,""]]),r.locals&&(e.exports=r.locals),(0,n(7913).Z)("100436cf",r,!1,{})},7913:function(e,t,n){"use strict";n.d(t,{Z:function(){return v}});var r=n(8666),o="undefined"!=typeof document;if("undefined"!=typeof DEBUG&&DEBUG&&!o)throw new Error("vue-style-loader cannot be used in a non-browser environment. Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.");var a={},i=o&&(document.head||document.getElementsByTagName("head")[0]),u=null,s=0,c=!1,l=function(){},f=null,d="data-vue-ssr-id",p="undefined"!=typeof navigator&&/msie [6-9]\b/.test(navigator.userAgent.toLowerCase());function v(e,t,n,o){c=n,f=o||{};var i=(0,r.Z)(e,t);return y(i),function(t){for(var n=[],o=0;on.parts.length&&(r.parts.length=n.parts.length)}else{var i=[];for(o=0;o=0;--r){var o=this.tryEntries[r],i=o.completion;if("root"===o.tryLoc)return n("end");if(o.tryLoc<=this.prev){var u=a.call(o,"catchLoc"),s=a.call(o,"finallyLoc");if(u&&s){if(this.prev=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&a.call(r,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),j(n),p}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var o=r.arg;j(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:k(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=void 0),p}},t}e.exports=o,e.exports.__esModule=!0,e.exports.default=e.exports},9767:function(e){"use strict";function t(n){return e.exports=t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.__esModule=!0,e.exports.default=e.exports,t(n)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports},818:function(e,t,n){"use strict";var r=n(3330)(n(9767)),o=n(9207)();e.exports=o;try{regeneratorRuntime=o}catch(e){"object"===("undefined"==typeof globalThis?"undefined":(0,r.default)(globalThis))?globalThis.regeneratorRuntime=o:Function("r","regeneratorRuntime = r")(o)}},8593:function(e){"use strict";e.exports=JSON.parse('{"name":"axios","version":"0.21.4","description":"Promise based HTTP client for the browser and node.js","main":"index.js","scripts":{"test":"grunt test","start":"node ./sandbox/server.js","build":"NODE_ENV=production grunt build","preversion":"npm test","version":"npm run build && grunt version && git add -A dist && git add CHANGELOG.md bower.json package.json","postversion":"git push && git push --tags","examples":"node ./examples/server.js","coveralls":"cat coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js","fix":"eslint --fix lib/**/*.js"},"repository":{"type":"git","url":"https://github.com/axios/axios.git"},"keywords":["xhr","http","ajax","promise","node"],"author":"Matt Zabriskie","license":"MIT","bugs":{"url":"https://github.com/axios/axios/issues"},"homepage":"https://axios-http.com","devDependencies":{"coveralls":"^3.0.0","es6-promise":"^4.2.4","grunt":"^1.3.0","grunt-banner":"^0.6.0","grunt-cli":"^1.2.0","grunt-contrib-clean":"^1.1.0","grunt-contrib-watch":"^1.0.0","grunt-eslint":"^23.0.0","grunt-karma":"^4.0.0","grunt-mocha-test":"^0.13.3","grunt-ts":"^6.0.0-beta.19","grunt-webpack":"^4.0.2","istanbul-instrumenter-loader":"^1.0.0","jasmine-core":"^2.4.1","karma":"^6.3.2","karma-chrome-launcher":"^3.1.0","karma-firefox-launcher":"^2.1.0","karma-jasmine":"^1.1.1","karma-jasmine-ajax":"^0.1.13","karma-safari-launcher":"^1.0.0","karma-sauce-launcher":"^4.3.6","karma-sinon":"^1.0.5","karma-sourcemap-loader":"^0.3.8","karma-webpack":"^4.0.2","load-grunt-tasks":"^3.5.2","minimist":"^1.2.0","mocha":"^8.2.1","sinon":"^4.5.0","terser-webpack-plugin":"^4.2.3","typescript":"^4.0.5","url-search-params":"^0.10.0","webpack":"^4.44.2","webpack-dev-server":"^3.11.0"},"browser":{"./lib/adapters/http.js":"./lib/adapters/xhr.js"},"jsdelivr":"dist/axios.min.js","unpkg":"dist/axios.min.js","typings":"./index.d.ts","dependencies":{"follow-redirects":"^1.14.0"},"bundlesize":[{"path":"./dist/axios.min.js","threshold":"5kB"}]}')},4147:function(e){"use strict";e.exports=JSON.parse('{"name":"qexo-daodao","version":"1.0.2","warehouse":"https://github.com/Uyoahz26/daodao","description":"基于Qexo的叨叨展示","main":"dist/qexo-daodao.min.js","dependencies":{"@cloudbase/js-sdk":"^1.4.1","axios":"^0.21.4","date-fns":"^2.29.3","marked":"^2.0.0","timeago.js":"^4.0.2","vue":"^2.6.12","vue-toastification":"^1.7.14"},"devDependencies":{"@babel/cli":"^7.12.13","@babel/core":"^7.12.13","@babel/plugin-transform-modules-commonjs":"^7.12.13","@babel/plugin-transform-runtime":"^7.12.15","@babel/preset-env":"^7.12.13","@babel/runtime":"^7.12.13","@webpack-cli/serve":"^1.3.0","babel-loader":"^8.2.2","copy-webpack-plugin":"^7.0.0","cross-env":"^7.0.3","css-loader":"^3.6.0","eslint":"^7.19.0","eslint-config-standard":"^16.0.2","eslint-plugin-import":"^2.22.1","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","eslint-plugin-standard":"^4.1.0","eslint-plugin-vue":"^7.5.0","svg-inline-loader":"^0.8.2","terser-webpack-plugin":"^5.1.1","vue-loader":"^15.9.6","vue-template-compiler":"^2.6.12","webpack":"^5.21.2","webpack-bundle-analyzer":"^4.4.0","webpack-cli":"^4.5.0","webpack-dev-server":"^4.0.0-beta.0"},"homepage":"https://uyoahz.cn/daodao/","scripts":{"dev":"webpack serve --mode development","serve":"webpack serve --mode development","build":"webpack --mode production","analyze":"webpack --profile --json > stats.json && webpack-bundle-analyzer stats.json","lint":"eslint src/** --ignore-path .eslintignore"},"repository":{"type":"git","url":"git+ssh://git@github.com/kuole-o/bber-ispeak.git"},"author":"guole","license":"Apache-2.0","bugs":{"url":"https://github.com/Uyoahz26/daodao/issues"}}')}},t={};function n(r){var o=t[r];if(void 0!==o)return o.exports;var a=t[r]={id:r,exports:{}};return e[r](a,a.exports,n),a.exports}n.d=function(e,t){for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};return function(){"use strict";var e=r,t=n(3330);Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,e.init=u;var o=t(n(818)),a=t(n(8711)),i=n(1007);function u(e){return s.apply(this,arguments)}function s(){return(s=(0,a.default)(o.default.mark((function e(t){return o.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:(0,i.render)(t);case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var c=u;e.default=c}(),r}()})); \ No newline at end of file diff --git a/js/search/algolia.js b/js/search/algolia.js new file mode 100644 index 00000000..7acf712d --- /dev/null +++ b/js/search/algolia.js @@ -0,0 +1,164 @@ +window.addEventListener('load', () => { + const openSearch = () => { + const bodyStyle = document.body.style + bodyStyle.width = '100%' + bodyStyle.overflow = 'hidden' + btf.animateIn(document.getElementById('search-mask'), 'to_show 0.5s') + btf.animateIn(document.querySelector('#algolia-search .search-dialog'), 'titleScale 0.5s') + setTimeout(() => { document.querySelector('#algolia-search .ais-SearchBox-input').focus() }, 100) + + // shortcut: ESC + document.addEventListener('keydown', function f (event) { + if (event.code === 'Escape') { + closeSearch() + document.removeEventListener('keydown', f) + } + }) + } + + const closeSearch = () => { + const bodyStyle = document.body.style + bodyStyle.width = '' + bodyStyle.overflow = '' + btf.animateOut(document.querySelector('#algolia-search .search-dialog'), 'search_close .5s') + btf.animateOut(document.getElementById('search-mask'), 'to_hide 0.5s') + } + + const searchClickFn = () => { + document.querySelector('#search-button > .search').addEventListener('click', openSearch) + } + + const searchClickFnOnce = () => { + document.getElementById('search-mask').addEventListener('click', closeSearch) + document.querySelector('#algolia-search .search-close-button').addEventListener('click', closeSearch) + } + + const cutContent = content => { + if (content === '') return '' + + const firstOccur = content.indexOf('') + + let start = firstOccur - 30 + let end = firstOccur + 120 + let pre = '' + let post = '' + + if (start <= 0) { + start = 0 + end = 140 + } else { + pre = '...' + } + + if (end > content.length) { + end = content.length + } else { + post = '...' + } + + let matchContent = pre + content.substring(start, end) + post + return matchContent + } + + const algolia = GLOBAL_CONFIG.algolia + const isAlgoliaValid = algolia.appId && algolia.apiKey && algolia.indexName + if (!isAlgoliaValid) { + return console.error('Algolia setting is invalid!') + } + + const search = instantsearch({ + indexName: algolia.indexName, + searchClient: algoliasearch(algolia.appId, algolia.apiKey), + searchFunction(helper) { + helper.state.query && helper.search() + }, + }) + + const configure = instantsearch.widgets.configure({ + hitsPerPage: 5 + }) + + const searchBox = instantsearch.widgets.searchBox({ + container: '#algolia-search-input', + showReset: false, + showSubmit: true, // 设为true 可以通过按钮搜索 + searchAsYouType: false, // 新增 可以实现回车或点击按钮搜索,不会每次输入都搜索 + placeholder: GLOBAL_CONFIG.algolia.languages.input_placeholder, + showLoadingIndicator: true + }) + + const hits = instantsearch.widgets.hits({ + container: '#algolia-hits', + templates: { + item(data) { + const link = data.permalink ? data.permalink : (GLOBAL_CONFIG.root + data.path) + const result = data._highlightResult + const content = result.contentStripTruncate + ? cutContent(result.contentStripTruncate.value) + : result.contentStrip + ? cutContent(result.contentStrip.value) + : result.content + ? cutContent(result.content.value) + : '' + return ` + + ${result.title.value || 'no-title'} + +

${content}

` + }, + empty: function (data) { + return ( + '
' + + GLOBAL_CONFIG.algolia.languages.hits_empty.replace(/\$\{query}/, data.query) + + '
' + ) + } + } + }) + + const stats = instantsearch.widgets.stats({ + container: '#algolia-info > .algolia-stats', + templates: { + text: function (data) { + const stats = GLOBAL_CONFIG.algolia.languages.hits_stats + .replace(/\$\{hits}/, data.nbHits) + .replace(/\$\{time}/, data.processingTimeMS) + return ( + `
${stats}` + ) + } + } + }) + + const powerBy = instantsearch.widgets.poweredBy({ + container: '#algolia-info > .algolia-poweredBy', + }) + + const pagination = instantsearch.widgets.pagination({ + container: '#algolia-pagination', + totalPages: 5, + templates: { + first: '', + last: '', + previous: '', + next: '' + } + }) + + + search.addWidgets([configure,searchBox,hits,stats,powerBy,pagination]) // add the widgets to the instantsearch instance + + search.start() + + searchClickFn() + searchClickFnOnce() + + window.addEventListener('pjax:complete', () => { + getComputedStyle(document.querySelector('#algolia-search .search-dialog')).display === 'block' && closeSearch() + searchClickFn() + }) + + window.pjax && search.on('render', () => { + window.pjax.refresh(document.getElementById('algolia-hits')) + }) +}) diff --git a/js/search/local-search.js b/js/search/local-search.js new file mode 100644 index 00000000..6c1ca7dc --- /dev/null +++ b/js/search/local-search.js @@ -0,0 +1,188 @@ +window.addEventListener('load', () => { + let loadFlag = false + let dataObj = [] + const $searchMask = document.getElementById('search-mask') + + const openSearch = () => { + const bodyStyle = document.body.style + bodyStyle.width = '100%' + bodyStyle.overflow = 'hidden' + btf.animateIn($searchMask, 'to_show 0.5s') + btf.animateIn(document.querySelector('#local-search .search-dialog'), 'titleScale 0.5s') + setTimeout(() => { document.querySelector('#local-search-input input').focus() }, 100) + if (!loadFlag) { + search() + loadFlag = true + } + // shortcut: ESC + document.addEventListener('keydown', function f (event) { + if (event.code === 'Escape') { + closeSearch() + document.removeEventListener('keydown', f) + } + }) + } + + const closeSearch = () => { + const bodyStyle = document.body.style + bodyStyle.width = '' + bodyStyle.overflow = '' + btf.animateOut(document.querySelector('#local-search .search-dialog'), 'search_close .5s') + btf.animateOut($searchMask, 'to_hide 0.5s') + } + + const searchClickFn = () => { + document.querySelector('#search-button > .search').addEventListener('click', openSearch) + } + + const searchClickFnOnce = () => { + document.querySelector('#local-search .search-close-button').addEventListener('click', closeSearch) + $searchMask.addEventListener('click', closeSearch) + if (GLOBAL_CONFIG.localSearch.preload) dataObj = fetchData(GLOBAL_CONFIG.localSearch.path) + } + + // check url is json or not + const isJson = url => { + const reg = /\.json$/ + return reg.test(url) + } + + const fetchData = async (path) => { + let data = [] + const response = await fetch(path) + if (isJson(path)) { + data = await response.json() + } else { + const res = await response.text() + const t = await new window.DOMParser().parseFromString(res, 'text/xml') + const a = await t + data = [...a.querySelectorAll('entry')].map(item =>{ + return { + title: item.querySelector('title').textContent, + content: item.querySelector('content') && item.querySelector('content').textContent, + url: item.querySelector('url').textContent + } + }) + } + if (response.ok) { + const $loadDataItem = document.getElementById('loading-database') + $loadDataItem.nextElementSibling.style.display = 'block' + $loadDataItem.remove() + } + return data + } + + const search = () => { + if (!GLOBAL_CONFIG.localSearch.preload) { + dataObj = fetchData(GLOBAL_CONFIG.localSearch.path) + } + + const $input = document.querySelector('#local-search-input input') + const $resultContent = document.getElementById('local-search-results') + const $loadingStatus = document.getElementById('loading-status') + + $input.addEventListener('input', function () { + const keywords = this.value.trim().toLowerCase().split(/[\s]+/) + if (keywords[0] !== '') $loadingStatus.innerHTML = '' + + $resultContent.innerHTML = '' + let str = '
' + if (keywords.length <= 0) return + let count = 0 + // perform local searching + dataObj.then(data => { + data.forEach(data => { + let isMatch = true + let dataTitle = data.title ? data.title.trim().toLowerCase() : '' + const dataContent = data.content ? data.content.trim().replace(/<[^>]+>/g, '').toLowerCase() : '' + const dataUrl = data.url.startsWith('/') ? data.url : GLOBAL_CONFIG.root + data.url + let indexTitle = -1 + let indexContent = -1 + let firstOccur = -1 + // only match articles with not empty titles and contents + if (dataTitle !== '' || dataContent !== '') { + keywords.forEach((keyword, i) => { + indexTitle = dataTitle.indexOf(keyword) + indexContent = dataContent.indexOf(keyword) + if (indexTitle < 0 && indexContent < 0) { + isMatch = false + } else { + if (indexContent < 0) { + indexContent = 0 + } + if (i === 0) { + firstOccur = indexContent + } + } + }) + } else { + isMatch = false + } + + // show search results + if (isMatch) { + if (firstOccur >= 0) { + // cut out 130 characters + // let start = firstOccur - 30 < 0 ? 0 : firstOccur - 30 + // let end = firstOccur + 50 > dataContent.length ? dataContent.length : firstOccur + 50 + let start = firstOccur - 30 + let end = firstOccur + 100 + let pre = '' + let post = '' + + if (start < 0) { + start = 0 + } + + if (start === 0) { + end = 100 + } else { + pre = '...' + } + + if (end > dataContent.length) { + end = dataContent.length + } else { + post = '...' + } + + let matchContent = dataContent.substring(start, end) + + // highlight all keywords + keywords.forEach(keyword => { + const regS = new RegExp(keyword, 'gi') + matchContent = matchContent.replace(regS, '' + keyword + '') + dataTitle = dataTitle.replace(regS, '' + keyword + '') + }) + + str += '
' + dataTitle + '' + count += 1 + + if (dataContent !== '') { + str += '

' + pre + matchContent + post + '

' + } + } + str += '
' + } + }) + if (count === 0) { + str += '
' + GLOBAL_CONFIG.localSearch.languages.hits_empty.replace(/\$\{query}/, this.value.trim()) + + '
' + } + str += '
' + $resultContent.innerHTML = str + if (keywords[0] !== '') $loadingStatus.innerHTML = '' + window.pjax && window.pjax.refresh($resultContent) + }) + }) + } + + searchClickFn() + searchClickFnOnce() + + // pjax + window.addEventListener('pjax:complete', () => { + !btf.isHidden($searchMask) && closeSearch() + searchClickFn() + }) +}) diff --git a/js/tw_cn.js b/js/tw_cn.js new file mode 100644 index 00000000..78dbd6d9 --- /dev/null +++ b/js/tw_cn.js @@ -0,0 +1,100 @@ +/* eslint-disable no-undef */ +document.addEventListener('DOMContentLoaded', function () { + const translate = GLOBAL_CONFIG.translate + const snackbarData = GLOBAL_CONFIG.Snackbar + const defaultEncoding = translate.defaultEncoding // 網站默認語言,1: 繁體中文, 2: 簡體中文 + const translateDelay = translate.translateDelay // 延遲時間,若不在前, 要設定延遲翻譯時間, 如100表示100ms,默認為0 + const msgToTraditionalChinese = translate.msgToTraditionalChinese // 此處可以更改為你想要顯示的文字 + const msgToSimplifiedChinese = translate.msgToSimplifiedChinese // 同上,但兩處均不建議更改 + let currentEncoding = defaultEncoding + const targetEncodingCookie = 'translate-chn-cht' + let targetEncoding = + saveToLocal.get(targetEncodingCookie) === undefined + ? defaultEncoding + : Number(saveToLocal.get('translate-chn-cht')) + let translateButtonObject + const isSnackbar = GLOBAL_CONFIG.Snackbar !== undefined + + function translateText (txt) { + if (txt === '' || txt == null) return '' + if (currentEncoding === 1 && targetEncoding === 2) return Simplized(txt) + else if (currentEncoding === 2 && targetEncoding === 1) { return Traditionalized(txt) } else return txt + } + function translateBody (fobj) { + let objs + if (typeof fobj === 'object') objs = fobj.childNodes + else objs = document.body.childNodes + for (let i = 0; i < objs.length; i++) { + const obj = objs.item(i) + if ( + '||BR|HR|'.indexOf('|' + obj.tagName + '|') > 0 || + obj === translateButtonObject + ) { continue } + if (obj.title !== '' && obj.title != null) { obj.title = translateText(obj.title) } + if (obj.alt !== '' && obj.alt != null) obj.alt = translateText(obj.alt) + if (obj.placeholder !== '' && obj.placeholder != null) obj.placeholder = translateText(obj.placeholder) + if ( + obj.tagName === 'INPUT' && + obj.value !== '' && + obj.type !== 'text' && + obj.type !== 'hidden' + ) { obj.value = translateText(obj.value) } + if (obj.nodeType === 3) obj.data = translateText(obj.data) + else translateBody(obj) + } + } + function translatePage () { + if (targetEncoding === 1) { + currentEncoding = 1 + targetEncoding = 2 + translateButtonObject.innerHTML = msgToTraditionalChinese + saveToLocal.set(targetEncodingCookie, targetEncoding, 2) + translateBody() + if (isSnackbar) btf.snackbarShow(snackbarData.cht_to_chs) + } else if (targetEncoding === 2) { + currentEncoding = 2 + targetEncoding = 1 + translateButtonObject.innerHTML = msgToSimplifiedChinese + saveToLocal.set(targetEncodingCookie, targetEncoding, 2) + translateBody() + if (isSnackbar) btf.snackbarShow(snackbarData.chs_to_cht) + } + } + function JTPYStr () { + return '万与丑专业丛东丝丢两严丧个丬丰临为丽举么义乌乐乔习乡书买乱争于亏云亘亚产亩亲亵亸亿仅从仑仓仪们价众优伙会伛伞伟传伤伥伦伧伪伫体余佣佥侠侣侥侦侧侨侩侪侬俣俦俨俩俪俭债倾偬偻偾偿傥傧储傩儿兑兖党兰关兴兹养兽冁内冈册写军农冢冯冲决况冻净凄凉凌减凑凛几凤凫凭凯击凼凿刍划刘则刚创删别刬刭刽刿剀剂剐剑剥剧劝办务劢动励劲劳势勋勐勚匀匦匮区医华协单卖卢卤卧卫却卺厂厅历厉压厌厍厕厢厣厦厨厩厮县参叆叇双发变叙叠叶号叹叽吁后吓吕吗吣吨听启吴呒呓呕呖呗员呙呛呜咏咔咙咛咝咤咴咸哌响哑哒哓哔哕哗哙哜哝哟唛唝唠唡唢唣唤唿啧啬啭啮啰啴啸喷喽喾嗫呵嗳嘘嘤嘱噜噼嚣嚯团园囱围囵国图圆圣圹场坂坏块坚坛坜坝坞坟坠垄垅垆垒垦垧垩垫垭垯垱垲垴埘埙埚埝埯堑堕塆墙壮声壳壶壸处备复够头夸夹夺奁奂奋奖奥妆妇妈妩妪妫姗姜娄娅娆娇娈娱娲娴婳婴婵婶媪嫒嫔嫱嬷孙学孪宁宝实宠审宪宫宽宾寝对寻导寿将尔尘尧尴尸尽层屃屉届属屡屦屿岁岂岖岗岘岙岚岛岭岳岽岿峃峄峡峣峤峥峦崂崃崄崭嵘嵚嵛嵝嵴巅巩巯币帅师帏帐帘帜带帧帮帱帻帼幂幞干并广庄庆庐庑库应庙庞废庼廪开异弃张弥弪弯弹强归当录彟彦彻径徕御忆忏忧忾怀态怂怃怄怅怆怜总怼怿恋恳恶恸恹恺恻恼恽悦悫悬悭悯惊惧惨惩惫惬惭惮惯愍愠愤愦愿慑慭憷懑懒懔戆戋戏戗战戬户扎扑扦执扩扪扫扬扰抚抛抟抠抡抢护报担拟拢拣拥拦拧拨择挂挚挛挜挝挞挟挠挡挢挣挤挥挦捞损捡换捣据捻掳掴掷掸掺掼揸揽揿搀搁搂搅携摄摅摆摇摈摊撄撑撵撷撸撺擞攒敌敛数斋斓斗斩断无旧时旷旸昙昼昽显晋晒晓晔晕晖暂暧札术朴机杀杂权条来杨杩杰极构枞枢枣枥枧枨枪枫枭柜柠柽栀栅标栈栉栊栋栌栎栏树栖样栾桊桠桡桢档桤桥桦桧桨桩梦梼梾检棂椁椟椠椤椭楼榄榇榈榉槚槛槟槠横樯樱橥橱橹橼檐檩欢欤欧歼殁殇残殒殓殚殡殴毁毂毕毙毡毵氇气氢氩氲汇汉污汤汹沓沟没沣沤沥沦沧沨沩沪沵泞泪泶泷泸泺泻泼泽泾洁洒洼浃浅浆浇浈浉浊测浍济浏浐浑浒浓浔浕涂涌涛涝涞涟涠涡涢涣涤润涧涨涩淀渊渌渍渎渐渑渔渖渗温游湾湿溃溅溆溇滗滚滞滟滠满滢滤滥滦滨滩滪漤潆潇潋潍潜潴澜濑濒灏灭灯灵灾灿炀炉炖炜炝点炼炽烁烂烃烛烟烦烧烨烩烫烬热焕焖焘煅煳熘爱爷牍牦牵牺犊犟状犷犸犹狈狍狝狞独狭狮狯狰狱狲猃猎猕猡猪猫猬献獭玑玙玚玛玮环现玱玺珉珏珐珑珰珲琎琏琐琼瑶瑷璇璎瓒瓮瓯电画畅畲畴疖疗疟疠疡疬疮疯疱疴痈痉痒痖痨痪痫痴瘅瘆瘗瘘瘪瘫瘾瘿癞癣癫癯皑皱皲盏盐监盖盗盘眍眦眬着睁睐睑瞒瞩矫矶矾矿砀码砖砗砚砜砺砻砾础硁硅硕硖硗硙硚确硷碍碛碜碱碹磙礼祎祢祯祷祸禀禄禅离秃秆种积称秽秾稆税稣稳穑穷窃窍窑窜窝窥窦窭竖竞笃笋笔笕笺笼笾筑筚筛筜筝筹签简箓箦箧箨箩箪箫篑篓篮篱簖籁籴类籼粜粝粤粪粮糁糇紧絷纟纠纡红纣纤纥约级纨纩纪纫纬纭纮纯纰纱纲纳纴纵纶纷纸纹纺纻纼纽纾线绀绁绂练组绅细织终绉绊绋绌绍绎经绐绑绒结绔绕绖绗绘给绚绛络绝绞统绠绡绢绣绤绥绦继绨绩绪绫绬续绮绯绰绱绲绳维绵绶绷绸绹绺绻综绽绾绿缀缁缂缃缄缅缆缇缈缉缊缋缌缍缎缏缐缑缒缓缔缕编缗缘缙缚缛缜缝缞缟缠缡缢缣缤缥缦缧缨缩缪缫缬缭缮缯缰缱缲缳缴缵罂网罗罚罢罴羁羟羡翘翙翚耢耧耸耻聂聋职聍联聩聪肃肠肤肷肾肿胀胁胆胜胧胨胪胫胶脉脍脏脐脑脓脔脚脱脶脸腊腌腘腭腻腼腽腾膑臜舆舣舰舱舻艰艳艹艺节芈芗芜芦苁苇苈苋苌苍苎苏苘苹茎茏茑茔茕茧荆荐荙荚荛荜荞荟荠荡荣荤荥荦荧荨荩荪荫荬荭荮药莅莜莱莲莳莴莶获莸莹莺莼萚萝萤营萦萧萨葱蒇蒉蒋蒌蓝蓟蓠蓣蓥蓦蔷蔹蔺蔼蕲蕴薮藁藓虏虑虚虫虬虮虽虾虿蚀蚁蚂蚕蚝蚬蛊蛎蛏蛮蛰蛱蛲蛳蛴蜕蜗蜡蝇蝈蝉蝎蝼蝾螀螨蟏衅衔补衬衮袄袅袆袜袭袯装裆裈裢裣裤裥褛褴襁襕见观觃规觅视觇览觉觊觋觌觍觎觏觐觑觞触觯詟誉誊讠计订讣认讥讦讧讨让讪讫训议讯记讱讲讳讴讵讶讷许讹论讻讼讽设访诀证诂诃评诅识诇诈诉诊诋诌词诎诏诐译诒诓诔试诖诗诘诙诚诛诜话诞诟诠诡询诣诤该详诧诨诩诪诫诬语诮误诰诱诲诳说诵诶请诸诹诺读诼诽课诿谀谁谂调谄谅谆谇谈谊谋谌谍谎谏谐谑谒谓谔谕谖谗谘谙谚谛谜谝谞谟谠谡谢谣谤谥谦谧谨谩谪谫谬谭谮谯谰谱谲谳谴谵谶谷豮贝贞负贠贡财责贤败账货质贩贪贫贬购贮贯贰贱贲贳贴贵贶贷贸费贺贻贼贽贾贿赀赁赂赃资赅赆赇赈赉赊赋赌赍赎赏赐赑赒赓赔赕赖赗赘赙赚赛赜赝赞赟赠赡赢赣赪赵赶趋趱趸跃跄跖跞践跶跷跸跹跻踊踌踪踬踯蹑蹒蹰蹿躏躜躯车轧轨轩轪轫转轭轮软轰轱轲轳轴轵轶轷轸轹轺轻轼载轾轿辀辁辂较辄辅辆辇辈辉辊辋辌辍辎辏辐辑辒输辔辕辖辗辘辙辚辞辩辫边辽达迁过迈运还这进远违连迟迩迳迹适选逊递逦逻遗遥邓邝邬邮邹邺邻郁郄郏郐郑郓郦郧郸酝酦酱酽酾酿释里鉅鉴銮錾钆钇针钉钊钋钌钍钎钏钐钑钒钓钔钕钖钗钘钙钚钛钝钞钟钠钡钢钣钤钥钦钧钨钩钪钫钬钭钮钯钰钱钲钳钴钵钶钷钸钹钺钻钼钽钾钿铀铁铂铃铄铅铆铈铉铊铋铍铎铏铐铑铒铕铗铘铙铚铛铜铝铞铟铠铡铢铣铤铥铦铧铨铪铫铬铭铮铯铰铱铲铳铴铵银铷铸铹铺铻铼铽链铿销锁锂锃锄锅锆锇锈锉锊锋锌锍锎锏锐锑锒锓锔锕锖锗错锚锜锞锟锠锡锢锣锤锥锦锨锩锫锬锭键锯锰锱锲锳锴锵锶锷锸锹锺锻锼锽锾锿镀镁镂镃镆镇镈镉镊镌镍镎镏镐镑镒镕镖镗镙镚镛镜镝镞镟镠镡镢镣镤镥镦镧镨镩镪镫镬镭镮镯镰镱镲镳镴镶长门闩闪闫闬闭问闯闰闱闲闳间闵闶闷闸闹闺闻闼闽闾闿阀阁阂阃阄阅阆阇阈阉阊阋阌阍阎阏阐阑阒阓阔阕阖阗阘阙阚阛队阳阴阵阶际陆陇陈陉陕陧陨险随隐隶隽难雏雠雳雾霁霉霭靓静靥鞑鞒鞯鞴韦韧韨韩韪韫韬韵页顶顷顸项顺须顼顽顾顿颀颁颂颃预颅领颇颈颉颊颋颌颍颎颏颐频颒颓颔颕颖颗题颙颚颛颜额颞颟颠颡颢颣颤颥颦颧风飏飐飑飒飓飔飕飖飗飘飙飚飞飨餍饤饥饦饧饨饩饪饫饬饭饮饯饰饱饲饳饴饵饶饷饸饹饺饻饼饽饾饿馀馁馂馃馄馅馆馇馈馉馊馋馌馍馎馏馐馑馒馓馔馕马驭驮驯驰驱驲驳驴驵驶驷驸驹驺驻驼驽驾驿骀骁骂骃骄骅骆骇骈骉骊骋验骍骎骏骐骑骒骓骔骕骖骗骘骙骚骛骜骝骞骟骠骡骢骣骤骥骦骧髅髋髌鬓魇魉鱼鱽鱾鱿鲀鲁鲂鲄鲅鲆鲇鲈鲉鲊鲋鲌鲍鲎鲏鲐鲑鲒鲓鲔鲕鲖鲗鲘鲙鲚鲛鲜鲝鲞鲟鲠鲡鲢鲣鲤鲥鲦鲧鲨鲩鲪鲫鲬鲭鲮鲯鲰鲱鲲鲳鲴鲵鲶鲷鲸鲹鲺鲻鲼鲽鲾鲿鳀鳁鳂鳃鳄鳅鳆鳇鳈鳉鳊鳋鳌鳍鳎鳏鳐鳑鳒鳓鳔鳕鳖鳗鳘鳙鳛鳜鳝鳞鳟鳠鳡鳢鳣鸟鸠鸡鸢鸣鸤鸥鸦鸧鸨鸩鸪鸫鸬鸭鸮鸯鸰鸱鸲鸳鸴鸵鸶鸷鸸鸹鸺鸻鸼鸽鸾鸿鹀鹁鹂鹃鹄鹅鹆鹇鹈鹉鹊鹋鹌鹍鹎鹏鹐鹑鹒鹓鹔鹕鹖鹗鹘鹚鹛鹜鹝鹞鹟鹠鹡鹢鹣鹤鹥鹦鹧鹨鹩鹪鹫鹬鹭鹯鹰鹱鹲鹳鹴鹾麦麸黄黉黡黩黪黾' + } + function FTPYStr () { + return '萬與醜專業叢東絲丟兩嚴喪個爿豐臨為麗舉麼義烏樂喬習鄉書買亂爭於虧雲亙亞產畝親褻嚲億僅從侖倉儀們價眾優夥會傴傘偉傳傷倀倫傖偽佇體餘傭僉俠侶僥偵側僑儈儕儂俁儔儼倆儷儉債傾傯僂僨償儻儐儲儺兒兌兗黨蘭關興茲養獸囅內岡冊寫軍農塚馮衝決況凍淨淒涼淩減湊凜幾鳳鳧憑凱擊氹鑿芻劃劉則剛創刪別剗剄劊劌剴劑剮劍剝劇勸辦務勱動勵勁勞勢勳猛勩勻匭匱區醫華協單賣盧鹵臥衛卻巹廠廳曆厲壓厭厙廁廂厴廈廚廄廝縣參靉靆雙發變敘疊葉號歎嘰籲後嚇呂嗎唚噸聽啟吳嘸囈嘔嚦唄員咼嗆嗚詠哢嚨嚀噝吒噅鹹呱響啞噠嘵嗶噦嘩噲嚌噥喲嘜嗊嘮啢嗩唕喚呼嘖嗇囀齧囉嘽嘯噴嘍嚳囁嗬噯噓嚶囑嚕劈囂謔團園囪圍圇國圖圓聖壙場阪壞塊堅壇壢壩塢墳墜壟壟壚壘墾坰堊墊埡墶壋塏堖塒塤堝墊垵塹墮壪牆壯聲殼壺壼處備複夠頭誇夾奪奩奐奮獎奧妝婦媽嫵嫗媯姍薑婁婭嬈嬌孌娛媧嫻嫿嬰嬋嬸媼嬡嬪嬙嬤孫學孿寧寶實寵審憲宮寬賓寢對尋導壽將爾塵堯尷屍盡層屭屜屆屬屢屨嶼歲豈嶇崗峴嶴嵐島嶺嶽崠巋嶨嶧峽嶢嶠崢巒嶗崍嶮嶄嶸嶔崳嶁脊巔鞏巰幣帥師幃帳簾幟帶幀幫幬幘幗冪襆幹並廣莊慶廬廡庫應廟龐廢廎廩開異棄張彌弳彎彈強歸當錄彠彥徹徑徠禦憶懺憂愾懷態慫憮慪悵愴憐總懟懌戀懇惡慟懨愷惻惱惲悅愨懸慳憫驚懼慘懲憊愜慚憚慣湣慍憤憒願懾憖怵懣懶懍戇戔戲戧戰戩戶紮撲扡執擴捫掃揚擾撫拋摶摳掄搶護報擔擬攏揀擁攔擰撥擇掛摯攣掗撾撻挾撓擋撟掙擠揮撏撈損撿換搗據撚擄摑擲撣摻摜摣攬撳攙擱摟攪攜攝攄擺搖擯攤攖撐攆擷擼攛擻攢敵斂數齋斕鬥斬斷無舊時曠暘曇晝曨顯晉曬曉曄暈暉暫曖劄術樸機殺雜權條來楊榪傑極構樅樞棗櫪梘棖槍楓梟櫃檸檉梔柵標棧櫛櫳棟櫨櫟欄樹棲樣欒棬椏橈楨檔榿橋樺檜槳樁夢檮棶檢欞槨櫝槧欏橢樓欖櫬櫚櫸檟檻檳櫧橫檣櫻櫫櫥櫓櫞簷檁歡歟歐殲歿殤殘殞殮殫殯毆毀轂畢斃氈毿氌氣氫氬氳彙漢汙湯洶遝溝沒灃漚瀝淪滄渢溈滬濔濘淚澩瀧瀘濼瀉潑澤涇潔灑窪浹淺漿澆湞溮濁測澮濟瀏滻渾滸濃潯濜塗湧濤澇淶漣潿渦溳渙滌潤澗漲澀澱淵淥漬瀆漸澠漁瀋滲溫遊灣濕潰濺漵漊潷滾滯灩灄滿瀅濾濫灤濱灘澦濫瀠瀟瀲濰潛瀦瀾瀨瀕灝滅燈靈災燦煬爐燉煒熗點煉熾爍爛烴燭煙煩燒燁燴燙燼熱煥燜燾煆糊溜愛爺牘犛牽犧犢強狀獷獁猶狽麅獮獰獨狹獅獪猙獄猻獫獵獼玀豬貓蝟獻獺璣璵瑒瑪瑋環現瑲璽瑉玨琺瓏璫琿璡璉瑣瓊瑤璦璿瓔瓚甕甌電畫暢佘疇癤療瘧癘瘍鬁瘡瘋皰屙癰痙癢瘂癆瘓癇癡癉瘮瘞瘺癟癱癮癭癩癬癲臒皚皺皸盞鹽監蓋盜盤瞘眥矓著睜睞瞼瞞矚矯磯礬礦碭碼磚硨硯碸礪礱礫礎硜矽碩硤磽磑礄確鹼礙磧磣堿镟滾禮禕禰禎禱禍稟祿禪離禿稈種積稱穢穠穭稅穌穩穡窮竊竅窯竄窩窺竇窶豎競篤筍筆筧箋籠籩築篳篩簹箏籌簽簡籙簀篋籜籮簞簫簣簍籃籬籪籟糴類秈糶糲粵糞糧糝餱緊縶糸糾紆紅紂纖紇約級紈纊紀紉緯紜紘純紕紗綱納紝縱綸紛紙紋紡紵紖紐紓線紺絏紱練組紳細織終縐絆紼絀紹繹經紿綁絨結絝繞絰絎繪給絢絳絡絕絞統綆綃絹繡綌綏絛繼綈績緒綾緓續綺緋綽緔緄繩維綿綬繃綢綯綹綣綜綻綰綠綴緇緙緗緘緬纜緹緲緝縕繢緦綞緞緶線緱縋緩締縷編緡緣縉縛縟縝縫縗縞纏縭縊縑繽縹縵縲纓縮繆繅纈繚繕繒韁繾繰繯繳纘罌網羅罰罷羆羈羥羨翹翽翬耮耬聳恥聶聾職聹聯聵聰肅腸膚膁腎腫脹脅膽勝朧腖臚脛膠脈膾髒臍腦膿臠腳脫腡臉臘醃膕齶膩靦膃騰臏臢輿艤艦艙艫艱豔艸藝節羋薌蕪蘆蓯葦藶莧萇蒼苧蘇檾蘋莖蘢蔦塋煢繭荊薦薘莢蕘蓽蕎薈薺蕩榮葷滎犖熒蕁藎蓀蔭蕒葒葤藥蒞蓧萊蓮蒔萵薟獲蕕瑩鶯蓴蘀蘿螢營縈蕭薩蔥蕆蕢蔣蔞藍薊蘺蕷鎣驀薔蘞藺藹蘄蘊藪槁蘚虜慮虛蟲虯蟣雖蝦蠆蝕蟻螞蠶蠔蜆蠱蠣蟶蠻蟄蛺蟯螄蠐蛻蝸蠟蠅蟈蟬蠍螻蠑螿蟎蠨釁銜補襯袞襖嫋褘襪襲襏裝襠褌褳襝褲襇褸襤繈襴見觀覎規覓視覘覽覺覬覡覿覥覦覯覲覷觴觸觶讋譽謄訁計訂訃認譏訐訌討讓訕訖訓議訊記訒講諱謳詎訝訥許訛論訩訟諷設訪訣證詁訶評詛識詗詐訴診詆謅詞詘詔詖譯詒誆誄試詿詩詰詼誠誅詵話誕詬詮詭詢詣諍該詳詫諢詡譸誡誣語誚誤誥誘誨誑說誦誒請諸諏諾讀諑誹課諉諛誰諗調諂諒諄誶談誼謀諶諜謊諫諧謔謁謂諤諭諼讒諮諳諺諦謎諞諝謨讜謖謝謠謗諡謙謐謹謾謫譾謬譚譖譙讕譜譎讞譴譫讖穀豶貝貞負貟貢財責賢敗賬貨質販貪貧貶購貯貫貳賤賁貰貼貴貺貸貿費賀貽賊贄賈賄貲賃賂贓資賅贐賕賑賚賒賦賭齎贖賞賜贔賙賡賠賧賴賵贅賻賺賽賾贗讚贇贈贍贏贛赬趙趕趨趲躉躍蹌蹠躒踐躂蹺蹕躚躋踴躊蹤躓躑躡蹣躕躥躪躦軀車軋軌軒軑軔轉軛輪軟轟軲軻轤軸軹軼軤軫轢軺輕軾載輊轎輈輇輅較輒輔輛輦輩輝輥輞輬輟輜輳輻輯轀輸轡轅轄輾轆轍轔辭辯辮邊遼達遷過邁運還這進遠違連遲邇逕跡適選遜遞邐邏遺遙鄧鄺鄔郵鄒鄴鄰鬱郤郟鄶鄭鄆酈鄖鄲醞醱醬釅釃釀釋裏钜鑒鑾鏨釓釔針釘釗釙釕釷釺釧釤鈒釩釣鍆釹鍚釵鈃鈣鈈鈦鈍鈔鍾鈉鋇鋼鈑鈐鑰欽鈞鎢鉤鈧鈁鈥鈄鈕鈀鈺錢鉦鉗鈷缽鈳鉕鈽鈸鉞鑽鉬鉭鉀鈿鈾鐵鉑鈴鑠鉛鉚鈰鉉鉈鉍鈹鐸鉶銬銠鉺銪鋏鋣鐃銍鐺銅鋁銱銦鎧鍘銖銑鋌銩銛鏵銓鉿銚鉻銘錚銫鉸銥鏟銃鐋銨銀銣鑄鐒鋪鋙錸鋱鏈鏗銷鎖鋰鋥鋤鍋鋯鋨鏽銼鋝鋒鋅鋶鐦鐧銳銻鋃鋟鋦錒錆鍺錯錨錡錁錕錩錫錮鑼錘錐錦鍁錈錇錟錠鍵鋸錳錙鍥鍈鍇鏘鍶鍔鍤鍬鍾鍛鎪鍠鍰鎄鍍鎂鏤鎡鏌鎮鎛鎘鑷鐫鎳鎿鎦鎬鎊鎰鎔鏢鏜鏍鏰鏞鏡鏑鏃鏇鏐鐔钁鐐鏷鑥鐓鑭鐠鑹鏹鐙鑊鐳鐶鐲鐮鐿鑔鑣鑞鑲長門閂閃閆閈閉問闖閏闈閑閎間閔閌悶閘鬧閨聞闥閩閭闓閥閣閡閫鬮閱閬闍閾閹閶鬩閿閽閻閼闡闌闃闠闊闋闔闐闒闕闞闤隊陽陰陣階際陸隴陳陘陝隉隕險隨隱隸雋難雛讎靂霧霽黴靄靚靜靨韃鞽韉韝韋韌韍韓韙韞韜韻頁頂頃頇項順須頊頑顧頓頎頒頌頏預顱領頗頸頡頰頲頜潁熲頦頤頻頮頹頷頴穎顆題顒顎顓顏額顳顢顛顙顥纇顫顬顰顴風颺颭颮颯颶颸颼颻飀飄飆飆飛饗饜飣饑飥餳飩餼飪飫飭飯飲餞飾飽飼飿飴餌饒餉餄餎餃餏餅餑餖餓餘餒餕餜餛餡館餷饋餶餿饞饁饃餺餾饈饉饅饊饌饢馬馭馱馴馳驅馹駁驢駔駛駟駙駒騶駐駝駑駕驛駘驍罵駰驕驊駱駭駢驫驪騁驗騂駸駿騏騎騍騅騌驌驂騙騭騤騷騖驁騮騫騸驃騾驄驏驟驥驦驤髏髖髕鬢魘魎魚魛魢魷魨魯魴魺鮁鮃鯰鱸鮋鮓鮒鮊鮑鱟鮍鮐鮭鮚鮳鮪鮞鮦鰂鮜鱠鱭鮫鮮鮺鯗鱘鯁鱺鰱鰹鯉鰣鰷鯀鯊鯇鮶鯽鯒鯖鯪鯕鯫鯡鯤鯧鯝鯢鯰鯛鯨鯵鯴鯔鱝鰈鰏鱨鯷鰮鰃鰓鱷鰍鰒鰉鰁鱂鯿鰠鼇鰭鰨鰥鰩鰟鰜鰳鰾鱈鱉鰻鰵鱅鰼鱖鱔鱗鱒鱯鱤鱧鱣鳥鳩雞鳶鳴鳲鷗鴉鶬鴇鴆鴣鶇鸕鴨鴞鴦鴒鴟鴝鴛鴬鴕鷥鷙鴯鴰鵂鴴鵃鴿鸞鴻鵐鵓鸝鵑鵠鵝鵒鷳鵜鵡鵲鶓鵪鶤鵯鵬鵮鶉鶊鵷鷫鶘鶡鶚鶻鶿鶥鶩鷊鷂鶲鶹鶺鷁鶼鶴鷖鸚鷓鷚鷯鷦鷲鷸鷺鸇鷹鸌鸏鸛鸘鹺麥麩黃黌黶黷黲黽' + } + function Traditionalized (cc) { + let str = '' + const ss = JTPYStr() + const tt = FTPYStr() + for (let i = 0; i < cc.length; i++) { + if (cc.charCodeAt(i) > 10000 && ss.indexOf(cc.charAt(i)) !== -1) { str += tt.charAt(ss.indexOf(cc.charAt(i))) } else str += cc.charAt(i) + } + return str + } + function Simplized (cc) { + let str = '' + const ss = JTPYStr() + const tt = FTPYStr() + for (let i = 0; i < cc.length; i++) { + if (cc.charCodeAt(i) > 10000 && tt.indexOf(cc.charAt(i)) !== -1) { str += ss.charAt(tt.indexOf(cc.charAt(i))) } else str += cc.charAt(i) + } + return str + } + function translateInitialization () { + translateButtonObject = document.getElementById('translateLink') + if (translateButtonObject) { + if (currentEncoding !== targetEncoding) { + setTimeout(translateBody, translateDelay) + if (targetEncoding === 1) translateButtonObject.innerHTML = msgToSimplifiedChinese + else translateButtonObject.innerHTML = msgToTraditionalChinese + } + translateButtonObject.addEventListener('click', translatePage, false) + } + } + translateInitialization() + document.addEventListener('pjax:complete', translateInitialization) +}) diff --git a/js/utils.js b/js/utils.js new file mode 100644 index 00000000..a1be3680 --- /dev/null +++ b/js/utils.js @@ -0,0 +1,278 @@ +const btf = { + debounce: function (func, wait, immediate) { + let timeout + return function () { + const context = this + const args = arguments + const later = function () { + timeout = null + if (!immediate) func.apply(context, args) + } + const callNow = immediate && !timeout + clearTimeout(timeout) + timeout = setTimeout(later, wait) + if (callNow) func.apply(context, args) + } + }, + + throttle: function (func, wait, options) { + let timeout, context, args + let previous = 0 + if (!options) options = {} + + const later = function () { + previous = options.leading === false ? 0 : new Date().getTime() + timeout = null + func.apply(context, args) + if (!timeout) context = args = null + } + + const throttled = function () { + const now = new Date().getTime() + if (!previous && options.leading === false) previous = now + const remaining = wait - (now - previous) + context = this + args = arguments + if (remaining <= 0 || remaining > wait) { + if (timeout) { + clearTimeout(timeout) + timeout = null + } + previous = now + func.apply(context, args) + if (!timeout) context = args = null + } else if (!timeout && options.trailing !== false) { + timeout = setTimeout(later, remaining) + } + } + + return throttled + }, + + sidebarPaddingR: () => { + const innerWidth = window.innerWidth + const clientWidth = document.body.clientWidth + const paddingRight = innerWidth - clientWidth + if (innerWidth !== clientWidth) { + document.body.style.paddingRight = paddingRight + 'px' + } + }, + + snackbarShow: (text, showAction = false, duration = 2000) => { + const { position, bgLight, bgDark } = GLOBAL_CONFIG.Snackbar + const bg = document.documentElement.getAttribute('data-theme') === 'light' ? bgLight : bgDark + Snackbar.show({ + text: text, + backgroundColor: bg, + showAction: showAction, + duration: duration, + pos: position, + customClass: 'snackbar-css' + }) + }, + + diffDate: (d, more = false) => { + const dateNow = new Date() + const datePost = new Date(d) + const dateDiff = dateNow.getTime() - datePost.getTime() + const minute = 1000 * 60 + const hour = minute * 60 + const day = hour * 24 + const month = day * 30 + + let result + if (more) { + const monthCount = dateDiff / month + const dayCount = dateDiff / day + const hourCount = dateDiff / hour + const minuteCount = dateDiff / minute + + if (monthCount > 12) { + result = datePost.toLocaleDateString().replace(/\//g, '-') + } else if (monthCount >= 1) { + result = parseInt(monthCount) + ' ' + GLOBAL_CONFIG.date_suffix.month + } else if (dayCount >= 1) { + result = parseInt(dayCount) + ' ' + GLOBAL_CONFIG.date_suffix.day + } else if (hourCount >= 1) { + result = parseInt(hourCount) + ' ' + GLOBAL_CONFIG.date_suffix.hour + } else if (minuteCount >= 1) { + result = parseInt(minuteCount) + ' ' + GLOBAL_CONFIG.date_suffix.min + } else { + result = GLOBAL_CONFIG.date_suffix.just + } + } else { + result = parseInt(dateDiff / day) + } + return result + }, + + loadComment: (dom, callback) => { + if ('IntersectionObserver' in window) { + const observerItem = new IntersectionObserver((entries) => { + if (entries[0].isIntersecting) { + callback() + observerItem.disconnect() + } + }, { threshold: [0] }) + observerItem.observe(dom) + } else { + callback() + } + }, + + scrollToDest: (pos, time = 500) => { + const currentPos = window.pageYOffset + if (currentPos > pos) pos = pos - 70 + + if ('scrollBehavior' in document.documentElement.style) { + window.scrollTo({ + top: pos, + behavior: 'smooth' + }) + return + } + + let start = null + pos = +pos + window.requestAnimationFrame(function step (currentTime) { + start = !start ? currentTime : start + const progress = currentTime - start + if (currentPos < pos) { + window.scrollTo(0, ((pos - currentPos) * progress / time) + currentPos) + } else { + window.scrollTo(0, currentPos - ((currentPos - pos) * progress / time)) + } + if (progress < time) { + window.requestAnimationFrame(step) + } else { + window.scrollTo(0, pos) + } + }) + }, + + animateIn: (ele, text) => { + ele.style.display = 'block' + ele.style.animation = text + }, + + animateOut: (ele, text) => { + ele.addEventListener('animationend', function f () { + ele.style.display = '' + ele.style.animation = '' + ele.removeEventListener('animationend', f) + }) + ele.style.animation = text + }, + + getParents: (elem, selector) => { + for (; elem && elem !== document; elem = elem.parentNode) { + if (elem.matches(selector)) return elem + } + return null + }, + + siblings: (ele, selector) => { + return [...ele.parentNode.children].filter((child) => { + if (selector) { + return child !== ele && child.matches(selector) + } + return child !== ele + }) + }, + + /** + * @param {*} selector + * @param {*} eleType the type of create element + * @param {*} options object key: value + */ + wrap: (selector, eleType, options) => { + const creatEle = document.createElement(eleType) + for (const [key, value] of Object.entries(options)) { + creatEle.setAttribute(key, value) + } + selector.parentNode.insertBefore(creatEle, selector) + creatEle.appendChild(selector) + }, + + unwrap: el => { + const elParentNode = el.parentNode + if (elParentNode !== document.body) { + elParentNode.parentNode.insertBefore(el, elParentNode) + elParentNode.parentNode.removeChild(elParentNode) + } + }, + + isHidden: ele => ele.offsetHeight === 0 && ele.offsetWidth === 0, + + getEleTop: ele => { + let actualTop = ele.offsetTop + let current = ele.offsetParent + + while (current !== null) { + actualTop += current.offsetTop + current = current.offsetParent + } + + return actualTop + }, + + loadLightbox: ele => { + const service = GLOBAL_CONFIG.lightbox + + if (service === 'mediumZoom') { + const zoom = mediumZoom(ele) + zoom.on('open', e => { + const photoBg = document.documentElement.getAttribute('data-theme') === 'dark' ? '#121212' : '#fff' + zoom.update({ + background: photoBg + }) + }) + } + + if (service === 'fancybox') { + ele.forEach(i => { + if (i.parentNode.tagName !== 'A') { + const dataSrc = i.dataset.lazySrc || i.src + const dataCaption = i.title || i.alt || '' + btf.wrap(i, 'a', { href: dataSrc, 'data-fancybox': 'gallery', 'data-caption': dataCaption, 'data-thumb': dataSrc }) + } + }) + + if (!window.fancyboxRun) { + Fancybox.bind('[data-fancybox]', { + Hash: false, + Thumbs: { + autoStart: false + } + }) + window.fancyboxRun = true + } + } + }, + + initJustifiedGallery: function (selector) { + selector.forEach(function (i) { + if (!btf.isHidden(i)) { + fjGallery(i, { + itemSelector: '.fj-gallery-item', + rowHeight: 220, + gutter: 4, + onJustify: function () { + this.$container.style.opacity = '1' + } + }) + } + }) + }, + + updateAnchor: (anchor) => { + if (anchor !== window.location.hash) { + if (!anchor) anchor = location.pathname + const title = GLOBAL_CONFIG_SITE.title + window.history.replaceState({ + url: location.href, + title: title + }, title, anchor) + } + } +} diff --git a/lib/hbe.js b/lib/hbe.js new file mode 100644 index 00000000..71205dd7 --- /dev/null +++ b/lib/hbe.js @@ -0,0 +1,297 @@ +(() => { + 'use strict'; + + const cryptoObj = window.crypto || window.msCrypto; + const storage = window.localStorage; + + const storageName = 'hexo-blog-encrypt:#' + window.location.pathname; + const keySalt = textToArray('hexo-blog-encrypt的作者们都是大帅比!'); + const ivSalt = textToArray('hexo-blog-encrypt是地表最强Hexo加密插件!'); + +// As we can't detect the wrong password with AES-CBC, +// so adding an empty div and check it when decrption. +const knownPrefix = ""; + + const mainElement = document.getElementById('hexo-blog-encrypt'); + const wrongPassMessage = mainElement.dataset['wpm']; + const wrongHashMessage = mainElement.dataset['whm']; + const dataElement = mainElement.getElementsByTagName('script')['hbeData']; + const encryptedData = dataElement.innerText; + const HmacDigist = dataElement.dataset['hmacdigest']; + + function hexToArray(s) { + return new Uint8Array(s.match(/[\da-f]{2}/gi).map((h => { + return parseInt(h, 16); + }))); + } + + function textToArray(s) { + var i = s.length; + var n = 0; + var ba = new Array() + + for (var j = 0; j < i;) { + var c = s.codePointAt(j); + if (c < 128) { + ba[n++] = c; + j++; + } else if ((c > 127) && (c < 2048)) { + ba[n++] = (c >> 6) | 192; + ba[n++] = (c & 63) | 128; + j++; + } else if ((c > 2047) && (c < 65536)) { + ba[n++] = (c >> 12) | 224; + ba[n++] = ((c >> 6) & 63) | 128; + ba[n++] = (c & 63) | 128; + j++; + } else { + ba[n++] = (c >> 18) | 240; + ba[n++] = ((c >> 12) & 63) | 128; + ba[n++] = ((c >> 6) & 63) | 128; + ba[n++] = (c & 63) | 128; + j += 2; + } + } + return new Uint8Array(ba); + } + + function arrayBufferToHex(arrayBuffer) { + if (typeof arrayBuffer !== 'object' || arrayBuffer === null || typeof arrayBuffer.byteLength !== 'number') { + throw new TypeError('Expected input to be an ArrayBuffer') + } + + var view = new Uint8Array(arrayBuffer) + var result = '' + var value + + for (var i = 0; i < view.length; i++) { + value = view[i].toString(16) + result += (value.length === 1 ? '0' + value : value) + } + + return result + } + + async function getExecutableScript(oldElem) { + let out = document.createElement('script'); + const attList = ['type', 'text', 'src', 'crossorigin', 'defer', 'referrerpolicy']; + attList.forEach((att) => { + if (oldElem[att]) + out[att] = oldElem[att]; + }) + + return out; + } + + async function convertHTMLToElement(content) { + let out = document.createElement('div'); + out.innerHTML = content; + out.querySelectorAll('script').forEach(async (elem) => { + elem.replaceWith(await getExecutableScript(elem)); + }); + + return out; + } + + function getKeyMaterial(password) { + let encoder = new TextEncoder(); + return cryptoObj.subtle.importKey( + 'raw', + encoder.encode(password), + { + 'name': 'PBKDF2', + }, + false, + [ + 'deriveKey', + 'deriveBits', + ] + ); + } + + function getHmacKey(keyMaterial) { + return cryptoObj.subtle.deriveKey({ + 'name': 'PBKDF2', + 'hash': 'SHA-256', + 'salt': keySalt.buffer, + 'iterations': 1024 + }, keyMaterial, { + 'name': 'HMAC', + 'hash': 'SHA-256', + 'length': 256, + }, true, [ + 'verify', + ]); + } + + function getDecryptKey(keyMaterial) { + return cryptoObj.subtle.deriveKey({ + 'name': 'PBKDF2', + 'hash': 'SHA-256', + 'salt': keySalt.buffer, + 'iterations': 1024, + }, keyMaterial, { + 'name': 'AES-CBC', + 'length': 256, + }, true, [ + 'decrypt', + ]); + } + + function getIv(keyMaterial) { + return cryptoObj.subtle.deriveBits({ + 'name': 'PBKDF2', + 'hash': 'SHA-256', + 'salt': ivSalt.buffer, + 'iterations': 512, + }, keyMaterial, 16 * 8); + } + + async function verifyContent(key, content) { + const encoder = new TextEncoder(); + const encoded = encoder.encode(content); + + let signature = hexToArray(HmacDigist); + + const result = await cryptoObj.subtle.verify({ + 'name': 'HMAC', + 'hash': 'SHA-256', + }, key, signature, encoded); + console.log(`Verification result: ${result}`); + if (!result) { + alert(wrongHashMessage); + console.log(`${wrongHashMessage}, got `, signature, ` but proved wrong.`); + } + return result; + } + + async function decrypt(decryptKey, iv, hmacKey) { + let typedArray = hexToArray(encryptedData); + + const result = await cryptoObj.subtle.decrypt({ + 'name': 'AES-CBC', + 'iv': iv, + }, decryptKey, typedArray.buffer).then(async (result) => { + const decoder = new TextDecoder(); + const decoded = decoder.decode(result); + + // check the prefix, if not then we can sure here is wrong password. + if (!decoded.startsWith(knownPrefix)) { + throw "Decode successfully but not start with KnownPrefix."; + } + + const hideButton = document.createElement('button'); + hideButton.textContent = 'Encrypt again'; + hideButton.type = 'button'; + hideButton.classList.add("hbe-button"); + hideButton.addEventListener('click', () => { + window.localStorage.removeItem(storageName); + window.location.reload(); + }); + + document.getElementById('hexo-blog-encrypt').style.display = 'inline'; + document.getElementById('hexo-blog-encrypt').innerHTML = ''; + document.getElementById('hexo-blog-encrypt').appendChild(await convertHTMLToElement(decoded)); + document.getElementById('hexo-blog-encrypt').appendChild(hideButton); + + // support html5 lazyload functionality. + document.querySelectorAll('img').forEach((elem) => { + if (elem.getAttribute("data-src") && !elem.src) { + elem.src = elem.getAttribute('data-src'); + } + }); + + // support theme-next refresh + window.NexT && NexT.boot && typeof NexT.boot.refresh === 'function' && NexT.boot.refresh(); + + // TOC part + var tocDiv = document.getElementById("toc-div"); + if (tocDiv) { + tocDiv.style.display = 'inline'; + } + + var tocDivs = document.getElementsByClassName('toc-div-class'); + if (tocDivs && tocDivs.length > 0) { + for (var idx = 0; idx < tocDivs.length; idx++) { + tocDivs[idx].style.display = 'inline'; + } + } + + // trigger event + var event = new Event('hexo-blog-decrypt'); + window.dispatchEvent(event); + + return await verifyContent(hmacKey, decoded); + }).catch((e) => { + alert(wrongPassMessage); + console.log(e); + return false; + }); + + return result; + + } + + function hbeLoader() { + + const oldStorageData = JSON.parse(storage.getItem(storageName)); + + if (oldStorageData) { + console.log(`Password got from localStorage(${storageName}): `, oldStorageData); + + const sIv = hexToArray(oldStorageData.iv).buffer; + const sDk = oldStorageData.dk; + const sHmk = oldStorageData.hmk; + + cryptoObj.subtle.importKey('jwk', sDk, { + 'name': 'AES-CBC', + 'length': 256, + }, true, [ + 'decrypt', + ]).then((dkCK) => { + cryptoObj.subtle.importKey('jwk', sHmk, { + 'name': 'HMAC', + 'hash': 'SHA-256', + 'length': 256, + }, true, [ + 'verify', + ]).then((hmkCK) => { + decrypt(dkCK, sIv, hmkCK).then((result) => { + if (!result) { + storage.removeItem(storageName); + } + }); + }); + }); + } + + mainElement.addEventListener('keydown', async (event) => { + if (event.isComposing || event.keyCode === 13) { + const password = document.getElementById('hbePass').value; + const keyMaterial = await getKeyMaterial(password); + const hmacKey = await getHmacKey(keyMaterial); + const decryptKey = await getDecryptKey(keyMaterial); + const iv = await getIv(keyMaterial); + + decrypt(decryptKey, iv, hmacKey).then((result) => { + console.log(`Decrypt result: ${result}`); + if (result) { + cryptoObj.subtle.exportKey('jwk', decryptKey).then((dk) => { + cryptoObj.subtle.exportKey('jwk', hmacKey).then((hmk) => { + const newStorageData = { + 'dk': dk, + 'iv': arrayBufferToHex(iv), + 'hmk': hmk, + }; + storage.setItem(storageName, JSON.stringify(newStorageData)); + }); + }); + } + }); + } + }); + } + + hbeLoader(); + +})(); diff --git a/personal/about/index.html b/personal/about/index.html new file mode 100644 index 00000000..422824f6 --- /dev/null +++ b/personal/about/index.html @@ -0,0 +1,670 @@ +
关于 | 兔兔博客🇨🇳 + + + + + + + + + + + + + +
+
+
+ +
+
+
+ +

熙熙攘攘,做个人间过客

+
+
+ +
+
+

个人信息

+
    +
    +
    +
  • 姓名: 兔兔
  • +
  • 住址: 广东省
  • +
  • 学校: 不知名的小学校
  • +
    +
    +
  • 性别: 颜控
  • +
  • 年级: 二年级
  • +
  • 擅长: 人工智能,网站开发
  • +
    +
    +
  • 邮箱: 1742305143@qq.com
  • +
+
+
+
+
+ +
+

教育背景

+
    +
  • 学校: 野鸡大学
  • +
  • 主要专业课程: 干饭.jpg(101.5)
  • +
+
+
+
+ +
+

主要项目

+
    +
  • hexo 博客
  • +
  • GitHub action 自动打包
  • +
  • 搜狗词库自动转谷歌
  • +
  • 基于 php 实现即时通讯
  • +
  • 基于 github 实现自动签到
  • +
+
+
+
+ +
+

技能

+
    +
  • 语言技能: 汉语
  • +
  • 专业技能: C++、Java、Python、Linux、HTML、CSS、JavaScript
  • +
  • 通用技能: 干饭
  • +
+
+
+
+ +
+

自我评价

+
    +
  • 思想上乐观开朗,乐于助人,具有团队协作精神及创新意识。
  • +
  • 工作上极富责任心与信念感,对待工作认真负责,有较强的组织管理及动手能力。
  • +
  • 总结:人嘎嘎好!
  • +
+
+
+

评论
avatar
🐟认真内卷中
兔兔博客🇨🇳
万事都要全力以赴,包括开心
前往小窝
公告栏
--- 主域名 ---
blog.tutuxka.eu.org
--- 备用域名 ---
netlify.tutuxka.eu.org🍧
微博热搜
小站资讯
文章数目 :
5
本站总字数 :
701
本站访客数 :
本站总访问量 :
最后更新时间 :
\ No newline at end of file diff --git a/personal/bb/index.html b/personal/bb/index.html new file mode 100644 index 00000000..187e8ec3 --- /dev/null +++ b/personal/bb/index.html @@ -0,0 +1,360 @@ +
唠叨 | 兔兔博客🇨🇳 + + + + + + + + + + + + + +
+ + + + + + +
+ +
+

评论
avatar
🐟认真内卷中
兔兔博客🇨🇳
万事都要全力以赴,包括开心
前往小窝
公告栏
--- 主域名 ---
blog.tutuxka.eu.org
--- 备用域名 ---
netlify.tutuxka.eu.org🍧
微博热搜
小站资讯
文章数目 :
5
本站总字数 :
701
本站访客数 :
本站总访问量 :
最后更新时间 :
\ No newline at end of file diff --git a/personal/love/index.html b/personal/love/index.html new file mode 100644 index 00000000..aa7881aa --- /dev/null +++ b/personal/love/index.html @@ -0,0 +1,354 @@ +
恋爱小屋 | 兔兔博客🇨🇳 + + + + + + + + + + + + + +
+ +
+
+ + + + + + +
+
+
+

评论
avatar
🐟认真内卷中
兔兔博客🇨🇳
万事都要全力以赴,包括开心
前往小窝
公告栏
--- 主域名 ---
blog.tutuxka.eu.org
--- 备用域名 ---
netlify.tutuxka.eu.org🍧
微博热搜
小站资讯
文章数目 :
5
本站总字数 :
701
本站访客数 :
本站总访问量 :
最后更新时间 :
\ No newline at end of file diff --git a/posts/2b9cc7eb.html b/posts/2b9cc7eb.html new file mode 100644 index 00000000..0e3ee72c --- /dev/null +++ b/posts/2b9cc7eb.html @@ -0,0 +1,336 @@ +
新年快乐 | 兔兔博客🇨🇳 + + + + + + + + + + + + + +

新年快乐

祝大家新年快乐吧,虽然年已经过完了,但还是要记录一下的

+
新年快乐
https://blog.tutuxka.eu.org/posts/2b9cc7eb.html
作者
兔兔博客🇨🇳
发布于
2023-01-29
更新于
2023-01-29
许可协议
CC BY-NC-SA 4.0

评论
avatar
🐟认真内卷中
兔兔博客🇨🇳
万事都要全力以赴,包括开心
前往小窝
公告栏
--- 主域名 ---
blog.tutuxka.eu.org
--- 备用域名 ---
netlify.tutuxka.eu.org🍧
微博热搜
\ No newline at end of file diff --git a/posts/427ff66d.html b/posts/427ff66d.html new file mode 100644 index 00000000..33070c3a --- /dev/null +++ b/posts/427ff66d.html @@ -0,0 +1,384 @@ +
记 QQ 无头机器人搭建教程 | 兔兔博客🇨🇳 + + + + + + + + + + + + + +

记 QQ 无头机器人搭建教程

First. 环境

+

电脑一枚, QQ 最新版,以及一个科学的上网环境,加一个灵活的双手

+

Second.电脑登入 QQ,并再手机上开启自动登入,然后退出 QQ(是退出程序,不是退出登入哈😊)

+

Than.下载最新版 QQ 无头框架 https://github.com/NapNeko/NapCatQQ-Desktop/releases,然后启动,点击 Napcat,点击下载,然后等待下载完成,然后添加机器人,名称随便写,机器人 QQ 号就填你刚才电脑登入的那个 QQ 号,其他的不用管,点击连接配置,点击 websocket 服务,点击启用,主机填 127.0.0.1,端口填 6700,最后点击添加到机器人列表,启动,便可以了,后续可自行对接插件

+
记 QQ 无头机器人搭建教程
https://blog.tutuxka.eu.org/posts/427ff66d.html
作者
兔兔博客🇨🇳
发布于
2024-07-26
更新于
2024-07-26
许可协议
CC BY-NC-SA 4.0

评论
avatar
🐟认真内卷中
兔兔博客🇨🇳
万事都要全力以赴,包括开心
前往小窝
公告栏
--- 主域名 ---
blog.tutuxka.eu.org
--- 备用域名 ---
netlify.tutuxka.eu.org🍧
微博热搜
\ No newline at end of file diff --git a/posts/4ecf8221.html b/posts/4ecf8221.html new file mode 100644 index 00000000..06ed7091 --- /dev/null +++ b/posts/4ecf8221.html @@ -0,0 +1,385 @@ +
自建腾讯地理位置api | 兔兔博客🇨🇳 + + + + + + + + + + + + + +

自建腾讯地理位置api

祝大家双节快乐,这里分享一下怎么自己搭建博客首页的地理位置欢迎api

+

首先你要有一个vercel的账号,没有的可以自行百度注册一个

+

然后点击部署

+

部署

+

部署成功和可以自己换一个域名,根据页面内的教程替换代码便可以了。

+
自建腾讯地理位置api
https://blog.tutuxka.eu.org/posts/4ecf8221.html
作者
兔兔博客🇨🇳
发布于
2023-09-30
更新于
2024-01-31
许可协议
CC BY-NC-SA 4.0

评论
avatar
🐟认真内卷中
兔兔博客🇨🇳
万事都要全力以赴,包括开心
前往小窝
公告栏
--- 主域名 ---
blog.tutuxka.eu.org
--- 备用域名 ---
netlify.tutuxka.eu.org🍧
微博热搜
\ No newline at end of file diff --git a/posts/b1d4025b.html b/posts/b1d4025b.html new file mode 100644 index 00000000..1514590a --- /dev/null +++ b/posts/b1d4025b.html @@ -0,0 +1,394 @@ +
hello-world | 兔兔博客🇨🇳 + + + + + + + + + + + + + +

hello-world

Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.

+

Quick Start

+

Create a new post

+
1
$ hexo new "My New Post"
+

More info: Writing

+

Run server

+
1
$ hexo server
+

More info: Server

+

Generate static files

+
1
$ hexo generate
+

More info: Generating

+

Deploy to remote sites

+
1
$ hexo deploy
+

More info: Deployment

+
hello-world
https://blog.tutuxka.eu.org/posts/b1d4025b.html
作者
兔兔博客🇨🇳
发布于
2023-02-09
更新于
2024-08-20
许可协议
CC BY-NC-SA 4.0

评论
\ No newline at end of file diff --git a/posts/fae67b61.html b/posts/fae67b61.html new file mode 100644 index 00000000..98543ee6 --- /dev/null +++ b/posts/fae67b61.html @@ -0,0 +1,406 @@ +
地球online更新 | 兔兔博客🇨🇳 + + + + + + + + + + + + + + +

地球online更新

地球onile将在8.24日00:00分进行版本更新并将于12点开服

+

更新内容:新增核废水太平洋

+

主线任务:活到成年

+

更新团队:🇯🇵

+

更新计划:制造哥斯拉

+

更新内容尽情期待

+

停服补偿:奇异海鲜及墓碑蓝图一份

+

PS:可能由于网络(天气)延迟,导致开服时间推后

+

——地球onile运营团队

+

《地球online》更新预告

+

亲爱的玩家你好:

+

本次更新于8月24日早上7~10点,系统检测到《地球online》玩家对海洋的探索进度低于30%做出此不关服更新

+

新增:

+

绿色的海洋 本次海洋拥有全新元素与新的生物和新的文明遗址

+

地球OL要迎来新的赛季“辐射”

+

1.添加了新的地形“被污染的海”“被污染的土地”

+

2.给人物增添了新的健康条“辐射值”

+

3.盖格计数器被新增词条“必需品”“任务”

+

4.新增词条“辐射”“被污染”

+

5.更多的DNA分支

+

6.将更新大部分设施

+

7.削弱全体玩家

+

8.将“防护服”归为平民用品

+

以上是赛季“辐射”的更新内容

+

祝各位玩家游戏愉快😋

+
地球online更新
https://blog.tutuxka.eu.org/posts/fae67b61.html
作者
兔兔博客🇨🇳
发布于
2023-08-24
更新于
2024-01-26
许可协议
CC BY-NC-SA 4.0

评论
avatar
🐟认真内卷中
兔兔博客🇨🇳
万事都要全力以赴,包括开心
前往小窝
公告栏
--- 主域名 ---
blog.tutuxka.eu.org
--- 备用域名 ---
netlify.tutuxka.eu.org🍧
微博热搜
\ No newline at end of file diff --git a/search.xml b/search.xml new file mode 100644 index 00000000..64200237 --- /dev/null +++ b/search.xml @@ -0,0 +1,98 @@ + + + + + + + 记 QQ 无头机器人搭建教程 + + /posts/427ff66d.html + + First. 环境

电脑一枚, QQ 最新版,以及一个科学的上网环境,加一个灵活的双手

Second.电脑登入 QQ,并再手机上开启自动登入,然后退出 QQ(是退出程序,不是退出登入哈😊)

Than.下载最新版 QQ 无头框架 https://github.com/NapNeko/NapCatQQ-Desktop/releases,然后启动,点击 Napcat,点击下载,然后等待下载完成,然后添加机器人,名称随便写,机器人 QQ 号就填你刚才电脑登入的那个 QQ 号,其他的不用管,点击连接配置,点击 websocket 服务,点击启用,主机填 127.0.0.1,端口填 6700,最后点击添加到机器人列表,启动,便可以了,后续可自行对接插件

]]>
+ + + + + + 教程 + + + +
+ + + + + 自建腾讯地理位置api + + /posts/4ecf8221.html + + 祝大家双节快乐,这里分享一下怎么自己搭建博客首页的地理位置欢迎api

首先你要有一个vercel的账号,没有的可以自行百度注册一个

然后点击部署

部署

部署成功和可以自己换一个域名,根据页面内的教程替换代码便可以了。

]]>
+ + + + + 技术教程 + + + + +
+ + + + + 地球online更新 + + /posts/fae67b61.html + + 地球onile将在8.24日00:00分进行版本更新并将于12点开服

更新内容:新增核废水太平洋

主线任务:活到成年

更新团队:🇯🇵

更新计划:制造哥斯拉

更新内容尽情期待

停服补偿:奇异海鲜及墓碑蓝图一份

PS:可能由于网络(天气)延迟,导致开服时间推后

——地球onile运营团队

《地球online》更新预告

亲爱的玩家你好:

本次更新于8月24日早上7~10点,系统检测到《地球online》玩家对海洋的探索进度低于30%做出此不关服更新

新增:

绿色的海洋 本次海洋拥有全新元素与新的生物和新的文明遗址

地球OL要迎来新的赛季“辐射”

1.添加了新的地形“被污染的海”“被污染的土地”

2.给人物增添了新的健康条“辐射值”

3.盖格计数器被新增词条“必需品”“任务”

4.新增词条“辐射”“被污染”

5.更多的DNA分支

6.将更新大部分设施

7.削弱全体玩家

8.将“防护服”归为平民用品

以上是赛季“辐射”的更新内容

祝各位玩家游戏愉快😋

]]>
+ + + + + + 日本 + + 核废水 + + + +
+ + + + + hello-world + + /posts/b1d4025b.html + + Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.

Quick Start

Create a new post

1
$ hexo new "My New Post"

More info: Writing

Run server

1
$ hexo server

More info: Server

Generate static files

1
$ hexo generate

More info: Generating

Deploy to remote sites

1
$ hexo deploy

More info: Deployment

]]>
+ + + +
+ + + + + 新年快乐 + + /posts/2b9cc7eb.html + + 祝大家新年快乐吧,虽然年已经过完了,但还是要记录一下的

]]>
+ + + + + 生活点滴 + + + + +
+ + + + +
diff --git a/sitemap.xml b/sitemap.xml new file mode 100644 index 00000000..12b6e8eb --- /dev/null +++ b/sitemap.xml @@ -0,0 +1,176 @@ + + + + + https://blog.tutuxka.eu.org/tags/index.html + + 2024-08-20 + + monthly + 0.6 + + + + https://blog.tutuxka.eu.org/personal/about/index.html + + 2024-08-20 + + monthly + 0.6 + + + + https://blog.tutuxka.eu.org/personal/love/index.html + + 2024-08-20 + + monthly + 0.6 + + + + https://blog.tutuxka.eu.org/social/fcircle/index.html + + 2024-08-20 + + monthly + 0.6 + + + + https://blog.tutuxka.eu.org/social/link/index.html + + 2024-08-20 + + monthly + 0.6 + + + + https://blog.tutuxka.eu.org/bangumis/index.html + + 2024-08-20 + + monthly + 0.6 + + + + https://blog.tutuxka.eu.org/categories/index.html + + 2024-08-20 + + monthly + 0.6 + + + + https://blog.tutuxka.eu.org/posts/b1d4025b.html + + 2024-08-20 + + monthly + 0.6 + + + + https://blog.tutuxka.eu.org/posts/427ff66d.html + + 2024-07-26 + + monthly + 0.6 + + + + https://blog.tutuxka.eu.org/time/index.html + + 2024-07-06 + + monthly + 0.6 + + + + https://blog.tutuxka.eu.org/posts/4ecf8221.html + + 2024-01-31 + + monthly + 0.6 + + + + https://blog.tutuxka.eu.org/posts/fae67b61.html + + 2024-01-26 + + monthly + 0.6 + + + + https://blog.tutuxka.eu.org/personal/bb/index.html + + 2023-04-05 + + monthly + 0.6 + + + + https://blog.tutuxka.eu.org/posts/2b9cc7eb.html + + 2023-01-29 + + monthly + 0.6 + + + + + https://blog.tutuxka.eu.org/ + 2024-08-20 + daily + 1.0 + + + + + https://blog.tutuxka.eu.org/tags/%E6%97%A5%E6%9C%AC/ + 2024-08-20 + weekly + 0.2 + + + + https://blog.tutuxka.eu.org/tags/%E6%A0%B8%E5%BA%9F%E6%B0%B4/ + 2024-08-20 + weekly + 0.2 + + + + https://blog.tutuxka.eu.org/tags/%E6%95%99%E7%A8%8B/ + 2024-08-20 + weekly + 0.2 + + + + + + https://blog.tutuxka.eu.org/categories/%E6%8A%80%E6%9C%AF%E6%95%99%E7%A8%8B/ + 2024-08-20 + weekly + 0.2 + + + + https://blog.tutuxka.eu.org/categories/%E7%94%9F%E6%B4%BB%E7%82%B9%E6%BB%B4/ + 2024-08-20 + weekly + 0.2 + + + diff --git a/social/fcircle/index.html b/social/fcircle/index.html new file mode 100644 index 00000000..bd549547 --- /dev/null +++ b/social/fcircle/index.html @@ -0,0 +1,355 @@ +
朋友圈 | 兔兔博客🇨🇳 + + + + + + + + + + + + + +
+ + + + +

评论
avatar
🐟认真内卷中
兔兔博客🇨🇳
万事都要全力以赴,包括开心
前往小窝
公告栏
--- 主域名 ---
blog.tutuxka.eu.org
--- 备用域名 ---
netlify.tutuxka.eu.org🍧
微博热搜
小站资讯
文章数目 :
5
本站总字数 :
701
本站访客数 :
本站总访问量 :
最后更新时间 :
\ No newline at end of file diff --git a/social/link/index.html b/social/link/index.html new file mode 100644 index 00000000..ca8a8ed6 --- /dev/null +++ b/social/link/index.html @@ -0,0 +1,393 @@ +
友人帐 | 兔兔博客🇨🇳 + + + + + + + + + + + + + +

本站友链添加方式:

+ +

加入本站友链方式

+

参照以下格式留言即可

+
1
2
3
4
5
- name: #站点名称
link: #站点链接
avatar: #站长头像
descr: #站点描述
siteshot: #站点截图
+

站点截图可以自己提供,尺寸尽量不要大于 600*600,图片压缩后最好小于200KB。
+未提供站点预览图的,本站会根据贵站链接调用以下 API 自动获取贵站的站点截图。
+对于做了反扒措施的站点,API 获取的将是反扒页面,望知悉。
+站点截图建议使用以下 API 获取以匹配本站样式
+有部分朋友的截图体积过大影响加载速度,后面一律采用小体积截图代替望周知

+
1
https://image.thum.io/get/allowJPG/wait/20/width/600/crop/950/https://<你的域名>/
+

🎉本站支持交换友链,在您提出申请之前,请将本站添加至友链
+🥗为了保障本站用户,本站仅支持个人网站的友链申请
+🍧申请本站友链需要拥有独立域名(非免费域名),建议开启全站HTTPS
+🥫如果友情链接已经添加,请保持网站的正常访问,会定期清理僵尸网站
+🍖网站有一定的实质性内容和主题,不能是空壳网站和练手网站
+💕感谢您对本站的支持,如果您已经满足上述要求,请在下方表单提交友链申请~~~

+
+
+ + +

评论
avatar
🐟认真内卷中
兔兔博客🇨🇳
万事都要全力以赴,包括开心
前往小窝
公告栏
--- 主域名 ---
blog.tutuxka.eu.org
--- 备用域名 ---
netlify.tutuxka.eu.org🍧
微博热搜
小站资讯
文章数目 :
5
本站总字数 :
701
本站访客数 :
本站总访问量 :
最后更新时间 :
\ No newline at end of file diff --git a/tags/index.html b/tags/index.html new file mode 100644 index 00000000..5cf52964 --- /dev/null +++ b/tags/index.html @@ -0,0 +1,291 @@ +
标签 | 兔兔博客🇨🇳 + + + + + + + + + + + + + +
avatar
🐟认真内卷中
兔兔博客🇨🇳
万事都要全力以赴,包括开心
前往小窝
公告栏
--- 主域名 ---
blog.tutuxka.eu.org
--- 备用域名 ---
netlify.tutuxka.eu.org🍧
微博热搜
小站资讯
文章数目 :
5
本站总字数 :
701
本站访客数 :
本站总访问量 :
最后更新时间 :
\ No newline at end of file diff --git "a/tags/\346\225\231\347\250\213/index.html" "b/tags/\346\225\231\347\250\213/index.html" new file mode 100644 index 00000000..370e2c84 --- /dev/null +++ "b/tags/\346\225\231\347\250\213/index.html" @@ -0,0 +1,289 @@ +
标签: 教程 | 兔兔博客🇨🇳 + + + + + + + + + + + +
标签 - 教程
2024
记 QQ 无头机器人搭建教程
记 QQ 无头机器人搭建教程
avatar
🐟认真内卷中
兔兔博客🇨🇳
万事都要全力以赴,包括开心
前往小窝
公告栏
--- 主域名 ---
blog.tutuxka.eu.org
--- 备用域名 ---
netlify.tutuxka.eu.org🍧
微博热搜
小站资讯
文章数目 :
5
本站总字数 :
701
本站访客数 :
本站总访问量 :
最后更新时间 :
\ No newline at end of file diff --git "a/tags/\346\227\245\346\234\254/index.html" "b/tags/\346\227\245\346\234\254/index.html" new file mode 100644 index 00000000..be91b76b --- /dev/null +++ "b/tags/\346\227\245\346\234\254/index.html" @@ -0,0 +1,289 @@ +
标签: 日本 | 兔兔博客🇨🇳 + + + + + + + + + + + +
标签 - 日本
2023
地球online更新
地球online更新
avatar
🐟认真内卷中
兔兔博客🇨🇳
万事都要全力以赴,包括开心
前往小窝
公告栏
--- 主域名 ---
blog.tutuxka.eu.org
--- 备用域名 ---
netlify.tutuxka.eu.org🍧
微博热搜
小站资讯
文章数目 :
5
本站总字数 :
701
本站访客数 :
本站总访问量 :
最后更新时间 :
\ No newline at end of file diff --git "a/tags/\346\240\270\345\272\237\346\260\264/index.html" "b/tags/\346\240\270\345\272\237\346\260\264/index.html" new file mode 100644 index 00000000..c09a9896 --- /dev/null +++ "b/tags/\346\240\270\345\272\237\346\260\264/index.html" @@ -0,0 +1,289 @@ +
标签: 核废水 | 兔兔博客🇨🇳 + + + + + + + + + + + +
标签 - 核废水
2023
地球online更新
地球online更新
avatar
🐟认真内卷中
兔兔博客🇨🇳
万事都要全力以赴,包括开心
前往小窝
公告栏
--- 主域名 ---
blog.tutuxka.eu.org
--- 备用域名 ---
netlify.tutuxka.eu.org🍧
微博热搜
小站资讯
文章数目 :
5
本站总字数 :
701
本站访客数 :
本站总访问量 :
最后更新时间 :
\ No newline at end of file diff --git a/time/index.html b/time/index.html new file mode 100644 index 00000000..886e7f88 --- /dev/null +++ b/time/index.html @@ -0,0 +1,301 @@ +
旧时光 | 兔兔博客🇨🇳 + + + + + + + + + + + + + +

小站建设进程

+

2023-2-9

+
    +
  1. 兔兔博客启动啦
  2. +
  3. 修了一下bug
  4. +
  5. 紧急修复了图床失效问题
  6. +
  7. 更新了一些小功能
  8. +
  9. 7.6 重构了博客,优化了访问速度,修复了一些失效图片
  10. +
+
+
avatar
🐟认真内卷中
兔兔博客🇨🇳
万事都要全力以赴,包括开心
前往小窝
公告栏
--- 主域名 ---
blog.tutuxka.eu.org
--- 备用域名 ---
netlify.tutuxka.eu.org🍧
微博热搜
小站资讯
文章数目 :
5
本站总字数 :
701
本站访客数 :
本站总访问量 :
最后更新时间 :
\ No newline at end of file