├── IMG
├── bq
│ ├── OK.png
│ ├── a.png
│ ├── ku.png
│ ├── nu.png
│ ├── tu.png
│ ├── 233.png
│ ├── aixin.png
│ ├── bishi.png
│ ├── dese.png
│ ├── guai.png
│ ├── haha.png
│ ├── han.png
│ ├── hehe.png
│ ├── hlj.png
│ ├── huaji.png
│ ├── lazhu.png
│ ├── lei.png
│ ├── liwu.png
│ ├── pen.png
│ ├── ruo.png
│ ├── shafa.png
│ ├── tushe.png
│ ├── wabi.png
│ ├── weiqu.png
│ ├── what.png
│ ├── xili.png
│ ├── yiwen.png
│ ├── biexiao.png
│ ├── caihong.png
│ ├── chabei.png
│ ├── chigua.png
│ ├── chigua2.png
│ ├── damuzhi.png
│ ├── dangao.png
│ ├── dengpao.png
│ ├── heixian.png
│ ├── huaxin.png
│ ├── jingku.png
│ ├── jingya.png
│ ├── landeli.png
│ ├── meigui.png
│ ├── qianbi.png
│ ├── shengli.png
│ ├── shouzhi.png
│ ├── taiyang.png
│ ├── toukan.png
│ ├── xiaoyan.png
│ ├── xinsui.png
│ ├── yaowan.png
│ ├── yingyue.png
│ ├── yinxian.png
│ ├── bianbian.png
│ ├── bugaoxin.png
│ ├── chaiquan.png
│ ├── chaiquan_3.png
│ ├── chaiquanku.png
│ ├── chixiang.png
│ ├── hemenjiu.png
│ ├── huaji_djy.png
│ ├── huaji_han.png
│ ├── huaji_mj.png
│ ├── huaji_pc.png
│ ├── huaji_xiao.png
│ ├── kuanghan.png
│ ├── mianqiang.png
│ ├── nidongde.png
│ ├── shuijiao.png
│ ├── suanshuang.png
│ ├── taikaixin.png
│ ├── wuzuixiao.png
│ ├── xiangjiao.png
│ ├── xiaoguai.png
│ ├── xiaoniao.png
│ ├── yamiedie.png
│ ├── zhenbang.png
│ ├── chaiquan_gh.png
│ ├── chaiquan_han.png
│ ├── huaji_shang.png
│ ├── xiaohonglian.png
│ ├── chaiquan_hufen.png
│ ├── chaiquan_mask.png
│ ├── chaiquan_melon.png
│ ├── chaiquan_red_1.png
│ ├── chaiquanzaijian.png
│ ├── chaoquan_love.png
│ ├── xinxinyueliang.png
│ └── chaiquanbugaoxin.png
├── down.png
├── upyun.png
├── down-hover.png
├── up.svg
├── down.svg
├── notice.svg
├── dot.svg
├── menu.svg
├── warn.svg
└── reply.svg
├── screenshot.png
├── .gitattributes
├── 404.php
├── welcome.php
├── nav.php
├── index.php
├── IndexSwitcher.php
├── archive.php
├── README.md
├── link.php
├── LICENSE
├── page.php
├── post.php
├── CSS
├── nprogress.css
├── setting.css
├── shortcode.white.css
├── toastr.min.css
├── prism.css
├── jquery.fancybox.min.css
└── OwO.min.css
├── footer.php
├── lib
├── shortcode.php
└── shortcode.main.php
├── archives.php
├── comments.php
├── JS
├── toastr.min.js
├── jquery.pjax.min.js
├── X.js
├── clipboard.min.js
└── nprogress.js
├── header.php
├── owo.php
└── functions.php
/IMG/bq/OK.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/OK.png
--------------------------------------------------------------------------------
/IMG/bq/a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/a.png
--------------------------------------------------------------------------------
/IMG/bq/ku.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/ku.png
--------------------------------------------------------------------------------
/IMG/bq/nu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/nu.png
--------------------------------------------------------------------------------
/IMG/bq/tu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/tu.png
--------------------------------------------------------------------------------
/IMG/down.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/down.png
--------------------------------------------------------------------------------
/IMG/upyun.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/upyun.png
--------------------------------------------------------------------------------
/IMG/bq/233.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/233.png
--------------------------------------------------------------------------------
/IMG/bq/aixin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/aixin.png
--------------------------------------------------------------------------------
/IMG/bq/bishi.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/bishi.png
--------------------------------------------------------------------------------
/IMG/bq/dese.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/dese.png
--------------------------------------------------------------------------------
/IMG/bq/guai.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/guai.png
--------------------------------------------------------------------------------
/IMG/bq/haha.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/haha.png
--------------------------------------------------------------------------------
/IMG/bq/han.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/han.png
--------------------------------------------------------------------------------
/IMG/bq/hehe.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/hehe.png
--------------------------------------------------------------------------------
/IMG/bq/hlj.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/hlj.png
--------------------------------------------------------------------------------
/IMG/bq/huaji.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/huaji.png
--------------------------------------------------------------------------------
/IMG/bq/lazhu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/lazhu.png
--------------------------------------------------------------------------------
/IMG/bq/lei.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/lei.png
--------------------------------------------------------------------------------
/IMG/bq/liwu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/liwu.png
--------------------------------------------------------------------------------
/IMG/bq/pen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/pen.png
--------------------------------------------------------------------------------
/IMG/bq/ruo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/ruo.png
--------------------------------------------------------------------------------
/IMG/bq/shafa.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/shafa.png
--------------------------------------------------------------------------------
/IMG/bq/tushe.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/tushe.png
--------------------------------------------------------------------------------
/IMG/bq/wabi.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/wabi.png
--------------------------------------------------------------------------------
/IMG/bq/weiqu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/weiqu.png
--------------------------------------------------------------------------------
/IMG/bq/what.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/what.png
--------------------------------------------------------------------------------
/IMG/bq/xili.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/xili.png
--------------------------------------------------------------------------------
/IMG/bq/yiwen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/yiwen.png
--------------------------------------------------------------------------------
/screenshot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/screenshot.png
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | # Auto detect text files and perform LF normalization
2 | * text=auto
3 |
--------------------------------------------------------------------------------
/IMG/bq/biexiao.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/biexiao.png
--------------------------------------------------------------------------------
/IMG/bq/caihong.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/caihong.png
--------------------------------------------------------------------------------
/IMG/bq/chabei.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/chabei.png
--------------------------------------------------------------------------------
/IMG/bq/chigua.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/chigua.png
--------------------------------------------------------------------------------
/IMG/bq/chigua2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/chigua2.png
--------------------------------------------------------------------------------
/IMG/bq/damuzhi.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/damuzhi.png
--------------------------------------------------------------------------------
/IMG/bq/dangao.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/dangao.png
--------------------------------------------------------------------------------
/IMG/bq/dengpao.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/dengpao.png
--------------------------------------------------------------------------------
/IMG/bq/heixian.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/heixian.png
--------------------------------------------------------------------------------
/IMG/bq/huaxin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/huaxin.png
--------------------------------------------------------------------------------
/IMG/bq/jingku.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/jingku.png
--------------------------------------------------------------------------------
/IMG/bq/jingya.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/jingya.png
--------------------------------------------------------------------------------
/IMG/bq/landeli.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/landeli.png
--------------------------------------------------------------------------------
/IMG/bq/meigui.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/meigui.png
--------------------------------------------------------------------------------
/IMG/bq/qianbi.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/qianbi.png
--------------------------------------------------------------------------------
/IMG/bq/shengli.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/shengli.png
--------------------------------------------------------------------------------
/IMG/bq/shouzhi.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/shouzhi.png
--------------------------------------------------------------------------------
/IMG/bq/taiyang.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/taiyang.png
--------------------------------------------------------------------------------
/IMG/bq/toukan.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/toukan.png
--------------------------------------------------------------------------------
/IMG/bq/xiaoyan.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/xiaoyan.png
--------------------------------------------------------------------------------
/IMG/bq/xinsui.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/xinsui.png
--------------------------------------------------------------------------------
/IMG/bq/yaowan.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/yaowan.png
--------------------------------------------------------------------------------
/IMG/bq/yingyue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/yingyue.png
--------------------------------------------------------------------------------
/IMG/bq/yinxian.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/yinxian.png
--------------------------------------------------------------------------------
/IMG/down-hover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/down-hover.png
--------------------------------------------------------------------------------
/IMG/bq/bianbian.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/bianbian.png
--------------------------------------------------------------------------------
/IMG/bq/bugaoxin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/bugaoxin.png
--------------------------------------------------------------------------------
/IMG/bq/chaiquan.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/chaiquan.png
--------------------------------------------------------------------------------
/IMG/bq/chaiquan_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/chaiquan_3.png
--------------------------------------------------------------------------------
/IMG/bq/chaiquanku.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/chaiquanku.png
--------------------------------------------------------------------------------
/IMG/bq/chixiang.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/chixiang.png
--------------------------------------------------------------------------------
/IMG/bq/hemenjiu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/hemenjiu.png
--------------------------------------------------------------------------------
/IMG/bq/huaji_djy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/huaji_djy.png
--------------------------------------------------------------------------------
/IMG/bq/huaji_han.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/huaji_han.png
--------------------------------------------------------------------------------
/IMG/bq/huaji_mj.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/huaji_mj.png
--------------------------------------------------------------------------------
/IMG/bq/huaji_pc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/huaji_pc.png
--------------------------------------------------------------------------------
/IMG/bq/huaji_xiao.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/huaji_xiao.png
--------------------------------------------------------------------------------
/IMG/bq/kuanghan.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/kuanghan.png
--------------------------------------------------------------------------------
/IMG/bq/mianqiang.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/mianqiang.png
--------------------------------------------------------------------------------
/IMG/bq/nidongde.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/nidongde.png
--------------------------------------------------------------------------------
/IMG/bq/shuijiao.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/shuijiao.png
--------------------------------------------------------------------------------
/IMG/bq/suanshuang.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/suanshuang.png
--------------------------------------------------------------------------------
/IMG/bq/taikaixin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/taikaixin.png
--------------------------------------------------------------------------------
/IMG/bq/wuzuixiao.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/wuzuixiao.png
--------------------------------------------------------------------------------
/IMG/bq/xiangjiao.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/xiangjiao.png
--------------------------------------------------------------------------------
/IMG/bq/xiaoguai.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/xiaoguai.png
--------------------------------------------------------------------------------
/IMG/bq/xiaoniao.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/xiaoniao.png
--------------------------------------------------------------------------------
/IMG/bq/yamiedie.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/yamiedie.png
--------------------------------------------------------------------------------
/IMG/bq/zhenbang.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/zhenbang.png
--------------------------------------------------------------------------------
/IMG/bq/chaiquan_gh.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/chaiquan_gh.png
--------------------------------------------------------------------------------
/IMG/bq/chaiquan_han.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/chaiquan_han.png
--------------------------------------------------------------------------------
/IMG/bq/huaji_shang.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/huaji_shang.png
--------------------------------------------------------------------------------
/IMG/bq/xiaohonglian.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/xiaohonglian.png
--------------------------------------------------------------------------------
/IMG/bq/chaiquan_hufen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/chaiquan_hufen.png
--------------------------------------------------------------------------------
/IMG/bq/chaiquan_mask.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/chaiquan_mask.png
--------------------------------------------------------------------------------
/IMG/bq/chaiquan_melon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/chaiquan_melon.png
--------------------------------------------------------------------------------
/IMG/bq/chaiquan_red_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/chaiquan_red_1.png
--------------------------------------------------------------------------------
/IMG/bq/chaiquanzaijian.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/chaiquanzaijian.png
--------------------------------------------------------------------------------
/IMG/bq/chaoquan_love.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/chaoquan_love.png
--------------------------------------------------------------------------------
/IMG/bq/xinxinyueliang.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/xinxinyueliang.png
--------------------------------------------------------------------------------
/IMG/bq/chaiquanbugaoxin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hiPsyDuck/white/HEAD/IMG/bq/chaiquanbugaoxin.png
--------------------------------------------------------------------------------
/404.php:
--------------------------------------------------------------------------------
1 | need('header.php'); ?>
2 |
3 |
一片空白
4 |
5 | need('footer.php'); ?>
6 |
--------------------------------------------------------------------------------
/welcome.php:
--------------------------------------------------------------------------------
1 | need('header.php');
8 | ?>
9 |
10 |
11 |
12 | content();?>
13 |
14 |
15 |
16 | need('footer.php'); ?>
17 |
--------------------------------------------------------------------------------
/nav.php:
--------------------------------------------------------------------------------
1 | 首页
2 |
3 | 留言
4 |
5 | 归档
6 |
7 | 邻居
8 |
9 | 关于
--------------------------------------------------------------------------------
/IMG/up.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/index.php:
--------------------------------------------------------------------------------
1 | need('header.php');
13 | ?>
14 |
15 |
16 |
17 | need('IndexSwitcher.php'); ?>
18 |
19 |
20 | pageLink('下一页','next'); ?>
21 | pageLink('上一页','prev'); ?>
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 | need('footer.php'); ?>
31 |
--------------------------------------------------------------------------------
/IndexSwitcher.php:
--------------------------------------------------------------------------------
1 |
8 |
9 | next()): ?>
10 |
11 |
12 |
title() ?>
13 |
excerpt(80);?>
14 |
date('Y年m月d日'); ?> commentsNum(); ?> 评论
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/archive.php:
--------------------------------------------------------------------------------
1 | need('header.php'); ?>
2 |
3 |
4 |
5 |
6 |
7 |
archiveTitle(array('category' => _t('「%s」'), 'search' => _t('包含关键字「%s」的文章'), 'tag' => _t('「%s」'), 'author' => _t('「%s」 发布的文章')), '', ''); ?>
8 | need('IndexSwitcher.php'); ?>
9 |
10 | pageLink('更多 >','next'); ?>
11 | pageLink('< 返回','prev'); ?>
12 |
13 |
14 |
15 |
16 |
17 | need('footer.php'); ?>
18 |
--------------------------------------------------------------------------------
/IMG/down.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | ## white
2 |
3 | typecho 主题 白
4 |
5 | 下载解压后将文件夹改名为`white`, 放入/usr/themes,进入后台启用。
6 |
7 | 添加独立页面`bb.html` `archive.html` `links.html` `about.html` 分别对应底部导航栏的 `留言` `归档` `邻居` `关于`
8 |
9 |
10 | 推荐安装插件: Links | CommentToMail
11 |
12 |
13 | ## 更新记录
14 |
15 | | 日期 | 更新内容 |
16 | | ---- | ---- |
17 | | 2021-05-23 | 增加又拍云联盟开关,开启后底部展示|
18 | | 2021-02-21 | 导航栏位置可选,页角阴影设置,修复代码块样式丢失问题,文章标题自豪差异更明显,调整手机和ipad适配问题|
19 | | 2021-02-18 | 修复部分样式 |
20 | | 2020-12-30 | 单反引号代码块适配 |
21 | | 2020-12-26 | 评论新增状态进度条 |
22 | | 2020-12-22 | 修复评论按钮bug,新增邮件接收开关,优化部分样式 |
23 |
24 | ## 在线演示
25 |
26 | https://psyduck.liujiayang.cn/
27 |
28 |
29 | ## 截图
30 |
31 | 
32 |
33 | ## 感谢
34 |
35 | 特别鸣谢 [youranreus](https://github.com/youranreus/G) 的G主题
36 |
37 | **本主题由 G主题 魔改**
38 |
--------------------------------------------------------------------------------
/IMG/notice.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/link.php:
--------------------------------------------------------------------------------
1 | need('header.php');
8 | ?>
9 |
10 |
11 |
邻居
12 |
13 | content;
15 | emotionContent($content,$this->options->themeUrl);
16 | ?>
17 |
18 |
35 |
36 |
37 | need('footer.php'); ?>
38 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2020 psyduck
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
--------------------------------------------------------------------------------
/IMG/dot.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/IMG/menu.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/IMG/warn.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/page.php:
--------------------------------------------------------------------------------
1 |
2 | need('header.php');
4 | ?>
5 |
6 |
18 |
19 |
20 |
28 |
29 |
30 | content;
32 | emotionContent($content,$this->options->themeUrl);
33 | ?>
34 |
35 |
36 |
37 | options->feedIMG): ?>
38 |
喝杯水
39 |
40 |
41 |
42 |
43 |
44 |
48 |
49 |
50 |
51 | need('comments.php'); ?>
52 |
53 | need('footer.php'); ?>
54 |
--------------------------------------------------------------------------------
/post.php:
--------------------------------------------------------------------------------
1 |
2 | need('header.php');
4 | ?>
5 |
6 |
18 |
19 |
20 |
28 |
29 |
30 | content;
32 | emotionContent($content,$this->options->themeUrl);
33 | ?>
34 |
35 |
36 |
37 | options->feedIMG): ?>
38 |
喝杯水
39 |
40 |
41 |
42 |
43 |
44 |
48 |
49 |
50 |
51 | need('comments.php'); ?>
52 |
53 | need('footer.php'); ?>
54 |
--------------------------------------------------------------------------------
/CSS/nprogress.css:
--------------------------------------------------------------------------------
1 | /* Make clicks pass-through */
2 | #nprogress {
3 | pointer-events: none;
4 | }
5 |
6 | #nprogress .bar {
7 | background: #29d;
8 |
9 | position: fixed;
10 | z-index: 1031;
11 | top: 0;
12 | left: 0;
13 |
14 | width: 100%;
15 | height: 2px;
16 | }
17 |
18 | /* Fancy blur effect */
19 | #nprogress .peg {
20 | display: block;
21 | position: absolute;
22 | right: 0px;
23 | width: 100px;
24 | height: 100%;
25 | box-shadow: 0 0 10px #29d, 0 0 5px #29d;
26 | opacity: 1.0;
27 |
28 | -webkit-transform: rotate(3deg) translate(0px, -4px);
29 | -ms-transform: rotate(3deg) translate(0px, -4px);
30 | transform: rotate(3deg) translate(0px, -4px);
31 | }
32 |
33 | /* Remove these to get rid of the spinner */
34 | #nprogress .spinner {
35 | display: block;
36 | position: fixed;
37 | z-index: 1031;
38 | top: 15px;
39 | right: 15px;
40 | }
41 |
42 | #nprogress .spinner-icon {
43 | width: 18px;
44 | height: 18px;
45 | box-sizing: border-box;
46 |
47 | border: solid 2px transparent;
48 | border-top-color: #29d;
49 | border-left-color: #29d;
50 | border-radius: 50%;
51 |
52 | -webkit-animation: nprogress-spinner 400ms linear infinite;
53 | animation: nprogress-spinner 400ms linear infinite;
54 | }
55 |
56 | .nprogress-custom-parent {
57 | overflow: hidden;
58 | position: relative;
59 | }
60 |
61 | .nprogress-custom-parent #nprogress .spinner,
62 | .nprogress-custom-parent #nprogress .bar {
63 | position: absolute;
64 | }
65 |
66 | @-webkit-keyframes nprogress-spinner {
67 | 0% { -webkit-transform: rotate(0deg); }
68 | 100% { -webkit-transform: rotate(360deg); }
69 | }
70 | @keyframes nprogress-spinner {
71 | 0% { transform: rotate(0deg); }
72 | 100% { transform: rotate(360deg); }
73 | }
74 |
75 |
--------------------------------------------------------------------------------
/IMG/reply.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/CSS/setting.css:
--------------------------------------------------------------------------------
1 | /**
2 | * @name: setting.css
3 | * @description: 主题white 设置 样式表
4 | * @author: psyduck(gdfs1996@qq.com)
5 | * @update: 2020-07-15
6 | */
7 |
8 | /**
9 | * 清除自带样式
10 | */
11 | .typecho-option-tabs,.typecho-page-title,.typecho-foot{
12 | display: none!important;
13 | }
14 | .typecho-option{
15 | padding:20px;
16 | background: rgb(250,250,250);
17 | border:1px solid #d6d7d9;
18 | border-radius: 15px;
19 | }
20 | .main{
21 | background: white;
22 | position: relative;
23 | }
24 | form{
25 | margin-bottom:100px;
26 | position: relative;
27 | z-index:2;
28 | }
29 | #art-box{
30 | border-radius: 15px;
31 | overflow: hidden;
32 | background: #fff no-repeat center;
33 | background-size: cover;
34 | position: relative;
35 | margin-top: 3rem;
36 | }
37 | #ab-content{
38 | padding: 2rem 2rem;
39 | text-align: center;
40 | display: table-cell;
41 | width: 100%;
42 | height: 100%;
43 | vertical-align: middle;
44 | }
45 | #ab-mask{
46 | background: rgba(0,0,0,0.25);
47 | position: relative;
48 | z-index: 10;
49 | display: table;
50 | vertical-align: middle;
51 | width: 100%;
52 | height: 15.5rem;
53 | }
54 |
55 | #ab-content p{
56 | font-size: 4rem;
57 | text-align: center;
58 | color:white;
59 | }
60 | #ab-content p a{
61 | font-weight: 400;
62 | color:white;
63 | }
64 | input.text{
65 | display: inline-block;
66 | -webkit-box-sizing: border-box;
67 | -moz-box-sizing: border-box;
68 | box-sizing: border-box;
69 | padding: .5em .6em;
70 | border: 0;
71 | outline:none;
72 | background: rgba(250,250,250,1);
73 | border-bottom: 2px solid #444;
74 | color: #43454A;
75 | }
76 | @media screen and (max-width: 768px) {
77 | #ab-mask{
78 | width: 100%;
79 | height: 7rem;
80 | }
81 |
82 | #ab-content p{
83 | font-size: 2rem;
84 | text-align: center;
85 | color:white;
86 | }
87 | }
88 |
--------------------------------------------------------------------------------
/footer.php:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
77 |
78 |
79 |
84 |
85 |
86 |
224 |
225 |
226 |
227 |
228 |
229 |
257 |
258 |
259 |
260 |
261 |
262 |
--------------------------------------------------------------------------------
/CSS/toastr.min.css:
--------------------------------------------------------------------------------
1 | /*
* Note that this is toastr v2.1.3, the "latest" version in url has no more maintenance,
* please go to https://cdnjs.com/libraries/toastr.js and pick a certain version you want to use,
* make sure you copy the url from the website since the url may change between versions.
* */
.toast-title{font-weight:700}.toast-message{-ms-word-wrap:break-word;word-wrap:break-word}.toast-message a,.toast-message label{color:#FFF}.toast-message a:hover{color:#CCC;text-decoration:none}.toast-close-button{position:relative;right:-.3em;top:-.3em;float:right;font-size:20px;font-weight:700;color:#FFF;-webkit-text-shadow:0 1px 0 #fff;text-shadow:0 1px 0 #fff;opacity:.8;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=80);filter:alpha(opacity=80);line-height:1}.toast-close-button:focus,.toast-close-button:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.4;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=40);filter:alpha(opacity=40)}.rtl .toast-close-button{left:-.3em;float:left;right:.3em}button.toast-close-button{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none}.toast-top-center{top:0;right:0;width:100%}.toast-bottom-center{bottom:0;right:0;width:100%}.toast-top-full-width{top:0;right:0;width:100%}.toast-bottom-full-width{bottom:0;right:0;width:100%}.toast-top-left{top:12px;left:12px}.toast-top-right{top:12px;right:12px}.toast-bottom-right{right:12px;bottom:12px}.toast-bottom-left{bottom:12px;left:12px}#toast-container{position:fixed;z-index:999999;pointer-events:none}#toast-container *{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}#toast-container>div{position:relative;pointer-events:auto;overflow:hidden;margin:0 0 6px;padding:15px 15px 15px 50px;width:300px;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;background-position:15px center;background-repeat:no-repeat;-moz-box-shadow:0 0 12px #999;-webkit-box-shadow:0 0 12px #999;box-shadow:0 0 12px #999;color:#FFF;opacity:.8;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=80);filter:alpha(opacity=80)}#toast-container>div.rtl{direction:rtl;padding:15px 50px 15px 15px;background-position:right 15px center}#toast-container>div:hover{-moz-box-shadow:0 0 12px #000;-webkit-box-shadow:0 0 12px #000;box-shadow:0 0 12px #000;opacity:1;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=100);filter:alpha(opacity=100);cursor:pointer}#toast-container>.toast-info{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=)!important}#toast-container>.toast-error{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=)!important}#toast-container>.toast-success{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg==)!important}#toast-container>.toast-warning{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII=)!important}#toast-container.toast-bottom-center>div,#toast-container.toast-top-center>div{width:300px;margin-left:auto;margin-right:auto}#toast-container.toast-bottom-full-width>div,#toast-container.toast-top-full-width>div{width:96%;margin-left:auto;margin-right:auto}.toast{background-color:#030303}.toast-success{background-color:#51A351}.toast-error{background-color:#BD362F}.toast-info{background-color:#2F96B4}.toast-warning{background-color:#F89406}.toast-progress{position:absolute;left:0;bottom:0;height:4px;background-color:#000;opacity:.4;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=40);filter:alpha(opacity=40)}@media all and (max-width:240px){#toast-container>div{padding:8px 8px 8px 50px;width:11em}#toast-container>div.rtl{padding:8px 50px 8px 8px}#toast-container .toast-close-button{right:-.2em;top:-.2em}#toast-container .rtl .toast-close-button{left:-.2em;right:.2em}}@media all and (min-width:241px) and (max-width:480px){#toast-container>div{padding:8px 8px 8px 50px;width:18em}#toast-container>div.rtl{padding:8px 50px 8px 8px}#toast-container .toast-close-button{right:-.2em;top:-.2em}#toast-container .rtl .toast-close-button{left:-.2em;right:.2em}}@media all and (min-width:481px) and (max-width:768px){#toast-container>div{padding:15px 15px 15px 50px;width:25em}#toast-container>div.rtl{padding:15px 50px 15px 15px}}
--------------------------------------------------------------------------------
/CSS/prism.css:
--------------------------------------------------------------------------------
1 | /* PrismJS 1.15.0
2 | https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript+c+ruby+docker+markup-templating+git+go+http+java+json+nginx+php+php-extras+scss+python+sass+swift+yaml&plugins=line-numbers+toolbar+autoloader+show-language+copy-to-clipboard */
3 | /**
4 | * prism.js default theme for JavaScript, CSS and HTML
5 | * Based on dabblet (http://dabblet.com)
6 | * @author Lea Verou
7 | */
8 |
9 | code[class*="language-"],
10 | pre[class*="language-"] {
11 | color: #333;
12 | background: none;
13 | text-shadow: 0 1px white;
14 | font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
15 | text-align: left;
16 | white-space: pre;
17 | word-spacing: normal;
18 | word-break: normal;
19 | word-wrap: normal;
20 | line-height: 1.5;
21 |
22 | -moz-tab-size: 4;
23 | -o-tab-size: 4;
24 | tab-size: 4;
25 |
26 | -webkit-hyphens: none;
27 | -moz-hyphens: none;
28 | -ms-hyphens: none;
29 | hyphens: none;
30 | }
31 |
32 | pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection,
33 | code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection {
34 | text-shadow: none;
35 | background: #b3d4fc;
36 | }
37 |
38 | pre[class*="language-"]::selection, pre[class*="language-"] ::selection,
39 | code[class*="language-"]::selection, code[class*="language-"] ::selection {
40 | text-shadow: none;
41 | background: #b3d4fc;
42 | }
43 |
44 | @media print {
45 | code[class*="language-"],
46 | pre[class*="language-"] {
47 | text-shadow: none;
48 | }
49 | }
50 |
51 | /* Code blocks */
52 | pre[class*="language-"] {
53 | padding: 1em;
54 | margin: .5em 0;
55 | overflow: auto;
56 | /*border-radius: 15px;*/
57 | }
58 |
59 | :not(pre) > code[class*="language-"],
60 | pre[class*="language-"] {
61 | background: #f5f2f0;
62 | /*border-radius: 15px;*/
63 | }
64 |
65 |
66 | :not(pre) > code[class*="language-"]::-webkit-scrollbar,
67 | pre[class*="language-"]::-webkit-scrollbar {
68 | /*滚动条整体样式*/
69 | width: 4px; /*高宽分别对应横竖滚动条的尺寸*/
70 | height: 4px;
71 | }
72 | :not(pre) > code[class*="language-"]::-webkit-scrollbar-thumb,
73 | pre[class*="language-"]::-webkit-scrollbar-thumb {
74 | /*滚动条里面小方块*/
75 | border-radius: 5px;
76 | background: rgba(12,105,27,0.1);
77 | transition:all .24s ease;
78 | }
79 | :not(pre) > code[class*="language-"]::-webkit-scrollbar-thumb:hover,
80 | pre[class*="language-"]::-webkit-scrollbar-thumb:hover {
81 | background: rgba(12,105,27,0.8);
82 | transition:all .24s ease;
83 | }
84 | :not(pre) > code[class*="language-"]::-webkit-scrollbar-track,
85 | pre[class*="language-"]::-webkit-scrollbar-track{
86 | /*滚动条里面轨道*/
87 | /* -webkit-box-shadow: inset 0 0 5px rgba(72,184,48,0.2); */
88 | border-radius: 0;
89 | background: rgba(255,255,255,0.1);
90 | }
91 |
92 |
93 |
94 |
95 |
96 | /* Inline code */
97 | :not(pre) > code[class*="language-"] {
98 | padding: .1em;
99 | border-radius: .3em;
100 | white-space: normal;
101 | }
102 |
103 | .token.comment,
104 | .token.prolog,
105 | .token.doctype,
106 | .token.cdata {
107 | color: slategray;
108 | }
109 |
110 | .token.punctuation {
111 | color: #999;
112 | }
113 |
114 | .namespace {
115 | opacity: .7;
116 | }
117 |
118 | .token.property,
119 | .token.tag,
120 | .token.boolean,
121 | .token.number,
122 | .token.constant,
123 | .token.symbol,
124 | .token.deleted {
125 | color: #905;
126 | }
127 |
128 | .token.selector,
129 | .token.attr-name,
130 | .token.string,
131 | .token.char,
132 | .token.builtin,
133 | .token.inserted {
134 | color: #690;
135 | }
136 |
137 | .token.operator,
138 | .token.entity,
139 | .token.url,
140 | .language-css .token.string,
141 | .style .token.string {
142 | color: #9a6e3a;
143 | background: hsla(0, 0%, 100%, .5);
144 | }
145 |
146 | .token.atrule,
147 | .token.attr-value,
148 | .token.keyword {
149 | color: #07a;
150 | }
151 |
152 | .token.function,
153 | .token.class-name {
154 | color: #DD4A68;
155 | }
156 |
157 | .token.regex,
158 | .token.important,
159 | .token.variable {
160 | color: #e90;
161 | }
162 |
163 | .token.important,
164 | .token.bold {
165 | font-weight: bold;
166 | }
167 | .token.italic {
168 | font-style: italic;
169 | }
170 |
171 | .token.entity {
172 | cursor: help;
173 | }
174 |
175 | pre[class*="language-"].line-numbers {
176 | position: relative;
177 | padding-left: 3.8em;
178 | counter-reset: linenumber;
179 | }
180 |
181 | pre[class*="language-"].line-numbers > code {
182 | position: relative;
183 | white-space: inherit;
184 | }
185 |
186 | .line-numbers .line-numbers-rows {
187 | position: absolute;
188 | pointer-events: none;
189 | top: 0;
190 | font-size: 100%;
191 | left: -3.8em;
192 | width: 3em; /* works for line-numbers below 1000 lines */
193 | letter-spacing: -1px;
194 | border-right: 1px solid #999;
195 |
196 | -webkit-user-select: none;
197 | -moz-user-select: none;
198 | -ms-user-select: none;
199 | user-select: none;
200 |
201 | }
202 |
203 | .line-numbers-rows > span {
204 | pointer-events: none;
205 | display: block;
206 | counter-increment: linenumber;
207 | }
208 |
209 | .line-numbers-rows > span:before {
210 | content: counter(linenumber);
211 | color: #999;
212 | display: block;
213 | padding-right: 0.8em;
214 | text-align: right;
215 | }
216 |
217 | div.code-toolbar {
218 | position: relative;
219 | }
220 |
221 | div.code-toolbar > .toolbar {
222 | position: absolute;
223 | top: .3em;
224 | right: .2em;
225 | transition: opacity 0.3s ease-in-out;
226 | opacity: 0;
227 | }
228 |
229 | div.code-toolbar:hover > .toolbar {
230 | opacity: 1;
231 | }
232 |
233 | div.code-toolbar > .toolbar .toolbar-item {
234 | display: inline-block;
235 | }
236 |
237 | div.code-toolbar > .toolbar a {
238 | cursor: pointer;
239 | }
240 |
241 | div.code-toolbar > .toolbar button {
242 | background: none;
243 | border: 0;
244 | color: inherit;
245 | font: inherit;
246 | line-height: normal;
247 | overflow: visible;
248 | padding: 0;
249 | -webkit-user-select: none; /* for button */
250 | -moz-user-select: none;
251 | -ms-user-select: none;
252 | }
253 |
254 | div.code-toolbar > .toolbar a,
255 | div.code-toolbar > .toolbar button,
256 | div.code-toolbar > .toolbar span {
257 | color: #bbb;
258 | font-size: .8em;
259 | padding: 0 .5em;
260 | background: #f5f2f0;
261 | background: rgba(224, 224, 224, 0.2);
262 | box-shadow: 0 2px 0 0 rgba(0,0,0,0.2);
263 | border-radius: .5em;
264 | }
265 |
266 | div.code-toolbar > .toolbar a:hover,
267 | div.code-toolbar > .toolbar a:focus,
268 | div.code-toolbar > .toolbar button:hover,
269 | div.code-toolbar > .toolbar button:focus,
270 | div.code-toolbar > .toolbar span:hover,
271 | div.code-toolbar > .toolbar span:focus {
272 | color: inherit;
273 | text-decoration: none;
274 | }
275 |
--------------------------------------------------------------------------------
/JS/jquery.pjax.min.js:
--------------------------------------------------------------------------------
1 | !function(t){function e(e,a,r){return r=m(a,r),this.on("click.pjax",e,function(e){var a=r;a.container||(a=t.extend({},r),a.container=t(this).attr("data-pjax")),n(e,a)})}function n(e,n,a){a=m(n,a);var i=e.currentTarget,o=t(i);if("A"!==i.tagName.toUpperCase())throw"$.fn.pjax or $.pjax.click requires an anchor element";if(!(e.which>1||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||location.protocol!==i.protocol||location.hostname!==i.hostname||i.href.indexOf("#")>-1&&h(i)==h(location)||e.isDefaultPrevented())){var c={url:i.href,container:o.attr("data-pjax"),target:i},s=t.extend({},c,a),u=t.Event("pjax:click");o.trigger(u,[s]),u.isDefaultPrevented()||(r(s),e.preventDefault(),o.trigger("pjax:clicked",[s]))}}function a(e,n,a){a=m(n,a);var i=e.currentTarget,o=t(i);if("FORM"!==i.tagName.toUpperCase())throw"$.pjax.submit requires a form element";var c={type:(o.attr("method")||"GET").toUpperCase(),url:o.attr("action"),container:o.attr("data-pjax"),target:i};if("GET"!==c.type&&void 0!==window.FormData)c.data=new FormData(i),c.processData=!1,c.contentType=!1;else{if(o.find(":file").length)return;c.data=o.serializeArray()}r(t.extend({},c,a)),e.preventDefault()}function r(e){function n(n,a,r){r||(r={}),r.relatedTarget=e.target;var i=t.Event(n,r);return c.trigger(i,a),!i.isDefaultPrevented()}e=t.extend(!0,{},t.ajaxSettings,r.defaults,e),t.isFunction(e.url)&&(e.url=e.url());var a=f(e.url).hash,i=t.type(e.container);if("string"!==i)throw"expected string value for 'container' option; got "+i;var c=e.context=t(e.container);if(!c.length)throw"the container selector '"+e.container+"' did not match anything";e.data||(e.data={}),t.isArray(e.data)?e.data.push({name:"_pjax",value:e.container}):e.data._pjax=e.container;var s;e.beforeSend=function(t,r){if("GET"!==r.type&&(r.timeout=0),t.setRequestHeader("X-PJAX","true"),t.setRequestHeader("X-PJAX-Container",e.container),!n("pjax:beforeSend",[t,r]))return!1;r.timeout>0&&(s=setTimeout(function(){n("pjax:timeout",[t,e])&&t.abort("timeout")},r.timeout),r.timeout=0);var i=f(r.url);a&&(i.hash=a),e.requestUrl=d(i)},e.complete=function(t,a){s&&clearTimeout(s),n("pjax:complete",[t,a,e]),n("pjax:end",[t,e])},e.error=function(t,a,r){var i=g("",t,e),c=n("pjax:error",[t,a,r,e]);"GET"==e.type&&"abort"!==a&&c&&o(i.url)},e.success=function(i,s,u){var p=r.state,d="function"==typeof t.pjax.defaults.version?t.pjax.defaults.version():t.pjax.defaults.version,h=u.getResponseHeader("X-PJAX-Version"),m=g(i,u,e),v=f(m.url);if(a&&(v.hash=a,m.url=v.href),d&&h&&d!==h)return void o(m.url);if(!m.contents)return void o(m.url);r.state={id:e.id||l(),url:m.url,title:m.title,container:e.container,fragment:e.fragment,timeout:e.timeout},(e.push||e.replace)&&window.history.replaceState(r.state,m.title,m.url);var x=t.contains(c,document.activeElement);if(x)try{document.activeElement.blur()}catch(t){}m.title&&(document.title=m.title),n("pjax:beforeReplace",[m.contents,e],{state:r.state,previousState:p}),c.html(m.contents);var j=c.find("input[autofocus], textarea[autofocus]").last()[0];j&&document.activeElement!==j&&j.focus(),y(m.scripts);var w=e.scrollTo;if(a){var b=decodeURIComponent(a.slice(1)),T=document.getElementById(b)||document.getElementsByName(b)[0];T&&(w=t(T).offset().top)}"number"==typeof w&&t(window).scrollTop(w),n("pjax:success",[i,s,u,e])},r.state||(r.state={id:l(),url:window.location.href,title:document.title,container:e.container,fragment:e.fragment,timeout:e.timeout},window.history.replaceState(r.state,document.title)),u(r.xhr),r.options=e;var h=r.xhr=t.ajax(e);return h.readyState>0&&(e.push&&!e.replace&&(j(r.state.id,[e.container,p(c)]),window.history.pushState(null,"",e.requestUrl)),n("pjax:start",[h,e]),n("pjax:send",[h,e])),r.xhr}function i(e,n){var a={url:window.location.href,push:!1,replace:!0,scrollTo:!1};return r(t.extend(a,m(e,n)))}function o(t){window.history.replaceState(null,"",r.state.url),window.location.replace(t)}function c(e){P||u(r.xhr);var n,a=r.state,i=e.state;if(i&&i.container){if(P&&C==i.url)return;if(a){if(a.id===i.id)return;n=a.id
",{method:"GET"===a?"GET":"POST",action:n,style:"display:none"});"GET"!==a&&"POST"!==a&&r.append(t(" ",{type:"hidden",name:"_method",value:a.toLowerCase()}));var i=e.data;if("string"==typeof i)t.each(i.split("&"),function(e,n){var a=n.split("=");r.append(t(" ",{type:"hidden",name:a[0],value:a[1]}))});else if(t.isArray(i))t.each(i,function(e,n){r.append(t(" ",{type:"hidden",name:n.name,value:n.value}))});else if("object"==typeof i){var o;for(o in i)r.append(t(" ",{type:"hidden",name:o,value:i[o]}))}t(document.body).append(r),r.submit()}function u(e){e&&e.readyState<4&&(e.onreadystatechange=t.noop,e.abort())}function l(){return(new Date).getTime()}function p(e){var n=e.clone();return n.find("script").each(function(){this.src||t._data(this,"globalEval",!1)}),n.contents()}function d(t){return t.search=t.search.replace(/([?&])(_pjax|_)=[^&]*/g,"").replace(/^&/,""),t.href.replace(/\?($|#)/,"$1")}function f(t){var e=document.createElement("a");return e.href=t,e}function h(t){return t.href.replace(/#.*/,"")}function m(e,n){return e&&n?(n=t.extend({},n),n.container=e,n):t.isPlainObject(e)?e:{container:e}}function v(t,e){return t.filter(e).add(t.find(e))}function x(e){return t.parseHTML(e,document,!0)}function g(e,n,a){var r={},i=/]*>([\s\S.]*)<\/body>/i)[0]));var u=e.match(/]*>([\s\S.]*)<\/head>/i);c=null!=u?t(x(u[0])):s}else c=s=t(x(e));if(0===s.length)return r;if(r.title=v(c,"title").last().text(),a.fragment){var l=s;"body"!==a.fragment&&(l=v(l,a.fragment).first()),l.length&&(r.contents="body"===a.fragment?l:l.contents(),r.title||(r.title=l.attr("title")||l.data("title")))}else i||(r.contents=s);return r.contents&&(r.contents=r.contents.not(function(){return t(this).is("title")}),r.contents.find("title").remove(),r.scripts=v(r.contents,"script[src]").remove(),r.contents=r.contents.not(r.scripts)),r.title&&(r.title=t.trim(r.title)),r}function y(e){if(e){var n=t("script[src]");e.each(function(){var e=this.src,a=n.filter(function(){return this.src===e});if(!a.length){var r=document.createElement("script"),i=t(this).attr("type");i&&(r.type=i),r.src=t(this).attr("src"),document.head.appendChild(r)}})}}function j(t,e){D[t]=e,U.push(t),b(R,0),b(U,r.defaults.maxCacheLength)}function w(t,e,n){var a,i;D[e]=n,"forward"===t?(a=U,i=R):(a=R,i=U),a.push(e),e=i.pop(),e&&delete D[e],b(a,r.defaults.maxCacheLength)}function b(t,e){for(;t.length>e;)delete D[t.shift()]}function T(){return t("meta").filter(function(){var e=t(this).attr("http-equiv");return e&&"X-PJAX-VERSION"===e.toUpperCase()}).attr("content")}function E(){t.fn.pjax=e,t.pjax=r,t.pjax.enable=t.noop,t.pjax.disable=S,t.pjax.click=n,t.pjax.submit=a,t.pjax.reload=i,t.pjax.defaults={timeout:650,push:!0,replace:!1,type:"GET",dataType:"html",scrollTo:0,maxCacheLength:20,version:T},t(window).on("popstate.pjax",c)}function S(){t.fn.pjax=function(){return this},t.pjax=s,t.pjax.enable=E,t.pjax.disable=t.noop,t.pjax.click=t.noop,t.pjax.submit=t.noop,t.pjax.reload=function(){window.location.reload()},t(window).off("popstate.pjax",c)}var P=!0,C=window.location.href,A=window.history.state;A&&A.container&&(r.state=A),"state"in window.history&&(P=!1);var D={},R=[],U=[];t.event.props&&t.inArray("state",t.event.props)<0?t.event.props.push("state"):"state"in t.Event.prototype||t.event.addProp("state"),t.support.pjax=window.history&&window.history.pushState&&window.history.replaceState&&!navigator.userAgent.match(/((iPod|iPhone|iPad).+\bOS\s+[1-4]\D|WebApps\/.+CFNetwork)/),t.support.pjax?E():S()}(jQuery);
2 | //# sourceMappingURL=jquery.pjax.min.js.map
--------------------------------------------------------------------------------
/JS/X.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @file X.js
3 | * @author youranreus
4 | */
5 |
6 | //移动端Hover补偿
7 | var mobileHover = function () {
8 | $('*').on('touchstart', function () {
9 | $(this).trigger('hover');
10 | }).on('touchend', function () {
11 | $(this).trigger('hover');
12 | });
13 | };
14 |
15 | //pjax 刷新
16 | $(document).pjax('a:not(a[target="_blank"], a[no-pjax])', {
17 | container: '#pjax-container',
18 | fragment: '#pjax-container',
19 | timeout: 8000
20 | }).on('pjax:send',function () {pjax_send();}).on('pjax:complete',function() {pjax_complete();}).on('pjax:click',function() {pjax_click();});
21 |
22 | function pjax_click(){
23 | //结束aplayer进程
24 | if (typeof aplayers !== 'undefined'){
25 | for (var i = 0; i < aplayers.length; i++) {
26 | try {aplayers[i].destroy()} catch(e){}
27 | }
28 | }
29 | }
30 |
31 | function pjax_send(){
32 | $("#M").addClass("opacity-disappear");
33 | }
34 |
35 | function pjax_complete(){
36 | //Prism重启
37 | if (typeof Prism !== 'undefined') {
38 | Prism.highlightAll(true,null);
39 | }
40 | //Meting重启
41 | var isFunction =false;
42 | try{
43 | isFunction = typeof(eval('loadMeting'))=="function";
44 | }catch(e){}
45 | if(isFunction) {
46 | loadMeting();
47 | }else{}
48 |
49 |
50 | //显示主页面
51 | $("#M").addClass("opacity-show");
52 | PreFancybox();
53 | ajaxc();
54 | }
55 |
56 | function PreFancybox(){
57 | $("#post img").each(function(){
58 | $(this).wrap(function(){
59 | if($(this).is(".bq"))
60 | {
61 | return '';
62 | }
63 | if($(this).is("#feedme-content img"))
64 | {
65 | return '';
66 | }
67 | return ' ';
68 | })
69 | });
70 | }
71 |
72 | function show_site_runtime(bdate){
73 | window.setTimeout("show_site_runtime('" +bdate + "')",1000);
74 | X=new Date(bdate);
75 | Y=new Date();
76 | T=(Y.getTime()-X.getTime());
77 | i=24*60*60*1000;
78 | d=T/i;
79 | D=Math.floor(d);
80 | h=(d-D)*24;
81 | H=Math.floor(h);
82 | m=(h-H)*60;
83 | M=Math.floor(m);
84 | s=(m-M)*60
85 | S=Math.floor(s);
86 | site_runtime.innerHTML= D + "天 " + H + "小时 " + M + "分 " + S + "秒 "
87 | }
88 |
89 | //赞赏按钮
90 | function feedme_show(){
91 | if($("#feedme-content").css("display")=='none'){
92 | $("#feedme-content").slideDown();
93 | }else{
94 | $("#feedme-content").slideUp();
95 | }
96 | }
97 | //OwO设置
98 | Smilies = {
99 | dom: function(id) {
100 | return document.getElementById(id);
101 | },
102 | grin: function(tag) {
103 | tag = ' ' + tag + ' ';
104 | myField = this.dom("textarea");
105 | document.selection ? (myField.focus(), sel = document.selection.createRange(), sel.text = tag, myField.focus()) : this.insertTag(tag);
106 | },
107 | insertTag: function(tag) {
108 | myField = Smilies.dom("textarea");
109 | myField.selectionStart || myField.selectionStart == "0" ? (startPos = myField.selectionStart, endPos = myField.selectionEnd, cursorPos = startPos, myField.value = myField.value.substring(0, startPos) + tag + myField.value.substring(endPos, myField.value.length), cursorPos += tag.length, myField.focus(), myField.selectionStart = cursorPos, myField.selectionEnd = cursorPos) : (myField.value += tag, myField.focus());
110 | }
111 | }
112 | //OwO开关
113 | function OwO_show(){
114 | if($("#OwO-container").css("display")=='none'){
115 | $("#OwO-container").slideDown();
116 | }else{
117 | $("#OwO-container").slideUp();
118 | }
119 | }
120 |
121 |
122 | function gototop(){
123 |
124 | $('body,html').animate({scrollTop:0},500);
125 | return false;
126 | }
127 |
128 |
129 |
130 |
131 | //ajax评论
132 | function ajaxc(){
133 | var replyTo = '', //回复评论时候的ID
134 | submitButton = $(".submit").eq(0), //提交评论按钮
135 | commentForm = $("#comment-form"), //评论表单
136 | newCommentId = ""; //新评论的ID
137 | var bindButton = function () {
138 | $(".comment-reply a").click(function () {
139 | replyTo = $(this).parent().parent().parent().attr("id");
140 | });
141 | $(".cancel-comment-reply a").click(function () { replyTo = ''; });
142 | };
143 | bindButton();
144 |
145 | /**
146 | * 发送前的处理
147 | */
148 | function beforeSendComment() {
149 | NProgress.start();
150 | $(".submit").fadeOut();
151 | $("#OwO-container").slideUp();
152 | }
153 |
154 | /**
155 | * 发送后的处理
156 | * @param {boolean} ok
157 | */
158 | function afterSendComment(ok) {
159 | if (ok) {
160 | $("#textarea").val('');
161 | replyTo = '';
162 | }
163 | bindButton();
164 | }
165 | $("#comment-form").submit(function () {
166 | commentData = $(this).serializeArray();
167 | // replyAuthor = $("#comment-" + commentData[3]['value']).find(".comment-inner").find(".comment-author").find('span').find('a').html();
168 | // commentData[1]['value'] = '@' + replyAuthor + ' ' + commentData[1]['value'];
169 | beforeSendComment();
170 | $.ajax({
171 | type: $(this).attr('method'),
172 | url: $(this).attr('action'),
173 | data: commentData,
174 | error: function (e) {
175 | NProgress.done();
176 | console.log('Ajax Comment Error');
177 | window.location.reload();
178 | },
179 | success: function (data) {
180 | if (!$('#comments', data).length) {
181 | NProgress.done();
182 | var msg = $('title').eq(0).text().trim().toLowerCase() === 'error' ? $('.container', data).eq(0).text() : '评论提交失败!';
183 | toastr.warning(msg, 'QAQ', {"iconClass": 'customer-warn'});
184 | $(".submit").fadeIn();
185 | afterSendComment(false);
186 | return false;
187 | }
188 |
189 | $("input,textarea", commentForm).attr('disabled', false);
190 | $("#textarea").val('');
191 |
192 | var newComment;
193 | newCommentId = $(".comment-list", data).html().match(/id=\"?comment-\d+/g).join().match(/\d+/g).sort(function (a, b) { return a - b }).pop();
194 | if('' === replyTo) {
195 | if(!$('.comment-list').length) {
196 | newComment = $("#li-comment-" + newCommentId, data);
197 | $('.comments-header').after('');
198 | $('.comment-list').first().prepend((newComment).addClass('animated fadeInUp'));
199 | }
200 | else if($('.prev').length) {
201 | $('#page-nav ul li a').eq(1).click();
202 | }
203 | else {
204 | newComment = $("#li-comment-" + newCommentId, data);
205 | $('.comment-list').first().prepend((newComment).addClass('animated fadeInUp'));
206 | }
207 | var response = $('#response');
208 | if (response.length) {
209 | var responseTop = response.offset().top;
210 | $('html,body').animate({scrollTop: responseTop - 100},1000);
211 | }
212 | }
213 | else {
214 | newComment = $("#li-comment-" + newCommentId, data);
215 | if ($('#' + replyTo).find('.comment-children').length) {
216 | $('#' + replyTo + ' .comment-children .comment-list').first().prepend((newComment).addClass('animated fadeInUp'));
217 | TypechoComment.cancelReply();
218 | }
219 | else {
220 | $('#' + replyTo).append('');
221 | $('#' + replyTo + ' .comment-children .comment-list').first().prepend((newComment).addClass('animated fadeInUp'));
222 | TypechoComment.cancelReply();
223 | }
224 | }
225 | NProgress.done(true);
226 | afterSendComment(true);
227 |
228 | },
229 | error:function(){
230 | NProgress.done();
231 | $(".submit").fadeIn();
232 | },
233 | complete:function(){
234 | NProgress.done();
235 | $(".submit").fadeIn();
236 | }
237 | });
238 | return false;
239 | });
240 | }
241 |
242 | $(window).scroll(function(){if($(this).scrollTop()>200){$("#m_top").fadeIn(100)}else{$("#m_top").fadeOut(200)}});
243 |
244 | console.info(" %c made by psyDuck %c https://psyduck.liujiayang.cn/",'color: #fadfa3; background: #030307; padding:5px 0;', 'color: #fadfa3; background: #fadfa3; padding:5px 0;');
--------------------------------------------------------------------------------
/JS/clipboard.min.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * clipboard.js v2.0.0
3 | * https://zenorocha.github.io/clipboard.js
4 | *
5 | * Licensed MIT © Zeno Rocha
6 | */
7 | !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.ClipboardJS=e():t.ClipboardJS=e()}(this,function(){return function(t){function e(o){if(n[o])return n[o].exports;var r=n[o]={i:o,l:!1,exports:{}};return t[o].call(r.exports,r,r.exports,e),r.l=!0,r.exports}var n={};return e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,o){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:o})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=3)}([function(t,e,n){var o,r,i;!function(a,c){r=[t,n(7)],o=c,void 0!==(i="function"==typeof o?o.apply(e,r):o)&&(t.exports=i)}(0,function(t,e){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var o=function(t){return t&&t.__esModule?t:{default:t}}(e),r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=function(){function t(t,e){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:{};this.action=t.action,this.container=t.container,this.emitter=t.emitter,this.target=t.target,this.text=t.text,this.trigger=t.trigger,this.selectedText=""}},{key:"initSelection",value:function(){this.text?this.selectFake():this.target&&this.selectTarget()}},{key:"selectFake",value:function(){var t=this,e="rtl"==document.documentElement.getAttribute("dir");this.removeFake(),this.fakeHandlerCallback=function(){return t.removeFake()},this.fakeHandler=this.container.addEventListener("click",this.fakeHandlerCallback)||!0,this.fakeElem=document.createElement("textarea"),this.fakeElem.style.fontSize="12pt",this.fakeElem.style.border="0",this.fakeElem.style.padding="0",this.fakeElem.style.margin="0",this.fakeElem.style.position="absolute",this.fakeElem.style[e?"right":"left"]="-9999px";var n=window.pageYOffset||document.documentElement.scrollTop;this.fakeElem.style.top=n+"px",this.fakeElem.setAttribute("readonly",""),this.fakeElem.value=this.text,this.container.appendChild(this.fakeElem),this.selectedText=(0,o.default)(this.fakeElem),this.copyText()}},{key:"removeFake",value:function(){this.fakeHandler&&(this.container.removeEventListener("click",this.fakeHandlerCallback),this.fakeHandler=null,this.fakeHandlerCallback=null),this.fakeElem&&(this.container.removeChild(this.fakeElem),this.fakeElem=null)}},{key:"selectTarget",value:function(){this.selectedText=(0,o.default)(this.target),this.copyText()}},{key:"copyText",value:function(){var t=void 0;try{t=document.execCommand(this.action)}catch(e){t=!1}this.handleResult(t)}},{key:"handleResult",value:function(t){this.emitter.emit(t?"success":"error",{action:this.action,text:this.selectedText,trigger:this.trigger,clearSelection:this.clearSelection.bind(this)})}},{key:"clearSelection",value:function(){this.trigger&&this.trigger.focus(),window.getSelection().removeAllRanges()}},{key:"destroy",value:function(){this.removeFake()}},{key:"action",set:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"copy";if(this._action=t,"copy"!==this._action&&"cut"!==this._action)throw new Error('Invalid "action" value, use either "copy" or "cut"')},get:function(){return this._action}},{key:"target",set:function(t){if(void 0!==t){if(!t||"object"!==(void 0===t?"undefined":r(t))||1!==t.nodeType)throw new Error('Invalid "target" value, use a valid Element');if("copy"===this.action&&t.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if("cut"===this.action&&(t.hasAttribute("readonly")||t.hasAttribute("disabled")))throw new Error('Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes');this._target=t}},get:function(){return this._target}}]),t}();t.exports=a})},function(t,e,n){function o(t,e,n){if(!t&&!e&&!n)throw new Error("Missing required arguments");if(!c.string(e))throw new TypeError("Second argument must be a String");if(!c.fn(n))throw new TypeError("Third argument must be a Function");if(c.node(t))return r(t,e,n);if(c.nodeList(t))return i(t,e,n);if(c.string(t))return a(t,e,n);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList")}function r(t,e,n){return t.addEventListener(e,n),{destroy:function(){t.removeEventListener(e,n)}}}function i(t,e,n){return Array.prototype.forEach.call(t,function(t){t.addEventListener(e,n)}),{destroy:function(){Array.prototype.forEach.call(t,function(t){t.removeEventListener(e,n)})}}}function a(t,e,n){return u(document.body,t,e,n)}var c=n(6),u=n(5);t.exports=o},function(t,e){function n(){}n.prototype={on:function(t,e,n){var o=this.e||(this.e={});return(o[t]||(o[t]=[])).push({fn:e,ctx:n}),this},once:function(t,e,n){function o(){r.off(t,o),e.apply(n,arguments)}var r=this;return o._=e,this.on(t,o,n)},emit:function(t){var e=[].slice.call(arguments,1),n=((this.e||(this.e={}))[t]||[]).slice(),o=0,r=n.length;for(o;o0&&void 0!==arguments[0]?arguments[0]:{};this.action="function"==typeof t.action?t.action:this.defaultAction,this.target="function"==typeof t.target?t.target:this.defaultTarget,this.text="function"==typeof t.text?t.text:this.defaultText,this.container="object"===d(t.container)?t.container:document.body}},{key:"listenClick",value:function(t){var e=this;this.listener=(0,f.default)(t,"click",function(t){return e.onClick(t)})}},{key:"onClick",value:function(t){var e=t.delegateTarget||t.currentTarget;this.clipboardAction&&(this.clipboardAction=null),this.clipboardAction=new l.default({action:this.action(e),target:this.target(e),text:this.text(e),container:this.container,trigger:e,emitter:this})}},{key:"defaultAction",value:function(t){return u("action",t)}},{key:"defaultTarget",value:function(t){var e=u("target",t);if(e)return document.querySelector(e)}},{key:"defaultText",value:function(t){return u("text",t)}},{key:"destroy",value:function(){this.listener.destroy(),this.clipboardAction&&(this.clipboardAction.destroy(),this.clipboardAction=null)}}],[{key:"isSupported",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:["copy","cut"],e="string"==typeof t?[t]:t,n=!!document.queryCommandSupported;return e.forEach(function(t){n=n&&!!document.queryCommandSupported(t)}),n}}]),e}(s.default);t.exports=p})},function(t,e){function n(t,e){for(;t&&t.nodeType!==o;){if("function"==typeof t.matches&&t.matches(e))return t;t=t.parentNode}}var o=9;if("undefined"!=typeof Element&&!Element.prototype.matches){var r=Element.prototype;r.matches=r.matchesSelector||r.mozMatchesSelector||r.msMatchesSelector||r.oMatchesSelector||r.webkitMatchesSelector}t.exports=n},function(t,e,n){function o(t,e,n,o,r){var a=i.apply(this,arguments);return t.addEventListener(n,a,r),{destroy:function(){t.removeEventListener(n,a,r)}}}function r(t,e,n,r,i){return"function"==typeof t.addEventListener?o.apply(null,arguments):"function"==typeof n?o.bind(null,document).apply(null,arguments):("string"==typeof t&&(t=document.querySelectorAll(t)),Array.prototype.map.call(t,function(t){return o(t,e,n,r,i)}))}function i(t,e,n,o){return function(n){n.delegateTarget=a(n.target,e),n.delegateTarget&&o.call(t,n)}}var a=n(4);t.exports=r},function(t,e){e.node=function(t){return void 0!==t&&t instanceof HTMLElement&&1===t.nodeType},e.nodeList=function(t){var n=Object.prototype.toString.call(t);return void 0!==t&&("[object NodeList]"===n||"[object HTMLCollection]"===n)&&"length"in t&&(0===t.length||e.node(t[0]))},e.string=function(t){return"string"==typeof t||t instanceof String},e.fn=function(t){return"[object Function]"===Object.prototype.toString.call(t)}},function(t,e){function n(t){var e;if("SELECT"===t.nodeName)t.focus(),e=t.value;else if("INPUT"===t.nodeName||"TEXTAREA"===t.nodeName){var n=t.hasAttribute("readonly");n||t.setAttribute("readonly",""),t.select(),t.setSelectionRange(0,t.value.length),n||t.removeAttribute("readonly"),e=t.value}else{t.hasAttribute("contenteditable")&&t.focus();var o=window.getSelection(),r=document.createRange();r.selectNodeContents(t),o.removeAllRanges(),o.addRange(r),e=o.toString()}return e}t.exports=n}])});
--------------------------------------------------------------------------------
/owo.php:
--------------------------------------------------------------------------------
1 |
8 |
97 |
--------------------------------------------------------------------------------
/CSS/jquery.fancybox.min.css:
--------------------------------------------------------------------------------
1 | body.compensate-for-scrollbar{overflow:hidden}.fancybox-active{height:auto}.fancybox-is-hidden{left:-9999px;margin:0;position:absolute!important;top:-9999px;visibility:hidden}.fancybox-container{-webkit-backface-visibility:hidden;height:100%;left:0;outline:none;position:fixed;-webkit-tap-highlight-color:transparent;top:0;-ms-touch-action:manipulation;touch-action:manipulation;transform:translateZ(0);width:100%;z-index:99992}.fancybox-container *{box-sizing:border-box}.fancybox-bg,.fancybox-inner,.fancybox-outer,.fancybox-stage{bottom:0;left:0;position:absolute;right:0;top:0}.fancybox-outer{-webkit-overflow-scrolling:touch;overflow-y:auto}.fancybox-bg{background:#1e1e1e;opacity:0;transition-duration:inherit;transition-property:opacity;transition-timing-function:cubic-bezier(.47,0,.74,.71)}.fancybox-is-open .fancybox-bg{opacity:.9;transition-timing-function:cubic-bezier(.22,.61,.36,1)}.fancybox-caption,.fancybox-infobar,.fancybox-navigation .fancybox-button,.fancybox-toolbar{direction:ltr;opacity:0;position:absolute;transition:opacity .25s ease,visibility 0s ease .25s;visibility:hidden;z-index:99997}.fancybox-show-caption .fancybox-caption,.fancybox-show-infobar .fancybox-infobar,.fancybox-show-nav .fancybox-navigation .fancybox-button,.fancybox-show-toolbar .fancybox-toolbar{opacity:1;transition:opacity .25s ease 0s,visibility 0s ease 0s;visibility:visible}.fancybox-infobar{color:#ccc;font-size:13px;-webkit-font-smoothing:subpixel-antialiased;height:44px;left:0;line-height:44px;min-width:44px;mix-blend-mode:difference;padding:0 10px;pointer-events:none;top:0;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.fancybox-toolbar{right:0;top:0}.fancybox-stage{direction:ltr;overflow:visible;transform:translateZ(0);z-index:99994}.fancybox-is-open .fancybox-stage{overflow:hidden}.fancybox-slide{-webkit-backface-visibility:hidden;display:none;height:100%;left:0;outline:none;overflow:auto;-webkit-overflow-scrolling:touch;padding:44px;position:absolute;text-align:center;top:0;transition-property:transform,opacity;white-space:normal;width:100%;z-index:99994}.fancybox-slide:before{content:"";display:inline-block;font-size:0;height:100%;vertical-align:middle;width:0}.fancybox-is-sliding .fancybox-slide,.fancybox-slide--current,.fancybox-slide--next,.fancybox-slide--previous{display:block}.fancybox-slide--image{overflow:hidden;padding:44px 0}.fancybox-slide--image:before{display:none}.fancybox-slide--html{padding:6px}.fancybox-content{background:#fff;display:inline-block;margin:0;max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch;padding:44px;position:relative;text-align:left;vertical-align:middle}.fancybox-slide--image .fancybox-content{animation-timing-function:cubic-bezier(.5,0,.14,1);-webkit-backface-visibility:hidden;background:transparent;background-repeat:no-repeat;background-size:100% 100%;left:0;max-width:none;overflow:visible;padding:0;position:absolute;top:0;transform-origin:top left;transition-property:transform,opacity;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:99995}.fancybox-can-zoomOut .fancybox-content{cursor:zoom-out}.fancybox-can-zoomIn .fancybox-content{cursor:zoom-in}.fancybox-can-pan .fancybox-content,.fancybox-can-swipe .fancybox-content{cursor:grab}.fancybox-is-grabbing .fancybox-content{cursor:grabbing}.fancybox-container [data-selectable=true]{cursor:text}.fancybox-image,.fancybox-spaceball{background:transparent;border:0;height:100%;left:0;margin:0;max-height:none;max-width:none;padding:0;position:absolute;top:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:100%}.fancybox-spaceball{z-index:1}.fancybox-slide--iframe .fancybox-content,.fancybox-slide--map .fancybox-content,.fancybox-slide--pdf .fancybox-content,.fancybox-slide--video .fancybox-content{height:100%;overflow:visible;padding:0;width:100%}.fancybox-slide--video .fancybox-content{background:#000}.fancybox-slide--map .fancybox-content{background:#e5e3df}.fancybox-slide--iframe .fancybox-content{background:#fff}.fancybox-iframe,.fancybox-video{background:transparent;border:0;display:block;height:100%;margin:0;overflow:hidden;padding:0;width:100%}.fancybox-iframe{left:0;position:absolute;top:0}.fancybox-error{background:#fff;cursor:default;max-width:400px;padding:40px;width:100%}.fancybox-error p{color:#444;font-size:16px;line-height:20px;margin:0;padding:0}.fancybox-button{background:rgba(30,30,30,.6);border:0;border-radius:0;box-shadow:none;cursor:pointer;display:inline-block;height:44px;margin:0;padding:10px;position:relative;transition:color .2s;vertical-align:top;visibility:inherit;width:44px}.fancybox-button,.fancybox-button:link,.fancybox-button:visited{color:#ccc}.fancybox-button:hover{color:#fff}.fancybox-button:focus{outline:none}.fancybox-button.fancybox-focus{outline:1px dotted}.fancybox-button[disabled],.fancybox-button[disabled]:hover{color:#888;cursor:default;outline:none}.fancybox-button div{height:100%}.fancybox-button svg{display:block;height:100%;overflow:visible;position:relative;width:100%}.fancybox-button svg path{fill:currentColor;stroke-width:0}.fancybox-button--fsenter svg:nth-child(2),.fancybox-button--fsexit svg:first-child,.fancybox-button--pause svg:first-child,.fancybox-button--play svg:nth-child(2){display:none}.fancybox-progress{background:#ff5268;height:2px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transform-origin:0;transition-property:transform;transition-timing-function:linear;z-index:99998}.fancybox-close-small{background:transparent;border:0;border-radius:0;color:#ccc;cursor:pointer;opacity:.8;padding:8px;position:absolute;right:-12px;top:-44px;z-index:401}.fancybox-close-small:hover{color:#fff;opacity:1}.fancybox-slide--html .fancybox-close-small{color:currentColor;padding:10px;right:0;top:0}.fancybox-slide--image.fancybox-is-scaling .fancybox-content{overflow:hidden}.fancybox-is-scaling .fancybox-close-small,.fancybox-is-zoomable.fancybox-can-pan .fancybox-close-small{display:none}.fancybox-navigation .fancybox-button{background-clip:content-box;height:100px;opacity:0;position:absolute;top:calc(50% - 50px);width:70px}.fancybox-navigation .fancybox-button div{padding:7px}.fancybox-navigation .fancybox-button--arrow_left{left:0;left:env(safe-area-inset-left);padding:31px 26px 31px 6px}.fancybox-navigation .fancybox-button--arrow_right{padding:31px 6px 31px 26px;right:0;right:env(safe-area-inset-right)}.fancybox-caption{background:linear-gradient(0deg,rgba(0,0,0,.85) 0,rgba(0,0,0,.3) 50%,rgba(0,0,0,.15) 65%,rgba(0,0,0,.075) 75.5%,rgba(0,0,0,.037) 82.85%,rgba(0,0,0,.019) 88%,transparent);bottom:0;color:#eee;font-size:14px;font-weight:400;left:0;line-height:1.5;padding:75px 44px 25px;pointer-events:none;right:0;text-align:center;z-index:99996}@supports (padding:max(0px)){.fancybox-caption{padding:75px max(44px,env(safe-area-inset-right)) max(25px,env(safe-area-inset-bottom)) max(44px,env(safe-area-inset-left))}}.fancybox-caption--separate{margin-top:-50px}.fancybox-caption__body{max-height:50vh;overflow:auto;pointer-events:all}.fancybox-caption a,.fancybox-caption a:link,.fancybox-caption a:visited{color:#ccc;text-decoration:none}.fancybox-caption a:hover{color:#fff;text-decoration:underline}.fancybox-loading{animation:a 1s linear infinite;background:transparent;border:4px solid #888;border-bottom-color:#fff;border-radius:50%;height:50px;left:50%;margin:-25px 0 0 -25px;opacity:.7;padding:0;position:absolute;top:50%;width:50px;z-index:99999}@keyframes a{to{transform:rotate(1turn)}}.fancybox-animated{transition-timing-function:cubic-bezier(0,0,.25,1)}.fancybox-fx-slide.fancybox-slide--previous{opacity:0;transform:translate3d(-100%,0,0)}.fancybox-fx-slide.fancybox-slide--next{opacity:0;transform:translate3d(100%,0,0)}.fancybox-fx-slide.fancybox-slide--current{opacity:1;transform:translateZ(0)}.fancybox-fx-fade.fancybox-slide--next,.fancybox-fx-fade.fancybox-slide--previous{opacity:0;transition-timing-function:cubic-bezier(.19,1,.22,1)}.fancybox-fx-fade.fancybox-slide--current{opacity:1}.fancybox-fx-zoom-in-out.fancybox-slide--previous{opacity:0;transform:scale3d(1.5,1.5,1.5)}.fancybox-fx-zoom-in-out.fancybox-slide--next{opacity:0;transform:scale3d(.5,.5,.5)}.fancybox-fx-zoom-in-out.fancybox-slide--current{opacity:1;transform:scaleX(1)}.fancybox-fx-rotate.fancybox-slide--previous{opacity:0;transform:rotate(-1turn)}.fancybox-fx-rotate.fancybox-slide--next{opacity:0;transform:rotate(1turn)}.fancybox-fx-rotate.fancybox-slide--current{opacity:1;transform:rotate(0deg)}.fancybox-fx-circular.fancybox-slide--previous{opacity:0;transform:scale3d(0,0,0) translate3d(-100%,0,0)}.fancybox-fx-circular.fancybox-slide--next{opacity:0;transform:scale3d(0,0,0) translate3d(100%,0,0)}.fancybox-fx-circular.fancybox-slide--current{opacity:1;transform:scaleX(1) translateZ(0)}.fancybox-fx-tube.fancybox-slide--previous{transform:translate3d(-100%,0,0) scale(.1) skew(-10deg)}.fancybox-fx-tube.fancybox-slide--next{transform:translate3d(100%,0,0) scale(.1) skew(10deg)}.fancybox-fx-tube.fancybox-slide--current{transform:translateZ(0) scale(1)}@media (max-height:576px){.fancybox-slide{padding-left:6px;padding-right:6px}.fancybox-slide--image{padding:6px 0}.fancybox-close-small{right:-6px}.fancybox-slide--image .fancybox-close-small{background:#4e4e4e;color:#f2f4f6;height:36px;opacity:1;padding:6px;right:0;top:0;width:36px}.fancybox-caption{padding-left:12px;padding-right:12px}@supports (padding:max(0px)){.fancybox-caption{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}}}.fancybox-share{background:#f4f4f4;border-radius:3px;max-width:90%;padding:30px;text-align:center}.fancybox-share h1{color:#222;font-size:35px;font-weight:700;margin:0 0 20px}.fancybox-share p{margin:0;padding:0}.fancybox-share__button{border:0;border-radius:3px;display:inline-block;font-size:14px;font-weight:700;line-height:40px;margin:0 5px 10px;min-width:130px;padding:0 15px;text-decoration:none;transition:all .2s;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap}.fancybox-share__button:link,.fancybox-share__button:visited{color:#fff}.fancybox-share__button:hover{text-decoration:none}.fancybox-share__button--fb{background:#3b5998}.fancybox-share__button--fb:hover{background:#344e86}.fancybox-share__button--pt{background:#bd081d}.fancybox-share__button--pt:hover{background:#aa0719}.fancybox-share__button--tw{background:#1da1f2}.fancybox-share__button--tw:hover{background:#0d95e8}.fancybox-share__button svg{height:25px;margin-right:7px;position:relative;top:-1px;vertical-align:middle;width:25px}.fancybox-share__button svg path{fill:#fff}.fancybox-share__input{background:transparent;border:0;border-bottom:1px solid #d7d7d7;border-radius:0;color:#5d5b5b;font-size:14px;margin:10px 0 0;outline:none;padding:10px 15px;width:100%}.fancybox-thumbs{background:#ddd;bottom:0;display:none;margin:0;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;padding:2px 2px 4px;position:absolute;right:0;-webkit-tap-highlight-color:rgba(0,0,0,0);top:0;width:212px;z-index:99995}.fancybox-thumbs-x{overflow-x:auto;overflow-y:hidden}.fancybox-show-thumbs .fancybox-thumbs{display:block}.fancybox-show-thumbs .fancybox-inner{right:212px}.fancybox-thumbs__list{font-size:0;height:100%;list-style:none;margin:0;overflow-x:hidden;overflow-y:auto;padding:0;position:absolute;position:relative;white-space:nowrap;width:100%}.fancybox-thumbs-x .fancybox-thumbs__list{overflow:hidden}.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar{width:7px}.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-track{background:#fff;border-radius:10px;box-shadow:inset 0 0 6px rgba(0,0,0,.3)}.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-thumb{background:#2a2a2a;border-radius:10px}.fancybox-thumbs__list a{-webkit-backface-visibility:hidden;backface-visibility:hidden;background-color:rgba(0,0,0,.1);background-position:50%;background-repeat:no-repeat;background-size:cover;cursor:pointer;float:left;height:75px;margin:2px;max-height:calc(100% - 8px);max-width:calc(50% - 4px);outline:none;overflow:hidden;padding:0;position:relative;-webkit-tap-highlight-color:transparent;width:100px}.fancybox-thumbs__list a:before{border:6px solid #ff5268;bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:all .2s cubic-bezier(.25,.46,.45,.94);z-index:99991}.fancybox-thumbs__list a:focus:before{opacity:.5}.fancybox-thumbs__list a.fancybox-thumbs-active:before{opacity:1}@media (max-width:576px){.fancybox-thumbs{width:110px}.fancybox-show-thumbs .fancybox-inner{right:110px}.fancybox-thumbs__list a{max-width:calc(100% - 10px)}}
--------------------------------------------------------------------------------
/JS/nprogress.js:
--------------------------------------------------------------------------------
1 | /* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress
2 | * @license MIT */
3 |
4 | ;(function(root, factory) {
5 |
6 | if (typeof define === 'function' && define.amd) {
7 | define(factory);
8 | } else if (typeof exports === 'object') {
9 | module.exports = factory();
10 | } else {
11 | root.NProgress = factory();
12 | }
13 |
14 | })(this, function() {
15 | var NProgress = {};
16 |
17 | NProgress.version = '0.2.0';
18 |
19 | var Settings = NProgress.settings = {
20 | minimum: 0.08,
21 | easing: 'ease',
22 | positionUsing: '',
23 | speed: 200,
24 | trickle: true,
25 | trickleRate: 0.02,
26 | trickleSpeed: 800,
27 | showSpinner: true,
28 | barSelector: '[role="bar"]',
29 | spinnerSelector: '[role="spinner"]',
30 | parent: 'body',
31 | template: ''
32 | };
33 |
34 | /**
35 | * Updates configuration.
36 | *
37 | * NProgress.configure({
38 | * minimum: 0.1
39 | * });
40 | */
41 | NProgress.configure = function(options) {
42 | var key, value;
43 | for (key in options) {
44 | value = options[key];
45 | if (value !== undefined && options.hasOwnProperty(key)) Settings[key] = value;
46 | }
47 |
48 | return this;
49 | };
50 |
51 | /**
52 | * Last number.
53 | */
54 |
55 | NProgress.status = null;
56 |
57 | /**
58 | * Sets the progress bar status, where `n` is a number from `0.0` to `1.0`.
59 | *
60 | * NProgress.set(0.4);
61 | * NProgress.set(1.0);
62 | */
63 |
64 | NProgress.set = function(n) {
65 | var started = NProgress.isStarted();
66 |
67 | n = clamp(n, Settings.minimum, 1);
68 | NProgress.status = (n === 1 ? null : n);
69 |
70 | var progress = NProgress.render(!started),
71 | bar = progress.querySelector(Settings.barSelector),
72 | speed = Settings.speed,
73 | ease = Settings.easing;
74 |
75 | progress.offsetWidth; /* Repaint */
76 |
77 | queue(function(next) {
78 | // Set positionUsing if it hasn't already been set
79 | if (Settings.positionUsing === '') Settings.positionUsing = NProgress.getPositioningCSS();
80 |
81 | // Add transition
82 | css(bar, barPositionCSS(n, speed, ease));
83 |
84 | if (n === 1) {
85 | // Fade out
86 | css(progress, {
87 | transition: 'none',
88 | opacity: 1
89 | });
90 | progress.offsetWidth; /* Repaint */
91 |
92 | setTimeout(function() {
93 | css(progress, {
94 | transition: 'all ' + speed + 'ms linear',
95 | opacity: 0
96 | });
97 | setTimeout(function() {
98 | NProgress.remove();
99 | next();
100 | }, speed);
101 | }, speed);
102 | } else {
103 | setTimeout(next, speed);
104 | }
105 | });
106 |
107 | return this;
108 | };
109 |
110 | NProgress.isStarted = function() {
111 | return typeof NProgress.status === 'number';
112 | };
113 |
114 | /**
115 | * Shows the progress bar.
116 | * This is the same as setting the status to 0%, except that it doesn't go backwards.
117 | *
118 | * NProgress.start();
119 | *
120 | */
121 | NProgress.start = function() {
122 | if (!NProgress.status) NProgress.set(0);
123 |
124 | var work = function() {
125 | setTimeout(function() {
126 | if (!NProgress.status) return;
127 | NProgress.trickle();
128 | work();
129 | }, Settings.trickleSpeed);
130 | };
131 |
132 | if (Settings.trickle) work();
133 |
134 | return this;
135 | };
136 |
137 | /**
138 | * Hides the progress bar.
139 | * This is the *sort of* the same as setting the status to 100%, with the
140 | * difference being `done()` makes some placebo effect of some realistic motion.
141 | *
142 | * NProgress.done();
143 | *
144 | * If `true` is passed, it will show the progress bar even if its hidden.
145 | *
146 | * NProgress.done(true);
147 | */
148 |
149 | NProgress.done = function(force) {
150 | if (!force && !NProgress.status) return this;
151 |
152 | return NProgress.inc(0.3 + 0.5 * Math.random()).set(1);
153 | };
154 |
155 | /**
156 | * Increments by a random amount.
157 | */
158 |
159 | NProgress.inc = function(amount) {
160 | var n = NProgress.status;
161 |
162 | if (!n) {
163 | return NProgress.start();
164 | } else {
165 | if (typeof amount !== 'number') {
166 | amount = (1 - n) * clamp(Math.random() * n, 0.1, 0.95);
167 | }
168 |
169 | n = clamp(n + amount, 0, 0.994);
170 | return NProgress.set(n);
171 | }
172 | };
173 |
174 | NProgress.trickle = function() {
175 | return NProgress.inc(Math.random() * Settings.trickleRate);
176 | };
177 |
178 | /**
179 | * Waits for all supplied jQuery promises and
180 | * increases the progress as the promises resolve.
181 | *
182 | * @param $promise jQUery Promise
183 | */
184 | (function() {
185 | var initial = 0, current = 0;
186 |
187 | NProgress.promise = function($promise) {
188 | if (!$promise || $promise.state() === "resolved") {
189 | return this;
190 | }
191 |
192 | if (current === 0) {
193 | NProgress.start();
194 | }
195 |
196 | initial++;
197 | current++;
198 |
199 | $promise.always(function() {
200 | current--;
201 | if (current === 0) {
202 | initial = 0;
203 | NProgress.done();
204 | } else {
205 | NProgress.set((initial - current) / initial);
206 | }
207 | });
208 |
209 | return this;
210 | };
211 |
212 | })();
213 |
214 | /**
215 | * (Internal) renders the progress bar markup based on the `template`
216 | * setting.
217 | */
218 |
219 | NProgress.render = function(fromStart) {
220 | if (NProgress.isRendered()) return document.getElementById('nprogress');
221 |
222 | addClass(document.documentElement, 'nprogress-busy');
223 |
224 | var progress = document.createElement('div');
225 | progress.id = 'nprogress';
226 | progress.innerHTML = Settings.template;
227 |
228 | var bar = progress.querySelector(Settings.barSelector),
229 | perc = fromStart ? '-100' : toBarPerc(NProgress.status || 0),
230 | parent = document.querySelector(Settings.parent),
231 | spinner;
232 |
233 | css(bar, {
234 | transition: 'all 0 linear',
235 | transform: 'translate3d(' + perc + '%,0,0)'
236 | });
237 |
238 | if (!Settings.showSpinner) {
239 | spinner = progress.querySelector(Settings.spinnerSelector);
240 | spinner && removeElement(spinner);
241 | }
242 |
243 | if (parent != document.body) {
244 | addClass(parent, 'nprogress-custom-parent');
245 | }
246 |
247 | parent.appendChild(progress);
248 | return progress;
249 | };
250 |
251 | /**
252 | * Removes the element. Opposite of render().
253 | */
254 |
255 | NProgress.remove = function() {
256 | removeClass(document.documentElement, 'nprogress-busy');
257 | removeClass(document.querySelector(Settings.parent), 'nprogress-custom-parent');
258 | var progress = document.getElementById('nprogress');
259 | progress && removeElement(progress);
260 | };
261 |
262 | /**
263 | * Checks if the progress bar is rendered.
264 | */
265 |
266 | NProgress.isRendered = function() {
267 | return !!document.getElementById('nprogress');
268 | };
269 |
270 | /**
271 | * Determine which positioning CSS rule to use.
272 | */
273 |
274 | NProgress.getPositioningCSS = function() {
275 | // Sniff on document.body.style
276 | var bodyStyle = document.body.style;
277 |
278 | // Sniff prefixes
279 | var vendorPrefix = ('WebkitTransform' in bodyStyle) ? 'Webkit' :
280 | ('MozTransform' in bodyStyle) ? 'Moz' :
281 | ('msTransform' in bodyStyle) ? 'ms' :
282 | ('OTransform' in bodyStyle) ? 'O' : '';
283 |
284 | if (vendorPrefix + 'Perspective' in bodyStyle) {
285 | // Modern browsers with 3D support, e.g. Webkit, IE10
286 | return 'translate3d';
287 | } else if (vendorPrefix + 'Transform' in bodyStyle) {
288 | // Browsers without 3D support, e.g. IE9
289 | return 'translate';
290 | } else {
291 | // Browsers without translate() support, e.g. IE7-8
292 | return 'margin';
293 | }
294 | };
295 |
296 | /**
297 | * Helpers
298 | */
299 |
300 | function clamp(n, min, max) {
301 | if (n < min) return min;
302 | if (n > max) return max;
303 | return n;
304 | }
305 |
306 | /**
307 | * (Internal) converts a percentage (`0..1`) to a bar translateX
308 | * percentage (`-100%..0%`).
309 | */
310 |
311 | function toBarPerc(n) {
312 | return (-1 + n) * 100;
313 | }
314 |
315 |
316 | /**
317 | * (Internal) returns the correct CSS for changing the bar's
318 | * position given an n percentage, and speed and ease from Settings
319 | */
320 |
321 | function barPositionCSS(n, speed, ease) {
322 | var barCSS;
323 |
324 | if (Settings.positionUsing === 'translate3d') {
325 | barCSS = { transform: 'translate3d('+toBarPerc(n)+'%,0,0)' };
326 | } else if (Settings.positionUsing === 'translate') {
327 | barCSS = { transform: 'translate('+toBarPerc(n)+'%,0)' };
328 | } else {
329 | barCSS = { 'margin-left': toBarPerc(n)+'%' };
330 | }
331 |
332 | barCSS.transition = 'all '+speed+'ms '+ease;
333 |
334 | return barCSS;
335 | }
336 |
337 | /**
338 | * (Internal) Queues a function to be executed.
339 | */
340 |
341 | var queue = (function() {
342 | var pending = [];
343 |
344 | function next() {
345 | var fn = pending.shift();
346 | if (fn) {
347 | fn(next);
348 | }
349 | }
350 |
351 | return function(fn) {
352 | pending.push(fn);
353 | if (pending.length == 1) next();
354 | };
355 | })();
356 |
357 | /**
358 | * (Internal) Applies css properties to an element, similar to the jQuery
359 | * css method.
360 | *
361 | * While this helper does assist with vendor prefixed property names, it
362 | * does not perform any manipulation of values prior to setting styles.
363 | */
364 |
365 | var css = (function() {
366 | var cssPrefixes = [ 'Webkit', 'O', 'Moz', 'ms' ],
367 | cssProps = {};
368 |
369 | function camelCase(string) {
370 | return string.replace(/^-ms-/, 'ms-').replace(/-([\da-z])/gi, function(match, letter) {
371 | return letter.toUpperCase();
372 | });
373 | }
374 |
375 | function getVendorProp(name) {
376 | var style = document.body.style;
377 | if (name in style) return name;
378 |
379 | var i = cssPrefixes.length,
380 | capName = name.charAt(0).toUpperCase() + name.slice(1),
381 | vendorName;
382 | while (i--) {
383 | vendorName = cssPrefixes[i] + capName;
384 | if (vendorName in style) return vendorName;
385 | }
386 |
387 | return name;
388 | }
389 |
390 | function getStyleProp(name) {
391 | name = camelCase(name);
392 | return cssProps[name] || (cssProps[name] = getVendorProp(name));
393 | }
394 |
395 | function applyCss(element, prop, value) {
396 | prop = getStyleProp(prop);
397 | element.style[prop] = value;
398 | }
399 |
400 | return function(element, properties) {
401 | var args = arguments,
402 | prop,
403 | value;
404 |
405 | if (args.length == 2) {
406 | for (prop in properties) {
407 | value = properties[prop];
408 | if (value !== undefined && properties.hasOwnProperty(prop)) applyCss(element, prop, value);
409 | }
410 | } else {
411 | applyCss(element, args[1], args[2]);
412 | }
413 | }
414 | })();
415 |
416 | /**
417 | * (Internal) Determines if an element or space separated list of class names contains a class name.
418 | */
419 |
420 | function hasClass(element, name) {
421 | var list = typeof element == 'string' ? element : classList(element);
422 | return list.indexOf(' ' + name + ' ') >= 0;
423 | }
424 |
425 | /**
426 | * (Internal) Adds a class to an element.
427 | */
428 |
429 | function addClass(element, name) {
430 | var oldList = classList(element),
431 | newList = oldList + name;
432 |
433 | if (hasClass(oldList, name)) return;
434 |
435 | // Trim the opening space.
436 | element.className = newList.substring(1);
437 | }
438 |
439 | /**
440 | * (Internal) Removes a class from an element.
441 | */
442 |
443 | function removeClass(element, name) {
444 | var oldList = classList(element),
445 | newList;
446 |
447 | if (!hasClass(element, name)) return;
448 |
449 | // Replace the class name.
450 | newList = oldList.replace(' ' + name + ' ', ' ');
451 |
452 | // Trim the opening and closing spaces.
453 | element.className = newList.substring(1, newList.length - 1);
454 | }
455 |
456 | /**
457 | * (Internal) Gets a space separated list of the class names on the element.
458 | * The list is wrapped with a single space on each end to facilitate finding
459 | * matches within the list.
460 | */
461 |
462 | function classList(element) {
463 | return (' ' + (element.className || '') + ' ').replace(/\s+/gi, ' ');
464 | }
465 |
466 | /**
467 | * (Internal) Removes an element from the DOM.
468 | */
469 |
470 | function removeElement(element) {
471 | element && element.parentNode && element.parentNode.removeChild(element);
472 | }
473 |
474 | return NProgress;
475 | });
476 |
477 |
--------------------------------------------------------------------------------
/functions.php:
--------------------------------------------------------------------------------
1 | ";
5 | echo "
6 | ";
13 | $favicon = new Typecho_Widget_Helper_Form_Element_Text('favicon', NULL, NULL, _t('图标') , _t(''));
14 | $form->addInput($favicon);
15 | $beian = new Typecho_Widget_Helper_Form_Element_Text('beian', NULL, NULL, _t('备案号') , _t(''));
16 | $form->addInput($beian);
17 | $builtTime = new Typecho_Widget_Helper_Form_Element_Text('builtTime', NULL, NULL, _t('博客建立时间') , _t('格式YYYY-MM-DD'));
18 | $form->addInput($builtTime);
19 | $animateTime = new Typecho_Widget_Helper_Form_Element_Text('animateTime', NULL, NULL, _t('动画过渡时间') , _t('格式 1s'));
20 | $form->addInput($animateTime);
21 | $feedIMG = new Typecho_Widget_Helper_Form_Element_Text('feedIMG', NULL, NULL, _t('打赏二维码图片') , _t('如果没有就算啦,反正不会有人赞赏的'));
22 | $form->addInput($feedIMG);
23 | $navPosition = new Typecho_Widget_Helper_Form_Element_Radio('navPosition', array(
24 | '0' => _t('置底'),
25 | '1' => _t('置顶')
26 | ) , '0', _t('导航栏位置') , _t('默认置底'));
27 | $form->addInput($navPosition);
28 | $pageShadow = new Typecho_Widget_Helper_Form_Element_Radio('pageShadow', array(
29 | '0' => _t('关闭'),
30 | '1' => _t('开启')
31 | ) , '0', _t('页角阴影') , _t('默认关闭'));
32 | $form->addInput($pageShadow);
33 | $upyun = new Typecho_Widget_Helper_Form_Element_Radio('upyun', array(
34 | '0' => _t('否'),
35 | '1' => _t('是')
36 | ) , '0', _t('又拍云联盟') , _t('默认否'));
37 | $form->addInput($upyun);
38 |
39 | }
40 |
41 | require_once __DIR__ . '/lib/shortcode.php';
42 |
43 |
44 | /**
45 | * 网站运行时间
46 | *
47 | * @access public
48 | * @param mixed $arg1
49 | */
50 | function getBuildTime($builtTime) {
51 | echo $builtTime;
52 | }
53 |
54 |
55 | /**
56 | * 文章阅读次数
57 | *
58 | * @access public
59 | * @param mixed
60 | * @return
61 | */
62 | function get_post_view($archive)
63 | {
64 | $cid = $archive->cid;
65 | $db = Typecho_Db::get();
66 | $prefix = $db->getPrefix();
67 | if (!array_key_exists('views', $db->fetchRow($db->select()->from('table.contents')))) {
68 | $db->query('ALTER TABLE `' . $prefix . 'contents` ADD `views` INT(10) DEFAULT 0;');
69 | echo 0;
70 | return;
71 | }
72 | $row = $db->fetchRow($db->select('views')->from('table.contents')->where('cid = ?', $cid));
73 | if ($archive->is('single')) {
74 | $views = Typecho_Cookie::get('extend_contents_views');
75 | if(empty($views)){
76 | $views = array();
77 | }else{
78 | $views = explode(',', $views);
79 | }
80 | if(!in_array($cid,$views)){
81 | $db->query($db->update('table.contents')->rows(array('views' => (int) $row['views'] + 1))->where('cid = ?', $cid));
82 | array_push($views, $cid);
83 | $views = implode(',', $views);
84 | Typecho_Cookie::set('extend_contents_views', $views); //记录查看cookie
85 | }
86 | }
87 | echo $row['views'];
88 | }
89 |
90 |
91 | /**
92 | * 通过id获取文章信息
93 | *
94 | * @access public
95 | * @param mixed
96 | * @return
97 | */
98 |
99 | function GetPostById($id){
100 |
101 | $db = Typecho_Db::get();
102 | $result = $db->fetchAll($db->select()->from('table.contents')
103 | ->where('status = ?','publish')
104 | ->where('type = ?', 'post')
105 | ->where('cid = ?',$id)
106 | );
107 | if($result){
108 | $i=1;
109 | foreach($result as $val){
110 | $val = Typecho_Widget::widget('Widget_Abstract_Contents')->push($val);
111 | $post_title = htmlspecialchars($val['title']);
112 | $post_permalink = $val['permalink'];
113 | $post_date = $val['created'];
114 | $post_date = date('Y-m-d',$post_date);
115 | echo '
116 |
117 |
ID:'.$id.' '.$post_date.'
118 |
';
119 | }
120 | }
121 | else{
122 | return 'id无效QAQ ';
123 | }
124 | }
125 |
126 | /**
127 | * 评论锚点修复
128 | *
129 | * @access public
130 | */
131 | function Comment_hash_fix($archive){
132 | $header = "
191 | ";
192 | return $header;
193 | }
194 |
195 |
196 |
197 | /**
198 | * 文章内容解析(短代码,表情)
199 | *
200 | * @access public
201 | * @param mixed
202 | * @return
203 | */
204 | function emotionContent($content,$url)
205 | {
206 | // //HyperDown解析
207 | // $Parsedown = new Parsedown();
208 | // $content = $Parsedown->text($content);
209 | //表情解析
210 | $fcontent = preg_replace('#\@\((.*?)\)#',' ',$content);
211 |
212 | //感谢Maicong大佬的短代码解析QwQ
213 | $fcontent = do_shortcode($fcontent);
214 |
215 |
216 | //输出最终结果
217 | echo $fcontent;
218 | }
219 |
220 |
221 |
222 | /**
223 | * 泽泽大佬的字数统计
224 | */
225 | Typecho_Plugin::factory('admin/write-post.php')->bottom = array('myyodu', 'one');
226 | Typecho_Plugin::factory('admin/write-page.php')->bottom = array('myyodu', 'one');
227 | class myyodu {
228 | public static function one()
229 | {
230 | ?>
231 |
234 |
309 |
315 |
7 | * @link https://github.com/maicong/stay
8 | * @since 1.0.0
9 | *
10 | */
11 |
12 | $shortcode_tags = array();
13 |
14 | function add_shortcode($tag, $func) {
15 | global $shortcode_tags;
16 | if ( '' == trim( $tag ) ) {
17 | return;
18 | }
19 | if ( 0 !== preg_match( '@[<>&/\[\]\x00-\x20=]@', $tag ) ) {
20 | return;
21 | }
22 | $shortcode_tags[ $tag ] = $func;
23 | }
24 |
25 | function do_shortcode( $content, $ignore_html = false ) {
26 | global $shortcode_tags;
27 | if ( false === strpos( $content, '[' ) ) {
28 | return $content;
29 | }
30 | if (empty($shortcode_tags) || !is_array($shortcode_tags)) {
31 | return $content;
32 | }
33 | // Find all registered tag names in $content.
34 | //20180603
35 | $pregRule="/\[(.*?)\]<\/p>/";
36 | $content = preg_replace($pregRule,'[${1}]', $content);
37 |
38 | preg_match_all( '@\[([^<>&/\[\]\x00-\x20=]++)@', $content, $matches );
39 | $tagnames = array_intersect( array_keys( $shortcode_tags ), $matches[1] );
40 | if ( empty( $tagnames ) ) {
41 | return $content;
42 | }
43 | $content = do_shortcodes_in_html_tags( $content, $ignore_html, $tagnames );
44 | $pattern = get_shortcode_regex( $tagnames );
45 | $content = preg_replace_callback( "/$pattern/", 'do_shortcode_tag', $content );
46 | // Always restore square braces so we don't break things like is found.
245 | . '-(?!->)' // Dash not followed by end of comment.
246 | . '[^\-]*+' // Consume non-dashes.
247 | . ')*+' // Loop possessively.
248 | . '(?:-->)?'; // End of comment. If not found, match all input.
249 | $cdata =
250 | '!\[CDATA\[' // Start of comment, after the <.
251 | . '[^\]]*+' // Consume non-].
252 | . '(?:' // Unroll the loop: Consume everything until ]]> is found.
253 | . '](?!]>)' // One ] not followed by end of comment.
254 | . '[^\]]*+' // Consume non-].
255 | . ')*+' // Loop possessively.
256 | . '(?:]]>)?'; // End of comment. If not found, match all input.
257 | $escaped =
258 | '(?=' // Is the element escaped?
259 | . '!--'
260 | . '|'
261 | . '!\[CDATA\['
262 | . ')'
263 | . '(?(?=!-)' // If yes, which type?
264 | . $comments
265 | . '|'
266 | . $cdata
267 | . ')';
268 | $regex =
269 | '/(' // Capture the entire match.
270 | . '<' // Find start of element.
271 | . '(?' // Conditional expression follows.
272 | . $escaped // Find end of escaped element.
273 | . '|' // ... else ...
274 | . '[^>]*>?' // Find end of normal element.
275 | . ')'
276 | . ')/';
277 | }
278 | return $regex;
279 | }
280 |
281 | function kses_attr_parse( $element ) {
282 | $valid = preg_match('%^(<\s*)(/\s*)?([a-zA-Z0-9]+\s*)([^>]*)(>?)$%', $element, $matches);
283 | if ( 1 !== $valid ) {
284 | return false;
285 | }
286 | $begin = $matches[1];
287 | $slash = $matches[2];
288 | $elname = $matches[3];
289 | $attr = $matches[4];
290 | $end = $matches[5];
291 | if ( '' !== $slash ) {
292 | // Closing elements do not get parsed.
293 | return false;
294 | }
295 | // Is there a closing XHTML slash at the end of the attributes?
296 | if ( 1 === preg_match( '%\s*/\s*$%', $attr, $matches ) ) {
297 | $xhtml_slash = $matches[0];
298 | $attr = substr( $attr, 0, -strlen( $xhtml_slash ) );
299 | } else {
300 | $xhtml_slash = '';
301 | }
302 |
303 | // Split it
304 | $attrarr = kses_hair_parse( $attr );
305 | if ( false === $attrarr ) {
306 | return false;
307 | }
308 | // Make sure all input is returned by adding front and back matter.
309 | array_unshift( $attrarr, $begin . $slash . $elname );
310 | array_push( $attrarr, $xhtml_slash . $end );
311 |
312 | return $attrarr;
313 | }
314 |
315 | function kses_hair_parse( $attr ) {
316 | if ( '' === $attr ) {
317 | return array();
318 | }
319 | $regex =
320 | '(?:'
321 | . '[-a-zA-Z:]+' // Attribute name.
322 | . '|'
323 | . '\[\[?[^\[\]]+\]\]?' // Shortcode in the name position implies unfiltered_html.
324 | . ')'
325 | . '(?:' // Attribute value.
326 | . '\s*=\s*' // All values begin with '='
327 | . '(?:'
328 | . '"[^"]*"' // Double-quoted
329 | . '|'
330 | . "'[^']*'" // Single-quoted
331 | . '|'
332 | . '[^\s"\']+' // Non-quoted
333 | . '(?:\s|$)' // Must have a space
334 | . ')'
335 | . '|'
336 | . '(?:\s|$)' // If attribute has no value, space is required.
337 | . ')'
338 | . '\s*'; // Trailing space is optional except as mentioned above.
339 | // Although it is possible to reduce this procedure to a single regexp,
340 | // we must run that regexp twice to get exactly the expected result.
341 | $validation = "%^($regex)+$%";
342 | $extraction = "%$regex%";
343 | if ( 1 === preg_match( $validation, $attr ) ) {
344 | preg_match_all( $extraction, $attr, $attrarr );
345 | return $attrarr[0];
346 | } else {
347 | return false;
348 | }
349 | }
350 |
351 | function kses_one_attr( $string, $element ) {
352 | $string = preg_replace( ['/[\x00-\x08\x0B\x0C\x0E-\x1F]/', '%&\s*\{[^}]*(\}\s*;?|$)%'], '', $string );
353 |
354 | // Preserve leading and trailing whitespace.
355 | $matches = array();
356 | preg_match('/^\s*/', $string, $matches);
357 | $lead = $matches[0];
358 | preg_match('/\s*$/', $string, $matches);
359 | $trail = $matches[0];
360 | if ( empty( $trail ) ) {
361 | $string = substr( $string, strlen( $lead ) );
362 | } else {
363 | $string = substr( $string, strlen( $lead ), -strlen( $trail ) );
364 | }
365 |
366 | // Parse attribute name and value from input.
367 | $split = preg_split( '/\s*=\s*/', $string, 2 );
368 | $name = $split[0];
369 | if ( count( $split ) == 2 ) {
370 | $value = $split[1];
371 | // Remove quotes surrounding $value.
372 | // Also guarantee correct quoting in $string for this one attribute.
373 | if ( '' == $value ) {
374 | $quote = '';
375 | } else {
376 | $quote = $value[0];
377 | }
378 | if ( '"' == $quote || "'" == $quote ) {
379 | if ( substr( $value, -1 ) != $quote ) {
380 | return '';
381 | }
382 | $value = substr( $value, 1, -1 );
383 | } else {
384 | $quote = '"';
385 | }
386 | // Sanitize quotes, angle braces, and entities.
387 | $value = htmlspecialchars( $value, ENT_QUOTES, 'UTF-8' );
388 | // Sanitize URI values.
389 | $string = "$name=$quote$value$quote";
390 | $vless = 'n';
391 | } else {
392 | $value = '';
393 | $vless = 'y';
394 | }
395 |
396 | // Restore whitespace.
397 | return $lead . $string . $trail;
398 | }
399 |
400 | function autop( $pee, $br = true ) {
401 | $pre_tags = array();
402 | if ( trim( $pee ) === '' ) {
403 | return '';
404 | }
405 | // Just to make things a little easier, pad the end.
406 | $pee = $pee . "\n";
407 | /*
408 | * Pre tags shouldn't be touched by autop.
409 | * Replace pre tags with placeholders and bring them back after autop.
410 | */
411 | if ( strpos( $pee, '
', $pee );
413 | $last_pee = array_pop( $pee_parts );
414 | $pee = '';
415 | $i = 0;
416 | foreach ( $pee_parts as $pee_part ) {
417 | $start = strpos( $pee_part, ' ";
424 | $pre_tags[ $name ] = substr( $pee_part, $start ) . ' ';
425 | $pee .= substr( $pee_part, 0, $start ) . $name;
426 | $i++;
427 | }
428 | $pee .= $last_pee;
429 | }
430 | // Change multiple s into two line breaks, which will turn into paragraphs.
431 | $pee = preg_replace( '| \s* |', "\n\n", $pee );
432 | $allblocks = '(?:table|thead|tfoot|caption|col|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|pre|form|map|area|blockquote|address|math|style|p|h[1-6]|hr|fieldset|legend|section|article|aside|hgroup|header|footer|nav|figure|figcaption|details|menu|summary)';
433 | // Add a double line break above block-level opening tags.
434 | $pee = preg_replace( '!(<' . $allblocks . '[\s/>])!', "\n\n$1", $pee );
435 | // Add a double line break below block-level closing tags.
436 | $pee = preg_replace( '!(' . $allblocks . '>)!', "$1\n\n", $pee );
437 | // Standardize newline characters to "\n".
438 | $pee = str_replace( array( "\r\n", "\r" ), "\n", $pee );
439 | // Find newlines in all elements and add placeholders.
440 | $pee = replace_in_html_tags( $pee, array( "\n" => ' ' ) );
441 | // Collapse line breaks before and after elements so they don't get autop'd.
442 | if ( strpos( $pee, ' \s*|', ' ', $pee );
445 | }
446 | /*
447 | * Collapse line breaks inside elements, before and elements
448 | * so they don't get autop'd.
449 | */
450 | if ( strpos( $pee, ' ' ) !== false ) {
451 | $pee = preg_replace( '|(]*>)\s*|', '$1', $pee );
452 | $pee = preg_replace( '|\s* |', '', $pee );
453 | $pee = preg_replace( '%\s*(?(?:param|embed)[^>]*>)\s*%', '$1', $pee );
454 | }
455 | /*
456 | * Collapse line breaks inside and elements,
457 | * before and after and elements.
458 | */
459 | if ( strpos( $pee, '\]]*[>\]])\s*%', '$1', $pee );
461 | $pee = preg_replace( '%\s*([<\[]/(?:audio|video)[>\]])%', '$1', $pee );
462 | $pee = preg_replace( '%\s*(<(?:source|track)[^>]*>)\s*%', '$1', $pee );
463 | }
464 | // Collapse line breaks before and after elements.
465 | if ( strpos( $pee, ']*>)|', '$1', $pee );
467 | $pee = preg_replace( '| \s*|', ' ', $pee );
468 | }
469 | // Remove more than two contiguous line breaks.
470 | $pee = preg_replace( "/\n\n+/", "\n\n", $pee );
471 | // Split up the contents into an array of strings, separated by double line breaks.
472 | $pees = preg_split( '/\n\s*\n/', $pee, -1, PREG_SPLIT_NO_EMPTY );
473 | // Reset $pee prior to rebuilding.
474 | $pee = '';
475 | // Rebuild the content as a string, wrapping every bit with a .
476 | foreach ( $pees as $tinkle ) {
477 | $pee .= '
' . trim( $tinkle, "\n" ) . "
\n";
478 | }
479 | // Under certain strange conditions it could create a P of entirely whitespace.
480 | $pee = preg_replace( '|\s*
|', '', $pee );
481 | // Add a closing inside
87 |
88 |
--------------------------------------------------------------------------------
/lib/shortcode.php:
--------------------------------------------------------------------------------
1 |
8 | * @link https://github.com/maicong/stay
9 | * @since 1.5.4
10 | *
11 | */
12 |
13 | if (!defined('__TYPECHO_ROOT_DIR__')) exit;
14 |
15 | require_once __DIR__ . '/shortcode.main.php';
16 |
17 | // // 项目面板
18 | // function shortcode_panel_task( $atts, $content = '' ) {
19 | // return '
' . $content . '
';
20 | // }
21 | // add_shortcode( 'task' , 'shortcode_panel_task' );
22 |
23 | //文章跳转
24 | function shortcode_jump_button( $atts, $content= ''){
25 |
26 | $db = Typecho_Db::get();
27 | $result = $db->fetchAll($db->select()->from('table.contents')
28 | ->where('status = ?','publish')
29 | ->where('type = ?', 'post')
30 | ->where('cid = ?',$content)
31 | );
32 | if($result){
33 | $i=1;
34 | foreach($result as $val){
35 | $val = Typecho_Widget::widget('Widget_Abstract_Contents')->push($val);
36 | $post_title = htmlspecialchars($val['title']);
37 | $post_permalink = $val['permalink'];
38 | $post_date = $val['created'];
39 | $post_cid = $val['cid'];
40 | $post_date = date('Y-m-d',$post_date);
41 | return '
42 |
43 |
44 |
ID:'.$post_cid.' '.$post_date.'
45 |
46 | ';
47 | }
48 | }
49 | else{
50 | return 'id无效QAQ ';
51 | }
52 |
53 |
54 |
55 | }
56 | add_shortcode('art','shortcode_jump_button');
57 |
58 | // 下载
59 | function shortcode_button_dl( $atts, $content = '' ) {
60 | $args = shortcode_atts( array(
61 | 'href' => 'https://',
62 | 'target' => '_blank'
63 | ), $atts );
64 | return '
';
65 | }
66 | add_shortcode( 'dl' , 'shortcode_button_dl' );
67 |
68 |
69 | function shortcode_notice( $atts, $content = '' ) {
70 | return "
".$content."
";
71 | }
72 | add_shortcode( 'notice' , 'shortcode_notice' );
73 |
74 |
75 | function shortcode_warn( $atts, $content = '' ) {
76 | return "
".$content."
";
77 | }
78 | add_shortcode( 'warn' , 'shortcode_warn' );
79 |
80 |
81 | function shortcode_tag( $atts, $content = '' ) {
82 | $args = shortcode_atts( array(
83 | 'type' => 'blue'
84 | ), $atts );
85 | return "".$content." ";
86 | }
87 | add_shortcode( 'tag' , 'shortcode_tag' );
88 |
89 | // function shortcode_fold( $atts, $content = '' ) {
90 | // $args = shortcode_atts( array(
91 | // 'title' => '折叠内容'
92 | // ), $atts );
93 | // return "
";
94 | // }
95 | // add_shortcode( 'fold' , 'shortcode_fold' );
96 |
--------------------------------------------------------------------------------
/archives.php:
--------------------------------------------------------------------------------
1 | need('header.php');
8 | ?>
9 |
10 |
11 |
12 |
归档
13 |
14 |
15 | widget('Widget_Metas_Tag_Cloud', array('sort' => 'count', 'ignoreZeroCount' => true, 'desc' => true, 'limit' => 20))->to($tags); ?>
16 | have()): ?>
17 | next()): ?>
18 |
#name(); ?>
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 | "Jan",
28 | 2 => "Feb",
29 | 3 => "Mar",
30 | 4 => "Apr",
31 | 5 => "May",
32 | 6 => "Jun",
33 | 7 => "Jul",
34 | 8 => "Aug",
35 | 9 => "Sep",
36 | 10 => "Oct",
37 | 11 => "Nov",
38 | 12 => "Dec");
39 | $this->widget('Widget_Contents_Post_Recent', 'pageSize=10000')->to($archives);
40 | $year = 0;
41 | $mon = 0;
42 | $i = 0;
43 | $j = 0;
44 | $all = array();
45 | $output = '';
46 | while ($archives->next()):
47 | $year_tmp = date('Y', $archives->created);
48 | $mon_tmp = date('n', $archives->created);
49 |
50 | $y = $year;
51 | $m = $mon;
52 | if ($mon != $mon_tmp && $mon > 0) $output .= '
';
53 | if ($year != $year_tmp) {
54 | $year = $year_tmp;
55 | $all[$year] = array();
56 | }
57 |
58 | if ($mon != $mon_tmp) {
59 | $mon = $mon_tmp;
60 | array_push($all[$year], $mon);
61 | $output .= "
$year-$Month_E[$mon] ";
62 | }
63 | $output .= '
';
64 | endwhile;
65 | $output .= '
';
66 | echo $output;
67 |
68 | $html = "";
69 | $year_now = date("Y");
70 | foreach ($all as $key => $value) {
71 | $html .= "
$key ";
72 | for ($i = 12; $i > 0; $i--) {
73 | if ($key == $year_now && $i > $value[0]) continue;
74 | $html .= in_array($i, $value) ? ("$i ") : ("$i ");
75 | }
76 | $html .= " ";
77 | }
78 | ?>
79 |
80 |
81 |
82 |
83 |
84 |
85 | need('footer.php'); ?>
86 |
--------------------------------------------------------------------------------
/CSS/shortcode.white.css:
--------------------------------------------------------------------------------
1 | /*
2 | * @description: 短代码样式表
3 | * @author: psyduck
4 | */
5 |
6 | * {
7 | font-family: 'Arima Madurai', Microsoft JhengHei, Georgia, Times, serif;
8 | -webkit-appearance: none;
9 | }
10 |
11 | .ArtinArt {
12 | padding: 20px;
13 | background: white;
14 | max-width: 300px;
15 | margin: 10px auto;
16 | /*box-shadow: 0px 0px 10px 2px rgba(0,0,0,0.12);*/
17 | border: 1px solid #eee;
18 | }
19 |
20 | .ArtinArt h4 {
21 | margin: 0;
22 | border: none;
23 | }
24 |
25 | .ArtinArt h4 a::after {
26 | display: none;
27 | }
28 |
29 | .ArtinArt p {
30 | margin-top: 5px !important;
31 | margin-bottom: 0;
32 | color: hsla(0, 0%, 100%, .6);
33 | }
34 |
35 | .post-download {
36 |
37 | }
38 |
39 | .post-download a {
40 | margin: 10px auto;
41 | border: 1px solid #3A8FB7;
42 | padding: 0.7rem 2rem;
43 | display: inline-block;
44 | max-width: 150px;
45 | /*border-radius: 100000000rem;*/
46 | text-align: center;
47 | color: #3A8FB7 !important;
48 | text-overflow: ellipsis;
49 | white-space: nowrap !important;
50 | overflow: hidden;
51 | -webkit-transition: .3s ease all;
52 | -moz-transition: .3s ease all;
53 | -ms-transition: .3s ease all;
54 | -o-transition: .3s ease all;
55 | transition: .3s ease all;
56 | }
57 |
58 | .post-download a span::before {
59 | font-size: 1rem;
60 | content: ' ';
61 | display: inline-block;
62 | position: relative;
63 | width: 1rem;
64 | height: 1rem;
65 | top: 0.2rem;
66 | left: -0.4rem;
67 | background-size: contain;
68 | background-image: url(../IMG/down.png);
69 | -webkit-transition: .3s ease all;
70 | -moz-transition: .3s ease all;
71 | -ms-transition: .3s ease all;
72 | -o-transition: .3s ease all;
73 | transition: .3s ease all;
74 | }
75 |
76 | .post-download a:hover span::before {
77 | font-size: 1rem;
78 | content: ' ';
79 | display: inline-block;
80 | position: relative;
81 | width: 1rem;
82 | height: 1rem;
83 | top: 0.2rem;
84 | left: -0.4rem;
85 | background-size: contain;
86 | background-image: url(../IMG/down-hover.png);
87 | }
88 |
89 | .post-download a::after {
90 | display: none;
91 | }
92 |
93 | .post-download a:hover {
94 | background: #3A8FB7;
95 | color: white !important;
96 | }
97 |
98 | .post-content-notice {
99 | margin: 15px 0;
100 | border: 1.5px solid RGB(121, 145, 209);
101 | padding: 1.5rem 1.25rem 1.5rem 3.5rem;
102 | position: relative;
103 | overflow: hidden;
104 | }
105 |
106 | .post-content-notice:before {
107 | content: " ";
108 | position: absolute;
109 | top: 0;
110 | right: 0;
111 | bottom: 0;
112 | left: 0;
113 | background: url(../IMG/notice.svg) no-repeat;
114 | opacity: .1;
115 | }
116 |
117 | .post-content-warn {
118 | margin: 15px 0;
119 | border: 1.5px solid RGBA(184, 2, 51, 0.6);
120 | padding: 1.5rem 1.25rem 1.5rem 3.5rem;
121 | position: relative;
122 | overflow: hidden;
123 | }
124 |
125 | .post-content-warn:before {
126 | content: " ";
127 | position: absolute;
128 | top: 0;
129 | right: 0;
130 | bottom: 0;
131 | left: 0;
132 | background: url(../IMG/warn.svg) no-repeat;
133 | opacity: .1;
134 | }
135 |
136 | .post-content-tag {
137 | display: inline-block;
138 | margin: 0 5px;
139 | padding: 0 .5rem;
140 | font-size: 12px;
141 | vertical-align: middle;
142 | }
143 |
144 | .tag-blue {
145 | color: RGB(121, 145, 209);
146 | border: 0.0625rem solid RGB(121, 145, 209);
147 | }
148 |
149 | .tag-black {
150 | color: #444;
151 | border: 0.0625rem solid #444;
152 | }
153 |
154 | .tag-red {
155 | color: RGBA(184, 2, 51, 0.6);
156 | border: 0.0625rem solid RGBA(184, 2, 51, 0.6);
157 | }
158 |
--------------------------------------------------------------------------------
/comments.php:
--------------------------------------------------------------------------------
1 | options->themeUrl;
3 | $header = Comment_hash_fix($this);
4 | echo $header;
5 | ?>
6 |
7 | authorId) {
11 | if ($comments->authorId == $comments->ownerId) {
12 | $commentClass .= ' comment-by-author';
13 | } else {
14 | $commentClass .= ' comment-by-user';
15 | }
16 | }
17 |
18 | $commentLevelClass = $comments->levels > 0 ? ' comment-child' : ' comment-parent';
19 | ?>
20 |
21 |
31 |
32 | levels == 0){
34 | echo "";
66 | }
67 | ?>
68 |
69 |
70 |
71 |
72 |
73 |
122 |
--------------------------------------------------------------------------------
/JS/toastr.min.js:
--------------------------------------------------------------------------------
1 | /*
2 | * Note that this is toastr v2.1.3, the "latest" version in url has no more maintenance,
3 | * please go to https://cdnjs.com/libraries/toastr.js and pick a certain version you want to use,
4 | * make sure you copy the url from the website since the url may change between versions.
5 | * */
6 | !function(e){e(["jquery"],function(e){return function(){function t(e,t,n){return g({type:O.error,iconClass:m().iconClasses.error,message:e,optionsOverride:n,title:t})}function n(t,n){return t||(t=m()),v=e("#"+t.containerId),v.length?v:(n&&(v=d(t)),v)}function o(e,t,n){return g({type:O.info,iconClass:m().iconClasses.info,message:e,optionsOverride:n,title:t})}function s(e){C=e}function i(e,t,n){return g({type:O.success,iconClass:m().iconClasses.success,message:e,optionsOverride:n,title:t})}function a(e,t,n){return g({type:O.warning,iconClass:m().iconClasses.warning,message:e,optionsOverride:n,title:t})}function r(e,t){var o=m();v||n(o),u(e,o,t)||l(o)}function c(t){var o=m();return v||n(o),t&&0===e(":focus",t).length?void h(t):void(v.children().length&&v.remove())}function l(t){for(var n=v.children(),o=n.length-1;o>=0;o--)u(e(n[o]),t)}function u(t,n,o){var s=!(!o||!o.force)&&o.force;return!(!t||!s&&0!==e(":focus",t).length)&&(t[n.hideMethod]({duration:n.hideDuration,easing:n.hideEasing,complete:function(){h(t)}}),!0)}function d(t){return v=e("
").attr("id",t.containerId).addClass(t.positionClass),v.appendTo(e(t.target)),v}function p(){return{tapToDismiss:!0,toastClass:"toast",containerId:"toast-container",debug:!1,showMethod:"fadeIn",showDuration:300,showEasing:"swing",onShown:void 0,hideMethod:"fadeOut",hideDuration:1e3,hideEasing:"swing",onHidden:void 0,closeMethod:!1,closeDuration:!1,closeEasing:!1,closeOnHover:!0,extendedTimeOut:1e3,iconClasses:{error:"toast-error",info:"toast-info",success:"toast-success",warning:"toast-warning"},iconClass:"toast-info",positionClass:"toast-top-right",timeOut:5e3,titleClass:"toast-title",messageClass:"toast-message",escapeHtml:!1,target:"body",closeHtml:'× ',closeClass:"toast-close-button",newestOnTop:!0,preventDuplicates:!1,progressBar:!1,progressClass:"toast-progress",rtl:!1}}function f(e){C&&C(e)}function g(t){function o(e){return null==e&&(e=""),e.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function s(){c(),u(),d(),p(),g(),C(),l(),i()}function i(){var e="";switch(t.iconClass){case"toast-success":case"toast-info":e="polite";break;default:e="assertive"}I.attr("aria-live",e)}function a(){E.closeOnHover&&I.hover(H,D),!E.onclick&&E.tapToDismiss&&I.click(b),E.closeButton&&j&&j.click(function(e){e.stopPropagation?e.stopPropagation():void 0!==e.cancelBubble&&e.cancelBubble!==!0&&(e.cancelBubble=!0),E.onCloseClick&&E.onCloseClick(e),b(!0)}),E.onclick&&I.click(function(e){E.onclick(e),b()})}function r(){I.hide(),I[E.showMethod]({duration:E.showDuration,easing:E.showEasing,complete:E.onShown}),E.timeOut>0&&(k=setTimeout(b,E.timeOut),F.maxHideTime=parseFloat(E.timeOut),F.hideEta=(new Date).getTime()+F.maxHideTime,E.progressBar&&(F.intervalId=setInterval(x,10)))}function c(){t.iconClass&&I.addClass(E.toastClass).addClass(y)}function l(){E.newestOnTop?v.prepend(I):v.append(I)}function u(){if(t.title){var e=t.title;E.escapeHtml&&(e=o(t.title)),M.append(e).addClass(E.titleClass),I.append(M)}}function d(){if(t.message){var e=t.message;E.escapeHtml&&(e=o(t.message)),B.append(e).addClass(E.messageClass),I.append(B)}}function p(){E.closeButton&&(j.addClass(E.closeClass).attr("role","button"),I.prepend(j))}function g(){E.progressBar&&(q.addClass(E.progressClass),I.prepend(q))}function C(){E.rtl&&I.addClass("rtl")}function O(e,t){if(e.preventDuplicates){if(t.message===w)return!0;w=t.message}return!1}function b(t){var n=t&&E.closeMethod!==!1?E.closeMethod:E.hideMethod,o=t&&E.closeDuration!==!1?E.closeDuration:E.hideDuration,s=t&&E.closeEasing!==!1?E.closeEasing:E.hideEasing;if(!e(":focus",I).length||t)return clearTimeout(F.intervalId),I[n]({duration:o,easing:s,complete:function(){h(I),clearTimeout(k),E.onHidden&&"hidden"!==P.state&&E.onHidden(),P.state="hidden",P.endTime=new Date,f(P)}})}function D(){(E.timeOut>0||E.extendedTimeOut>0)&&(k=setTimeout(b,E.extendedTimeOut),F.maxHideTime=parseFloat(E.extendedTimeOut),F.hideEta=(new Date).getTime()+F.maxHideTime)}function H(){clearTimeout(k),F.hideEta=0,I.stop(!0,!0)[E.showMethod]({duration:E.showDuration,easing:E.showEasing})}function x(){var e=(F.hideEta-(new Date).getTime())/F.maxHideTime*100;q.width(e+"%")}var E=m(),y=t.iconClass||E.iconClass;if("undefined"!=typeof t.optionsOverride&&(E=e.extend(E,t.optionsOverride),y=t.optionsOverride.iconClass||y),!O(E,t)){T++,v=n(E,!0);var k=null,I=e("
"),M=e("
"),B=e("
"),q=e("
"),j=e(E.closeHtml),F={intervalId:null,hideEta:null,maxHideTime:null},P={toastId:T,state:"visible",startTime:new Date,options:E,map:t};return s(),r(),a(),f(P),E.debug&&console&&console.log(P),I}}function m(){return e.extend({},p(),b.options)}function h(e){v||(v=n()),e.is(":visible")||(e.remove(),e=null,0===v.children().length&&(v.remove(),w=void 0))}var v,C,w,T=0,O={error:"error",info:"info",success:"success",warning:"warning"},b={clear:r,remove:c,error:t,getContainer:n,info:o,options:{},subscribe:s,success:i,version:"2.1.3",warning:a};return b}()})}("function"==typeof define&&define.amd?define:function(e,t){"undefined"!=typeof module&&module.exports?module.exports=t(require("jquery")):window.toastr=t(window.jQuery)});
7 | //# sourceMappingURL=toastr.js.map
8 |
--------------------------------------------------------------------------------
/header.php:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
archiveTitle(' » ', '', ' | '); ?>options->title(); ?>
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
206 |
207 |
208 |
209 |
210 |
211 |
212 |
213 |
214 |
215 |
216 |
217 | header(); ?>
218 |
219 |
220 |
221 |
222 |
223 |