├── .gitignore ├── CNAME ├── _config.yml ├── _includes ├── footer.html ├── head.html ├── jplayer.html ├── js.html └── nav.html ├── _layouts ├── about.html ├── default.html ├── post.html └── style.css ├── _posts ├── 2015-10-07-nationalday.md ├── 2015-10-17-regex.md ├── 2015-10-18-Key-Signing-Party.md ├── 2015-10-24-network-basis-with-SNS.md ├── 2015-10-30-SenseTime-deep-learning-1.md ├── 2015-11-01-meta-podcast.md ├── 2015-11-08-mirrors.md ├── 2015-11-09-BGP.md ├── 2015-11-13-SenseTime-deep-learning-2.md ├── 2015-11-14-PKU-BJGUG.md ├── 2015-11-15-black-hat.md ├── 2015-11-23-BGP-DNS.md ├── 2015-11-23-LaTeX.md ├── 2016-02-29-xing-li-Internet-Design.md ├── 2016-03-07-xing-li-internet-architecture.md ├── 2016-03-21-xing-li-internet-protocol.md ├── 2016-03-26-haskell.md ├── 2016-05-07-python.md └── 2016-10-15-nfc-and-rfid.md ├── assets ├── css │ ├── _Lato.scss │ ├── bootstrap.css │ ├── font-awesome.min.css │ ├── hoverex-all.css │ ├── images │ │ └── prettyPhoto │ │ │ ├── dark_rounded │ │ │ ├── btnNext.png │ │ │ ├── btnPrevious.png │ │ │ ├── contentPattern.png │ │ │ ├── loader.gif │ │ │ └── sprite.png │ │ │ ├── dark_square │ │ │ ├── btnNext.png │ │ │ ├── btnPrevious.png │ │ │ ├── loader.gif │ │ │ └── sprite.png │ │ │ ├── default │ │ │ ├── default_thumb.png │ │ │ ├── loader.gif │ │ │ ├── sprite.png │ │ │ ├── sprite_next.png │ │ │ ├── sprite_prev.png │ │ │ ├── sprite_x.png │ │ │ └── sprite_y.png │ │ │ ├── facebook │ │ │ ├── btnNext.png │ │ │ ├── btnPrevious.png │ │ │ ├── contentPatternBottom.png │ │ │ ├── contentPatternLeft.png │ │ │ ├── contentPatternRight.png │ │ │ ├── contentPatternTop.png │ │ │ ├── default_thumbnail.gif │ │ │ ├── loader.gif │ │ │ └── sprite.png │ │ │ ├── light_rounded │ │ │ ├── btnNext.png │ │ │ ├── btnPrevious.png │ │ │ ├── loader.gif │ │ │ └── sprite.png │ │ │ └── light_square │ │ │ ├── btnNext.png │ │ │ ├── btnPrevious.png │ │ │ └── sprite.png │ ├── prettyPhoto.css │ └── style.scss ├── fonts │ ├── FontAwesome.otf │ ├── Lato-Bold.eot │ ├── Lato-Bold.ttf │ ├── Lato-Bold.woff │ ├── Lato-Bold.woff2 │ ├── Lato-Italic.eot │ ├── Lato-Italic.ttf │ ├── Lato-Italic.woff │ ├── Lato-Italic.woff2 │ ├── Lato-Regular.eot │ ├── Lato-Regular.ttf │ ├── Lato-Regular.woff │ ├── Lato-Regular.woff2 │ ├── fontawesome-webfont.eot │ ├── fontawesome-webfont.svg │ ├── fontawesome-webfont.ttf │ ├── fontawesome-webfont.woff │ ├── glyphicons-halflings-regular.eot │ ├── glyphicons-halflings-regular.svg │ ├── glyphicons-halflings-regular.ttf │ └── glyphicons-halflings-regular.woff ├── img │ ├── favicon.png │ ├── logo-small.png │ ├── logo-white.png │ ├── logo.png │ ├── podcast │ │ ├── 2015-11-01-tunight.jpg │ │ ├── 2015-11-09-xing-li.jpg │ │ ├── 2015-11-13-sensetime-dl2.jpg │ │ ├── 2015-11-14-PKU-BJGUG.jpg │ │ ├── 2016-02-29-xingli.jpg │ │ ├── 2016-03-07-xingli.jpg │ │ ├── 2016-03-26-haskell.jpg │ │ ├── 2016-05-07-python.jpg │ │ └── 2016-10-15-nfc-and-rfid.jpg │ └── tuna.png └── js │ ├── bootstrap.min.js │ ├── custom.js │ ├── jquery-2.1.1.min.js │ ├── jquery.hoverdir.js │ ├── jquery.hoverex.min.js │ ├── jquery.isotope.min.js │ ├── jquery.prettyPhoto.js │ └── retina-1.1.0.js ├── index.html └── podcast.xml /.gitignore: -------------------------------------------------------------------------------- 1 | _site 2 | .sass-cache 3 | .jekyll-metadata 4 | .swp 5 | -------------------------------------------------------------------------------- /CNAME: -------------------------------------------------------------------------------- 1 | podcast.tuna.moe -------------------------------------------------------------------------------- /_config.yml: -------------------------------------------------------------------------------- 1 | # Welcome to Jekyll! 2 | # 3 | # This config file is meant for settings that affect your whole blog, values 4 | # which you are expected to set up once and rarely need to edit after that. 5 | # For technical reasons, this file is *NOT* reloaded automatically when you use 6 | # 'jekyll serve'. If you change this file, please restart the server process. 7 | 8 | # Site settings 9 | title: Tunight - 金枪鱼之夜 10 | brand: Tunight Podcast 11 | email: scateu@gmail.com 12 | owner: TUNA 13 | author: TUNA 14 | copyright: Tsinghua University TUNA Association 15 | description: 金枪鱼之夜 16 | baseurl: "" # the subpath of your site, e.g. /blog 17 | category: Technology 18 | permalink: "/podcast/:year/:month/:title/" 19 | 20 | url: "https://podcast.tuna.moe" # the base hostname & protocol for your site 21 | default_thumb: "https://podcast.tuna.moe/assets/img/tuna.png" 22 | 23 | # Build settings 24 | markdown: kramdown 25 | 26 | sass: 27 | sass_dir: assets/css 28 | 29 | about: "清华大学 TUNA 协会原名清华大学学生网管会,其前身为清华大学电脑协会,是由清华大学网络技术和开源软件爱好者、技术宅组成的团体。" 30 | -------------------------------------------------------------------------------- /_includes/footer.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |
4 |
5 |

{{ site.about }}

6 |

本站 CDN 由 7 | 8 | 9 | 开源扶持计划赞助支持

10 |
11 | 12 |
13 |

Contact Us

14 |
15 | 35 |
36 |
37 | 38 |
39 | 40 |
41 |
42 |
43 |
44 | -------------------------------------------------------------------------------- /_includes/head.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | {{ site.title }}{% if page.title %} - {{ page.title }}{% endif %} 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /_includes/jplayer.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |
4 | 29 | 32 | 36 |
37 |
38 | -------------------------------------------------------------------------------- /_includes/js.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 71 | 72 | 75 | -------------------------------------------------------------------------------- /_layouts/style.css: -------------------------------------------------------------------------------- 1 | {% include css/style.css %} -------------------------------------------------------------------------------- /_posts/2015-10-07-nationalday.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: post 3 | title: "Tunight #1 国庆的尾巴" 4 | categories: 5 | - podcast 6 | tags: 7 | - tunight 8 | author: TUNA 9 | date: 2015-10-07 18:00 10 | media: https://cloud.tsinghua.edu.cn/d/f585535bf38e4a998ae5/files/?p=/m4a/2015-10-07-nationalday.m4a&dl=1 11 | ogg_media: https://cloud.tsinghua.edu.cn/d/f585535bf38e4a998ae5/files/?p=/ogg/2015-10-07-nationalday.ogg&dl=1 12 | duration: "02:41:06" 13 | length: 78251570 14 | subtitle: 15 | mediatype: "audio/mpeg" 16 | 17 | --- 18 | 19 | 国庆的尾巴,盒子咖啡馆 20 | -------------------------------------------------------------------------------- /_posts/2015-10-17-regex.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: post 3 | title: "Tunight #2 正则表达式讲座" 4 | categories: 5 | - podcast 6 | author: TUNA 7 | date: 2015-10-17 14:00 8 | media: https://cloud.tsinghua.edu.cn/d/f585535bf38e4a998ae5/files/?p=/m4a/2015-10-17-regex.m4a&dl=1 9 | ogg_media: https://cloud.tsinghua.edu.cn/d/f585535bf38e4a998ae5/files/?p=/ogg/2015-10-17-regex.ogg&dl=1 10 | slides: 11 | - url: https://cloud.tsinghua.edu.cn/d/f585535bf38e4a998ae5/files/?p=/attachment/2015-10-17-regex-slide.pdf&dl=1 12 | duration: "01:01:35" 13 | length: 29918464 14 | subtitle: 15 | mediatype: "audio/mpeg" 16 | 17 | --- 18 | 19 | 20 | 正则表达式讲座, 与电子系合作的例行讲座。 21 | 22 | Slide见: 23 | 24 | -------------------------------------------------------------------------------- /_posts/2015-10-18-Key-Signing-Party.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: post 3 | title: "Tunight #3 Key Signing Party" 4 | categories: 5 | - podcast 6 | tags: 7 | - tunight 8 | - GPG 9 | author: TUNA 10 | date: 2015-10-18 18:00 11 | media: https://cloud.tsinghua.edu.cn/d/f585535bf38e4a998ae5/files/?p=/m4a/2015-10-18-Key-Signing-Party.m4a&dl=1 12 | ogg_media: https://cloud.tsinghua.edu.cn/d/f585535bf38e4a998ae5/files/?p=/ogg/2015-10-18-Key-Signing-Party.ogg&dl=1 13 | duration: "01:33:59" 14 | length: 45655947 15 | subtitle: 16 | mediatype: "audio/mpeg" 17 | 18 | --- 19 | 20 | 21 | 盒子咖啡馆,Tunight, Key Signing Party 22 | -------------------------------------------------------------------------------- /_posts/2015-10-24-network-basis-with-SNS.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: post 3 | title: "Tunight #4 Justin:网络基础讲座" 4 | categories: 5 | - podcast 6 | tags: 7 | - network 8 | author: TUNA 9 | date: 2015-10-24 14:00 10 | media: https://cloud.tsinghua.edu.cn/d/f585535bf38e4a998ae5/files/?p=/m4a/2015-10-24-network-basis-with-SNS.m4a&dl=1 11 | ogg_media: https://cloud.tsinghua.edu.cn/d/f585535bf38e4a998ae5/files/?p=/ogg/2015-10-24-network-basis-with-SNS.ogg&dl=1 12 | duration: "01:11:59" 13 | length: 34965934 14 | subtitle: 15 | mediatype: "audio/mpeg" 16 | 17 | --- 18 | 19 | 由Justin带来的网络基础讲座 20 | -------------------------------------------------------------------------------- /_posts/2015-10-30-SenseTime-deep-learning-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: post 3 | title: "Tunight #5 SenseTime 深度学习系列讲座 第一期" 4 | categories: 5 | - podcast 6 | tags: 7 | - deep learning 8 | author: TUNA 9 | date: 2015-10-30 19:00 10 | media: https://cloud.tsinghua.edu.cn/d/f585535bf38e4a998ae5/files/?p=/m4a/2015-10-30-SenseTime-deep-learning-1.m4a&dl=1 11 | ogg_media: https://cloud.tsinghua.edu.cn/d/f585535bf38e4a998ae5/files/?p=/ogg/2015-10-30-SenseTime-deep-learning-1.ogg&dl=1 12 | duration: "01:21:35" 13 | length: "39632220" 14 | subtitle: 15 | mediatype: "audio/mpeg" 16 | 17 | --- 18 | 19 | 深度历史回顾 & 基础知识 20 | 21 | 2006年,Hinton首次提出深度学习概念。不到十年,从隐晦的学术秘辛,到各国倾力推进的未来计划,深度学习正在用技术的魅力改变着世界。这是对历史的回顾,更是对未来的展望;从0到1,为你揭开深度学习背后的故事;我们期待,这次和你分享的,就是你未来的生活。 22 | 23 | 24 | @2015-10-30 19:00 中央主楼 511. 25 | 26 | -------------------------------------------------------------------------------- /_posts/2015-11-01-meta-podcast.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: post 3 | title: "Tunight #6 这是一集做Podcast的Podcast" 4 | categories: 5 | - podcast 6 | tags: 7 | - tunight 8 | author: TUNA 9 | date: 2015-11-01 18:00 10 | media: https://cloud.tsinghua.edu.cn/d/f585535bf38e4a998ae5/files/?p=/m4a/2015-11-01-meta-podcast.m4a&dl=1 11 | ogg_media: https://cloud.tsinghua.edu.cn/d/f585535bf38e4a998ae5/files/?p=/ogg/2015-11-01-meta-podcast.ogg&dl=1 12 | duration: "02:05:03" 13 | length: 59958710 14 | subtitle: 15 | mediatype: "audio/mpeg" 16 | thumb: "2015-11-01-tunight.jpg" 17 | --- 18 | 19 | 这一集中,我们现场使用Jekyll为TUNA的Podcast做了一个前端页面,并可以自动生成Podcast.xml。 20 | 21 | 文件自动上传到七牛云存储上。 22 | 23 | 代码见: 24 | -------------------------------------------------------------------------------- /_posts/2015-11-08-mirrors.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: post 3 | title: "Tunight #7 从网络配置开始跑题" 4 | categories: 5 | - podcast 6 | tags: 7 | - tunight 8 | - linux 9 | - network 10 | - bi 11 | - mirrors 12 | author: TUNA 13 | date: 2015-11-08 18:00 14 | media: https://cloud.tsinghua.edu.cn/d/f585535bf38e4a998ae5/files/?p=/m4a/2015-11-08-mirrors.m4a&dl=1 15 | ogg_media: https://cloud.tsinghua.edu.cn/d/f585535bf38e4a998ae5/files/?p=/ogg/2015-11-08-mirrors.ogg&dl=1 16 | duration: "03:07:32" 17 | length: 91084306 18 | subtitle: 19 | mediatype: "audio/mpeg" 20 | # thumb: "2015-11-01-tunight.jpg" 21 | --- 22 | 23 | 这一集我们和 USTC 的小伙伴一起讨论建立 mirrors 大脸萌 大联盟的一些可能思路和方向。 24 | 25 | 然后不可避免的跑题了…… 26 | -------------------------------------------------------------------------------- /_posts/2015-11-09-BGP.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: post 3 | title: "Tunight #8 BGP路由协议" 4 | categories: 5 | - podcast 6 | tags: 7 | - network 8 | - xingli 9 | author: TUNA 10 | date: 2015-11-09 15:20 11 | media: https://cloud.tsinghua.edu.cn/d/f585535bf38e4a998ae5/files/?p=/m4a/2015-11-09-xing-li-BGP.m4a&dl=1 12 | ogg_media: https://cloud.tsinghua.edu.cn/d/f585535bf38e4a998ae5/files/?p=/ogg/2015-11-09-xing-li-BGP.ogg&dl=1 13 | duration: "01:30:13" 14 | length: 43821086 15 | subtitle: 16 | mediatype: "audio/mpeg" 17 | thumb: "2015-11-09-xing-li.jpg" 18 | --- 19 | 20 | 李星老师主讲「互联网工程」课程之 Internet 路由协议最 Excited 的部分: BGP ! 21 | -------------------------------------------------------------------------------- /_posts/2015-11-13-SenseTime-deep-learning-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: post 3 | title: "Tunight #9 SenseTime 深度学习系列: RNN与文字识别" 4 | categories: 5 | - podcast 6 | tags: 7 | - deep learning 8 | - SenseTime 9 | author: TUNA 10 | date: 2015-11-13 19:00 11 | media: https://cloud.tsinghua.edu.cn/d/f585535bf38e4a998ae5/files/?p=/m4a/2015-11-13-SenseTime-deep-learning-2.m4a&dl=1 12 | ogg_media: https://cloud.tsinghua.edu.cn/d/f585535bf38e4a998ae5/files/?p=/ogg/2015-11-13-SenseTime-deep-learning-2.ogg&dl=1 13 | duration: "01:12:22" 14 | length: 35149367 15 | subtitle: 16 | mediatype: "audio/mpeg" 17 | thumb: "2015-11-13-sensetime-dl2.jpg" 18 | slides: 19 | - name: CTC 文字识别 20 | url: https://cloud.tsinghua.edu.cn/d/f585535bf38e4a998ae5/files/?p=/attachment/2015-11-13-SenseTime-CTC.pdf&dl=1 21 | - name: 循环神经网络 22 | url: https://cloud.tsinghua.edu.cn/d/f585535bf38e4a998ae5/files/?p=/attachment/2015-11-13-SenseTime-RNN.pdf&dl=1 23 | --- 24 | 25 | SenseTime 深度学习系列第二期: 文字识别与 RNN 26 | 27 | 这次由 Linkface 的两位自身科学家主讲 夏炎 & 梁鼎 主讲 深度学习在文字识别领域的最新进展和循环神经网络(RNN)及其变种 LSTM 等。 28 | 29 | @2015-11-13 19:00 罗姆楼三层报告厅 30 | 31 | -------------------------------------------------------------------------------- /_posts/2015-11-14-PKU-BJGUG.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: post 3 | title: "Tunight #10 北大开源协会交流活动" 4 | categories: 5 | - podcast 6 | tags: 7 | - pku 8 | - BJGUG 9 | author: TUNA 10 | date: 2015-11-14 19:00 11 | media: https://cloud.tsinghua.edu.cn/d/f585535bf38e4a998ae5/files/?p=/m4a/2015-11-14-PKU-BJGUG.m4a&dl=1 12 | ogg_media: https://cloud.tsinghua.edu.cn/d/f585535bf38e4a998ae5/files/?p=/ogg/2015-11-14-PKU-BJGUG.ogg&dl=1 13 | duration: "01:23:47" 14 | length: 40693437 15 | subtitle: 16 | mediatype: "audio/mpeg" 17 | thumb: "2015-11-14-PKU-BJGUG.jpg" 18 | --- 19 | 20 | 北大开源协会和北京 GNOME 用户组的交流分享会。立足清华,解放燕园! 21 | 22 | -------------------------------------------------------------------------------- /_posts/2015-11-15-black-hat.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: post 3 | title: "Tunight #11 康哥的荷兰游" 4 | categories: 5 | - podcast 6 | tags: 7 | - Tunight 8 | author: TUNA 9 | date: 2015-11-15 18:30 10 | media: https://cloud.tsinghua.edu.cn/d/f585535bf38e4a998ae5/files/?p=/m4a/2015-11-15-BlackHat.m4a&dl=1 11 | ogg_media: https://cloud.tsinghua.edu.cn/d/f585535bf38e4a998ae5/files/?p=/ogg/2015-11-15-BlackHat.ogg&dl=1 12 | duration: "01:32:55" 13 | length: 45133044 14 | subtitle: 15 | mediatype: "audio/mpeg" 16 | --- 17 | 18 | 康哥去荷兰参加黑帽大会归来,分享有趣的经历。正片 9:50 开始。 19 | -------------------------------------------------------------------------------- /_posts/2015-11-23-BGP-DNS.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: post 3 | title: "Tunight #12 BGP路由协议" 4 | categories: 5 | - podcast 6 | tags: 7 | - network 8 | - xingli 9 | author: TUNA 10 | date: 2015-11-23 15:20 11 | media: https://cloud.tsinghua.edu.cn/d/f585535bf38e4a998ae5/files/?p=/m4a/2015-11-23-xing-li-BGP-DNS.m4a&dl=1 12 | ogg_media: https://cloud.tsinghua.edu.cn/d/f585535bf38e4a998ae5/files/?p=/ogg/2015-11-23-xing-li-BGP-DNS.ogg&dl=1 13 | duration: "01:17:13" 14 | length: 37509401 15 | subtitle: 16 | mediatype: "audio/mpeg" 17 | --- 18 | 19 | 李星老师主讲「互联网工程」课程,BGP 后半部分与 Internet 域名系统。 20 | -------------------------------------------------------------------------------- /_posts/2015-11-23-LaTeX.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: post 3 | title: "Tunight #13 图书馆 LaTeX 讲座" 4 | categories: 5 | - podcast 6 | tags: 7 | - LaTeX 8 | author: TUNA 9 | date: 2015-11-23 19:00 10 | media: https://cloud.tsinghua.edu.cn/d/f585535bf38e4a998ae5/files/?p=/m4a/2015-11-23-LaTeX.m4a&dl=1 11 | ogg_media: https://cloud.tsinghua.edu.cn/d/f585535bf38e4a998ae5/files/?p=/ogg/2015-11-23-LaTeX.ogg&dl=1 12 | duration: "01:04:03" 13 | length: 31110129 14 | subtitle: 15 | mediatype: "audio/mpeg" 16 | slides: 17 | - url: https://cloud.tsinghua.edu.cn/d/f585535bf38e4a998ae5/files/?p=/attachment/2015-11-23-latex-talk.pdf&dl=1 18 | --- 19 | 20 | 作为一种专业文档排版系统,LaTeX 目前已为国际学术出版界广泛使用。 21 | 本讲座讲解LaTeX的基础知识、下载安装、模板使用,使读者掌握利用 LaTeX 进行学术论文排版, 22 | 以及使用 Thuthesis 进行清华学位论文排版 的基本方法和技巧。 23 | -------------------------------------------------------------------------------- /_posts/2016-02-29-xing-li-Internet-Design.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: post 3 | title: "Tunight #14 Internet 的设计哲学" 4 | categories: 5 | - podcast 6 | tags: 7 | - network 8 | - xingli 9 | author: TUNA 10 | date: 2016-02-29 15:20 11 | media: https://cloud.tsinghua.edu.cn/d/f585535bf38e4a998ae5/files/?p=/m4a/2016-02-29-xing-li-Internet-Design.m4a&dl=1 12 | ogg_media: https://cloud.tsinghua.edu.cn/d/f585535bf38e4a998ae5/files/?p=/ogg/2016-02-29-xing-li-Internet-Design.ogg&dl=1 13 | duration: "01:30:13" 14 | length: 43821086 15 | subtitle: 16 | mediatype: "audio/mpeg" 17 | thumb: "2016-02-29-xingli.jpg" 18 | --- 19 | 20 | 李星老师《现代通信网络技术》课程第二课实录,讲述 Internet 成功的关键:初始设计哲学。 21 | 22 | @2016-02-29 15:20 六教A-314 23 | 24 | -------------------------------------------------------------------------------- /_posts/2016-03-07-xing-li-internet-architecture.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: post 3 | title: "Tunight #15 Internet 的体系结构" 4 | categories: 5 | - podcast 6 | tags: 7 | - network 8 | - xingli 9 | author: TUNA 10 | date: 2016-03-07 15:20 11 | media: https://cloud.tsinghua.edu.cn/d/f585535bf38e4a998ae5/files/?p=/m4a/2016-03-07-xing-li-internet-architecture.m4a&dl=1 12 | ogg_media: https://cloud.tsinghua.edu.cn/d/f585535bf38e4a998ae5/files/?p=/ogg/2016-03-07-xing-li-internet-architecture.ogg&dl=1 13 | duration: "01:29:40" 14 | length: 43554676 15 | subtitle: 16 | mediatype: "audio/mpeg" 17 | thumb: "2016-03-07-xingli.jpg" 18 | --- 19 | 20 | 李星老师《现代通信网络技术》课程第三课实录,内容包含: 21 | 22 | - 棱镜门为 Internet 安全引入的哲学问题 23 | - 电路交换、虚电路交换与包交换 24 | - Internet 的分层结构与人物划分 25 | 26 | @2016-03-07 15:20 六教A-314 27 | 28 | -------------------------------------------------------------------------------- /_posts/2016-03-21-xing-li-internet-protocol.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: post 3 | title: "Tunight #16 Internet 协议" 4 | categories: 5 | - podcast 6 | tags: 7 | - network 8 | - xingli 9 | author: TUNA 10 | date: 2016-03-21 15:20 11 | media: https://cloud.tsinghua.edu.cn/d/f585535bf38e4a998ae5/files/?p=/m4a/2016-03-21-xing-li-internet-protocol.m4a&dl=1 12 | ogg_media: https://cloud.tsinghua.edu.cn/d/f585535bf38e4a998ae5/files/?p=/ogg/2016-03-21-xing-li-internet-protocol.ogg&dl=1 13 | duration: "01:32:51" 14 | length: 45098780 15 | subtitle: 16 | mediatype: "audio/mpeg" 17 | --- 18 | 19 | 李星老师《现代通信网络技术》课程第五课实录,Internet 协议 (IP) 的协议设计。 20 | 21 | @2016-03-21 15:20 六教A-314 22 | 23 | -------------------------------------------------------------------------------- /_posts/2016-03-26-haskell.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: post 3 | title: "Tunight #17 Haskell 函数式编程入门" 4 | categories: 5 | - podcast 6 | tags: 7 | - haskell 8 | - functional programming 9 | author: 邵成 10 | date: 2016-03-26 14:30 11 | media: https://cloud.tsinghua.edu.cn/d/f585535bf38e4a998ae5/files/?p=/m4a/2016-03-26-haskell.m4a&dl=1 12 | ogg_media: https://cloud.tsinghua.edu.cn/d/f585535bf38e4a998ae5/files/?p=/ogg/2016-03-26-haskell.ogg&dl=1 13 | slides: 14 | - url: https://www.terrorjack.moe/fptalk/ 15 | duration: "02:44:36" 16 | length: 79948504 17 | subtitle: 18 | mediatype: "audio/mpeg" 19 | thumb: "2016-03-26-haskell.jpg" 20 | --- 21 | 22 | 函数式编程植根于上世纪30年代提出的λ演算,以函数作为程序的一等公民及构建程序的基本单位。 23 | 24 | 邵成从λ演算的基本规约操作出发,结合Haskell强大的类型推导系统,演示了quickcheck测试; 25 | 之后从程序员角度解释了Monad及其用法,进而介绍了 STM 机制和 Haskell 灵活方便的并发编程。 26 | 27 | 最后的问答环节也非常精彩有趣。 28 | 29 | @2016-03-26 14:30 四教-4302 30 | -------------------------------------------------------------------------------- /_posts/2016-05-07-python.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: post 3 | title: "Tunight #18 Python 科学计算入门" 4 | categories: 5 | - podcast 6 | tags: 7 | - python 8 | author: 吕铭, 李厚辰 9 | date: 2016-05-07 18:30 10 | media: https://cloud.tsinghua.edu.cn/d/f585535bf38e4a998ae5/files/?p=/m4a/2016-05-07-python.m4a&dl=1 11 | ogg_media: https://cloud.tsinghua.edu.cn/d/f585535bf38e4a998ae5/files/?p=/ogg/2016-05-07-python.ogg&dl=1 12 | slides: 13 | - url: https://cloud.tsinghua.edu.cn/d/f585535bf38e4a998ae5/files/?p=/attachment/2016-05-07-python.pdf&dl=1 14 | duration: "01:49:15" 15 | length: 53069463 16 | subtitle: 17 | mediatype: "audio/mpeg" 18 | thumb: "2016-05-07-python.jpg" 19 | --- 20 | 21 | 物理系科协的 Python 入门讲座 22 | 23 | @2016-05-07 18:30 理科楼 B315 24 | -------------------------------------------------------------------------------- /_posts/2016-10-15-nfc-and-rfid.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: post 3 | title: "Tunight #19 NFC & RFID Hacks" 4 | categories: 5 | - podcast 6 | tags: 7 | - nfc 8 | - rfid 9 | - mifare 10 | - pboc 11 | author: 党凡 12 | date: 2016-10-15 19:00 13 | media: https://cloud.tsinghua.edu.cn/d/f585535bf38e4a998ae5/files/?p=/m4a/2016-10-15-nfc-and-rfid.m4a&dl=1 14 | slides: 15 | - url: https://cloud.tsinghua.edu.cn/d/f585535bf38e4a998ae5/files/?p=/attachment/2016-10-15-nfc-and-rfid.pdf&dl=1 16 | duration: "01:46:56" 17 | length: 51941909 18 | subtitle: 19 | mediatype: "audio/mpeg" 20 | thumb: "2016-10-15-nfc-and-rfid.jpg" 21 | --- 22 | 23 | 本周金枪鱼之夜,由党凡主席给大家介绍各种智能卡和 NFC 的基础知识,以及几个exciting的案例: 24 | 25 | - 门禁系统 26 | - Mifare 卡破解 27 | - 各种 Pay 的原理 28 | - 贵校校园卡的原理 29 | 30 | @2016-10-15 19:00 三教 1102 31 | -------------------------------------------------------------------------------- /assets/css/_Lato.scss: -------------------------------------------------------------------------------- 1 | /* Webfont: Lato-Bold */@font-face { 2 | font-family: 'Lato'; 3 | src: url('../fonts/Lato-Bold.eot'); /* IE9 Compat Modes */ 4 | src: url('../fonts/Lato-Bold.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ 5 | url('../fonts/Lato-Bold.woff2') format('woff2'), /* Modern Browsers */ 6 | url('../fonts/Lato-Bold.woff') format('woff'), /* Modern Browsers */ 7 | url('../fonts/Lato-Bold.ttf') format('truetype'); 8 | font-style: normal; 9 | font-weight: bold; 10 | text-rendering: optimizeLegibility; 11 | } 12 | 13 | /* Webfont: Lato-Italic */@font-face { 14 | font-family: 'Lato'; 15 | src: url('../fonts/Lato-Italic.eot'); /* IE9 Compat Modes */ 16 | src: url('../fonts/Lato-Italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ 17 | url('../fonts/Lato-Italic.woff2') format('woff2'), /* Modern Browsers */ 18 | url('../fonts/Lato-Italic.woff') format('woff'), /* Modern Browsers */ 19 | url('../fonts/Lato-Italic.ttf') format('truetype'); 20 | font-style: italic; 21 | font-weight: normal; 22 | text-rendering: optimizeLegibility; 23 | } 24 | 25 | /* Webfont: Lato-Regular */@font-face { 26 | font-family: 'Lato'; 27 | src: url('../fonts/Lato-Regular.eot'); /* IE9 Compat Modes */ 28 | src: url('../fonts/Lato-Regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ 29 | url('../fonts/Lato-Regular.woff2') format('woff2'), /* Modern Browsers */ 30 | url('../fonts/Lato-Regular.woff') format('woff'), /* Modern Browsers */ 31 | url('../fonts/Lato-Regular.ttf') format('truetype'); 32 | font-style: normal; 33 | font-weight: normal; 34 | text-rendering: optimizeLegibility; 35 | } 36 | -------------------------------------------------------------------------------- /assets/css/font-awesome.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome 4.0.3 by @davegandy - http://fontawesome.io - @fontawesome 3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) 4 | */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.0.3');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.0.3') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff?v=4.0.3') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.0.3') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.0.3#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.3333333333333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.2857142857142858em;text-align:center}.fa-ul{padding-left:0;margin-left:2.142857142857143em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.142857142857143em;width:2.142857142857143em;top:.14285714285714285em;text-align:center}.fa-li.fa-lg{left:-1.8571428571428572em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:spin 2s infinite linear;-moz-animation:spin 2s infinite linear;-o-animation:spin 2s infinite linear;animation:spin 2s infinite linear}@-moz-keyframes spin{0%{-moz-transform:rotate(0deg)}100%{-moz-transform:rotate(359deg)}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg)}}@-o-keyframes spin{0%{-o-transform:rotate(0deg)}100%{-o-transform:rotate(359deg)}}@-ms-keyframes spin{0%{-ms-transform:rotate(0deg)}100%{-ms-transform:rotate(359deg)}}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0,mirror=1);-webkit-transform:scale(-1,1);-moz-transform:scale(-1,1);-ms-transform:scale(-1,1);-o-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2,mirror=1);-webkit-transform:scale(1,-1);-moz-transform:scale(1,-1);-ms-transform:scale(1,-1);-o-transform:scale(1,-1);transform:scale(1,-1)}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-asc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-desc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-reply-all:before{content:"\f122"}.fa-mail-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"} -------------------------------------------------------------------------------- /assets/css/images/prettyPhoto/dark_rounded/btnNext.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuna/podcast/0812cea6a8662de1c1c80ec123d2b87c5d1d16f3/assets/css/images/prettyPhoto/dark_rounded/btnNext.png -------------------------------------------------------------------------------- /assets/css/images/prettyPhoto/dark_rounded/btnPrevious.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuna/podcast/0812cea6a8662de1c1c80ec123d2b87c5d1d16f3/assets/css/images/prettyPhoto/dark_rounded/btnPrevious.png -------------------------------------------------------------------------------- /assets/css/images/prettyPhoto/dark_rounded/contentPattern.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuna/podcast/0812cea6a8662de1c1c80ec123d2b87c5d1d16f3/assets/css/images/prettyPhoto/dark_rounded/contentPattern.png -------------------------------------------------------------------------------- /assets/css/images/prettyPhoto/dark_rounded/loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuna/podcast/0812cea6a8662de1c1c80ec123d2b87c5d1d16f3/assets/css/images/prettyPhoto/dark_rounded/loader.gif -------------------------------------------------------------------------------- /assets/css/images/prettyPhoto/dark_rounded/sprite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuna/podcast/0812cea6a8662de1c1c80ec123d2b87c5d1d16f3/assets/css/images/prettyPhoto/dark_rounded/sprite.png -------------------------------------------------------------------------------- /assets/css/images/prettyPhoto/dark_square/btnNext.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuna/podcast/0812cea6a8662de1c1c80ec123d2b87c5d1d16f3/assets/css/images/prettyPhoto/dark_square/btnNext.png -------------------------------------------------------------------------------- /assets/css/images/prettyPhoto/dark_square/btnPrevious.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuna/podcast/0812cea6a8662de1c1c80ec123d2b87c5d1d16f3/assets/css/images/prettyPhoto/dark_square/btnPrevious.png -------------------------------------------------------------------------------- /assets/css/images/prettyPhoto/dark_square/loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuna/podcast/0812cea6a8662de1c1c80ec123d2b87c5d1d16f3/assets/css/images/prettyPhoto/dark_square/loader.gif -------------------------------------------------------------------------------- /assets/css/images/prettyPhoto/dark_square/sprite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuna/podcast/0812cea6a8662de1c1c80ec123d2b87c5d1d16f3/assets/css/images/prettyPhoto/dark_square/sprite.png -------------------------------------------------------------------------------- /assets/css/images/prettyPhoto/default/default_thumb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuna/podcast/0812cea6a8662de1c1c80ec123d2b87c5d1d16f3/assets/css/images/prettyPhoto/default/default_thumb.png -------------------------------------------------------------------------------- /assets/css/images/prettyPhoto/default/loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuna/podcast/0812cea6a8662de1c1c80ec123d2b87c5d1d16f3/assets/css/images/prettyPhoto/default/loader.gif -------------------------------------------------------------------------------- /assets/css/images/prettyPhoto/default/sprite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuna/podcast/0812cea6a8662de1c1c80ec123d2b87c5d1d16f3/assets/css/images/prettyPhoto/default/sprite.png -------------------------------------------------------------------------------- /assets/css/images/prettyPhoto/default/sprite_next.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuna/podcast/0812cea6a8662de1c1c80ec123d2b87c5d1d16f3/assets/css/images/prettyPhoto/default/sprite_next.png -------------------------------------------------------------------------------- /assets/css/images/prettyPhoto/default/sprite_prev.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuna/podcast/0812cea6a8662de1c1c80ec123d2b87c5d1d16f3/assets/css/images/prettyPhoto/default/sprite_prev.png -------------------------------------------------------------------------------- /assets/css/images/prettyPhoto/default/sprite_x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuna/podcast/0812cea6a8662de1c1c80ec123d2b87c5d1d16f3/assets/css/images/prettyPhoto/default/sprite_x.png -------------------------------------------------------------------------------- /assets/css/images/prettyPhoto/default/sprite_y.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuna/podcast/0812cea6a8662de1c1c80ec123d2b87c5d1d16f3/assets/css/images/prettyPhoto/default/sprite_y.png -------------------------------------------------------------------------------- /assets/css/images/prettyPhoto/facebook/btnNext.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuna/podcast/0812cea6a8662de1c1c80ec123d2b87c5d1d16f3/assets/css/images/prettyPhoto/facebook/btnNext.png -------------------------------------------------------------------------------- /assets/css/images/prettyPhoto/facebook/btnPrevious.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuna/podcast/0812cea6a8662de1c1c80ec123d2b87c5d1d16f3/assets/css/images/prettyPhoto/facebook/btnPrevious.png -------------------------------------------------------------------------------- /assets/css/images/prettyPhoto/facebook/contentPatternBottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuna/podcast/0812cea6a8662de1c1c80ec123d2b87c5d1d16f3/assets/css/images/prettyPhoto/facebook/contentPatternBottom.png -------------------------------------------------------------------------------- /assets/css/images/prettyPhoto/facebook/contentPatternLeft.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuna/podcast/0812cea6a8662de1c1c80ec123d2b87c5d1d16f3/assets/css/images/prettyPhoto/facebook/contentPatternLeft.png -------------------------------------------------------------------------------- /assets/css/images/prettyPhoto/facebook/contentPatternRight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuna/podcast/0812cea6a8662de1c1c80ec123d2b87c5d1d16f3/assets/css/images/prettyPhoto/facebook/contentPatternRight.png -------------------------------------------------------------------------------- /assets/css/images/prettyPhoto/facebook/contentPatternTop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuna/podcast/0812cea6a8662de1c1c80ec123d2b87c5d1d16f3/assets/css/images/prettyPhoto/facebook/contentPatternTop.png -------------------------------------------------------------------------------- /assets/css/images/prettyPhoto/facebook/default_thumbnail.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuna/podcast/0812cea6a8662de1c1c80ec123d2b87c5d1d16f3/assets/css/images/prettyPhoto/facebook/default_thumbnail.gif -------------------------------------------------------------------------------- /assets/css/images/prettyPhoto/facebook/loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuna/podcast/0812cea6a8662de1c1c80ec123d2b87c5d1d16f3/assets/css/images/prettyPhoto/facebook/loader.gif -------------------------------------------------------------------------------- /assets/css/images/prettyPhoto/facebook/sprite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuna/podcast/0812cea6a8662de1c1c80ec123d2b87c5d1d16f3/assets/css/images/prettyPhoto/facebook/sprite.png -------------------------------------------------------------------------------- /assets/css/images/prettyPhoto/light_rounded/btnNext.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuna/podcast/0812cea6a8662de1c1c80ec123d2b87c5d1d16f3/assets/css/images/prettyPhoto/light_rounded/btnNext.png -------------------------------------------------------------------------------- /assets/css/images/prettyPhoto/light_rounded/btnPrevious.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuna/podcast/0812cea6a8662de1c1c80ec123d2b87c5d1d16f3/assets/css/images/prettyPhoto/light_rounded/btnPrevious.png -------------------------------------------------------------------------------- /assets/css/images/prettyPhoto/light_rounded/loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuna/podcast/0812cea6a8662de1c1c80ec123d2b87c5d1d16f3/assets/css/images/prettyPhoto/light_rounded/loader.gif -------------------------------------------------------------------------------- /assets/css/images/prettyPhoto/light_rounded/sprite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuna/podcast/0812cea6a8662de1c1c80ec123d2b87c5d1d16f3/assets/css/images/prettyPhoto/light_rounded/sprite.png -------------------------------------------------------------------------------- /assets/css/images/prettyPhoto/light_square/btnNext.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuna/podcast/0812cea6a8662de1c1c80ec123d2b87c5d1d16f3/assets/css/images/prettyPhoto/light_square/btnNext.png -------------------------------------------------------------------------------- /assets/css/images/prettyPhoto/light_square/btnPrevious.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuna/podcast/0812cea6a8662de1c1c80ec123d2b87c5d1d16f3/assets/css/images/prettyPhoto/light_square/btnPrevious.png -------------------------------------------------------------------------------- /assets/css/images/prettyPhoto/light_square/sprite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuna/podcast/0812cea6a8662de1c1c80ec123d2b87c5d1d16f3/assets/css/images/prettyPhoto/light_square/sprite.png -------------------------------------------------------------------------------- /assets/css/prettyPhoto.css: -------------------------------------------------------------------------------- 1 | div.pp_default .pp_top,div.pp_default .pp_top .pp_middle,div.pp_default .pp_top .pp_left,div.pp_default .pp_top .pp_right,div.pp_default .pp_bottom,div.pp_default .pp_bottom .pp_left,div.pp_default .pp_bottom .pp_middle,div.pp_default .pp_bottom .pp_right{height:13px} 2 | div.pp_default .pp_top .pp_left{background:url("images/prettyPhoto/default/sprite.png") -78px -93px no-repeat} 3 | div.pp_default .pp_top .pp_middle{background:url("images/prettyPhoto/default/sprite_x.png") top left repeat-x} 4 | div.pp_default .pp_top .pp_right{background:url("images/prettyPhoto/default/sprite.png") -112px -93px no-repeat} 5 | div.pp_default .pp_content .ppt{color:#f8f8f8} 6 | div.pp_default .pp_content_container .pp_left{background:url("images/prettyPhoto/default/sprite_y.png") -7px 0 repeat-y;padding-left:13px} 7 | div.pp_default .pp_content_container .pp_right{background:url("images/prettyPhoto/default/sprite_y.png") top right repeat-y;padding-right:13px} 8 | div.pp_default .pp_next:hover{background:url("images/prettyPhoto/default/sprite_next.png") center right no-repeat;cursor:pointer} 9 | div.pp_default .pp_previous:hover{background:url("images/prettyPhoto/default/sprite_prev.png") center left no-repeat;cursor:pointer} 10 | div.pp_default .pp_expand{background:url("images/prettyPhoto/default/sprite.png") 0 -29px no-repeat;cursor:pointer;width:28px;height:28px} 11 | div.pp_default .pp_expand:hover{background:url("images/prettyPhoto/default/sprite.png") 0 -56px no-repeat;cursor:pointer} 12 | div.pp_default .pp_contract{background:url("images/prettyPhoto/default/sprite.png") 0 -84px no-repeat;cursor:pointer;width:28px;height:28px} 13 | div.pp_default .pp_contract:hover{background:url("images/prettyPhoto/default/sprite.png") 0 -113px no-repeat;cursor:pointer} 14 | div.pp_default .pp_close{width:30px;height:30px;background:url("images/prettyPhoto/default/sprite.png") 2px 1px no-repeat;cursor:pointer} 15 | div.pp_default .pp_gallery ul li a{background:url("images/prettyPhoto/default/default_thumb.png") center center #f8f8f8;border:1px solid #aaa} 16 | div.pp_default .pp_social{margin-top:7px} 17 | div.pp_default .pp_gallery a.pp_arrow_previous,div.pp_default .pp_gallery a.pp_arrow_next{position:static;left:auto} 18 | div.pp_default .pp_nav .pp_play,div.pp_default .pp_nav .pp_pause{background:url("images/prettyPhoto/default/sprite.png") -51px 1px no-repeat;height:30px;width:30px} 19 | div.pp_default .pp_nav .pp_pause{background-position:-51px -29px} 20 | div.pp_default a.pp_arrow_previous,div.pp_default a.pp_arrow_next{background:url("images/prettyPhoto/default/sprite.png") -31px -3px no-repeat;height:20px;width:20px;margin:4px 0 0} 21 | div.pp_default a.pp_arrow_next{left:52px;background-position:-82px -3px} 22 | div.pp_default .pp_content_container .pp_details{margin-top:5px} 23 | div.pp_default .pp_nav{clear:none;height:30px;width:110px;position:relative} 24 | div.pp_default .pp_nav .currentTextHolder{font-family:Georgia;font-style:italic;color:#999;font-size:11px;left:75px;line-height:25px;position:absolute;top:2px;margin:0;padding:0 0 0 10px} 25 | div.pp_default .pp_close:hover,div.pp_default .pp_nav .pp_play:hover,div.pp_default .pp_nav .pp_pause:hover,div.pp_default .pp_arrow_next:hover,div.pp_default .pp_arrow_previous:hover{opacity:0.7} 26 | div.pp_default .pp_description{font-size:11px;font-weight:700;line-height:14px;margin:5px 50px 5px 0} 27 | div.pp_default .pp_bottom .pp_left{background:url("images/prettyPhoto/default/sprite.png") -78px -127px no-repeat} 28 | div.pp_default .pp_bottom .pp_middle{background:url("images/prettyPhoto/default/sprite_x.png") bottom left repeat-x} 29 | div.pp_default .pp_bottom .pp_right{background:url("images/prettyPhoto/default/sprite.png") -112px -127px no-repeat} 30 | div.pp_default .pp_loaderIcon{background:url("images/prettyPhoto/default/loader.gif") center center no-repeat} 31 | div.light_rounded .pp_top .pp_left{background:url("images/prettyPhoto/light_rounded/sprite.png") -88px -53px no-repeat} 32 | div.light_rounded .pp_top .pp_right{background:url("images/prettyPhoto/light_rounded/sprite.png") -110px -53px no-repeat} 33 | div.light_rounded .pp_next:hover{background:url("images/prettyPhoto/light_rounded/btnNext.png") center right no-repeat;cursor:pointer} 34 | div.light_rounded .pp_previous:hover{background:url("images/prettyPhoto/light_rounded/btnPrevious.png") center left no-repeat;cursor:pointer} 35 | div.light_rounded .pp_expand{background:url("images/prettyPhoto/light_rounded/sprite.png") -31px -26px no-repeat;cursor:pointer} 36 | div.light_rounded .pp_expand:hover{background:url("images/prettyPhoto/light_rounded/sprite.png") -31px -47px no-repeat;cursor:pointer} 37 | div.light_rounded .pp_contract{background:url("images/prettyPhoto/light_rounded/sprite.png") 0 -26px no-repeat;cursor:pointer} 38 | div.light_rounded .pp_contract:hover{background:url("images/prettyPhoto/light_rounded/sprite.png") 0 -47px no-repeat;cursor:pointer} 39 | div.light_rounded .pp_close{width:75px;height:22px;background:url("images/prettyPhoto/light_rounded/sprite.png") -1px -1px no-repeat;cursor:pointer} 40 | div.light_rounded .pp_nav .pp_play{background:url("images/prettyPhoto/light_rounded/sprite.png") -1px -100px no-repeat;height:15px;width:14px} 41 | div.light_rounded .pp_nav .pp_pause{background:url("images/prettyPhoto/light_rounded/sprite.png") -24px -100px no-repeat;height:15px;width:14px} 42 | div.light_rounded .pp_arrow_previous{background:url("images/prettyPhoto/light_rounded/sprite.png") 0 -71px no-repeat} 43 | div.light_rounded .pp_arrow_next{background:url("images/prettyPhoto/light_rounded/sprite.png") -22px -71px no-repeat} 44 | div.light_rounded .pp_bottom .pp_left{background:url("images/prettyPhoto/light_rounded/sprite.png") -88px -80px no-repeat} 45 | div.light_rounded .pp_bottom .pp_right{background:url("images/prettyPhoto/light_rounded/sprite.png") -110px -80px no-repeat} 46 | div.dark_rounded .pp_top .pp_left{background:url("images/prettyPhoto/dark_rounded/sprite.png") -88px -53px no-repeat} 47 | div.dark_rounded .pp_top .pp_right{background:url("images/prettyPhoto/dark_rounded/sprite.png") -110px -53px no-repeat} 48 | div.dark_rounded .pp_content_container .pp_left{background:url("images/prettyPhoto/dark_rounded/contentPattern.png") top left repeat-y} 49 | div.dark_rounded .pp_content_container .pp_right{background:url("images/prettyPhoto/dark_rounded/contentPattern.png") top right repeat-y} 50 | div.dark_rounded .pp_next:hover{background:url("images/prettyPhoto/dark_rounded/btnNext.png") center right no-repeat;cursor:pointer} 51 | div.dark_rounded .pp_previous:hover{background:url("images/prettyPhoto/dark_rounded/btnPrevious.png") center left no-repeat;cursor:pointer} 52 | div.dark_rounded .pp_expand{background:url("images/prettyPhoto/dark_rounded/sprite.png") -31px -26px no-repeat;cursor:pointer} 53 | div.dark_rounded .pp_expand:hover{background:url("images/prettyPhoto/dark_rounded/sprite.png") -31px -47px no-repeat;cursor:pointer} 54 | div.dark_rounded .pp_contract{background:url("images/prettyPhoto/dark_rounded/sprite.png") 0 -26px no-repeat;cursor:pointer} 55 | div.dark_rounded .pp_contract:hover{background:url("images/prettyPhoto/dark_rounded/sprite.png") 0 -47px no-repeat;cursor:pointer} 56 | div.dark_rounded .pp_close{width:75px;height:22px;background:url("images/prettyPhoto/dark_rounded/sprite.png") -1px -1px no-repeat;cursor:pointer} 57 | div.dark_rounded .pp_description{margin-right:85px;color:#fff} 58 | div.dark_rounded .pp_nav .pp_play{background:url("images/prettyPhoto/dark_rounded/sprite.png") -1px -100px no-repeat;height:15px;width:14px} 59 | div.dark_rounded .pp_nav .pp_pause{background:url("images/prettyPhoto/dark_rounded/sprite.png") -24px -100px no-repeat;height:15px;width:14px} 60 | div.dark_rounded .pp_arrow_previous{background:url("images/prettyPhoto/dark_rounded/sprite.png") 0 -71px no-repeat} 61 | div.dark_rounded .pp_arrow_next{background:url("images/prettyPhoto/dark_rounded/sprite.png") -22px -71px no-repeat} 62 | div.dark_rounded .pp_bottom .pp_left{background:url("images/prettyPhoto/dark_rounded/sprite.png") -88px -80px no-repeat} 63 | div.dark_rounded .pp_bottom .pp_right{background:url("images/prettyPhoto/dark_rounded/sprite.png") -110px -80px no-repeat} 64 | div.dark_rounded .pp_loaderIcon{background:url("images/prettyPhoto/dark_rounded/loader.gif") center center no-repeat} 65 | div.dark_square .pp_left,div.dark_square .pp_middle,div.dark_square .pp_right,div.dark_square .pp_content{background:#000} 66 | div.dark_square .pp_description{color:#fff;margin:0 85px 0 0} 67 | div.dark_square .pp_loaderIcon{background:url("images/prettyPhoto/dark_square/loader.gif") center center no-repeat} 68 | div.dark_square .pp_expand{background:url("images/prettyPhoto/dark_square/sprite.png") -31px -26px no-repeat;cursor:pointer} 69 | div.dark_square .pp_expand:hover{background:url("images/prettyPhoto/dark_square/sprite.png") -31px -47px no-repeat;cursor:pointer} 70 | div.dark_square .pp_contract{background:url("images/prettyPhoto/dark_square/sprite.png") 0 -26px no-repeat;cursor:pointer} 71 | div.dark_square .pp_contract:hover{background:url("images/prettyPhoto/dark_square/sprite.png") 0 -47px no-repeat;cursor:pointer} 72 | div.dark_square .pp_close{width:75px;height:22px;background:url("images/prettyPhoto/dark_square/sprite.png") -1px -1px no-repeat;cursor:pointer} 73 | div.dark_square .pp_nav{clear:none} 74 | div.dark_square .pp_nav .pp_play{background:url("images/prettyPhoto/dark_square/sprite.png") -1px -100px no-repeat;height:15px;width:14px} 75 | div.dark_square .pp_nav .pp_pause{background:url("images/prettyPhoto/dark_square/sprite.png") -24px -100px no-repeat;height:15px;width:14px} 76 | div.dark_square .pp_arrow_previous{background:url("images/prettyPhoto/dark_square/sprite.png") 0 -71px no-repeat} 77 | div.dark_square .pp_arrow_next{background:url("images/prettyPhoto/dark_square/sprite.png") -22px -71px no-repeat} 78 | div.dark_square .pp_next:hover{background:url("images/prettyPhoto/dark_square/btnNext.png") center right no-repeat;cursor:pointer} 79 | div.dark_square .pp_previous:hover{background:url("images/prettyPhoto/dark_square/btnPrevious.png") center left no-repeat;cursor:pointer} 80 | div.light_square .pp_expand{background:url("images/prettyPhoto/light_square/sprite.png") -31px -26px no-repeat;cursor:pointer} 81 | div.light_square .pp_expand:hover{background:url("images/prettyPhoto/light_square/sprite.png") -31px -47px no-repeat;cursor:pointer} 82 | div.light_square .pp_contract{background:url("images/prettyPhoto/light_square/sprite.png") 0 -26px no-repeat;cursor:pointer} 83 | div.light_square .pp_contract:hover{background:url("images/prettyPhoto/light_square/sprite.png") 0 -47px no-repeat;cursor:pointer} 84 | div.light_square .pp_close{width:75px;height:22px;background:url("images/prettyPhoto/light_square/sprite.png") -1px -1px no-repeat;cursor:pointer} 85 | div.light_square .pp_nav .pp_play{background:url("images/prettyPhoto/light_square/sprite.png") -1px -100px no-repeat;height:15px;width:14px} 86 | div.light_square .pp_nav .pp_pause{background:url("images/prettyPhoto/light_square/sprite.png") -24px -100px no-repeat;height:15px;width:14px} 87 | div.light_square .pp_arrow_previous{background:url("images/prettyPhoto/light_square/sprite.png") 0 -71px no-repeat} 88 | div.light_square .pp_arrow_next{background:url("images/prettyPhoto/light_square/sprite.png") -22px -71px no-repeat} 89 | div.light_square .pp_next:hover{background:url("images/prettyPhoto/light_square/btnNext.png") center right no-repeat;cursor:pointer} 90 | div.light_square .pp_previous:hover{background:url("images/prettyPhoto/light_square/btnPrevious.png") center left no-repeat;cursor:pointer} 91 | div.facebook .pp_top .pp_left{background:url("images/prettyPhoto/facebook/sprite.png") -88px -53px no-repeat} 92 | div.facebook .pp_top .pp_middle{background:url("images/prettyPhoto/facebook/contentPatternTop.png") top left repeat-x} 93 | div.facebook .pp_top .pp_right{background:url("images/prettyPhoto/facebook/sprite.png") -110px -53px no-repeat} 94 | div.facebook .pp_content_container .pp_left{background:url("images/prettyPhoto/facebook/contentPatternLeft.png") top left repeat-y} 95 | div.facebook .pp_content_container .pp_right{background:url("images/prettyPhoto/facebook/contentPatternRight.png") top right repeat-y} 96 | div.facebook .pp_expand{background:url("images/prettyPhoto/facebook/sprite.png") -31px -26px no-repeat;cursor:pointer} 97 | div.facebook .pp_expand:hover{background:url("images/prettyPhoto/facebook/sprite.png") -31px -47px no-repeat;cursor:pointer} 98 | div.facebook .pp_contract{background:url("images/prettyPhoto/facebook/sprite.png") 0 -26px no-repeat;cursor:pointer} 99 | div.facebook .pp_contract:hover{background:url("images/prettyPhoto/facebook/sprite.png") 0 -47px no-repeat;cursor:pointer} 100 | div.facebook .pp_close{width:22px;height:22px;background:url("images/prettyPhoto/facebook/sprite.png") -1px -1px no-repeat;cursor:pointer} 101 | div.facebook .pp_description{margin:0 37px 0 0} 102 | div.facebook .pp_loaderIcon{background:url("images/prettyPhoto/facebook/loader.gif") center center no-repeat} 103 | div.facebook .pp_arrow_previous{background:url("images/prettyPhoto/facebook/sprite.png") 0 -71px no-repeat;height:22px;margin-top:0;width:22px} 104 | div.facebook .pp_arrow_previous.disabled{background-position:0 -96px;cursor:default} 105 | div.facebook .pp_arrow_next{background:url("images/prettyPhoto/facebook/sprite.png") -32px -71px no-repeat;height:22px;margin-top:0;width:22px} 106 | div.facebook .pp_arrow_next.disabled{background-position:-32px -96px;cursor:default} 107 | div.facebook .pp_nav{margin-top:0} 108 | div.facebook .pp_nav p{font-size:15px;padding:0 3px 0 4px} 109 | div.facebook .pp_nav .pp_play{background:url("images/prettyPhoto/facebook/sprite.png") -1px -123px no-repeat;height:22px;width:22px} 110 | div.facebook .pp_nav .pp_pause{background:url("images/prettyPhoto/facebook/sprite.png") -32px -123px no-repeat;height:22px;width:22px} 111 | div.facebook .pp_next:hover{background:url("images/prettyPhoto/facebook/btnNext.png") center right no-repeat;cursor:pointer} 112 | div.facebook .pp_previous:hover{background:url("images/prettyPhoto/facebook/btnPrevious.png") center left no-repeat;cursor:pointer} 113 | div.facebook .pp_bottom .pp_left{background:url("images/prettyPhoto/facebook/sprite.png") -88px -80px no-repeat} 114 | div.facebook .pp_bottom .pp_middle{background:url("images/prettyPhoto/facebook/contentPatternBottom.png") top left repeat-x} 115 | div.facebook .pp_bottom .pp_right{background:url("images/prettyPhoto/facebook/sprite.png") -110px -80px no-repeat} 116 | div.pp_pic_holder a:focus{outline:none} 117 | div.pp_overlay{background:#000;display:none;left:0;position:absolute;top:0;width:100%;z-index:9500} 118 | div.pp_pic_holder{display:none;position:absolute;width:100px;z-index:10000} 119 | .pp_content{height:40px;min-width:40px} 120 | * html .pp_content{width:40px} 121 | .pp_content_container{position:relative;text-align:left;width:100%} 122 | .pp_content_container .pp_left{padding-left:20px} 123 | .pp_content_container .pp_right{padding-right:20px} 124 | .pp_content_container .pp_details{float:left;margin:10px 0 2px} 125 | .pp_description{display:none;margin:0} 126 | .pp_social{float:left;margin:0} 127 | .pp_social .facebook{float:left;margin-left:5px;width:55px;overflow:hidden} 128 | .pp_social .twitter{float:left} 129 | .pp_nav{clear:right;float:left;margin:3px 10px 0 0} 130 | .pp_nav p{float:left;white-space:nowrap;margin:2px 4px} 131 | .pp_nav .pp_play,.pp_nav .pp_pause{float:left;margin-right:4px;text-indent:-10000px} 132 | a.pp_arrow_previous,a.pp_arrow_next{display:block;float:left;height:15px;margin-top:3px;overflow:hidden;text-indent:-10000px;width:14px} 133 | .pp_hoverContainer{position:absolute;top:0;width:100%;z-index:2000} 134 | .pp_gallery{display:none;left:50%;margin-top:-50px;position:absolute;z-index:10000} 135 | .pp_gallery div{float:left;overflow:hidden;position:relative} 136 | .pp_gallery ul{float:left;height:35px;position:relative;white-space:nowrap;margin:0 0 0 5px;padding:0} 137 | .pp_gallery ul a{border:1px rgba(0,0,0,0.5) solid;display:block;float:left;height:33px;overflow:hidden} 138 | .pp_gallery ul a img{border:0} 139 | .pp_gallery li{display:block;float:left;margin:0 5px 0 0;padding:0} 140 | .pp_gallery li.default a{background:url("images/prettyPhoto/facebook/default_thumbnail.gif") 0 0 no-repeat;display:block;height:33px;width:50px} 141 | .pp_gallery .pp_arrow_previous,.pp_gallery .pp_arrow_next{margin-top:7px!important} 142 | a.pp_next{background:url("images/prettyPhoto/light_rounded/btnNext.png") 10000px 10000px no-repeat;display:block;float:right;height:100%;text-indent:-10000px;width:49%} 143 | a.pp_previous{background:url("images/prettyPhoto/light_rounded/btnNext.png") 10000px 10000px no-repeat;display:block;float:left;height:100%;text-indent:-10000px;width:49%} 144 | a.pp_expand,a.pp_contract{cursor:pointer;display:none;height:20px;position:absolute;right:30px;text-indent:-10000px;top:10px;width:20px;z-index:20000} 145 | a.pp_close{position:absolute;right:0;top:0;display:block;line-height:22px;text-indent:-10000px} 146 | .pp_loaderIcon{display:block;height:24px;left:50%;position:absolute;top:50%;width:24px;margin:-12px 0 0 -12px} 147 | #pp_full_res{line-height:1!important} 148 | #pp_full_res .pp_inline{text-align:left} 149 | #pp_full_res .pp_inline p{margin:0 0 15px} 150 | div.ppt{color:#fff;display:none;font-size:17px;z-index:9999;margin:0 0 5px 15px} 151 | div.pp_default .pp_content,div.light_rounded .pp_content{background-color:#fff} 152 | div.pp_default #pp_full_res .pp_inline,div.light_rounded .pp_content .ppt,div.light_rounded #pp_full_res .pp_inline,div.light_square .pp_content .ppt,div.light_square #pp_full_res .pp_inline,div.facebook .pp_content .ppt,div.facebook #pp_full_res .pp_inline{color:#000} 153 | div.pp_default .pp_gallery ul li a:hover,div.pp_default .pp_gallery ul li.selected a,.pp_gallery ul a:hover,.pp_gallery li.selected a{border-color:#fff} 154 | div.pp_default .pp_details,div.light_rounded .pp_details,div.dark_rounded .pp_details,div.dark_square .pp_details,div.light_square .pp_details,div.facebook .pp_details{position:relative} 155 | div.light_rounded .pp_top .pp_middle,div.light_rounded .pp_content_container .pp_left,div.light_rounded .pp_content_container .pp_right,div.light_rounded .pp_bottom .pp_middle,div.light_square .pp_left,div.light_square .pp_middle,div.light_square .pp_right,div.light_square .pp_content,div.facebook .pp_content{background:#fff} 156 | div.light_rounded .pp_description,div.light_square .pp_description{margin-right:85px} 157 | div.light_rounded .pp_gallery a.pp_arrow_previous,div.light_rounded .pp_gallery a.pp_arrow_next,div.dark_rounded .pp_gallery a.pp_arrow_previous,div.dark_rounded .pp_gallery a.pp_arrow_next,div.dark_square .pp_gallery a.pp_arrow_previous,div.dark_square .pp_gallery a.pp_arrow_next,div.light_square .pp_gallery a.pp_arrow_previous,div.light_square .pp_gallery a.pp_arrow_next{margin-top:12px!important} 158 | div.light_rounded .pp_arrow_previous.disabled,div.dark_rounded .pp_arrow_previous.disabled,div.dark_square .pp_arrow_previous.disabled,div.light_square .pp_arrow_previous.disabled{background-position:0 -87px;cursor:default} 159 | div.light_rounded .pp_arrow_next.disabled,div.dark_rounded .pp_arrow_next.disabled,div.dark_square .pp_arrow_next.disabled,div.light_square .pp_arrow_next.disabled{background-position:-22px -87px;cursor:default} 160 | div.light_rounded .pp_loaderIcon,div.light_square .pp_loaderIcon{background:url("images/prettyPhoto/light_rounded/loader.gif") center center no-repeat} 161 | div.dark_rounded .pp_top .pp_middle,div.dark_rounded .pp_content,div.dark_rounded .pp_bottom .pp_middle{background:url("images/prettyPhoto/dark_rounded/contentPattern.png") top left repeat} 162 | div.dark_rounded .currentTextHolder,div.dark_square .currentTextHolder{color:#c4c4c4} 163 | div.dark_rounded #pp_full_res .pp_inline,div.dark_square #pp_full_res .pp_inline{color:#fff} 164 | .pp_top,.pp_bottom{height:20px;position:relative} 165 | * html .pp_top,* html .pp_bottom{padding:0 20px} 166 | .pp_top .pp_left,.pp_bottom .pp_left{height:20px;left:0;position:absolute;width:20px} 167 | .pp_top .pp_middle,.pp_bottom .pp_middle{height:20px;left:20px;position:absolute;right:20px} 168 | * html .pp_top .pp_middle,* html .pp_bottom .pp_middle{left:0;position:static} 169 | .pp_top .pp_right,.pp_bottom .pp_right{height:20px;left:auto;position:absolute;right:0;top:0;width:20px} 170 | .pp_fade,.pp_gallery li.default a img{display:none} -------------------------------------------------------------------------------- /assets/css/style.scss: -------------------------------------------------------------------------------- 1 | --- 2 | --- 3 | 4 | /* 5 | Author: Justin Wong 6 | Tsinghua University TUNA Association 7 | http://www.tuna.moe/ 8 | 9 | Original Author 10 | 11 | Author: Carlos Alvarez 12 | URL: http://alvarez.is 13 | 14 | Project Name: SOLID - Bootstrap 3 Theme 15 | Version: 1.0 16 | URL: http://alvarez.is 17 | 18 | */ 19 | 20 | $color_thu_purple: #82318E; 21 | $color_light_grey: #888; 22 | $color_grey: #555; 23 | $color_primary: $color_thu_purple; 24 | $color_primary_light: #d8aff6; 25 | $color_primary_rgb: 92,48,125; 26 | $color_secondary: #384452; 27 | $color_link: #088acb; 28 | $color_link_hover: #62bbe7; 29 | $color_footer_heading: #ffffff; 30 | $color_footer_content: #bfc9d3; 31 | $color_navbar_bg: #d3d3d3; 32 | $font_default: 'Lato', 'Heiti SC', 'Hiragino Sans GB', 'STHeiti', 'Source Han Sans CN', 'WenQuanYi Zen Hei', 'WenQuanYi Micro Hei', '微软雅黑', sans-serif ; 33 | 34 | @import "Lato"; 35 | 36 | @import url("prettyPhoto.css") screen; 37 | @import url("hoverex-all.css") screen; 38 | 39 | /* ################################################################ 40 | 1. GENERAL STRUCTURES 41 | ################################################################# */ 42 | * { 43 | margin: 0; 44 | // padding: 0px; 45 | } 46 | 47 | body { 48 | background: #ffffff; 49 | margin: 0; 50 | height: 100%; 51 | color: $color_secondary; 52 | font-family: $font_default; 53 | font-weight: 400; 54 | } 55 | 56 | h1, h2, h3, h4, h5, h6 { 57 | font-weight: 700; 58 | } 59 | 60 | ul { 61 | padding-left: 1em; 62 | } 63 | 64 | p { 65 | padding: 0; 66 | margin-bottom: 12px; 67 | font-weight: 400; 68 | font-size: 14px; 69 | line-height: 24px; 70 | color: $color_secondary ; 71 | margin-top: 10px; 72 | } 73 | 74 | img { 75 | height: auto; 76 | max-width: 100%; 77 | } 78 | 79 | iframe { 80 | max-width: 100%; 81 | } 82 | 83 | a { 84 | color:$color_link; 85 | padding: 0; 86 | margin: 0; 87 | text-decoration: none; 88 | -webkit-transition: background-color .4s linear, color .4s linear; 89 | -moz-transition: background-color .4s linear, color .4s linear; 90 | -o-transition: background-color .4s linear, color .4s linear; 91 | -ms-transition: background-color .4s linear, color .4s linear; 92 | transition: background-color .4s linear, color .4s linear; 93 | } 94 | 95 | a:hover, 96 | a:focus { 97 | text-decoration: none; 98 | color:$color_link_hover; 99 | } 100 | 101 | ::-moz-selection { 102 | color: #fff; 103 | text-shadow:none; 104 | background:$color_secondary; 105 | } 106 | ::selection { 107 | color: #fff; 108 | text-shadow:none; 109 | background:$color_secondary; 110 | } 111 | 112 | .centered { 113 | text-align: center 114 | } 115 | 116 | /* ################################################################ 117 | BOOTSTRAP MODIFICATIONS & TWEAKS 118 | ################################################################# */ 119 | .navbar { 120 | padding-top: 15px; 121 | margin-bottom: 0px; 122 | } 123 | 124 | .navbar-default { 125 | background-color: white; 126 | border-color: transparent; 127 | 128 | .navbar-nav > li.active > a { 129 | color: $color_thu_purple; 130 | border-bottom: 2px solid $color_thu_purple; 131 | } 132 | .navbar-nav > li > a { 133 | color: $color_secondary; 134 | background: transparent !important; 135 | font-weight: 700; 136 | font-size: 12px; 137 | 138 | &:hover, &:focus { 139 | color: $color_primary !important; 140 | background: transparent !important; 141 | } 142 | } 143 | } 144 | 145 | .navbar-brand { 146 | font-weight: 900; 147 | padding: 0px; 148 | height: 50px; 149 | line-height: 50px; 150 | img { 151 | margin-right: 5px; 152 | } 153 | } 154 | 155 | .navbar-header .navbar-brand { 156 | color: $color_secondary; 157 | } 158 | 159 | .dropdown-menu { 160 | background: $color_secondary ; 161 | } 162 | 163 | .dropdown-menu > li > a { 164 | color: white; 165 | font-weight: 700; 166 | font-size: 12px; 167 | } 168 | 169 | .btn-theme { 170 | color: #fff; 171 | background-color: $color_secondary ; 172 | border-color: $color_secondary ; 173 | margin: 4px; 174 | } 175 | .btn-theme:hover, 176 | .btn-theme:focus, 177 | .btn-theme:active, 178 | .btn-theme.active, 179 | .open .dropdown-toggle.btn-theme { 180 | color: #fff; 181 | background-color: $color_primary ; 182 | border-color: $color_primary ; 183 | } 184 | 185 | .dmbutton:hover, 186 | .dmbutton:active, 187 | .dmbutton:focus{ 188 | color: #ffffff; 189 | background-color: #222222; 190 | border-color: #ffffff; 191 | } 192 | .dmbutton { 193 | background:rgba(0, 0, 0, 0); 194 | border: 1px solid #ffffff; 195 | color: #ffffff; 196 | -webkit-border-radius: 2px; 197 | border-radius: 2px; 198 | padding-top: 1.025rem; 199 | padding-right: 2.25rem; 200 | letter-spacing:0.85px; 201 | padding-bottom: 1.0875rem; 202 | padding-left: 2.25rem; 203 | font-size: 1.55rem; 204 | cursor: pointer; 205 | font-weight: normal; 206 | line-height: normal; 207 | margin: 0 0 1.25rem; 208 | text-decoration: none; 209 | text-align: center; 210 | display: inline-block; 211 | -webkit-transition: background-color 300ms ease-out; 212 | -moz-transition: background-color 300ms ease-out; 213 | transition: background-color 300ms ease-out; 214 | -webkit-appearance: none; 215 | font-weight: normal !important; 216 | } 217 | 218 | .mtb { 219 | margin-top: 40px; 220 | margin-bottom: 80px; 221 | } 222 | 223 | .mb { 224 | margin-bottom: 60px; 225 | } 226 | 227 | .mt { 228 | margin-top: 60px; 229 | } 230 | 231 | .hline { 232 | border-bottom: 1px solid $color_secondary ; 233 | } 234 | 235 | .hline-w { 236 | border-bottom: 1px solid #ffffff; 237 | margin-bottom: 25px; 238 | } 239 | /* ################################################################ 240 | SITE WRAPS 241 | ################################################################# */ 242 | 243 | #headerwrap { 244 | padding-top: 40px; 245 | padding-bottom: 0px; 246 | 247 | h1 { 248 | color: $color_primary ; 249 | margin-bottom: 15px; 250 | } 251 | h3, h5 { 252 | color: $color_primary ; 253 | font-weight: 400; 254 | margin-top: 10px; 255 | } 256 | .img-responsive { 257 | margin: 0 auto; 258 | } 259 | } 260 | 261 | .page-meta { 262 | span { 263 | margin-right: 1em; 264 | } 265 | } 266 | 267 | /* Footer */ 268 | #footerwrap { 269 | color: $color_footer_content; 270 | margin-top: 100px; 271 | padding-top: 60px; 272 | padding-bottom: 60px; 273 | background: $color_secondary; 274 | p { 275 | color: $color_footer_content; 276 | } 277 | h4 { 278 | color: $color_footer_heading; 279 | } 280 | i, i:hover, a, a:hover { 281 | color: $color_footer_content; 282 | } 283 | 284 | } 285 | 286 | .jp-audio { 287 | margin: 0 auto; 288 | } 289 | // #footerwrap i { 290 | // font-size: 30px; 291 | // color: $color_footer_content; 292 | // padding-right: 25px; 293 | // } 294 | // 295 | // #footerwrap i:hover { 296 | // color: $color_primary 297 | // } 298 | 299 | /* ################################################################ 300 | PAGE CONFIGURATIONS 301 | ################################################################# */ 302 | /* General Tweaks */ 303 | 304 | #blue { 305 | background: $color_primary ; 306 | margin-top: 20px; 307 | margin-bottom: 20px; 308 | padding-top: 15px; 309 | padding-bottom: 15px; 310 | } 311 | 312 | #blue h3 { 313 | color: white; 314 | margin-left: 15px; 315 | } 316 | 317 | .ctitle { 318 | color: $color_secondary ; 319 | font-weight: 700; 320 | margin-bottom: 15px; 321 | } 322 | 323 | csmall { 324 | font-size: 12px; 325 | color: #b3b3b3; 326 | } 327 | 328 | .spacing { 329 | margin-top: 40px; 330 | margin-bottom: 40px; 331 | } 332 | 333 | .badge-theme { 334 | background: $color_primary ; 335 | } 336 | 337 | // vim: ts=2 sts=2 sw=2 noexpandtab 338 | -------------------------------------------------------------------------------- /assets/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuna/podcast/0812cea6a8662de1c1c80ec123d2b87c5d1d16f3/assets/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /assets/fonts/Lato-Bold.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuna/podcast/0812cea6a8662de1c1c80ec123d2b87c5d1d16f3/assets/fonts/Lato-Bold.eot -------------------------------------------------------------------------------- /assets/fonts/Lato-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuna/podcast/0812cea6a8662de1c1c80ec123d2b87c5d1d16f3/assets/fonts/Lato-Bold.ttf -------------------------------------------------------------------------------- /assets/fonts/Lato-Bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuna/podcast/0812cea6a8662de1c1c80ec123d2b87c5d1d16f3/assets/fonts/Lato-Bold.woff -------------------------------------------------------------------------------- /assets/fonts/Lato-Bold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuna/podcast/0812cea6a8662de1c1c80ec123d2b87c5d1d16f3/assets/fonts/Lato-Bold.woff2 -------------------------------------------------------------------------------- /assets/fonts/Lato-Italic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuna/podcast/0812cea6a8662de1c1c80ec123d2b87c5d1d16f3/assets/fonts/Lato-Italic.eot -------------------------------------------------------------------------------- /assets/fonts/Lato-Italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuna/podcast/0812cea6a8662de1c1c80ec123d2b87c5d1d16f3/assets/fonts/Lato-Italic.ttf -------------------------------------------------------------------------------- /assets/fonts/Lato-Italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuna/podcast/0812cea6a8662de1c1c80ec123d2b87c5d1d16f3/assets/fonts/Lato-Italic.woff -------------------------------------------------------------------------------- /assets/fonts/Lato-Italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuna/podcast/0812cea6a8662de1c1c80ec123d2b87c5d1d16f3/assets/fonts/Lato-Italic.woff2 -------------------------------------------------------------------------------- /assets/fonts/Lato-Regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuna/podcast/0812cea6a8662de1c1c80ec123d2b87c5d1d16f3/assets/fonts/Lato-Regular.eot -------------------------------------------------------------------------------- /assets/fonts/Lato-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuna/podcast/0812cea6a8662de1c1c80ec123d2b87c5d1d16f3/assets/fonts/Lato-Regular.ttf -------------------------------------------------------------------------------- /assets/fonts/Lato-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuna/podcast/0812cea6a8662de1c1c80ec123d2b87c5d1d16f3/assets/fonts/Lato-Regular.woff -------------------------------------------------------------------------------- /assets/fonts/Lato-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuna/podcast/0812cea6a8662de1c1c80ec123d2b87c5d1d16f3/assets/fonts/Lato-Regular.woff2 -------------------------------------------------------------------------------- /assets/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuna/podcast/0812cea6a8662de1c1c80ec123d2b87c5d1d16f3/assets/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /assets/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuna/podcast/0812cea6a8662de1c1c80ec123d2b87c5d1d16f3/assets/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /assets/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuna/podcast/0812cea6a8662de1c1c80ec123d2b87c5d1d16f3/assets/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /assets/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuna/podcast/0812cea6a8662de1c1c80ec123d2b87c5d1d16f3/assets/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /assets/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuna/podcast/0812cea6a8662de1c1c80ec123d2b87c5d1d16f3/assets/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /assets/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuna/podcast/0812cea6a8662de1c1c80ec123d2b87c5d1d16f3/assets/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /assets/img/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuna/podcast/0812cea6a8662de1c1c80ec123d2b87c5d1d16f3/assets/img/favicon.png -------------------------------------------------------------------------------- /assets/img/logo-small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuna/podcast/0812cea6a8662de1c1c80ec123d2b87c5d1d16f3/assets/img/logo-small.png -------------------------------------------------------------------------------- /assets/img/logo-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuna/podcast/0812cea6a8662de1c1c80ec123d2b87c5d1d16f3/assets/img/logo-white.png -------------------------------------------------------------------------------- /assets/img/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuna/podcast/0812cea6a8662de1c1c80ec123d2b87c5d1d16f3/assets/img/logo.png -------------------------------------------------------------------------------- /assets/img/podcast/2015-11-01-tunight.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuna/podcast/0812cea6a8662de1c1c80ec123d2b87c5d1d16f3/assets/img/podcast/2015-11-01-tunight.jpg -------------------------------------------------------------------------------- /assets/img/podcast/2015-11-09-xing-li.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuna/podcast/0812cea6a8662de1c1c80ec123d2b87c5d1d16f3/assets/img/podcast/2015-11-09-xing-li.jpg -------------------------------------------------------------------------------- /assets/img/podcast/2015-11-13-sensetime-dl2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuna/podcast/0812cea6a8662de1c1c80ec123d2b87c5d1d16f3/assets/img/podcast/2015-11-13-sensetime-dl2.jpg -------------------------------------------------------------------------------- /assets/img/podcast/2015-11-14-PKU-BJGUG.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuna/podcast/0812cea6a8662de1c1c80ec123d2b87c5d1d16f3/assets/img/podcast/2015-11-14-PKU-BJGUG.jpg -------------------------------------------------------------------------------- /assets/img/podcast/2016-02-29-xingli.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuna/podcast/0812cea6a8662de1c1c80ec123d2b87c5d1d16f3/assets/img/podcast/2016-02-29-xingli.jpg -------------------------------------------------------------------------------- /assets/img/podcast/2016-03-07-xingli.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuna/podcast/0812cea6a8662de1c1c80ec123d2b87c5d1d16f3/assets/img/podcast/2016-03-07-xingli.jpg -------------------------------------------------------------------------------- /assets/img/podcast/2016-03-26-haskell.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuna/podcast/0812cea6a8662de1c1c80ec123d2b87c5d1d16f3/assets/img/podcast/2016-03-26-haskell.jpg -------------------------------------------------------------------------------- /assets/img/podcast/2016-05-07-python.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuna/podcast/0812cea6a8662de1c1c80ec123d2b87c5d1d16f3/assets/img/podcast/2016-05-07-python.jpg -------------------------------------------------------------------------------- /assets/img/podcast/2016-10-15-nfc-and-rfid.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuna/podcast/0812cea6a8662de1c1c80ec123d2b87c5d1d16f3/assets/img/podcast/2016-10-15-nfc-and-rfid.jpg -------------------------------------------------------------------------------- /assets/img/tuna.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuna/podcast/0812cea6a8662de1c1c80ec123d2b87c5d1d16f3/assets/img/tuna.png -------------------------------------------------------------------------------- /assets/js/bootstrap.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap v3.1.1 (http://getbootstrap.com) 3 | * Copyright 2011-2014 Twitter, Inc. 4 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) 5 | */ 6 | if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one(a.support.transition.end,function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b()})}(jQuery),+function(a){"use strict";var b='[data-dismiss="alert"]',c=function(c){a(c).on("click",b,this.close)};c.prototype.close=function(b){function c(){f.trigger("closed.bs.alert").remove()}var d=a(this),e=d.attr("data-target");e||(e=d.attr("href"),e=e&&e.replace(/.*(?=#[^\s]*$)/,""));var f=a(e);b&&b.preventDefault(),f.length||(f=d.hasClass("alert")?d:d.parent()),f.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one(a.support.transition.end,c).emulateTransitionEnd(150):c())};var d=a.fn.alert;a.fn.alert=function(b){return this.each(function(){var d=a(this),e=d.data("bs.alert");e||d.data("bs.alert",e=new c(this)),"string"==typeof b&&e[b].call(d)})},a.fn.alert.Constructor=c,a.fn.alert.noConflict=function(){return a.fn.alert=d,this},a(document).on("click.bs.alert.data-api",b,c.prototype.close)}(jQuery),+function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d),this.isLoading=!1};b.DEFAULTS={loadingText:"loading..."},b.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",f.resetText||d.data("resetText",d[e]()),d[e](f[b]||this.options[b]),setTimeout(a.proxy(function(){"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},b.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")&&(c.prop("checked")&&this.$element.hasClass("active")?a=!1:b.find(".active").removeClass("active")),a&&c.prop("checked",!this.$element.hasClass("active")).trigger("change")}a&&this.$element.toggleClass("active")};var c=a.fn.button;a.fn.button=function(c){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof c&&c;e||d.data("bs.button",e=new b(this,f)),"toggle"==c?e.toggle():c&&e.setState(c)})},a.fn.button.Constructor=b,a.fn.button.noConflict=function(){return a.fn.button=c,this},a(document).on("click.bs.button.data-api","[data-toggle^=button]",function(b){var c=a(b.target);c.hasClass("btn")||(c=c.closest(".btn")),c.button("toggle"),b.preventDefault()})}(jQuery),+function(a){"use strict";var b=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=this.sliding=this.interval=this.$active=this.$items=null,"hover"==this.options.pause&&this.$element.on("mouseenter",a.proxy(this.pause,this)).on("mouseleave",a.proxy(this.cycle,this))};b.DEFAULTS={interval:5e3,pause:"hover",wrap:!0},b.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},b.prototype.getActiveIndex=function(){return this.$active=this.$element.find(".item.active"),this.$items=this.$active.parent().children(),this.$items.index(this.$active)},b.prototype.to=function(b){var c=this,d=this.getActiveIndex();return b>this.$items.length-1||0>b?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){c.to(b)}):d==b?this.pause().cycle():this.slide(b>d?"next":"prev",a(this.$items[b]))},b.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},b.prototype.next=function(){return this.sliding?void 0:this.slide("next")},b.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},b.prototype.slide=function(b,c){var d=this.$element.find(".item.active"),e=c||d[b](),f=this.interval,g="next"==b?"left":"right",h="next"==b?"first":"last",i=this;if(!e.length){if(!this.options.wrap)return;e=this.$element.find(".item")[h]()}if(e.hasClass("active"))return this.sliding=!1;var j=a.Event("slide.bs.carousel",{relatedTarget:e[0],direction:g});return this.$element.trigger(j),j.isDefaultPrevented()?void 0:(this.sliding=!0,f&&this.pause(),this.$indicators.length&&(this.$indicators.find(".active").removeClass("active"),this.$element.one("slid.bs.carousel",function(){var b=a(i.$indicators.children()[i.getActiveIndex()]);b&&b.addClass("active")})),a.support.transition&&this.$element.hasClass("slide")?(e.addClass(b),e[0].offsetWidth,d.addClass(g),e.addClass(g),d.one(a.support.transition.end,function(){e.removeClass([b,g].join(" ")).addClass("active"),d.removeClass(["active",g].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger("slid.bs.carousel")},0)}).emulateTransitionEnd(1e3*d.css("transition-duration").slice(0,-1))):(d.removeClass("active"),e.addClass("active"),this.sliding=!1,this.$element.trigger("slid.bs.carousel")),f&&this.cycle(),this)};var c=a.fn.carousel;a.fn.carousel=function(c){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},b.DEFAULTS,d.data(),"object"==typeof c&&c),g="string"==typeof c?c:f.slide;e||d.data("bs.carousel",e=new b(this,f)),"number"==typeof c?e.to(c):g?e[g]():f.interval&&e.pause().cycle()})},a.fn.carousel.Constructor=b,a.fn.carousel.noConflict=function(){return a.fn.carousel=c,this},a(document).on("click.bs.carousel.data-api","[data-slide], [data-slide-to]",function(b){var c,d=a(this),e=a(d.attr("data-target")||(c=d.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"")),f=a.extend({},e.data(),d.data()),g=d.attr("data-slide-to");g&&(f.interval=!1),e.carousel(f),(g=d.attr("data-slide-to"))&&e.data("bs.carousel").to(g),b.preventDefault()}),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var b=a(this);b.carousel(b.data())})})}(jQuery),+function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d),this.transitioning=null,this.options.parent&&(this.$parent=a(this.options.parent)),this.options.toggle&&this.toggle()};b.DEFAULTS={toggle:!0},b.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},b.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b=a.Event("show.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.$parent&&this.$parent.find("> .panel > .in");if(c&&c.length){var d=c.data("bs.collapse");if(d&&d.transitioning)return;c.collapse("hide"),d||c.data("bs.collapse",null)}var e=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[e](0),this.transitioning=1;var f=function(){this.$element.removeClass("collapsing").addClass("collapse in")[e]("auto"),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return f.call(this);var g=a.camelCase(["scroll",e].join("-"));this.$element.one(a.support.transition.end,a.proxy(f,this)).emulateTransitionEnd(350)[e](this.$element[0][g])}}},b.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse").removeClass("in"),this.transitioning=1;var d=function(){this.transitioning=0,this.$element.trigger("hidden.bs.collapse").removeClass("collapsing").addClass("collapse")};return a.support.transition?void this.$element[c](0).one(a.support.transition.end,a.proxy(d,this)).emulateTransitionEnd(350):d.call(this)}}},b.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()};var c=a.fn.collapse;a.fn.collapse=function(c){return this.each(function(){var d=a(this),e=d.data("bs.collapse"),f=a.extend({},b.DEFAULTS,d.data(),"object"==typeof c&&c);!e&&f.toggle&&"show"==c&&(c=!c),e||d.data("bs.collapse",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.collapse.Constructor=b,a.fn.collapse.noConflict=function(){return a.fn.collapse=c,this},a(document).on("click.bs.collapse.data-api","[data-toggle=collapse]",function(b){var c,d=a(this),e=d.attr("data-target")||b.preventDefault()||(c=d.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,""),f=a(e),g=f.data("bs.collapse"),h=g?"toggle":d.data(),i=d.attr("data-parent"),j=i&&a(i);g&&g.transitioning||(j&&j.find('[data-toggle=collapse][data-parent="'+i+'"]').not(d).addClass("collapsed"),d[f.hasClass("in")?"addClass":"removeClass"]("collapsed")),f.collapse(h)})}(jQuery),+function(a){"use strict";function b(b){a(d).remove(),a(e).each(function(){var d=c(a(this)),e={relatedTarget:this};d.hasClass("open")&&(d.trigger(b=a.Event("hide.bs.dropdown",e)),b.isDefaultPrevented()||d.removeClass("open").trigger("hidden.bs.dropdown",e))})}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}var d=".dropdown-backdrop",e="[data-toggle=dropdown]",f=function(b){a(b).on("click.bs.dropdown",this.toggle)};f.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(''}),b.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),b.prototype.constructor=b,b.prototype.getDefaults=function(){return b.DEFAULTS},b.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content")[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},b.prototype.hasContent=function(){return this.getTitle()||this.getContent()},b.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},b.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")},b.prototype.tip=function(){return this.$tip||(this.$tip=a(this.options.template)),this.$tip};var c=a.fn.popover;a.fn.popover=function(c){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof c&&c;(e||"destroy"!=c)&&(e||d.data("bs.popover",e=new b(this,f)),"string"==typeof c&&e[c]())})},a.fn.popover.Constructor=b,a.fn.popover.noConflict=function(){return a.fn.popover=c,this}}(jQuery),+function(a){"use strict";function b(c,d){var e,f=a.proxy(this.process,this);this.$element=a(a(c).is("body")?window:c),this.$body=a("body"),this.$scrollElement=this.$element.on("scroll.bs.scroll-spy.data-api",f),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||(e=a(c).attr("href"))&&e.replace(/.*(?=#[^\s]+$)/,"")||"")+" .nav li > a",this.offsets=a([]),this.targets=a([]),this.activeTarget=null,this.refresh(),this.process()}b.DEFAULTS={offset:10},b.prototype.refresh=function(){var b=this.$element[0]==window?"offset":"position";this.offsets=a([]),this.targets=a([]);{var c=this;this.$body.find(this.selector).map(function(){var d=a(this),e=d.data("target")||d.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[b]().top+(!a.isWindow(c.$scrollElement.get(0))&&c.$scrollElement.scrollTop()),e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){c.offsets.push(this[0]),c.targets.push(this[1])})}},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.$scrollElement[0].scrollHeight||this.$body[0].scrollHeight,d=c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(b>=d)return g!=(a=f.last()[0])&&this.activate(a);if(g&&b<=e[0])return g!=(a=f[0])&&this.activate(a);for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(!e[a+1]||b<=e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){this.activeTarget=b,a(this.selector).parentsUntil(this.options.target,".active").removeClass("active");var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),d.trigger("activate.bs.scrollspy")};var c=a.fn.scrollspy;a.fn.scrollspy=function(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=c,this},a(window).on("load",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);b.scrollspy(b.data())})})}(jQuery),+function(a){"use strict";var b=function(b){this.element=a(b)};b.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.find(".active:last a")[0],f=a.Event("show.bs.tab",{relatedTarget:e});if(b.trigger(f),!f.isDefaultPrevented()){var g=a(d);this.activate(b.parent("li"),c),this.activate(g,g.parent(),function(){b.trigger({type:"shown.bs.tab",relatedTarget:e})})}}},b.prototype.activate=function(b,c,d){function e(){f.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"),b.addClass("active"),g?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu")&&b.closest("li.dropdown").addClass("active"),d&&d()}var f=c.find("> .active"),g=d&&a.support.transition&&f.hasClass("fade");g?f.one(a.support.transition.end,e).emulateTransitionEnd(150):e(),f.removeClass("in")};var c=a.fn.tab;a.fn.tab=function(c){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new b(this)),"string"==typeof c&&e[c]()})},a.fn.tab.Constructor=b,a.fn.tab.noConflict=function(){return a.fn.tab=c,this},a(document).on("click.bs.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(b){b.preventDefault(),a(this).tab("show")})}(jQuery),+function(a){"use strict";var b=function(c,d){this.options=a.extend({},b.DEFAULTS,d),this.$window=a(window).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(c),this.affixed=this.unpin=this.pinnedOffset=null,this.checkPosition()};b.RESET="affix affix-top affix-bottom",b.DEFAULTS={offset:0},b.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(b.RESET).addClass("affix");var a=this.$window.scrollTop(),c=this.$element.offset();return this.pinnedOffset=c.top-a},b.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},b.prototype.checkPosition=function(){if(this.$element.is(":visible")){var c=a(document).height(),d=this.$window.scrollTop(),e=this.$element.offset(),f=this.options.offset,g=f.top,h=f.bottom;"top"==this.affixed&&(e.top+=d),"object"!=typeof f&&(h=g=f),"function"==typeof g&&(g=f.top(this.$element)),"function"==typeof h&&(h=f.bottom(this.$element));var i=null!=this.unpin&&d+this.unpin<=e.top?!1:null!=h&&e.top+this.$element.height()>=c-h?"bottom":null!=g&&g>=d?"top":!1;if(this.affixed!==i){this.unpin&&this.$element.css("top","");var j="affix"+(i?"-"+i:""),k=a.Event(j+".bs.affix");this.$element.trigger(k),k.isDefaultPrevented()||(this.affixed=i,this.unpin="bottom"==i?this.getPinnedOffset():null,this.$element.removeClass(b.RESET).addClass(j).trigger(a.Event(j.replace("affix","affixed"))),"bottom"==i&&this.$element.offset({top:c-h-this.$element.height()}))}}};var c=a.fn.affix;a.fn.affix=function(c){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof c&&c;e||d.data("bs.affix",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.affix.Constructor=b,a.fn.affix.noConflict=function(){return a.fn.affix=c,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var b=a(this),c=b.data();c.offset=c.offset||{},c.offsetBottom&&(c.offset.bottom=c.offsetBottom),c.offsetTop&&(c.offset.top=c.offsetTop),b.affix(c)})})}(jQuery); -------------------------------------------------------------------------------- /assets/js/custom.js: -------------------------------------------------------------------------------- 1 | (function($) { 2 | 3 | // prettyPhoto 4 | jQuery(document).ready(function(){ 5 | jQuery('a[data-gal]').each(function() { 6 | jQuery(this).attr('rel', jQuery(this).data('gal')); 7 | }); 8 | jQuery("a[data-rel^='prettyPhoto']").prettyPhoto({animationSpeed:'slow',theme:'light_square',slideshow:false,overlay_gallery: false,social_tools:false,deeplinking:false}); 9 | }); 10 | 11 | 12 | })(jQuery); -------------------------------------------------------------------------------- /assets/js/jquery.hoverdir.js: -------------------------------------------------------------------------------- 1 | /** 2 | * jquery.hoverdir.js v1.1.0 3 | * http://www.codrops.com 4 | * 5 | * Licensed under the MIT license. 6 | * http://www.opensource.org/licenses/mit-license.php 7 | * 8 | * Copyright 2012, Codrops 9 | * http://www.codrops.com 10 | */ 11 | ;( function( $, window, undefined ) { 12 | 13 | 'use strict'; 14 | 15 | $.HoverDir = function( options, element ) { 16 | 17 | this.$el = $( element ); 18 | this._init( options ); 19 | 20 | }; 21 | 22 | // the options 23 | $.HoverDir.defaults = { 24 | speed : 300, 25 | easing : 'ease', 26 | hoverDelay : 0, 27 | inverse : false 28 | }; 29 | 30 | $.HoverDir.prototype = { 31 | 32 | _init : function( options ) { 33 | 34 | // options 35 | this.options = $.extend( true, {}, $.HoverDir.defaults, options ); 36 | // transition properties 37 | this.transitionProp = 'all ' + this.options.speed + 'ms ' + this.options.easing; 38 | // support for CSS transitions 39 | this.support = Modernizr.csstransitions; 40 | // load the events 41 | this._loadEvents(); 42 | 43 | }, 44 | _loadEvents : function() { 45 | 46 | var self = this; 47 | 48 | this.$el.on( 'mouseenter.hoverdir, mouseleave.hoverdir', function( event ) { 49 | 50 | var $el = $( this ), 51 | $hoverElem = $el.find( 'div' ), 52 | direction = self._getDir( $el, { x : event.pageX, y : event.pageY } ), 53 | styleCSS = self._getStyle( direction ); 54 | 55 | if( event.type === 'mouseenter' ) { 56 | 57 | $hoverElem.hide().css( styleCSS.from ); 58 | clearTimeout( self.tmhover ); 59 | 60 | self.tmhover = setTimeout( function() { 61 | 62 | $hoverElem.show( 0, function() { 63 | 64 | var $el = $( this ); 65 | if( self.support ) { 66 | $el.css( 'transition', self.transitionProp ); 67 | } 68 | self._applyAnimation( $el, styleCSS.to, self.options.speed ); 69 | 70 | } ); 71 | 72 | 73 | }, self.options.hoverDelay ); 74 | 75 | } 76 | else { 77 | 78 | if( self.support ) { 79 | $hoverElem.css( 'transition', self.transitionProp ); 80 | } 81 | clearTimeout( self.tmhover ); 82 | self._applyAnimation( $hoverElem, styleCSS.from, self.options.speed ); 83 | 84 | } 85 | 86 | } ); 87 | 88 | }, 89 | // credits : http://stackoverflow.com/a/3647634 90 | _getDir : function( $el, coordinates ) { 91 | 92 | // the width and height of the current div 93 | var w = $el.width(), 94 | h = $el.height(), 95 | 96 | // calculate the x and y to get an angle to the center of the div from that x and y. 97 | // gets the x value relative to the center of the DIV and "normalize" it 98 | x = ( coordinates.x - $el.offset().left - ( w/2 )) * ( w > h ? ( h/w ) : 1 ), 99 | y = ( coordinates.y - $el.offset().top - ( h/2 )) * ( h > w ? ( w/h ) : 1 ), 100 | 101 | // the angle and the direction from where the mouse came in/went out clockwise (TRBL=0123); 102 | // first calculate the angle of the point, 103 | // add 180 deg to get rid of the negative values 104 | // divide by 90 to get the quadrant 105 | // add 3 and do a modulo by 4 to shift the quadrants to a proper clockwise TRBL (top/right/bottom/left) **/ 106 | direction = Math.round( ( ( ( Math.atan2(y, x) * (180 / Math.PI) ) + 180 ) / 90 ) + 3 ) % 4; 107 | 108 | return direction; 109 | 110 | }, 111 | _getStyle : function( direction ) { 112 | 113 | var fromStyle, toStyle, 114 | slideFromTop = { left : '0px', top : '-100%' }, 115 | slideFromBottom = { left : '0px', top : '100%' }, 116 | slideFromLeft = { left : '-100%', top : '0px' }, 117 | slideFromRight = { left : '100%', top : '0px' }, 118 | slideTop = { top : '0px' }, 119 | slideLeft = { left : '0px' }; 120 | 121 | switch( direction ) { 122 | case 0: 123 | // from top 124 | fromStyle = !this.options.inverse ? slideFromTop : slideFromBottom; 125 | toStyle = slideTop; 126 | break; 127 | case 1: 128 | // from right 129 | fromStyle = !this.options.inverse ? slideFromRight : slideFromLeft; 130 | toStyle = slideLeft; 131 | break; 132 | case 2: 133 | // from bottom 134 | fromStyle = !this.options.inverse ? slideFromBottom : slideFromTop; 135 | toStyle = slideTop; 136 | break; 137 | case 3: 138 | // from left 139 | fromStyle = !this.options.inverse ? slideFromLeft : slideFromRight; 140 | toStyle = slideLeft; 141 | break; 142 | }; 143 | 144 | return { from : fromStyle, to : toStyle }; 145 | 146 | }, 147 | // apply a transition or fallback to jquery animate based on Modernizr.csstransitions support 148 | _applyAnimation : function( el, styleCSS, speed ) { 149 | 150 | $.fn.applyStyle = this.support ? $.fn.css : $.fn.animate; 151 | el.stop().applyStyle( styleCSS, $.extend( true, [], { duration : speed + 'ms' } ) ); 152 | 153 | }, 154 | 155 | }; 156 | 157 | var logError = function( message ) { 158 | 159 | if ( window.console ) { 160 | 161 | window.console.error( message ); 162 | 163 | } 164 | 165 | }; 166 | 167 | $.fn.hoverdir = function( options ) { 168 | 169 | var instance = $.data( this, 'hoverdir' ); 170 | 171 | if ( typeof options === 'string' ) { 172 | 173 | var args = Array.prototype.slice.call( arguments, 1 ); 174 | 175 | this.each(function() { 176 | 177 | if ( !instance ) { 178 | 179 | logError( "cannot call methods on hoverdir prior to initialization; " + 180 | "attempted to call method '" + options + "'" ); 181 | return; 182 | 183 | } 184 | 185 | if ( !$.isFunction( instance[options] ) || options.charAt(0) === "_" ) { 186 | 187 | logError( "no such method '" + options + "' for hoverdir instance" ); 188 | return; 189 | 190 | } 191 | 192 | instance[ options ].apply( instance, args ); 193 | 194 | }); 195 | 196 | } 197 | else { 198 | 199 | this.each(function() { 200 | 201 | if ( instance ) { 202 | 203 | instance._init(); 204 | 205 | } 206 | else { 207 | 208 | instance = $.data( this, 'hoverdir', new $.HoverDir( options, this ) ); 209 | 210 | } 211 | 212 | }); 213 | 214 | } 215 | 216 | return instance; 217 | 218 | }; 219 | 220 | } )( jQuery, window ); 221 | -------------------------------------------------------------------------------- /assets/js/jquery.hoverex.min.js: -------------------------------------------------------------------------------- 1 | !function(a){var b={fn:{moveZoom:function(a,b){var i,c=a.height(),d=a.width(),e=b.pageY-a.offset().top,f=b.pageX-a.offset().left,g=a.find("img"),h=a.data("zoom");h&&"auto"!=h?(i=parseFloat(h),g.css({width:d*i+"px",height:c*i+"px",top:-e*(i-1)+"px",left:-f*(i-1)+"px"})):(i=g.width()/d,g.css({top:-e*(i-1)+"px",left:-f*(i-1)+"px"}))},changeZoom:function(a,c,d,e,f){var i,j,k,l,m,n,g=a.find("img"),h=a.data("zoom");h="auto"==h?g.width()/a.width():parseFloat(h),i=a.data("zoomstep"),i=i?parseFloat(i):.5,j=a.data("zoomrange"),j=j?j.split(","):"1,4",k=parseFloat(j[0]),l=parseFloat(j[1])>h?parseFloat(j[1]):h,m=f>0?1:-1,n=Math.round(10*(h+i*m))/10,n>=k&&l>=n&&(a.data("zoom",n),b.fn.showZoomState(a,n),b.fn.moveZoom(a,c))},showZoomState:function(b,c){var d=b.find(".he-zoomstate");0==d.length&&(d=a(''+c+"X").appendTo(b)),d.text(c+"X").stop(!0,!0).fadeIn(300).delay(200).fadeOut(300)},switchImg:function(a,b){var d,e,c=a.data("animate");c=c?c:"random","random"==c&&(d=["fadeIn","fadeInLeft","fadeInRight","fadeInUp","fadeInDown","rotateIn","rotateInLeft","rotateInRight","rotateInUp","rotateInDown","bounce","bounceInLeft","bounceInRight","bounceInUp","bounceInDown","elasticInLeft","elasticInRight","elasticInUp","elasticInDown","zoomIn","zoomInLeft","zoomInRight","zoomInUp","zoomInDown","jellyInLeft","jellyInRight","jellyInDown","jellyInUp","flipInLeft","flipInRight","flipInUp","flipInDown","flipInV","flipInH"],c=d[Math.floor(Math.random()*d.length)]),e=a.find("img"),e.length>1&&(b>0?(e.eq(0).attr("class","a0").appendTo(a),e.eq(1).attr("class","a0 "+c)):(e.eq(e.length-1).attr("class","a0 "+c).prependTo(a),e.eq(0).attr("class","a0")))}}};a(function(){a(document).on("mouseenter",".he-wrap",function(){var b=a(this).find(".he-view").addClass("he-view-show");a("[data-animate]",b).each(function(){var b=a(this).data("animate");a(this).addClass(b)}),a(this).find(".he-zoom").addClass("he-view-show")}).on("mouseleave",".he-wrap",function(){var b=a(this).find(".he-view").removeClass("he-view-show");a("[data-animate]",b).each(function(){var b=a(this).data("animate");a(this).removeClass(b)}),a(this).find(".he-zoom").removeClass("he-view-show")}).on("mousewheel",".he-wrap",function(c,d,e,f){var g,h,i;1==a(this).find(".he-sliders").length?(g=a(this).find(".he-sliders"),h=f>0?1:-1,b.fn.switchImg(g,h),c.preventDefault()):1==a(this).find(".he-zoom").length&&(i=a(this).find(".he-zoom"),b.fn.changeZoom(i,c,d,e,f),c.preventDefault())}).on("mousemove",".he-zoom",function(c){b.fn.moveZoom(a(this),c)}).on("click",".he-pre",function(){var c=a(this).parents(".he-wrap").find(".he-sliders");b.fn.switchImg(c,-1)}).on("click",".he-next",function(){var c=a(this).parents(".he-wrap").find(".he-sliders");b.fn.switchImg(c,1)})})}(jQuery),function(a){function d(b){var c=b||window.event,d=[].slice.call(arguments,1),e=0,g=0,h=0;return b=a.event.fix(c),b.type="mousewheel",c.wheelDelta&&(e=c.wheelDelta/120),c.detail&&(e=-c.detail/3),h=e,void 0!==c.axis&&c.axis===c.HORIZONTAL_AXIS&&(h=0,g=-1*e),void 0!==c.wheelDeltaY&&(h=c.wheelDeltaY/120),void 0!==c.wheelDeltaX&&(g=-1*c.wheelDeltaX/120),d.unshift(b,e,g,h),(a.event.dispatch||a.event.handle).apply(this,d)}var c,b=["DOMMouseScroll","mousewheel"];if(a.event.fixHooks)for(c=b.length;c;)a.event.fixHooks[b[--c]]=a.event.mouseHooks;a.event.special.mousewheel={setup:function(){if(this.addEventListener)for(var a=b.length;a;)this.addEventListener(b[--a],d,!1);else this.onmousewheel=d},teardown:function(){if(this.removeEventListener)for(var a=b.length;a;)this.removeEventListener(b[--a],d,!1);else this.onmousewheel=null}},a.fn.extend({mousewheel:function(a){return a?this.bind("mousewheel",a):this.trigger("mousewheel")},unmousewheel:function(a){return this.unbind("mousewheel",a)}})}(jQuery); -------------------------------------------------------------------------------- /assets/js/jquery.isotope.min.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Isotope v1.5.25 3 | * An exquisite jQuery plugin for magical layouts 4 | * http://isotope.metafizzy.co 5 | * 6 | * Commercial use requires one-time purchase of a commercial license 7 | * http://isotope.metafizzy.co/docs/license.html 8 | * 9 | * Non-commercial use is licensed under the MIT License 10 | * 11 | * Copyright 2013 Metafizzy 12 | */ 13 | (function(a,b,c){"use strict";var d=a.document,e=a.Modernizr,f=function(a){return a.charAt(0).toUpperCase()+a.slice(1)},g="Moz Webkit O Ms".split(" "),h=function(a){var b=d.documentElement.style,c;if(typeof b[a]=="string")return a;a=f(a);for(var e=0,h=g.length;e"+d+"{#modernizr{height:3px}}"+"").appendTo("head"),f=b('
').appendTo("html");a=f.height()===3,f.remove(),e.remove()}return a},csstransitions:function(){return!!j}},l;if(e)for(l in k)e.hasOwnProperty(l)||e.addTest(l,k[l]);else{e=a.Modernizr={_version:"1.6ish: miniModernizr for Isotope"};var m=" ",n;for(l in k)n=k[l](),e[l]=n,m+=" "+(n?"":"no-")+l;b("html").addClass(m)}if(e.csstransforms){var o=e.csstransforms3d?{translate:function(a){return"translate3d("+a[0]+"px, "+a[1]+"px, 0) "},scale:function(a){return"scale3d("+a+", "+a+", 1) "}}:{translate:function(a){return"translate("+a[0]+"px, "+a[1]+"px) "},scale:function(a){return"scale("+a+") "}},p=function(a,c,d){var e=b.data(a,"isoTransform")||{},f={},g,h={},j;f[c]=d,b.extend(e,f);for(g in e)j=e[g],h[g]=o[g](j);var k=h.translate||"",l=h.scale||"",m=k+l;b.data(a,"isoTransform",e),a.style[i]=m};b.cssNumber.scale=!0,b.cssHooks.scale={set:function(a,b){p(a,"scale",b)},get:function(a,c){var d=b.data(a,"isoTransform");return d&&d.scale?d.scale:1}},b.fx.step.scale=function(a){b.cssHooks.scale.set(a.elem,a.now+a.unit)},b.cssNumber.translate=!0,b.cssHooks.translate={set:function(a,b){p(a,"translate",b)},get:function(a,c){var d=b.data(a,"isoTransform");return d&&d.translate?d.translate:[0,0]}}}var q,r;e.csstransitions&&(q={WebkitTransitionProperty:"webkitTransitionEnd",MozTransitionProperty:"transitionend",OTransitionProperty:"oTransitionEnd otransitionend",transitionProperty:"transitionend"}[j],r=h("transitionDuration"));var s=b.event,t=b.event.handle?"handle":"dispatch",u;s.special.smartresize={setup:function(){b(this).bind("resize",s.special.smartresize.handler)},teardown:function(){b(this).unbind("resize",s.special.smartresize.handler)},handler:function(a,b){var c=this,d=arguments;a.type="smartresize",u&&clearTimeout(u),u=setTimeout(function(){s[t].apply(c,d)},b==="execAsap"?0:100)}},b.fn.smartresize=function(a){return a?this.bind("smartresize",a):this.trigger("smartresize",["execAsap"])},b.Isotope=function(a,c,d){this.element=b(c),this._create(a),this._init(d)};var v=["width","height"],w=b(a);b.Isotope.settings={resizable:!0,layoutMode:"masonry",containerClass:"isotope",itemClass:"isotope-item",hiddenClass:"isotope-hidden",hiddenStyle:{opacity:0,scale:.001},visibleStyle:{opacity:1,scale:1},containerStyle:{position:"relative",overflow:"hidden"},animationEngine:"best-available",animationOptions:{queue:!1,duration:800},sortBy:"original-order",sortAscending:!0,resizesContainer:!0,transformsEnabled:!0,itemPositionDataEnabled:!1},b.Isotope.prototype={_create:function(a){this.options=b.extend({},b.Isotope.settings,a),this.styleQueue=[],this.elemCount=0;var c=this.element[0].style;this.originalStyle={};var d=v.slice(0);for(var e in this.options.containerStyle)d.push(e);for(var f=0,g=d.length;fg?1:f0&&(i=function(a,b){b.$el[d](b.style,f).one(q,k)},j=!1)}}b.each(this.styleQueue,i),j&&k(),this.styleQueue=[]},resize:function(){this["_"+this.options.layoutMode+"ResizeChanged"]()&&this.reLayout()},reLayout:function(a){this["_"+this.options.layoutMode+"Reset"](),this.layout(this.$filteredAtoms,a)},addItems:function(a,b){var c=this._getAtoms(a);this.$allAtoms=this.$allAtoms.add(c),b&&b(c)},insert:function(a,b){this.element.append(a);var c=this;this.addItems(a,function(a){var d=c._filter(a);c._addHideAppended(d),c._sort(),c.reLayout(),c._revealAppended(d,b)})},appended:function(a,b){var c=this;this.addItems(a,function(a){c._addHideAppended(a),c.layout(a),c._revealAppended(a,b)})},_addHideAppended:function(a){this.$filteredAtoms=this.$filteredAtoms.add(a),a.addClass("no-transition"),this._isInserting=!0,this.styleQueue.push({$el:a,style:this.options.hiddenStyle})},_revealAppended:function(a,b){var c=this;setTimeout(function(){a.removeClass("no-transition"),c.styleQueue.push({$el:a,style:c.options.visibleStyle}),c._isInserting=!1,c._processStyleQueue(a,b)},10)},reloadItems:function(){this.$allAtoms=this._getAtoms(this.element.children())},remove:function(a,b){this.$allAtoms=this.$allAtoms.not(a),this.$filteredAtoms=this.$filteredAtoms.not(a);var c=this,d=function(){a.remove(),b&&b.call(c.element)};a.filter(":not(."+this.options.hiddenClass+")").length?(this.styleQueue.push({$el:a,style:this.options.hiddenStyle}),this._sort(),this.reLayout(d)):d()},shuffle:function(a){this.updateSortData(this.$allAtoms),this.options.sortBy="random",this._sort(),this.reLayout(a)},destroy:function(){var a=this.usingTransforms,b=this.options;this.$allAtoms.removeClass(b.hiddenClass+" "+b.itemClass).each(function(){var b=this.style;b.position="",b.top="",b.left="",b.opacity="",a&&(b[i]="")});var c=this.element[0].style;for(var d in this.originalStyle)c[d]=this.originalStyle[d];this.element.unbind(".isotope").undelegate("."+b.hiddenClass,"click").removeClass(b.containerClass).removeData("isotope"),w.unbind(".isotope")},_getSegments:function(a){var b=this.options.layoutMode,c=a?"rowHeight":"columnWidth",d=a?"height":"width",e=a?"rows":"cols",g=this.element[d](),h,i=this.options[b]&&this.options[b][c]||this.$filteredAtoms["outer"+f(d)](!0)||g;h=Math.floor(g/i),h=Math.max(h,1),this[b][e]=h,this[b][c]=i},_checkIfSegmentsChanged:function(a){var b=this.options.layoutMode,c=a?"rows":"cols",d=this[b][c];return this._getSegments(a),this[b][c]!==d},_masonryReset:function(){this.masonry={},this._getSegments();var a=this.masonry.cols;this.masonry.colYs=[];while(a--)this.masonry.colYs.push(0)},_masonryLayout:function(a){var c=this,d=c.masonry;a.each(function(){var a=b(this),e=Math.ceil(a.outerWidth(!0)/d.columnWidth);e=Math.min(e,d.cols);if(e===1)c._masonryPlaceBrick(a,d.colYs);else{var f=d.cols+1-e,g=[],h,i;for(i=0;id&&(e.x=0,e.y=e.height),c._pushPosition(a,e.x,e.y),e.height=Math.max(e.y+g,e.height),e.x+=f})},_fitRowsGetContainerSize:function(){return{height:this.fitRows.height}},_fitRowsResizeChanged:function(){return!0},_cellsByRowReset:function(){this.cellsByRow={index:0},this._getSegments(),this._getSegments(!0)},_cellsByRowLayout:function(a){var c=this,d=this.cellsByRow;a.each(function(){var a=b(this),e=d.index%d.cols,f=Math.floor(d.index/d.cols),g=(e+.5)*d.columnWidth-a.outerWidth(!0)/2,h=(f+.5)*d.rowHeight-a.outerHeight(!0)/2;c._pushPosition(a,g,h),d.index++})},_cellsByRowGetContainerSize:function(){return{height:Math.ceil(this.$filteredAtoms.length/this.cellsByRow.cols)*this.cellsByRow.rowHeight+this.offset.top}},_cellsByRowResizeChanged:function(){return this._checkIfSegmentsChanged()},_straightDownReset:function(){this.straightDown={y:0}},_straightDownLayout:function(a){var c=this;a.each(function(a){var d=b(this);c._pushPosition(d,0,c.straightDown.y),c.straightDown.y+=d.outerHeight(!0)})},_straightDownGetContainerSize:function(){return{height:this.straightDown.y}},_straightDownResizeChanged:function(){return!0},_masonryHorizontalReset:function(){this.masonryHorizontal={},this._getSegments(!0);var a=this.masonryHorizontal.rows;this.masonryHorizontal.rowXs=[];while(a--)this.masonryHorizontal.rowXs.push(0)},_masonryHorizontalLayout:function(a){var c=this,d=c.masonryHorizontal;a.each(function(){var a=b(this),e=Math.ceil(a.outerHeight(!0)/d.rowHeight);e=Math.min(e,d.rows);if(e===1)c._masonryHorizontalPlaceBrick(a,d.rowXs);else{var f=d.rows+1-e,g=[],h,i;for(i=0;id&&(e.x=e.width,e.y=0),c._pushPosition(a,e.x,e.y),e.width=Math.max(e.x+f,e.width),e.y+=g})},_fitColumnsGetContainerSize:function(){return{width:this.fitColumns.width}},_fitColumnsResizeChanged:function(){return!0},_cellsByColumnReset:function(){this.cellsByColumn={index:0},this._getSegments(),this._getSegments(!0)},_cellsByColumnLayout:function(a){var c=this,d=this.cellsByColumn;a.each(function(){var a=b(this),e=Math.floor(d.index/d.rows),f=d.index%d.rows,g=(e+.5)*d.columnWidth-a.outerWidth(!0)/2,h=(f+.5)*d.rowHeight-a.outerHeight(!0)/2;c._pushPosition(a,g,h),d.index++})},_cellsByColumnGetContainerSize:function(){return{width:Math.ceil(this.$filteredAtoms.length/this.cellsByColumn.rows)*this.cellsByColumn.columnWidth}},_cellsByColumnResizeChanged:function(){return this._checkIfSegmentsChanged(!0)},_straightAcrossReset:function(){this.straightAcross={x:0}},_straightAcrossLayout:function(a){var c=this;a.each(function(a){var d=b(this);c._pushPosition(d,c.straightAcross.x,0),c.straightAcross.x+=d.outerWidth(!0)})},_straightAcrossGetContainerSize:function(){return{width:this.straightAcross.x}},_straightAcrossResizeChanged:function(){return!0}},b.fn.imagesLoaded=function(a){function h(){a.call(c,d)}function i(a){var c=a.target;c.src!==f&&b.inArray(c,g)===-1&&(g.push(c),--e<=0&&(setTimeout(h),d.unbind(".imagesLoaded",i)))}var c=this,d=c.find("img").add(c.filter("img")),e=d.length,f="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==",g=[];return e||h(),d.bind("load.imagesLoaded error.imagesLoaded",i).each(function(){var a=this.src;this.src=f,this.src=a}),c};var x=function(b){a.console&&a.console.error(b)};b.fn.isotope=function(a,c){if(typeof a=="string"){var d=Array.prototype.slice.call(arguments,1);this.each(function(){var c=b.data(this,"isotope");if(!c){x("cannot call methods on isotope prior to initialization; attempted to call method '"+a+"'");return}if(!b.isFunction(c[a])||a.charAt(0)==="_"){x("no such method '"+a+"' for isotope instance");return}c[a].apply(c,d)})}else this.each(function(){var d=b.data(this,"isotope");d?(d.option(a),d._init(c)):b.data(this,"isotope",new b.Isotope(a,this,c))});return this}})(window,jQuery); -------------------------------------------------------------------------------- /assets/js/jquery.prettyPhoto.js: -------------------------------------------------------------------------------- 1 | /* ------------------------------------------------------------------------ 2 | Class: prettyPhoto 3 | Use: Lightbox clone for jQuery 4 | Author: Stephane Caron (http://www.no-margin-for-errors.com) 5 | Version: 3.1.5 6 | ------------------------------------------------------------------------- */ 7 | (function(e){function t(){var e=location.href;hashtag=e.indexOf("#prettyPhoto")!==-1?decodeURI(e.substring(e.indexOf("#prettyPhoto")+1,e.length)):false;return hashtag}function n(){if(typeof theRel=="undefined")return;location.hash=theRel+"/"+rel_index+"/"}function r(){if(location.href.indexOf("#prettyPhoto")!==-1)location.hash="prettyPhoto"}function i(e,t){e=e.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");var n="[\\?&]"+e+"=([^&#]*)";var r=new RegExp(n);var i=r.exec(t);return i==null?"":i[1]}e.prettyPhoto={version:"3.1.5"};e.fn.prettyPhoto=function(s){function g(){e(".pp_loaderIcon").hide();projectedTop=scroll_pos["scrollTop"]+(d/2-a["containerHeight"]/2);if(projectedTop<0)projectedTop=0;$ppt.fadeTo(settings.animation_speed,1);$pp_pic_holder.find(".pp_content").animate({height:a["contentHeight"],width:a["contentWidth"]},settings.animation_speed);$pp_pic_holder.animate({top:projectedTop,left:v/2-a["containerWidth"]/2<0?0:v/2-a["containerWidth"]/2,width:a["containerWidth"]},settings.animation_speed,function(){$pp_pic_holder.find(".pp_hoverContainer,#fullResImage").height(a["height"]).width(a["width"]);$pp_pic_holder.find(".pp_fade").fadeIn(settings.animation_speed);if(isSet&&S(pp_images[set_position])=="image"){$pp_pic_holder.find(".pp_hoverContainer").show()}else{$pp_pic_holder.find(".pp_hoverContainer").hide()}if(settings.allow_expand){if(a["resized"]){e("a.pp_expand,a.pp_contract").show()}else{e("a.pp_expand").hide()}}if(settings.autoplay_slideshow&&!m&&!f)e.prettyPhoto.startSlideshow();settings.changepicturecallback();f=true});C();s.ajaxcallback()}function y(t){$pp_pic_holder.find("#pp_full_res object,#pp_full_res embed").css("visibility","hidden");$pp_pic_holder.find(".pp_fade").fadeOut(settings.animation_speed,function(){e(".pp_loaderIcon").show();t()})}function b(t){t>1?e(".pp_nav").show():e(".pp_nav").hide()}function w(e,t){resized=false;E(e,t);imageWidth=e,imageHeight=t;if((p>v||h>d)&&doresize&&settings.allow_resize&&!u){resized=true,fitting=false;while(!fitting){if(p>v){imageWidth=v-200;imageHeight=t/e*imageWidth}else if(h>d){imageHeight=d-200;imageWidth=e/t*imageHeight}else{fitting=true}h=imageHeight,p=imageWidth}if(p>v||h>d){w(p,h)}E(imageWidth,imageHeight)}return{width:Math.floor(imageWidth),height:Math.floor(imageHeight),containerHeight:Math.floor(h),containerWidth:Math.floor(p)+settings.horizontal_padding*2,contentHeight:Math.floor(l),contentWidth:Math.floor(c),resized:resized}}function E(t,n){t=parseFloat(t);n=parseFloat(n);$pp_details=$pp_pic_holder.find(".pp_details");$pp_details.width(t);detailsHeight=parseFloat($pp_details.css("marginTop"))+parseFloat($pp_details.css("marginBottom"));$pp_details=$pp_details.clone().addClass(settings.theme).width(t).appendTo(e("body")).css({position:"absolute",top:-1e4});detailsHeight+=$pp_details.height();detailsHeight=detailsHeight<=34?36:detailsHeight;$pp_details.remove();$pp_title=$pp_pic_holder.find(".ppt");$pp_title.width(t);titleHeight=parseFloat($pp_title.css("marginTop"))+parseFloat($pp_title.css("marginBottom"));$pp_title=$pp_title.clone().appendTo(e("body")).css({position:"absolute",top:-1e4});titleHeight+=$pp_title.height();$pp_title.remove();l=n+detailsHeight;c=t;h=l+titleHeight+$pp_pic_holder.find(".pp_top").height()+$pp_pic_holder.find(".pp_bottom").height();p=t}function S(e){if(e.match(/youtube\.com\/watch/i)||e.match(/youtu\.be/i)){return"youtube"}else if(e.match(/vimeo\.com/i)){return"vimeo"}else if(e.match(/\b.mov\b/i)){return"quicktime"}else if(e.match(/\b.swf\b/i)){return"flash"}else if(e.match(/\biframe=true\b/i)){return"iframe"}else if(e.match(/\bajax=true\b/i)){return"ajax"}else if(e.match(/\bcustom=true\b/i)){return"custom"}else if(e.substr(0,1)=="#"){return"inline"}else{return"image"}}function x(){if(doresize&&typeof $pp_pic_holder!="undefined"){scroll_pos=T();contentHeight=$pp_pic_holder.height(),contentwidth=$pp_pic_holder.width();projectedTop=d/2+scroll_pos["scrollTop"]-contentHeight/2;if(projectedTop<0)projectedTop=0;if(contentHeight>d)return;$pp_pic_holder.css({top:projectedTop,left:v/2+scroll_pos["scrollLeft"]-contentwidth/2})}}function T(){if(self.pageYOffset){return{scrollTop:self.pageYOffset,scrollLeft:self.pageXOffset}}else if(document.documentElement&&document.documentElement.scrollTop){return{scrollTop:document.documentElement.scrollTop,scrollLeft:document.documentElement.scrollLeft}}else if(document.body){return{scrollTop:document.body.scrollTop,scrollLeft:document.body.scrollLeft}}}function N(){d=e(window).height(),v=e(window).width();if(typeof $pp_overlay!="undefined")$pp_overlay.height(e(document).height()).width(v)}function C(){if(isSet&&settings.overlay_gallery&&S(pp_images[set_position])=="image"){itemWidth=52+5;navWidth=settings.theme=="facebook"||settings.theme=="pp_default"?50:30;itemsPerPage=Math.floor((a["containerWidth"]-100-navWidth)/itemWidth);itemsPerPage=itemsPerPage"}toInject=settings.gallery_markup.replace(/{gallery}/g,toInject);$pp_pic_holder.find("#pp_full_res").after(toInject);$pp_gallery=e(".pp_pic_holder .pp_gallery"),$pp_gallery_li=$pp_gallery.find("li");$pp_gallery.find(".pp_arrow_next").click(function(){e.prettyPhoto.changeGalleryPage("next");e.prettyPhoto.stopSlideshow();return false});$pp_gallery.find(".pp_arrow_previous").click(function(){e.prettyPhoto.changeGalleryPage("previous");e.prettyPhoto.stopSlideshow();return false});$pp_pic_holder.find(".pp_content").hover(function(){$pp_pic_holder.find(".pp_gallery:not(.disabled)").fadeIn()},function(){$pp_pic_holder.find(".pp_gallery:not(.disabled)").fadeOut()});itemWidth=52+5;$pp_gallery_li.each(function(t){e(this).find("a").click(function(){e.prettyPhoto.changePage(t);e.prettyPhoto.stopSlideshow();return false})})}if(settings.slideshow){$pp_pic_holder.find(".pp_nav").prepend('Play');$pp_pic_holder.find(".pp_nav .pp_play").click(function(){e.prettyPhoto.startSlideshow();return false})}$pp_pic_holder.attr("class","pp_pic_holder "+settings.theme);$pp_overlay.css({opacity:0,height:e(document).height(),width:e(window).width()}).bind("click",function(){if(!settings.modal)e.prettyPhoto.close()});e("a.pp_close").bind("click",function(){e.prettyPhoto.close();return false});if(settings.allow_expand){e("a.pp_expand").bind("click",function(t){if(e(this).hasClass("pp_expand")){e(this).removeClass("pp_expand").addClass("pp_contract");doresize=false}else{e(this).removeClass("pp_contract").addClass("pp_expand");doresize=true}y(function(){e.prettyPhoto.open()});return false})}$pp_pic_holder.find(".pp_previous, .pp_nav .pp_arrow_previous").bind("click",function(){e.prettyPhoto.changePage("previous");e.prettyPhoto.stopSlideshow();return false});$pp_pic_holder.find(".pp_next, .pp_nav .pp_arrow_next").bind("click",function(){e.prettyPhoto.changePage("next");e.prettyPhoto.stopSlideshow();return false});x()}s=jQuery.extend({hook:"rel",animation_speed:"fast",ajaxcallback:function(){},slideshow:5e3,autoplay_slideshow:false,opacity:.8,show_title:true,allow_resize:true,allow_expand:true,default_width:500,default_height:344,counter_separator_label:"/",theme:"pp_default",horizontal_padding:20,hideflash:false,wmode:"opaque",autoplay:true,modal:false,deeplinking:true,overlay_gallery:true,overlay_gallery_max:30,keyboard_shortcuts:true,changepicturecallback:function(){},callback:function(){},ie6_fallback:true,markup:'
 
',gallery_markup:'',image_markup:'',flash_markup:'',quicktime_markup:'',iframe_markup:'',inline_markup:'
{content}
',custom_markup:"",social_tools:''},s);var o=this,u=false,a,f,l,c,h,p,d=e(window).height(),v=e(window).width(),m;doresize=true,scroll_pos=T();e(window).unbind("resize.prettyphoto").bind("resize.prettyphoto",function(){x();N()});if(s.keyboard_shortcuts){e(document).unbind("keydown.prettyphoto").bind("keydown.prettyphoto",function(t){if(typeof $pp_pic_holder!="undefined"){if($pp_pic_holder.is(":visible")){switch(t.keyCode){case 37:e.prettyPhoto.changePage("previous");t.preventDefault();break;case 39:e.prettyPhoto.changePage("next");t.preventDefault();break;case 27:if(!settings.modal)e.prettyPhoto.close();t.preventDefault();break}}}})}e.prettyPhoto.initialize=function(){settings=s;if(settings.theme=="pp_default")settings.horizontal_padding=16;theRel=e(this).attr(settings.hook);galleryRegExp=/\[(?:.*)\]/;isSet=galleryRegExp.exec(theRel)?true:false;pp_images=isSet?jQuery.map(o,function(t,n){if(e(t).attr(settings.hook).indexOf(theRel)!=-1)return e(t).attr("href")}):e.makeArray(e(this).attr("href"));pp_titles=isSet?jQuery.map(o,function(t,n){if(e(t).attr(settings.hook).indexOf(theRel)!=-1)return e(t).find("img").attr("alt")?e(t).find("img").attr("alt"):""}):e.makeArray(e(this).find("img").attr("alt"));pp_descriptions=isSet?jQuery.map(o,function(t,n){if(e(t).attr(settings.hook).indexOf(theRel)!=-1)return e(t).attr("title")?e(t).attr("title"):""}):e.makeArray(e(this).attr("title"));if(pp_images.length>settings.overlay_gallery_max)settings.overlay_gallery=false;set_position=jQuery.inArray(e(this).attr("href"),pp_images);rel_index=isSet?set_position:e("a["+settings.hook+"^='"+theRel+"']").index(e(this));k(this);if(settings.allow_resize)e(window).bind("scroll.prettyphoto",function(){x()});e.prettyPhoto.open();return false};e.prettyPhoto.open=function(t){if(typeof settings=="undefined"){settings=s;pp_images=e.makeArray(arguments[0]);pp_titles=arguments[1]?e.makeArray(arguments[1]):e.makeArray("");pp_descriptions=arguments[2]?e.makeArray(arguments[2]):e.makeArray("");isSet=pp_images.length>1?true:false;set_position=arguments[3]?arguments[3]:0;k(t.target)}if(settings.hideflash)e("object,embed,iframe[src*=youtube],iframe[src*=vimeo]").css("visibility","hidden");b(e(pp_images).size());e(".pp_loaderIcon").show();if(settings.deeplinking)n();if(settings.social_tools){facebook_like_link=settings.social_tools.replace("{location_href}",encodeURIComponent(location.href));$pp_pic_holder.find(".pp_social").html(facebook_like_link)}if($ppt.is(":hidden"))$ppt.css("opacity",0).show();$pp_overlay.show().fadeTo(settings.animation_speed,settings.opacity);$pp_pic_holder.find(".currentTextHolder").text(set_position+1+settings.counter_separator_label+e(pp_images).size());if(typeof pp_descriptions[set_position]!="undefined"&&pp_descriptions[set_position]!=""){$pp_pic_holder.find(".pp_description").show().html(unescape(pp_descriptions[set_position]))}else{$pp_pic_holder.find(".pp_description").hide()}movie_width=parseFloat(i("width",pp_images[set_position]))?i("width",pp_images[set_position]):settings.default_width.toString();movie_height=parseFloat(i("height",pp_images[set_position]))?i("height",pp_images[set_position]):settings.default_height.toString();u=false;if(movie_height.indexOf("%")!=-1){movie_height=parseFloat(e(window).height()*parseFloat(movie_height)/100-150);u=true}if(movie_width.indexOf("%")!=-1){movie_width=parseFloat(e(window).width()*parseFloat(movie_width)/100-150);u=true}$pp_pic_holder.fadeIn(function(){settings.show_title&&pp_titles[set_position]!=""&&typeof pp_titles[set_position]!="undefined"?$ppt.html(unescape(pp_titles[set_position])):$ppt.html(" ");imgPreloader="";skipInjection=false;switch(S(pp_images[set_position])){case"image":imgPreloader=new Image;nextImage=new Image;if(isSet&&set_position0)movie_id=movie_id.substr(0,movie_id.indexOf("?"));if(movie_id.indexOf("&")>0)movie_id=movie_id.substr(0,movie_id.indexOf("&"))}movie="http://www.youtube.com/embed/"+movie_id;i("rel",pp_images[set_position])?movie+="?rel="+i("rel",pp_images[set_position]):movie+="?rel=1";if(settings.autoplay)movie+="&autoplay=1";toInject=settings.iframe_markup.replace(/{width}/g,a["width"]).replace(/{height}/g,a["height"]).replace(/{wmode}/g,settings.wmode).replace(/{path}/g,movie);break;case"vimeo":a=w(movie_width,movie_height);movie_id=pp_images[set_position];var t=/http(s?):\/\/(www\.)?vimeo.com\/(\d+)/;var n=movie_id.match(t);movie="http://player.vimeo.com/video/"+n[3]+"?title=0&byline=0&portrait=0";if(settings.autoplay)movie+="&autoplay=1;";vimeo_width=a["width"]+"/embed/?moog_width="+a["width"];toInject=settings.iframe_markup.replace(/{width}/g,vimeo_width).replace(/{height}/g,a["height"]).replace(/{path}/g,movie);break;case"quicktime":a=w(movie_width,movie_height);a["height"]+=15;a["contentHeight"]+=15;a["containerHeight"]+=15;toInject=settings.quicktime_markup.replace(/{width}/g,a["width"]).replace(/{height}/g,a["height"]).replace(/{wmode}/g,settings.wmode).replace(/{path}/g,pp_images[set_position]).replace(/{autoplay}/g,settings.autoplay);break;case"flash":a=w(movie_width,movie_height);flash_vars=pp_images[set_position];flash_vars=flash_vars.substring(pp_images[set_position].indexOf("flashvars")+10,pp_images[set_position].length);filename=pp_images[set_position];filename=filename.substring(0,filename.indexOf("?"));toInject=settings.flash_markup.replace(/{width}/g,a["width"]).replace(/{height}/g,a["height"]).replace(/{wmode}/g,settings.wmode).replace(/{path}/g,filename+"?"+flash_vars);break;case"iframe":a=w(movie_width,movie_height);frame_url=pp_images[set_position];frame_url=frame_url.substr(0,frame_url.indexOf("iframe")-1);toInject=settings.iframe_markup.replace(/{width}/g,a["width"]).replace(/{height}/g,a["height"]).replace(/{path}/g,frame_url);break;case"ajax":doresize=false;a=w(movie_width,movie_height);doresize=true;skipInjection=true;e.get(pp_images[set_position],function(e){toInject=settings.inline_markup.replace(/{content}/g,e);$pp_pic_holder.find("#pp_full_res")[0].innerHTML=toInject;g()});break;case"custom":a=w(movie_width,movie_height);toInject=settings.custom_markup;break;case"inline":myClone=e(pp_images[set_position]).clone().append('
').css({width:settings.default_width}).wrapInner('
').appendTo(e("body")).show();doresize=false;a=w(e(myClone).width(),e(myClone).height());doresize=true;e(myClone).remove();toInject=settings.inline_markup.replace(/{content}/g,e(pp_images[set_position]).html());break}if(!imgPreloader&&!skipInjection){$pp_pic_holder.find("#pp_full_res")[0].innerHTML=toInject;g()}});return false};e.prettyPhoto.changePage=function(t){currentGalleryPage=0;if(t=="previous"){set_position--;if(set_position<0)set_position=e(pp_images).size()-1}else if(t=="next"){set_position++;if(set_position>e(pp_images).size()-1)set_position=0}else{set_position=t}rel_index=set_position;if(!doresize)doresize=true;if(settings.allow_expand){e(".pp_contract").removeClass("pp_contract").addClass("pp_expand")}y(function(){e.prettyPhoto.open()})};e.prettyPhoto.changeGalleryPage=function(e){if(e=="next"){currentGalleryPage++;if(currentGalleryPage>totalPage)currentGalleryPage=0}else if(e=="previous"){currentGalleryPage--;if(currentGalleryPage<0)currentGalleryPage=totalPage}else{currentGalleryPage=e}slide_speed=e=="next"||e=="previous"?settings.animation_speed:0;slide_to=currentGalleryPage*itemsPerPage*itemWidth;$pp_gallery.find("ul").animate({left:-slide_to},slide_speed)};e.prettyPhoto.startSlideshow=function(){if(typeof m=="undefined"){$pp_pic_holder.find(".pp_play").unbind("click").removeClass("pp_play").addClass("pp_pause").click(function(){e.prettyPhoto.stopSlideshow();return false});m=setInterval(e.prettyPhoto.startSlideshow,settings.slideshow)}else{e.prettyPhoto.changePage("next")}};e.prettyPhoto.stopSlideshow=function(){$pp_pic_holder.find(".pp_pause").unbind("click").removeClass("pp_pause").addClass("pp_play").click(function(){e.prettyPhoto.startSlideshow();return false});clearInterval(m);m=undefined};e.prettyPhoto.close=function(){if($pp_overlay.is(":animated"))return;e.prettyPhoto.stopSlideshow();$pp_pic_holder.stop().find("object,embed").css("visibility","hidden");e("div.pp_pic_holder,div.ppt,.pp_fade").fadeOut(settings.animation_speed,function(){e(this).remove()});$pp_overlay.fadeOut(settings.animation_speed,function(){if(settings.hideflash)e("object,embed,iframe[src*=youtube],iframe[src*=vimeo]").css("visibility","visible");e(this).remove();e(window).unbind("scroll.prettyphoto");r();settings.callback();doresize=true;f=false;delete settings})};if(!pp_alreadyInitialized&&t()){pp_alreadyInitialized=true;hashIndex=t();hashRel=hashIndex;hashIndex=hashIndex.substring(hashIndex.indexOf("/")+1,hashIndex.length-1);hashRel=hashRel.substring(0,hashRel.indexOf("/"));setTimeout(function(){e("a["+s.hook+"^='"+hashRel+"']:eq("+hashIndex+")").trigger("click")},50)}return this.unbind("click.prettyphoto").bind("click.prettyphoto",e.prettyPhoto.initialize)};})(jQuery);var pp_alreadyInitialized=false -------------------------------------------------------------------------------- /assets/js/retina-1.1.0.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Retina.js v1.1.0 3 | * 4 | * Copyright 2013 Imulus, LLC 5 | * Released under the MIT license 6 | * 7 | * Retina.js is an open source script that makes it easy to serve 8 | * high-resolution images to devices with retina displays. 9 | */ 10 | (function() { 11 | 12 | var root = (typeof exports == 'undefined' ? window : exports); 13 | 14 | var config = { 15 | // Ensure Content-Type is an image before trying to load @2x image 16 | // https://github.com/imulus/retinajs/pull/45) 17 | check_mime_type: true 18 | }; 19 | 20 | 21 | 22 | root.Retina = Retina; 23 | 24 | function Retina() {} 25 | 26 | Retina.configure = function(options) { 27 | if (options == null) options = {}; 28 | for (var prop in options) config[prop] = options[prop]; 29 | }; 30 | 31 | Retina.init = function(context) { 32 | if (context == null) context = root; 33 | 34 | var existing_onload = context.onload || new Function; 35 | 36 | context.onload = function() { 37 | var images = document.getElementsByTagName("img"), retinaImages = [], i, image; 38 | for (i = 0; i < images.length; i++) { 39 | image = images[i]; 40 | retinaImages.push(new RetinaImage(image)); 41 | } 42 | existing_onload(); 43 | } 44 | }; 45 | 46 | Retina.isRetina = function(){ 47 | var mediaQuery = "(-webkit-min-device-pixel-ratio: 1.5),\ 48 | (min--moz-device-pixel-ratio: 1.5),\ 49 | (-o-min-device-pixel-ratio: 3/2),\ 50 | (min-resolution: 1.5dppx)"; 51 | 52 | if (root.devicePixelRatio > 1) 53 | return true; 54 | 55 | if (root.matchMedia && root.matchMedia(mediaQuery).matches) 56 | return true; 57 | 58 | return false; 59 | }; 60 | 61 | 62 | root.RetinaImagePath = RetinaImagePath; 63 | 64 | function RetinaImagePath(path, at_2x_path) { 65 | this.path = path; 66 | if (typeof at_2x_path !== "undefined" && at_2x_path !== null) { 67 | this.at_2x_path = at_2x_path; 68 | this.perform_check = false; 69 | } else { 70 | this.at_2x_path = path.replace(/\.\w+$/, function(match) { return "@2x" + match; }); 71 | this.perform_check = true; 72 | } 73 | } 74 | 75 | RetinaImagePath.confirmed_paths = []; 76 | 77 | RetinaImagePath.prototype.is_external = function() { 78 | return !!(this.path.match(/^https?\:/i) && !this.path.match('//' + document.domain) ) 79 | } 80 | 81 | RetinaImagePath.prototype.check_2x_variant = function(callback) { 82 | var http, that = this; 83 | if (this.is_external()) { 84 | return callback(false); 85 | } else if (!this.perform_check && typeof this.at_2x_path !== "undefined" && this.at_2x_path !== null) { 86 | return callback(true); 87 | } else if (this.at_2x_path in RetinaImagePath.confirmed_paths) { 88 | return callback(true); 89 | } else { 90 | http = new XMLHttpRequest; 91 | http.open('HEAD', this.at_2x_path); 92 | http.onreadystatechange = function() { 93 | if (http.readyState != 4) { 94 | return callback(false); 95 | } 96 | 97 | if (http.status >= 200 && http.status <= 399) { 98 | if (config.check_mime_type) { 99 | var type = http.getResponseHeader('Content-Type'); 100 | if (type == null || !type.match(/^image/i)) { 101 | return callback(false); 102 | } 103 | } 104 | 105 | RetinaImagePath.confirmed_paths.push(that.at_2x_path); 106 | return callback(true); 107 | } else { 108 | return callback(false); 109 | } 110 | } 111 | http.send(); 112 | } 113 | } 114 | 115 | 116 | 117 | function RetinaImage(el) { 118 | this.el = el; 119 | this.path = new RetinaImagePath(this.el.getAttribute('src'), this.el.getAttribute('data-at2x')); 120 | var that = this; 121 | this.path.check_2x_variant(function(hasVariant) { 122 | if (hasVariant) that.swap(); 123 | }); 124 | } 125 | 126 | root.RetinaImage = RetinaImage; 127 | 128 | RetinaImage.prototype.swap = function(path) { 129 | if (typeof path == 'undefined') path = this.path.at_2x_path; 130 | 131 | var that = this; 132 | function load() { 133 | if (! that.el.complete) { 134 | setTimeout(load, 5); 135 | } else { 136 | that.el.setAttribute('width', that.el.offsetWidth); 137 | that.el.setAttribute('height', that.el.offsetHeight); 138 | that.el.setAttribute('src', path); 139 | } 140 | } 141 | load(); 142 | } 143 | 144 | 145 | 146 | 147 | if (Retina.isRetina()) { 148 | Retina.init(root); 149 | } 150 | 151 | })(); 152 | 153 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | title: Podcast 4 | permalink: / 5 | --- 6 | 7 |
8 |
9 |
10 |

# Podcasts

11 |

通过 Podcast 订阅音频.

12 |

本站内容按 CC-BY-NC-SA 协议 发布。

13 | 14 | {% for post in site.posts %} 15 | 16 |
17 | {% if post.thumb %} 18 |
19 | {% else %} 20 |
21 | {% endif %} 22 |

{{ post.title }}

23 | 26 | {{ post.content }} 27 |

[Read More]

28 |
29 | {% if post.thumb %} 30 |
31 | 32 |
33 | {% endif %} 34 |
35 |
36 |
37 | {% endfor %} 38 | 39 |

Subscribe to this blog via Podcast.

40 |
41 |
42 |
43 |
44 | 45 | 46 | 49 | -------------------------------------------------------------------------------- /podcast.xml: -------------------------------------------------------------------------------- 1 | --- 2 | layout: null 3 | --- 4 | 5 | 6 | 7 | {{ site.title | xml_escape }} 8 | {{ site.url }}{{ site.baseurl }}/ 9 | {{ site.copyright }} 10 | 11 | {{ site.author }} 12 | {{ site.description | xml_escape }} 13 | 14 | {{ site.owner }} 15 | {{ site.email }} 16 | 17 | 18 | 19 | {% for post in site.categories['podcast'] %} 20 | 21 | {{ post.title | xml_escape}} 22 | {{ post.excerpt | strip_html | xml_escape }} 23 | {{ post.author }} 24 | {{ post.subtitle }} 25 | {{ post.excerpt | strip_html | xml_escape }} 26 | 27 | 28 | 29 | {{ post.date | date_to_rfc822 }} 30 | {{ post.duration }} 31 | 32 | {% endfor %} 33 | 34 | 35 | --------------------------------------------------------------------------------