diff --git a/2024/02/02/hello-world/index.html b/2024/02/02/hello-world/index.html index aed1170..567e5c0 100644 --- a/2024/02/02/hello-world/index.html +++ b/2024/02/02/hello-world/index.html @@ -1,128 +1,7 @@ - - - - - - - - - - - - Hello World | HAVE A NICE DAY! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - -
- - - - - - -
- - - - - - - - - - - - - -
-
-
Hello World
-
- - - 2024-02-02 - - -
-
-

Quick Start

Create a new post

1
$ hexo new "My New Post"
+Hello World +
Hello World
写于2024年02月02日

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

+ +

Quick Start

Create a new post

1
$ hexo new "My New Post"

More info: Writing

Run server

1
$ hexo server
@@ -134,311 +13,16 @@

Deploy to remote sites

1
$ hexo deploy

More info: Deployment

-
- -
-
- -
-
- - - 2024-02-02 - - -
-
- - - NEXT - - - -
-
- -
- -
-
目录
- -
- - - - - - - - -
- - - - - - - - -
- - - - - -
- -
- - - - -
- - - - - - - - - -
- - - -
- - - - - +
+ + + -
- - - - + + + + \ No newline at end of file diff --git "a/2024/02/08/\346\210\221\347\232\204\347\254\254\344\270\200\347\257\207/index.html" "b/2024/02/08/\346\210\221\347\232\204\347\254\254\344\270\200\347\257\207/index.html" index 447cb74..902d1b8 100644 --- "a/2024/02/08/\346\210\221\347\232\204\347\254\254\344\270\200\347\257\207/index.html" +++ "b/2024/02/08/\346\210\221\347\232\204\347\254\254\344\270\200\347\257\207/index.html" @@ -1,482 +1,16 @@ - - - - - - - - - - - - 我的第一篇 | HAVE A NICE DAY! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - -
- - - - - - -
- - - - - - - - - - - - - -
-
-
我的第一篇
-
- - - 2024-02-08 - - - - - - - - # 2024年2月 - - - - - - - -
-
- -
- -
-
- - - - PREV - - -
-
- - - 2024-02-08 - - - - - - - - # 2024年2月 - - - - - - - -
-
- - - NEXT - - - -
-
- -
- -
-
目录
-
-
  1. 终于
-
-
- - - - - - - - -
- - - - - - - - -
- - - - - -
- -
- - - - -
- - - - - - - - - -
- - - -
- - - - - - - - -
- - - - +我的第一篇 +
我的第一篇
写于2024年02月08日

终于

折腾了几天,断断续续的终于配置好了我的博客,就让这一篇成为开始吧。应该我能保持一个月至少更新一次吧,此站域名长期不会变化。

+ +
+ + + + + + + + + + \ No newline at end of file diff --git "a/2024/02/08/\346\227\245\350\256\260/index.html" "b/2024/02/08/\346\227\245\350\256\260/index.html" index 5ae45d9..2eeeea2 100644 --- "a/2024/02/08/\346\227\245\350\256\260/index.html" +++ "b/2024/02/08/\346\227\245\350\256\260/index.html" @@ -1,488 +1,23 @@ - - - - - - - - - - - - 关于写日记 | HAVE A NICE DAY! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - -
- - - - - - -
- - - - - - - - - - - - - -
-
-
关于写日记
-
- - - 2024-02-08 - - - - - - - - # 2024年2月 - - - - - - - -
-
-

晨间日记🥪

想到什么就写一些什么,开阔一下自己的想象力。如果实在是不知道从何处起笔,那么可以这样子写,现在是2月8日的下午,我坐在床上…

+关于写日记 +
关于写日记
写于2024年02月08日

为什么要写日记❔️

写日记可以回顾记忆、理解自我思想、改变对待生活的态度。日记是理解自己想法和感受的方式,可以通过问自己问题来审问自己。写日记的三个方式分别是记录当天事情、讲故事和写晨报。通过写日记,可以增加对生活的欣赏和创造力。总结自Ali Abdaal

+ +

晨间日记🥪

想到什么就写一些什么,开阔一下自己的想象力。如果实在是不知道从何处起笔,那么可以这样子写,现在是2月8日的下午,我坐在床上…

心情日记😀

纪录今天做了什么事情?今天发生的几件事?重点落在思绪,感受,情感……

表达性写作,纪录生活中任何痛苦,消极,抓马的事,主要记录今天自己的感受(情绪),以及对事情的想法,并反思今天的行为如何影响自己的心情,可以如何更积极应对。

日记作业📘

今天发生在我身上的最有故事价值的事情是什么?

感恩日记❤

所感激的人或事(关注自己生活中发生的美好的事情上)
你感激的三件事是什么,我很感谢谁,描述这个人的特点的三个品质,此人在什么时候展现出了这些品质。

决策日记🤔

1、思考:
(1)你应该做什么?
(2)你想做什么决定?
(3)此时此地你应该采取什么行动?

以上为内容复制来的

-
- -
-
- - - - PREV - - -
-
- - - 2024-02-08 - - - - - - - - # 2024年2月 - - - - - - - -
-
- - - NEXT - - - -
-
- -
- -
-
目录
- -
- - - - - - - - -
- - - - - - - - -
- - - - - -
- -
- - - - -
- - - - - - - - - -
- - - -
- - - - - +
+ + + -
- - - - + + + + \ No newline at end of file diff --git "a/2024/02/24/\350\256\260\344\270\200\346\254\241\345\274\225\346\265\201\346\211\213\346\234\257/index.html" "b/2024/02/24/\350\256\260\344\270\200\346\254\241\345\274\225\346\265\201\346\211\213\346\234\257/index.html" index ed07743..ec283d6 100644 --- "a/2024/02/24/\350\256\260\344\270\200\346\254\241\345\274\225\346\265\201\346\211\213\346\234\257/index.html" +++ "b/2024/02/24/\350\256\260\344\270\200\346\254\241\345\274\225\346\265\201\346\211\213\346\234\257/index.html" @@ -1,156 +1,9 @@ - - +记一次引流手术 +
记一次引流手术
写于2024年02月24日

起因

今年我做了人生中的第一个小手术,引流手术。如果你看到“火疖子”“囊肿”这几个词在幸灾乐祸,你最好保佑好自己🙏不会有这些东西。

+

伏笔大概已经在去年就埋好了,那时候在学校因为坐得久,屁股上长了一个小肿块,是的,一个小肿块和我的屁股和谐共生。

+ - - - - - - - - - 记一次引流手术 | HAVE A NICE DAY! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - -
- - - - - - -
- - - - - - - - - - - - - -
-
-
记一次引流手术
-
- - - 2024-02-24 - - - - - - - - # 2024年2月 - - - - - - - -
-
-

生长

过年我把这件事和家里人说了,他们推荐我擦点药,我照做了,并逐渐对这个肿块产生了非常大的兴趣,经常没事去看看它还在不在,我现在真特么后悔那时手贱的自己啊。

+

生长

过年我把这件事和家里人说了,他们推荐我擦点药,我照做了,并逐渐对这个肿块产生了非常大的兴趣,经常没事去看看它还在不在,我现在真特么后悔那时手贱的自己啊。

我估计因为这事刺激到我们这个小可爱了,去学校后,吃的差的原因,免疫力下降,屁股那块开始就慢慢肿起来了。

开始并不大,我没当回事,知道我发现我淋巴开始肿起来了才意识到问题的严重。

等有鸽子蛋🥚那么大的时候,坐在椅子上就是煎熬了,因为上学要一直坐那,我真的想die。过了一天,是最痛的时候,有一个鸡蛋那么大了。

@@ -165,344 +18,16 @@

换药特么没想到,痛感还是那么大,只是持续时间少了点,这次我只说了一声😯🌿然后哼哼哼的扛了过去,听说是要把消毒棉花塞进去,还要换几次药😭哎。

今天是第二次换药,医生很好,但还是很痛,但没有那么久了。医生说我伤口还有炎症,并且我才知道要把纱布塞进肉里面,换药时候拔出来重新塞进去一个。

形象点描述就是:每天换药就像屁股中了一枪

-

- -
-
- - - - PREV - - -
-
- - - 2024-02-24 - - - - - - - - # 2024年2月 - - - - - - - -
-
- - - NEXT - - - -
-
- -
- -
-
目录
- -
- - - - - - - - -
- - - - - - - - -
- - - - - -
- -
- - - - -
- - - - - - - - - -
- - - -
- - - - - +
+ + + - - - - - + + + + \ No newline at end of file diff --git "a/2024/07/10/\351\253\230\350\200\203/index.html" "b/2024/07/10/\351\253\230\350\200\203/index.html" index ecd2e21..98ab7b4 100644 --- "a/2024/07/10/\351\253\230\350\200\203/index.html" +++ "b/2024/07/10/\351\253\230\350\200\203/index.html" @@ -1,151 +1,8 @@ - - - - - - - - - - - - 高考 | HAVE A NICE DAY! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - -
- - - - - - -
- - - - - - - - - - - - - -
-
-
高考
-
- - - 2024-07-10 - - - - - - - - # 2024年7月 - - - - - - - -
-
-

高考前的日子 📚

现在是高考完后的一个月多三天。回忆起高考前的高三生活,大部分都已经模糊不清。也许是考后的网络冲浪和种种放纵冲淡了这些记忆,心中居然会有些怀念。(不可能想回去哈哈)

+高考 +
高考
写于2024年07月10日

高考前的日子 📚

现在是高考完后的一个月多三天。回忆起高考前的高三生活,大部分都已经模糊不清。也许是考后的网络冲浪和种种放纵冲淡了这些记忆,心中居然会有些怀念。(不可能想回去哈哈)

像高考语文中那句“往事总在回忆时被赋予意义”。

+ +

高三下的日子充满了压力,尤其在最后两个月。各种摆烂的想法和斗志满满的心态不断在脑中交替循环。我常常为以前荒芜的学习时间感到懊悔与无奈,同时不断提醒自己知来者可追的道理。

矛盾的心理在我心中上演。面对无数份试题,我常常在紧要关头懈怠,但好在身边的朋友和同学总能帮助我渡过这些崩溃时刻。我再也不愿体验那种看到那400出头的分数的心情。好在高考前,我的心态有所好转,心态的转变对我的高考尤为重要。

高三也是多病多灾的时期。在这一年,我崴了脚,屁股上还做了个贼痛的手术,最后一个月几乎被神经头痛所包围,直到考前我的头仍然再痛。

@@ -162,339 +19,16 @@

+ -
- -
-
- - - - PREV - - -
-
- - - 2024-07-10 - - - - - - - - # 2024年7月 - - - - - - - -
-
- - - NEXT - - - -
-
- -
- -
-
目录
- -
- - - - - - - - -
- - - - - - - - -
- - - - - -
- -
- - - - -
- - - - - - - - - -
- - - -
- - - - - - + + -
- - - - + + + + \ No newline at end of file diff --git "a/2024/08/26/\350\213\261\350\257\255\350\257\255\346\263\225\345\205\245\351\227\250/index.html" "b/2024/08/26/\350\213\261\350\257\255\350\257\255\346\263\225\345\205\245\351\227\250/index.html" index bff1b0a..15bfab9 100644 --- "a/2024/08/26/\350\213\261\350\257\255\350\257\255\346\263\225\345\205\245\351\227\250/index.html" +++ "b/2024/08/26/\350\213\261\350\257\255\350\257\255\346\263\225\345\205\245\351\227\250/index.html" @@ -1,154 +1,8 @@ - - +英语语法入门 +
英语语法入门
写于2024年08月26日

英语语法入门

关于英语语法一些基本要素的笔记,自己整理一下.

+ - - - - - - - - - 英语语法入门 | HAVE A NICE DAY! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - -
- - - - - - -
- - - - - - - - - - - - - -
-
-
英语语法入门
-
- - - 2024-08-26 - - - - - - - - # 2024年8月 - - - - - - - -
-
-

英语语法入门

关于英语语法一些基本要素的笔记,自己整理一下.

-
- -第一篇学习笔记! -

造句 Construct

主语Subject(人或物) + 谓语Predicate(动作或发生了什么事)

五种基本句型如下,加粗为谓语动词,斜体为宾语,删除线为补语

@@ -224,7 +78,7 @@

非谓语动词

动词可能被用作主谓宾定状补,称为非谓语动词.几乎可取代所有从句,却不再具有标识TAM的能力.

+
+ - - -
-
- - - - PREV - - -
-
- - - 2024-08-26 - - - - - - - - # 2024年8月 - - - - - - - -
-
- - - NEXT - - - -
-
- - - -
-
目录
-
-
  1. 英语语法入门
  2. 造句 Construct
  3. 句子成分 Elements
  4. 词性Parts of Speech
    1. 非谓语动词
-
-
- - - - - - - - -
- - - - - - - - -
- - - - - -
- - - - - - - - - - - - - - - - -
- - - -
- - - - - - + + - - - - - + + + + \ No newline at end of file diff --git "a/2024/09/09/\345\210\235\350\247\201\345\244\247\345\255\246/index.html" "b/2024/09/09/\345\210\235\350\247\201\345\244\247\345\255\246/index.html" index 1c1ab0c..216fe63 100644 --- "a/2024/09/09/\345\210\235\350\247\201\345\244\247\345\255\246/index.html" +++ "b/2024/09/09/\345\210\235\350\247\201\345\244\247\345\255\246/index.html" @@ -1,154 +1,12 @@ - - - - - - - - - - - - 初见大学 | HAVE A NICE DAY! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - -
- - - - - - -
- - - - - - - - - - - - - -
-
-
初见大学
-
- - - 2024-09-09 - - - - - - - - # 2024年9月 - - - - - - - -
-
-

开学前

这个暑假是上学有史以来最长的暑假。

+初见大学 +
初见大学
写于2024年09月09日

开学前

这个暑假是上学有史以来最长的暑假。

从6月9日高考结束到开学9月1日,三个月的假期几乎没有计划地就度过了,每天吃喝睡然后刷抖音。夏天全国都很热🥵,偶尔出去玩一会都热的非常难受,尤其在长沙!

所以假期到后面便开始呈现一种虚无之感了,可能对我这样玩太久也会很难受吧哈哈。

临近开学便开始期待了,期待高三想象中的大学生活(主要是美好的一面),以及到一个新的环境也会让我兴奋。所以我还是很期待开学的,但中间也曾担忧会被分到8人寝室,所以还有一丝开盲盒的感觉。

-北校门 + + + +

报道

坐高铁直接就到常德站。

初次见面这座城市,给我一种很轻切的感觉,当地的方言说快了我就有点听不太明白,但确很亲切。这座被称为桃花源的城市,文旅宣传很到位,出租车也全都是粉色的。

@@ -165,334 +23,16 @@

军训每天最期待的事情就是吃饭,不管吃啥都能把饭吃的干干净净。学校食堂物价一般,但口味确实还行,看着很干净也很好吃,特别是学校的米我觉得很好吃。

军训没和几个人熟悉,熟悉的人仅仅只有舍友,我觉得这样也挺好。

扯几句

最近在找合适的图床,真不想要用腾讯家的对象存储,如果找到合适的以后可以多配几张图片了。

+
+ -
- -
-
- - - - PREV - - -
-
- - - 2024-09-09 - - - - - - - - # 2024年9月 - - - - - - - -
-
- -
-
- -
- -
-
目录
- -
- - - - - - - - -
- - - - - - - - -
- - - - - -
- -
- - - - -
- - - - - - - - - -
- - - -
- - - - - - + + -
- - - - + + + + \ No newline at end of file diff --git a/about/index.html b/about/index.html index 53a0ab5..33b15b1 100644 --- a/about/index.html +++ b/about/index.html @@ -1,122 +1,5 @@ - - - - - - - - - - - - 关于页 | HAVE A NICE DAY! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - -
- - - - - - -
- - - - - - - - - - - -
-
-
- Hi,there! -
- - - +关于页 +
关于页
写于2024年02月03日

Hi,There****👋

我叫喻祥云,2006年出生在湖南浏阳,居住长沙。好学习新的东西,运动,阅读。现在于湖南 常德上学。

博客创建目的是在于记录自己所想象所经历的事情传达想法记录生活

本站

本站采用 Hexo 作为渲染工具,部署于 GitHub Pages

@@ -133,247 +16,16 @@

+ -
-
- - - - - - -
- - - - - - - - - -
- - - -
- - - - - - + + -
- - - - + + + + \ No newline at end of file diff --git a/archives/2024/02/index.html b/archives/2024/02/index.html index d178c99..0913c7b 100644 --- a/archives/2024/02/index.html +++ b/archives/2024/02/index.html @@ -1,426 +1,17 @@ - - - - - - - - - - - - 归档: 2024/2 | HAVE A NICE DAY! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - -
- - - - - - -
- - - - - -
-
- - - - -
-

- 2024 -

-
- -
-
09-09
- -
- - -
-
08-26
- -
- - -
-
07-10
- -
- - -
-
02-24
- -
- - -
-
02-08
- -
- - -
-
02-08
- -
- - -
-
02-02
- -
- -
-
- - - -
- - - - - - - - - -
- - - -
- - - - - - - - -
- - - - +Yu的部落格 +
02月
Hello World

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

09月
初见大学

开学前

这个暑假是上学有史以来最长的暑假。

+

从6月9日高考结束到开学9月1日,三个月的假期几乎没有计划地就度过了,每天吃喝睡然后刷抖音。夏天全国都很热🥵,偶尔出去玩一会都热的非常难受,尤其在长沙!

+

所以假期到后面便开始呈现一种虚无之感了,可能对我这样玩太久也会很难受吧哈哈。

+

临近开学便开始期待了,期待高三想象中的大学生活(主要是美好的一面),以及到一个新的环境也会让我兴奋。所以我还是很期待开学的,但中间也曾担忧会被分到8人寝室,所以还有一丝开盲盒的感觉。

02月
我的第一篇

终于

折腾了几天,断断续续的终于配置好了我的博客,就让这一篇成为开始吧。应该我能保持一个月至少更新一次吧,此站域名长期不会变化。

08月
英语语法入门

英语语法入门

关于英语语法一些基本要素的笔记,自己整理一下.

02月
关于写日记

为什么要写日记❔️

写日记可以回顾记忆、理解自我思想、改变对待生活的态度。日记是理解自己想法和感受的方式,可以通过问自己问题来审问自己。写日记的三个方式分别是记录当天事情、讲故事和写晨报。通过写日记,可以增加对生活的欣赏和创造力。总结自Ali Abdaal

02月
记一次引流手术

起因

今年我做了人生中的第一个小手术,引流手术。如果你看到“火疖子”“囊肿”这几个词在幸灾乐祸,你最好保佑好自己🙏不会有这些东西。

+

伏笔大概已经在去年就埋好了,那时候在学校因为坐得久,屁股上长了一个小肿块,是的,一个小肿块和我的屁股和谐共生。

07月
高考

高考前的日子 📚

现在是高考完后的一个月多三天。回忆起高考前的高三生活,大部分都已经模糊不清。也许是考后的网络冲浪和种种放纵冲淡了这些记忆,心中居然会有些怀念。(不可能想回去哈哈)

+

像高考语文中那句“往事总在回忆时被赋予意义”。

+ + + + + + + + \ No newline at end of file diff --git a/archives/2024/07/index.html b/archives/2024/07/index.html index 6a47f90..0913c7b 100644 --- a/archives/2024/07/index.html +++ b/archives/2024/07/index.html @@ -1,426 +1,17 @@ - - - - - - - - - - - - 归档: 2024/7 | HAVE A NICE DAY! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - -
- - - - - - -
- - - - - -
-
- - - - -
-

- 2024 -

-
- -
-
09-09
- -
- - -
-
08-26
- -
- - -
-
07-10
- -
- - -
-
02-24
- -
- - -
-
02-08
- -
- - -
-
02-08
- -
- - -
-
02-02
- -
- -
-
- - - -
- - - - - - - - - -
- - - -
- - - - - - - - -
- - - - +Yu的部落格 +
02月
Hello World

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

09月
初见大学

开学前

这个暑假是上学有史以来最长的暑假。

+

从6月9日高考结束到开学9月1日,三个月的假期几乎没有计划地就度过了,每天吃喝睡然后刷抖音。夏天全国都很热🥵,偶尔出去玩一会都热的非常难受,尤其在长沙!

+

所以假期到后面便开始呈现一种虚无之感了,可能对我这样玩太久也会很难受吧哈哈。

+

临近开学便开始期待了,期待高三想象中的大学生活(主要是美好的一面),以及到一个新的环境也会让我兴奋。所以我还是很期待开学的,但中间也曾担忧会被分到8人寝室,所以还有一丝开盲盒的感觉。

02月
我的第一篇

终于

折腾了几天,断断续续的终于配置好了我的博客,就让这一篇成为开始吧。应该我能保持一个月至少更新一次吧,此站域名长期不会变化。

08月
英语语法入门

英语语法入门

关于英语语法一些基本要素的笔记,自己整理一下.

02月
关于写日记

为什么要写日记❔️

写日记可以回顾记忆、理解自我思想、改变对待生活的态度。日记是理解自己想法和感受的方式,可以通过问自己问题来审问自己。写日记的三个方式分别是记录当天事情、讲故事和写晨报。通过写日记,可以增加对生活的欣赏和创造力。总结自Ali Abdaal

02月
记一次引流手术

起因

今年我做了人生中的第一个小手术,引流手术。如果你看到“火疖子”“囊肿”这几个词在幸灾乐祸,你最好保佑好自己🙏不会有这些东西。

+

伏笔大概已经在去年就埋好了,那时候在学校因为坐得久,屁股上长了一个小肿块,是的,一个小肿块和我的屁股和谐共生。

07月
高考

高考前的日子 📚

现在是高考完后的一个月多三天。回忆起高考前的高三生活,大部分都已经模糊不清。也许是考后的网络冲浪和种种放纵冲淡了这些记忆,心中居然会有些怀念。(不可能想回去哈哈)

+

像高考语文中那句“往事总在回忆时被赋予意义”。

+ + + + + + + + \ No newline at end of file diff --git a/archives/2024/08/index.html b/archives/2024/08/index.html index f19a707..0913c7b 100644 --- a/archives/2024/08/index.html +++ b/archives/2024/08/index.html @@ -1,426 +1,17 @@ - - - - - - - - - - - - 归档: 2024/8 | HAVE A NICE DAY! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - -
- - - - - - -
- - - - - -
-
- - - - -
-

- 2024 -

-
- -
-
09-09
- -
- - -
-
08-26
- -
- - -
-
07-10
- -
- - -
-
02-24
- -
- - -
-
02-08
- -
- - -
-
02-08
- -
- - -
-
02-02
- -
- -
-
- - - -
- - - - - - - - - -
- - - -
- - - - - - - - -
- - - - +Yu的部落格 +
02月
Hello World

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

09月
初见大学

开学前

这个暑假是上学有史以来最长的暑假。

+

从6月9日高考结束到开学9月1日,三个月的假期几乎没有计划地就度过了,每天吃喝睡然后刷抖音。夏天全国都很热🥵,偶尔出去玩一会都热的非常难受,尤其在长沙!

+

所以假期到后面便开始呈现一种虚无之感了,可能对我这样玩太久也会很难受吧哈哈。

+

临近开学便开始期待了,期待高三想象中的大学生活(主要是美好的一面),以及到一个新的环境也会让我兴奋。所以我还是很期待开学的,但中间也曾担忧会被分到8人寝室,所以还有一丝开盲盒的感觉。

02月
我的第一篇

终于

折腾了几天,断断续续的终于配置好了我的博客,就让这一篇成为开始吧。应该我能保持一个月至少更新一次吧,此站域名长期不会变化。

08月
英语语法入门

英语语法入门

关于英语语法一些基本要素的笔记,自己整理一下.

02月
关于写日记

为什么要写日记❔️

写日记可以回顾记忆、理解自我思想、改变对待生活的态度。日记是理解自己想法和感受的方式,可以通过问自己问题来审问自己。写日记的三个方式分别是记录当天事情、讲故事和写晨报。通过写日记,可以增加对生活的欣赏和创造力。总结自Ali Abdaal

02月
记一次引流手术

起因

今年我做了人生中的第一个小手术,引流手术。如果你看到“火疖子”“囊肿”这几个词在幸灾乐祸,你最好保佑好自己🙏不会有这些东西。

+

伏笔大概已经在去年就埋好了,那时候在学校因为坐得久,屁股上长了一个小肿块,是的,一个小肿块和我的屁股和谐共生。

07月
高考

高考前的日子 📚

现在是高考完后的一个月多三天。回忆起高考前的高三生活,大部分都已经模糊不清。也许是考后的网络冲浪和种种放纵冲淡了这些记忆,心中居然会有些怀念。(不可能想回去哈哈)

+

像高考语文中那句“往事总在回忆时被赋予意义”。

+ + + + + + + + \ No newline at end of file diff --git a/archives/2024/09/index.html b/archives/2024/09/index.html index 33093b9..0913c7b 100644 --- a/archives/2024/09/index.html +++ b/archives/2024/09/index.html @@ -1,426 +1,17 @@ - - - - - - - - - - - - 归档: 2024/9 | HAVE A NICE DAY! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - -
- - - - - - -
- - - - - -
-
- - - - -
-

- 2024 -

-
- -
-
09-09
- -
- - -
-
08-26
- -
- - -
-
07-10
- -
- - -
-
02-24
- -
- - -
-
02-08
- -
- - -
-
02-08
- -
- - -
-
02-02
- -
- -
-
- - - -
- - - - - - - - - -
- - - -
- - - - - - - - -
- - - - +Yu的部落格 +
02月
Hello World

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

09月
初见大学

开学前

这个暑假是上学有史以来最长的暑假。

+

从6月9日高考结束到开学9月1日,三个月的假期几乎没有计划地就度过了,每天吃喝睡然后刷抖音。夏天全国都很热🥵,偶尔出去玩一会都热的非常难受,尤其在长沙!

+

所以假期到后面便开始呈现一种虚无之感了,可能对我这样玩太久也会很难受吧哈哈。

+

临近开学便开始期待了,期待高三想象中的大学生活(主要是美好的一面),以及到一个新的环境也会让我兴奋。所以我还是很期待开学的,但中间也曾担忧会被分到8人寝室,所以还有一丝开盲盒的感觉。

02月
我的第一篇

终于

折腾了几天,断断续续的终于配置好了我的博客,就让这一篇成为开始吧。应该我能保持一个月至少更新一次吧,此站域名长期不会变化。

08月
英语语法入门

英语语法入门

关于英语语法一些基本要素的笔记,自己整理一下.

02月
关于写日记

为什么要写日记❔️

写日记可以回顾记忆、理解自我思想、改变对待生活的态度。日记是理解自己想法和感受的方式,可以通过问自己问题来审问自己。写日记的三个方式分别是记录当天事情、讲故事和写晨报。通过写日记,可以增加对生活的欣赏和创造力。总结自Ali Abdaal

02月
记一次引流手术

起因

今年我做了人生中的第一个小手术,引流手术。如果你看到“火疖子”“囊肿”这几个词在幸灾乐祸,你最好保佑好自己🙏不会有这些东西。

+

伏笔大概已经在去年就埋好了,那时候在学校因为坐得久,屁股上长了一个小肿块,是的,一个小肿块和我的屁股和谐共生。

07月
高考

高考前的日子 📚

现在是高考完后的一个月多三天。回忆起高考前的高三生活,大部分都已经模糊不清。也许是考后的网络冲浪和种种放纵冲淡了这些记忆,心中居然会有些怀念。(不可能想回去哈哈)

+

像高考语文中那句“往事总在回忆时被赋予意义”。

+ + + + + + + + \ No newline at end of file diff --git a/archives/2024/index.html b/archives/2024/index.html index e8b5cd4..0913c7b 100644 --- a/archives/2024/index.html +++ b/archives/2024/index.html @@ -1,426 +1,17 @@ - - - - - - - - - - - - 归档: 2024 | HAVE A NICE DAY! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - -
- - - - - - -
- - - - - -
-
- - - - -
-

- 2024 -

-
- -
-
09-09
- -
- - -
-
08-26
- -
- - -
-
07-10
- -
- - -
-
02-24
- -
- - -
-
02-08
- -
- - -
-
02-08
- -
- - -
-
02-02
- -
- -
-
- - - -
- - - - - - - - - -
- - - -
- - - - - - - - -
- - - - +Yu的部落格 +
02月
Hello World

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

09月
初见大学

开学前

这个暑假是上学有史以来最长的暑假。

+

从6月9日高考结束到开学9月1日,三个月的假期几乎没有计划地就度过了,每天吃喝睡然后刷抖音。夏天全国都很热🥵,偶尔出去玩一会都热的非常难受,尤其在长沙!

+

所以假期到后面便开始呈现一种虚无之感了,可能对我这样玩太久也会很难受吧哈哈。

+

临近开学便开始期待了,期待高三想象中的大学生活(主要是美好的一面),以及到一个新的环境也会让我兴奋。所以我还是很期待开学的,但中间也曾担忧会被分到8人寝室,所以还有一丝开盲盒的感觉。

02月
我的第一篇

终于

折腾了几天,断断续续的终于配置好了我的博客,就让这一篇成为开始吧。应该我能保持一个月至少更新一次吧,此站域名长期不会变化。

08月
英语语法入门

英语语法入门

关于英语语法一些基本要素的笔记,自己整理一下.

02月
关于写日记

为什么要写日记❔️

写日记可以回顾记忆、理解自我思想、改变对待生活的态度。日记是理解自己想法和感受的方式,可以通过问自己问题来审问自己。写日记的三个方式分别是记录当天事情、讲故事和写晨报。通过写日记,可以增加对生活的欣赏和创造力。总结自Ali Abdaal

02月
记一次引流手术

起因

今年我做了人生中的第一个小手术,引流手术。如果你看到“火疖子”“囊肿”这几个词在幸灾乐祸,你最好保佑好自己🙏不会有这些东西。

+

伏笔大概已经在去年就埋好了,那时候在学校因为坐得久,屁股上长了一个小肿块,是的,一个小肿块和我的屁股和谐共生。

07月
高考

高考前的日子 📚

现在是高考完后的一个月多三天。回忆起高考前的高三生活,大部分都已经模糊不清。也许是考后的网络冲浪和种种放纵冲淡了这些记忆,心中居然会有些怀念。(不可能想回去哈哈)

+

像高考语文中那句“往事总在回忆时被赋予意义”。

+ + + + + + + + \ No newline at end of file diff --git a/archives/index.html b/archives/index.html index e9f8397..0913c7b 100644 --- a/archives/index.html +++ b/archives/index.html @@ -1,426 +1,17 @@ - - - - - - - - - - - - 归档 | HAVE A NICE DAY! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - -
- - - - - - -
- - - - - -
-
- - - - -
-

- 2024 -

-
- -
-
09-09
- -
- - -
-
08-26
- -
- - -
-
07-10
- -
- - -
-
02-24
- -
- - -
-
02-08
- -
- - -
-
02-08
- -
- - -
-
02-02
- -
- -
-
- - - -
- - - - - - - - - -
- - - -
- - - - - - - - -
- - - - +Yu的部落格 +
02月
Hello World

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

09月
初见大学

开学前

这个暑假是上学有史以来最长的暑假。

+

从6月9日高考结束到开学9月1日,三个月的假期几乎没有计划地就度过了,每天吃喝睡然后刷抖音。夏天全国都很热🥵,偶尔出去玩一会都热的非常难受,尤其在长沙!

+

所以假期到后面便开始呈现一种虚无之感了,可能对我这样玩太久也会很难受吧哈哈。

+

临近开学便开始期待了,期待高三想象中的大学生活(主要是美好的一面),以及到一个新的环境也会让我兴奋。所以我还是很期待开学的,但中间也曾担忧会被分到8人寝室,所以还有一丝开盲盒的感觉。

02月
我的第一篇

终于

折腾了几天,断断续续的终于配置好了我的博客,就让这一篇成为开始吧。应该我能保持一个月至少更新一次吧,此站域名长期不会变化。

08月
英语语法入门

英语语法入门

关于英语语法一些基本要素的笔记,自己整理一下.

02月
关于写日记

为什么要写日记❔️

写日记可以回顾记忆、理解自我思想、改变对待生活的态度。日记是理解自己想法和感受的方式,可以通过问自己问题来审问自己。写日记的三个方式分别是记录当天事情、讲故事和写晨报。通过写日记,可以增加对生活的欣赏和创造力。总结自Ali Abdaal

02月
记一次引流手术

起因

今年我做了人生中的第一个小手术,引流手术。如果你看到“火疖子”“囊肿”这几个词在幸灾乐祸,你最好保佑好自己🙏不会有这些东西。

+

伏笔大概已经在去年就埋好了,那时候在学校因为坐得久,屁股上长了一个小肿块,是的,一个小肿块和我的屁股和谐共生。

07月
高考

高考前的日子 📚

现在是高考完后的一个月多三天。回忆起高考前的高三生活,大部分都已经模糊不清。也许是考后的网络冲浪和种种放纵冲淡了这些记忆,心中居然会有些怀念。(不可能想回去哈哈)

+

像高考语文中那句“往事总在回忆时被赋予意义”。

+ + + + + + + + \ No newline at end of file diff --git a/atom.xml b/atom.xml index 8a6c966..567519e 100644 --- a/atom.xml +++ b/atom.xml @@ -6,7 +6,7 @@ - 2024-09-14T04:03:20.976Z + 2024-09-18T07:12:01.698Z https://yuxiangyun.top/ @@ -21,16 +21,15 @@ https://yuxiangyun.top/2024/09/09/%E5%88%9D%E8%A7%81%E5%A4%A7%E5%AD%A6/ 2024-09-09T14:35:03.000Z - 2024-09-14T04:03:20.976Z + 2024-09-18T07:12:01.698Z - 开学前

这个暑假是上学有史以来最长的暑假。

从6月9日高考结束到开学9月1日,三个月的假期几乎没有计划地就度过了,每天吃喝睡然后刷抖音。夏天全国都很热🥵,偶尔出去玩一会都热的非常难受,尤其在长沙!

所以假期到后面便开始呈现一种虚无之感了,可能对我这样玩太久也会很难受吧哈哈。

临近开学便开始期待了,期待高三想象中的大学生活(主要是美好的一面),以及到一个新的环境也会让我兴奋。所以我还是很期待开学的,但中间也曾担忧会被分到8人寝室,所以还有一丝开盲盒的感觉。

北校门

报道

坐高铁直接就到常德站。

初次见面这座城市,给我一种很轻切的感觉,当地的方言说快了我就有点听不太明白,但确很亲切。这座被称为桃花源的城市,文旅宣传很到位,出租车也全都是粉色的。

到校没多久,学校安排的志愿者就来引导我入校,一切都很顺利,我打开了寝室的大门。

四个人的寝室,大家都已经到了,空间我觉得还是比较宽敞的,运气不错的是大家都很好相处很有礼貌。大家合力把宿舍整理干净,开学干啥都一起走。

粉色的🚕字

听会

开学开了许多会。

就我个人,其实挺不喜欢听会的。大多数听的会无非就是看PPT中插入的视频,而且有许多自己不关心的事情。加之天气异常的闷热,就很难受 :(

然后,会上提到第二课堂和易班我觉得很难评,这些懂得都懂。

军训

军训21天,我真的怀疑人生。太多可以吐槽的了,我觉得军训真的大可不必,有点没苦硬吃那种感觉。

首先是统一服装,学校80块一套的军训服,真特么的难穿,穿着身上还哪哪都不舒服。每天5点早起穿上这套衣服感觉天要塌了。

教官是我们学校的学生,军训从小开始,差不多轻车熟路,但是站在那一动不动真的很难受。每天听着命令使唤,真的是一种折磨。

每天最期待的事情就是吃饭,不管吃啥都能把饭吃的干干净净。学校食堂物价一般,但口味确实还行,看着很干净也很好吃,特别是学校的米我觉得很好吃。

军训没和几个人熟悉,熟悉的人仅仅只有舍友,我觉得这样也挺好。

扯几句

最近在找合适的图床,真不想要用腾讯家的对象存储,如果找到合适的以后可以多配几张图片了。

]]>
+ 开学前

这个暑假是上学有史以来最长的暑假。

从6月9日高考结束到开学9月1日,三个月的假期几乎没有计划地就度过了,每天吃喝睡然后刷抖音。夏天全国都很热🥵,偶尔出去玩一会都热的非常难受,尤其在长沙!

所以假期到后面便开始呈现一种虚无之感了,可能对我这样玩太久也会很难受吧哈哈。

临近开学便开始期待了,期待高三想象中的大学生活(主要是美好的一面),以及到一个新的环境也会让我兴奋。所以我还是很期待开学的,但中间也曾担忧会被分到8人寝室,所以还有一丝开盲盒的感觉。

报道

坐高铁直接就到常德站。

初次见面这座城市,给我一种很轻切的感觉,当地的方言说快了我就有点听不太明白,但确很亲切。这座被称为桃花源的城市,文旅宣传很到位,出租车也全都是粉色的。

到校没多久,学校安排的志愿者就来引导我入校,一切都很顺利,我打开了寝室的大门。

四个人的寝室,大家都已经到了,空间我觉得还是比较宽敞的,运气不错的是大家都很好相处很有礼貌。大家合力把宿舍整理干净,开学干啥都一起走。

粉色的🚕字

听会

开学开了许多会。

就我个人,其实挺不喜欢听会的。大多数听的会无非就是看PPT中插入的视频,而且有许多自己不关心的事情。加之天气异常的闷热,就很难受 :(

然后,会上提到第二课堂和易班我觉得很难评,这些懂得都懂。

军训

军训21天,我真的怀疑人生。太多可以吐槽的了,我觉得军训真的大可不必,有点没苦硬吃那种感觉。

首先是统一服装,学校80块一套的军训服,真特么的难穿,穿着身上还哪哪都不舒服。每天5点早起穿上这套衣服感觉天要塌了。

教官是我们学校的学生,军训从小开始,差不多轻车熟路,但是站在那一动不动真的很难受。每天听着命令使唤,真的是一种折磨。

每天最期待的事情就是吃饭,不管吃啥都能把饭吃的干干净净。学校食堂物价一般,但口味确实还行,看着很干净也很好吃,特别是学校的米我觉得很好吃。

军训没和几个人熟悉,熟悉的人仅仅只有舍友,我觉得这样也挺好。

扯几句

最近在找合适的图床,真不想要用腾讯家的对象存储,如果找到合适的以后可以多配几张图片了。

]]>
- - <h1 id="开学前"><a href="#开学前" class="headerlink" title="开学前"></a>开学前</h1><p>这个暑假是上学有史以来最长的暑假。</p> -<p>从6月9日高考结束到开学9月1日,三个月的假期几乎没有计划地就度过了,每天吃喝睡然 - +<p>从6月9日高考结束到开学9月1日,三个月的假期几乎没有计划地就度过了,每天吃喝睡然后刷抖音。夏天全国都很热🥵,偶尔出去玩一会都热的非常难受,尤其在长沙!</p> +<p>所以假期到后面便开始呈现一种虚无之感了,可能对我这样玩太久也会很难受吧哈哈。</p> +<p>临近开学便开始期待了,期待高三想象中的大学生活(主要是美好的一面),以及到一个新的环境也会让我兴奋。所以我还是很期待开学的,但中间也曾担忧会被分到8人寝室,所以还有一丝开盲盒的感觉。</p> @@ -46,16 +45,12 @@ https://yuxiangyun.top/2024/08/26/%E8%8B%B1%E8%AF%AD%E8%AF%AD%E6%B3%95%E5%85%A5%E9%97%A8/ 2024-08-26T04:00:00.000Z - 2024-08-28T08:24:49.238Z + 2024-09-18T07:23:33.498Z - 英语语法入门

关于英语语法一些基本要素的笔记,自己整理一下.

第一篇学习笔记!

造句 Construct

主语Subject(人或物) + 谓语Predicate(动作或发生了什么事)

五种基本句型如下,加粗为谓语动词,斜体为宾语,删除线为补语


  1. 可以独立完成的动作(主语+不及物动词)
    Papa Rabbit sleeps.
  2. 有一个承受者(主语+单及物动词+宾语)
    Papa Rabbit likes you.
  3. 有两个动作承受者(主语+双及物动词+间接宾语+直接宾语)
    Papa Rabbit teaches you English.
  4. 有一个动作承受者但需补充(主语+复杂及物动词+宾语+宾语补语)
    Papa Rabbit considers you smart.
  5. 非动作(主语+系动词+表语)
    Papa is/looks tall

句子成分 Elements

同一句子成分可能有不同的词类

复合句/并列句Compound Sentence:句子叠加,并列关系

复杂句Complex Sentence:一个句子套一个句子,或者继续套下去…,从属关系

作主语作宾语作表语作同位语
主语从句宾语从句表语从句同位语从句

以上为名词性从句,具有名词性质

作定语作状语
定语从句状语从句

  1. 主语
  2. 谓语
  3. 宾语
  4. 宾语补足语
  5. 主语补足语(表语)
  6. 定语,主要修饰主语或宾语
    The little white rabbit ate a large carrot
  7. 状语,主要修饰谓语动词
    The rabbit ate quickly
  8. 同位语,再把主语或宾语描述一遍
    PaPa Rabbit, an English teacher,eats carrots.

词性Parts of Speech

  1. 名词 nouns,表人和物

  2. 冠词 articles,说明人和事物
    a rabbit.

  3. 代词 pronouns,代替人和物
    I am a rabbit.

  4. 形容词adjectives,形容人和物
    I am a smart rabbit.

  5. 数词 numerals,表示数量
    I ate two carrots.

  6. 副词 adverbs,修饰动词或形容词
    I ate two carrots quickly.

  7. 介词 prepositions,表示和其他词关系的词
    I ate two carrots with chopsticks.

  8. 叹词 interjections,表示感叹
    Ah,the carrots is tasty.

  9. 连词 conjunctions,连接词与句
    I ate two carrots and a photo,because I was hungry.

  10. 动词 verb,往往不能独立完成TAM,否定/可能/必须等需要助动词

    Tense时间
    Aspect动作状态
    Mood动作假设,情感

一般进行完成完成进行
现在一般现在时态现在进行时态现在完成时态现在完成进行时态
eat/eatsam/is/are eatinghas/have eatenhas/have been eating
过去一般过去时态过去进行时态过去完成时态过去完成进行时态
atewas/were eatinghad eatenhad been eating
将来一般将来时态将来进行时态将来完成时态将来完成进行时态
will eatwill be eatingwill have eatenwill have been eating
过去将来一般过去将来时态过去将来进行时态过去将来完成时态过去将来完成进行时态
would eatwould be eatingwould have eatenwould have been eating

时间动作状态可以进行组合

非谓语动词

动词可能被用作主谓宾定状补,称为非谓语动词.几乎可取代所有从句,却不再具有标识TAM的能力.

]]>
+ 英语语法入门

关于英语语法一些基本要素的笔记,自己整理一下.

造句 Construct

主语Subject(人或物) + 谓语Predicate(动作或发生了什么事)

五种基本句型如下,加粗为谓语动词,斜体为宾语,删除线为补语


  1. 可以独立完成的动作(主语+不及物动词)
    Papa Rabbit sleeps.
  2. 有一个承受者(主语+单及物动词+宾语)
    Papa Rabbit likes you.
  3. 有两个动作承受者(主语+双及物动词+间接宾语+直接宾语)
    Papa Rabbit teaches you English.
  4. 有一个动作承受者但需补充(主语+复杂及物动词+宾语+宾语补语)
    Papa Rabbit considers you smart.
  5. 非动作(主语+系动词+表语)
    Papa is/looks tall

句子成分 Elements

同一句子成分可能有不同的词类

复合句/并列句Compound Sentence:句子叠加,并列关系

复杂句Complex Sentence:一个句子套一个句子,或者继续套下去…,从属关系

作主语作宾语作表语作同位语
主语从句宾语从句表语从句同位语从句

以上为名词性从句,具有名词性质

作定语作状语
定语从句状语从句

  1. 主语
  2. 谓语
  3. 宾语
  4. 宾语补足语
  5. 主语补足语(表语)
  6. 定语,主要修饰主语或宾语
    The little white rabbit ate a large carrot
  7. 状语,主要修饰谓语动词
    The rabbit ate quickly
  8. 同位语,再把主语或宾语描述一遍
    PaPa Rabbit, an English teacher,eats carrots.

词性Parts of Speech

  1. 名词 nouns,表人和物

  2. 冠词 articles,说明人和事物
    a rabbit.

  3. 代词 pronouns,代替人和物
    I am a rabbit.

  4. 形容词adjectives,形容人和物
    I am a smart rabbit.

  5. 数词 numerals,表示数量
    I ate two carrots.

  6. 副词 adverbs,修饰动词或形容词
    I ate two carrots quickly.

  7. 介词 prepositions,表示和其他词关系的词
    I ate two carrots with chopsticks.

  8. 叹词 interjections,表示感叹
    Ah,the carrots is tasty.

  9. 连词 conjunctions,连接词与句
    I ate two carrots and a photo,because I was hungry.

  10. 动词 verb,往往不能独立完成TAM,否定/可能/必须等需要助动词

    Tense时间
    Aspect动作状态
    Mood动作假设,情感

一般进行完成完成进行
现在一般现在时态现在进行时态现在完成时态现在完成进行时态
eat/eatsam/is/are eatinghas/have eatenhas/have been eating
过去一般过去时态过去进行时态过去完成时态过去完成进行时态
atewas/were eatinghad eatenhad been eating
将来一般将来时态将来进行时态将来完成时态将来完成进行时态
will eatwill be eatingwill have eatenwill have been eating
过去将来一般过去将来时态过去将来进行时态过去将来完成时态过去将来完成进行时态
would eatwould be eatingwould have eatenwould have been eating

时间动作状态可以进行组合

非谓语动词

动词可能被用作主谓宾定状补,称为非谓语动词.几乎可取代所有从句,却不再具有标识TAM的能力.

]]>
- - - <h1 id="英语语法入门"><a href="#英语语法入门" class="headerlink" title="英语语法入门"></a>英语语法入门</h1><p>关于英语语法一些基本要素的笔记,自己整理一下.</p> -<div class="notification s - + <h1 id="英语语法入门"><a href="#英语语法入门" class="headerlink" title="英语语法入门"></a>英语语法入门</h1><p>关于英语语法一些基本要素的笔记,自己整理一下.</p> @@ -71,15 +66,13 @@ https://yuxiangyun.top/2024/07/10/%E9%AB%98%E8%80%83/ 2024-07-10T10:37:55.000Z - 2024-09-13T21:52:38.157Z + 2024-09-18T07:11:29.482Z - 高考前的日子 📚

现在是高考完后的一个月多三天。回忆起高考前的高三生活,大部分都已经模糊不清。也许是考后的网络冲浪和种种放纵冲淡了这些记忆,心中居然会有些怀念。(不可能想回去哈哈)

像高考语文中那句“往事总在回忆时被赋予意义”。

高三下的日子充满了压力,尤其在最后两个月。各种摆烂的想法和斗志满满的心态不断在脑中交替循环。我常常为以前荒芜的学习时间感到懊悔与无奈,同时不断提醒自己知来者可追的道理。

矛盾的心理在我心中上演。面对无数份试题,我常常在紧要关头懈怠,但好在身边的朋友和同学总能帮助我渡过这些崩溃时刻。我再也不愿体验那种看到那400出头的分数的心情。好在高考前,我的心态有所好转,心态的转变对我的高考尤为重要。

高三也是多病多灾的时期。在这一年,我崴了脚,屁股上还做了个贼痛的手术,最后一个月几乎被神经头痛所包围,直到考前我的头仍然再痛。

高中整个阶段虽然乏味,但它难得地给了我许多空闲时间去想象和思考,而不是被手机通知打扰。这一点我非常想念。

仓促的成人礼 🎓

成人礼是高考前最重要的活动。每个人都准备好写给父母的信,并把写满理想愿望的卡片挂在树枝上。领导在台上的演讲一如既往地无聊。

结束演讲后,我们都越过一道门,与老师击掌。牛嗲甚至握住了我的手,这点值得一提,因为我的物理选择题啥也不会做也有48分。

那天下起了小雨,仪式只用了一个上午的时间,三年的高中生活以这种方式结束,我并没有准备好迎接高考。

参加高考 📝

坐上大巴,高一和高二的同学们像往年一样为高三的我们加油送行。

我的心情早已在这种氛围中归于佛系。值得一提的是考前的前一个晚上,学校用车灯照亮了我们回寝的路,这点九中值得表扬。

我带上了平时需要的东西,其中我最爱的喜多多也没落下。尽管它很沉,但它早已融入了我的校园生活,有了它,我会多一分安心少一分不安。

铺好床,熟悉考场,听老师强调重点注意事项。我的内心平静,放下了以往的焦虑,有种接受审判的从容。

考前那一个晚上,意料之中地我没有睡着。我穿着拖鞋考完了语文和数学,似乎和往常一样,只是做得题目多了一些而已。直到最后一门科目生物考完,高考也就结束了。

考后 🎉

坐上了回程的大巴车,手机上已经能搜到答案。瞄了一眼,似乎错的还挺多,就没再看了。关掉手机,心中莫名难受,但很快车就到校了,我马上恢复到了亢奋的状态,因为我期盼已久的假期此时正在眼前。

我去了北京,打卡了各处我曾心心念念的景点。加上手机信息的轰炸,我的情绪早已被磨平,很难有大起大落。

在成绩出来的那一天,先去和朋友看了云边,然后买了一杯奶茶,回到家里打开电脑查看成绩。尽管结果不是很高,但超出了我的预期。至少也有书读了,是吧?我不知道这一切是好是坏,但确实是一个月前我所期盼的结果。

成绩出来后,我没有喝酒也没有疯玩,只是平静地接受了一切,为我的高中生活划上了句号。

]]>
+ 高考前的日子 📚

现在是高考完后的一个月多三天。回忆起高考前的高三生活,大部分都已经模糊不清。也许是考后的网络冲浪和种种放纵冲淡了这些记忆,心中居然会有些怀念。(不可能想回去哈哈)

像高考语文中那句“往事总在回忆时被赋予意义”。

高三下的日子充满了压力,尤其在最后两个月。各种摆烂的想法和斗志满满的心态不断在脑中交替循环。我常常为以前荒芜的学习时间感到懊悔与无奈,同时不断提醒自己知来者可追的道理。

矛盾的心理在我心中上演。面对无数份试题,我常常在紧要关头懈怠,但好在身边的朋友和同学总能帮助我渡过这些崩溃时刻。我再也不愿体验那种看到那400出头的分数的心情。好在高考前,我的心态有所好转,心态的转变对我的高考尤为重要。

高三也是多病多灾的时期。在这一年,我崴了脚,屁股上还做了个贼痛的手术,最后一个月几乎被神经头痛所包围,直到考前我的头仍然再痛。

高中整个阶段虽然乏味,但它难得地给了我许多空闲时间去想象和思考,而不是被手机通知打扰。这一点我非常想念。

仓促的成人礼 🎓

成人礼是高考前最重要的活动。每个人都准备好写给父母的信,并把写满理想愿望的卡片挂在树枝上。领导在台上的演讲一如既往地无聊。

结束演讲后,我们都越过一道门,与老师击掌。牛嗲甚至握住了我的手,这点值得一提,因为我的物理选择题啥也不会做也有48分。

那天下起了小雨,仪式只用了一个上午的时间,三年的高中生活以这种方式结束,我并没有准备好迎接高考。

参加高考 📝

坐上大巴,高一和高二的同学们像往年一样为高三的我们加油送行。

我的心情早已在这种氛围中归于佛系。值得一提的是考前的前一个晚上,学校用车灯照亮了我们回寝的路,这点九中值得表扬。

我带上了平时需要的东西,其中我最爱的喜多多也没落下。尽管它很沉,但它早已融入了我的校园生活,有了它,我会多一分安心少一分不安。

铺好床,熟悉考场,听老师强调重点注意事项。我的内心平静,放下了以往的焦虑,有种接受审判的从容。

考前那一个晚上,意料之中地我没有睡着。我穿着拖鞋考完了语文和数学,似乎和往常一样,只是做得题目多了一些而已。直到最后一门科目生物考完,高考也就结束了。

考后 🎉

坐上了回程的大巴车,手机上已经能搜到答案。瞄了一眼,似乎错的还挺多,就没再看了。关掉手机,心中莫名难受,但很快车就到校了,我马上恢复到了亢奋的状态,因为我期盼已久的假期此时正在眼前。

我去了北京,打卡了各处我曾心心念念的景点。加上手机信息的轰炸,我的情绪早已被磨平,很难有大起大落。

在成绩出来的那一天,先去和朋友看了云边,然后买了一杯奶茶,回到家里打开电脑查看成绩。尽管结果不是很高,但超出了我的预期。至少也有书读了,是吧?我不知道这一切是好是坏,但确实是一个月前我所期盼的结果。

成绩出来后,我没有喝酒也没有疯玩,只是平静地接受了一切,为我的高中生活划上了句号。

]]>
- - - <h2 id="高考前的日子-📚"><a href="#高考前的日子-📚" class="headerlink" title="高考前的日子 📚"></a>高考前的日子 📚</h2><p>现在是高考完后的一个月多三天。回忆起高考前的高三生活,大部分都已经模糊不清。也许是考 - + <h2 id="高考前的日子-📚"><a href="#高考前的日子-📚" class="headerlink" title="高考前的日子 📚"></a>高考前的日子 📚</h2><p>现在是高考完后的一个月多三天。回忆起高考前的高三生活,大部分都已经模糊不清。也许是考后的网络冲浪和种种放纵冲淡了这些记忆,心中居然会有些怀念。(不可能想回去哈哈)</p> +<p>像高考语文中那句“往事总在回忆时被赋予意义”。</p> diff --git "a/categories/2024\345\271\2642\346\234\210/index.html" "b/categories/2024\345\271\2642\346\234\210/index.html" index 234f421..0913c7b 100644 --- "a/categories/2024\345\271\2642\346\234\210/index.html" +++ "b/categories/2024\345\271\2642\346\234\210/index.html" @@ -1,379 +1,17 @@ - - - - - - - - - - - - 分类: 2024年2月 | HAVE A NICE DAY! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - -
- - - - - - -
- - -
-
-

- 2024年2月 -

-
- -
-
- 2024-02-24 - - 记一次引流手术 - -
-
- -
-
- 2024-02-08 - - 关于写日记 - -
-
- -
-
- 2024-02-08 - - 我的第一篇 - -
-
- - -
- - - -
- - - - - - - - - -
- - - -
- - - - - - - - -
- - - - +Yu的部落格 +
02月
Hello World

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

09月
初见大学

开学前

这个暑假是上学有史以来最长的暑假。

+

从6月9日高考结束到开学9月1日,三个月的假期几乎没有计划地就度过了,每天吃喝睡然后刷抖音。夏天全国都很热🥵,偶尔出去玩一会都热的非常难受,尤其在长沙!

+

所以假期到后面便开始呈现一种虚无之感了,可能对我这样玩太久也会很难受吧哈哈。

+

临近开学便开始期待了,期待高三想象中的大学生活(主要是美好的一面),以及到一个新的环境也会让我兴奋。所以我还是很期待开学的,但中间也曾担忧会被分到8人寝室,所以还有一丝开盲盒的感觉。

02月
我的第一篇

终于

折腾了几天,断断续续的终于配置好了我的博客,就让这一篇成为开始吧。应该我能保持一个月至少更新一次吧,此站域名长期不会变化。

08月
英语语法入门

英语语法入门

关于英语语法一些基本要素的笔记,自己整理一下.

02月
关于写日记

为什么要写日记❔️

写日记可以回顾记忆、理解自我思想、改变对待生活的态度。日记是理解自己想法和感受的方式,可以通过问自己问题来审问自己。写日记的三个方式分别是记录当天事情、讲故事和写晨报。通过写日记,可以增加对生活的欣赏和创造力。总结自Ali Abdaal

02月
记一次引流手术

起因

今年我做了人生中的第一个小手术,引流手术。如果你看到“火疖子”“囊肿”这几个词在幸灾乐祸,你最好保佑好自己🙏不会有这些东西。

+

伏笔大概已经在去年就埋好了,那时候在学校因为坐得久,屁股上长了一个小肿块,是的,一个小肿块和我的屁股和谐共生。

07月
高考

高考前的日子 📚

现在是高考完后的一个月多三天。回忆起高考前的高三生活,大部分都已经模糊不清。也许是考后的网络冲浪和种种放纵冲淡了这些记忆,心中居然会有些怀念。(不可能想回去哈哈)

+

像高考语文中那句“往事总在回忆时被赋予意义”。

+ + + + + + + + \ No newline at end of file diff --git "a/categories/2024\345\271\2647\346\234\210/index.html" "b/categories/2024\345\271\2647\346\234\210/index.html" index f22c814..0913c7b 100644 --- "a/categories/2024\345\271\2647\346\234\210/index.html" +++ "b/categories/2024\345\271\2647\346\234\210/index.html" @@ -1,361 +1,17 @@ - - - - - - - - - - - - 分类: 2024年7月 | HAVE A NICE DAY! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - -
- - - - - - -
- - -
-
-

- 2024年7月 -

-
- -
-
- 2024-07-10 - - 高考 - -
-
- - -
- - - -
- - - - - - - - - -
- - - -
- - - - - - - - -
- - - - +Yu的部落格 +
02月
Hello World

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

09月
初见大学

开学前

这个暑假是上学有史以来最长的暑假。

+

从6月9日高考结束到开学9月1日,三个月的假期几乎没有计划地就度过了,每天吃喝睡然后刷抖音。夏天全国都很热🥵,偶尔出去玩一会都热的非常难受,尤其在长沙!

+

所以假期到后面便开始呈现一种虚无之感了,可能对我这样玩太久也会很难受吧哈哈。

+

临近开学便开始期待了,期待高三想象中的大学生活(主要是美好的一面),以及到一个新的环境也会让我兴奋。所以我还是很期待开学的,但中间也曾担忧会被分到8人寝室,所以还有一丝开盲盒的感觉。

02月
我的第一篇

终于

折腾了几天,断断续续的终于配置好了我的博客,就让这一篇成为开始吧。应该我能保持一个月至少更新一次吧,此站域名长期不会变化。

08月
英语语法入门

英语语法入门

关于英语语法一些基本要素的笔记,自己整理一下.

02月
关于写日记

为什么要写日记❔️

写日记可以回顾记忆、理解自我思想、改变对待生活的态度。日记是理解自己想法和感受的方式,可以通过问自己问题来审问自己。写日记的三个方式分别是记录当天事情、讲故事和写晨报。通过写日记,可以增加对生活的欣赏和创造力。总结自Ali Abdaal

02月
记一次引流手术

起因

今年我做了人生中的第一个小手术,引流手术。如果你看到“火疖子”“囊肿”这几个词在幸灾乐祸,你最好保佑好自己🙏不会有这些东西。

+

伏笔大概已经在去年就埋好了,那时候在学校因为坐得久,屁股上长了一个小肿块,是的,一个小肿块和我的屁股和谐共生。

07月
高考

高考前的日子 📚

现在是高考完后的一个月多三天。回忆起高考前的高三生活,大部分都已经模糊不清。也许是考后的网络冲浪和种种放纵冲淡了这些记忆,心中居然会有些怀念。(不可能想回去哈哈)

+

像高考语文中那句“往事总在回忆时被赋予意义”。

+ + + + + + + + \ No newline at end of file diff --git "a/categories/2024\345\271\2648\346\234\210/index.html" "b/categories/2024\345\271\2648\346\234\210/index.html" index fbe1bce..0913c7b 100644 --- "a/categories/2024\345\271\2648\346\234\210/index.html" +++ "b/categories/2024\345\271\2648\346\234\210/index.html" @@ -1,361 +1,17 @@ - - - - - - - - - - - - 分类: 2024年8月 | HAVE A NICE DAY! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - -
- - - - - - -
- - -
-
-

- 2024年8月 -

-
- -
-
- 2024-08-26 - - 英语语法入门 - -
-
- - -
- - - -
- - - - - - - - - -
- - - -
- - - - - - - - -
- - - - +Yu的部落格 +
02月
Hello World

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

09月
初见大学

开学前

这个暑假是上学有史以来最长的暑假。

+

从6月9日高考结束到开学9月1日,三个月的假期几乎没有计划地就度过了,每天吃喝睡然后刷抖音。夏天全国都很热🥵,偶尔出去玩一会都热的非常难受,尤其在长沙!

+

所以假期到后面便开始呈现一种虚无之感了,可能对我这样玩太久也会很难受吧哈哈。

+

临近开学便开始期待了,期待高三想象中的大学生活(主要是美好的一面),以及到一个新的环境也会让我兴奋。所以我还是很期待开学的,但中间也曾担忧会被分到8人寝室,所以还有一丝开盲盒的感觉。

02月
我的第一篇

终于

折腾了几天,断断续续的终于配置好了我的博客,就让这一篇成为开始吧。应该我能保持一个月至少更新一次吧,此站域名长期不会变化。

08月
英语语法入门

英语语法入门

关于英语语法一些基本要素的笔记,自己整理一下.

02月
关于写日记

为什么要写日记❔️

写日记可以回顾记忆、理解自我思想、改变对待生活的态度。日记是理解自己想法和感受的方式,可以通过问自己问题来审问自己。写日记的三个方式分别是记录当天事情、讲故事和写晨报。通过写日记,可以增加对生活的欣赏和创造力。总结自Ali Abdaal

02月
记一次引流手术

起因

今年我做了人生中的第一个小手术,引流手术。如果你看到“火疖子”“囊肿”这几个词在幸灾乐祸,你最好保佑好自己🙏不会有这些东西。

+

伏笔大概已经在去年就埋好了,那时候在学校因为坐得久,屁股上长了一个小肿块,是的,一个小肿块和我的屁股和谐共生。

07月
高考

高考前的日子 📚

现在是高考完后的一个月多三天。回忆起高考前的高三生活,大部分都已经模糊不清。也许是考后的网络冲浪和种种放纵冲淡了这些记忆,心中居然会有些怀念。(不可能想回去哈哈)

+

像高考语文中那句“往事总在回忆时被赋予意义”。

+ + + + + + + + \ No newline at end of file diff --git "a/categories/2024\345\271\2649\346\234\210/index.html" "b/categories/2024\345\271\2649\346\234\210/index.html" index 963fc60..0913c7b 100644 --- "a/categories/2024\345\271\2649\346\234\210/index.html" +++ "b/categories/2024\345\271\2649\346\234\210/index.html" @@ -1,361 +1,17 @@ - - - - - - - - - - - - 分类: 2024年9月 | HAVE A NICE DAY! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - -
- - - - - - -
- - -
-
-

- 2024年9月 -

-
- -
-
- 2024-09-09 - - 初见大学 - -
-
- - -
- - - -
- - - - - - - - - -
- - - -
- - - - - - - - -
- - - - +Yu的部落格 +
02月
Hello World

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

09月
初见大学

开学前

这个暑假是上学有史以来最长的暑假。

+

从6月9日高考结束到开学9月1日,三个月的假期几乎没有计划地就度过了,每天吃喝睡然后刷抖音。夏天全国都很热🥵,偶尔出去玩一会都热的非常难受,尤其在长沙!

+

所以假期到后面便开始呈现一种虚无之感了,可能对我这样玩太久也会很难受吧哈哈。

+

临近开学便开始期待了,期待高三想象中的大学生活(主要是美好的一面),以及到一个新的环境也会让我兴奋。所以我还是很期待开学的,但中间也曾担忧会被分到8人寝室,所以还有一丝开盲盒的感觉。

02月
我的第一篇

终于

折腾了几天,断断续续的终于配置好了我的博客,就让这一篇成为开始吧。应该我能保持一个月至少更新一次吧,此站域名长期不会变化。

08月
英语语法入门

英语语法入门

关于英语语法一些基本要素的笔记,自己整理一下.

02月
关于写日记

为什么要写日记❔️

写日记可以回顾记忆、理解自我思想、改变对待生活的态度。日记是理解自己想法和感受的方式,可以通过问自己问题来审问自己。写日记的三个方式分别是记录当天事情、讲故事和写晨报。通过写日记,可以增加对生活的欣赏和创造力。总结自Ali Abdaal

02月
记一次引流手术

起因

今年我做了人生中的第一个小手术,引流手术。如果你看到“火疖子”“囊肿”这几个词在幸灾乐祸,你最好保佑好自己🙏不会有这些东西。

+

伏笔大概已经在去年就埋好了,那时候在学校因为坐得久,屁股上长了一个小肿块,是的,一个小肿块和我的屁股和谐共生。

07月
高考

高考前的日子 📚

现在是高考完后的一个月多三天。回忆起高考前的高三生活,大部分都已经模糊不清。也许是考后的网络冲浪和种种放纵冲淡了这些记忆,心中居然会有些怀念。(不可能想回去哈哈)

+

像高考语文中那句“往事总在回忆时被赋予意义”。

+ + + + + + + + \ No newline at end of file diff --git a/categories/index.html b/categories/index.html index 25ee1ca..3f326f8 100644 --- a/categories/index.html +++ b/categories/index.html @@ -1,357 +1,14 @@ - - +分类页 +
分类页
写于2024年02月03日
+ - - - - - - - - - 分类页 | HAVE A NICE DAY! + - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - -
- - - - - - -
- - - - - - - - - - - - - - - - - - -
- - - - - - - - - -
- - - -
- - - - - - - - -
- - - - + + + + \ No newline at end of file diff --git a/css/base.css b/css/base.css deleted file mode 100644 index d75c975..0000000 --- a/css/base.css +++ /dev/null @@ -1,707 +0,0 @@ -* { - margin: 0; - padding: 0; -} - -html, body { - font-size: 10px; -} - -body.hidden { - overflow: hidden; - padding-right: 6px; -} - -#app { - position: relative; - margin: 0 auto; -} - -/*控制整个滚动条*/ -::-webkit-scrollbar { - background-color: transparent; - width: 6px; - height: 6px; - background-clip: padding-box; -} - -/*滚动条中滑块部分*/ -::-webkit-scrollbar-thumb { - background-color: rgba(144,147,153,.5); - border-radius: 5px; - transition: background-color 0.3s ease; -} - -::-webkit-scrollbar-thumb:hover { - background-color: #a4a4a4; -} - -a { - color: #666; - text-decoration: none; - background-color: transparent; - transition: color 0.3s; -} - -a:hover { - color: black; -} - -.flex-container { - min-height: calc(100vh - 290px); - display: flex; - flex-direction: column; - justify-content: space-between; - margin-left: calc(100vw - 100%); - transition: all 0.3s ease; -} - -.header { - padding: 50px 0; -} - -.container { - width: 50%; - margin: 0 auto; -} - -.index .post-list, -.friend-index .friend-list, -.archives .post-list, -.tag-index .tag-list, -.about-index .markdown-body { - padding: 0 90px; -} - -.category-index .category-list { - padding: 0 110px; -} - -@media (max-width: 888px) { - .container { - width: 90%; - } - .index .post-list, - .friend-index .friend-list, - .archives .post-list, - .tag-index .tag-list, - .about-index .markdown-body { - padding: 0; - } - .category-index .category-list { - padding: 0 40px; - } - .post-catalog { - opacity: 0; - z-index: -1; - } - .back-to-top { - opacity: 0; - z-index: -1; - } -} - -@media (max-width: 1200px) and (min-width: 887px) { - .index .post-list, - .friend-index .friend-list, - .archives .post-list, - .tag-index .tag-list, - .about-index .markdown-body { - padding: 0 20px; - } -} - -.post-item { - display: flex; - font-size: 1.6rem; - margin-bottom: 20px; - align-items: center; -} - -.post-item .time-m-d { - flex-shrink: 0; - margin-right: 30px; - color: #666; - font-family: 'Raleway', 'Helvetica Neue', 'Arial', sans-serif; -} - -.post-item .title { - display: -webkit-box; - -webkit-line-clamp: 2; - -webkit-box-orient: vertical; - word-wrap: break-word; - overflow: hidden; - text-overflow: ellipsis; -} - -.post-item .title .post-top { - font-weight: 600; - font-size: 1.7rem; - padding-right: 8px; - color: #535353; -} - -.tag-details .time-m-d, .archives .time-m-d, .category-details .time-m-d { - margin: 0 30px; -} - -.avatar { - text-align: center; - padding-bottom: 30px; - margin-left: calc(100vw - 100%); -} - -.avatar img { - height: 100px; - width: 100px; - border-radius: 50%; -} - -.avatar .nickname { - font-size: 2rem; - font-weight: 600; - color: #666; - padding-top: 10px; -} - -.content { - clear: both; - padding: 0 20px; -} - -.content-title { - font-size: 1.6rem; - color: #666; - margin-bottom: 20px; - font-family: 'Raleway', 'Helvetica Neue', 'Arial', sans-serif; -} - -.navbar { - margin-left: calc(100vw - 100%); - display: flex; - align-items: center; - justify-content: center; -} - -.navbar ul li { - position: relative; - display: inline; - margin: 0 15px; - font-size: 1.6rem; - font-weight: bold; - text-align: center; -} - -.navbar ul li a { - padding-bottom: 2px; -} - -.navbar ul li a:hover::after { - content: ""; - position: absolute; - bottom: -3px; - left: 0; - height: 8px; - opacity: 0.3; - background-color: gray; - width: 100%; - border-radius: 3px; -} - -.navbar ul li.active a { - color: black; -} - -.navbar ul li.active a::after { - content: ""; - position: absolute; - bottom: -3px; - left: 0; - height: 8px; - opacity: 0.5; - background-color: gray; - width: 100%; - border-radius: 3px; -} - -@media (max-width: 888px) { - .navbar ul li { - margin: 0 10px; - } -} - -@media (max-width: 350px) { - .navbar ul li { - margin: 0 8px; - } -} - -.post-navigation { - font-size: 1.5rem; - padding: 20px 90px; - text-align: right; - color: #666; -} - -.post-navigation i { - font-weight: 600; -} - -.post-navigation .page-num { - padding: 0 10px; -} - -@media (max-width: 888px) { - .post-navigation { - padding: 20px 0; - } -} - -@media (max-width: 1200px) and (min-width: 887px) { - .post-navigation { - padding: 20px 20px; - } -} - -.footer { - padding-top: 30px; - font-size: 1.2rem; - color: #aaa; -} - -.social { - padding-bottom: 5px; -} - -.social ul { - text-align: center; -} - -.social ul li { - display: inline-block; - padding: 0 5px; -} - -.footer-more { - padding-bottom: 5px; - text-align: center; -} - - -.tag-list li { - font-size: 1.6rem; - display: inline-block; - padding: 10px; -} - -.tag-list li .tag-list-link { - position: relative; - padding: 0 2px; - border-radius: 2px; -} - -.tag-list li .tag-list-link:hover { - color: #fff; -} - -.tag-list li .tag-list-link::after { - content: ""; - position: absolute; - top: 0; - bottom: 0; - left: -2px; - right: -2px; - transition: transform 0.1s linear; - background: gray; - opacity: 0.8; - transform: scaleX(0); - transform-origin: right; - z-index: -1; - border-radius: 2px; -} - -.tag-list li .tag-list-link:hover::after { - transform: scaleX(1); - transform-origin: left; -} - -.tag-list-count, .category-list-count { - padding: 0 5px; - color: #aaa; - font-size: 1.2rem; - vertical-align: top; -} - -.category-list .category-list-item { - font-size: 1.6rem; - padding: 5px 0; -} - -.category-list .category-list-item .category-list-child { - padding-left: 30px; -} - -.friend-list-item { - font-size: 1.6rem; - padding: 10px; -} - -.friend-list-item .nickname { - padding-right: 10px; -} - -.post-details .post-title { - text-align: center; - font-size: 2.2rem; - font-weight: 600; - color: #666; - padding-bottom: 10px; -} - -.post-details .post-attach { - font-size: 1.4rem; - text-align: center; - padding-bottom: 30px; - color: #666; -} - -.post-content { - padding-bottom: 1rem; -} - -.prev-or-next { - font-size: 1.5rem; - display: flex; - justify-content: space-between; - padding: 1rem 0; - margin: 3rem 0; - border-top: 1px solid rgba(88,88,88,0.1); -} - -.prev-or-next .post-foot-next, .prev-or-next .post-foot-prev { - white-space: nowrap; -} - -.prev-or-next .post-attach { - opacity: 0.9; - font-size: 1.2rem; - padding: 0 30px; -} - -.post-attach .post-pubtime, .post-attach .post-tags, .post-attach .post-categories { - padding: 0 10px; -} - -@media (max-width: 768px) { - .time-m-d { - margin-right: 15px; - } - .tag-details .time-m-d, .archives .time-m-d { - margin: 0 15px; - } -} - -.post-catalog { - position: absolute; - top: calc(290px + 88px + 30px); - right: 50px; - width: calc(20% - 50px); - font-size: 1.4rem; - padding-left: 10px; -} - -.post-catalog .title { - opacity: 0.8; - font-size: 1.6rem; - font-weight: bold; - padding: 5px 0; -} - -.catalog-content { - overflow: auto; -} - -.post-catalog .toc-child { - padding-left: 10px; -} - -.post-catalog li { - list-style-type: none; - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; - line-height: 2; -} - -.toc-link { - position: relative; - padding: 3px 5px; - opacity: 0.8; - border-left: 2px solid transparent; -} - -.toc-link.active { - color: black; - opacity: 1; -} - -.toc-link:hover::after { - content: ""; - position: absolute; - left: 3px; - bottom: 0; - width: 8px; - height: 90%; - background-color: gray; - opacity: 0.3; - border-radius: 3px; -} - -.toc-link.active::after { - content: ""; - position: absolute; - left: 3px; - bottom: 0; - width: 8px; - height: 90%; - background-color: gray; - opacity: 0.5; - border-radius: 3px; -} - -.back-to-top { - position: fixed; - right: 2.2rem; - bottom: 5.2rem; - font-weight: bold; -} - -.back-to-top.hidden { - display: none; -} - -.search-icon { - position: fixed; - right: 2.2rem; - bottom: 2.2rem; - font-weight: bold; -} - -.search-overlay { - position: fixed; - top: 0; - left: 0; - bottom: 0; - right: 0; - background-color: rgba(0,0,0,0.3); - transition: background-color 0.2s ease; - visibility: visible; - padding-right: 6px; -} - -.search-overlay.hidden { - background-color: transparent; - visibility: hidden; - transition: visibility 0s linear 0.2s, background-color 0.2s; - padding-right: 0; -} - -.search-overlay.hidden .search-content { - position: relative; - top: 15%; - opacity: 0; -} - -.search-content { - position: relative; - top: 18%; - opacity: 1; - background-color: transparent; - z-index: 999; - border-radius: 10px; - margin: 0 2rem; - transition: top 0.2s ease, opacity 0.2s ease; - outline: 0; -} - -@media (min-width: 768px) { - .search-content { - width: 520px; - margin: 0 auto; - } -} - -.search-title { - display: flex; - justify-content: space-between; - align-items: center; - border-radius: 10px; - background-color: #fff; - padding: 0 8px; - box-shadow: 0 1px 2px 0 rgba(60, 64, 67, .30), 0 1px 3px 1px rgba(60, 64, 67, .15); -} - -.search-input { - width: 100%; - border: 0; - outline: 0; - background-color: transparent; - padding: 0 10px; - font-size: 1.6rem; - height: 38px; - line-height: 38px; -} - -.search-result { - max-height: 350px; - overflow: auto; - background-color: #fff; - border-radius: 10px; - margin-top: 8px; -} - -.search-result ul { - padding: 10px; -} - -.search-result-list li { - list-style-type: none; - padding: 10px; - font-size: 1.6rem; - border-bottom: 1px dashed #eee; -} - -.search-result-list li:nth-last-of-type(1) { - border-bottom: none; -} - -.search-result-abstract { - padding: 10px 10px 0 10px; - font-size: 1.2rem; - color: #666; -} - -.search-keyword { - color: #e96900; -} - -.local-search-empty { - font-size: 1.6rem; -} - -.greeting { - font-size: 64px; - font-weight: bold; - background: linear-gradient(135deg, #2c3e50, #3498db); - -webkit-background-clip: text; - color: transparent; - text-align: center; - margin-top: 50px; - margin-bottom: 50px; -} - -/* 添加 CSS 代码 */ -:root { - --success-color: #28a745; - --info-color: #17a2b8; - --warning-color: #ffc107; - --success-bg: #d4edda; - --info-bg: #d1ecf1; - --warning-bg: #fff3cd; - --font-family: 'Roboto', sans-serif; -} - -.notification { - display: flex; - align-items: center; - border-left: 5px solid; - padding: 20px; - margin: 10px 0; - border-radius: 12px; - box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); - max-width: 800px; - width: 100%; - box-sizing: border-box; - transition: background-color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - touch-action: manipulation; -} - -.notification i { - margin-right: 15px; - font-size: 1.5em; -} - -.notification.success { - background-color: var(--success-bg); - border-color: var(--success-color); -} - -.notification.success i { - color: var(--success-color); -} - -.notification.info { - background-color: var(--info-bg); - border-color: var(--info-color); -} - -.notification.info i { - color: var(--info-color); -} - -.notification.warning { - background-color: var(--warning-bg); - border-color: var(--warning-color); -} - -.notification.warning i { - color: var(--warning-color); -} - -.notification:hover { - transform: scale(1.02); - box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15); -} - -@media (max-width: 600px) { - .notification { - padding: 15px; - font-size: 0.9em; - } - - .notification i { - font-size: 1.2em; - } -} - -@media (min-width: 601px) and (max-width: 900px) { - .notification { - padding: 20px; - font-size: 1em; - } - - .notification i { - font-size: 1.3em; - } -} - -.greeting { - font-size: 3em; - font-weight: bold; - text-align: center; /* 居中对齐 */ - color: #4682B4; /* 柔和的蓝色 */ - margin-bottom: 2px; /* 减小行间距 */ -} - -.gradient-text { - background: linear-gradient(to right, #6EC1E4, #FF7E79); /* 柔和的蓝到红渐变 */ - -webkit-background-clip: text; - color: transparent; /* 透明字体,通过背景显示颜色 */ - display: inline-block; /* 确保文本在一行内显示 */ - white-space: nowrap; /* 防止文本换行 */ - margin-top: 0; /* 消除与上一行的间距 */ - margin-top: 0; /* 确保和上一行间距较小 */ -} diff --git a/css/github-markdown.css b/css/github-markdown.css deleted file mode 100644 index 6ac0694..0000000 --- a/css/github-markdown.css +++ /dev/null @@ -1,764 +0,0 @@ -@font-face { - font-family: octicons-link; - src: url(data:font/woff;charset=utf-8;base64,d09GRgABAAAAAAZwABAAAAAACFQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEU0lHAAAGaAAAAAgAAAAIAAAAAUdTVUIAAAZcAAAACgAAAAoAAQAAT1MvMgAAAyQAAABJAAAAYFYEU3RjbWFwAAADcAAAAEUAAACAAJThvmN2dCAAAATkAAAABAAAAAQAAAAAZnBnbQAAA7gAAACyAAABCUM+8IhnYXNwAAAGTAAAABAAAAAQABoAI2dseWYAAAFsAAABPAAAAZwcEq9taGVhZAAAAsgAAAA0AAAANgh4a91oaGVhAAADCAAAABoAAAAkCA8DRGhtdHgAAAL8AAAADAAAAAwGAACfbG9jYQAAAsAAAAAIAAAACABiATBtYXhwAAACqAAAABgAAAAgAA8ASm5hbWUAAAToAAABQgAAAlXu73sOcG9zdAAABiwAAAAeAAAAME3QpOBwcmVwAAAEbAAAAHYAAAB/aFGpk3jaTY6xa8JAGMW/O62BDi0tJLYQincXEypYIiGJjSgHniQ6umTsUEyLm5BV6NDBP8Tpts6F0v+k/0an2i+itHDw3v2+9+DBKTzsJNnWJNTgHEy4BgG3EMI9DCEDOGEXzDADU5hBKMIgNPZqoD3SilVaXZCER3/I7AtxEJLtzzuZfI+VVkprxTlXShWKb3TBecG11rwoNlmmn1P2WYcJczl32etSpKnziC7lQyWe1smVPy/Lt7Kc+0vWY/gAgIIEqAN9we0pwKXreiMasxvabDQMM4riO+qxM2ogwDGOZTXxwxDiycQIcoYFBLj5K3EIaSctAq2kTYiw+ymhce7vwM9jSqO8JyVd5RH9gyTt2+J/yUmYlIR0s04n6+7Vm1ozezUeLEaUjhaDSuXHwVRgvLJn1tQ7xiuVv/ocTRF42mNgZGBgYGbwZOBiAAFGJBIMAAizAFoAAABiAGIAznjaY2BkYGAA4in8zwXi+W2+MjCzMIDApSwvXzC97Z4Ig8N/BxYGZgcgl52BCSQKAA3jCV8CAABfAAAAAAQAAEB42mNgZGBg4f3vACQZQABIMjKgAmYAKEgBXgAAeNpjYGY6wTiBgZWBg2kmUxoDA4MPhGZMYzBi1AHygVLYQUCaawqDA4PChxhmh/8ODDEsvAwHgMKMIDnGL0x7gJQCAwMAJd4MFwAAAHjaY2BgYGaA4DAGRgYQkAHyGMF8NgYrIM3JIAGVYYDT+AEjAwuDFpBmA9KMDEwMCh9i/v8H8sH0/4dQc1iAmAkALaUKLgAAAHjaTY9LDsIgEIbtgqHUPpDi3gPoBVyRTmTddOmqTXThEXqrob2gQ1FjwpDvfwCBdmdXC5AVKFu3e5MfNFJ29KTQT48Ob9/lqYwOGZxeUelN2U2R6+cArgtCJpauW7UQBqnFkUsjAY/kOU1cP+DAgvxwn1chZDwUbd6CFimGXwzwF6tPbFIcjEl+vvmM/byA48e6tWrKArm4ZJlCbdsrxksL1AwWn/yBSJKpYbq8AXaaTb8AAHja28jAwOC00ZrBeQNDQOWO//sdBBgYGRiYWYAEELEwMTE4uzo5Zzo5b2BxdnFOcALxNjA6b2ByTswC8jYwg0VlNuoCTWAMqNzMzsoK1rEhNqByEyerg5PMJlYuVueETKcd/89uBpnpvIEVomeHLoMsAAe1Id4AAAAAAAB42oWQT07CQBTGv0JBhagk7HQzKxca2sJCE1hDt4QF+9JOS0nbaaYDCQfwCJ7Au3AHj+LO13FMmm6cl7785vven0kBjHCBhfpYuNa5Ph1c0e2Xu3jEvWG7UdPDLZ4N92nOm+EBXuAbHmIMSRMs+4aUEd4Nd3CHD8NdvOLTsA2GL8M9PODbcL+hD7C1xoaHeLJSEao0FEW14ckxC+TU8TxvsY6X0eLPmRhry2WVioLpkrbp84LLQPGI7c6sOiUzpWIWS5GzlSgUzzLBSikOPFTOXqly7rqx0Z1Q5BAIoZBSFihQYQOOBEdkCOgXTOHA07HAGjGWiIjaPZNW13/+lm6S9FT7rLHFJ6fQbkATOG1j2OFMucKJJsxIVfQORl+9Jyda6Sl1dUYhSCm1dyClfoeDve4qMYdLEbfqHf3O/AdDumsjAAB42mNgYoAAZQYjBmyAGYQZmdhL8zLdDEydARfoAqIAAAABAAMABwAKABMAB///AA8AAQAAAAAAAAAAAAAAAAABAAAAAA==) - format("woff"); -} - -.markdown-body { - -ms-text-size-adjust: 100%; - -webkit-text-size-adjust: 100%; - line-height: 2; - color: #24292e; - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, - sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; - font-size: 1.6rem; - line-height: 2; - word-wrap: break-word; -} - -@media (max-width: 768px) { - .markdown-body { - font-size: 1.4rem; - } -} - -.markdown-body .pl-c { - color: #6a737d; -} - -.markdown-body .pl-c1, -.markdown-body .pl-s .pl-v { - color: #005cc5; -} - -.markdown-body .pl-e, -.markdown-body .pl-en { - color: #6f42c1; -} - -.markdown-body .pl-smi, -.markdown-body .pl-s .pl-s1 { - color: #24292e; -} - -.markdown-body .pl-ent { - color: #22863a; -} - -.markdown-body .pl-k { - color: #d73a49; -} - -.markdown-body .pl-s, -.markdown-body .pl-pds, -.markdown-body .pl-s .pl-pse .pl-s1, -.markdown-body .pl-sr, -.markdown-body .pl-sr .pl-cce, -.markdown-body .pl-sr .pl-sre, -.markdown-body .pl-sr .pl-sra { - color: #032f62; -} - -.markdown-body .pl-v, -.markdown-body .pl-smw { - color: #e36209; -} - -.markdown-body .pl-bu { - color: #b31d28; -} - -.markdown-body .pl-ii { - color: #fafbfc; - background-color: #b31d28; -} - -.markdown-body .pl-c2 { - color: #fafbfc; - background-color: #d73a49; -} - -.markdown-body .pl-c2::before { - content: "^M"; -} - -.markdown-body .pl-sr .pl-cce { - font-weight: bold; - color: #22863a; -} - -.markdown-body .pl-ml { - color: #735c0f; -} - -.markdown-body .pl-mh, -.markdown-body .pl-mh .pl-en, -.markdown-body .pl-ms { - font-weight: bold; - color: #005cc5; -} - -.markdown-body .pl-mi { - font-style: italic; - color: #24292e; -} - -.markdown-body .pl-mb { - font-weight: bold; - color: #24292e; -} - -.markdown-body .pl-md { - color: #b31d28; - background-color: #ffeef0; -} - -.markdown-body .pl-mi1 { - color: #22863a; - background-color: #f0fff4; -} - -.markdown-body .pl-mc { - color: #e36209; - background-color: #ffebda; -} - -.markdown-body .pl-mi2 { - color: #f6f8fa; - background-color: #005cc5; -} - -.markdown-body .pl-mdr { - font-weight: bold; - color: #6f42c1; -} - -.markdown-body .pl-ba { - color: #586069; -} - -.markdown-body .pl-sg { - color: #959da5; -} - -.markdown-body .pl-corl { - text-decoration: underline; - color: #032f62; -} - -.markdown-body .octicon { - display: inline-block; - vertical-align: text-top; - fill: currentColor; -} - -.markdown-body a { - background-color: transparent; -} - -.markdown-body a:active, -.markdown-body a:hover { - outline-width: 0; -} - -.markdown-body strong { - font-weight: inherit; -} - -.markdown-body strong { - font-weight: bolder; -} - -.markdown-body h1 { - font-size: 2em; - margin: 0.67em 0; -} - -.markdown-body img { - border-style: none; -} - -.markdown-body code, -.markdown-body kbd, -.markdown-body pre { - font-family: monospace, monospace; - font-size: 1em; -} - -.markdown-body hr { - box-sizing: content-box; - height: 0; - overflow: visible; -} - -.markdown-body input { - font: inherit; - margin: 0; -} - -.markdown-body input { - overflow: visible; -} - -.markdown-body [type="checkbox"] { - box-sizing: border-box; - padding: 0; -} - -.markdown-body * { - box-sizing: border-box; -} - -.markdown-body input { - font-family: inherit; - font-size: inherit; - line-height: inherit; -} - -.markdown-body a { - color: #666; - text-decoration: none; - border-bottom: 1px solid #666; - font-size: 1em; - transition: color 0.3s; -} - -.markdown-body a:hover { - text-decoration: none; - color: black; - border-bottom: 1px solid black; -} - -.markdown-body strong { - font-weight: 600; -} - -.markdown-body hr { - height: 0; - margin: 15px 0; - overflow: hidden; - background: transparent; - border: 0; - border-bottom: 1px solid #dfe2e5; -} - -.markdown-body hr::before { - display: table; - content: ""; -} - -.markdown-body hr::after { - display: table; - clear: both; - content: ""; -} - -.markdown-body table { - border-spacing: 0; - border-collapse: collapse; -} - -.markdown-body td, -.markdown-body th { - padding: 0; -} - -.markdown-body h1, -.markdown-body h2, -.markdown-body h3, -.markdown-body h4, -.markdown-body h5, -.markdown-body h6 { - margin-top: 0; - margin-bottom: 0; -} - -.markdown-body h1 { - font-size: 32px; - font-weight: 600; -} - -.markdown-body h2 { - font-size: 24px; - font-weight: 600; -} - -.markdown-body h3 { - font-size: 20px; - font-weight: 600; -} - -.markdown-body h4 { - font-size: 16px; - font-weight: 600; -} - -.markdown-body h5 { - font-size: 14px; - font-weight: 600; -} - -.markdown-body h6 { - font-size: 12px; - font-weight: 600; -} - -.markdown-body p { - margin-top: 0; - margin-bottom: 10px; -} - -.markdown-body blockquote { - margin: 0; -} - -.markdown-body ul, -.markdown-body ol { - padding-left: 0; - margin-top: 0; - margin-bottom: 0; -} - -.markdown-body ol ol, -.markdown-body ul ol { - list-style-type: lower-roman; -} - -.markdown-body ul ul ol, -.markdown-body ul ol ol, -.markdown-body ol ul ol, -.markdown-body ol ol ol { - list-style-type: lower-alpha; -} - -.markdown-body dd { - margin-left: 0; -} - -.markdown-body code { - font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, - monospace; - font-size: 12px; -} - -.markdown-body pre { - margin-top: 0; - margin-bottom: 0; - font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, - monospace; - font-size: 12px; -} - -.markdown-body .octicon { - vertical-align: text-bottom; -} - -.markdown-body .pl-0 { - padding-left: 0 !important; -} - -.markdown-body .pl-1 { - padding-left: 4px !important; -} - -.markdown-body .pl-2 { - padding-left: 8px !important; -} - -.markdown-body .pl-3 { - padding-left: 16px !important; -} - -.markdown-body .pl-4 { - padding-left: 24px !important; -} - -.markdown-body .pl-5 { - padding-left: 32px !important; -} - -.markdown-body .pl-6 { - padding-left: 40px !important; -} - -.markdown-body::before { - display: table; - content: ""; -} - -.markdown-body::after { - display: table; - clear: both; - content: ""; -} - -.markdown-body > *:first-child { - margin-top: 0 !important; -} - -.markdown-body > *:last-child { - margin-bottom: 0 !important; -} - -.markdown-body a:not([href]) { - color: inherit; - text-decoration: none; -} - -.markdown-body .anchor { - float: left; - padding-right: 4px; - margin-left: -20px; - line-height: 1; -} - -.markdown-body .anchor:focus { - outline: none; -} - -.markdown-body p, -.markdown-body blockquote, -.markdown-body ul, -.markdown-body ol, -.markdown-body dl, -.markdown-body table, -.markdown-body pre { - margin-top: 0; - margin-bottom: 16px; -} - -.markdown-body hr { - height: 0.25em; - padding: 0; - margin: 24px 0; - background-color: #e1e4e8; - border: 0; -} - -.markdown-body blockquote { - /*margin: 3rem 0;*/ - padding: 15px; - color: #555; - border-left: 0.25em solid #555; - background: #EEEEEE; - border-radius: 3px; -} - -.markdown-body blockquote > :first-child { - margin-top: 0; -} - -.markdown-body blockquote > :last-child { - margin-bottom: 0; -} - -.markdown-body kbd { - display: inline-block; - padding: 3px 5px; - font-size: 11px; - line-height: 10px; - color: #444d56; - vertical-align: middle; - background-color: #fafbfc; - border: solid 1px #c6cbd1; - border-bottom-color: #959da5; - border-radius: 3px; - box-shadow: inset 0 -1px 0 #959da5; -} - -.markdown-body h1, -.markdown-body h2, -.markdown-body h3, -.markdown-body h4, -.markdown-body h5, -.markdown-body h6 { - margin-top: 24px; - margin-bottom: 16px; - font-weight: 600; - line-height: 1.25; -} - -.markdown-body h1 .headerlink, -.markdown-body h2 .headerlink, -.markdown-body h3 .headerlink, -.markdown-body h4 .headerlink, -.markdown-body h5 .headerlink, -.markdown-body h6 .headerlink { - position: relative; - text-decoration: none; -} - -.markdown-body h1 .headerlink::before, -.markdown-body h2 .headerlink::before, -.markdown-body h3 .headerlink::before, -.markdown-body h4 .headerlink::before, -.markdown-body h5 .headerlink::before, -.markdown-body h6 .headerlink::before { - content: "#"; - position: absolute; - right: 0; - font-weight: bold; - opacity: 0; - transition: opacity 0.3s, width 0.3s; -} - -.markdown-body h1:hover .headerlink::before, -.markdown-body h2:hover .headerlink::before, -.markdown-body h3:hover .headerlink::before, -.markdown-body h4:hover .headerlink::before, -.markdown-body h5:hover .headerlink::before, -.markdown-body h6:hover .headerlink::before { - content: "#"; - position: absolute; - right: 0; - opacity: 1; -} - -.markdown-body h1 .octicon-link, -.markdown-body h2 .octicon-link, -.markdown-body h3 .octicon-link, -.markdown-body h4 .octicon-link, -.markdown-body h5 .octicon-link, -.markdown-body h6 .octicon-link { - color: #1b1f23; - vertical-align: middle; - visibility: hidden; -} - -.markdown-body h1:hover .anchor, -.markdown-body h2:hover .anchor, -.markdown-body h3:hover .anchor, -.markdown-body h4:hover .anchor, -.markdown-body h5:hover .anchor, -.markdown-body h6:hover .anchor { - text-decoration: none; -} - -.markdown-body h1:hover .anchor .octicon-link, -.markdown-body h2:hover .anchor .octicon-link, -.markdown-body h3:hover .anchor .octicon-link, -.markdown-body h4:hover .anchor .octicon-link, -.markdown-body h5:hover .anchor .octicon-link, -.markdown-body h6:hover .anchor .octicon-link { - visibility: visible; -} - -.markdown-body h1 { - padding-bottom: 0.3em; - font-size: 2em; -} - -.markdown-body h2 { - padding-bottom: 0.3em; - font-size: 1.5em; -} - -.markdown-body h3 { - font-size: 1.25em; -} - -.markdown-body h4 { - font-size: 1em; -} - -.markdown-body h5 { - font-size: 0.875em; -} - -.markdown-body h6 { - font-size: 0.85em; - color: #6a737d; -} - -.markdown-body ul, -.markdown-body ol { - padding-left: 2em; -} - -.markdown-body ul ul, -.markdown-body ul ol, -.markdown-body ol ol, -.markdown-body ol ul { - margin-top: 0; - margin-bottom: 0; -} - -.markdown-body li { - word-wrap: break-all; -} - -.markdown-body li > p { - margin-top: 16px; -} - -.markdown-body li + li { - margin-top: 0.25em; -} - -.markdown-body dl { - padding: 0; -} - -.markdown-body dl dt { - padding: 0; - margin-top: 16px; - font-size: 1em; - font-style: italic; - font-weight: 600; -} - -.markdown-body dl dd { - padding: 0 16px; - margin-bottom: 16px; -} - -.markdown-body table { - display: block; - width: 100%; - overflow: auto; -} - -.markdown-body table th { - font-weight: 600; -} - -.markdown-body table th, -.markdown-body table td { - padding: 6px 13px; - border: 1px solid #dfe2e5; -} - -.markdown-body table tr { - background-color: #fff; - border-top: 1px solid #c6cbd1; -} - -.markdown-body table tr:nth-child(2n) { - background-color: #f6f8fa; -} - -.markdown-body img { - max-width: 90%; - display: block; - margin: 0 auto; - box-sizing: content-box; - background-color: #fff; -} - -.markdown-body img[align="right"] { - padding-left: 20px; -} - -.markdown-body img[align="left"] { - padding-right: 20px; -} - -.markdown-body code { - padding: 3px 5px; - margin: 0 2px; - font-size: 85%; - border-radius: 3px; - background-color: #f8f8f8; - color: #e96900; -} - -.markdown-body pre { - word-wrap: normal; -} - -.markdown-body pre > code { - padding: 0; - margin: 0; - font-size: 100%; - word-break: normal; - white-space: pre; - background: transparent; - border: 0; - color: #333; -} - -.markdown-body .highlight { - margin-bottom: 16px; -} - -.markdown-body .highlight pre { - margin-bottom: 0; - word-break: normal; -} - -.markdown-body .highlight pre, -.markdown-body pre { - padding: 10px; - overflow: auto; - font-size: 90%; - line-height: 1.8; - background-color: #fcfcfc; - border-radius: 5px; -} - -.markdown-body pre code { - display: inline; - max-width: auto; - padding: 0; - margin: 0; - overflow: visible; - line-height: inherit; - word-wrap: normal; - background-color: transparent; - border: 0; -} - -.markdown-body .full-commit .btn-outline:not(:disabled):hover { - color: #005cc5; - border-color: #005cc5; -} - -.markdown-body kbd { - display: inline-block; - padding: 3px 5px; - font: 11px "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, - monospace; - line-height: 10px; - color: #444d56; - vertical-align: middle; - background-color: #fafbfc; - border: solid 1px #d1d5da; - border-bottom-color: #c6cbd1; - border-radius: 3px; - box-shadow: inset 0 -1px 0 #c6cbd1; -} - -.markdown-body :checked + .radio-label { - position: relative; - z-index: 1; - border-color: #0366d6; -} - -.markdown-body .task-list-item { - list-style-type: none; -} - -.markdown-body .task-list-item + .task-list-item { - margin-top: 3px; -} - -.markdown-body .task-list-item input { - margin: 0 0.2em 0.25em -1.6em; - vertical-align: middle; -} - -.markdown-body hr { - border-bottom-color: #eee; -} - -details summary { - outline: none; - cursor: pointer; -} - -figure figcaption { - padding-left: 1rem; - background-color: #1b1b1b; - border-top-left-radius: 5px; - border-top-right-radius: 5px; -} diff --git a/css/highlight.css b/css/highlight.css deleted file mode 100644 index 0821abd..0000000 --- a/css/highlight.css +++ /dev/null @@ -1,32 +0,0 @@ -.article-entry pre,.article-entry .highlight{background:#2d2d2d;margin:0 -20px;padding:15px 20px;border-style:solid;border-color:color-border;border-width:1px 0;overflow:auto;color:#ccc;line-height:22.400000000000002px}.article-entry .highlight .gutter pre,.article-entry .gist .gist-file .gist-data .line-numbers{color:#666;font-size:.85em}.article-entry pre,.article-entry code{font-family:"Source Code Pro",Consolas,Monaco,Menlo,Consolas,monospace}.article-entry code{background:color-background;text-shadow:0 1px #fff;padding:0 .3em}.article-entry pre code{background:none;text-shadow:none;padding:0}.article-entry .highlight pre{border:none;margin:0;padding:0}.article-entry .highlight table{margin:0;width:auto}.article-entry .highlight td{border:none;padding:0}.article-entry .highlight figcaption{font-size:.85em;color:#999;line-height:1em;margin-bottom:1em;}.article-entry .highlight figcaption a{float:right}.article-entry .highlight .gutter pre{text-align:right;padding-right:20px}.article-entry .highlight .line{height:22.400000000000002px}.article-entry .highlight .line.marked{background:#515151}.article-entry .gist{margin:0 -20px;border-style:solid;border-color:color-border;border-width:1px 0;background:#2d2d2d;padding:15px 20px 15px 0;}.article-entry .gist .gist-file{border:none;font-family:"Source Code Pro",Consolas,Monaco,Menlo,Consolas,monospace;margin:0;}.article-entry .gist .gist-file .gist-data{background:none;border:none;}.article-entry .gist .gist-file .gist-data .line-numbers{background:none;border:none;padding:0 20px 0 0}.article-entry .gist .gist-file .gist-data .line-data{padding:0 !important}.article-entry .gist .gist-file .highlight{margin:0;padding:0;border:none}.article-entry .gist .gist-file .gist-meta{background:#2d2d2d;color:#999;font:.85em -apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;text-shadow:0 0;padding:0;margin-top:1em;margin-left:20px;}.article-entry .gist .gist-file .gist-meta a{color:#258fb8;font-weight:normal;}.article-entry .gist .gist-file .gist-meta a:hover{text-decoration:underline}pre .comment,pre .title{color:#999}pre .variable,pre .attribute,pre .tag,pre .regexp,pre .ruby .constant,pre .xml .tag .title,pre .xml .pi,pre .xml .doctype,pre .html .doctype,pre .css .id,pre .css .class,pre .css .pseudo{color:#f2777a}pre .number,pre .preprocessor,pre .built_in,pre .literal,pre .params,pre .constant{color:#f99157}pre .class,pre .ruby .class .title,pre .css .rules .attribute{color:#9c9}pre .string,pre .value,pre .inheritance,pre .header,pre .ruby .symbol,pre .xml .cdata{color:#9c9}pre .css .hexcolor{color:#6cc}pre .function,pre .python .decorator,pre .python .title,pre .ruby .function .title,pre .ruby .title .keyword,pre .perl .sub,pre .javascript .title,pre .coffeescript .title{color:#69c}pre .keyword,pre .javascript .function{color:#c9c} - -.markdown-body .highlight { - color: #ccc; - background-color: #2d2d2d; - border-radius: 5px; -} - -.markdown-body .highlight table td { - padding: 0; - border: none; -} - -.markdown-body .highlight table tr { - border: none; -} - -.markdown-body .highlight .gutter pre { - color: #999; - background: #1b1b1b; -} - -.highlight .code pre { - width: 100%; - padding-left: 10px; - padding-right: 10px; - background-color: #2d2d2d; -} - -.markdown-body .highlight table tbody pre { - border-radius: 0; -} \ No newline at end of file diff --git a/fancybox/blank.gif b/fancybox/blank.gif new file mode 100644 index 0000000..35d42e8 Binary files /dev/null and b/fancybox/blank.gif differ diff --git a/fancybox/fancybox_loading.gif b/fancybox/fancybox_loading.gif new file mode 100644 index 0000000..a03a40c Binary files /dev/null and b/fancybox/fancybox_loading.gif differ diff --git a/fancybox/fancybox_loading@2x.gif b/fancybox/fancybox_loading@2x.gif new file mode 100644 index 0000000..9205aeb Binary files /dev/null and b/fancybox/fancybox_loading@2x.gif differ diff --git a/fancybox/fancybox_overlay.png b/fancybox/fancybox_overlay.png new file mode 100644 index 0000000..a439139 Binary files /dev/null and b/fancybox/fancybox_overlay.png differ diff --git a/fancybox/fancybox_sprite.png b/fancybox/fancybox_sprite.png new file mode 100644 index 0000000..fd8d5ca Binary files /dev/null and b/fancybox/fancybox_sprite.png differ diff --git a/fancybox/fancybox_sprite@2x.png b/fancybox/fancybox_sprite@2x.png new file mode 100644 index 0000000..d0e4779 Binary files /dev/null and b/fancybox/fancybox_sprite@2x.png differ diff --git a/fancybox/helpers/fancybox_buttons.png b/fancybox/helpers/fancybox_buttons.png new file mode 100644 index 0000000..0787207 Binary files /dev/null and b/fancybox/helpers/fancybox_buttons.png differ diff --git a/fancybox/helpers/jquery.fancybox-buttons.css b/fancybox/helpers/jquery.fancybox-buttons.css new file mode 100644 index 0000000..a26273a --- /dev/null +++ b/fancybox/helpers/jquery.fancybox-buttons.css @@ -0,0 +1,97 @@ +#fancybox-buttons { + position: fixed; + left: 0; + width: 100%; + z-index: 8050; +} + +#fancybox-buttons.top { + top: 10px; +} + +#fancybox-buttons.bottom { + bottom: 10px; +} + +#fancybox-buttons ul { + display: block; + width: 166px; + height: 30px; + margin: 0 auto; + padding: 0; + list-style: none; + border: 1px solid #111; + border-radius: 3px; + -webkit-box-shadow: inset 0 0 0 1px rgba(255,255,255,.05); + -moz-box-shadow: inset 0 0 0 1px rgba(255,255,255,.05); + box-shadow: inset 0 0 0 1px rgba(255,255,255,.05); + background: rgb(50,50,50); + background: -moz-linear-gradient(top, rgb(68,68,68) 0%, rgb(52,52,52) 50%, rgb(41,41,41) 50%, rgb(51,51,51) 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgb(68,68,68)), color-stop(50%,rgb(52,52,52)), color-stop(50%,rgb(41,41,41)), color-stop(100%,rgb(51,51,51))); + background: -webkit-linear-gradient(top, rgb(68,68,68) 0%,rgb(52,52,52) 50%,rgb(41,41,41) 50%,rgb(51,51,51) 100%); + background: -o-linear-gradient(top, rgb(68,68,68) 0%,rgb(52,52,52) 50%,rgb(41,41,41) 50%,rgb(51,51,51) 100%); + background: -ms-linear-gradient(top, rgb(68,68,68) 0%,rgb(52,52,52) 50%,rgb(41,41,41) 50%,rgb(51,51,51) 100%); + background: linear-gradient(top, rgb(68,68,68) 0%,rgb(52,52,52) 50%,rgb(41,41,41) 50%,rgb(51,51,51) 100%); + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#444444', endColorstr='#222222',GradientType=0 ); +} + +#fancybox-buttons ul li { + float: left; + margin: 0; + padding: 0; +} + +#fancybox-buttons a { + display: block; + width: 30px; + height: 30px; + text-indent: -9999px; + background-color: transparent; + background-image: url('fancybox_buttons.png'); + background-repeat: no-repeat; + outline: none; + opacity: 0.8; +} + +#fancybox-buttons a:hover { + opacity: 1; +} + +#fancybox-buttons a.btnPrev { + background-position: 5px 0; +} + +#fancybox-buttons a.btnNext { + background-position: -33px 0; + border-right: 1px solid #3e3e3e; +} + +#fancybox-buttons a.btnPlay { + background-position: 0 -30px; +} + +#fancybox-buttons a.btnPlayOn { + background-position: -30px -30px; +} + +#fancybox-buttons a.btnToggle { + background-position: 3px -60px; + border-left: 1px solid #111; + border-right: 1px solid #3e3e3e; + width: 35px +} + +#fancybox-buttons a.btnToggleOn { + background-position: -27px -60px; +} + +#fancybox-buttons a.btnClose { + border-left: 1px solid #111; + width: 35px; + background-position: -56px 0px; +} + +#fancybox-buttons a.btnDisabled { + opacity : 0.4; + cursor: default; +} \ No newline at end of file diff --git a/fancybox/helpers/jquery.fancybox-buttons.js b/fancybox/helpers/jquery.fancybox-buttons.js new file mode 100644 index 0000000..352bb5f --- /dev/null +++ b/fancybox/helpers/jquery.fancybox-buttons.js @@ -0,0 +1,122 @@ + /*! + * Buttons helper for fancyBox + * version: 1.0.5 (Mon, 15 Oct 2012) + * @requires fancyBox v2.0 or later + * + * Usage: + * $(".fancybox").fancybox({ + * helpers : { + * buttons: { + * position : 'top' + * } + * } + * }); + * + */ +;(function ($) { + //Shortcut for fancyBox object + var F = $.fancybox; + + //Add helper object + F.helpers.buttons = { + defaults : { + skipSingle : false, // disables if gallery contains single image + position : 'top', // 'top' or 'bottom' + tpl : '
' + }, + + list : null, + buttons: null, + + beforeLoad: function (opts, obj) { + //Remove self if gallery do not have at least two items + + if (opts.skipSingle && obj.group.length < 2) { + obj.helpers.buttons = false; + obj.closeBtn = true; + + return; + } + + //Increase top margin to give space for buttons + obj.margin[ opts.position === 'bottom' ? 2 : 0 ] += 30; + }, + + onPlayStart: function () { + if (this.buttons) { + this.buttons.play.attr('title', 'Pause slideshow').addClass('btnPlayOn'); + } + }, + + onPlayEnd: function () { + if (this.buttons) { + this.buttons.play.attr('title', 'Start slideshow').removeClass('btnPlayOn'); + } + }, + + afterShow: function (opts, obj) { + var buttons = this.buttons; + + if (!buttons) { + this.list = $(opts.tpl).addClass(opts.position).appendTo('body'); + + buttons = { + prev : this.list.find('.btnPrev').click( F.prev ), + next : this.list.find('.btnNext').click( F.next ), + play : this.list.find('.btnPlay').click( F.play ), + toggle : this.list.find('.btnToggle').click( F.toggle ), + close : this.list.find('.btnClose').click( F.close ) + } + } + + //Prev + if (obj.index > 0 || obj.loop) { + buttons.prev.removeClass('btnDisabled'); + } else { + buttons.prev.addClass('btnDisabled'); + } + + //Next / Play + if (obj.loop || obj.index < obj.group.length - 1) { + buttons.next.removeClass('btnDisabled'); + buttons.play.removeClass('btnDisabled'); + + } else { + buttons.next.addClass('btnDisabled'); + buttons.play.addClass('btnDisabled'); + } + + this.buttons = buttons; + + this.onUpdate(opts, obj); + }, + + onUpdate: function (opts, obj) { + var toggle; + + if (!this.buttons) { + return; + } + + toggle = this.buttons.toggle.removeClass('btnDisabled btnToggleOn'); + + //Size toggle button + if (obj.canShrink) { + toggle.addClass('btnToggleOn'); + + } else if (!obj.canExpand) { + toggle.addClass('btnDisabled'); + } + }, + + beforeClose: function () { + if (this.list) { + this.list.remove(); + } + + this.list = null; + this.buttons = null; + } + }; + +}(jQuery)); diff --git a/fancybox/helpers/jquery.fancybox-media.js b/fancybox/helpers/jquery.fancybox-media.js new file mode 100644 index 0000000..62737a5 --- /dev/null +++ b/fancybox/helpers/jquery.fancybox-media.js @@ -0,0 +1,199 @@ +/*! + * Media helper for fancyBox + * version: 1.0.6 (Fri, 14 Jun 2013) + * @requires fancyBox v2.0 or later + * + * Usage: + * $(".fancybox").fancybox({ + * helpers : { + * media: true + * } + * }); + * + * Set custom URL parameters: + * $(".fancybox").fancybox({ + * helpers : { + * media: { + * youtube : { + * params : { + * autoplay : 0 + * } + * } + * } + * } + * }); + * + * Or: + * $(".fancybox").fancybox({, + * helpers : { + * media: true + * }, + * youtube : { + * autoplay: 0 + * } + * }); + * + * Supports: + * + * Youtube + * http://www.youtube.com/watch?v=opj24KnzrWo + * http://www.youtube.com/embed/opj24KnzrWo + * http://youtu.be/opj24KnzrWo + * http://www.youtube-nocookie.com/embed/opj24KnzrWo + * Vimeo + * http://vimeo.com/40648169 + * http://vimeo.com/channels/staffpicks/38843628 + * http://vimeo.com/groups/surrealism/videos/36516384 + * http://player.vimeo.com/video/45074303 + * Metacafe + * http://www.metacafe.com/watch/7635964/dr_seuss_the_lorax_movie_trailer/ + * http://www.metacafe.com/watch/7635964/ + * Dailymotion + * http://www.dailymotion.com/video/xoytqh_dr-seuss-the-lorax-premiere_people + * Twitvid + * http://twitvid.com/QY7MD + * Twitpic + * http://twitpic.com/7p93st + * Instagram + * http://instagr.am/p/IejkuUGxQn/ + * http://instagram.com/p/IejkuUGxQn/ + * Google maps + * http://maps.google.com/maps?q=Eiffel+Tower,+Avenue+Gustave+Eiffel,+Paris,+France&t=h&z=17 + * http://maps.google.com/?ll=48.857995,2.294297&spn=0.007666,0.021136&t=m&z=16 + * http://maps.google.com/?ll=48.859463,2.292626&spn=0.000965,0.002642&t=m&z=19&layer=c&cbll=48.859524,2.292532&panoid=YJ0lq28OOy3VT2IqIuVY0g&cbp=12,151.58,,0,-15.56 + */ +;(function ($) { + "use strict"; + + //Shortcut for fancyBox object + var F = $.fancybox, + format = function( url, rez, params ) { + params = params || ''; + + if ( $.type( params ) === "object" ) { + params = $.param(params, true); + } + + $.each(rez, function(key, value) { + url = url.replace( '$' + key, value || '' ); + }); + + if (params.length) { + url += ( url.indexOf('?') > 0 ? '&' : '?' ) + params; + } + + return url; + }; + + //Add helper object + F.helpers.media = { + defaults : { + youtube : { + matcher : /(youtube\.com|youtu\.be|youtube-nocookie\.com)\/(watch\?v=|v\/|u\/|embed\/?)?(videoseries\?list=(.*)|[\w-]{11}|\?listType=(.*)&list=(.*)).*/i, + params : { + autoplay : 1, + autohide : 1, + fs : 1, + rel : 0, + hd : 1, + wmode : 'opaque', + enablejsapi : 1 + }, + type : 'iframe', + url : '//www.youtube.com/embed/$3' + }, + vimeo : { + matcher : /(?:vimeo(?:pro)?.com)\/(?:[^\d]+)?(\d+)(?:.*)/, + params : { + autoplay : 1, + hd : 1, + show_title : 1, + show_byline : 1, + show_portrait : 0, + fullscreen : 1 + }, + type : 'iframe', + url : '//player.vimeo.com/video/$1' + }, + metacafe : { + matcher : /metacafe.com\/(?:watch|fplayer)\/([\w\-]{1,10})/, + params : { + autoPlay : 'yes' + }, + type : 'swf', + url : function( rez, params, obj ) { + obj.swf.flashVars = 'playerVars=' + $.param( params, true ); + + return '//www.metacafe.com/fplayer/' + rez[1] + '/.swf'; + } + }, + dailymotion : { + matcher : /dailymotion.com\/video\/(.*)\/?(.*)/, + params : { + additionalInfos : 0, + autoStart : 1 + }, + type : 'swf', + url : '//www.dailymotion.com/swf/video/$1' + }, + twitvid : { + matcher : /twitvid\.com\/([a-zA-Z0-9_\-\?\=]+)/i, + params : { + autoplay : 0 + }, + type : 'iframe', + url : '//www.twitvid.com/embed.php?guid=$1' + }, + twitpic : { + matcher : /twitpic\.com\/(?!(?:place|photos|events)\/)([a-zA-Z0-9\?\=\-]+)/i, + type : 'image', + url : '//twitpic.com/show/full/$1/' + }, + instagram : { + matcher : /(instagr\.am|instagram\.com)\/p\/([a-zA-Z0-9_\-]+)\/?/i, + type : 'image', + url : '//$1/p/$2/media/?size=l' + }, + google_maps : { + matcher : /maps\.google\.([a-z]{2,3}(\.[a-z]{2})?)\/(\?ll=|maps\?)(.*)/i, + type : 'iframe', + url : function( rez ) { + return '//maps.google.' + rez[1] + '/' + rez[3] + '' + rez[4] + '&output=' + (rez[4].indexOf('layer=c') > 0 ? 'svembed' : 'embed'); + } + } + }, + + beforeLoad : function(opts, obj) { + var url = obj.href || '', + type = false, + what, + item, + rez, + params; + + for (what in opts) { + if (opts.hasOwnProperty(what)) { + item = opts[ what ]; + rez = url.match( item.matcher ); + + if (rez) { + type = item.type; + params = $.extend(true, {}, item.params, obj[ what ] || ($.isPlainObject(opts[ what ]) ? opts[ what ].params : null)); + + url = $.type( item.url ) === "function" ? item.url.call( this, rez, params, obj ) : format( item.url, rez, params ); + + break; + } + } + } + + if (type) { + obj.href = url; + obj.type = type; + + obj.autoHeight = false; + } + } + }; + +}(jQuery)); \ No newline at end of file diff --git a/fancybox/helpers/jquery.fancybox-thumbs.css b/fancybox/helpers/jquery.fancybox-thumbs.css new file mode 100644 index 0000000..63d2943 --- /dev/null +++ b/fancybox/helpers/jquery.fancybox-thumbs.css @@ -0,0 +1,55 @@ +#fancybox-thumbs { + position: fixed; + left: 0; + width: 100%; + overflow: hidden; + z-index: 8050; +} + +#fancybox-thumbs.bottom { + bottom: 2px; +} + +#fancybox-thumbs.top { + top: 2px; +} + +#fancybox-thumbs ul { + position: relative; + list-style: none; + margin: 0; + padding: 0; +} + +#fancybox-thumbs ul li { + float: left; + padding: 1px; + opacity: 0.5; +} + +#fancybox-thumbs ul li.active { + opacity: 0.75; + padding: 0; + border: 1px solid #fff; +} + +#fancybox-thumbs ul li:hover { + opacity: 1; +} + +#fancybox-thumbs ul li a { + display: block; + position: relative; + overflow: hidden; + border: 1px solid #222; + background: #111; + outline: none; +} + +#fancybox-thumbs ul li img { + display: block; + position: relative; + border: 0; + padding: 0; + max-width: none; +} \ No newline at end of file diff --git a/fancybox/helpers/jquery.fancybox-thumbs.js b/fancybox/helpers/jquery.fancybox-thumbs.js new file mode 100644 index 0000000..58c9719 --- /dev/null +++ b/fancybox/helpers/jquery.fancybox-thumbs.js @@ -0,0 +1,165 @@ + /*! + * Thumbnail helper for fancyBox + * version: 1.0.7 (Mon, 01 Oct 2012) + * @requires fancyBox v2.0 or later + * + * Usage: + * $(".fancybox").fancybox({ + * helpers : { + * thumbs: { + * width : 50, + * height : 50 + * } + * } + * }); + * + */ +;(function ($) { + //Shortcut for fancyBox object + var F = $.fancybox; + + //Add helper object + F.helpers.thumbs = { + defaults : { + width : 50, // thumbnail width + height : 50, // thumbnail height + position : 'bottom', // 'top' or 'bottom' + source : function ( item ) { // function to obtain the URL of the thumbnail image + var href; + + if (item.element) { + href = $(item.element).find('img').attr('src'); + } + + if (!href && item.type === 'image' && item.href) { + href = item.href; + } + + return href; + } + }, + + wrap : null, + list : null, + width : 0, + + init: function (opts, obj) { + var that = this, + list, + thumbWidth = opts.width, + thumbHeight = opts.height, + thumbSource = opts.source; + + //Build list structure + list = ''; + + for (var n = 0; n < obj.group.length; n++) { + list += '
  • '; + } + + this.wrap = $('
    ').addClass(opts.position).appendTo('body'); + this.list = $('').appendTo(this.wrap); + + //Load each thumbnail + $.each(obj.group, function (i) { + var el = obj.group[ i ], + href = thumbSource( el ); + + if (!href) { + return; + } + + $("").load(function () { + var width = this.width, + height = this.height, + widthRatio, heightRatio, parent; + + if (!that.list || !width || !height) { + return; + } + + //Calculate thumbnail width/height and center it + widthRatio = width / thumbWidth; + heightRatio = height / thumbHeight; + + parent = that.list.children().eq(i).find('a'); + + if (widthRatio >= 1 && heightRatio >= 1) { + if (widthRatio > heightRatio) { + width = Math.floor(width / heightRatio); + height = thumbHeight; + + } else { + width = thumbWidth; + height = Math.floor(height / widthRatio); + } + } + + $(this).css({ + width : width, + height : height, + top : Math.floor(thumbHeight / 2 - height / 2), + left : Math.floor(thumbWidth / 2 - width / 2) + }); + + parent.width(thumbWidth).height(thumbHeight); + + $(this).hide().appendTo(parent).fadeIn(300); + + }) + .attr('src', href) + .attr('title', el.title); + }); + + //Set initial width + this.width = this.list.children().eq(0).outerWidth(true); + + this.list.width(this.width * (obj.group.length + 1)).css('left', Math.floor($(window).width() * 0.5 - (obj.index * this.width + this.width * 0.5))); + }, + + beforeLoad: function (opts, obj) { + //Remove self if gallery do not have at least two items + if (obj.group.length < 2) { + obj.helpers.thumbs = false; + + return; + } + + //Increase bottom margin to give space for thumbs + obj.margin[ opts.position === 'top' ? 0 : 2 ] += ((opts.height) + 15); + }, + + afterShow: function (opts, obj) { + //Check if exists and create or update list + if (this.list) { + this.onUpdate(opts, obj); + + } else { + this.init(opts, obj); + } + + //Set active element + this.list.children().removeClass('active').eq(obj.index).addClass('active'); + }, + + //Center list + onUpdate: function (opts, obj) { + if (this.list) { + this.list.stop(true).animate({ + 'left': Math.floor($(window).width() * 0.5 - (obj.index * this.width + this.width * 0.5)) + }, 150); + } + }, + + beforeClose: function () { + if (this.wrap) { + this.wrap.remove(); + } + + this.wrap = null; + this.list = null; + this.width = 0; + } + } + +}(jQuery)); \ No newline at end of file diff --git a/fancybox/jquery.fancybox.css b/fancybox/jquery.fancybox.css new file mode 100644 index 0000000..c75d051 --- /dev/null +++ b/fancybox/jquery.fancybox.css @@ -0,0 +1,273 @@ +/*! fancyBox v2.1.5 fancyapps.com | fancyapps.com/fancybox/#license */ +.fancybox-wrap, +.fancybox-skin, +.fancybox-outer, +.fancybox-inner, +.fancybox-image, +.fancybox-wrap iframe, +.fancybox-wrap object, +.fancybox-nav, +.fancybox-nav span, +.fancybox-tmp +{ + padding: 0; + margin: 0; + border: 0; + outline: none; + vertical-align: top; +} + +.fancybox-wrap { + position: absolute; + top: 0; + left: 0; + z-index: 8020; +} + +.fancybox-skin { + position: relative; + background: #f9f9f9; + color: #444; + text-shadow: none; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} + +.fancybox-opened { + z-index: 8030; +} + +.fancybox-opened .fancybox-skin { + -webkit-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5); + -moz-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5); + box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5); +} + +.fancybox-outer, .fancybox-inner { + position: relative; +} + +.fancybox-inner { + overflow: hidden; +} + +.fancybox-type-iframe .fancybox-inner { + -webkit-overflow-scrolling: touch; +} + +.fancybox-error { + color: #444; + font: 14px/20px "Helvetica Neue",Helvetica,Arial,sans-serif; + margin: 0; + padding: 15px; + white-space: nowrap; +} + +.fancybox-image, .fancybox-iframe { + display: block; + width: 100%; + height: 100%; +} + +.fancybox-image { + max-width: 100%; + max-height: 100%; +} + +#fancybox-loading, .fancybox-close, .fancybox-prev span, .fancybox-next span { + background-image: url(fancybox_sprite.png); +} + +#fancybox-loading { + position: fixed; + top: 50%; + left: 50%; + margin-top: -22px; + margin-left: -22px; + background-position: 0 -108px; + opacity: 0.8; + cursor: pointer; + z-index: 8060; +} + +#fancybox-loading div { + width: 44px; + height: 44px; + background: url(fancybox_loading.gif) center center no-repeat; +} + +.fancybox-close { + position: absolute; + top: -18px; + right: -18px; + width: 36px; + height: 36px; + cursor: pointer; + z-index: 8040; +} + +.fancybox-nav { + position: absolute; + top: 0; + width: 40%; + height: 100%; + cursor: pointer; + text-decoration: none; + background: transparent url(blank.gif); /* helps IE */ + -webkit-tap-highlight-color: rgba(0,0,0,0); + z-index: 8040; +} + +.fancybox-prev { + left: 0; +} + +.fancybox-next { + right: 0; +} + +.fancybox-nav span { + position: absolute; + top: 50%; + width: 36px; + height: 34px; + margin-top: -18px; + cursor: pointer; + z-index: 8040; + visibility: hidden; +} + +.fancybox-prev span { + left: 10px; + background-position: 0 -36px; +} + +.fancybox-next span { + right: 10px; + background-position: 0 -72px; +} + +.fancybox-nav:hover span { + visibility: visible; +} + +.fancybox-tmp { + position: absolute; + top: -99999px; + left: -99999px; + max-width: 99999px; + max-height: 99999px; + overflow: visible !important; +} + +/* Overlay helper */ + +.fancybox-lock { + overflow: visible !important; + width: auto; +} + +.fancybox-lock body { + overflow: hidden !important; +} + +.fancybox-lock-test { + overflow-y: hidden !important; +} + +.fancybox-overlay { + position: absolute; + top: 0; + left: 0; + overflow: hidden; + display: none; + z-index: 8010; + background: url(fancybox_overlay.png); +} + +.fancybox-overlay-fixed { + position: fixed; + bottom: 0; + right: 0; +} + +.fancybox-lock .fancybox-overlay { + overflow: auto; + overflow-y: scroll; +} + +/* Title helper */ + +.fancybox-title { + visibility: hidden; + font: normal 13px/20px "Helvetica Neue",Helvetica,Arial,sans-serif; + position: relative; + text-shadow: none; + z-index: 8050; +} + +.fancybox-opened .fancybox-title { + visibility: visible; +} + +.fancybox-title-float-wrap { + position: absolute; + bottom: 0; + right: 50%; + margin-bottom: -35px; + z-index: 8050; + text-align: center; +} + +.fancybox-title-float-wrap .child { + display: inline-block; + margin-right: -100%; + padding: 2px 20px; + background: transparent; /* Fallback for web browsers that doesn't support RGBa */ + background: rgba(0, 0, 0, 0.8); + -webkit-border-radius: 15px; + -moz-border-radius: 15px; + border-radius: 15px; + text-shadow: 0 1px 2px #222; + color: #FFF; + font-weight: bold; + line-height: 24px; + white-space: nowrap; +} + +.fancybox-title-outside-wrap { + position: relative; + margin-top: 10px; + color: #fff; +} + +.fancybox-title-inside-wrap { + padding-top: 10px; +} + +.fancybox-title-over-wrap { + position: absolute; + bottom: 0; + left: 0; + color: #fff; + padding: 10px; + background: #000; + background: rgba(0, 0, 0, .8); +} + +/*Retina graphics!*/ +@media only screen and (-webkit-min-device-pixel-ratio: 1.5), + only screen and (min--moz-device-pixel-ratio: 1.5), + only screen and (min-device-pixel-ratio: 1.5){ + + #fancybox-loading, .fancybox-close, .fancybox-prev span, .fancybox-next span { + background-image: url(fancybox_sprite@2x.png); + background-size: 44px 152px; /*The size of the normal image, half the size of the hi-res image*/ + } + + #fancybox-loading div { + background-image: url(fancybox_loading@2x.gif); + background-size: 24px 24px; /*The size of the normal image, half the size of the hi-res image*/ + } +} \ No newline at end of file diff --git a/fancybox/jquery.fancybox.js b/fancybox/jquery.fancybox.js new file mode 100644 index 0000000..7a0f8ac --- /dev/null +++ b/fancybox/jquery.fancybox.js @@ -0,0 +1,2017 @@ +/*! + * fancyBox - jQuery Plugin + * version: 2.1.5 (Fri, 14 Jun 2013) + * requires jQuery v1.6 or later + * + * Examples at http://fancyapps.com/fancybox/ + * License: www.fancyapps.com/fancybox/#license + * + * Copyright 2012 Janis Skarnelis - janis@fancyapps.com + * + */ + +;(function (window, document, $, undefined) { + "use strict"; + + var H = $("html"), + W = $(window), + D = $(document), + F = $.fancybox = function () { + F.open.apply( this, arguments ); + }, + IE = navigator.userAgent.match(/msie/i), + didUpdate = null, + isTouch = document.createTouch !== undefined, + + isQuery = function(obj) { + return obj && obj.hasOwnProperty && obj instanceof $; + }, + isString = function(str) { + return str && $.type(str) === "string"; + }, + isPercentage = function(str) { + return isString(str) && str.indexOf('%') > 0; + }, + isScrollable = function(el) { + return (el && !(el.style.overflow && el.style.overflow === 'hidden') && ((el.clientWidth && el.scrollWidth > el.clientWidth) || (el.clientHeight && el.scrollHeight > el.clientHeight))); + }, + getScalar = function(orig, dim) { + var value = parseInt(orig, 10) || 0; + + if (dim && isPercentage(orig)) { + value = F.getViewport()[ dim ] / 100 * value; + } + + return Math.ceil(value); + }, + getValue = function(value, dim) { + return getScalar(value, dim) + 'px'; + }; + + $.extend(F, { + // The current version of fancyBox + version: '2.1.5', + + defaults: { + padding : 15, + margin : 20, + + width : 800, + height : 600, + minWidth : 100, + minHeight : 100, + maxWidth : 9999, + maxHeight : 9999, + pixelRatio: 1, // Set to 2 for retina display support + + autoSize : true, + autoHeight : false, + autoWidth : false, + + autoResize : true, + autoCenter : !isTouch, + fitToView : true, + aspectRatio : false, + topRatio : 0.5, + leftRatio : 0.5, + + scrolling : 'auto', // 'auto', 'yes' or 'no' + wrapCSS : '', + + arrows : true, + closeBtn : true, + closeClick : false, + nextClick : false, + mouseWheel : true, + autoPlay : false, + playSpeed : 3000, + preload : 3, + modal : false, + loop : true, + + ajax : { + dataType : 'html', + headers : { 'X-fancyBox': true } + }, + iframe : { + scrolling : 'auto', + preload : true + }, + swf : { + wmode: 'transparent', + allowfullscreen : 'true', + allowscriptaccess : 'always' + }, + + keys : { + next : { + 13 : 'left', // enter + 34 : 'up', // page down + 39 : 'left', // right arrow + 40 : 'up' // down arrow + }, + prev : { + 8 : 'right', // backspace + 33 : 'down', // page up + 37 : 'right', // left arrow + 38 : 'down' // up arrow + }, + close : [27], // escape key + play : [32], // space - start/stop slideshow + toggle : [70] // letter "f" - toggle fullscreen + }, + + direction : { + next : 'left', + prev : 'right' + }, + + scrollOutside : true, + + // Override some properties + index : 0, + type : null, + href : null, + content : null, + title : null, + + // HTML templates + tpl: { + wrap : '
    ', + image : '', + iframe : '', + error : '

    The requested content cannot be loaded.
    Please try again later.

    ', + closeBtn : '', + next : '', + prev : '' + }, + + // Properties for each animation type + // Opening fancyBox + openEffect : 'fade', // 'elastic', 'fade' or 'none' + openSpeed : 250, + openEasing : 'swing', + openOpacity : true, + openMethod : 'zoomIn', + + // Closing fancyBox + closeEffect : 'fade', // 'elastic', 'fade' or 'none' + closeSpeed : 250, + closeEasing : 'swing', + closeOpacity : true, + closeMethod : 'zoomOut', + + // Changing next gallery item + nextEffect : 'elastic', // 'elastic', 'fade' or 'none' + nextSpeed : 250, + nextEasing : 'swing', + nextMethod : 'changeIn', + + // Changing previous gallery item + prevEffect : 'elastic', // 'elastic', 'fade' or 'none' + prevSpeed : 250, + prevEasing : 'swing', + prevMethod : 'changeOut', + + // Enable default helpers + helpers : { + overlay : true, + title : true + }, + + // Callbacks + onCancel : $.noop, // If canceling + beforeLoad : $.noop, // Before loading + afterLoad : $.noop, // After loading + beforeShow : $.noop, // Before changing in current item + afterShow : $.noop, // After opening + beforeChange : $.noop, // Before changing gallery item + beforeClose : $.noop, // Before closing + afterClose : $.noop // After closing + }, + + //Current state + group : {}, // Selected group + opts : {}, // Group options + previous : null, // Previous element + coming : null, // Element being loaded + current : null, // Currently loaded element + isActive : false, // Is activated + isOpen : false, // Is currently open + isOpened : false, // Have been fully opened at least once + + wrap : null, + skin : null, + outer : null, + inner : null, + + player : { + timer : null, + isActive : false + }, + + // Loaders + ajaxLoad : null, + imgPreload : null, + + // Some collections + transitions : {}, + helpers : {}, + + /* + * Static methods + */ + + open: function (group, opts) { + if (!group) { + return; + } + + if (!$.isPlainObject(opts)) { + opts = {}; + } + + // Close if already active + if (false === F.close(true)) { + return; + } + + // Normalize group + if (!$.isArray(group)) { + group = isQuery(group) ? $(group).get() : [group]; + } + + // Recheck if the type of each element is `object` and set content type (image, ajax, etc) + $.each(group, function(i, element) { + var obj = {}, + href, + title, + content, + type, + rez, + hrefParts, + selector; + + if ($.type(element) === "object") { + // Check if is DOM element + if (element.nodeType) { + element = $(element); + } + + if (isQuery(element)) { + obj = { + href : element.data('fancybox-href') || element.attr('href'), + title : $('
    ').text( element.data('fancybox-title') || element.attr('title') ).html(), + isDom : true, + element : element + }; + + if ($.metadata) { + $.extend(true, obj, element.metadata()); + } + + } else { + obj = element; + } + } + + href = opts.href || obj.href || (isString(element) ? element : null); + title = opts.title !== undefined ? opts.title : obj.title || ''; + + content = opts.content || obj.content; + type = content ? 'html' : (opts.type || obj.type); + + if (!type && obj.isDom) { + type = element.data('fancybox-type'); + + if (!type) { + rez = element.prop('class').match(/fancybox\.(\w+)/); + type = rez ? rez[1] : null; + } + } + + if (isString(href)) { + // Try to guess the content type + if (!type) { + if (F.isImage(href)) { + type = 'image'; + + } else if (F.isSWF(href)) { + type = 'swf'; + + } else if (href.charAt(0) === '#') { + type = 'inline'; + + } else if (isString(element)) { + type = 'html'; + content = element; + } + } + + // Split url into two pieces with source url and content selector, e.g, + // "/mypage.html #my_id" will load "/mypage.html" and display element having id "my_id" + if (type === 'ajax') { + hrefParts = href.split(/\s+/, 2); + href = hrefParts.shift(); + selector = hrefParts.shift(); + } + } + + if (!content) { + if (type === 'inline') { + if (href) { + content = $( isString(href) ? href.replace(/.*(?=#[^\s]+$)/, '') : href ); //strip for ie7 + + } else if (obj.isDom) { + content = element; + } + + } else if (type === 'html') { + content = href; + + } else if (!type && !href && obj.isDom) { + type = 'inline'; + content = element; + } + } + + $.extend(obj, { + href : href, + type : type, + content : content, + title : title, + selector : selector + }); + + group[ i ] = obj; + }); + + // Extend the defaults + F.opts = $.extend(true, {}, F.defaults, opts); + + // All options are merged recursive except keys + if (opts.keys !== undefined) { + F.opts.keys = opts.keys ? $.extend({}, F.defaults.keys, opts.keys) : false; + } + + F.group = group; + + return F._start(F.opts.index); + }, + + // Cancel image loading or abort ajax request + cancel: function () { + var coming = F.coming; + + if (coming && false === F.trigger('onCancel')) { + return; + } + + F.hideLoading(); + + if (!coming) { + return; + } + + if (F.ajaxLoad) { + F.ajaxLoad.abort(); + } + + F.ajaxLoad = null; + + if (F.imgPreload) { + F.imgPreload.onload = F.imgPreload.onerror = null; + } + + if (coming.wrap) { + coming.wrap.stop(true, true).trigger('onReset').remove(); + } + + F.coming = null; + + // If the first item has been canceled, then clear everything + if (!F.current) { + F._afterZoomOut( coming ); + } + }, + + // Start closing animation if is open; remove immediately if opening/closing + close: function (event) { + F.cancel(); + + if (false === F.trigger('beforeClose')) { + return; + } + + F.unbindEvents(); + + if (!F.isActive) { + return; + } + + if (!F.isOpen || event === true) { + $('.fancybox-wrap').stop(true).trigger('onReset').remove(); + + F._afterZoomOut(); + + } else { + F.isOpen = F.isOpened = false; + F.isClosing = true; + + $('.fancybox-item, .fancybox-nav').remove(); + + F.wrap.stop(true, true).removeClass('fancybox-opened'); + + F.transitions[ F.current.closeMethod ](); + } + }, + + // Manage slideshow: + // $.fancybox.play(); - toggle slideshow + // $.fancybox.play( true ); - start + // $.fancybox.play( false ); - stop + play: function ( action ) { + var clear = function () { + clearTimeout(F.player.timer); + }, + set = function () { + clear(); + + if (F.current && F.player.isActive) { + F.player.timer = setTimeout(F.next, F.current.playSpeed); + } + }, + stop = function () { + clear(); + + D.unbind('.player'); + + F.player.isActive = false; + + F.trigger('onPlayEnd'); + }, + start = function () { + if (F.current && (F.current.loop || F.current.index < F.group.length - 1)) { + F.player.isActive = true; + + D.bind({ + 'onCancel.player beforeClose.player' : stop, + 'onUpdate.player' : set, + 'beforeLoad.player' : clear + }); + + set(); + + F.trigger('onPlayStart'); + } + }; + + if (action === true || (!F.player.isActive && action !== false)) { + start(); + } else { + stop(); + } + }, + + // Navigate to next gallery item + next: function ( direction ) { + var current = F.current; + + if (current) { + if (!isString(direction)) { + direction = current.direction.next; + } + + F.jumpto(current.index + 1, direction, 'next'); + } + }, + + // Navigate to previous gallery item + prev: function ( direction ) { + var current = F.current; + + if (current) { + if (!isString(direction)) { + direction = current.direction.prev; + } + + F.jumpto(current.index - 1, direction, 'prev'); + } + }, + + // Navigate to gallery item by index + jumpto: function ( index, direction, router ) { + var current = F.current; + + if (!current) { + return; + } + + index = getScalar(index); + + F.direction = direction || current.direction[ (index >= current.index ? 'next' : 'prev') ]; + F.router = router || 'jumpto'; + + if (current.loop) { + if (index < 0) { + index = current.group.length + (index % current.group.length); + } + + index = index % current.group.length; + } + + if (current.group[ index ] !== undefined) { + F.cancel(); + + F._start(index); + } + }, + + // Center inside viewport and toggle position type to fixed or absolute if needed + reposition: function (e, onlyAbsolute) { + var current = F.current, + wrap = current ? current.wrap : null, + pos; + + if (wrap) { + pos = F._getPosition(onlyAbsolute); + + if (e && e.type === 'scroll') { + delete pos.position; + + wrap.stop(true, true).animate(pos, 200); + + } else { + wrap.css(pos); + + current.pos = $.extend({}, current.dim, pos); + } + } + }, + + update: function (e) { + var type = (e && e.originalEvent && e.originalEvent.type), + anyway = !type || type === 'orientationchange'; + + if (anyway) { + clearTimeout(didUpdate); + + didUpdate = null; + } + + if (!F.isOpen || didUpdate) { + return; + } + + didUpdate = setTimeout(function() { + var current = F.current; + + if (!current || F.isClosing) { + return; + } + + F.wrap.removeClass('fancybox-tmp'); + + if (anyway || type === 'load' || (type === 'resize' && current.autoResize)) { + F._setDimension(); + } + + if (!(type === 'scroll' && current.canShrink)) { + F.reposition(e); + } + + F.trigger('onUpdate'); + + didUpdate = null; + + }, (anyway && !isTouch ? 0 : 300)); + }, + + // Shrink content to fit inside viewport or restore if resized + toggle: function ( action ) { + if (F.isOpen) { + F.current.fitToView = $.type(action) === "boolean" ? action : !F.current.fitToView; + + // Help browser to restore document dimensions + if (isTouch) { + F.wrap.removeAttr('style').addClass('fancybox-tmp'); + + F.trigger('onUpdate'); + } + + F.update(); + } + }, + + hideLoading: function () { + D.unbind('.loading'); + + $('#fancybox-loading').remove(); + }, + + showLoading: function () { + var el, viewport; + + F.hideLoading(); + + el = $('
    ').click(F.cancel).appendTo('body'); + + // If user will press the escape-button, the request will be canceled + D.bind('keydown.loading', function(e) { + if ((e.which || e.keyCode) === 27) { + e.preventDefault(); + + F.cancel(); + } + }); + + if (!F.defaults.fixed) { + viewport = F.getViewport(); + + el.css({ + position : 'absolute', + top : (viewport.h * 0.5) + viewport.y, + left : (viewport.w * 0.5) + viewport.x + }); + } + + F.trigger('onLoading'); + }, + + getViewport: function () { + var locked = (F.current && F.current.locked) || false, + rez = { + x: W.scrollLeft(), + y: W.scrollTop() + }; + + if (locked && locked.length) { + rez.w = locked[0].clientWidth; + rez.h = locked[0].clientHeight; + + } else { + // See http://bugs.jquery.com/ticket/6724 + rez.w = isTouch && window.innerWidth ? window.innerWidth : W.width(); + rez.h = isTouch && window.innerHeight ? window.innerHeight : W.height(); + } + + return rez; + }, + + // Unbind the keyboard / clicking actions + unbindEvents: function () { + if (F.wrap && isQuery(F.wrap)) { + F.wrap.unbind('.fb'); + } + + D.unbind('.fb'); + W.unbind('.fb'); + }, + + bindEvents: function () { + var current = F.current, + keys; + + if (!current) { + return; + } + + // Changing document height on iOS devices triggers a 'resize' event, + // that can change document height... repeating infinitely + W.bind('orientationchange.fb' + (isTouch ? '' : ' resize.fb') + (current.autoCenter && !current.locked ? ' scroll.fb' : ''), F.update); + + keys = current.keys; + + if (keys) { + D.bind('keydown.fb', function (e) { + var code = e.which || e.keyCode, + target = e.target || e.srcElement; + + // Skip esc key if loading, because showLoading will cancel preloading + if (code === 27 && F.coming) { + return false; + } + + // Ignore key combinations and key events within form elements + if (!e.ctrlKey && !e.altKey && !e.shiftKey && !e.metaKey && !(target && (target.type || $(target).is('[contenteditable]')))) { + $.each(keys, function(i, val) { + if (current.group.length > 1 && val[ code ] !== undefined) { + F[ i ]( val[ code ] ); + + e.preventDefault(); + return false; + } + + if ($.inArray(code, val) > -1) { + F[ i ] (); + + e.preventDefault(); + return false; + } + }); + } + }); + } + + if ($.fn.mousewheel && current.mouseWheel) { + F.wrap.bind('mousewheel.fb', function (e, delta, deltaX, deltaY) { + var target = e.target || null, + parent = $(target), + canScroll = false; + + while (parent.length) { + if (canScroll || parent.is('.fancybox-skin') || parent.is('.fancybox-wrap')) { + break; + } + + canScroll = isScrollable( parent[0] ); + parent = $(parent).parent(); + } + + if (delta !== 0 && !canScroll) { + if (F.group.length > 1 && !current.canShrink) { + if (deltaY > 0 || deltaX > 0) { + F.prev( deltaY > 0 ? 'down' : 'left' ); + + } else if (deltaY < 0 || deltaX < 0) { + F.next( deltaY < 0 ? 'up' : 'right' ); + } + + e.preventDefault(); + } + } + }); + } + }, + + trigger: function (event, o) { + var ret, obj = o || F.coming || F.current; + + if (obj) { + if ($.isFunction( obj[event] )) { + ret = obj[event].apply(obj, Array.prototype.slice.call(arguments, 1)); + } + + if (ret === false) { + return false; + } + + if (obj.helpers) { + $.each(obj.helpers, function (helper, opts) { + if (opts && F.helpers[helper] && $.isFunction(F.helpers[helper][event])) { + F.helpers[helper][event]($.extend(true, {}, F.helpers[helper].defaults, opts), obj); + } + }); + } + } + + D.trigger(event); + }, + + isImage: function (str) { + return isString(str) && str.match(/(^data:image\/.*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg)((\?|#).*)?$)/i); + }, + + isSWF: function (str) { + return isString(str) && str.match(/\.(swf)((\?|#).*)?$/i); + }, + + _start: function (index) { + var coming = {}, + obj, + href, + type, + margin, + padding; + + index = getScalar( index ); + obj = F.group[ index ] || null; + + if (!obj) { + return false; + } + + coming = $.extend(true, {}, F.opts, obj); + + // Convert margin and padding properties to array - top, right, bottom, left + margin = coming.margin; + padding = coming.padding; + + if ($.type(margin) === 'number') { + coming.margin = [margin, margin, margin, margin]; + } + + if ($.type(padding) === 'number') { + coming.padding = [padding, padding, padding, padding]; + } + + // 'modal' propery is just a shortcut + if (coming.modal) { + $.extend(true, coming, { + closeBtn : false, + closeClick : false, + nextClick : false, + arrows : false, + mouseWheel : false, + keys : null, + helpers: { + overlay : { + closeClick : false + } + } + }); + } + + // 'autoSize' property is a shortcut, too + if (coming.autoSize) { + coming.autoWidth = coming.autoHeight = true; + } + + if (coming.width === 'auto') { + coming.autoWidth = true; + } + + if (coming.height === 'auto') { + coming.autoHeight = true; + } + + /* + * Add reference to the group, so it`s possible to access from callbacks, example: + * afterLoad : function() { + * this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : ''); + * } + */ + + coming.group = F.group; + coming.index = index; + + // Give a chance for callback or helpers to update coming item (type, title, etc) + F.coming = coming; + + if (false === F.trigger('beforeLoad')) { + F.coming = null; + + return; + } + + type = coming.type; + href = coming.href; + + if (!type) { + F.coming = null; + + //If we can not determine content type then drop silently or display next/prev item if looping through gallery + if (F.current && F.router && F.router !== 'jumpto') { + F.current.index = index; + + return F[ F.router ]( F.direction ); + } + + return false; + } + + F.isActive = true; + + if (type === 'image' || type === 'swf') { + coming.autoHeight = coming.autoWidth = false; + coming.scrolling = 'visible'; + } + + if (type === 'image') { + coming.aspectRatio = true; + } + + if (type === 'iframe' && isTouch) { + coming.scrolling = 'scroll'; + } + + // Build the neccessary markup + coming.wrap = $(coming.tpl.wrap).addClass('fancybox-' + (isTouch ? 'mobile' : 'desktop') + ' fancybox-type-' + type + ' fancybox-tmp ' + coming.wrapCSS).appendTo( coming.parent || 'body' ); + + $.extend(coming, { + skin : $('.fancybox-skin', coming.wrap), + outer : $('.fancybox-outer', coming.wrap), + inner : $('.fancybox-inner', coming.wrap) + }); + + $.each(["Top", "Right", "Bottom", "Left"], function(i, v) { + coming.skin.css('padding' + v, getValue(coming.padding[ i ])); + }); + + F.trigger('onReady'); + + // Check before try to load; 'inline' and 'html' types need content, others - href + if (type === 'inline' || type === 'html') { + if (!coming.content || !coming.content.length) { + return F._error( 'content' ); + } + + } else if (!href) { + return F._error( 'href' ); + } + + if (type === 'image') { + F._loadImage(); + + } else if (type === 'ajax') { + F._loadAjax(); + + } else if (type === 'iframe') { + F._loadIframe(); + + } else { + F._afterLoad(); + } + }, + + _error: function ( type ) { + $.extend(F.coming, { + type : 'html', + autoWidth : true, + autoHeight : true, + minWidth : 0, + minHeight : 0, + scrolling : 'no', + hasError : type, + content : F.coming.tpl.error + }); + + F._afterLoad(); + }, + + _loadImage: function () { + // Reset preload image so it is later possible to check "complete" property + var img = F.imgPreload = new Image(); + + img.onload = function () { + this.onload = this.onerror = null; + + F.coming.width = this.width / F.opts.pixelRatio; + F.coming.height = this.height / F.opts.pixelRatio; + + F._afterLoad(); + }; + + img.onerror = function () { + this.onload = this.onerror = null; + + F._error( 'image' ); + }; + + img.src = F.coming.href; + + if (img.complete !== true) { + F.showLoading(); + } + }, + + _loadAjax: function () { + var coming = F.coming; + + F.showLoading(); + + F.ajaxLoad = $.ajax($.extend({}, coming.ajax, { + url: coming.href, + error: function (jqXHR, textStatus) { + if (F.coming && textStatus !== 'abort') { + F._error( 'ajax', jqXHR ); + + } else { + F.hideLoading(); + } + }, + success: function (data, textStatus) { + if (textStatus === 'success') { + coming.content = data; + + F._afterLoad(); + } + } + })); + }, + + _loadIframe: function() { + var coming = F.coming, + iframe = $(coming.tpl.iframe.replace(/\{rnd\}/g, new Date().getTime())) + .attr('scrolling', isTouch ? 'auto' : coming.iframe.scrolling) + .attr('src', coming.href); + + // This helps IE + $(coming.wrap).bind('onReset', function () { + try { + $(this).find('iframe').hide().attr('src', '//about:blank').end().empty(); + } catch (e) {} + }); + + if (coming.iframe.preload) { + F.showLoading(); + + iframe.one('load', function() { + $(this).data('ready', 1); + + // iOS will lose scrolling if we resize + if (!isTouch) { + $(this).bind('load.fb', F.update); + } + + // Without this trick: + // - iframe won't scroll on iOS devices + // - IE7 sometimes displays empty iframe + $(this).parents('.fancybox-wrap').width('100%').removeClass('fancybox-tmp').show(); + + F._afterLoad(); + }); + } + + coming.content = iframe.appendTo( coming.inner ); + + if (!coming.iframe.preload) { + F._afterLoad(); + } + }, + + _preloadImages: function() { + var group = F.group, + current = F.current, + len = group.length, + cnt = current.preload ? Math.min(current.preload, len - 1) : 0, + item, + i; + + for (i = 1; i <= cnt; i += 1) { + item = group[ (current.index + i ) % len ]; + + if (item.type === 'image' && item.href) { + new Image().src = item.href; + } + } + }, + + _afterLoad: function () { + var coming = F.coming, + previous = F.current, + placeholder = 'fancybox-placeholder', + current, + content, + type, + scrolling, + href, + embed; + + F.hideLoading(); + + if (!coming || F.isActive === false) { + return; + } + + if (false === F.trigger('afterLoad', coming, previous)) { + coming.wrap.stop(true).trigger('onReset').remove(); + + F.coming = null; + + return; + } + + if (previous) { + F.trigger('beforeChange', previous); + + previous.wrap.stop(true).removeClass('fancybox-opened') + .find('.fancybox-item, .fancybox-nav') + .remove(); + } + + F.unbindEvents(); + + current = coming; + content = coming.content; + type = coming.type; + scrolling = coming.scrolling; + + $.extend(F, { + wrap : current.wrap, + skin : current.skin, + outer : current.outer, + inner : current.inner, + current : current, + previous : previous + }); + + href = current.href; + + switch (type) { + case 'inline': + case 'ajax': + case 'html': + if (current.selector) { + content = $('
    ').html(content).find(current.selector); + + } else if (isQuery(content)) { + if (!content.data(placeholder)) { + content.data(placeholder, $('
    ').insertAfter( content ).hide() ); + } + + content = content.show().detach(); + + current.wrap.bind('onReset', function () { + if ($(this).find(content).length) { + content.hide().replaceAll( content.data(placeholder) ).data(placeholder, false); + } + }); + } + break; + + case 'image': + content = current.tpl.image.replace(/\{href\}/g, href); + break; + + case 'swf': + content = ''; + embed = ''; + + $.each(current.swf, function(name, val) { + content += ''; + embed += ' ' + name + '="' + val + '"'; + }); + + content += ''; + break; + } + + if (!(isQuery(content) && content.parent().is(current.inner))) { + current.inner.append( content ); + } + + // Give a chance for helpers or callbacks to update elements + F.trigger('beforeShow'); + + // Set scrolling before calculating dimensions + current.inner.css('overflow', scrolling === 'yes' ? 'scroll' : (scrolling === 'no' ? 'hidden' : scrolling)); + + // Set initial dimensions and start position + F._setDimension(); + + F.reposition(); + + F.isOpen = false; + F.coming = null; + + F.bindEvents(); + + if (!F.isOpened) { + $('.fancybox-wrap').not( current.wrap ).stop(true).trigger('onReset').remove(); + + } else if (previous.prevMethod) { + F.transitions[ previous.prevMethod ](); + } + + F.transitions[ F.isOpened ? current.nextMethod : current.openMethod ](); + + F._preloadImages(); + }, + + _setDimension: function () { + var viewport = F.getViewport(), + steps = 0, + canShrink = false, + canExpand = false, + wrap = F.wrap, + skin = F.skin, + inner = F.inner, + current = F.current, + width = current.width, + height = current.height, + minWidth = current.minWidth, + minHeight = current.minHeight, + maxWidth = current.maxWidth, + maxHeight = current.maxHeight, + scrolling = current.scrolling, + scrollOut = current.scrollOutside ? current.scrollbarWidth : 0, + margin = current.margin, + wMargin = getScalar(margin[1] + margin[3]), + hMargin = getScalar(margin[0] + margin[2]), + wPadding, + hPadding, + wSpace, + hSpace, + origWidth, + origHeight, + origMaxWidth, + origMaxHeight, + ratio, + width_, + height_, + maxWidth_, + maxHeight_, + iframe, + body; + + // Reset dimensions so we could re-check actual size + wrap.add(skin).add(inner).width('auto').height('auto').removeClass('fancybox-tmp'); + + wPadding = getScalar(skin.outerWidth(true) - skin.width()); + hPadding = getScalar(skin.outerHeight(true) - skin.height()); + + // Any space between content and viewport (margin, padding, border, title) + wSpace = wMargin + wPadding; + hSpace = hMargin + hPadding; + + origWidth = isPercentage(width) ? (viewport.w - wSpace) * getScalar(width) / 100 : width; + origHeight = isPercentage(height) ? (viewport.h - hSpace) * getScalar(height) / 100 : height; + + if (current.type === 'iframe') { + iframe = current.content; + + if (current.autoHeight && iframe.data('ready') === 1) { + try { + if (iframe[0].contentWindow.document.location) { + inner.width( origWidth ).height(9999); + + body = iframe.contents().find('body'); + + if (scrollOut) { + body.css('overflow-x', 'hidden'); + } + + origHeight = body.outerHeight(true); + } + + } catch (e) {} + } + + } else if (current.autoWidth || current.autoHeight) { + inner.addClass( 'fancybox-tmp' ); + + // Set width or height in case we need to calculate only one dimension + if (!current.autoWidth) { + inner.width( origWidth ); + } + + if (!current.autoHeight) { + inner.height( origHeight ); + } + + if (current.autoWidth) { + origWidth = inner.width(); + } + + if (current.autoHeight) { + origHeight = inner.height(); + } + + inner.removeClass( 'fancybox-tmp' ); + } + + width = getScalar( origWidth ); + height = getScalar( origHeight ); + + ratio = origWidth / origHeight; + + // Calculations for the content + minWidth = getScalar(isPercentage(minWidth) ? getScalar(minWidth, 'w') - wSpace : minWidth); + maxWidth = getScalar(isPercentage(maxWidth) ? getScalar(maxWidth, 'w') - wSpace : maxWidth); + + minHeight = getScalar(isPercentage(minHeight) ? getScalar(minHeight, 'h') - hSpace : minHeight); + maxHeight = getScalar(isPercentage(maxHeight) ? getScalar(maxHeight, 'h') - hSpace : maxHeight); + + // These will be used to determine if wrap can fit in the viewport + origMaxWidth = maxWidth; + origMaxHeight = maxHeight; + + if (current.fitToView) { + maxWidth = Math.min(viewport.w - wSpace, maxWidth); + maxHeight = Math.min(viewport.h - hSpace, maxHeight); + } + + maxWidth_ = viewport.w - wMargin; + maxHeight_ = viewport.h - hMargin; + + if (current.aspectRatio) { + if (width > maxWidth) { + width = maxWidth; + height = getScalar(width / ratio); + } + + if (height > maxHeight) { + height = maxHeight; + width = getScalar(height * ratio); + } + + if (width < minWidth) { + width = minWidth; + height = getScalar(width / ratio); + } + + if (height < minHeight) { + height = minHeight; + width = getScalar(height * ratio); + } + + } else { + width = Math.max(minWidth, Math.min(width, maxWidth)); + + if (current.autoHeight && current.type !== 'iframe') { + inner.width( width ); + + height = inner.height(); + } + + height = Math.max(minHeight, Math.min(height, maxHeight)); + } + + // Try to fit inside viewport (including the title) + if (current.fitToView) { + inner.width( width ).height( height ); + + wrap.width( width + wPadding ); + + // Real wrap dimensions + width_ = wrap.width(); + height_ = wrap.height(); + + if (current.aspectRatio) { + while ((width_ > maxWidth_ || height_ > maxHeight_) && width > minWidth && height > minHeight) { + if (steps++ > 19) { + break; + } + + height = Math.max(minHeight, Math.min(maxHeight, height - 10)); + width = getScalar(height * ratio); + + if (width < minWidth) { + width = minWidth; + height = getScalar(width / ratio); + } + + if (width > maxWidth) { + width = maxWidth; + height = getScalar(width / ratio); + } + + inner.width( width ).height( height ); + + wrap.width( width + wPadding ); + + width_ = wrap.width(); + height_ = wrap.height(); + } + + } else { + width = Math.max(minWidth, Math.min(width, width - (width_ - maxWidth_))); + height = Math.max(minHeight, Math.min(height, height - (height_ - maxHeight_))); + } + } + + if (scrollOut && scrolling === 'auto' && height < origHeight && (width + wPadding + scrollOut) < maxWidth_) { + width += scrollOut; + } + + inner.width( width ).height( height ); + + wrap.width( width + wPadding ); + + width_ = wrap.width(); + height_ = wrap.height(); + + canShrink = (width_ > maxWidth_ || height_ > maxHeight_) && width > minWidth && height > minHeight; + canExpand = current.aspectRatio ? (width < origMaxWidth && height < origMaxHeight && width < origWidth && height < origHeight) : ((width < origMaxWidth || height < origMaxHeight) && (width < origWidth || height < origHeight)); + + $.extend(current, { + dim : { + width : getValue( width_ ), + height : getValue( height_ ) + }, + origWidth : origWidth, + origHeight : origHeight, + canShrink : canShrink, + canExpand : canExpand, + wPadding : wPadding, + hPadding : hPadding, + wrapSpace : height_ - skin.outerHeight(true), + skinSpace : skin.height() - height + }); + + if (!iframe && current.autoHeight && height > minHeight && height < maxHeight && !canExpand) { + inner.height('auto'); + } + }, + + _getPosition: function (onlyAbsolute) { + var current = F.current, + viewport = F.getViewport(), + margin = current.margin, + width = F.wrap.width() + margin[1] + margin[3], + height = F.wrap.height() + margin[0] + margin[2], + rez = { + position: 'absolute', + top : margin[0], + left : margin[3] + }; + + if (current.autoCenter && current.fixed && !onlyAbsolute && height <= viewport.h && width <= viewport.w) { + rez.position = 'fixed'; + + } else if (!current.locked) { + rez.top += viewport.y; + rez.left += viewport.x; + } + + rez.top = getValue(Math.max(rez.top, rez.top + ((viewport.h - height) * current.topRatio))); + rez.left = getValue(Math.max(rez.left, rez.left + ((viewport.w - width) * current.leftRatio))); + + return rez; + }, + + _afterZoomIn: function () { + var current = F.current; + + if (!current) { + return; + } + + F.isOpen = F.isOpened = true; + + F.wrap.css('overflow', 'visible').addClass('fancybox-opened').hide().show(0); + + F.update(); + + // Assign a click event + if ( current.closeClick || (current.nextClick && F.group.length > 1) ) { + F.inner.css('cursor', 'pointer').bind('click.fb', function(e) { + if (!$(e.target).is('a') && !$(e.target).parent().is('a')) { + e.preventDefault(); + + F[ current.closeClick ? 'close' : 'next' ](); + } + }); + } + + // Create a close button + if (current.closeBtn) { + $(current.tpl.closeBtn).appendTo(F.skin).bind('click.fb', function(e) { + e.preventDefault(); + + F.close(); + }); + } + + // Create navigation arrows + if (current.arrows && F.group.length > 1) { + if (current.loop || current.index > 0) { + $(current.tpl.prev).appendTo(F.outer).bind('click.fb', F.prev); + } + + if (current.loop || current.index < F.group.length - 1) { + $(current.tpl.next).appendTo(F.outer).bind('click.fb', F.next); + } + } + + F.trigger('afterShow'); + + // Stop the slideshow if this is the last item + if (!current.loop && current.index === current.group.length - 1) { + + F.play( false ); + + } else if (F.opts.autoPlay && !F.player.isActive) { + F.opts.autoPlay = false; + + F.play(true); + } + }, + + _afterZoomOut: function ( obj ) { + obj = obj || F.current; + + $('.fancybox-wrap').trigger('onReset').remove(); + + $.extend(F, { + group : {}, + opts : {}, + router : false, + current : null, + isActive : false, + isOpened : false, + isOpen : false, + isClosing : false, + wrap : null, + skin : null, + outer : null, + inner : null + }); + + F.trigger('afterClose', obj); + } + }); + + /* + * Default transitions + */ + + F.transitions = { + getOrigPosition: function () { + var current = F.current, + element = current.element, + orig = current.orig, + pos = {}, + width = 50, + height = 50, + hPadding = current.hPadding, + wPadding = current.wPadding, + viewport = F.getViewport(); + + if (!orig && current.isDom && element.is(':visible')) { + orig = element.find('img:first'); + + if (!orig.length) { + orig = element; + } + } + + if (isQuery(orig)) { + pos = orig.offset(); + + if (orig.is('img')) { + width = orig.outerWidth(); + height = orig.outerHeight(); + } + + } else { + pos.top = viewport.y + (viewport.h - height) * current.topRatio; + pos.left = viewport.x + (viewport.w - width) * current.leftRatio; + } + + if (F.wrap.css('position') === 'fixed' || current.locked) { + pos.top -= viewport.y; + pos.left -= viewport.x; + } + + pos = { + top : getValue(pos.top - hPadding * current.topRatio), + left : getValue(pos.left - wPadding * current.leftRatio), + width : getValue(width + wPadding), + height : getValue(height + hPadding) + }; + + return pos; + }, + + step: function (now, fx) { + var ratio, + padding, + value, + prop = fx.prop, + current = F.current, + wrapSpace = current.wrapSpace, + skinSpace = current.skinSpace; + + if (prop === 'width' || prop === 'height') { + ratio = fx.end === fx.start ? 1 : (now - fx.start) / (fx.end - fx.start); + + if (F.isClosing) { + ratio = 1 - ratio; + } + + padding = prop === 'width' ? current.wPadding : current.hPadding; + value = now - padding; + + F.skin[ prop ]( getScalar( prop === 'width' ? value : value - (wrapSpace * ratio) ) ); + F.inner[ prop ]( getScalar( prop === 'width' ? value : value - (wrapSpace * ratio) - (skinSpace * ratio) ) ); + } + }, + + zoomIn: function () { + var current = F.current, + startPos = current.pos, + effect = current.openEffect, + elastic = effect === 'elastic', + endPos = $.extend({opacity : 1}, startPos); + + // Remove "position" property that breaks older IE + delete endPos.position; + + if (elastic) { + startPos = this.getOrigPosition(); + + if (current.openOpacity) { + startPos.opacity = 0.1; + } + + } else if (effect === 'fade') { + startPos.opacity = 0.1; + } + + F.wrap.css(startPos).animate(endPos, { + duration : effect === 'none' ? 0 : current.openSpeed, + easing : current.openEasing, + step : elastic ? this.step : null, + complete : F._afterZoomIn + }); + }, + + zoomOut: function () { + var current = F.current, + effect = current.closeEffect, + elastic = effect === 'elastic', + endPos = {opacity : 0.1}; + + if (elastic) { + endPos = this.getOrigPosition(); + + if (current.closeOpacity) { + endPos.opacity = 0.1; + } + } + + F.wrap.animate(endPos, { + duration : effect === 'none' ? 0 : current.closeSpeed, + easing : current.closeEasing, + step : elastic ? this.step : null, + complete : F._afterZoomOut + }); + }, + + changeIn: function () { + var current = F.current, + effect = current.nextEffect, + startPos = current.pos, + endPos = { opacity : 1 }, + direction = F.direction, + distance = 200, + field; + + startPos.opacity = 0.1; + + if (effect === 'elastic') { + field = direction === 'down' || direction === 'up' ? 'top' : 'left'; + + if (direction === 'down' || direction === 'right') { + startPos[ field ] = getValue(getScalar(startPos[ field ]) - distance); + endPos[ field ] = '+=' + distance + 'px'; + + } else { + startPos[ field ] = getValue(getScalar(startPos[ field ]) + distance); + endPos[ field ] = '-=' + distance + 'px'; + } + } + + // Workaround for http://bugs.jquery.com/ticket/12273 + if (effect === 'none') { + F._afterZoomIn(); + + } else { + F.wrap.css(startPos).animate(endPos, { + duration : current.nextSpeed, + easing : current.nextEasing, + complete : F._afterZoomIn + }); + } + }, + + changeOut: function () { + var previous = F.previous, + effect = previous.prevEffect, + endPos = { opacity : 0.1 }, + direction = F.direction, + distance = 200; + + if (effect === 'elastic') { + endPos[ direction === 'down' || direction === 'up' ? 'top' : 'left' ] = ( direction === 'up' || direction === 'left' ? '-' : '+' ) + '=' + distance + 'px'; + } + + previous.wrap.animate(endPos, { + duration : effect === 'none' ? 0 : previous.prevSpeed, + easing : previous.prevEasing, + complete : function () { + $(this).trigger('onReset').remove(); + } + }); + } + }; + + /* + * Overlay helper + */ + + F.helpers.overlay = { + defaults : { + closeClick : true, // if true, fancyBox will be closed when user clicks on the overlay + speedOut : 200, // duration of fadeOut animation + showEarly : true, // indicates if should be opened immediately or wait until the content is ready + css : {}, // custom CSS properties + locked : !isTouch, // if true, the content will be locked into overlay + fixed : true // if false, the overlay CSS position property will not be set to "fixed" + }, + + overlay : null, // current handle + fixed : false, // indicates if the overlay has position "fixed" + el : $('html'), // element that contains "the lock" + + // Public methods + create : function(opts) { + var parent; + + opts = $.extend({}, this.defaults, opts); + + if (this.overlay) { + this.close(); + } + + parent = F.coming ? F.coming.parent : opts.parent; + + this.overlay = $('
    ').appendTo( parent && parent.lenth ? parent : 'body' ); + this.fixed = false; + + if (opts.fixed && F.defaults.fixed) { + this.overlay.addClass('fancybox-overlay-fixed'); + + this.fixed = true; + } + }, + + open : function(opts) { + var that = this; + + opts = $.extend({}, this.defaults, opts); + + if (this.overlay) { + this.overlay.unbind('.overlay').width('auto').height('auto'); + + } else { + this.create(opts); + } + + if (!this.fixed) { + W.bind('resize.overlay', $.proxy( this.update, this) ); + + this.update(); + } + + if (opts.closeClick) { + this.overlay.bind('click.overlay', function(e) { + if ($(e.target).hasClass('fancybox-overlay')) { + if (F.isActive) { + F.close(); + } else { + that.close(); + } + + return false; + } + }); + } + + this.overlay.css( opts.css ).show(); + }, + + close : function() { + W.unbind('resize.overlay'); + + if (this.el.hasClass('fancybox-lock')) { + $('.fancybox-margin').removeClass('fancybox-margin'); + + this.el.removeClass('fancybox-lock'); + + W.scrollTop( this.scrollV ).scrollLeft( this.scrollH ); + } + + $('.fancybox-overlay').remove().hide(); + + $.extend(this, { + overlay : null, + fixed : false + }); + }, + + // Private, callbacks + + update : function () { + var width = '100%', offsetWidth; + + // Reset width/height so it will not mess + this.overlay.width(width).height('100%'); + + // jQuery does not return reliable result for IE + if (IE) { + offsetWidth = Math.max(document.documentElement.offsetWidth, document.body.offsetWidth); + + if (D.width() > offsetWidth) { + width = D.width(); + } + + } else if (D.width() > W.width()) { + width = D.width(); + } + + this.overlay.width(width).height(D.height()); + }, + + // This is where we can manipulate DOM, because later it would cause iframes to reload + onReady : function (opts, obj) { + var overlay = this.overlay; + + $('.fancybox-overlay').stop(true, true); + + if (!overlay) { + this.create(opts); + } + + if (opts.locked && this.fixed && obj.fixed) { + obj.locked = this.overlay.append( obj.wrap ); + obj.fixed = false; + } + + if (opts.showEarly === true) { + this.beforeShow.apply(this, arguments); + } + }, + + beforeShow : function(opts, obj) { + if (obj.locked && !this.el.hasClass('fancybox-lock')) { + if (this.fixPosition !== false) { + $('*').filter(function(){ + return ($(this).css('position') === 'fixed' && !$(this).hasClass("fancybox-overlay") && !$(this).hasClass("fancybox-wrap") ); + }).addClass('fancybox-margin'); + } + + this.el.addClass('fancybox-margin'); + + this.scrollV = W.scrollTop(); + this.scrollH = W.scrollLeft(); + + this.el.addClass('fancybox-lock'); + + W.scrollTop( this.scrollV ).scrollLeft( this.scrollH ); + } + + this.open(opts); + }, + + onUpdate : function() { + if (!this.fixed) { + this.update(); + } + }, + + afterClose: function (opts) { + // Remove overlay if exists and fancyBox is not opening + // (e.g., it is not being open using afterClose callback) + if (this.overlay && !F.coming) { + this.overlay.fadeOut(opts.speedOut, $.proxy( this.close, this )); + } + } + }; + + /* + * Title helper + */ + + F.helpers.title = { + defaults : { + type : 'float', // 'float', 'inside', 'outside' or 'over', + position : 'bottom' // 'top' or 'bottom' + }, + + beforeShow: function (opts) { + var current = F.current, + text = current.title, + type = opts.type, + title, + target; + + if ($.isFunction(text)) { + text = text.call(current.element, current); + } + + if (!isString(text) || $.trim(text) === '') { + return; + } + + title = $('
    ' + text + '
    '); + + switch (type) { + case 'inside': + target = F.skin; + break; + + case 'outside': + target = F.wrap; + break; + + case 'over': + target = F.inner; + break; + + default: // 'float' + target = F.skin; + + title.appendTo('body'); + + if (IE) { + title.width( title.width() ); + } + + title.wrapInner(''); + + //Increase bottom margin so this title will also fit into viewport + F.current.margin[2] += Math.abs( getScalar(title.css('margin-bottom')) ); + break; + } + + title[ (opts.position === 'top' ? 'prependTo' : 'appendTo') ](target); + } + }; + + // jQuery plugin initialization + $.fn.fancybox = function (options) { + var index, + that = $(this), + selector = this.selector || '', + run = function(e) { + var what = $(this).blur(), idx = index, relType, relVal; + + if (!(e.ctrlKey || e.altKey || e.shiftKey || e.metaKey) && !what.is('.fancybox-wrap')) { + relType = options.groupAttr || 'data-fancybox-group'; + relVal = what.attr(relType); + + if (!relVal) { + relType = 'rel'; + relVal = what.get(0)[ relType ]; + } + + if (relVal && relVal !== '' && relVal !== 'nofollow') { + what = selector.length ? $(selector) : that; + what = what.filter('[' + relType + '="' + relVal + '"]'); + idx = what.index(this); + } + + options.index = idx; + + // Stop an event from bubbling if everything is fine + if (F.open(what, options) !== false) { + e.preventDefault(); + } + } + }; + + options = options || {}; + index = options.index || 0; + + if (!selector || options.live === false) { + that.unbind('click.fb-start').bind('click.fb-start', run); + + } else { + D.undelegate(selector, 'click.fb-start').delegate(selector + ":not('.fancybox-item, .fancybox-nav')", 'click.fb-start', run); + } + + this.filter('[data-fancybox-start=1]').trigger('click'); + + return this; + }; + + // Tests that need a body at doc ready + D.ready(function() { + var w1, w2; + + if ( $.scrollbarWidth === undefined ) { + // http://benalman.com/projects/jquery-misc-plugins/#scrollbarwidth + $.scrollbarWidth = function() { + var parent = $('
    ').appendTo('body'), + child = parent.children(), + width = child.innerWidth() - child.height( 99 ).innerWidth(); + + parent.remove(); + + return width; + }; + } + + if ( $.support.fixedPosition === undefined ) { + $.support.fixedPosition = (function() { + var elem = $('
    ').appendTo('body'), + fixed = ( elem[0].offsetTop === 20 || elem[0].offsetTop === 15 ); + + elem.remove(); + + return fixed; + }()); + } + + $.extend(F.defaults, { + scrollbarWidth : $.scrollbarWidth(), + fixed : $.support.fixedPosition, + parent : $('body') + }); + + //Get real width of page scroll-bar + w1 = $(window).width(); + + H.addClass('fancybox-lock-test'); + + w2 = $(window).width(); + + H.removeClass('fancybox-lock-test'); + + $("").appendTo("head"); + }); + +}(window, document, jQuery)); \ No newline at end of file diff --git a/fancybox/jquery.fancybox.pack.js b/fancybox/jquery.fancybox.pack.js new file mode 100644 index 0000000..2db1280 --- /dev/null +++ b/fancybox/jquery.fancybox.pack.js @@ -0,0 +1,46 @@ +/*! fancyBox v2.1.5 fancyapps.com | fancyapps.com/fancybox/#license */ +(function(s,H,f,w){var K=f("html"),q=f(s),p=f(H),b=f.fancybox=function(){b.open.apply(this,arguments)},J=navigator.userAgent.match(/msie/i),C=null,t=H.createTouch!==w,u=function(a){return a&&a.hasOwnProperty&&a instanceof f},r=function(a){return a&&"string"===f.type(a)},F=function(a){return r(a)&&0
    ',image:'',iframe:'",error:'

    The requested content cannot be loaded.
    Please try again later.

    ',closeBtn:'',next:'',prev:''},openEffect:"fade",openSpeed:250,openEasing:"swing",openOpacity:!0, +openMethod:"zoomIn",closeEffect:"fade",closeSpeed:250,closeEasing:"swing",closeOpacity:!0,closeMethod:"zoomOut",nextEffect:"elastic",nextSpeed:250,nextEasing:"swing",nextMethod:"changeIn",prevEffect:"elastic",prevSpeed:250,prevEasing:"swing",prevMethod:"changeOut",helpers:{overlay:!0,title:!0},onCancel:f.noop,beforeLoad:f.noop,afterLoad:f.noop,beforeShow:f.noop,afterShow:f.noop,beforeChange:f.noop,beforeClose:f.noop,afterClose:f.noop},group:{},opts:{},previous:null,coming:null,current:null,isActive:!1, +isOpen:!1,isOpened:!1,wrap:null,skin:null,outer:null,inner:null,player:{timer:null,isActive:!1},ajaxLoad:null,imgPreload:null,transitions:{},helpers:{},open:function(a,d){if(a&&(f.isPlainObject(d)||(d={}),!1!==b.close(!0)))return f.isArray(a)||(a=u(a)?f(a).get():[a]),f.each(a,function(e,c){var l={},g,h,k,n,m;"object"===f.type(c)&&(c.nodeType&&(c=f(c)),u(c)?(l={href:c.data("fancybox-href")||c.attr("href"),title:f("
    ").text(c.data("fancybox-title")||c.attr("title")).html(),isDom:!0,element:c}, +f.metadata&&f.extend(!0,l,c.metadata())):l=c);g=d.href||l.href||(r(c)?c:null);h=d.title!==w?d.title:l.title||"";n=(k=d.content||l.content)?"html":d.type||l.type;!n&&l.isDom&&(n=c.data("fancybox-type"),n||(n=(n=c.prop("class").match(/fancybox\.(\w+)/))?n[1]:null));r(g)&&(n||(b.isImage(g)?n="image":b.isSWF(g)?n="swf":"#"===g.charAt(0)?n="inline":r(c)&&(n="html",k=c)),"ajax"===n&&(m=g.split(/\s+/,2),g=m.shift(),m=m.shift()));k||("inline"===n?g?k=f(r(g)?g.replace(/.*(?=#[^\s]+$)/,""):g):l.isDom&&(k=c): +"html"===n?k=g:n||g||!l.isDom||(n="inline",k=c));f.extend(l,{href:g,type:n,content:k,title:h,selector:m});a[e]=l}),b.opts=f.extend(!0,{},b.defaults,d),d.keys!==w&&(b.opts.keys=d.keys?f.extend({},b.defaults.keys,d.keys):!1),b.group=a,b._start(b.opts.index)},cancel:function(){var a=b.coming;a&&!1===b.trigger("onCancel")||(b.hideLoading(),a&&(b.ajaxLoad&&b.ajaxLoad.abort(),b.ajaxLoad=null,b.imgPreload&&(b.imgPreload.onload=b.imgPreload.onerror=null),a.wrap&&a.wrap.stop(!0,!0).trigger("onReset").remove(), +b.coming=null,b.current||b._afterZoomOut(a)))},close:function(a){b.cancel();!1!==b.trigger("beforeClose")&&(b.unbindEvents(),b.isActive&&(b.isOpen&&!0!==a?(b.isOpen=b.isOpened=!1,b.isClosing=!0,f(".fancybox-item, .fancybox-nav").remove(),b.wrap.stop(!0,!0).removeClass("fancybox-opened"),b.transitions[b.current.closeMethod]()):(f(".fancybox-wrap").stop(!0).trigger("onReset").remove(),b._afterZoomOut())))},play:function(a){var d=function(){clearTimeout(b.player.timer)},e=function(){d();b.current&&b.player.isActive&& +(b.player.timer=setTimeout(b.next,b.current.playSpeed))},c=function(){d();p.unbind(".player");b.player.isActive=!1;b.trigger("onPlayEnd")};!0===a||!b.player.isActive&&!1!==a?b.current&&(b.current.loop||b.current.index=c.index?"next":"prev"],b.router=e||"jumpto",c.loop&&(0>a&&(a=c.group.length+a%c.group.length),a%=c.group.length),c.group[a]!==w&&(b.cancel(),b._start(a)))},reposition:function(a,d){var e=b.current,c=e?e.wrap:null,l;c&&(l=b._getPosition(d),a&&"scroll"===a.type?(delete l.position,c.stop(!0,!0).animate(l,200)):(c.css(l),e.pos=f.extend({},e.dim,l)))}, +update:function(a){var d=a&&a.originalEvent&&a.originalEvent.type,e=!d||"orientationchange"===d;e&&(clearTimeout(C),C=null);b.isOpen&&!C&&(C=setTimeout(function(){var c=b.current;c&&!b.isClosing&&(b.wrap.removeClass("fancybox-tmp"),(e||"load"===d||"resize"===d&&c.autoResize)&&b._setDimension(),"scroll"===d&&c.canShrink||b.reposition(a),b.trigger("onUpdate"),C=null)},e&&!t?0:300))},toggle:function(a){b.isOpen&&(b.current.fitToView="boolean"===f.type(a)?a:!b.current.fitToView,t&&(b.wrap.removeAttr("style").addClass("fancybox-tmp"), +b.trigger("onUpdate")),b.update())},hideLoading:function(){p.unbind(".loading");f("#fancybox-loading").remove()},showLoading:function(){var a,d;b.hideLoading();a=f('
    ').click(b.cancel).appendTo("body");p.bind("keydown.loading",function(a){27===(a.which||a.keyCode)&&(a.preventDefault(),b.cancel())});b.defaults.fixed||(d=b.getViewport(),a.css({position:"absolute",top:0.5*d.h+d.y,left:0.5*d.w+d.x}));b.trigger("onLoading")},getViewport:function(){var a=b.current&& +b.current.locked||!1,d={x:q.scrollLeft(),y:q.scrollTop()};a&&a.length?(d.w=a[0].clientWidth,d.h=a[0].clientHeight):(d.w=t&&s.innerWidth?s.innerWidth:q.width(),d.h=t&&s.innerHeight?s.innerHeight:q.height());return d},unbindEvents:function(){b.wrap&&u(b.wrap)&&b.wrap.unbind(".fb");p.unbind(".fb");q.unbind(".fb")},bindEvents:function(){var a=b.current,d;a&&(q.bind("orientationchange.fb"+(t?"":" resize.fb")+(a.autoCenter&&!a.locked?" scroll.fb":""),b.update),(d=a.keys)&&p.bind("keydown.fb",function(e){var c= +e.which||e.keyCode,l=e.target||e.srcElement;if(27===c&&b.coming)return!1;e.ctrlKey||e.altKey||e.shiftKey||e.metaKey||l&&(l.type||f(l).is("[contenteditable]"))||f.each(d,function(d,l){if(1h[0].clientWidth||h[0].clientHeight&&h[0].scrollHeight>h[0].clientHeight),h=f(h).parent();0!==c&&!k&&1g||0>l)&&b.next(0>g?"up":"right"),d.preventDefault())}))},trigger:function(a,d){var e,c=d||b.coming||b.current;if(c){f.isFunction(c[a])&&(e=c[a].apply(c,Array.prototype.slice.call(arguments,1)));if(!1===e)return!1;c.helpers&&f.each(c.helpers,function(d,e){if(e&& +b.helpers[d]&&f.isFunction(b.helpers[d][a]))b.helpers[d][a](f.extend(!0,{},b.helpers[d].defaults,e),c)})}p.trigger(a)},isImage:function(a){return r(a)&&a.match(/(^data:image\/.*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg)((\?|#).*)?$)/i)},isSWF:function(a){return r(a)&&a.match(/\.(swf)((\?|#).*)?$/i)},_start:function(a){var d={},e,c;a=m(a);e=b.group[a]||null;if(!e)return!1;d=f.extend(!0,{},b.opts,e);e=d.margin;c=d.padding;"number"===f.type(e)&&(d.margin=[e,e,e,e]);"number"===f.type(c)&&(d.padding=[c,c, +c,c]);d.modal&&f.extend(!0,d,{closeBtn:!1,closeClick:!1,nextClick:!1,arrows:!1,mouseWheel:!1,keys:null,helpers:{overlay:{closeClick:!1}}});d.autoSize&&(d.autoWidth=d.autoHeight=!0);"auto"===d.width&&(d.autoWidth=!0);"auto"===d.height&&(d.autoHeight=!0);d.group=b.group;d.index=a;b.coming=d;if(!1===b.trigger("beforeLoad"))b.coming=null;else{c=d.type;e=d.href;if(!c)return b.coming=null,b.current&&b.router&&"jumpto"!==b.router?(b.current.index=a,b[b.router](b.direction)):!1;b.isActive=!0;if("image"=== +c||"swf"===c)d.autoHeight=d.autoWidth=!1,d.scrolling="visible";"image"===c&&(d.aspectRatio=!0);"iframe"===c&&t&&(d.scrolling="scroll");d.wrap=f(d.tpl.wrap).addClass("fancybox-"+(t?"mobile":"desktop")+" fancybox-type-"+c+" fancybox-tmp "+d.wrapCSS).appendTo(d.parent||"body");f.extend(d,{skin:f(".fancybox-skin",d.wrap),outer:f(".fancybox-outer",d.wrap),inner:f(".fancybox-inner",d.wrap)});f.each(["Top","Right","Bottom","Left"],function(a,b){d.skin.css("padding"+b,x(d.padding[a]))});b.trigger("onReady"); +if("inline"===c||"html"===c){if(!d.content||!d.content.length)return b._error("content")}else if(!e)return b._error("href");"image"===c?b._loadImage():"ajax"===c?b._loadAjax():"iframe"===c?b._loadIframe():b._afterLoad()}},_error:function(a){f.extend(b.coming,{type:"html",autoWidth:!0,autoHeight:!0,minWidth:0,minHeight:0,scrolling:"no",hasError:a,content:b.coming.tpl.error});b._afterLoad()},_loadImage:function(){var a=b.imgPreload=new Image;a.onload=function(){this.onload=this.onerror=null;b.coming.width= +this.width/b.opts.pixelRatio;b.coming.height=this.height/b.opts.pixelRatio;b._afterLoad()};a.onerror=function(){this.onload=this.onerror=null;b._error("image")};a.src=b.coming.href;!0!==a.complete&&b.showLoading()},_loadAjax:function(){var a=b.coming;b.showLoading();b.ajaxLoad=f.ajax(f.extend({},a.ajax,{url:a.href,error:function(a,e){b.coming&&"abort"!==e?b._error("ajax",a):b.hideLoading()},success:function(d,e){"success"===e&&(a.content=d,b._afterLoad())}}))},_loadIframe:function(){var a=b.coming, +d=f(a.tpl.iframe.replace(/\{rnd\}/g,(new Date).getTime())).attr("scrolling",t?"auto":a.iframe.scrolling).attr("src",a.href);f(a.wrap).bind("onReset",function(){try{f(this).find("iframe").hide().attr("src","//about:blank").end().empty()}catch(a){}});a.iframe.preload&&(b.showLoading(),d.one("load",function(){f(this).data("ready",1);t||f(this).bind("load.fb",b.update);f(this).parents(".fancybox-wrap").width("100%").removeClass("fancybox-tmp").show();b._afterLoad()}));a.content=d.appendTo(a.inner);a.iframe.preload|| +b._afterLoad()},_preloadImages:function(){var a=b.group,d=b.current,e=a.length,c=d.preload?Math.min(d.preload,e-1):0,f,g;for(g=1;g<=c;g+=1)f=a[(d.index+g)%e],"image"===f.type&&f.href&&((new Image).src=f.href)},_afterLoad:function(){var a=b.coming,d=b.current,e,c,l,g,h;b.hideLoading();if(a&&!1!==b.isActive)if(!1===b.trigger("afterLoad",a,d))a.wrap.stop(!0).trigger("onReset").remove(),b.coming=null;else{d&&(b.trigger("beforeChange",d),d.wrap.stop(!0).removeClass("fancybox-opened").find(".fancybox-item, .fancybox-nav").remove()); +b.unbindEvents();e=a.content;c=a.type;l=a.scrolling;f.extend(b,{wrap:a.wrap,skin:a.skin,outer:a.outer,inner:a.inner,current:a,previous:d});g=a.href;switch(c){case "inline":case "ajax":case "html":a.selector?e=f("
    ").html(e).find(a.selector):u(e)&&(e.data("fancybox-placeholder")||e.data("fancybox-placeholder",f('
    ').insertAfter(e).hide()),e=e.show().detach(),a.wrap.bind("onReset",function(){f(this).find(e).length&&e.hide().replaceAll(e.data("fancybox-placeholder")).data("fancybox-placeholder", +!1)}));break;case "image":e=a.tpl.image.replace(/\{href\}/g,g);break;case "swf":e='',h="",f.each(a.swf,function(a,b){e+='';h+=" "+a+'="'+b+'"'}),e+='"}u(e)&&e.parent().is(a.inner)||a.inner.append(e);b.trigger("beforeShow"); +a.inner.css("overflow","yes"===l?"scroll":"no"===l?"hidden":l);b._setDimension();b.reposition();b.isOpen=!1;b.coming=null;b.bindEvents();if(!b.isOpened)f(".fancybox-wrap").not(a.wrap).stop(!0).trigger("onReset").remove();else if(d.prevMethod)b.transitions[d.prevMethod]();b.transitions[b.isOpened?a.nextMethod:a.openMethod]();b._preloadImages()}},_setDimension:function(){var a=b.getViewport(),d=0,e=!1,c=!1,e=b.wrap,l=b.skin,g=b.inner,h=b.current,c=h.width,k=h.height,n=h.minWidth,v=h.minHeight,p=h.maxWidth, +q=h.maxHeight,t=h.scrolling,r=h.scrollOutside?h.scrollbarWidth:0,y=h.margin,z=m(y[1]+y[3]),s=m(y[0]+y[2]),w,A,u,D,B,G,C,E,I;e.add(l).add(g).width("auto").height("auto").removeClass("fancybox-tmp");y=m(l.outerWidth(!0)-l.width());w=m(l.outerHeight(!0)-l.height());A=z+y;u=s+w;D=F(c)?(a.w-A)*m(c)/100:c;B=F(k)?(a.h-u)*m(k)/100:k;if("iframe"===h.type){if(I=h.content,h.autoHeight&&1===I.data("ready"))try{I[0].contentWindow.document.location&&(g.width(D).height(9999),G=I.contents().find("body"),r&&G.css("overflow-x", +"hidden"),B=G.outerHeight(!0))}catch(H){}}else if(h.autoWidth||h.autoHeight)g.addClass("fancybox-tmp"),h.autoWidth||g.width(D),h.autoHeight||g.height(B),h.autoWidth&&(D=g.width()),h.autoHeight&&(B=g.height()),g.removeClass("fancybox-tmp");c=m(D);k=m(B);E=D/B;n=m(F(n)?m(n,"w")-A:n);p=m(F(p)?m(p,"w")-A:p);v=m(F(v)?m(v,"h")-u:v);q=m(F(q)?m(q,"h")-u:q);G=p;C=q;h.fitToView&&(p=Math.min(a.w-A,p),q=Math.min(a.h-u,q));A=a.w-z;s=a.h-s;h.aspectRatio?(c>p&&(c=p,k=m(c/E)),k>q&&(k=q,c=m(k*E)),cA||z>s)&&c>n&&k>v&&!(19p&&(c=p,k=m(c/E)),g.width(c).height(k),e.width(c+y),a=e.width(),z=e.height();else c=Math.max(n,Math.min(c,c-(a-A))),k=Math.max(v,Math.min(k,k-(z-s)));r&&"auto"===t&&kA||z>s)&&c>n&&k>v;c=h.aspectRatio?cv&&k
    ').appendTo(d&&d.lenth?d:"body");this.fixed=!1;a.fixed&&b.defaults.fixed&&(this.overlay.addClass("fancybox-overlay-fixed"),this.fixed=!0)},open:function(a){var d=this;a=f.extend({},this.defaults,a);this.overlay?this.overlay.unbind(".overlay").width("auto").height("auto"):this.create(a);this.fixed||(q.bind("resize.overlay",f.proxy(this.update,this)),this.update());a.closeClick&&this.overlay.bind("click.overlay", +function(a){if(f(a.target).hasClass("fancybox-overlay"))return b.isActive?b.close():d.close(),!1});this.overlay.css(a.css).show()},close:function(){q.unbind("resize.overlay");this.el.hasClass("fancybox-lock")&&(f(".fancybox-margin").removeClass("fancybox-margin"),this.el.removeClass("fancybox-lock"),q.scrollTop(this.scrollV).scrollLeft(this.scrollH));f(".fancybox-overlay").remove().hide();f.extend(this,{overlay:null,fixed:!1})},update:function(){var a="100%",b;this.overlay.width(a).height("100%"); +J?(b=Math.max(H.documentElement.offsetWidth,H.body.offsetWidth),p.width()>b&&(a=p.width())):p.width()>q.width()&&(a=p.width());this.overlay.width(a).height(p.height())},onReady:function(a,b){var e=this.overlay;f(".fancybox-overlay").stop(!0,!0);e||this.create(a);a.locked&&this.fixed&&b.fixed&&(b.locked=this.overlay.append(b.wrap),b.fixed=!1);!0===a.showEarly&&this.beforeShow.apply(this,arguments)},beforeShow:function(a,b){b.locked&&!this.el.hasClass("fancybox-lock")&&(!1!==this.fixPosition&&f("*").filter(function(){return"fixed"=== +f(this).css("position")&&!f(this).hasClass("fancybox-overlay")&&!f(this).hasClass("fancybox-wrap")}).addClass("fancybox-margin"),this.el.addClass("fancybox-margin"),this.scrollV=q.scrollTop(),this.scrollH=q.scrollLeft(),this.el.addClass("fancybox-lock"),q.scrollTop(this.scrollV).scrollLeft(this.scrollH));this.open(a)},onUpdate:function(){this.fixed||this.update()},afterClose:function(a){this.overlay&&!b.coming&&this.overlay.fadeOut(a.speedOut,f.proxy(this.close,this))}};b.helpers.title={defaults:{type:"float", +position:"bottom"},beforeShow:function(a){var d=b.current,e=d.title,c=a.type;f.isFunction(e)&&(e=e.call(d.element,d));if(r(e)&&""!==f.trim(e)){d=f('
    '+e+"
    ");switch(c){case "inside":c=b.skin;break;case "outside":c=b.wrap;break;case "over":c=b.inner;break;default:c=b.skin,d.appendTo("body"),J&&d.width(d.width()),d.wrapInner(''),b.current.margin[2]+=Math.abs(m(d.css("margin-bottom")))}d["top"===a.position?"prependTo": +"appendTo"](c)}}};f.fn.fancybox=function(a){var d,e=f(this),c=this.selector||"",l=function(g){var h=f(this).blur(),k=d,l,m;g.ctrlKey||g.altKey||g.shiftKey||g.metaKey||h.is(".fancybox-wrap")||(l=a.groupAttr||"data-fancybox-group",m=h.attr(l),m||(l="rel",m=h.get(0)[l]),m&&""!==m&&"nofollow"!==m&&(h=c.length?f(c):e,h=h.filter("["+l+'="'+m+'"]'),k=h.index(this)),a.index=k,!1!==b.open(h,a)&&g.preventDefault())};a=a||{};d=a.index||0;c&&!1!==a.live?p.undelegate(c,"click.fb-start").delegate(c+":not('.fancybox-item, .fancybox-nav')", +"click.fb-start",l):e.unbind("click.fb-start").bind("click.fb-start",l);this.filter("[data-fancybox-start=1]").trigger("click");return this};p.ready(function(){var a,d;f.scrollbarWidth===w&&(f.scrollbarWidth=function(){var a=f('
    ').appendTo("body"),b=a.children(),b=b.innerWidth()-b.height(99).innerWidth();a.remove();return b});f.support.fixedPosition===w&&(f.support.fixedPosition=function(){var a=f('
    ').appendTo("body"), +b=20===a[0].offsetTop||15===a[0].offsetTop;a.remove();return b}());f.extend(b.defaults,{scrollbarWidth:f.scrollbarWidth(),fixed:f.support.fixedPosition,parent:f("body")});a=f(s).width();K.addClass("fancybox-lock-test");d=f(s).width();K.removeClass("fancybox-lock-test");f("").appendTo("head")})})(window,document,jQuery); \ No newline at end of file diff --git a/iconfont/demo.css b/iconfont/demo.css deleted file mode 100644 index a67054a..0000000 --- a/iconfont/demo.css +++ /dev/null @@ -1,539 +0,0 @@ -/* Logo 字体 */ -@font-face { - font-family: "iconfont logo"; - src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834'); - src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834#iefix') format('embedded-opentype'), - url('https://at.alicdn.com/t/font_985780_km7mi63cihi.woff?t=1545807318834') format('woff'), - url('https://at.alicdn.com/t/font_985780_km7mi63cihi.ttf?t=1545807318834') format('truetype'), - url('https://at.alicdn.com/t/font_985780_km7mi63cihi.svg?t=1545807318834#iconfont') format('svg'); -} - -.logo { - font-family: "iconfont logo"; - font-size: 160px; - font-style: normal; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -/* tabs */ -.nav-tabs { - position: relative; -} - -.nav-tabs .nav-more { - position: absolute; - right: 0; - bottom: 0; - height: 42px; - line-height: 42px; - color: #666; -} - -#tabs { - border-bottom: 1px solid #eee; -} - -#tabs li { - cursor: pointer; - width: 100px; - height: 40px; - line-height: 40px; - text-align: center; - font-size: 16px; - border-bottom: 2px solid transparent; - position: relative; - z-index: 1; - margin-bottom: -1px; - color: #666; -} - - -#tabs .active { - border-bottom-color: #f00; - color: #222; -} - -.tab-container .content { - display: none; -} - -/* 页面布局 */ -.main { - padding: 30px 100px; - width: 960px; - margin: 0 auto; -} - -.main .logo { - color: #333; - text-align: left; - margin-bottom: 30px; - line-height: 1; - height: 110px; - margin-top: -50px; - overflow: hidden; - *zoom: 1; -} - -.main .logo a { - font-size: 160px; - color: #333; -} - -.helps { - margin-top: 40px; -} - -.helps pre { - padding: 20px; - margin: 10px 0; - border: solid 1px #e7e1cd; - background-color: #fffdef; - overflow: auto; -} - -.icon_lists { - width: 100% !important; - overflow: hidden; - *zoom: 1; -} - -.icon_lists li { - width: 100px; - margin-bottom: 10px; - margin-right: 20px; - text-align: center; - list-style: none !important; - cursor: default; -} - -.icon_lists li .code-name { - line-height: 1.2; -} - -.icon_lists .icon { - display: block; - height: 100px; - line-height: 100px; - font-size: 42px; - margin: 10px auto; - color: #333; - -webkit-transition: font-size 0.25s linear, width 0.25s linear; - -moz-transition: font-size 0.25s linear, width 0.25s linear; - transition: font-size 0.25s linear, width 0.25s linear; -} - -.icon_lists .icon:hover { - font-size: 100px; -} - -.icon_lists .svg-icon { - /* 通过设置 font-size 来改变图标大小 */ - width: 1em; - /* 图标和文字相邻时,垂直对齐 */ - vertical-align: -0.15em; - /* 通过设置 color 来改变 SVG 的颜色/fill */ - fill: currentColor; - /* path 和 stroke 溢出 viewBox 部分在 IE 下会显示 - normalize.css 中也包含这行 */ - overflow: hidden; -} - -.icon_lists li .name, -.icon_lists li .code-name { - color: #666; -} - -/* markdown 样式 */ -.markdown { - color: #666; - font-size: 14px; - line-height: 1.8; -} - -.highlight { - line-height: 1.5; -} - -.markdown img { - vertical-align: middle; - max-width: 100%; -} - -.markdown h1 { - color: #404040; - font-weight: 500; - line-height: 40px; - margin-bottom: 24px; -} - -.markdown h2, -.markdown h3, -.markdown h4, -.markdown h5, -.markdown h6 { - color: #404040; - margin: 1.6em 0 0.6em 0; - font-weight: 500; - clear: both; -} - -.markdown h1 { - font-size: 28px; -} - -.markdown h2 { - font-size: 22px; -} - -.markdown h3 { - font-size: 16px; -} - -.markdown h4 { - font-size: 14px; -} - -.markdown h5 { - font-size: 12px; -} - -.markdown h6 { - font-size: 12px; -} - -.markdown hr { - height: 1px; - border: 0; - background: #e9e9e9; - margin: 16px 0; - clear: both; -} - -.markdown p { - margin: 1em 0; -} - -.markdown>p, -.markdown>blockquote, -.markdown>.highlight, -.markdown>ol, -.markdown>ul { - width: 80%; -} - -.markdown ul>li { - list-style: circle; -} - -.markdown>ul li, -.markdown blockquote ul>li { - margin-left: 20px; - padding-left: 4px; -} - -.markdown>ul li p, -.markdown>ol li p { - margin: 0.6em 0; -} - -.markdown ol>li { - list-style: decimal; -} - -.markdown>ol li, -.markdown blockquote ol>li { - margin-left: 20px; - padding-left: 4px; -} - -.markdown code { - margin: 0 3px; - padding: 0 5px; - background: #eee; - border-radius: 3px; -} - -.markdown strong, -.markdown b { - font-weight: 600; -} - -.markdown>table { - border-collapse: collapse; - border-spacing: 0px; - empty-cells: show; - border: 1px solid #e9e9e9; - width: 95%; - margin-bottom: 24px; -} - -.markdown>table th { - white-space: nowrap; - color: #333; - font-weight: 600; -} - -.markdown>table th, -.markdown>table td { - border: 1px solid #e9e9e9; - padding: 8px 16px; - text-align: left; -} - -.markdown>table th { - background: #F7F7F7; -} - -.markdown blockquote { - font-size: 90%; - color: #999; - border-left: 4px solid #e9e9e9; - padding-left: 0.8em; - margin: 1em 0; -} - -.markdown blockquote p { - margin: 0; -} - -.markdown .anchor { - opacity: 0; - transition: opacity 0.3s ease; - margin-left: 8px; -} - -.markdown .waiting { - color: #ccc; -} - -.markdown h1:hover .anchor, -.markdown h2:hover .anchor, -.markdown h3:hover .anchor, -.markdown h4:hover .anchor, -.markdown h5:hover .anchor, -.markdown h6:hover .anchor { - opacity: 1; - display: inline-block; -} - -.markdown>br, -.markdown>p>br { - clear: both; -} - - -.hljs { - display: block; - background: white; - padding: 0.5em; - color: #333333; - overflow-x: auto; -} - -.hljs-comment, -.hljs-meta { - color: #969896; -} - -.hljs-string, -.hljs-variable, -.hljs-template-variable, -.hljs-strong, -.hljs-emphasis, -.hljs-quote { - color: #df5000; -} - -.hljs-keyword, -.hljs-selector-tag, -.hljs-type { - color: #a71d5d; -} - -.hljs-literal, -.hljs-symbol, -.hljs-bullet, -.hljs-attribute { - color: #0086b3; -} - -.hljs-section, -.hljs-name { - color: #63a35c; -} - -.hljs-tag { - color: #333333; -} - -.hljs-title, -.hljs-attr, -.hljs-selector-id, -.hljs-selector-class, -.hljs-selector-attr, -.hljs-selector-pseudo { - color: #795da3; -} - -.hljs-addition { - color: #55a532; - background-color: #eaffea; -} - -.hljs-deletion { - color: #bd2c00; - background-color: #ffecec; -} - -.hljs-link { - text-decoration: underline; -} - -/* 代码高亮 */ -/* PrismJS 1.15.0 -https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript */ -/** - * prism.js default theme for JavaScript, CSS and HTML - * Based on dabblet (http://dabblet.com) - * @author Lea Verou - */ -code[class*="language-"], -pre[class*="language-"] { - color: black; - background: none; - text-shadow: 0 1px white; - font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; - text-align: left; - white-space: pre; - word-spacing: normal; - word-break: normal; - word-wrap: normal; - line-height: 1.5; - - -moz-tab-size: 4; - -o-tab-size: 4; - tab-size: 4; - - -webkit-hyphens: none; - -moz-hyphens: none; - -ms-hyphens: none; - hyphens: none; -} - -pre[class*="language-"]::-moz-selection, -pre[class*="language-"] ::-moz-selection, -code[class*="language-"]::-moz-selection, -code[class*="language-"] ::-moz-selection { - text-shadow: none; - background: #b3d4fc; -} - -pre[class*="language-"]::selection, -pre[class*="language-"] ::selection, -code[class*="language-"]::selection, -code[class*="language-"] ::selection { - text-shadow: none; - background: #b3d4fc; -} - -@media print { - - code[class*="language-"], - pre[class*="language-"] { - text-shadow: none; - } -} - -/* Code blocks */ -pre[class*="language-"] { - padding: 1em; - margin: .5em 0; - overflow: auto; -} - -:not(pre)>code[class*="language-"], -pre[class*="language-"] { - background: #f5f2f0; -} - -/* Inline code */ -:not(pre)>code[class*="language-"] { - padding: .1em; - border-radius: .3em; - white-space: normal; -} - -.token.comment, -.token.prolog, -.token.doctype, -.token.cdata { - color: slategray; -} - -.token.punctuation { - color: #999; -} - -.namespace { - opacity: .7; -} - -.token.property, -.token.tag, -.token.boolean, -.token.number, -.token.constant, -.token.symbol, -.token.deleted { - color: #905; -} - -.token.selector, -.token.attr-name, -.token.string, -.token.char, -.token.builtin, -.token.inserted { - color: #690; -} - -.token.operator, -.token.entity, -.token.url, -.language-css .token.string, -.style .token.string { - color: #9a6e3a; - background: hsla(0, 0%, 100%, .5); -} - -.token.atrule, -.token.attr-value, -.token.keyword { - color: #07a; -} - -.token.function, -.token.class-name { - color: #DD4A68; -} - -.token.regex, -.token.important, -.token.variable { - color: #e90; -} - -.token.important, -.token.bold { - font-weight: bold; -} - -.token.italic { - font-style: italic; -} - -.token.entity { - cursor: help; -} diff --git a/iconfont/demo_index.html b/iconfont/demo_index.html deleted file mode 100644 index b8411c5..0000000 --- a/iconfont/demo_index.html +++ /dev/null @@ -1,791 +0,0 @@ - - - - - IconFont Demo - - - - - - - - - - - -
    -

    - -
    -
    -
      - -
    • - -
      pin-2
      -
      &#xe850;
      -
    • - -
    • - -
      close
      -
      &#xe720;
      -
    • - -
    • - -
      search
      -
      &#xe62e;
      -
    • - -
    • - -
      chevron-left
      -
      &#xe657;
      -
    • - -
    • - -
      chevron-right
      -
      &#xe688;
      -
    • - -
    • - -
      eye_page view
      -
      &#xe630;
      -
    • - -
    • - -
      edit
      -
      &#xe6cc;
      -
    • - -
    • - -
      update
      -
      &#xe968;
      -
    • - -
    • - -
      github
      -
      &#xe677;
      -
    • - -
    • - -
      chevron-down
      -
      &#xea56;
      -
    • - -
    • - -
      facebook-square
      -
      &#xeab9;
      -
    • - -
    • - -
      tags
      -
      &#xecdd;
      -
    • - -
    • - -
      bookmark
      -
      &#xe653;
      -
    • - -
    • - -
      chevron-up
      -
      &#xe68f;
      -
    • - -
    • - -
      link
      -
      &#xe766;
      -
    • - -
    • - -
      linkedin
      -
      &#xe768;
      -
    • - -
    • - -
      weibo
      -
      &#xe892;
      -
    • - -
    • - -
      envelope
      -
      &#xe66d;
      -
    • - -
    • - -
      jsfiddle
      -
      &#xe6b8;
      -
    • - -
    • - -
      wechat
      -
      &#xe634;
      -
    • - -
    • - -
      angle-right
      -
      &#xef1f;
      -
    • - -
    • - -
      twitter
      -
      &#xf24d;
      -
    • - -
    • - -
      photo
      -
      &#xe907;
      -
    • - -
    • - -
      qq
      -
      &#xe614;
      -
    • - -
    • - -
      angle-left
      -
      &#xe694;
      -
    • - -
    • - -
      emoji-friendly
      -
      &#xe6e1;
      -
    • - -
    • - -
      rss
      -
      &#xf09c;
      -
    • - -
    -
    -

    Unicode 引用

    -
    - -

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

    -
      -
    • 兼容性最好,支持 IE6+,及所有现代浏览器。
    • -
    • 支持按字体的方式去动态调整图标大小,颜色等等。
    • -
    • 但是因为是字体,所以不支持多色。只能使用平台里单色的图标,就算项目里有多色图标也会自动去色。
    • -
    -
    -

    注意:新版 iconfont 支持多色图标,这些多色图标在 Unicode 模式下将不能使用,如果有需求建议使用symbol 的引用方式

    -
    -

    Unicode 使用步骤如下:

    -

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

    -
    @font-face {
    -  font-family: 'iconfont';
    -  src: url('iconfont.eot');
    -  src: url('iconfont.eot?#iefix') format('embedded-opentype'),
    -      url('iconfont.woff2') format('woff2'),
    -      url('iconfont.woff') format('woff'),
    -      url('iconfont.ttf') format('truetype'),
    -      url('iconfont.svg#iconfont') format('svg');
    -}
    -
    -

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

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

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

    -
    -<span class="iconfont">&#x33;</span>
    -
    -
    -

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

    -
    -
    -
    -
    -
      - -
    • - -
      - pin-2 -
      -
      .icon-pin-top -
      -
    • - -
    • - -
      - close -
      -
      .icon-close -
      -
    • - -
    • - -
      - search -
      -
      .icon-search -
      -
    • - -
    • - -
      - chevron-left -
      -
      .icon-chevronleft -
      -
    • - -
    • - -
      - chevron-right -
      -
      .icon-chevronright -
      -
    • - -
    • - -
      - eye_page view -
      -
      .icon-eye -
      -
    • - -
    • - -
      - edit -
      -
      .icon-edit -
      -
    • - -
    • - -
      - update -
      -
      .icon-updatetime -
      -
    • - -
    • - -
      - github -
      -
      .icon-github -
      -
    • - -
    • - -
      - chevron-down -
      -
      .icon-chevrondown -
      -
    • - -
    • - -
      - facebook-square -
      -
      .icon-facebooksquare -
      -
    • - -
    • - -
      - tags -
      -
      .icon-tags -
      -
    • - -
    • - -
      - bookmark -
      -
      .icon-bookmark -
      -
    • - -
    • - -
      - chevron-up -
      -
      .icon-chevronup -
      -
    • - -
    • - -
      - link -
      -
      .icon-link -
      -
    • - -
    • - -
      - linkedin -
      -
      .icon-linkedin -
      -
    • - -
    • - -
      - weibo -
      -
      .icon-weibo -
      -
    • - -
    • - -
      - envelope -
      -
      .icon-envelope -
      -
    • - -
    • - -
      - jsfiddle -
      -
      .icon-jsfiddle -
      -
    • - -
    • - -
      - wechat -
      -
      .icon-wechat -
      -
    • - -
    • - -
      - angle-right -
      -
      .icon-angleright -
      -
    • - -
    • - -
      - twitter -
      -
      .icon-twitter -
      -
    • - -
    • - -
      - photo -
      -
      .icon-photo -
      -
    • - -
    • - -
      - qq -
      -
      .icon-qq -
      -
    • - -
    • - -
      - angle-left -
      -
      .icon-angleleft -
      -
    • - -
    • - -
      - emoji-friendly -
      -
      .icon-emoji-friendly -
      -
    • - -
    • - -
      - rss -
      -
      .icon-rss -
      -
    • - -
    -
    -

    font-class 引用

    -
    - -

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

    -

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

    -
      -
    • 兼容性良好,支持 IE8+,及所有现代浏览器。
    • -
    • 相比于 Unicode 语意明确,书写更直观。可以很容易分辨这个 icon 是什么。
    • -
    • 因为使用 class 来定义图标,所以当要替换图标时,只需要修改 class 里面的 Unicode 引用。
    • -
    • 不过因为本质上还是使用的字体,所以多色图标还是不支持的。
    • -
    -

    使用步骤如下:

    -

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

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

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

    -
    <span class="iconfont iconxxx"></span>
    -
    -
    -

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

    -
    -
    -
    -
    -
      - -
    • - -
      pin-2
      -
      #icon-pin-top
      -
    • - -
    • - -
      close
      -
      #icon-close
      -
    • - -
    • - -
      search
      -
      #icon-search
      -
    • - -
    • - -
      chevron-left
      -
      #icon-chevronleft
      -
    • - -
    • - -
      chevron-right
      -
      #icon-chevronright
      -
    • - -
    • - -
      eye_page view
      -
      #icon-eye
      -
    • - -
    • - -
      edit
      -
      #icon-edit
      -
    • - -
    • - -
      update
      -
      #icon-updatetime
      -
    • - -
    • - -
      github
      -
      #icon-github
      -
    • - -
    • - -
      chevron-down
      -
      #icon-chevrondown
      -
    • - -
    • - -
      facebook-square
      -
      #icon-facebooksquare
      -
    • - -
    • - -
      tags
      -
      #icon-tags
      -
    • - -
    • - -
      bookmark
      -
      #icon-bookmark
      -
    • - -
    • - -
      chevron-up
      -
      #icon-chevronup
      -
    • - -
    • - -
      link
      -
      #icon-link
      -
    • - -
    • - -
      linkedin
      -
      #icon-linkedin
      -
    • - -
    • - -
      weibo
      -
      #icon-weibo
      -
    • - -
    • - -
      envelope
      -
      #icon-envelope
      -
    • - -
    • - -
      jsfiddle
      -
      #icon-jsfiddle
      -
    • - -
    • - -
      wechat
      -
      #icon-wechat
      -
    • - -
    • - -
      angle-right
      -
      #icon-angleright
      -
    • - -
    • - -
      twitter
      -
      #icon-twitter
      -
    • - -
    • - -
      photo
      -
      #icon-photo
      -
    • - -
    • - -
      qq
      -
      #icon-qq
      -
    • - -
    • - -
      angle-left
      -
      #icon-angleleft
      -
    • - -
    • - -
      emoji-friendly
      -
      #icon-emoji-friendly
      -
    • - -
    • - -
      rss
      -
      #icon-rss
      -
    • - -
    -
    -

    Symbol 引用

    -
    - -

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

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

    使用步骤如下:

    -

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

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

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

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

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

    -
    <svg class="icon" aria-hidden="true">
    -  <use xlink:href="#icon-xxx"></use>
    -</svg>
    -
    -
    -
    - -
    -
    - - - diff --git a/iconfont/iconfont.css b/iconfont/iconfont.css deleted file mode 100644 index 65eb1c8..0000000 --- a/iconfont/iconfont.css +++ /dev/null @@ -1,125 +0,0 @@ -@font-face {font-family: "iconfont"; - src: url('iconfont.eot?t=1598927734986'); /* IE9 */ - src: url('iconfont.eot?t=1598927734986#iefix') format('embedded-opentype'), /* IE6-IE8 */ - url('data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAA/cAAsAAAAAG+gAAA+PAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCHLAqjcJxfATYCJANwCzoABCAFhG0HglobUxczg3aStLJD9n9JbpxC9cClITugoMFEBUaPJGI9pYYyVXmXU566x2ENWv9Qi9Ksbj5JUWmboZQExX6vew84DCoqKakvS0zja6vQWjKOUBPoIdiww67JnJa8y/IdG4roHgFYdgmTQ85H/spfCpTAUKSki2zQzP6O6GSptXtMMMPz2/w/91yiLpEWiApYxYMX2NAGVoJ7X6zYhmtcW3+z1iG+16vQV8uIW02cNUCwudQ4awJqQDJhjrd8cr9fHvGQI+s/l+NluAgVwAJYrW0hBAIUoBGKJdr8XrftPCu82TIx9NN+tfr/4t7OZPBciH9mbebPrLzzwf8uNud/D/u3uGXNZEI6tRVrHIl40ogQCpHU6JVISB3dplP8Xc2QymBs6cEqMLH/EQsztk5PoDFvWWzeuvuwSoaZgatu37h2QRWpl0m2hSpYCKbMmnguVyVPk9d4xn9+fLEugkSeYmPuv7rlsvXv+Q/F/7FOt8ajTuJuKlIsIyM5LozGQanHljlvRH8KZbEkehZlJt/zRYiilC1fvVbt5hqwzeG7N+5J40hVWauvyX198mb7Xnnmex+OS4UePfv4oaf/Vx6TUoVRfTLDarl+U0aUpiUGDApDJlQarc6YGeNEAVd2EIdp+wzv+SZikvcRiJT3UYiC90pTNpEN0AeRD5BB1AMMQ7QC1BDtADnEXIB+iAGAKYhtACMQhwFKiBtATPNBChIuHAADEFVADPLRCgKiD4ghPpHBBEQVEBWf80ADsR2Ilq9XEB0/fBFj/IyY4bc442DWnqKHreRPKB9ggddUpUJCi0MmJx4PAbFVqoSGeoAkJWQhkKGzbIpMyBAIhGwGg0wNIdICMIyjFcipApFYIBb7Eeg+VDqdqeAJvLx8YsRiCkalCGKpZDY7ScBgIFRfXBwGnz+xfN0ymSzJl1CN0g60hH4rm8uJ6lXXKLk9FEE20pkZkVqxZqfTnca0lxU7UCqRtDVBsaa5wYRFONnA/NCgVQ2ZupgcKkC1td+hcECZWEoIOSLS6es8QOpPsW3Uqj1EanDIxDmdREhYmpi09UeJU4NRl0Ku6CpOwQYKyKxW+vh7dXSbzRlc5IRfhCvEGwZ/moj6bVs4o1a1ibWv3yobuf3sVlA5emdAVWTAgqRVD3PLS7QN4BDeQ2LmsEbZe/V6M8M1GYIVL74FEnx76oBhNPF1e6YdDULm9y+Ur9vF+kpXOV93i+9xJTjCyNh0rQvWaGmd0VmvhJFHQdpBveB+MeUkIPHKxO8tALAqFDupcMvRi2ZsRgklLhY4b47fyIPTbMwtiWoTG6MtVvy0FaGr8SE1txJybgQGclBzAcg400g/Nc6R8g+Sb/gsPQJZ9xQ8zKqwNqMHYjYhCQEI2EN91o8m0qMVyD7O6we/4qZBh0gJL37ofcCyetQ85KIrsZDMSklfuy7gq0rp/Iyr1uHUGZBIipwshVlPVZvfaLOpWfRPnWfWzNQSOUuams0CgNO2W5YgOYvkhGonEhrq5FUTbpFgWk1NTDdNvtkfwq/I++QtpaB9/dWt5zXe9+vqgf4myuMvvgziVZu374/Aoyq+BSG5owX67V8PwcNaDMl+URocgvQuYVgAc/7e1WaPP5Ab3VyfH9nZUm3LMrh0fdWJouXwoyui9N3zVCfjWA6BJqJInUTAIVtLYsloNGq9mpeNpuclijQi2TBMnt+4fhqcdKMiY3o2K47decY4tpy4Fam3Ze44LtbPO4aX9UXK1KHmaQ84mcPui1F3d6LRtdG9Fjr9Ouwv9H5ibE/DQVa7wmf9u5X1Oss+qN9OXeby5D/VDh9nrX2s/iodN4rAbRyx+teWJO1DUpgrqe/kGbtcIuk4fPHlhcwDnAC7BcauzLkttRi/FGN3W1XD0aM7ZZwN+vzM5frRCj94fIkmej0fl/DEfFg9EX26/IQazdXaMfpyYBTrs7b0ujfWOJdH6fU9B0uwfXFuoSiRvnRjqnFup6h3YiRv6mr+9+nWXzPVOV/1utPkwt1LYmWmVdbnsZ7irHFBS2bn3S7C1OMbpS7L7OWRo2Zah0+9cLGcuvCtWez/AUZFyYEHiAGOYHM0mL28TlnoyCieOKoFIzSOUagI28YOSIeQxNJq5ILXX0nu4Pk7Y3hfsOJu9GjRxLEpsR5cnx0XseZKubmLIuUTYXJ9mq8ePwxZ4hXq3pHWQfTfWU/+c5jI72Bmo5ANE+rzLEScos1otMQumyXxrDcwHr5zQTVT9P3z7ItTsRwAsMvnBtOd88v8gbvZTy53/n/aFnjl2qvPudJL93U+0bN5xdqMjDnIAKdnxoRL81aTVg+MD52ZaGeg5cpR1JU0naExmbXqDxV9ZQHfNsAsDaVnr354bc67464pHdQKDVA3TSCSSOg4YavZ0mp3ElEibBW9InOrcBzJRdIsecwmkAjEdmG7ydwqAnuw4K81IfXx8P87d3RrG9yxY2v3jp1jx9eHrH8WjH+1WKLxcmTqVMRoeWL46SUQffJ0RNki3WJ3WRnZvGGD8dsGJSC6t+tOSMQ0sqwIt2QwYJLkMReLwaeyfYyvj2TalUEr5drp+z/GqpVtrwv/ZxsJG2k89PXXx4qeP+j3LyQYjBE95p/0QdrrC66CAterCxuGk5GgiGiyh5MB/UH+hBE3neEeHnYz6G7w8W5ycl5eUrJUpfZe0r5o376F/h1xrEUyc53WbtdemkL2ZHSMY2dr39/YJUWuwpyLTmEk5yjbq1WL1qxxudaunaRUIp8UPALPzcPDAR6yifD8OWETdCgcEPYMD/cYhdkAe4KpC/rTw02HCfs/2Hu+z9v5Yw3IaNAI+6YJUgc8gxaZCD0DHXVt3F0u12H/Rf6Hnb46NLluvoM3xHMEumxr4+ObAyk6+gJBKiVcgEN70cVKf5wO8ipZ+jRFSCI4uz8xdyKqzweT1cj2QmJXJTqH6qXtKCLr5TCFYow4PuO4jPlaUE7Wm8d7a0PQuV2OQuLFdBnooj+PWaLci8IhwgWpFGj8/tiwfkoIIbPWMhgRSTE4UREQHaAeI1Nm5V6b08KeMT1H+mugFjiVSeklRTnlo2eOzomS9gC4S+LW6HMoD5HoPDxyNNqFC3PFRslT8dCOlxjFuQsX6C6Krzsl/BUcBl2n0cUvGcW+bb4i/lxA1Bo1tinQxrvBswWuYfpEf3rB5hhv6tiEAY10dllpS0kjSYONV+87uM4MzdugL1BZD4hwpxOPRBwBv8RRRLiIeuqhv8MvEh879mnkl+xsvHejiGzDw5ksPJ32Va9YTxWufRCQ6dcJWjw7C+94Pnbss04OB+nE+7F459d48dMuNhd+V04clJdqt2r/LyEbopDI2TnrbbMWH9TuitCEp8TI3u6yijW7wC1vms+uLPj7BNcq2SjnVDB11Z9bG4+OnT/qWlK+If3NR2UvuYXz/Y/qRW2q2yfDq7+pcSqPPVNVLvDXF2X3BWaTpzA2zCJn54X+HllkF2P9rA1WRXBmprnh+/6AVQvl41NMVfFJ6QMmo83+j2VQ65kpUjTNCIhK95sQq/dIFInGsvupUbXy4MoJmO5XTffCfZo/Faq/ppjPnRSm8KckCX3mCpLSjz54nP6V79CljRJTX/7W6PVKh3UGg0Tk4b+KXLlZnqv4t4twtDv123cdyd5iKFYeHe/s+p1T3nj8Fa7OXErb7tjHf4BB7AF/nwP2wPhsWdijsDz/WiAxc9+DtGZ92awZtr+BnThrellCfHV8rmdSSUmK6reQ/I01DtuK4pKlZR+G9DarIWNhJ787J8x3c9wWiee5vPQ5d9/J9WWZHTarPsuZlhMqOSP2Wy/13Kcvm3PnnUxXngHiR+w/pGg3W+RDIFVhTis6uISVVxHUqEukny8lH3b7LL38+DQK6mHlzr+sYduwfN/pNtPLY9zaMw9NNo6cNDHZIrIiaStqw9Kwlp4wC5GpzasfMQ+OOYA3zM7526dv/pc8myhS/bx567worm8HqfPgwqN0hDYx2t6ytH8/GC5lsZ4EXjl8VXF17zDplcuOmMuSxXqqAN+1ZGIYuBjV4E8rXB2lC5vqZZ4eUaiDVekZ/gKf9SZWSSNIgwuif4ou/Jb6a7r9ass0st4TKRjrLEQi0vyPGrC/Nz2Eb9t/AfWqCLyEZGakAnnDli3FRQEBsrX9ZDdlC8VN5jKbu2Wi9H4v8gCqnkm9xDcCawVlCp+RodCEa4VwmMl6/tK+THhcusIH7VFXCDLeCHpGWCmFBn+LlUpRnrpV6I2O27hyPBwH+5ei47wLkd9lOiolS2rSFbJTQPyqzhqFneBlcp0UbTtPlEqJoucTwx9ch/Wv24S+eIGCbgoMP+025odEmlJFLbZ5j9dTf0s38CohUuAcmw9PwMVeyZ8I16+HE4lOkJBANBjtVqORSDIarHaDwTbAfhwf/5h93Y9lx5BhN3bvLjbEYGN2FtcX4zuu36ziM/2YdowzLOO2t3NlDA5mZ3KBC/9yHAB8B2pCjbwYP9yGguIRe9Gk0vOC0BaXDAEA/QNv94OqAcDPGEJDtbZOAkAfi7a9gdZuB2xF1XidiMZnOX5WGnXL9AZ10im0Few2ZWFQN9LQoKyXLgfwO8YDIrxCY/GP+LkQjQQsAt/BEZX1zao+3YO2o8kiuRcdaavnb6ehwEayVGFjad5Q6P9OXbg0+rSTY3WsTS1v+0nLYdJJBPhLCQh9T9pb/6uPNfgQnh+R+R47cVyMRWYftuAfn7Mji7v2Uh8wEZAVBABNfwOAv4/OcMHVNgYEmT1/tgUEQTlEJi5HUch0wqqwciI6ZTkJRUI5TSgwTE/fNh4ygmQpACTfWjmC7accYtrLUNGqX0bAqr9yIqF/SsKmQMtp8qI50imiejmBYmhl85ReYzariZfu1W9gu6iI+G5G+gKqHrM8H07vna+QgVSMU3t7YTbSECb5oo0BMaIshDfQfHDoKNfj0TyMe9CYBkspCFDYrt6SGs+jPQ1l5u1sefHj3wCrEykkuefL0V8AqfznS2cHpwz6K8+Z7tkWZ9WzLphIQ5o3E5RIL0SCqLchqYgHuwEaO3AFVHF1JM8yWfmh/kDaIhwsvvuyBVUWEKfRGUyCZLE5XB6fEhzBFTzBFwIhFCLhITyFl/AWPkI8mK8Un/eMZUpHrDCzqyjSbm0E6AlzBMObUGLkreMxeMIEtJ5XutJOrmSfCh1kPbuuSaTFR94xSkODGOq9U/QQw8rWhYvOpCgsU8Z3ZSL6HBY2VltInnqAb3ABcg8RCyzcqvFtG6tRD9BOVd2mso3QovTm+OGZgaaKQ8aR+30pI80/dAcS3vzeDAi5jc8xqnUwAA==') format('woff2'), - url('iconfont.woff?t=1598927734986') format('woff'), - url('iconfont.ttf?t=1598927734986') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */ - url('iconfont.svg?t=1598927734986#iconfont') format('svg'); /* iOS 4.1- */ -} - -.iconfont { - font-family: "iconfont" !important; - font-size: 16px; - font-style: normal; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -.icon-pin-top:before { - content: "\e850"; -} - -.icon-close:before { - content: "\e720"; -} - -.icon-search:before { - content: "\e62e"; -} - -.icon-chevronleft:before { - content: "\e657"; -} - -.icon-chevronright:before { - content: "\e688"; -} - -.icon-eye:before { - content: "\e630"; -} - -.icon-edit:before { - content: "\e6cc"; -} - -.icon-updatetime:before { - content: "\e968"; -} - -.icon-github:before { - content: "\e677"; -} - -.icon-chevrondown:before { - content: "\ea56"; -} - -.icon-facebooksquare:before { - content: "\eab9"; -} - -.icon-tags:before { - content: "\ecdd"; -} - -.icon-bookmark:before { - content: "\e653"; -} - -.icon-chevronup:before { - content: "\e68f"; -} - -.icon-link:before { - content: "\e766"; -} - -.icon-linkedin:before { - content: "\e768"; -} - -.icon-weibo:before { - content: "\e892"; -} - -.icon-envelope:before { - content: "\e66d"; -} - -.icon-jsfiddle:before { - content: "\e6b8"; -} - -.icon-wechat:before { - content: "\e634"; -} - -.icon-angleright:before { - content: "\ef1f"; -} - -.icon-twitter:before { - content: "\f24d"; -} - -.icon-photo:before { - content: "\e907"; -} - -.icon-qq:before { - content: "\e614"; -} - -.icon-angleleft:before { - content: "\e694"; -} - -.icon-emoji-friendly:before { - content: "\e6e1"; -} - -.icon-rss:before { - content: "\f09c"; -} - diff --git a/iconfont/iconfont.eot b/iconfont/iconfont.eot deleted file mode 100644 index b8ea752..0000000 Binary files a/iconfont/iconfont.eot and /dev/null differ diff --git a/iconfont/iconfont.js b/iconfont/iconfont.js deleted file mode 100644 index 51651b1..0000000 --- a/iconfont/iconfont.js +++ /dev/null @@ -1 +0,0 @@ -!function(t){var l,o,q,e,i,c,a,n='',d=(l=document.getElementsByTagName("script"))[l.length-1].getAttribute("data-injectcss");if(d&&!t.__iconfont__svg__cssinject__){t.__iconfont__svg__cssinject__=!0;try{document.write("")}catch(t){console&&console.log(t)}}function m(){c||(c=!0,e())}o=function(){var t,l,o,q,e,i=document.createElement("div");i.innerHTML=n,n=null,(t=i.getElementsByTagName("svg")[0])&&(t.setAttribute("aria-hidden","true"),t.style.position="absolute",t.style.width=0,t.style.height=0,t.style.overflow="hidden",l=t,(o=document.body).firstChild?(q=l,(e=o.firstChild).parentNode.insertBefore(q,e)):o.appendChild(l))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(o,0):(q=function(){document.removeEventListener("DOMContentLoaded",q,!1),o()},document.addEventListener("DOMContentLoaded",q,!1)):document.attachEvent&&(e=o,i=t.document,c=!1,(a=function(){try{i.documentElement.doScroll("left")}catch(t){return void setTimeout(a,50)}m()})(),i.onreadystatechange=function(){"complete"==i.readyState&&(i.onreadystatechange=null,m())})}(window); \ No newline at end of file diff --git a/iconfont/iconfont.json b/iconfont/iconfont.json deleted file mode 100644 index c638f3c..0000000 --- a/iconfont/iconfont.json +++ /dev/null @@ -1 +0,0 @@ -{"id":"1886449","name":"hexo-theme-oranges","font_family":"iconfont","css_prefix_text":"icon","description":"oranges 主题icon","glyphs":[{"icon_id":"11249795","name":"pin-2","font_class":"-pin-top","unicode":"e850","unicode_decimal":59472},{"icon_id":"544480","name":"close","font_class":"-close","unicode":"e720","unicode_decimal":59168},{"icon_id":"459012","name":"search","font_class":"-search","unicode":"e62e","unicode_decimal":58926},{"icon_id":"433871","name":"chevron-left","font_class":"-chevronleft","unicode":"e657","unicode_decimal":58967},{"icon_id":"836431","name":"chevron-right","font_class":"-chevronright","unicode":"e688","unicode_decimal":59016},{"icon_id":"1058231","name":"eye_page view","font_class":"-eye","unicode":"e630","unicode_decimal":58928},{"icon_id":"929256","name":"edit","font_class":"-edit","unicode":"e6cc","unicode_decimal":59084},{"icon_id":"924566","name":"update","font_class":"-updatetime","unicode":"e968","unicode_decimal":59752},{"icon_id":"3876518","name":"github","font_class":"-github","unicode":"e677","unicode_decimal":58999},{"icon_id":"348372","name":"chevron-down","font_class":"-chevrondown","unicode":"ea56","unicode_decimal":59990},{"icon_id":"348473","name":"facebook-square","font_class":"-facebooksquare","unicode":"eab9","unicode_decimal":60089},{"icon_id":"349025","name":"tags","font_class":"-tags","unicode":"ecdd","unicode_decimal":60637},{"icon_id":"836345","name":"bookmark","font_class":"-bookmark","unicode":"e653","unicode_decimal":58963},{"icon_id":"929162","name":"chevron-up","font_class":"-chevronup","unicode":"e68f","unicode_decimal":59023},{"icon_id":"929530","name":"link","font_class":"-link","unicode":"e766","unicode_decimal":59238},{"icon_id":"929532","name":"linkedin","font_class":"-linkedin","unicode":"e768","unicode_decimal":59240},{"icon_id":"929967","name":"weibo","font_class":"-weibo","unicode":"e892","unicode_decimal":59538},{"icon_id":"1261571","name":"envelope","font_class":"-envelope","unicode":"e66d","unicode_decimal":58989},{"icon_id":"1261856","name":"jsfiddle","font_class":"-jsfiddle","unicode":"e6b8","unicode_decimal":59064},{"icon_id":"3876283","name":"wechat","font_class":"-wechat","unicode":"e634","unicode_decimal":58932},{"icon_id":"5633806","name":"angle-right","font_class":"-angleright","unicode":"ef1f","unicode_decimal":61215},{"icon_id":"5634881","name":"twitter","font_class":"-twitter","unicode":"f24d","unicode_decimal":62029},{"icon_id":"7736275","name":"photo","font_class":"-photo","unicode":"e907","unicode_decimal":59655},{"icon_id":"11776588","name":"qq","font_class":"-qq","unicode":"e614","unicode_decimal":58900},{"icon_id":"12965729","name":"angle-left","font_class":"-angleleft","unicode":"e694","unicode_decimal":59028},{"icon_id":"15188326","name":"emoji-friendly","font_class":"-emoji-friendly","unicode":"e6e1","unicode_decimal":59105},{"icon_id":"5634332","name":"rss","font_class":"-rss","unicode":"f09c","unicode_decimal":61596}]} \ No newline at end of file diff --git a/iconfont/iconfont.svg b/iconfont/iconfont.svg deleted file mode 100644 index 8c4bd89..0000000 --- a/iconfont/iconfont.svg +++ /dev/null @@ -1,107 +0,0 @@ - - - - - -Created by iconfont - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/iconfont/iconfont.ttf b/iconfont/iconfont.ttf deleted file mode 100644 index acf3fd0..0000000 Binary files a/iconfont/iconfont.ttf and /dev/null differ diff --git a/iconfont/iconfont.woff b/iconfont/iconfont.woff deleted file mode 100644 index df83975..0000000 Binary files a/iconfont/iconfont.woff and /dev/null differ diff --git a/iconfont/iconfont.woff2 b/iconfont/iconfont.woff2 deleted file mode 100644 index e9017e5..0000000 Binary files a/iconfont/iconfont.woff2 and /dev/null differ diff --git a/images/avatar.png b/images/avatar.png index 6b76021..a0663a3 100644 Binary files a/images/avatar.png and b/images/avatar.png differ diff --git a/images/check.svg b/images/check.svg new file mode 100644 index 0000000..43e8e47 --- /dev/null +++ b/images/check.svg @@ -0,0 +1,14 @@ + + + + + + + + + + diff --git a/images/favicon.png b/images/favicon.png deleted file mode 100644 index 6429f5e..0000000 Binary files a/images/favicon.png and /dev/null differ diff --git a/images/socials/email.svg b/images/socials/email.svg new file mode 100644 index 0000000..42489d6 --- /dev/null +++ b/images/socials/email.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/socials/facebook.svg b/images/socials/facebook.svg new file mode 100644 index 0000000..851a916 --- /dev/null +++ b/images/socials/facebook.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/socials/flickr.svg b/images/socials/flickr.svg new file mode 100644 index 0000000..4d9ca95 --- /dev/null +++ b/images/socials/flickr.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/socials/github.svg b/images/socials/github.svg new file mode 100644 index 0000000..b9e5611 --- /dev/null +++ b/images/socials/github.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/socials/google.svg b/images/socials/google.svg new file mode 100644 index 0000000..ad39a65 --- /dev/null +++ b/images/socials/google.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/socials/instagram.svg b/images/socials/instagram.svg new file mode 100644 index 0000000..7b57098 --- /dev/null +++ b/images/socials/instagram.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/socials/wechat.svg b/images/socials/wechat.svg new file mode 100644 index 0000000..68745d2 --- /dev/null +++ b/images/socials/wechat.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/socials/weibo.svg b/images/socials/weibo.svg new file mode 100644 index 0000000..26b6a57 --- /dev/null +++ b/images/socials/weibo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/index.html b/index.html index 78f96b5..c691581 100644 --- a/index.html +++ b/index.html @@ -1,439 +1,17 @@ - - - - - - - - - - - - HAVE A NICE DAY! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - - -
    - - - - - - -
    -
    -
    - - -
    -
    2024-09-09
    - -
    - -
    -
    2024-08-26
    - -
    - -
    -
    2024-07-10
    - -
    - -
    -
    2024-02-24
    - -
    - -
    -
    2024-02-08
    - -
    - -
    -
    2024-02-08
    - -
    - -
    -
    2024-02-02
    - -
    - -
    - -
    - - - -
    - - - - - - - - - -
    - - - -
    - - - - - - - - -
    - - - - +Yu的部落格 +
    初见大学

    开学前

    这个暑假是上学有史以来最长的暑假。

    +

    从6月9日高考结束到开学9月1日,三个月的假期几乎没有计划地就度过了,每天吃喝睡然后刷抖音。夏天全国都很热🥵,偶尔出去玩一会都热的非常难受,尤其在长沙!

    +

    所以假期到后面便开始呈现一种虚无之感了,可能对我这样玩太久也会很难受吧哈哈。

    +

    临近开学便开始期待了,期待高三想象中的大学生活(主要是美好的一面),以及到一个新的环境也会让我兴奋。所以我还是很期待开学的,但中间也曾担忧会被分到8人寝室,所以还有一丝开盲盒的感觉。

    英语语法入门

    英语语法入门

    关于英语语法一些基本要素的笔记,自己整理一下.

    高考

    高考前的日子 📚

    现在是高考完后的一个月多三天。回忆起高考前的高三生活,大部分都已经模糊不清。也许是考后的网络冲浪和种种放纵冲淡了这些记忆,心中居然会有些怀念。(不可能想回去哈哈)

    +

    像高考语文中那句“往事总在回忆时被赋予意义”。

    记一次引流手术

    起因

    今年我做了人生中的第一个小手术,引流手术。如果你看到“火疖子”“囊肿”这几个词在幸灾乐祸,你最好保佑好自己🙏不会有这些东西。

    +

    伏笔大概已经在去年就埋好了,那时候在学校因为坐得久,屁股上长了一个小肿块,是的,一个小肿块和我的屁股和谐共生。

    关于写日记

    为什么要写日记❔️

    写日记可以回顾记忆、理解自我思想、改变对待生活的态度。日记是理解自己想法和感受的方式,可以通过问自己问题来审问自己。写日记的三个方式分别是记录当天事情、讲故事和写晨报。通过写日记,可以增加对生活的欣赏和创造力。总结自Ali Abdaal

    我的第一篇

    终于

    折腾了几天,断断续续的终于配置好了我的博客,就让这一篇成为开始吧。应该我能保持一个月至少更新一次吧,此站域名长期不会变化。

    Hello World

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

    + + + + + + + + \ No newline at end of file diff --git a/js/activeNav.js b/js/activeNav.js deleted file mode 100644 index d86b6be..0000000 --- a/js/activeNav.js +++ /dev/null @@ -1,9 +0,0 @@ -// which nav has active -let navs = document.querySelectorAll('.nav-item'); -let pagePath = window.location.pathname; -for(let nav of navs) { - let navPath = nav.getAttribute("data-path"); - if(navPath && navPath === pagePath) { - nav.className = "nav-item active"; - } -} diff --git a/js/backtotop.js b/js/backtotop.js deleted file mode 100644 index 8db4996..0000000 --- a/js/backtotop.js +++ /dev/null @@ -1,33 +0,0 @@ -// back to top js -function isHidden() { - let scrollTop = document.documentElement.scrollTop || document.body.scrollTop - if (scrollTop > 0) { - document.querySelector(".back-to-top").className = "back-to-top"; - } else { - document.querySelector(".back-to-top").className = "back-to-top hidden"; - } -} - -const backToTop = () => { - let scrollTop = - document.documentElement.scrollTop || document.body.scrollTop, - delay = 10, - time = 200; - let step = Math.ceil(scrollTop * delay / time); - let timer = setInterval(() => { - scrollTop = - document.documentElement.scrollTop || document.body.scrollTop; - if (scrollTop - step <= 0) { - document.documentElement.scrollTop = 0; - document.body.scrollTop = 0; - clearInterval(timer); - } else { - document.documentElement.scrollTop = scrollTop - step; - document.body.scrollTop = scrollTop - step; - } - }, delay); -} - -isHidden() -document.addEventListener("scroll", isHidden, false); -document.querySelector(".back-to-top").addEventListener("click", backToTop, false); diff --git a/js/catalog.js b/js/catalog.js deleted file mode 100644 index 98f69d8..0000000 --- a/js/catalog.js +++ /dev/null @@ -1,56 +0,0 @@ -// catalog js -let catalog = document.getElementById("catalog"); -let catalogTopHeight = catalog.offsetTop; -let tocElement = document.getElementsByClassName("catalog-content")[0] - -// 是否固定目录 -function changePos() { - let scrollTop = document.documentElement.scrollTop || document.body.scrollTop - if (scrollTop > catalogTopHeight - 20) { - catalog.style = "position: fixed; top: 20px; bottom: 20px;" - } else { - catalog.style = "position: absolute; top: calc(290px + 88px + 30px)" - } -} - -// 是否激活目录 -function isActiveCat() { - // 可宽限高度值 - let offsetHeight = 20 - - // 当前页面滚动位置距页面顶部的高度值 - let scrollTop = document.documentElement.scrollTop || document.body.scrollTop - - // 页面所有标题列表 - let headerLinkList = document.getElementsByClassName("headerlink") - - // 页面所有目录列表 - let catLinkList = document.getElementsByClassName("toc-link") - - for(let i = 0; i < catLinkList.length; i++) { - let currentTopCat = headerLinkList[i].offsetTop - offsetHeight - let nextTopCat = i + 1 === headerLinkList.length ? - Infinity : headerLinkList[i+1].offsetTop - offsetHeight - - if (scrollTop >= currentTopCat && scrollTop < nextTopCat) { - // 目录跟随滚动 - catLinkList[i].className = "toc-link active" - tocElement.scrollTop = catLinkList[i].offsetTop - 32 - } else { - catLinkList[i].className = "toc-link" - } - } -} - -// 窗体高度变化时 -function handleResize() { - let windowHeight = document.documentElement.clientHeight - tocElement.setAttribute('style', `height: ${windowHeight - 90}px`); -} - -changePos(); -isActiveCat(); -handleResize(); -document.addEventListener("scroll", changePos, false); -document.addEventListener("scroll", isActiveCat, false); -window.addEventListener("resize", handleResize, false); diff --git a/js/fancybox.js b/js/fancybox.js deleted file mode 100644 index 6ec564a..0000000 --- a/js/fancybox.js +++ /dev/null @@ -1,25 +0,0 @@ -// fancybox js -let fancyTimer = setInterval(function(){ - if(!window.$){ - return; - } - $(document).ready(function() { - $(".markdown-body img").each(function () { - if($(this).parent().get(0).tagName.toLowerCase() === "a") { - return; - } - // $(this).attr("data-fancybox", "gallery"); // if you add 'data-fancybox', img will display after showed - var element = document.createElement("a"); - $(element).attr("data-fancybox", "gallery"); - // 判断是否启用了lazyload图片懒加载 - if ($(this).attr("data-original")) { - $(element).attr("href", $(this).attr("data-original")); - } else { - $(element).attr("href", $(this).attr("src")); - } - $(this).wrap(element); - }); - - clearInterval(fancyTimer); - }); -}, 10); diff --git a/js/search.js b/js/search.js deleted file mode 100644 index 8691e78..0000000 --- a/js/search.js +++ /dev/null @@ -1,137 +0,0 @@ -// A local search script with the help of [hexo-generator-search](https://github.com/PaicHyperionDev/hexo-generator-search) -// Copyright (C) 2017 -// Liam Huang -// This library is free software; you can redistribute it and/or modify -// it under the terms of the GNU Lesser General Public License as -// published by the Free Software Foundation; either version 2.1 of the -// License, or (at your option) any later version. -// -// This library is distributed in the hope that it will be useful, but -// WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public -// License along with this library; if not, write to the Free Software -// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -// 02110-1301 USA -// - -var searchFunc = function (path, search_id, content_id) { - // 0x00. environment initialization - 'use strict'; - // var "×"; - var $input = document.getElementById(search_id); - var $resultContent = document.getElementById(content_id); - $resultContent.innerHTML = "
      首次搜索,正在载入索引文件,请稍后……
    "; - $.ajax({ - // 0x01. load xml file - url: path, - dataType: "xml", - success: function (xmlResponse) { - // 0x02. parse xml file - var datas = $("entry", xmlResponse).map(function () { - return { - title: $("title", this).text(), - content: $("content", this).text(), - url: $("url", this).text() - }; - }).get(); - $resultContent.innerHTML = ""; - - $input.addEventListener('input', function () { - // 0x03. parse query to keywords list - var str = '
      '; - var keywords = this.value.trim().toLowerCase().split(/[\s\-]+/); - $resultContent.innerHTML = ""; - if (this.value.trim().length <= 0) { - return; - } - // 0x04. perform local searching - datas.forEach(function (data) { - var isMatch = true; - var content_index = []; - if (!data.title || data.title.trim() === '') { - data.title = "Untitled"; - } - var orig_data_title = data.title.trim(); - var data_title = orig_data_title.toLowerCase(); - var orig_data_content = data.content.trim().replace(/<[^>]+>/g, ""); - var data_content = orig_data_content.toLowerCase(); - var data_url = data.url; - var index_title = -1; - var index_content = -1; - var first_occur = -1; - // only match artiles with not empty contents - if (data_content !== '') { - keywords.forEach(function (keyword, i) { - index_title = data_title.indexOf(keyword); - index_content = data_content.indexOf(keyword); - - if (index_title < 0 && index_content < 0) { - isMatch = false; - } else { - if (index_content < 0) { - index_content = 0; - } - if (i == 0) { - first_occur = index_content; - } - // content_index.push({index_content:index_content, keyword_len:keyword_len}); - } - }); - } else { - isMatch = false; - } - // 0x05. show search results - if (isMatch) { - str += "
    • " + orig_data_title + ""; - var content = orig_data_content; - if (first_occur >= 0) { - // cut out 100 characters - var start = first_occur - 20; - var end = first_occur + 80; - - if (start < 0) { - start = 0; - } - - if (start == 0) { - end = 100; - } - - if (end > content.length) { - end = content.length; - } - - var match_content = content.substr(start, end); - - // highlight all keywords - keywords.forEach(function (keyword) { - var regS = new RegExp(keyword, "gi"); - match_content = match_content.replace(regS, "" + keyword + ""); - }); - - str += "

      " + match_content + "...

      " - } - str += "
    • "; - } - }); - str += "
    "; - if (str.indexOf('
  • ') === -1) { - return $resultContent.innerHTML = "
      没有找到内容,请尝试更换检索词。
    "; - } - $resultContent.innerHTML = str; - }); - } - }); - $(document).on('click', '#search-close-icon', function() { - $('#search-input').val(''); - $('#search-result').html(''); - }); -} - -var getSearchFile = function(){ - var path = "/search.xml"; - searchFunc(path, 'search-input', 'search-result'); -} diff --git a/script/index.js b/script/index.js new file mode 100644 index 0000000..42a5545 --- /dev/null +++ b/script/index.js @@ -0,0 +1,79 @@ +(function($){ + $('.article').each(function(i){ + $(this).find('img').each(function(){ + if ($(this).parent().hasClass('fancybox')) return; + + var alt = this.alt; + + if (alt) $(this).after('' + alt + ''); + + $(this).wrap(''); + }); + + $(this).find('.fancybox').each(function(){ + $(this).attr('rel', 'article' + i); + }); + }); + + if ($.fancybox){ + $('.fancybox').fancybox(); + } + + // Change ol\ul list style + $('.article ul, .article ol').each(function (i, elem) { + $(elem).find('li').each(function(index, li) { + var $li = $(li); + + if (!$li.children().hasClass('li-inner')) { + $li.wrapInner(''); + } + }); + }); + + $('.article input[type="checkbox"]').each(function (i, elem) { + var $elem = $(elem); + var checked = elem.checked; + var dom = ''; + + if (!$elem.parent().hasClass('checkbox-wrap')) { + var $parent = $elem.parent().parent(); + var text = $parent.text(); + + $parent.html(dom + '' + text + ''); + } + }); + + // Avatar + var $mask = $('.about-me-mask'); + $('.avatar').on('click', function () { + if (!$mask.hasClass('open')) { + $mask.addClass('open'); + } + }); + + $mask.on('click', function (e) { + if (e.target.classList.contains('about-me-mask')) { + $mask.removeClass('open'); + } + }); + + // Back to top + var $backToTop = $('#backToTop'); + $(document).on('scroll', function () { + var sX = $(document).scrollTop(); + if (sX > 100) { + $backToTop.addClass('show'); + } + + if (sX <= 100) { + $backToTop.removeClass('show'); + } + }); + + $backToTop.on('click', function () { + $('html, body').animate({ + scrollTop: 0 + }, 300); +}); + +})(jQuery); diff --git a/script/jquery.min.js b/script/jquery.min.js new file mode 100644 index 0000000..9a85bd3 --- /dev/null +++ b/script/jquery.min.js @@ -0,0 +1,6 @@ +/*! jQuery v2.0.3 | (c) 2005, 2013 jQuery Foundation, Inc. | jquery.org/license +//@ sourceMappingURL=jquery.min.map +*/ +(function(e,undefined){var t,n,r=typeof undefined,i=e.location,o=e.document,s=o.documentElement,a=e.jQuery,u=e.$,l={},c=[],p="2.0.3",f=c.concat,h=c.push,d=c.slice,g=c.indexOf,m=l.toString,y=l.hasOwnProperty,v=p.trim,x=function(e,n){return new x.fn.init(e,n,t)},b=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,w=/\S+/g,T=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,k=/^-ms-/,N=/-([\da-z])/gi,E=function(e,t){return t.toUpperCase()},S=function(){o.removeEventListener("DOMContentLoaded",S,!1),e.removeEventListener("load",S,!1),x.ready()};x.fn=x.prototype={jquery:p,constructor:x,init:function(e,t,n){var r,i;if(!e)return this;if("string"==typeof e){if(r="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:T.exec(e),!r||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof x?t[0]:t,x.merge(this,x.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:o,!0)),C.test(r[1])&&x.isPlainObject(t))for(r in t)x.isFunction(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return i=o.getElementById(r[2]),i&&i.parentNode&&(this.length=1,this[0]=i),this.context=o,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):x.isFunction(e)?n.ready(e):(e.selector!==undefined&&(this.selector=e.selector,this.context=e.context),x.makeArray(e,this))},selector:"",length:0,toArray:function(){return d.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e){var t=x.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return x.each(this,e,t)},ready:function(e){return x.ready.promise().done(e),this},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},map:function(e){return this.pushStack(x.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:h,sort:[].sort,splice:[].splice},x.fn.init.prototype=x.fn,x.extend=x.fn.extend=function(){var e,t,n,r,i,o,s=arguments[0]||{},a=1,u=arguments.length,l=!1;for("boolean"==typeof s&&(l=s,s=arguments[1]||{},a=2),"object"==typeof s||x.isFunction(s)||(s={}),u===a&&(s=this,--a);u>a;a++)if(null!=(e=arguments[a]))for(t in e)n=s[t],r=e[t],s!==r&&(l&&r&&(x.isPlainObject(r)||(i=x.isArray(r)))?(i?(i=!1,o=n&&x.isArray(n)?n:[]):o=n&&x.isPlainObject(n)?n:{},s[t]=x.extend(l,o,r)):r!==undefined&&(s[t]=r));return s},x.extend({expando:"jQuery"+(p+Math.random()).replace(/\D/g,""),noConflict:function(t){return e.$===x&&(e.$=u),t&&e.jQuery===x&&(e.jQuery=a),x},isReady:!1,readyWait:1,holdReady:function(e){e?x.readyWait++:x.ready(!0)},ready:function(e){(e===!0?--x.readyWait:x.isReady)||(x.isReady=!0,e!==!0&&--x.readyWait>0||(n.resolveWith(o,[x]),x.fn.trigger&&x(o).trigger("ready").off("ready")))},isFunction:function(e){return"function"===x.type(e)},isArray:Array.isArray,isWindow:function(e){return null!=e&&e===e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[m.call(e)]||"object":typeof e},isPlainObject:function(e){if("object"!==x.type(e)||e.nodeType||x.isWindow(e))return!1;try{if(e.constructor&&!y.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(t){return!1}return!0},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw Error(e)},parseHTML:function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||o;var r=C.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=x.buildFragment([e],t,i),i&&x(i).remove(),x.merge([],r.childNodes))},parseJSON:JSON.parse,parseXML:function(e){var t,n;if(!e||"string"!=typeof e)return null;try{n=new DOMParser,t=n.parseFromString(e,"text/xml")}catch(r){t=undefined}return(!t||t.getElementsByTagName("parsererror").length)&&x.error("Invalid XML: "+e),t},noop:function(){},globalEval:function(e){var t,n=eval;e=x.trim(e),e&&(1===e.indexOf("use strict")?(t=o.createElement("script"),t.text=e,o.head.appendChild(t).parentNode.removeChild(t)):n(e))},camelCase:function(e){return e.replace(k,"ms-").replace(N,E)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,n){var r,i=0,o=e.length,s=j(e);if(n){if(s){for(;o>i;i++)if(r=t.apply(e[i],n),r===!1)break}else for(i in e)if(r=t.apply(e[i],n),r===!1)break}else if(s){for(;o>i;i++)if(r=t.call(e[i],i,e[i]),r===!1)break}else for(i in e)if(r=t.call(e[i],i,e[i]),r===!1)break;return e},trim:function(e){return null==e?"":v.call(e)},makeArray:function(e,t){var n=t||[];return null!=e&&(j(Object(e))?x.merge(n,"string"==typeof e?[e]:e):h.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:g.call(t,e,n)},merge:function(e,t){var n=t.length,r=e.length,i=0;if("number"==typeof n)for(;n>i;i++)e[r++]=t[i];else while(t[i]!==undefined)e[r++]=t[i++];return e.length=r,e},grep:function(e,t,n){var r,i=[],o=0,s=e.length;for(n=!!n;s>o;o++)r=!!t(e[o],o),n!==r&&i.push(e[o]);return i},map:function(e,t,n){var r,i=0,o=e.length,s=j(e),a=[];if(s)for(;o>i;i++)r=t(e[i],i,n),null!=r&&(a[a.length]=r);else for(i in e)r=t(e[i],i,n),null!=r&&(a[a.length]=r);return f.apply([],a)},guid:1,proxy:function(e,t){var n,r,i;return"string"==typeof t&&(n=e[t],t=e,e=n),x.isFunction(e)?(r=d.call(arguments,2),i=function(){return e.apply(t||this,r.concat(d.call(arguments)))},i.guid=e.guid=e.guid||x.guid++,i):undefined},access:function(e,t,n,r,i,o,s){var a=0,u=e.length,l=null==n;if("object"===x.type(n)){i=!0;for(a in n)x.access(e,t,a,n[a],!0,o,s)}else if(r!==undefined&&(i=!0,x.isFunction(r)||(s=!0),l&&(s?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(x(e),n)})),t))for(;u>a;a++)t(e[a],n,s?r:r.call(e[a],a,t(e[a],n)));return i?e:l?t.call(e):u?t(e[0],n):o},now:Date.now,swap:function(e,t,n,r){var i,o,s={};for(o in t)s[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=s[o];return i}}),x.ready.promise=function(t){return n||(n=x.Deferred(),"complete"===o.readyState?setTimeout(x.ready):(o.addEventListener("DOMContentLoaded",S,!1),e.addEventListener("load",S,!1))),n.promise(t)},x.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){l["[object "+t+"]"]=t.toLowerCase()});function j(e){var t=e.length,n=x.type(e);return x.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}t=x(o),function(e,undefined){var t,n,r,i,o,s,a,u,l,c,p,f,h,d,g,m,y,v="sizzle"+-new Date,b=e.document,w=0,T=0,C=st(),k=st(),N=st(),E=!1,S=function(e,t){return e===t?(E=!0,0):0},j=typeof undefined,D=1<<31,A={}.hasOwnProperty,L=[],q=L.pop,H=L.push,O=L.push,F=L.slice,P=L.indexOf||function(e){var t=0,n=this.length;for(;n>t;t++)if(this[t]===e)return t;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",W="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",$=W.replace("w","w#"),B="\\["+M+"*("+W+")"+M+"*(?:([*^$|!~]?=)"+M+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+$+")|)|)"+M+"*\\]",I=":("+W+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+B.replace(3,8)+")*)|.*)\\)|)",z=RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=RegExp("^"+M+"*,"+M+"*"),X=RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=RegExp(M+"*[+~]"),Y=RegExp("="+M+"*([^\\]'\"]*)"+M+"*\\]","g"),V=RegExp(I),G=RegExp("^"+$+"$"),J={ID:RegExp("^#("+W+")"),CLASS:RegExp("^\\.("+W+")"),TAG:RegExp("^("+W.replace("w","w*")+")"),ATTR:RegExp("^"+B),PSEUDO:RegExp("^"+I),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:RegExp("^(?:"+R+")$","i"),needsContext:RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Q=/^[^{]+\{\s*\[native \w/,K=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,Z=/^(?:input|select|textarea|button)$/i,et=/^h\d$/i,tt=/'|\\/g,nt=RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),rt=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:0>r?String.fromCharCode(r+65536):String.fromCharCode(55296|r>>10,56320|1023&r)};try{O.apply(L=F.call(b.childNodes),b.childNodes),L[b.childNodes.length].nodeType}catch(it){O={apply:L.length?function(e,t){H.apply(e,F.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function ot(e,t,r,i){var o,s,a,u,l,f,g,m,x,w;if((t?t.ownerDocument||t:b)!==p&&c(t),t=t||p,r=r||[],!e||"string"!=typeof e)return r;if(1!==(u=t.nodeType)&&9!==u)return[];if(h&&!i){if(o=K.exec(e))if(a=o[1]){if(9===u){if(s=t.getElementById(a),!s||!s.parentNode)return r;if(s.id===a)return r.push(s),r}else if(t.ownerDocument&&(s=t.ownerDocument.getElementById(a))&&y(t,s)&&s.id===a)return r.push(s),r}else{if(o[2])return O.apply(r,t.getElementsByTagName(e)),r;if((a=o[3])&&n.getElementsByClassName&&t.getElementsByClassName)return O.apply(r,t.getElementsByClassName(a)),r}if(n.qsa&&(!d||!d.test(e))){if(m=g=v,x=t,w=9===u&&e,1===u&&"object"!==t.nodeName.toLowerCase()){f=gt(e),(g=t.getAttribute("id"))?m=g.replace(tt,"\\$&"):t.setAttribute("id",m),m="[id='"+m+"'] ",l=f.length;while(l--)f[l]=m+mt(f[l]);x=U.test(e)&&t.parentNode||t,w=f.join(",")}if(w)try{return O.apply(r,x.querySelectorAll(w)),r}catch(T){}finally{g||t.removeAttribute("id")}}}return kt(e.replace(z,"$1"),t,r,i)}function st(){var e=[];function t(n,r){return e.push(n+=" ")>i.cacheLength&&delete t[e.shift()],t[n]=r}return t}function at(e){return e[v]=!0,e}function ut(e){var t=p.createElement("div");try{return!!e(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function lt(e,t){var n=e.split("|"),r=e.length;while(r--)i.attrHandle[n[r]]=t}function ct(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||D)-(~e.sourceIndex||D);if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function pt(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function ft(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function ht(e){return at(function(t){return t=+t,at(function(n,r){var i,o=e([],n.length,t),s=o.length;while(s--)n[i=o[s]]&&(n[i]=!(r[i]=n[i]))})})}s=ot.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},n=ot.support={},c=ot.setDocument=function(e){var t=e?e.ownerDocument||e:b,r=t.defaultView;return t!==p&&9===t.nodeType&&t.documentElement?(p=t,f=t.documentElement,h=!s(t),r&&r.attachEvent&&r!==r.top&&r.attachEvent("onbeforeunload",function(){c()}),n.attributes=ut(function(e){return e.className="i",!e.getAttribute("className")}),n.getElementsByTagName=ut(function(e){return e.appendChild(t.createComment("")),!e.getElementsByTagName("*").length}),n.getElementsByClassName=ut(function(e){return e.innerHTML="
    ",e.firstChild.className="i",2===e.getElementsByClassName("i").length}),n.getById=ut(function(e){return f.appendChild(e).id=v,!t.getElementsByName||!t.getElementsByName(v).length}),n.getById?(i.find.ID=function(e,t){if(typeof t.getElementById!==j&&h){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},i.filter.ID=function(e){var t=e.replace(nt,rt);return function(e){return e.getAttribute("id")===t}}):(delete i.find.ID,i.filter.ID=function(e){var t=e.replace(nt,rt);return function(e){var n=typeof e.getAttributeNode!==j&&e.getAttributeNode("id");return n&&n.value===t}}),i.find.TAG=n.getElementsByTagName?function(e,t){return typeof t.getElementsByTagName!==j?t.getElementsByTagName(e):undefined}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},i.find.CLASS=n.getElementsByClassName&&function(e,t){return typeof t.getElementsByClassName!==j&&h?t.getElementsByClassName(e):undefined},g=[],d=[],(n.qsa=Q.test(t.querySelectorAll))&&(ut(function(e){e.innerHTML="",e.querySelectorAll("[selected]").length||d.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll(":checked").length||d.push(":checked")}),ut(function(e){var n=t.createElement("input");n.setAttribute("type","hidden"),e.appendChild(n).setAttribute("t",""),e.querySelectorAll("[t^='']").length&&d.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll(":enabled").length||d.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),d.push(",.*:")})),(n.matchesSelector=Q.test(m=f.webkitMatchesSelector||f.mozMatchesSelector||f.oMatchesSelector||f.msMatchesSelector))&&ut(function(e){n.disconnectedMatch=m.call(e,"div"),m.call(e,"[s!='']:x"),g.push("!=",I)}),d=d.length&&RegExp(d.join("|")),g=g.length&&RegExp(g.join("|")),y=Q.test(f.contains)||f.compareDocumentPosition?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},S=f.compareDocumentPosition?function(e,r){if(e===r)return E=!0,0;var i=r.compareDocumentPosition&&e.compareDocumentPosition&&e.compareDocumentPosition(r);return i?1&i||!n.sortDetached&&r.compareDocumentPosition(e)===i?e===t||y(b,e)?-1:r===t||y(b,r)?1:l?P.call(l,e)-P.call(l,r):0:4&i?-1:1:e.compareDocumentPosition?-1:1}:function(e,n){var r,i=0,o=e.parentNode,s=n.parentNode,a=[e],u=[n];if(e===n)return E=!0,0;if(!o||!s)return e===t?-1:n===t?1:o?-1:s?1:l?P.call(l,e)-P.call(l,n):0;if(o===s)return ct(e,n);r=e;while(r=r.parentNode)a.unshift(r);r=n;while(r=r.parentNode)u.unshift(r);while(a[i]===u[i])i++;return i?ct(a[i],u[i]):a[i]===b?-1:u[i]===b?1:0},t):p},ot.matches=function(e,t){return ot(e,null,null,t)},ot.matchesSelector=function(e,t){if((e.ownerDocument||e)!==p&&c(e),t=t.replace(Y,"='$1']"),!(!n.matchesSelector||!h||g&&g.test(t)||d&&d.test(t)))try{var r=m.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(i){}return ot(t,p,null,[e]).length>0},ot.contains=function(e,t){return(e.ownerDocument||e)!==p&&c(e),y(e,t)},ot.attr=function(e,t){(e.ownerDocument||e)!==p&&c(e);var r=i.attrHandle[t.toLowerCase()],o=r&&A.call(i.attrHandle,t.toLowerCase())?r(e,t,!h):undefined;return o===undefined?n.attributes||!h?e.getAttribute(t):(o=e.getAttributeNode(t))&&o.specified?o.value:null:o},ot.error=function(e){throw Error("Syntax error, unrecognized expression: "+e)},ot.uniqueSort=function(e){var t,r=[],i=0,o=0;if(E=!n.detectDuplicates,l=!n.sortStable&&e.slice(0),e.sort(S),E){while(t=e[o++])t===e[o]&&(i=r.push(o));while(i--)e.splice(r[i],1)}return e},o=ot.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r];r++)n+=o(t);return n},i=ot.selectors={cacheLength:50,createPseudo:at,match:J,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(nt,rt),e[3]=(e[4]||e[5]||"").replace(nt,rt),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||ot.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&ot.error(e[0]),e},PSEUDO:function(e){var t,n=!e[5]&&e[2];return J.CHILD.test(e[0])?null:(e[3]&&e[4]!==undefined?e[2]=e[4]:n&&V.test(n)&&(t=gt(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(nt,rt).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=C[e+" "];return t||(t=RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&C(e,function(e){return t.test("string"==typeof e.className&&e.className||typeof e.getAttribute!==j&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=ot.attr(r,e);return null==i?"!="===t:t?(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i+" ").indexOf(n)>-1:"|="===t?i===n||i.slice(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),s="last"!==e.slice(-4),a="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,p,f,h,d,g=o!==s?"nextSibling":"previousSibling",m=t.parentNode,y=a&&t.nodeName.toLowerCase(),x=!u&&!a;if(m){if(o){while(g){p=t;while(p=p[g])if(a?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;d=g="only"===e&&!d&&"nextSibling"}return!0}if(d=[s?m.firstChild:m.lastChild],s&&x){c=m[v]||(m[v]={}),l=c[e]||[],h=l[0]===w&&l[1],f=l[0]===w&&l[2],p=h&&m.childNodes[h];while(p=++h&&p&&p[g]||(f=h=0)||d.pop())if(1===p.nodeType&&++f&&p===t){c[e]=[w,h,f];break}}else if(x&&(l=(t[v]||(t[v]={}))[e])&&l[0]===w)f=l[1];else while(p=++h&&p&&p[g]||(f=h=0)||d.pop())if((a?p.nodeName.toLowerCase()===y:1===p.nodeType)&&++f&&(x&&((p[v]||(p[v]={}))[e]=[w,f]),p===t))break;return f-=i,f===r||0===f%r&&f/r>=0}}},PSEUDO:function(e,t){var n,r=i.pseudos[e]||i.setFilters[e.toLowerCase()]||ot.error("unsupported pseudo: "+e);return r[v]?r(t):r.length>1?(n=[e,e,"",t],i.setFilters.hasOwnProperty(e.toLowerCase())?at(function(e,n){var i,o=r(e,t),s=o.length;while(s--)i=P.call(e,o[s]),e[i]=!(n[i]=o[s])}):function(e){return r(e,0,n)}):r}},pseudos:{not:at(function(e){var t=[],n=[],r=a(e.replace(z,"$1"));return r[v]?at(function(e,t,n,i){var o,s=r(e,null,i,[]),a=e.length;while(a--)(o=s[a])&&(e[a]=!(t[a]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),!n.pop()}}),has:at(function(e){return function(t){return ot(e,t).length>0}}),contains:at(function(e){return function(t){return(t.textContent||t.innerText||o(t)).indexOf(e)>-1}}),lang:at(function(e){return G.test(e||"")||ot.error("unsupported lang: "+e),e=e.replace(nt,rt).toLowerCase(),function(t){var n;do if(n=h?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===f},focus:function(e){return e===p.activeElement&&(!p.hasFocus||p.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeName>"@"||3===e.nodeType||4===e.nodeType)return!1;return!0},parent:function(e){return!i.pseudos.empty(e)},header:function(e){return et.test(e.nodeName)},input:function(e){return Z.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||t.toLowerCase()===e.type)},first:ht(function(){return[0]}),last:ht(function(e,t){return[t-1]}),eq:ht(function(e,t,n){return[0>n?n+t:n]}),even:ht(function(e,t){var n=0;for(;t>n;n+=2)e.push(n);return e}),odd:ht(function(e,t){var n=1;for(;t>n;n+=2)e.push(n);return e}),lt:ht(function(e,t,n){var r=0>n?n+t:n;for(;--r>=0;)e.push(r);return e}),gt:ht(function(e,t,n){var r=0>n?n+t:n;for(;t>++r;)e.push(r);return e})}},i.pseudos.nth=i.pseudos.eq;for(t in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})i.pseudos[t]=pt(t);for(t in{submit:!0,reset:!0})i.pseudos[t]=ft(t);function dt(){}dt.prototype=i.filters=i.pseudos,i.setFilters=new dt;function gt(e,t){var n,r,o,s,a,u,l,c=k[e+" "];if(c)return t?0:c.slice(0);a=e,u=[],l=i.preFilter;while(a){(!n||(r=_.exec(a)))&&(r&&(a=a.slice(r[0].length)||a),u.push(o=[])),n=!1,(r=X.exec(a))&&(n=r.shift(),o.push({value:n,type:r[0].replace(z," ")}),a=a.slice(n.length));for(s in i.filter)!(r=J[s].exec(a))||l[s]&&!(r=l[s](r))||(n=r.shift(),o.push({value:n,type:s,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?ot.error(e):k(e,u).slice(0)}function mt(e){var t=0,n=e.length,r="";for(;n>t;t++)r+=e[t].value;return r}function yt(e,t,n){var i=t.dir,o=n&&"parentNode"===i,s=T++;return t.first?function(t,n,r){while(t=t[i])if(1===t.nodeType||o)return e(t,n,r)}:function(t,n,a){var u,l,c,p=w+" "+s;if(a){while(t=t[i])if((1===t.nodeType||o)&&e(t,n,a))return!0}else while(t=t[i])if(1===t.nodeType||o)if(c=t[v]||(t[v]={}),(l=c[i])&&l[0]===p){if((u=l[1])===!0||u===r)return u===!0}else if(l=c[i]=[p],l[1]=e(t,n,a)||r,l[1]===!0)return!0}}function vt(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function xt(e,t,n,r,i){var o,s=[],a=0,u=e.length,l=null!=t;for(;u>a;a++)(o=e[a])&&(!n||n(o,r,i))&&(s.push(o),l&&t.push(a));return s}function bt(e,t,n,r,i,o){return r&&!r[v]&&(r=bt(r)),i&&!i[v]&&(i=bt(i,o)),at(function(o,s,a,u){var l,c,p,f=[],h=[],d=s.length,g=o||Ct(t||"*",a.nodeType?[a]:a,[]),m=!e||!o&&t?g:xt(g,f,e,a,u),y=n?i||(o?e:d||r)?[]:s:m;if(n&&n(m,y,a,u),r){l=xt(y,h),r(l,[],a,u),c=l.length;while(c--)(p=l[c])&&(y[h[c]]=!(m[h[c]]=p))}if(o){if(i||e){if(i){l=[],c=y.length;while(c--)(p=y[c])&&l.push(m[c]=p);i(null,y=[],l,u)}c=y.length;while(c--)(p=y[c])&&(l=i?P.call(o,p):f[c])>-1&&(o[l]=!(s[l]=p))}}else y=xt(y===s?y.splice(d,y.length):y),i?i(null,s,y,u):O.apply(s,y)})}function wt(e){var t,n,r,o=e.length,s=i.relative[e[0].type],a=s||i.relative[" "],l=s?1:0,c=yt(function(e){return e===t},a,!0),p=yt(function(e){return P.call(t,e)>-1},a,!0),f=[function(e,n,r){return!s&&(r||n!==u)||((t=n).nodeType?c(e,n,r):p(e,n,r))}];for(;o>l;l++)if(n=i.relative[e[l].type])f=[yt(vt(f),n)];else{if(n=i.filter[e[l].type].apply(null,e[l].matches),n[v]){for(r=++l;o>r;r++)if(i.relative[e[r].type])break;return bt(l>1&&vt(f),l>1&&mt(e.slice(0,l-1).concat({value:" "===e[l-2].type?"*":""})).replace(z,"$1"),n,r>l&&wt(e.slice(l,r)),o>r&&wt(e=e.slice(r)),o>r&&mt(e))}f.push(n)}return vt(f)}function Tt(e,t){var n=0,o=t.length>0,s=e.length>0,a=function(a,l,c,f,h){var d,g,m,y=[],v=0,x="0",b=a&&[],T=null!=h,C=u,k=a||s&&i.find.TAG("*",h&&l.parentNode||l),N=w+=null==C?1:Math.random()||.1;for(T&&(u=l!==p&&l,r=n);null!=(d=k[x]);x++){if(s&&d){g=0;while(m=e[g++])if(m(d,l,c)){f.push(d);break}T&&(w=N,r=++n)}o&&((d=!m&&d)&&v--,a&&b.push(d))}if(v+=x,o&&x!==v){g=0;while(m=t[g++])m(b,y,l,c);if(a){if(v>0)while(x--)b[x]||y[x]||(y[x]=q.call(f));y=xt(y)}O.apply(f,y),T&&!a&&y.length>0&&v+t.length>1&&ot.uniqueSort(f)}return T&&(w=N,u=C),b};return o?at(a):a}a=ot.compile=function(e,t){var n,r=[],i=[],o=N[e+" "];if(!o){t||(t=gt(e)),n=t.length;while(n--)o=wt(t[n]),o[v]?r.push(o):i.push(o);o=N(e,Tt(i,r))}return o};function Ct(e,t,n){var r=0,i=t.length;for(;i>r;r++)ot(e,t[r],n);return n}function kt(e,t,r,o){var s,u,l,c,p,f=gt(e);if(!o&&1===f.length){if(u=f[0]=f[0].slice(0),u.length>2&&"ID"===(l=u[0]).type&&n.getById&&9===t.nodeType&&h&&i.relative[u[1].type]){if(t=(i.find.ID(l.matches[0].replace(nt,rt),t)||[])[0],!t)return r;e=e.slice(u.shift().value.length)}s=J.needsContext.test(e)?0:u.length;while(s--){if(l=u[s],i.relative[c=l.type])break;if((p=i.find[c])&&(o=p(l.matches[0].replace(nt,rt),U.test(u[0].type)&&t.parentNode||t))){if(u.splice(s,1),e=o.length&&mt(u),!e)return O.apply(r,o),r;break}}}return a(e,f)(o,t,!h,r,U.test(e)),r}n.sortStable=v.split("").sort(S).join("")===v,n.detectDuplicates=E,c(),n.sortDetached=ut(function(e){return 1&e.compareDocumentPosition(p.createElement("div"))}),ut(function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")})||lt("type|href|height|width",function(e,t,n){return n?undefined:e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),n.attributes&&ut(function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||lt("value",function(e,t,n){return n||"input"!==e.nodeName.toLowerCase()?undefined:e.defaultValue}),ut(function(e){return null==e.getAttribute("disabled")})||lt(R,function(e,t,n){var r;return n?undefined:(r=e.getAttributeNode(t))&&r.specified?r.value:e[t]===!0?t.toLowerCase():null}),x.find=ot,x.expr=ot.selectors,x.expr[":"]=x.expr.pseudos,x.unique=ot.uniqueSort,x.text=ot.getText,x.isXMLDoc=ot.isXML,x.contains=ot.contains}(e);var D={};function A(e){var t=D[e]={};return x.each(e.match(w)||[],function(e,n){t[n]=!0}),t}x.Callbacks=function(e){e="string"==typeof e?D[e]||A(e):x.extend({},e);var t,n,r,i,o,s,a=[],u=!e.once&&[],l=function(p){for(t=e.memory&&p,n=!0,s=i||0,i=0,o=a.length,r=!0;a&&o>s;s++)if(a[s].apply(p[0],p[1])===!1&&e.stopOnFalse){t=!1;break}r=!1,a&&(u?u.length&&l(u.shift()):t?a=[]:c.disable())},c={add:function(){if(a){var n=a.length;(function s(t){x.each(t,function(t,n){var r=x.type(n);"function"===r?e.unique&&c.has(n)||a.push(n):n&&n.length&&"string"!==r&&s(n)})})(arguments),r?o=a.length:t&&(i=n,l(t))}return this},remove:function(){return a&&x.each(arguments,function(e,t){var n;while((n=x.inArray(t,a,n))>-1)a.splice(n,1),r&&(o>=n&&o--,s>=n&&s--)}),this},has:function(e){return e?x.inArray(e,a)>-1:!(!a||!a.length)},empty:function(){return a=[],o=0,this},disable:function(){return a=u=t=undefined,this},disabled:function(){return!a},lock:function(){return u=undefined,t||c.disable(),this},locked:function(){return!u},fireWith:function(e,t){return!a||n&&!u||(t=t||[],t=[e,t.slice?t.slice():t],r?u.push(t):l(t)),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!n}};return c},x.extend({Deferred:function(e){var t=[["resolve","done",x.Callbacks("once memory"),"resolved"],["reject","fail",x.Callbacks("once memory"),"rejected"],["notify","progress",x.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return x.Deferred(function(n){x.each(t,function(t,o){var s=o[0],a=x.isFunction(e[t])&&e[t];i[o[1]](function(){var e=a&&a.apply(this,arguments);e&&x.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[s+"With"](this===r?n.promise():this,a?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?x.extend(e,r):r}},i={};return r.pipe=r.then,x.each(t,function(e,o){var s=o[2],a=o[3];r[o[1]]=s.add,a&&s.add(function(){n=a},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=s.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=d.call(arguments),r=n.length,i=1!==r||e&&x.isFunction(e.promise)?r:0,o=1===i?e:x.Deferred(),s=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?d.call(arguments):r,n===a?o.notifyWith(t,n):--i||o.resolveWith(t,n)}},a,u,l;if(r>1)for(a=Array(r),u=Array(r),l=Array(r);r>t;t++)n[t]&&x.isFunction(n[t].promise)?n[t].promise().done(s(t,l,n)).fail(o.reject).progress(s(t,u,a)):--i;return i||o.resolveWith(l,n),o.promise()}}),x.support=function(t){var n=o.createElement("input"),r=o.createDocumentFragment(),i=o.createElement("div"),s=o.createElement("select"),a=s.appendChild(o.createElement("option"));return n.type?(n.type="checkbox",t.checkOn=""!==n.value,t.optSelected=a.selected,t.reliableMarginRight=!0,t.boxSizingReliable=!0,t.pixelPosition=!1,n.checked=!0,t.noCloneChecked=n.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!a.disabled,n=o.createElement("input"),n.value="t",n.type="radio",t.radioValue="t"===n.value,n.setAttribute("checked","t"),n.setAttribute("name","t"),r.appendChild(n),t.checkClone=r.cloneNode(!0).cloneNode(!0).lastChild.checked,t.focusinBubbles="onfocusin"in e,i.style.backgroundClip="content-box",i.cloneNode(!0).style.backgroundClip="",t.clearCloneStyle="content-box"===i.style.backgroundClip,x(function(){var n,r,s="padding:0;margin:0;border:0;display:block;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box",a=o.getElementsByTagName("body")[0];a&&(n=o.createElement("div"),n.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",a.appendChild(n).appendChild(i),i.innerHTML="",i.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%",x.swap(a,null!=a.style.zoom?{zoom:1}:{},function(){t.boxSizing=4===i.offsetWidth}),e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(i,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(i,null)||{width:"4px"}).width,r=i.appendChild(o.createElement("div")),r.style.cssText=i.style.cssText=s,r.style.marginRight=r.style.width="0",i.style.width="1px",t.reliableMarginRight=!parseFloat((e.getComputedStyle(r,null)||{}).marginRight)),a.removeChild(n))}),t):t}({});var L,q,H=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,O=/([A-Z])/g;function F(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=x.expando+Math.random()}F.uid=1,F.accepts=function(e){return e.nodeType?1===e.nodeType||9===e.nodeType:!0},F.prototype={key:function(e){if(!F.accepts(e))return 0;var t={},n=e[this.expando];if(!n){n=F.uid++;try{t[this.expando]={value:n},Object.defineProperties(e,t)}catch(r){t[this.expando]=n,x.extend(e,t)}}return this.cache[n]||(this.cache[n]={}),n},set:function(e,t,n){var r,i=this.key(e),o=this.cache[i];if("string"==typeof t)o[t]=n;else if(x.isEmptyObject(o))x.extend(this.cache[i],t);else for(r in t)o[r]=t[r];return o},get:function(e,t){var n=this.cache[this.key(e)];return t===undefined?n:n[t]},access:function(e,t,n){var r;return t===undefined||t&&"string"==typeof t&&n===undefined?(r=this.get(e,t),r!==undefined?r:this.get(e,x.camelCase(t))):(this.set(e,t,n),n!==undefined?n:t)},remove:function(e,t){var n,r,i,o=this.key(e),s=this.cache[o];if(t===undefined)this.cache[o]={};else{x.isArray(t)?r=t.concat(t.map(x.camelCase)):(i=x.camelCase(t),t in s?r=[t,i]:(r=i,r=r in s?[r]:r.match(w)||[])),n=r.length;while(n--)delete s[r[n]]}},hasData:function(e){return!x.isEmptyObject(this.cache[e[this.expando]]||{})},discard:function(e){e[this.expando]&&delete this.cache[e[this.expando]]}},L=new F,q=new F,x.extend({acceptData:F.accepts,hasData:function(e){return L.hasData(e)||q.hasData(e)},data:function(e,t,n){return L.access(e,t,n)},removeData:function(e,t){L.remove(e,t)},_data:function(e,t,n){return q.access(e,t,n)},_removeData:function(e,t){q.remove(e,t)}}),x.fn.extend({data:function(e,t){var n,r,i=this[0],o=0,s=null;if(e===undefined){if(this.length&&(s=L.get(i),1===i.nodeType&&!q.get(i,"hasDataAttrs"))){for(n=i.attributes;n.length>o;o++)r=n[o].name,0===r.indexOf("data-")&&(r=x.camelCase(r.slice(5)),P(i,r,s[r]));q.set(i,"hasDataAttrs",!0)}return s}return"object"==typeof e?this.each(function(){L.set(this,e)}):x.access(this,function(t){var n,r=x.camelCase(e);if(i&&t===undefined){if(n=L.get(i,e),n!==undefined)return n;if(n=L.get(i,r),n!==undefined)return n;if(n=P(i,r,undefined),n!==undefined)return n}else this.each(function(){var n=L.get(this,r);L.set(this,r,t),-1!==e.indexOf("-")&&n!==undefined&&L.set(this,e,t)})},null,t,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){L.remove(this,e)})}});function P(e,t,n){var r;if(n===undefined&&1===e.nodeType)if(r="data-"+t.replace(O,"-$1").toLowerCase(),n=e.getAttribute(r),"string"==typeof n){try{n="true"===n?!0:"false"===n?!1:"null"===n?null:+n+""===n?+n:H.test(n)?JSON.parse(n):n}catch(i){}L.set(e,t,n)}else n=undefined;return n}x.extend({queue:function(e,t,n){var r;return e?(t=(t||"fx")+"queue",r=q.get(e,t),n&&(!r||x.isArray(n)?r=q.access(e,t,x.makeArray(n)):r.push(n)),r||[]):undefined},dequeue:function(e,t){t=t||"fx";var n=x.queue(e,t),r=n.length,i=n.shift(),o=x._queueHooks(e,t),s=function(){x.dequeue(e,t) +};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,s,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return q.get(e,n)||q.access(e,n,{empty:x.Callbacks("once memory").add(function(){q.remove(e,[t+"queue",n])})})}}),x.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),n>arguments.length?x.queue(this[0],e):t===undefined?this:this.each(function(){var n=x.queue(this,e,t);x._queueHooks(this,e),"fx"===e&&"inprogress"!==n[0]&&x.dequeue(this,e)})},dequeue:function(e){return this.each(function(){x.dequeue(this,e)})},delay:function(e,t){return e=x.fx?x.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=x.Deferred(),o=this,s=this.length,a=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=undefined),e=e||"fx";while(s--)n=q.get(o[s],e+"queueHooks"),n&&n.empty&&(r++,n.empty.add(a));return a(),i.promise(t)}});var R,M,W=/[\t\r\n\f]/g,$=/\r/g,B=/^(?:input|select|textarea|button)$/i;x.fn.extend({attr:function(e,t){return x.access(this,x.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){x.removeAttr(this,e)})},prop:function(e,t){return x.access(this,x.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[x.propFix[e]||e]})},addClass:function(e){var t,n,r,i,o,s=0,a=this.length,u="string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).addClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];a>s;s++)if(n=this[s],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(W," "):" ")){o=0;while(i=t[o++])0>r.indexOf(" "+i+" ")&&(r+=i+" ");n.className=x.trim(r)}return this},removeClass:function(e){var t,n,r,i,o,s=0,a=this.length,u=0===arguments.length||"string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).removeClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];a>s;s++)if(n=this[s],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(W," "):"")){o=0;while(i=t[o++])while(r.indexOf(" "+i+" ")>=0)r=r.replace(" "+i+" "," ");n.className=e?x.trim(r):""}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):x.isFunction(e)?this.each(function(n){x(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n){var t,i=0,o=x(this),s=e.match(w)||[];while(t=s[i++])o.hasClass(t)?o.removeClass(t):o.addClass(t)}else(n===r||"boolean"===n)&&(this.className&&q.set(this,"__className__",this.className),this.className=this.className||e===!1?"":q.get(this,"__className__")||"")})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(W," ").indexOf(t)>=0)return!0;return!1},val:function(e){var t,n,r,i=this[0];{if(arguments.length)return r=x.isFunction(e),this.each(function(n){var i;1===this.nodeType&&(i=r?e.call(this,n,x(this).val()):e,null==i?i="":"number"==typeof i?i+="":x.isArray(i)&&(i=x.map(i,function(e){return null==e?"":e+""})),t=x.valHooks[this.type]||x.valHooks[this.nodeName.toLowerCase()],t&&"set"in t&&t.set(this,i,"value")!==undefined||(this.value=i))});if(i)return t=x.valHooks[i.type]||x.valHooks[i.nodeName.toLowerCase()],t&&"get"in t&&(n=t.get(i,"value"))!==undefined?n:(n=i.value,"string"==typeof n?n.replace($,""):null==n?"":n)}}}),x.extend({valHooks:{option:{get:function(e){var t=e.attributes.value;return!t||t.specified?e.value:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||0>i,s=o?null:[],a=o?i+1:r.length,u=0>i?a:o?i:0;for(;a>u;u++)if(n=r[u],!(!n.selected&&u!==i||(x.support.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&x.nodeName(n.parentNode,"optgroup"))){if(t=x(n).val(),o)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=x.makeArray(t),s=i.length;while(s--)r=i[s],(r.selected=x.inArray(x(r).val(),o)>=0)&&(n=!0);return n||(e.selectedIndex=-1),o}}},attr:function(e,t,n){var i,o,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return typeof e.getAttribute===r?x.prop(e,t,n):(1===s&&x.isXMLDoc(e)||(t=t.toLowerCase(),i=x.attrHooks[t]||(x.expr.match.bool.test(t)?M:R)),n===undefined?i&&"get"in i&&null!==(o=i.get(e,t))?o:(o=x.find.attr(e,t),null==o?undefined:o):null!==n?i&&"set"in i&&(o=i.set(e,n,t))!==undefined?o:(e.setAttribute(t,n+""),n):(x.removeAttr(e,t),undefined))},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(w);if(o&&1===e.nodeType)while(n=o[i++])r=x.propFix[n]||n,x.expr.match.bool.test(n)&&(e[r]=!1),e.removeAttribute(n)},attrHooks:{type:{set:function(e,t){if(!x.support.radioValue&&"radio"===t&&x.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},propFix:{"for":"htmlFor","class":"className"},prop:function(e,t,n){var r,i,o,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return o=1!==s||!x.isXMLDoc(e),o&&(t=x.propFix[t]||t,i=x.propHooks[t]),n!==undefined?i&&"set"in i&&(r=i.set(e,n,t))!==undefined?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){return e.hasAttribute("tabindex")||B.test(e.nodeName)||e.href?e.tabIndex:-1}}}}),M={set:function(e,t,n){return t===!1?x.removeAttr(e,n):e.setAttribute(n,n),n}},x.each(x.expr.match.bool.source.match(/\w+/g),function(e,t){var n=x.expr.attrHandle[t]||x.find.attr;x.expr.attrHandle[t]=function(e,t,r){var i=x.expr.attrHandle[t],o=r?undefined:(x.expr.attrHandle[t]=undefined)!=n(e,t,r)?t.toLowerCase():null;return x.expr.attrHandle[t]=i,o}}),x.support.optSelected||(x.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null}}),x.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){x.propFix[this.toLowerCase()]=this}),x.each(["radio","checkbox"],function(){x.valHooks[this]={set:function(e,t){return x.isArray(t)?e.checked=x.inArray(x(e).val(),t)>=0:undefined}},x.support.checkOn||(x.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var I=/^key/,z=/^(?:mouse|contextmenu)|click/,_=/^(?:focusinfocus|focusoutblur)$/,X=/^([^.]*)(?:\.(.+)|)$/;function U(){return!0}function Y(){return!1}function V(){try{return o.activeElement}catch(e){}}x.event={global:{},add:function(e,t,n,i,o){var s,a,u,l,c,p,f,h,d,g,m,y=q.get(e);if(y){n.handler&&(s=n,n=s.handler,o=s.selector),n.guid||(n.guid=x.guid++),(l=y.events)||(l=y.events={}),(a=y.handle)||(a=y.handle=function(e){return typeof x===r||e&&x.event.triggered===e.type?undefined:x.event.dispatch.apply(a.elem,arguments)},a.elem=e),t=(t||"").match(w)||[""],c=t.length;while(c--)u=X.exec(t[c])||[],d=m=u[1],g=(u[2]||"").split(".").sort(),d&&(f=x.event.special[d]||{},d=(o?f.delegateType:f.bindType)||d,f=x.event.special[d]||{},p=x.extend({type:d,origType:m,data:i,handler:n,guid:n.guid,selector:o,needsContext:o&&x.expr.match.needsContext.test(o),namespace:g.join(".")},s),(h=l[d])||(h=l[d]=[],h.delegateCount=0,f.setup&&f.setup.call(e,i,g,a)!==!1||e.addEventListener&&e.addEventListener(d,a,!1)),f.add&&(f.add.call(e,p),p.handler.guid||(p.handler.guid=n.guid)),o?h.splice(h.delegateCount++,0,p):h.push(p),x.event.global[d]=!0);e=null}},remove:function(e,t,n,r,i){var o,s,a,u,l,c,p,f,h,d,g,m=q.hasData(e)&&q.get(e);if(m&&(u=m.events)){t=(t||"").match(w)||[""],l=t.length;while(l--)if(a=X.exec(t[l])||[],h=g=a[1],d=(a[2]||"").split(".").sort(),h){p=x.event.special[h]||{},h=(r?p.delegateType:p.bindType)||h,f=u[h]||[],a=a[2]&&RegExp("(^|\\.)"+d.join("\\.(?:.*\\.|)")+"(\\.|$)"),s=o=f.length;while(o--)c=f[o],!i&&g!==c.origType||n&&n.guid!==c.guid||a&&!a.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(f.splice(o,1),c.selector&&f.delegateCount--,p.remove&&p.remove.call(e,c));s&&!f.length&&(p.teardown&&p.teardown.call(e,d,m.handle)!==!1||x.removeEvent(e,h,m.handle),delete u[h])}else for(h in u)x.event.remove(e,h+t[l],n,r,!0);x.isEmptyObject(u)&&(delete m.handle,q.remove(e,"events"))}},trigger:function(t,n,r,i){var s,a,u,l,c,p,f,h=[r||o],d=y.call(t,"type")?t.type:t,g=y.call(t,"namespace")?t.namespace.split("."):[];if(a=u=r=r||o,3!==r.nodeType&&8!==r.nodeType&&!_.test(d+x.event.triggered)&&(d.indexOf(".")>=0&&(g=d.split("."),d=g.shift(),g.sort()),c=0>d.indexOf(":")&&"on"+d,t=t[x.expando]?t:new x.Event(d,"object"==typeof t&&t),t.isTrigger=i?2:3,t.namespace=g.join("."),t.namespace_re=t.namespace?RegExp("(^|\\.)"+g.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=undefined,t.target||(t.target=r),n=null==n?[t]:x.makeArray(n,[t]),f=x.event.special[d]||{},i||!f.trigger||f.trigger.apply(r,n)!==!1)){if(!i&&!f.noBubble&&!x.isWindow(r)){for(l=f.delegateType||d,_.test(l+d)||(a=a.parentNode);a;a=a.parentNode)h.push(a),u=a;u===(r.ownerDocument||o)&&h.push(u.defaultView||u.parentWindow||e)}s=0;while((a=h[s++])&&!t.isPropagationStopped())t.type=s>1?l:f.bindType||d,p=(q.get(a,"events")||{})[t.type]&&q.get(a,"handle"),p&&p.apply(a,n),p=c&&a[c],p&&x.acceptData(a)&&p.apply&&p.apply(a,n)===!1&&t.preventDefault();return t.type=d,i||t.isDefaultPrevented()||f._default&&f._default.apply(h.pop(),n)!==!1||!x.acceptData(r)||c&&x.isFunction(r[d])&&!x.isWindow(r)&&(u=r[c],u&&(r[c]=null),x.event.triggered=d,r[d](),x.event.triggered=undefined,u&&(r[c]=u)),t.result}},dispatch:function(e){e=x.event.fix(e);var t,n,r,i,o,s=[],a=d.call(arguments),u=(q.get(this,"events")||{})[e.type]||[],l=x.event.special[e.type]||{};if(a[0]=e,e.delegateTarget=this,!l.preDispatch||l.preDispatch.call(this,e)!==!1){s=x.event.handlers.call(this,e,u),t=0;while((i=s[t++])&&!e.isPropagationStopped()){e.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!e.isImmediatePropagationStopped())(!e.namespace_re||e.namespace_re.test(o.namespace))&&(e.handleObj=o,e.data=o.data,r=((x.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,a),r!==undefined&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()))}return l.postDispatch&&l.postDispatch.call(this,e),e.result}},handlers:function(e,t){var n,r,i,o,s=[],a=t.delegateCount,u=e.target;if(a&&u.nodeType&&(!e.button||"click"!==e.type))for(;u!==this;u=u.parentNode||this)if(u.disabled!==!0||"click"!==e.type){for(r=[],n=0;a>n;n++)o=t[n],i=o.selector+" ",r[i]===undefined&&(r[i]=o.needsContext?x(i,this).index(u)>=0:x.find(i,this,null,[u]).length),r[i]&&r.push(o);r.length&&s.push({elem:u,handlers:r})}return t.length>a&&s.push({elem:this,handlers:t.slice(a)}),s},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,t){var n,r,i,s=t.button;return null==e.pageX&&null!=t.clientX&&(n=e.target.ownerDocument||o,r=n.documentElement,i=n.body,e.pageX=t.clientX+(r&&r.scrollLeft||i&&i.scrollLeft||0)-(r&&r.clientLeft||i&&i.clientLeft||0),e.pageY=t.clientY+(r&&r.scrollTop||i&&i.scrollTop||0)-(r&&r.clientTop||i&&i.clientTop||0)),e.which||s===undefined||(e.which=1&s?1:2&s?3:4&s?2:0),e}},fix:function(e){if(e[x.expando])return e;var t,n,r,i=e.type,s=e,a=this.fixHooks[i];a||(this.fixHooks[i]=a=z.test(i)?this.mouseHooks:I.test(i)?this.keyHooks:{}),r=a.props?this.props.concat(a.props):this.props,e=new x.Event(s),t=r.length;while(t--)n=r[t],e[n]=s[n];return e.target||(e.target=o),3===e.target.nodeType&&(e.target=e.target.parentNode),a.filter?a.filter(e,s):e},special:{load:{noBubble:!0},focus:{trigger:function(){return this!==V()&&this.focus?(this.focus(),!1):undefined},delegateType:"focusin"},blur:{trigger:function(){return this===V()&&this.blur?(this.blur(),!1):undefined},delegateType:"focusout"},click:{trigger:function(){return"checkbox"===this.type&&this.click&&x.nodeName(this,"input")?(this.click(),!1):undefined},_default:function(e){return x.nodeName(e.target,"a")}},beforeunload:{postDispatch:function(e){e.result!==undefined&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=x.extend(new x.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?x.event.trigger(i,null,t):x.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},x.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)},x.Event=function(e,t){return this instanceof x.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.getPreventDefault&&e.getPreventDefault()?U:Y):this.type=e,t&&x.extend(this,t),this.timeStamp=e&&e.timeStamp||x.now(),this[x.expando]=!0,undefined):new x.Event(e,t)},x.Event.prototype={isDefaultPrevented:Y,isPropagationStopped:Y,isImmediatePropagationStopped:Y,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=U,e&&e.preventDefault&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=U,e&&e.stopPropagation&&e.stopPropagation()},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=U,this.stopPropagation()}},x.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){x.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;return(!i||i!==r&&!x.contains(r,i))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),x.support.focusinBubbles||x.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){x.event.simulate(t,e.target,x.event.fix(e),!0)};x.event.special[t]={setup:function(){0===n++&&o.addEventListener(e,r,!0)},teardown:function(){0===--n&&o.removeEventListener(e,r,!0)}}}),x.fn.extend({on:function(e,t,n,r,i){var o,s;if("object"==typeof e){"string"!=typeof t&&(n=n||t,t=undefined);for(s in e)this.on(s,t,n,e[s],i);return this}if(null==n&&null==r?(r=t,n=t=undefined):null==r&&("string"==typeof t?(r=n,n=undefined):(r=n,n=t,t=undefined)),r===!1)r=Y;else if(!r)return this;return 1===i&&(o=r,r=function(e){return x().off(e),o.apply(this,arguments)},r.guid=o.guid||(o.guid=x.guid++)),this.each(function(){x.event.add(this,e,r,n,t)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,x(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return(t===!1||"function"==typeof t)&&(n=t,t=undefined),n===!1&&(n=Y),this.each(function(){x.event.remove(this,e,n,t)})},trigger:function(e,t){return this.each(function(){x.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];return n?x.event.trigger(e,t,n,!0):undefined}});var G=/^.[^:#\[\.,]*$/,J=/^(?:parents|prev(?:Until|All))/,Q=x.expr.match.needsContext,K={children:!0,contents:!0,next:!0,prev:!0};x.fn.extend({find:function(e){var t,n=[],r=this,i=r.length;if("string"!=typeof e)return this.pushStack(x(e).filter(function(){for(t=0;i>t;t++)if(x.contains(r[t],this))return!0}));for(t=0;i>t;t++)x.find(e,r[t],n);return n=this.pushStack(i>1?x.unique(n):n),n.selector=this.selector?this.selector+" "+e:e,n},has:function(e){var t=x(e,this),n=t.length;return this.filter(function(){var e=0;for(;n>e;e++)if(x.contains(this,t[e]))return!0})},not:function(e){return this.pushStack(et(this,e||[],!0))},filter:function(e){return this.pushStack(et(this,e||[],!1))},is:function(e){return!!et(this,"string"==typeof e&&Q.test(e)?x(e):e||[],!1).length},closest:function(e,t){var n,r=0,i=this.length,o=[],s=Q.test(e)||"string"!=typeof e?x(e,t||this.context):0;for(;i>r;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(11>n.nodeType&&(s?s.index(n)>-1:1===n.nodeType&&x.find.matchesSelector(n,e))){n=o.push(n);break}return this.pushStack(o.length>1?x.unique(o):o)},index:function(e){return e?"string"==typeof e?g.call(x(e),this[0]):g.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){var n="string"==typeof e?x(e,t):x.makeArray(e&&e.nodeType?[e]:e),r=x.merge(this.get(),n);return this.pushStack(x.unique(r))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}});function Z(e,t){while((e=e[t])&&1!==e.nodeType);return e}x.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return x.dir(e,"parentNode")},parentsUntil:function(e,t,n){return x.dir(e,"parentNode",n)},next:function(e){return Z(e,"nextSibling")},prev:function(e){return Z(e,"previousSibling")},nextAll:function(e){return x.dir(e,"nextSibling")},prevAll:function(e){return x.dir(e,"previousSibling")},nextUntil:function(e,t,n){return x.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return x.dir(e,"previousSibling",n)},siblings:function(e){return x.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return x.sibling(e.firstChild)},contents:function(e){return e.contentDocument||x.merge([],e.childNodes)}},function(e,t){x.fn[e]=function(n,r){var i=x.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=x.filter(r,i)),this.length>1&&(K[e]||x.unique(i),J.test(e)&&i.reverse()),this.pushStack(i)}}),x.extend({filter:function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?x.find.matchesSelector(r,e)?[r]:[]:x.find.matches(e,x.grep(t,function(e){return 1===e.nodeType}))},dir:function(e,t,n){var r=[],i=n!==undefined;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&x(e).is(n))break;r.push(e)}return r},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}});function et(e,t,n){if(x.isFunction(t))return x.grep(e,function(e,r){return!!t.call(e,r,e)!==n});if(t.nodeType)return x.grep(e,function(e){return e===t!==n});if("string"==typeof t){if(G.test(t))return x.filter(t,e,n);t=x.filter(t,e)}return x.grep(e,function(e){return g.call(t,e)>=0!==n})}var tt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,nt=/<([\w:]+)/,rt=/<|&#?\w+;/,it=/<(?:script|style|link)/i,ot=/^(?:checkbox|radio)$/i,st=/checked\s*(?:[^=]|=\s*.checked.)/i,at=/^$|\/(?:java|ecma)script/i,ut=/^true\/(.*)/,lt=/^\s*\s*$/g,ct={option:[1,""],thead:[1,"","
    "],col:[2,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],_default:[0,"",""]};ct.optgroup=ct.option,ct.tbody=ct.tfoot=ct.colgroup=ct.caption=ct.thead,ct.th=ct.td,x.fn.extend({text:function(e){return x.access(this,function(e){return e===undefined?x.text(this):this.empty().append((this[0]&&this[0].ownerDocument||o).createTextNode(e))},null,e,arguments.length)},append:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=pt(this,e);t.appendChild(e)}})},prepend:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=pt(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){var n,r=e?x.filter(e,this):this,i=0;for(;null!=(n=r[i]);i++)t||1!==n.nodeType||x.cleanData(mt(n)),n.parentNode&&(t&&x.contains(n.ownerDocument,n)&&dt(mt(n,"script")),n.parentNode.removeChild(n));return this},empty:function(){var e,t=0;for(;null!=(e=this[t]);t++)1===e.nodeType&&(x.cleanData(mt(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return x.clone(this,e,t)})},html:function(e){return x.access(this,function(e){var t=this[0]||{},n=0,r=this.length;if(e===undefined&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!it.test(e)&&!ct[(nt.exec(e)||["",""])[1].toLowerCase()]){e=e.replace(tt,"<$1>");try{for(;r>n;n++)t=this[n]||{},1===t.nodeType&&(x.cleanData(mt(t,!1)),t.innerHTML=e);t=0}catch(i){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=x.map(this,function(e){return[e.nextSibling,e.parentNode]}),t=0;return this.domManip(arguments,function(n){var r=e[t++],i=e[t++];i&&(r&&r.parentNode!==i&&(r=this.nextSibling),x(this).remove(),i.insertBefore(n,r))},!0),t?this:this.remove()},detach:function(e){return this.remove(e,!0)},domManip:function(e,t,n){e=f.apply([],e);var r,i,o,s,a,u,l=0,c=this.length,p=this,h=c-1,d=e[0],g=x.isFunction(d);if(g||!(1>=c||"string"!=typeof d||x.support.checkClone)&&st.test(d))return this.each(function(r){var i=p.eq(r);g&&(e[0]=d.call(this,r,i.html())),i.domManip(e,t,n)});if(c&&(r=x.buildFragment(e,this[0].ownerDocument,!1,!n&&this),i=r.firstChild,1===r.childNodes.length&&(r=i),i)){for(o=x.map(mt(r,"script"),ft),s=o.length;c>l;l++)a=r,l!==h&&(a=x.clone(a,!0,!0),s&&x.merge(o,mt(a,"script"))),t.call(this[l],a,l);if(s)for(u=o[o.length-1].ownerDocument,x.map(o,ht),l=0;s>l;l++)a=o[l],at.test(a.type||"")&&!q.access(a,"globalEval")&&x.contains(u,a)&&(a.src?x._evalUrl(a.src):x.globalEval(a.textContent.replace(lt,"")))}return this}}),x.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){x.fn[e]=function(e){var n,r=[],i=x(e),o=i.length-1,s=0;for(;o>=s;s++)n=s===o?this:this.clone(!0),x(i[s])[t](n),h.apply(r,n.get());return this.pushStack(r)}}),x.extend({clone:function(e,t,n){var r,i,o,s,a=e.cloneNode(!0),u=x.contains(e.ownerDocument,e);if(!(x.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||x.isXMLDoc(e)))for(s=mt(a),o=mt(e),r=0,i=o.length;i>r;r++)yt(o[r],s[r]);if(t)if(n)for(o=o||mt(e),s=s||mt(a),r=0,i=o.length;i>r;r++)gt(o[r],s[r]);else gt(e,a);return s=mt(a,"script"),s.length>0&&dt(s,!u&&mt(e,"script")),a},buildFragment:function(e,t,n,r){var i,o,s,a,u,l,c=0,p=e.length,f=t.createDocumentFragment(),h=[];for(;p>c;c++)if(i=e[c],i||0===i)if("object"===x.type(i))x.merge(h,i.nodeType?[i]:i);else if(rt.test(i)){o=o||f.appendChild(t.createElement("div")),s=(nt.exec(i)||["",""])[1].toLowerCase(),a=ct[s]||ct._default,o.innerHTML=a[1]+i.replace(tt,"<$1>")+a[2],l=a[0];while(l--)o=o.lastChild;x.merge(h,o.childNodes),o=f.firstChild,o.textContent=""}else h.push(t.createTextNode(i));f.textContent="",c=0;while(i=h[c++])if((!r||-1===x.inArray(i,r))&&(u=x.contains(i.ownerDocument,i),o=mt(f.appendChild(i),"script"),u&&dt(o),n)){l=0;while(i=o[l++])at.test(i.type||"")&&n.push(i)}return f},cleanData:function(e){var t,n,r,i,o,s,a=x.event.special,u=0;for(;(n=e[u])!==undefined;u++){if(F.accepts(n)&&(o=n[q.expando],o&&(t=q.cache[o]))){if(r=Object.keys(t.events||{}),r.length)for(s=0;(i=r[s])!==undefined;s++)a[i]?x.event.remove(n,i):x.removeEvent(n,i,t.handle);q.cache[o]&&delete q.cache[o]}delete L.cache[n[L.expando]]}},_evalUrl:function(e){return x.ajax({url:e,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})}});function pt(e,t){return x.nodeName(e,"table")&&x.nodeName(1===t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function ft(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function ht(e){var t=ut.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function dt(e,t){var n=e.length,r=0;for(;n>r;r++)q.set(e[r],"globalEval",!t||q.get(t[r],"globalEval"))}function gt(e,t){var n,r,i,o,s,a,u,l;if(1===t.nodeType){if(q.hasData(e)&&(o=q.access(e),s=q.set(t,o),l=o.events)){delete s.handle,s.events={};for(i in l)for(n=0,r=l[i].length;r>n;n++)x.event.add(t,i,l[i][n])}L.hasData(e)&&(a=L.access(e),u=x.extend({},a),L.set(t,u))}}function mt(e,t){var n=e.getElementsByTagName?e.getElementsByTagName(t||"*"):e.querySelectorAll?e.querySelectorAll(t||"*"):[];return t===undefined||t&&x.nodeName(e,t)?x.merge([e],n):n}function yt(e,t){var n=t.nodeName.toLowerCase();"input"===n&&ot.test(e.type)?t.checked=e.checked:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}x.fn.extend({wrapAll:function(e){var t;return x.isFunction(e)?this.each(function(t){x(this).wrapAll(e.call(this,t))}):(this[0]&&(t=x(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this)},wrapInner:function(e){return x.isFunction(e)?this.each(function(t){x(this).wrapInner(e.call(this,t))}):this.each(function(){var t=x(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=x.isFunction(e);return this.each(function(n){x(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){x.nodeName(this,"body")||x(this).replaceWith(this.childNodes)}).end()}});var vt,xt,bt=/^(none|table(?!-c[ea]).+)/,wt=/^margin/,Tt=RegExp("^("+b+")(.*)$","i"),Ct=RegExp("^("+b+")(?!px)[a-z%]+$","i"),kt=RegExp("^([+-])=("+b+")","i"),Nt={BODY:"block"},Et={position:"absolute",visibility:"hidden",display:"block"},St={letterSpacing:0,fontWeight:400},jt=["Top","Right","Bottom","Left"],Dt=["Webkit","O","Moz","ms"];function At(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=Dt.length;while(i--)if(t=Dt[i]+n,t in e)return t;return r}function Lt(e,t){return e=t||e,"none"===x.css(e,"display")||!x.contains(e.ownerDocument,e)}function qt(t){return e.getComputedStyle(t,null)}function Ht(e,t){var n,r,i,o=[],s=0,a=e.length;for(;a>s;s++)r=e[s],r.style&&(o[s]=q.get(r,"olddisplay"),n=r.style.display,t?(o[s]||"none"!==n||(r.style.display=""),""===r.style.display&&Lt(r)&&(o[s]=q.access(r,"olddisplay",Rt(r.nodeName)))):o[s]||(i=Lt(r),(n&&"none"!==n||!i)&&q.set(r,"olddisplay",i?n:x.css(r,"display"))));for(s=0;a>s;s++)r=e[s],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?o[s]||"":"none"));return e}x.fn.extend({css:function(e,t){return x.access(this,function(e,t,n){var r,i,o={},s=0;if(x.isArray(t)){for(r=qt(e),i=t.length;i>s;s++)o[t[s]]=x.css(e,t[s],!1,r);return o}return n!==undefined?x.style(e,t,n):x.css(e,t)},e,t,arguments.length>1)},show:function(){return Ht(this,!0)},hide:function(){return Ht(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){Lt(this)?x(this).show():x(this).hide()})}}),x.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=vt(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,s,a=x.camelCase(t),u=e.style;return t=x.cssProps[a]||(x.cssProps[a]=At(u,a)),s=x.cssHooks[t]||x.cssHooks[a],n===undefined?s&&"get"in s&&(i=s.get(e,!1,r))!==undefined?i:u[t]:(o=typeof n,"string"===o&&(i=kt.exec(n))&&(n=(i[1]+1)*i[2]+parseFloat(x.css(e,t)),o="number"),null==n||"number"===o&&isNaN(n)||("number"!==o||x.cssNumber[a]||(n+="px"),x.support.clearCloneStyle||""!==n||0!==t.indexOf("background")||(u[t]="inherit"),s&&"set"in s&&(n=s.set(e,n,r))===undefined||(u[t]=n)),undefined)}},css:function(e,t,n,r){var i,o,s,a=x.camelCase(t);return t=x.cssProps[a]||(x.cssProps[a]=At(e.style,a)),s=x.cssHooks[t]||x.cssHooks[a],s&&"get"in s&&(i=s.get(e,!0,n)),i===undefined&&(i=vt(e,t,r)),"normal"===i&&t in St&&(i=St[t]),""===n||n?(o=parseFloat(i),n===!0||x.isNumeric(o)?o||0:i):i}}),vt=function(e,t,n){var r,i,o,s=n||qt(e),a=s?s.getPropertyValue(t)||s[t]:undefined,u=e.style;return s&&(""!==a||x.contains(e.ownerDocument,e)||(a=x.style(e,t)),Ct.test(a)&&wt.test(t)&&(r=u.width,i=u.minWidth,o=u.maxWidth,u.minWidth=u.maxWidth=u.width=a,a=s.width,u.width=r,u.minWidth=i,u.maxWidth=o)),a};function Ot(e,t,n){var r=Tt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function Ft(e,t,n,r,i){var o=n===(r?"border":"content")?4:"width"===t?1:0,s=0;for(;4>o;o+=2)"margin"===n&&(s+=x.css(e,n+jt[o],!0,i)),r?("content"===n&&(s-=x.css(e,"padding"+jt[o],!0,i)),"margin"!==n&&(s-=x.css(e,"border"+jt[o]+"Width",!0,i))):(s+=x.css(e,"padding"+jt[o],!0,i),"padding"!==n&&(s+=x.css(e,"border"+jt[o]+"Width",!0,i)));return s}function Pt(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=qt(e),s=x.support.boxSizing&&"border-box"===x.css(e,"boxSizing",!1,o);if(0>=i||null==i){if(i=vt(e,t,o),(0>i||null==i)&&(i=e.style[t]),Ct.test(i))return i;r=s&&(x.support.boxSizingReliable||i===e.style[t]),i=parseFloat(i)||0}return i+Ft(e,t,n||(s?"border":"content"),r,o)+"px"}function Rt(e){var t=o,n=Nt[e];return n||(n=Mt(e,t),"none"!==n&&n||(xt=(xt||x("