├── LICENSE ├── README.md ├── _config.yml ├── languages ├── de.yml ├── default.yml ├── ru.yml ├── zh-CN.yml └── zh-TW.yml ├── layout ├── _partial │ ├── after_footer.ejs │ ├── archive.ejs │ ├── article.ejs │ ├── comment.ejs │ ├── footer.ejs │ ├── google_analytics.ejs │ ├── head.ejs │ ├── header.ejs │ ├── math-jax.ejs │ ├── pagination.ejs │ ├── post │ │ ├── articlenav.ejs │ │ ├── category.ejs │ │ ├── gallery.ejs │ │ ├── share.ejs │ │ ├── tag.ejs │ │ └── title.ejs │ └── sidebar.ejs ├── _widget │ ├── category.ejs │ ├── intro.ejs │ ├── rss.ejs │ ├── search.ejs │ ├── tag.ejs │ ├── tagcloud.ejs │ ├── twitter.ejs │ └── weibo.ejs ├── archive.ejs ├── category.ejs ├── index.ejs ├── layout.ejs ├── page.ejs ├── post.ejs └── tag.ejs └── source ├── css ├── _base │ ├── layout.styl │ ├── utils.styl │ └── variable.styl ├── _partial │ ├── archive.styl │ ├── article.styl │ ├── comment.styl │ ├── footer.styl │ ├── header.styl │ ├── index.styl │ ├── sidebar.styl │ └── syntax.styl ├── font │ ├── fontawesome-webfont.eot │ ├── fontawesome-webfont.svg │ ├── fontawesome-webfont.ttf │ └── fontawesome-webfont.woff └── style.styl ├── fancybox ├── blank.gif ├── fancybox_loading.gif ├── fancybox_loading@2x.gif ├── fancybox_overlay.png ├── fancybox_sprite.png ├── fancybox_sprite@2x.png ├── jquery.fancybox.css └── jquery.fancybox.pack.js ├── imgs ├── 11zhexo.svg └── noise.png └── js ├── gallery.js └── jquery.imagesloaded.min.js /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2012 Tommy Chen 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 4 | 5 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 6 | 7 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Lightum 2 | 3 | This is the theme I currently use for [Hexo](http://hexo.io/). It is based on [Light](https://github.com/hexojs/hexo-theme-light). See my blog as a [Demo](http://zipperary.com/). 4 | 5 | For clarity, I leave all my settings unchanged. So you are suggested to modify the theme as you need. 6 | 7 | ## Install 8 | 9 | Execute the following command and modify `theme` in `_config.yml` to `lightum`. 10 | 11 | ``` 12 | git clone https://github.com/zippera/lightum.git themes/lightum 13 | ``` 14 | 15 | ## Update 16 | 17 | Execute the following command to update Light. 18 | 19 | ``` 20 | cd themes/lightum 21 | git pull 22 | ``` 23 | 24 | ## Customization 25 | 26 | - **About**: [FYI](http://zipperary.com/2013/05/30/hexo-guide-4/). Edit this file to add your information. 27 | - **RSS**: [FYI](http://zipperary.com/2013/06/02/hexo-guide-5/) 28 | - **Intro**: Go to `layout/_widget/intro.ejs` and add your information. 29 | - **Weibo**: Go to `layout/_widget/weibo.ejs` and add your weibo configuration. [FYI](http://zipperary.com/2013/05/30/hexo-guide-4/) 30 | - **Fork me on Github**: Go to `layout/layout.ejs` and change the Github username to yours. Replace the src URL of the `` with your own, which I recommend qiniu or the `source` dir under the `hexo` dir. 31 | -------------------------------------------------------------------------------- /_config.yml: -------------------------------------------------------------------------------- 1 | menu: 2 | 首页: / 3 | 归档: /archives 4 | 关于: /about 5 | 工具: /tools 6 | 7 | 8 | widgets: 9 | - search 10 | - category 11 | - intro 12 | - weibo 13 | 14 | excerpt_link: 阅读全文 15 | 16 | plugins: 17 | - hexo-generator-feed 18 | 19 | twitter: 20 | username: 21 | show_replies: false 22 | tweet_count: 5 23 | 24 | addthis: 25 | enable: true 26 | pubid: 27 | facebook: true 28 | twitter: true 29 | google: true 30 | pinterest: true 31 | 32 | fancybox: true 33 | 34 | google_analytics: UA-41207871-1 35 | rss: http://zipperary.com/atom.xml 36 | -------------------------------------------------------------------------------- /languages/de.yml: -------------------------------------------------------------------------------- 1 | categories: Kategorien 2 | search: Suche 3 | tags: Tags 4 | tagcloud: Tag-Cloud 5 | tweets: Tweets 6 | prev: "Vorherige Seite" 7 | next: "Nächste Seite" 8 | comment: Kommentare 9 | archive_a: Archiv 10 | archive_b: "Archiv: %s" 11 | page: "Seite %d" 12 | recent_posts: "Neueste Artikel" 13 | -------------------------------------------------------------------------------- /languages/default.yml: -------------------------------------------------------------------------------- 1 | categories: Categories 2 | search: Search 3 | tags: Tags 4 | tagcloud: "Tag Cloud" 5 | tweets: Tweets 6 | prev: Prev 7 | next: Next 8 | comment: Comments 9 | archive_a: Archives 10 | archive_b: "Archives: %s" 11 | page: "Page %d" 12 | recent_posts: "Recent Posts" 13 | -------------------------------------------------------------------------------- /languages/ru.yml: -------------------------------------------------------------------------------- 1 | categories: Категории 2 | search: Поиск 3 | tags: Метки 4 | tagcloud: "Облако меток" 5 | tweets: Твиты 6 | prev: Назад 7 | next: Вперед 8 | comment: Комментарии 9 | archive_a: Архив 10 | archive_b: "Архив: %s" 11 | page: "Страница %d" 12 | -------------------------------------------------------------------------------- /languages/zh-CN.yml: -------------------------------------------------------------------------------- 1 | categories: 分类 2 | search: 搜索 3 | tags: 标签 4 | tagcloud: 标签云 5 | tweets: 推文 6 | prev: 上一页 7 | next: 下一页 8 | comment: 留言 9 | archive_a: 归档 10 | archive_b: "归档:%s" 11 | page: "第 %d 页" 12 | recent_posts: 最新文章 13 | -------------------------------------------------------------------------------- /languages/zh-TW.yml: -------------------------------------------------------------------------------- 1 | categories: 分類 2 | search: 搜尋 3 | tags: 標籤 4 | tagcloud: 標籤雲 5 | tweets: 推文 6 | prev: 上一頁 7 | next: 下一頁 8 | comment: 留言 9 | archive_a: 彙整 10 | archive_b: "彙整:%s" 11 | page: "第 %d 頁" 12 | recent_posts: 最新文章 13 | -------------------------------------------------------------------------------- /layout/_partial/after_footer.ejs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | <% if (config.disqus_shortname){ %> 6 | 17 | <% } %> 18 | 19 | <% if (theme.fancybox){ %> 20 | 21 | 22 | 27 | <% } %> 28 | -------------------------------------------------------------------------------- /layout/_partial/archive.ejs: -------------------------------------------------------------------------------- 1 | <% 2 | var title = ''; 3 | if (page.category) title = page.category; 4 | if (page.tag) title = page.tag; 5 | if (page.archive){ 6 | if (page.year) title = page.year + (page.month ? '/' + page.month : ''); 7 | else title = __('archive_a'); 8 | } 9 | %> 10 |

<%= title %>

11 | 12 | <% if (pagination == 2){ %> 13 | <% page.posts.each(function(item){ %> 14 | <%- partial('article', {item: item, index: true}) %> 15 | <% }); %> 16 | 17 | <%- partial('pagination') %> 18 | <% } else { %> 19 |
20 | <% page.posts.each(function(item){ %> 21 |
22 |
23 |
24 |
25 | 26 | <% if (item.link){ %> 27 | <% if (item.title){ %> 28 |

<%= item.title %>

29 | <% } else { %> 30 |

<%= item.link %>

31 | <% } %> 32 | <% } else { %> 33 |

<%= item.title %>

34 | <% } %> 35 |
36 |
37 |
38 | <% }); %> 39 |
40 | <% } %> -------------------------------------------------------------------------------- /layout/_partial/article.ejs: -------------------------------------------------------------------------------- 1 |
2 | <% if (item.photos){ %> 3 | <%- partial('post/gallery') %> 4 | <% } %> 5 |
6 |
7 | <% if (item.layout != 'page'){ %> 8 |
9 | 10 | <% } %> 11 | <%- partial('post/title') %> 12 |
13 |
14 | <% if (item.excerpt && index){ %> 15 | <%- item.excerpt %> 16 | <% } else { %> 17 | <%- item.content %> 18 | <% } %> 19 |
20 | 53 |
54 |
55 | 56 | <%- partial('comment') %> -------------------------------------------------------------------------------- /layout/_partial/comment.ejs: -------------------------------------------------------------------------------- 1 | <% if ( page.comments){ %> 2 | 3 | 12 | 13 | 14 | 15 |
16 | 17 | 18 |
19 | 30 | 31 | 32 | 33 |
34 | <% } %> 35 | -------------------------------------------------------------------------------- /layout/_partial/footer.ejs: -------------------------------------------------------------------------------- 1 |
2 | Theme of Lightum, Improved from Light, by zippera 3 |
4 |
5 | -------------------------------------------------------------------------------- /layout/_partial/google_analytics.ejs: -------------------------------------------------------------------------------- 1 | 5 | 6 | <% if (theme.google_analytics){ %> 7 | 18 | <% } %> 19 | -------------------------------------------------------------------------------- /layout/_partial/head.ejs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | <% 6 | var title = []; 7 | if (page.current > 1) title.push(__('page', page.current)); 8 | if (page.title) title.push(page.title); 9 | if (page.category) title.push(page.category); 10 | if (page.tag) title.push(page.tag); 11 | if (page.archive){ 12 | if (page.year) title.push(__('archive_b', page.year + (page.month ? '/' + page.month : ''))); 13 | else title.push(__('archive_a')); 14 | } 15 | title.push(config.title); 16 | %> 17 | <%= title.join(' | ') %> 18 | <% if (config.author){ %><% } %> 19 | <% if (page.description){ %> 20 | 21 | <% } else if (config.description){ %> 22 | 23 | <% } else if (page.excerpt){ %> 24 | 25 | <% } else if (page.content){ %> 26 | 27 | <% } %> 28 | <% if (page.keywords){ %><% } %> 29 | 30 | 31 | <% if (page.title){ %><% } %> 32 | 33 | 34 | <% if(page.cover) { %> 35 | 36 | <% } else { %> 37 | 38 | <% } %> 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /layout/_partial/header.ejs: -------------------------------------------------------------------------------- 1 | 2 |
3 |

<%= config.title %>

4 |

<% if (config.subtitle){ %><%= config.subtitle %><% } %>

5 |
6 | 166 |
-------------------------------------------------------------------------------- /layout/_partial/math-jax.ejs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 11 | 12 | 19 | 20 | 28 | 29 | -------------------------------------------------------------------------------- /layout/_partial/pagination.ejs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /layout/_partial/post/articlenav.ejs: -------------------------------------------------------------------------------- 1 |
2 | <% if (page.prev){ %> 3 | 4 | <% } %> 5 | <% if (page.next){ %> 6 | 7 | <% } %> 8 |
-------------------------------------------------------------------------------- /layout/_partial/post/category.ejs: -------------------------------------------------------------------------------- 1 | <% if (item.categories && item.categories.length){ %> 2 | <% 3 | var cats = []; 4 | item.categories.forEach(function(cat){ 5 | cats.push('' + cat.name + ''); 6 | }); 7 | %> 8 |
9 | <%- cats.join(', ') %> 10 |
11 | <% } %> -------------------------------------------------------------------------------- /layout/_partial/post/gallery.ejs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /layout/_partial/post/share.ejs: -------------------------------------------------------------------------------- 1 | <% if (theme.addthis.enable){ %> 2 |
3 | <% if (theme.addthis.facebook){ %> 4 | 5 | <% } %> 6 | <% if (theme.addthis.twitter){ %> 7 | 8 | <% } %> 9 | <% if (theme.addthis.google){ %> 10 | 11 | <% } %> 12 | <% if (theme.addthis.pinterest){ %> 13 | 14 | <% } %> 15 | 16 |
17 | 18 | <% } %> -------------------------------------------------------------------------------- /layout/_partial/post/tag.ejs: -------------------------------------------------------------------------------- 1 | <% if (item.tags && item.tags.length){ %> 2 | <% 3 | var tags = []; 4 | item.tags.forEach(function(tag){ 5 | tags.push('' + tag.name + ''); 6 | }); 7 | %> 8 |
9 | <%- tags.join(', ') %> 10 |
11 | <% } %> -------------------------------------------------------------------------------- /layout/_partial/post/title.ejs: -------------------------------------------------------------------------------- 1 | <% if (item.link){ %> 2 | <% if (item.title){ %> 3 |

<%= item.title %>

4 | <% } else { %> 5 |

<%= item.link %>

6 | <% } %> 7 | <% } else { %> 8 | <% if (index){ %> 9 |

<%= item.title %>

10 | <% } else { %> 11 |

<%= item.title %>

12 | <% } %> 13 | <% } %> -------------------------------------------------------------------------------- /layout/_partial/sidebar.ejs: -------------------------------------------------------------------------------- 1 | <% theme.widgets.forEach(function(widget){ %> 2 | <%- partial('../_widget/' + widget) %> 3 | <% }); %> -------------------------------------------------------------------------------- /layout/_widget/category.ejs: -------------------------------------------------------------------------------- 1 | <% if (site.categories.length){ %> 2 |
3 |

<%= __('categories') %>

4 | 9 |
10 | <% } %> -------------------------------------------------------------------------------- /layout/_widget/intro.ejs: -------------------------------------------------------------------------------- 1 |
2 |

简介

3 | 12 |
13 | 14 | -------------------------------------------------------------------------------- /layout/_widget/rss.ejs: -------------------------------------------------------------------------------- 1 | 2 |
3 |

订阅

4 | 10 |
-------------------------------------------------------------------------------- /layout/_widget/search.ejs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /layout/_widget/tag.ejs: -------------------------------------------------------------------------------- 1 | <% if (site.tags.length){ %> 2 |
3 |

<%= __('tags') %>

4 | 9 |
10 | <% } %> -------------------------------------------------------------------------------- /layout/_widget/tagcloud.ejs: -------------------------------------------------------------------------------- 1 | <% if (site.tags.length){ %> 2 |
3 |

<%= __('tagcloud') %>

4 |
5 | <%- tagcloud(site.tags, {}) %> 6 |
7 |
8 | <% } %> -------------------------------------------------------------------------------- /layout/_widget/twitter.ejs: -------------------------------------------------------------------------------- 1 | <% if (theme.twitter.username){ %> 2 | Follow @moxie198 3 | 4 |
5 |

<%= __('tweets') %>

6 | 7 |
8 | 9 | 13 | 14 | <% } %> 15 | -------------------------------------------------------------------------------- /layout/_widget/weibo.ejs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /layout/archive.ejs: -------------------------------------------------------------------------------- 1 | <%- partial('_partial/archive', {pagination: config.archive}) %> -------------------------------------------------------------------------------- /layout/category.ejs: -------------------------------------------------------------------------------- 1 | <%- partial('_partial/archive', {pagination: config.category}) %> -------------------------------------------------------------------------------- /layout/index.ejs: -------------------------------------------------------------------------------- 1 | <% page.posts.each(function(item){ %> 2 | <%- partial('_partial/article', {item: item, index: true}) %> 3 | <% }); %> 4 | 5 | <%- partial('_partial/pagination') %> -------------------------------------------------------------------------------- /layout/layout.ejs: -------------------------------------------------------------------------------- 1 | <% 2 | if(page.layout !== 'false'){ 3 | %> 4 | 5 | <%- partial('_partial/head') %> 6 | 7 | 8 | 9 |
10 |
<%- body %>
11 | 12 |
13 |
14 | 15 | <%- partial('_partial/after_footer') %> 16 | <%- partial('_partial/math-jax')%> 17 | 18 | 19 | 20 | <%}else{ %> 21 | 22 | <%- page.content %> 23 | <%};%> 24 | Fork me on GitHub 25 | -------------------------------------------------------------------------------- /layout/page.ejs: -------------------------------------------------------------------------------- 1 | <%- partial('_partial/article', {item: page, index: false}) %> -------------------------------------------------------------------------------- /layout/post.ejs: -------------------------------------------------------------------------------- 1 | <%- partial('_partial/article', {item: page, index: false}) %> -------------------------------------------------------------------------------- /layout/tag.ejs: -------------------------------------------------------------------------------- 1 | <%- partial('_partial/archive', {pagination: config.tag}) %> -------------------------------------------------------------------------------- /source/css/_base/layout.styl: -------------------------------------------------------------------------------- 1 | * 2 | margin 0 3 | padding 0 4 | 5 | body 6 | background color-background 7 | background-image url('/imgs/noise.png') 8 | color color-font 9 | font-family font-default 10 | font-size 16px 11 | font-weight 500 12 | text-shadow 0 0 2px transparent 13 | @media screen and (max-width: 1260px) 14 | margin 0 30px 15 | @media screen and (max-width: 600px) 16 | font-size 13px 17 | 18 | h1, h2, h3, h4, h5, h6 19 | font-family font-title 20 | 21 | h1 22 | font-size 1.8em 23 | 24 | h2 25 | font-size 1.5em 26 | 27 | h3 28 | font-size 1.3em 29 | 30 | a 31 | text-decoration none 32 | color color-link 33 | &:hover 34 | color #102b6a 35 | 36 | .alignleft 37 | float left 38 | 39 | .alignright 40 | float right 41 | 42 | .clearfix 43 | clearfix() 44 | 45 | .inner 46 | width page-width 47 | margin 0 auto 48 | @media screen and (max-width: 1260px) 49 | width 100% 50 | 51 | #main-col 52 | width 900px 53 | @media screen and (max-width: 1260px) 54 | width 100% 55 | margin-right -300px 56 | @media screen and (max-width: 900px) 57 | margin-right 0 58 | float none 59 | 60 | #wrapper 61 | @media screen and (max-width: 1260px) 62 | margin-right 300px 63 | @media screen and (max-width: 900px) 64 | margin-right 0 -------------------------------------------------------------------------------- /source/css/_base/utils.styl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zippera/lightum/5cffef7a58dc67a9cfea4ed92dfaeed69b322d87/source/css/_base/utils.styl -------------------------------------------------------------------------------- /source/css/_base/variable.styl: -------------------------------------------------------------------------------- 1 | // Color 2 | color-background = #eee 3 | color-font = black 4 | color-meta = #777 5 | color-border = #ddd 6 | color-link = rgb(0, 133, 255) 7 | 8 | // Font 9 | font-default = Georgia, 'Times New Roman', Times,'Songti SC', SimSun, "Microsoft YaHei" , serif 10 | font-serif = Georgia,"Times New Roman",Times,"Songti SC","SimSun",serif 11 | font-mono = Monaco, Menlo, Consolas, Courier New, monospace 12 | font-title = Helvetica Neue, Helvetica, Arial, "Hiragino Sans GB", sans-serif 13 | font-quote = Georgia, 'Times New Roman', Times, STFangsong, KaiTi, serif 14 | 15 | @import url("//fonts.useso.com/css?family=Lato:400,400italic") 16 | 17 | font-icon = FontAwesome 18 | font-icon-path = 'font/fontawesome-webfont' 19 | 20 | @font-face { 21 | font-family 'FontAwesome' 22 | font-style normal 23 | font-weight normal 24 | src url(font-icon-path.eot?#iefix) format('embedded-opentype'), url(font-icon-path.woff) format('woff'), url(font-icon-path.ttf) format('truetype'), url(font-icon-path.svg#FontAwesomeRegular) format('svg') 25 | } 26 | 27 | // Width 28 | page-width = 1200px 29 | -------------------------------------------------------------------------------- /source/css/_partial/archive.styl: -------------------------------------------------------------------------------- 1 | .archive-title 2 | color color-meta 3 | font-weight normal 4 | margin-bottom 30px 5 | text-shadow 0 0 1px #fff 6 | &:before 7 | font-family font-icon 8 | content '\f073' 9 | padding-right 15px 10 | 11 | &.tag 12 | &:before 13 | content '\f02b' 14 | 15 | &.category 16 | &:before 17 | content '\f07b' 18 | 19 | .archive 20 | 21 | margin-bottom 50px 22 | article 23 | box-shadow none 24 | .post-content 25 | margin-bottom 0 -------------------------------------------------------------------------------- /source/css/_partial/article.styl: -------------------------------------------------------------------------------- 1 | icon-size = 32px 2 | icon-gap = 25px 3 | 4 | article 5 | box-shadow: 0 1px 2px #BBB 6 | background #fff 7 | strong 8 | font-weight bolder 9 | &.page 10 | padding-left 20px 11 | .icon 12 | display none 13 | 14 | &.post 15 | .icon 16 | &:before 17 | content '\f016' 18 | 19 | &.photo 20 | .icon 21 | &:before 22 | content '\f030' 23 | 24 | &.link 25 | .icon 26 | &:before 27 | content '\f0c1' 28 | 29 | .title 30 | a 31 | &:after 32 | content '\f08e' 33 | color color-meta 34 | font 12px font-icon 35 | padding-left 10px 36 | vertical-align super 37 | 38 | .post-content 39 | padding 20px (icon-size + icon-gap + 20) 15px (icon-size + icon-gap + 20) 40 | margin-bottom 50px 41 | position relative 42 | @media screen and (max-width: 600px) 43 | padding-left 20px 44 | 45 | .post-content:before 46 | content: ""; 47 | position: absolute; 48 | z-index: -1; 49 | bottom: 15px; 50 | left: 10px; 51 | width: 50%; 52 | height: 20px; 53 | -webkit-box-shadow: 0 15px 10px rgba(0, 0, 0, 0.7); 54 | -moz-box-shadow: 0 15px 10px rgba(0, 0, 0, 0.7); 55 | box-shadow: 0 15px 15px rgba(0, 0, 0, 0.7); 56 | -webkit-transform: rotate(-2deg); 57 | -moz-transform: rotate(-2deg); 58 | -o-transform: rotate(-2deg); 59 | transform: rotate(-2deg); 60 | 61 | .post-content:after 62 | content: ""; 63 | position: absolute; 64 | z-index: -1; 65 | bottom: 15px; 66 | left: 10px; 67 | width: 50%; 68 | height: 20px; 69 | -webkit-box-shadow: 0 15px 10px rgba(0, 0, 0, 0.7); 70 | -moz-box-shadow: 0 15px 10px rgba(0, 0, 0, 0.7); 71 | box-shadow: 0 15px 15px rgba(0, 0, 0, 0.7); 72 | -webkit-transform: rotate(-2deg); 73 | -moz-transform: rotate(-2deg); 74 | -o-transform: rotate(-2deg); 75 | transform: rotate(-2deg); 76 | right: 10px; 77 | left: auto; 78 | -webkit-transform: rotate(2deg); 79 | -moz-transform: rotate(2deg); 80 | -o-transform: rotate(2deg); 81 | transform: rotate(2deg); 82 | 83 | 84 | .gallery 85 | overflow hidden 86 | position relative 87 | &:hover 88 | .control 89 | opacity 1 90 | 91 | img 92 | min-width 100% 93 | max-width 100% 94 | height auto 95 | position absolute 96 | top 0 97 | left 0 98 | opacity 0 99 | 100 | .control 101 | opacity 0 102 | transition 0.3s 103 | 104 | .prev, .next 105 | position absolute 106 | top 0 107 | width 50% 108 | height 100% 109 | cursor pointer 110 | &:before 111 | position absolute 112 | font 24px/1 font-icon 113 | text-align center 114 | width 24px 115 | text-shadow 0 0 15px rgba(0,0,0,0.5) 116 | color #fff 117 | margin-top -12px 118 | top 50% 119 | 120 | .prev 121 | left 0 122 | &:before 123 | content '\f053' 124 | left 10px 125 | 126 | .next 127 | right 0 128 | &:before 129 | content '\f054' 130 | right 10px 131 | 132 | header 133 | .icon 134 | width icon-size 135 | height icon-size 136 | margin-right icon-gap 137 | position absolute 138 | top 20px 139 | left 20px 140 | color color-link 141 | @media screen and (max-width: 600px) 142 | display none 143 | &:before 144 | position absolute 145 | font 32px font-icon 146 | top 0 147 | left 0 148 | width 32px 149 | text-align center 150 | 151 | time 152 | color color-meta 153 | font 0.9em font-title 154 | margin-bottom 5px 155 | display block 156 | line-height 1 157 | 158 | .title 159 | font-weight normal 160 | a 161 | color color-font 162 | &:hover 163 | color color-link 164 | text-decoration none 165 | 166 | .entry 167 | text-align justify 168 | line-height 1.6 169 | p, blockquote, ul, ol, dl, table, iframe, h3, h4, h5, h6, .video-container 170 | margin-top 15px 171 | 172 | blockquote 173 | background #f6f6f6 174 | //border-top 1px solid color-border 175 | //border-bottom 1px solid color-border 176 | border-left 4px solid #999999 177 | font-style normal 178 | font-family font-quote 179 | //font-family font-quote 180 | font-size 1.2em 181 | padding 0 30px 15px 182 | padding-top 10px 183 | padding-bottom 30px 184 | //text-align center 185 | footer 186 | border-top none 187 | font-size 0.8em 188 | line-height 1 189 | margin 20px 0 0 190 | padding-top 0 191 | cite 192 | &:before 193 | content '—' 194 | color #ccc 195 | padding 0 0.5em 196 | 197 | code, pre 198 | font-family font-mono 199 | 200 | code 201 | background #FBEDEB 202 | color #E2678F 203 | padding 0 5px 204 | margin 0 2px 205 | font-size 0.9em 206 | border-radius 3px 207 | 208 | pre 209 | background #eee 210 | border 1px solid color-border 211 | margin-top 15px 212 | overflow auto 213 | padding 7px 15px 214 | border-radius 2px 215 | code 216 | background none 217 | padding 0 218 | color rgb(102, 102, 102) 219 | margin 0 220 | border none 221 | border-radius 0 222 | 223 | ul, ol, dl 224 | margin-left 20px 225 | ul, ol, dl 226 | margin-top 0 227 | 228 | h1, h2 229 | font-weight bold 230 | padding-bottom 10px 231 | margin-top 20px 232 | 233 | h3, h4, h5, h6 234 | font-weight bold 235 | 236 | img, video 237 | max-width 100% 238 | height auto 239 | border none 240 | 241 | iframe 242 | border none 243 | 244 | .caption 245 | display block 246 | margin-top 5px 247 | color color-meta 248 | position relative 249 | font-size 0.9em 250 | padding-left 25px 251 | &:before 252 | content '\f040' 253 | position absolute 254 | font 1.3em font-icon 255 | position absolute 256 | left 0 257 | top 3px 258 | 259 | .video-container 260 | position relative 261 | padding-bottom 56.25% 262 | padding-top 30px 263 | height 0 264 | overflow hidden 265 | iframe, object, embed 266 | position absolute 267 | top 0 268 | left 0 269 | width 100% 270 | height 100% 271 | margin-top 0 272 | 273 | .pullquote 274 | float right 275 | border none 276 | padding 0 277 | margin 1em 0 0.5em 1.5em 278 | text-align left 279 | width 45% 280 | font-size 1.5em 281 | 282 | footer 283 | margin-top 15px 284 | padding-top 10px 285 | border-top 1px solid color-border 286 | color color-meta 287 | font-size 0.9em 288 | line-height 16px 289 | position relative 290 | min-height 16px 291 | a 292 | color color-meta 293 | &:hover 294 | color color-link 295 | text-decoration none 296 | &:before 297 | font 1.1em font-icon 298 | padding-right 10px 299 | vertical-align middle 300 | 301 | &.more-link 302 | &:before 303 | content '\f054' 304 | 305 | &.comment-link 306 | &:before 307 | content '\f075' 308 | 309 | .categories, .tags 310 | position relative 311 | padding-left 25px 312 | margin 5px 0 313 | &:before 314 | position absolute 315 | font 1.1em font-icon 316 | 317 | .categories 318 | &:before 319 | content '\f07b' 320 | top 2px 321 | left 1px 322 | 323 | .tags 324 | &:before 325 | content '\f02b' 326 | top 3px 327 | left 2px 328 | 329 | .addthis 330 | margin-top 15px 331 | iframe 332 | margin-top 0 333 | 334 | -------------------------------------------------------------------------------- /source/css/_partial/comment.styl: -------------------------------------------------------------------------------- 1 | #comment 2 | padding 20px 3 | background #fff 4 | box-shadow 1px 2px 3px #ddd 5 | margin-bottom 50px 6 | .title 7 | font-weight normal 8 | margin-bottom 15px -------------------------------------------------------------------------------- /source/css/_partial/footer.styl: -------------------------------------------------------------------------------- 1 | #footer 2 | color color-meta 3 | margin-bottom 50px 4 | font 0.9em/1.6 font-title 5 | text-shadow 0 0 1px #fff -------------------------------------------------------------------------------- /source/css/_partial/header.styl: -------------------------------------------------------------------------------- 1 | #header 2 | text-shadow 0 0 1px #fff 3 | margin 50px auto 4 | a 5 | color #999 6 | &:hover 7 | color color-link 8 | text-decoration none 9 | 10 | h1 11 | font-weight normal 12 | font-size 3.5em 13 | line-height 1 14 | 15 | h2 16 | font-weight normal 17 | font-size 1.2em 18 | line-height 1 19 | margin-top 10px 20 | 21 | #main-nav 22 | font-family Georgia, 'Times New Roman', Times, 'Songti SC', SimSun, serif 23 | line-height 2.5em 24 | ul 25 | list-style none 26 | li 27 | float left 28 | margin-left 30px -------------------------------------------------------------------------------- /source/css/_partial/index.styl: -------------------------------------------------------------------------------- 1 | #pagination 2 | a 3 | display block 4 | padding 5px 10px 5 | background color-border 6 | color color-meta 7 | font-family font-title 8 | text-shadow 0 0 1px #fff 9 | margin-bottom 50px 10 | &:hover 11 | background color-link 12 | color #fff 13 | text-decoration none 14 | text-shadow none 15 | 16 | .prev 17 | &:before 18 | content '\f053' 19 | padding-right 10px 20 | font-family font-icon 21 | 22 | .next 23 | &:after 24 | content '\f054' 25 | padding-left 10px 26 | font-family font-icon -------------------------------------------------------------------------------- /source/css/_partial/sidebar.styl: -------------------------------------------------------------------------------- 1 | #sidebar 2 | width 270px 3 | line-height 1.8em 4 | @media screen and (max-width: 900px) 5 | float none 6 | width 100% 7 | .widget 8 | background #fff 9 | box-shadow 1px 2px 3px #ddd 10 | margin-bottom 30px 11 | word-wrap break-word 12 | .title 13 | padding 15px 20px 14 | font-size 1em 15 | border-bottom 1px solid color-border 16 | font-weight normal 17 | 18 | .entry 19 | font-size 0.9em 20 | padding 15px 20px 21 | 22 | ul, ol, dl 23 | list-style none 24 | ul, ol, dl 25 | list-style disc 26 | margin-left 20px 27 | 28 | .search 29 | margin-bottom 30px 30 | input 31 | background #fff 32 | font-family font-title 33 | font-style italic 34 | font-size 1em 35 | padding 10px 15px 36 | border 1px solid color-border 37 | width 100% 38 | box-sizing border-box 39 | color color-meta 40 | &:focus 41 | color color-font 42 | 43 | .tag 44 | small 45 | margin-left 15px 46 | color color-meta 47 | &:before 48 | content '(' 49 | &:after 50 | content ')' 51 | 52 | .twitter 53 | li 54 | border-bottom 1px solid color-border 55 | padding 15px 20px 56 | font-size 0.9em 57 | &:last-of-type 58 | border-bottom none 59 | small 60 | display block 61 | margin-top 10px 62 | color color-meta 63 | line-height 1 64 | 65 | .tagcloud 66 | .entry 67 | padding-right 5px 68 | a 69 | margin-right 10px 70 | display inline-block -------------------------------------------------------------------------------- /source/css/_partial/syntax.styl: -------------------------------------------------------------------------------- 1 | .entry 2 | .gist 3 | background #eee 4 | border 1px solid color-border 5 | margin-top 15px 6 | padding 7px 15px 7 | border-radius 2px 8 | text-shadow 0 0 1px #fff 9 | line-height 1.6 10 | overflow auto 11 | color #666 12 | .gist-file 13 | border none 14 | font-family inherit 15 | margin 0 16 | font-size 0.9em 17 | .gist-data 18 | background none 19 | border-bottom none 20 | pre 21 | padding 0 !important 22 | font-family font-mono 23 | 24 | .gist-meta 25 | background none 26 | color color-meta 27 | margin-top 5px 28 | padding 0 29 | text-shadow 0 0 1px #fff 30 | font-size 100% 31 | a 32 | color color-link 33 | &:visited 34 | color color-link 35 | 36 | figure.highlight 37 | background #eee 38 | border 1px solid color-border 39 | margin-top 15px 40 | padding 7px 15px 41 | border-radius 2px 42 | text-shadow 0 0 1px #fff 43 | line-height 1.6 44 | overflow auto 45 | position relative 46 | font-size 0.9em 47 | figcaption 48 | color color-meta 49 | margin-bottom 5px 50 | text-shadow 0 0 1px #fff 51 | a 52 | position absolute 53 | right 15px 54 | 55 | pre 56 | border none 57 | padding 0 58 | margin 0 59 | 60 | table 61 | margin-top 0 62 | border-spacing 0 63 | 64 | .gutter 65 | color color-meta 66 | padding-right 15px 67 | border-right 1px solid color-border 68 | text-align right 69 | 70 | .code 71 | padding-left 15px 72 | border-left 1px solid #fff 73 | color #666 74 | 75 | pre 76 | // Theme: Solarized - Light 77 | // More theme here: http://softwaremaniacs.org/media/soft/highlight/test.html 78 | .comment 79 | .template_comment 80 | .diff .header 81 | .doctype 82 | .pi 83 | .lisp .string 84 | .javadoc 85 | color #93a1a1 86 | font-style italic 87 | 88 | .keyword 89 | .winutils 90 | .method 91 | .addition 92 | .css .tag 93 | .request 94 | .status 95 | .nginx .title 96 | color #859900 97 | 98 | .number 99 | .command 100 | .string 101 | .tag .value 102 | .phpdoc 103 | .tex .formula 104 | .regexp 105 | .hexcolor 106 | color #2aa198 107 | 108 | .title 109 | .localvars 110 | .chunk 111 | .decorator 112 | .built_in 113 | .identifier 114 | .vhdl 115 | .literal 116 | .id 117 | color #268bd2 118 | 119 | .attribute 120 | .variable 121 | .lisp .body 122 | .smalltalk .number 123 | .constant 124 | .class .title 125 | .parent 126 | .haskell .type 127 | color #b58900 128 | 129 | .preprocessor 130 | .preprocessor .keyword 131 | .shebang 132 | .symbol 133 | .symbol .string 134 | .diff .change 135 | .special 136 | .attr_selector 137 | .important 138 | .subst 139 | .cdata 140 | .clojure .title 141 | color #cb4b16 142 | 143 | .deletion 144 | color #dc322f -------------------------------------------------------------------------------- /source/css/font/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zippera/lightum/5cffef7a58dc67a9cfea4ed92dfaeed69b322d87/source/css/font/fontawesome-webfont.eot -------------------------------------------------------------------------------- /source/css/font/fontawesome-webfont.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 209 | 210 | 211 | 212 | 213 | 214 | 215 | 216 | 217 | 218 | 219 | 220 | 221 | 222 | 223 | 224 | 225 | 226 | 227 | 228 | 229 | 230 | 231 | 232 | 233 | 234 | 235 | 236 | 237 | 238 | 239 | 240 | 241 | 242 | 243 | 244 | 245 | 246 | 247 | 248 | 249 | 250 | 251 | 252 | 253 | 254 | 255 | -------------------------------------------------------------------------------- /source/css/font/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zippera/lightum/5cffef7a58dc67a9cfea4ed92dfaeed69b322d87/source/css/font/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /source/css/font/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zippera/lightum/5cffef7a58dc67a9cfea4ed92dfaeed69b322d87/source/css/font/fontawesome-webfont.woff -------------------------------------------------------------------------------- /source/css/style.styl: -------------------------------------------------------------------------------- 1 | @import 'nib' 2 | 3 | @import '_base/variable' 4 | @import '_base/utils' 5 | @import '_base/layout' 6 | 7 | @import '_partial/header' 8 | @import '_partial/article' 9 | @import '_partial/comment' 10 | @import '_partial/index' 11 | @import '_partial/archive' 12 | @import '_partial/sidebar' 13 | @import '_partial/footer' 14 | @import '_partial/syntax' -------------------------------------------------------------------------------- /source/fancybox/blank.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zippera/lightum/5cffef7a58dc67a9cfea4ed92dfaeed69b322d87/source/fancybox/blank.gif -------------------------------------------------------------------------------- /source/fancybox/fancybox_loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zippera/lightum/5cffef7a58dc67a9cfea4ed92dfaeed69b322d87/source/fancybox/fancybox_loading.gif -------------------------------------------------------------------------------- /source/fancybox/fancybox_loading@2x.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zippera/lightum/5cffef7a58dc67a9cfea4ed92dfaeed69b322d87/source/fancybox/fancybox_loading@2x.gif -------------------------------------------------------------------------------- /source/fancybox/fancybox_overlay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zippera/lightum/5cffef7a58dc67a9cfea4ed92dfaeed69b322d87/source/fancybox/fancybox_overlay.png -------------------------------------------------------------------------------- /source/fancybox/fancybox_sprite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zippera/lightum/5cffef7a58dc67a9cfea4ed92dfaeed69b322d87/source/fancybox/fancybox_sprite.png -------------------------------------------------------------------------------- /source/fancybox/fancybox_sprite@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zippera/lightum/5cffef7a58dc67a9cfea4ed92dfaeed69b322d87/source/fancybox/fancybox_sprite@2x.png -------------------------------------------------------------------------------- /source/fancybox/jquery.fancybox.css: -------------------------------------------------------------------------------- 1 | /*! fancyBox v2.1.5 fancyapps.com | fancyapps.com/fancybox/#license */ 2 | .fancybox-wrap, 3 | .fancybox-skin, 4 | .fancybox-outer, 5 | .fancybox-inner, 6 | .fancybox-image, 7 | .fancybox-wrap iframe, 8 | .fancybox-wrap object, 9 | .fancybox-nav, 10 | .fancybox-nav span, 11 | .fancybox-tmp 12 | { 13 | padding: 0; 14 | margin: 0; 15 | border: 0; 16 | outline: none; 17 | vertical-align: top; 18 | } 19 | 20 | .fancybox-wrap { 21 | position: absolute; 22 | top: 0; 23 | left: 0; 24 | z-index: 8020; 25 | } 26 | 27 | .fancybox-skin { 28 | position: relative; 29 | background: #f9f9f9; 30 | color: #444; 31 | text-shadow: none; 32 | -webkit-border-radius: 4px; 33 | -moz-border-radius: 4px; 34 | border-radius: 4px; 35 | } 36 | 37 | .fancybox-opened { 38 | z-index: 8030; 39 | } 40 | 41 | .fancybox-opened .fancybox-skin { 42 | -webkit-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5); 43 | -moz-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5); 44 | box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5); 45 | } 46 | 47 | .fancybox-outer, .fancybox-inner { 48 | position: relative; 49 | } 50 | 51 | .fancybox-inner { 52 | overflow: hidden; 53 | } 54 | 55 | .fancybox-type-iframe .fancybox-inner { 56 | -webkit-overflow-scrolling: touch; 57 | } 58 | 59 | .fancybox-error { 60 | color: #444; 61 | font: 14px/20px "Helvetica Neue",Helvetica,Arial,sans-serif; 62 | margin: 0; 63 | padding: 15px; 64 | white-space: nowrap; 65 | } 66 | 67 | .fancybox-image, .fancybox-iframe { 68 | display: block; 69 | width: 100%; 70 | height: 100%; 71 | } 72 | 73 | .fancybox-image { 74 | max-width: 100%; 75 | max-height: 100%; 76 | } 77 | 78 | #fancybox-loading, .fancybox-close, .fancybox-prev span, .fancybox-next span { 79 | background-image: url('fancybox_sprite.png'); 80 | } 81 | 82 | #fancybox-loading { 83 | position: fixed; 84 | top: 50%; 85 | left: 50%; 86 | margin-top: -22px; 87 | margin-left: -22px; 88 | background-position: 0 -108px; 89 | opacity: 0.8; 90 | cursor: pointer; 91 | z-index: 8060; 92 | } 93 | 94 | #fancybox-loading div { 95 | width: 44px; 96 | height: 44px; 97 | background: url('fancybox_loading.gif') center center no-repeat; 98 | } 99 | 100 | .fancybox-close { 101 | position: absolute; 102 | top: -18px; 103 | right: -18px; 104 | width: 36px; 105 | height: 36px; 106 | cursor: pointer; 107 | z-index: 8040; 108 | } 109 | 110 | .fancybox-nav { 111 | position: absolute; 112 | top: 0; 113 | width: 40%; 114 | height: 100%; 115 | cursor: pointer; 116 | text-decoration: none; 117 | background: transparent url('blank.gif'); /* helps IE */ 118 | -webkit-tap-highlight-color: rgba(0,0,0,0); 119 | z-index: 8040; 120 | } 121 | 122 | .fancybox-prev { 123 | left: 0; 124 | } 125 | 126 | .fancybox-next { 127 | right: 0; 128 | } 129 | 130 | .fancybox-nav span { 131 | position: absolute; 132 | top: 50%; 133 | width: 36px; 134 | height: 34px; 135 | margin-top: -18px; 136 | cursor: pointer; 137 | z-index: 8040; 138 | visibility: hidden; 139 | } 140 | 141 | .fancybox-prev span { 142 | left: 10px; 143 | background-position: 0 -36px; 144 | } 145 | 146 | .fancybox-next span { 147 | right: 10px; 148 | background-position: 0 -72px; 149 | } 150 | 151 | .fancybox-nav:hover span { 152 | visibility: visible; 153 | } 154 | 155 | .fancybox-tmp { 156 | position: absolute; 157 | top: -99999px; 158 | left: -99999px; 159 | visibility: hidden; 160 | max-width: 99999px; 161 | max-height: 99999px; 162 | overflow: visible !important; 163 | } 164 | 165 | /* Overlay helper */ 166 | 167 | .fancybox-lock { 168 | overflow: hidden !important; 169 | width: auto; 170 | } 171 | 172 | .fancybox-lock body { 173 | overflow: hidden !important; 174 | } 175 | 176 | .fancybox-lock-test { 177 | overflow-y: hidden !important; 178 | } 179 | 180 | .fancybox-overlay { 181 | position: absolute; 182 | top: 0; 183 | left: 0; 184 | overflow: hidden; 185 | display: none; 186 | z-index: 8010; 187 | background: url('fancybox_overlay.png'); 188 | } 189 | 190 | .fancybox-overlay-fixed { 191 | position: fixed; 192 | bottom: 0; 193 | right: 0; 194 | } 195 | 196 | .fancybox-lock .fancybox-overlay { 197 | overflow: auto; 198 | overflow-y: scroll; 199 | } 200 | 201 | /* Title helper */ 202 | 203 | .fancybox-title { 204 | visibility: hidden; 205 | font: normal 13px/20px "Helvetica Neue",Helvetica,Arial,sans-serif; 206 | position: relative; 207 | text-shadow: none; 208 | z-index: 8050; 209 | } 210 | 211 | .fancybox-opened .fancybox-title { 212 | visibility: visible; 213 | } 214 | 215 | .fancybox-title-float-wrap { 216 | position: absolute; 217 | bottom: 0; 218 | right: 50%; 219 | margin-bottom: -35px; 220 | z-index: 8050; 221 | text-align: center; 222 | } 223 | 224 | .fancybox-title-float-wrap .child { 225 | display: inline-block; 226 | margin-right: -100%; 227 | padding: 2px 20px; 228 | background: transparent; /* Fallback for web browsers that doesn't support RGBa */ 229 | background: rgba(0, 0, 0, 0.8); 230 | -webkit-border-radius: 15px; 231 | -moz-border-radius: 15px; 232 | border-radius: 15px; 233 | text-shadow: 0 1px 2px #222; 234 | color: #FFF; 235 | font-weight: bold; 236 | line-height: 24px; 237 | white-space: nowrap; 238 | } 239 | 240 | .fancybox-title-outside-wrap { 241 | position: relative; 242 | margin-top: 10px; 243 | color: #fff; 244 | } 245 | 246 | .fancybox-title-inside-wrap { 247 | padding-top: 10px; 248 | } 249 | 250 | .fancybox-title-over-wrap { 251 | position: absolute; 252 | bottom: 0; 253 | left: 0; 254 | color: #fff; 255 | padding: 10px; 256 | background: #000; 257 | background: rgba(0, 0, 0, .8); 258 | } 259 | 260 | /*Retina graphics!*/ 261 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 262 | only screen and (min--moz-device-pixel-ratio: 1.5), 263 | only screen and (min-device-pixel-ratio: 1.5){ 264 | 265 | #fancybox-loading, .fancybox-close, .fancybox-prev span, .fancybox-next span { 266 | background-image: url('fancybox_sprite@2x.png'); 267 | background-size: 44px 152px; /*The size of the normal image, half the size of the hi-res image*/ 268 | } 269 | 270 | #fancybox-loading div { 271 | background-image: url('fancybox_loading@2x.gif'); 272 | background-size: 24px 24px; /*The size of the normal image, half the size of the hi-res image*/ 273 | } 274 | } -------------------------------------------------------------------------------- /source/fancybox/jquery.fancybox.pack.js: -------------------------------------------------------------------------------- 1 | /*! fancyBox v2.1.5 fancyapps.com | fancyapps.com/fancybox/#license */ 2 | (function(r,G,f,v){var J=f("html"),n=f(r),p=f(G),b=f.fancybox=function(){b.open.apply(this,arguments)},I=navigator.userAgent.match(/msie/i),B=null,s=G.createTouch!==v,t=function(a){return a&&a.hasOwnProperty&&a instanceof f},q=function(a){return a&&"string"===f.type(a)},E=function(a){return q(a)&&0
',image:'',iframe:'",error:'

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

',closeBtn:'',next:'',prev:''},openEffect:"fade",openSpeed:250,openEasing:"swing",openOpacity:!0, 6 | openMethod:"zoomIn",closeEffect:"fade",closeSpeed:250,closeEasing:"swing",closeOpacity:!0,closeMethod:"zoomOut",nextEffect:"elastic",nextSpeed:250,nextEasing:"swing",nextMethod:"changeIn",prevEffect:"elastic",prevSpeed:250,prevEasing:"swing",prevMethod:"changeOut",helpers:{overlay:!0,title:!0},onCancel:f.noop,beforeLoad:f.noop,afterLoad:f.noop,beforeShow:f.noop,afterShow:f.noop,beforeChange:f.noop,beforeClose:f.noop,afterClose:f.noop},group:{},opts:{},previous:null,coming:null,current:null,isActive:!1, 7 | isOpen:!1,isOpened:!1,wrap:null,skin:null,outer:null,inner:null,player:{timer:null,isActive:!1},ajaxLoad:null,imgPreload:null,transitions:{},helpers:{},open:function(a,d){if(a&&(f.isPlainObject(d)||(d={}),!1!==b.close(!0)))return f.isArray(a)||(a=t(a)?f(a).get():[a]),f.each(a,function(e,c){var k={},g,h,j,m,l;"object"===f.type(c)&&(c.nodeType&&(c=f(c)),t(c)?(k={href:c.data("fancybox-href")||c.attr("href"),title:c.data("fancybox-title")||c.attr("title"),isDom:!0,element:c},f.metadata&&f.extend(!0,k, 8 | c.metadata())):k=c);g=d.href||k.href||(q(c)?c:null);h=d.title!==v?d.title:k.title||"";m=(j=d.content||k.content)?"html":d.type||k.type;!m&&k.isDom&&(m=c.data("fancybox-type"),m||(m=(m=c.prop("class").match(/fancybox\.(\w+)/))?m[1]:null));q(g)&&(m||(b.isImage(g)?m="image":b.isSWF(g)?m="swf":"#"===g.charAt(0)?m="inline":q(c)&&(m="html",j=c)),"ajax"===m&&(l=g.split(/\s+/,2),g=l.shift(),l=l.shift()));j||("inline"===m?g?j=f(q(g)?g.replace(/.*(?=#[^\s]+$)/,""):g):k.isDom&&(j=c):"html"===m?j=g:!m&&(!g&& 9 | k.isDom)&&(m="inline",j=c));f.extend(k,{href:g,type:m,content:j,title:h,selector:l});a[e]=k}),b.opts=f.extend(!0,{},b.defaults,d),d.keys!==v&&(b.opts.keys=d.keys?f.extend({},b.defaults.keys,d.keys):!1),b.group=a,b._start(b.opts.index)},cancel:function(){var a=b.coming;a&&!1!==b.trigger("onCancel")&&(b.hideLoading(),b.ajaxLoad&&b.ajaxLoad.abort(),b.ajaxLoad=null,b.imgPreload&&(b.imgPreload.onload=b.imgPreload.onerror=null),a.wrap&&a.wrap.stop(!0,!0).trigger("onReset").remove(),b.coming=null,b.current|| 10 | b._afterZoomOut(a))},close:function(a){b.cancel();!1!==b.trigger("beforeClose")&&(b.unbindEvents(),b.isActive&&(!b.isOpen||!0===a?(f(".fancybox-wrap").stop(!0).trigger("onReset").remove(),b._afterZoomOut()):(b.isOpen=b.isOpened=!1,b.isClosing=!0,f(".fancybox-item, .fancybox-nav").remove(),b.wrap.stop(!0,!0).removeClass("fancybox-opened"),b.transitions[b.current.closeMethod]())))},play:function(a){var d=function(){clearTimeout(b.player.timer)},e=function(){d();b.current&&b.player.isActive&&(b.player.timer= 11 | setTimeout(b.next,b.current.playSpeed))},c=function(){d();p.unbind(".player");b.player.isActive=!1;b.trigger("onPlayEnd")};if(!0===a||!b.player.isActive&&!1!==a){if(b.current&&(b.current.loop||b.current.index=c.index?"next":"prev"],b.router=e||"jumpto",c.loop&&(0>a&&(a=c.group.length+a%c.group.length),a%=c.group.length),c.group[a]!==v&&(b.cancel(),b._start(a)))},reposition:function(a,d){var e=b.current,c=e?e.wrap:null,k;c&&(k=b._getPosition(d),a&&"scroll"===a.type?(delete k.position,c.stop(!0,!0).animate(k,200)):(c.css(k),e.pos=f.extend({},e.dim,k)))},update:function(a){var d= 13 | a&&a.type,e=!d||"orientationchange"===d;e&&(clearTimeout(B),B=null);b.isOpen&&!B&&(B=setTimeout(function(){var c=b.current;c&&!b.isClosing&&(b.wrap.removeClass("fancybox-tmp"),(e||"load"===d||"resize"===d&&c.autoResize)&&b._setDimension(),"scroll"===d&&c.canShrink||b.reposition(a),b.trigger("onUpdate"),B=null)},e&&!s?0:300))},toggle:function(a){b.isOpen&&(b.current.fitToView="boolean"===f.type(a)?a:!b.current.fitToView,s&&(b.wrap.removeAttr("style").addClass("fancybox-tmp"),b.trigger("onUpdate")), 14 | b.update())},hideLoading:function(){p.unbind(".loading");f("#fancybox-loading").remove()},showLoading:function(){var a,d;b.hideLoading();a=f('
').click(b.cancel).appendTo("body");p.bind("keydown.loading",function(a){if(27===(a.which||a.keyCode))a.preventDefault(),b.cancel()});b.defaults.fixed||(d=b.getViewport(),a.css({position:"absolute",top:0.5*d.h+d.y,left:0.5*d.w+d.x}))},getViewport:function(){var a=b.current&&b.current.locked||!1,d={x:n.scrollLeft(), 15 | y:n.scrollTop()};a?(d.w=a[0].clientWidth,d.h=a[0].clientHeight):(d.w=s&&r.innerWidth?r.innerWidth:n.width(),d.h=s&&r.innerHeight?r.innerHeight:n.height());return d},unbindEvents:function(){b.wrap&&t(b.wrap)&&b.wrap.unbind(".fb");p.unbind(".fb");n.unbind(".fb")},bindEvents:function(){var a=b.current,d;a&&(n.bind("orientationchange.fb"+(s?"":" resize.fb")+(a.autoCenter&&!a.locked?" scroll.fb":""),b.update),(d=a.keys)&&p.bind("keydown.fb",function(e){var c=e.which||e.keyCode,k=e.target||e.srcElement; 16 | if(27===c&&b.coming)return!1;!e.ctrlKey&&(!e.altKey&&!e.shiftKey&&!e.metaKey&&(!k||!k.type&&!f(k).is("[contenteditable]")))&&f.each(d,function(d,k){if(1h[0].clientWidth||h[0].clientHeight&&h[0].scrollHeight>h[0].clientHeight),h=f(h).parent();if(0!==c&&!j&&1g||0>k)b.next(0>g?"up":"right");d.preventDefault()}}))},trigger:function(a,d){var e,c=d||b.coming||b.current;if(c){f.isFunction(c[a])&&(e=c[a].apply(c,Array.prototype.slice.call(arguments,1)));if(!1===e)return!1;c.helpers&&f.each(c.helpers,function(d,e){if(e&&b.helpers[d]&&f.isFunction(b.helpers[d][a]))b.helpers[d][a](f.extend(!0, 18 | {},b.helpers[d].defaults,e),c)});p.trigger(a)}},isImage:function(a){return q(a)&&a.match(/(^data:image\/.*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg)((\?|#).*)?$)/i)},isSWF:function(a){return q(a)&&a.match(/\.(swf)((\?|#).*)?$/i)},_start:function(a){var d={},e,c;a=l(a);e=b.group[a]||null;if(!e)return!1;d=f.extend(!0,{},b.opts,e);e=d.margin;c=d.padding;"number"===f.type(e)&&(d.margin=[e,e,e,e]);"number"===f.type(c)&&(d.padding=[c,c,c,c]);d.modal&&f.extend(!0,d,{closeBtn:!1,closeClick:!1,nextClick:!1,arrows:!1, 19 | mouseWheel:!1,keys:null,helpers:{overlay:{closeClick:!1}}});d.autoSize&&(d.autoWidth=d.autoHeight=!0);"auto"===d.width&&(d.autoWidth=!0);"auto"===d.height&&(d.autoHeight=!0);d.group=b.group;d.index=a;b.coming=d;if(!1===b.trigger("beforeLoad"))b.coming=null;else{c=d.type;e=d.href;if(!c)return b.coming=null,b.current&&b.router&&"jumpto"!==b.router?(b.current.index=a,b[b.router](b.direction)):!1;b.isActive=!0;if("image"===c||"swf"===c)d.autoHeight=d.autoWidth=!1,d.scrolling="visible";"image"===c&&(d.aspectRatio= 20 | !0);"iframe"===c&&s&&(d.scrolling="scroll");d.wrap=f(d.tpl.wrap).addClass("fancybox-"+(s?"mobile":"desktop")+" fancybox-type-"+c+" fancybox-tmp "+d.wrapCSS).appendTo(d.parent||"body");f.extend(d,{skin:f(".fancybox-skin",d.wrap),outer:f(".fancybox-outer",d.wrap),inner:f(".fancybox-inner",d.wrap)});f.each(["Top","Right","Bottom","Left"],function(a,b){d.skin.css("padding"+b,w(d.padding[a]))});b.trigger("onReady");if("inline"===c||"html"===c){if(!d.content||!d.content.length)return b._error("content")}else if(!e)return b._error("href"); 21 | "image"===c?b._loadImage():"ajax"===c?b._loadAjax():"iframe"===c?b._loadIframe():b._afterLoad()}},_error:function(a){f.extend(b.coming,{type:"html",autoWidth:!0,autoHeight:!0,minWidth:0,minHeight:0,scrolling:"no",hasError:a,content:b.coming.tpl.error});b._afterLoad()},_loadImage:function(){var a=b.imgPreload=new Image;a.onload=function(){this.onload=this.onerror=null;b.coming.width=this.width/b.opts.pixelRatio;b.coming.height=this.height/b.opts.pixelRatio;b._afterLoad()};a.onerror=function(){this.onload= 22 | this.onerror=null;b._error("image")};a.src=b.coming.href;!0!==a.complete&&b.showLoading()},_loadAjax:function(){var a=b.coming;b.showLoading();b.ajaxLoad=f.ajax(f.extend({},a.ajax,{url:a.href,error:function(a,e){b.coming&&"abort"!==e?b._error("ajax",a):b.hideLoading()},success:function(d,e){"success"===e&&(a.content=d,b._afterLoad())}}))},_loadIframe:function(){var a=b.coming,d=f(a.tpl.iframe.replace(/\{rnd\}/g,(new Date).getTime())).attr("scrolling",s?"auto":a.iframe.scrolling).attr("src",a.href); 23 | f(a.wrap).bind("onReset",function(){try{f(this).find("iframe").hide().attr("src","//about:blank").end().empty()}catch(a){}});a.iframe.preload&&(b.showLoading(),d.one("load",function(){f(this).data("ready",1);s||f(this).bind("load.fb",b.update);f(this).parents(".fancybox-wrap").width("100%").removeClass("fancybox-tmp").show();b._afterLoad()}));a.content=d.appendTo(a.inner);a.iframe.preload||b._afterLoad()},_preloadImages:function(){var a=b.group,d=b.current,e=a.length,c=d.preload?Math.min(d.preload, 24 | e-1):0,f,g;for(g=1;g<=c;g+=1)f=a[(d.index+g)%e],"image"===f.type&&f.href&&((new Image).src=f.href)},_afterLoad:function(){var a=b.coming,d=b.current,e,c,k,g,h;b.hideLoading();if(a&&!1!==b.isActive)if(!1===b.trigger("afterLoad",a,d))a.wrap.stop(!0).trigger("onReset").remove(),b.coming=null;else{d&&(b.trigger("beforeChange",d),d.wrap.stop(!0).removeClass("fancybox-opened").find(".fancybox-item, .fancybox-nav").remove());b.unbindEvents();e=a.content;c=a.type;k=a.scrolling;f.extend(b,{wrap:a.wrap,skin:a.skin, 25 | outer:a.outer,inner:a.inner,current:a,previous:d});g=a.href;switch(c){case "inline":case "ajax":case "html":a.selector?e=f("
").html(e).find(a.selector):t(e)&&(e.data("fancybox-placeholder")||e.data("fancybox-placeholder",f('
').insertAfter(e).hide()),e=e.show().detach(),a.wrap.bind("onReset",function(){f(this).find(e).length&&e.hide().replaceAll(e.data("fancybox-placeholder")).data("fancybox-placeholder",!1)}));break;case "image":e=a.tpl.image.replace("{href}", 26 | g);break;case "swf":e='',h="",f.each(a.swf,function(a,b){e+='';h+=" "+a+'="'+b+'"'}),e+='"}(!t(e)||!e.parent().is(a.inner))&&a.inner.append(e);b.trigger("beforeShow");a.inner.css("overflow","yes"===k?"scroll": 27 | "no"===k?"hidden":k);b._setDimension();b.reposition();b.isOpen=!1;b.coming=null;b.bindEvents();if(b.isOpened){if(d.prevMethod)b.transitions[d.prevMethod]()}else f(".fancybox-wrap").not(a.wrap).stop(!0).trigger("onReset").remove();b.transitions[b.isOpened?a.nextMethod:a.openMethod]();b._preloadImages()}},_setDimension:function(){var a=b.getViewport(),d=0,e=!1,c=!1,e=b.wrap,k=b.skin,g=b.inner,h=b.current,c=h.width,j=h.height,m=h.minWidth,u=h.minHeight,n=h.maxWidth,p=h.maxHeight,s=h.scrolling,q=h.scrollOutside? 28 | h.scrollbarWidth:0,x=h.margin,y=l(x[1]+x[3]),r=l(x[0]+x[2]),v,z,t,C,A,F,B,D,H;e.add(k).add(g).width("auto").height("auto").removeClass("fancybox-tmp");x=l(k.outerWidth(!0)-k.width());v=l(k.outerHeight(!0)-k.height());z=y+x;t=r+v;C=E(c)?(a.w-z)*l(c)/100:c;A=E(j)?(a.h-t)*l(j)/100:j;if("iframe"===h.type){if(H=h.content,h.autoHeight&&1===H.data("ready"))try{H[0].contentWindow.document.location&&(g.width(C).height(9999),F=H.contents().find("body"),q&&F.css("overflow-x","hidden"),A=F.outerHeight(!0))}catch(G){}}else if(h.autoWidth|| 29 | h.autoHeight)g.addClass("fancybox-tmp"),h.autoWidth||g.width(C),h.autoHeight||g.height(A),h.autoWidth&&(C=g.width()),h.autoHeight&&(A=g.height()),g.removeClass("fancybox-tmp");c=l(C);j=l(A);D=C/A;m=l(E(m)?l(m,"w")-z:m);n=l(E(n)?l(n,"w")-z:n);u=l(E(u)?l(u,"h")-t:u);p=l(E(p)?l(p,"h")-t:p);F=n;B=p;h.fitToView&&(n=Math.min(a.w-z,n),p=Math.min(a.h-t,p));z=a.w-y;r=a.h-r;h.aspectRatio?(c>n&&(c=n,j=l(c/D)),j>p&&(j=p,c=l(j*D)),cz||y>r)&&(c>m&&j>u)&&!(19n&&(c=n,j=l(c/D)),g.width(c).height(j),e.width(c+x),a=e.width(),y=e.height();else c=Math.max(m,Math.min(c,c-(a-z))),j=Math.max(u,Math.min(j,j-(y-r)));q&&("auto"===s&&jz||y>r)&&c>m&&j>u;c=h.aspectRatio?cu&&j
').appendTo(b.coming?b.coming.parent:a.parent);this.fixed=!1;a.fixed&&b.defaults.fixed&&(this.overlay.addClass("fancybox-overlay-fixed"),this.fixed=!0)},open:function(a){var d=this;a=f.extend({},this.defaults,a);this.overlay?this.overlay.unbind(".overlay").width("auto").height("auto"):this.create(a);this.fixed||(n.bind("resize.overlay",f.proxy(this.update,this)),this.update());a.closeClick&&this.overlay.bind("click.overlay",function(a){if(f(a.target).hasClass("fancybox-overlay"))return b.isActive? 40 | b.close():d.close(),!1});this.overlay.css(a.css).show()},close:function(){var a,b;n.unbind("resize.overlay");this.el.hasClass("fancybox-lock")&&(f(".fancybox-margin").removeClass("fancybox-margin"),a=n.scrollTop(),b=n.scrollLeft(),this.el.removeClass("fancybox-lock"),n.scrollTop(a).scrollLeft(b));f(".fancybox-overlay").remove().hide();f.extend(this,{overlay:null,fixed:!1})},update:function(){var a="100%",b;this.overlay.width(a).height("100%");I?(b=Math.max(G.documentElement.offsetWidth,G.body.offsetWidth), 41 | p.width()>b&&(a=p.width())):p.width()>n.width()&&(a=p.width());this.overlay.width(a).height(p.height())},onReady:function(a,b){var e=this.overlay;f(".fancybox-overlay").stop(!0,!0);e||this.create(a);a.locked&&(this.fixed&&b.fixed)&&(e||(this.margin=p.height()>n.height()?f("html").css("margin-right").replace("px",""):!1),b.locked=this.overlay.append(b.wrap),b.fixed=!1);!0===a.showEarly&&this.beforeShow.apply(this,arguments)},beforeShow:function(a,b){var e,c;b.locked&&(!1!==this.margin&&(f("*").filter(function(){return"fixed"=== 42 | f(this).css("position")&&!f(this).hasClass("fancybox-overlay")&&!f(this).hasClass("fancybox-wrap")}).addClass("fancybox-margin"),this.el.addClass("fancybox-margin")),e=n.scrollTop(),c=n.scrollLeft(),this.el.addClass("fancybox-lock"),n.scrollTop(e).scrollLeft(c));this.open(a)},onUpdate:function(){this.fixed||this.update()},afterClose:function(a){this.overlay&&!b.coming&&this.overlay.fadeOut(a.speedOut,f.proxy(this.close,this))}};b.helpers.title={defaults:{type:"float",position:"bottom"},beforeShow:function(a){var d= 43 | b.current,e=d.title,c=a.type;f.isFunction(e)&&(e=e.call(d.element,d));if(q(e)&&""!==f.trim(e)){d=f('
'+e+"
");switch(c){case "inside":c=b.skin;break;case "outside":c=b.wrap;break;case "over":c=b.inner;break;default:c=b.skin,d.appendTo("body"),I&&d.width(d.width()),d.wrapInner(''),b.current.margin[2]+=Math.abs(l(d.css("margin-bottom")))}d["top"===a.position?"prependTo":"appendTo"](c)}}};f.fn.fancybox=function(a){var d, 44 | e=f(this),c=this.selector||"",k=function(g){var h=f(this).blur(),j=d,k,l;!g.ctrlKey&&(!g.altKey&&!g.shiftKey&&!g.metaKey)&&!h.is(".fancybox-wrap")&&(k=a.groupAttr||"data-fancybox-group",l=h.attr(k),l||(k="rel",l=h.get(0)[k]),l&&(""!==l&&"nofollow"!==l)&&(h=c.length?f(c):e,h=h.filter("["+k+'="'+l+'"]'),j=h.index(this)),a.index=j,!1!==b.open(h,a)&&g.preventDefault())};a=a||{};d=a.index||0;!c||!1===a.live?e.unbind("click.fb-start").bind("click.fb-start",k):p.undelegate(c,"click.fb-start").delegate(c+ 45 | ":not('.fancybox-item, .fancybox-nav')","click.fb-start",k);this.filter("[data-fancybox-start=1]").trigger("click");return this};p.ready(function(){var a,d;f.scrollbarWidth===v&&(f.scrollbarWidth=function(){var a=f('
').appendTo("body"),b=a.children(),b=b.innerWidth()-b.height(99).innerWidth();a.remove();return b});if(f.support.fixedPosition===v){a=f.support;d=f('
').appendTo("body");var e=20=== 46 | d[0].offsetTop||15===d[0].offsetTop;d.remove();a.fixedPosition=e}f.extend(b.defaults,{scrollbarWidth:f.scrollbarWidth(),fixed:f.support.fixedPosition,parent:f("body")});a=f(r).width();J.addClass("fancybox-lock-test");d=f(r).width();J.removeClass("fancybox-lock-test");f("").appendTo("head")})})(window,document,jQuery); -------------------------------------------------------------------------------- /source/imgs/11zhexo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 18 | 20 | 38 | 40 | 41 | 43 | image/svg+xml 44 | 46 | 47 | 48 | 49 | 50 | 55 | 11zHexo 68 | 69 | -------------------------------------------------------------------------------- /source/imgs/noise.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zippera/lightum/5cffef7a58dc67a9cfea4ed92dfaeed69b322d87/source/imgs/noise.png -------------------------------------------------------------------------------- /source/js/gallery.js: -------------------------------------------------------------------------------- 1 | (function($){ 2 | // Caption 3 | $('.entry').each(function(i){ 4 | $(this).find('img').each(function(){ 5 | var alt = this.alt; 6 | 7 | if (alt){ 8 | $(this).after('' + alt + ''); 9 | } 10 | 11 | $(this).wrap(''); 12 | }); 13 | }); 14 | 15 | // Gallery 16 | var play = function(parent, item, callback){ 17 | var width = parent.width(); 18 | 19 | item.imagesLoaded(function(){ 20 | var _this = this[0], 21 | nWidth = _this.naturalWidth, 22 | nHeight = _this.naturalHeight; 23 | 24 | callback(); 25 | this.animate({opacity: 1}, 500); 26 | parent.animate({height: width * nHeight / nWidth}, 500); 27 | }); 28 | }; 29 | 30 | $('.gallery').each(function(){ 31 | var $this = $(this), 32 | current = 0, 33 | photoset = $this.children('.photoset').children(), 34 | all = photoset.length, 35 | loading = true; 36 | 37 | play($this, photoset.eq(0), function(){ 38 | loading = false; 39 | }); 40 | 41 | $this.on('click', '.prev', function(){ 42 | if (!loading){ 43 | var next = (current - 1) % all; 44 | loading = true; 45 | 46 | play($this, photoset.eq(next), function(){ 47 | photoset.eq(current).animate({opacity: 0}, 500); 48 | loading = false; 49 | current = next; 50 | }); 51 | } 52 | }).on('click', '.next', function(){ 53 | if (!loading){ 54 | var next = (current + 1) % all; 55 | loading = true; 56 | 57 | play($this, photoset.eq(next), function(){ 58 | photoset.eq(current).animate({opacity: 0}, 500); 59 | loading = false; 60 | current = next; 61 | }); 62 | } 63 | }); 64 | }); 65 | })(jQuery); -------------------------------------------------------------------------------- /source/js/jquery.imagesloaded.min.js: -------------------------------------------------------------------------------- 1 | (function(c,n){var l="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==";c.fn.imagesLoaded=function(f){function m(){var b=c(i),a=c(h);d&&(h.length?d.reject(e,b,a):d.resolve(e));c.isFunction(f)&&f.call(g,e,b,a)}function j(b,a){b.src===l||-1!==c.inArray(b,k)||(k.push(b),a?h.push(b):i.push(b),c.data(b,"imagesLoaded",{isBroken:a,src:b.src}),o&&d.notifyWith(c(b),[a,e,c(i),c(h)]),e.length===k.length&&(setTimeout(m),e.unbind(".imagesLoaded")))}var g=this,d=c.isFunction(c.Deferred)?c.Deferred(): 2 | 0,o=c.isFunction(d.notify),e=g.find("img").add(g.filter("img")),k=[],i=[],h=[];c.isPlainObject(f)&&c.each(f,function(b,a){if("callback"===b)f=a;else if(d)d[b](a)});e.length?e.bind("load.imagesLoaded error.imagesLoaded",function(b){j(b.target,"error"===b.type)}).each(function(b,a){var d=a.src,e=c.data(a,"imagesLoaded");if(e&&e.src===d)j(a,e.isBroken);else if(a.complete&&a.naturalWidth!==n)j(a,0===a.naturalWidth||0===a.naturalHeight);else if(a.readyState||a.complete)a.src=l,a.src=d}):m();return d?d.promise(g): 3 | g}})(jQuery); 4 | --------------------------------------------------------------------------------