Browse Source

fix blog layout issues

Jerry xu 5 years ago
parent
commit
c22289b674
100 changed files with 581 additions and 5728 deletions
  1. 55 2
      _config.yml
  2. 234 276
      package-lock.json
  3. 5 5
      package.json
  4. 2 0
      source/_posts/Freemarker.md
  5. 1 0
      source/_posts/HttpMessageConverter.md
  6. 1 1
      source/_posts/Linux.md
  7. 1 1
      source/_posts/SpringbootBean.md
  8. 2 1
      source/_posts/aop.md
  9. 1 1
      source/_posts/hello-world.md
  10. 1 0
      source/_posts/rabbitmq.md
  11. 1 1
      source/_posts/rabbitmq2.md
  12. 0 3
      themes/landscape/.gitignore
  13. 0 46
      themes/landscape/Gruntfile.js
  14. 0 7
      themes/landscape/LICENSE
  15. 0 112
      themes/landscape/README.md
  16. 0 37
      themes/landscape/_config.yml
  17. 0 19
      themes/landscape/languages/de.yml
  18. 0 19
      themes/landscape/languages/default.yml
  19. 0 19
      themes/landscape/languages/es.yml
  20. 0 19
      themes/landscape/languages/fr.yml
  21. 0 19
      themes/landscape/languages/ja.yml
  22. 0 19
      themes/landscape/languages/ko.yml
  23. 0 20
      themes/landscape/languages/nl.yml
  24. 0 19
      themes/landscape/languages/no.yml
  25. 0 19
      themes/landscape/languages/pt.yml
  26. 0 19
      themes/landscape/languages/ru.yml
  27. 0 19
      themes/landscape/languages/zh-CN.yml
  28. 0 19
      themes/landscape/languages/zh-TW.yml
  29. 0 25
      themes/landscape/layout/_partial/after-footer.ejs
  30. 0 8
      themes/landscape/layout/_partial/archive-post.ejs
  31. 0 34
      themes/landscape/layout/_partial/archive.ejs
  32. 0 44
      themes/landscape/layout/_partial/article.ejs
  33. 0 11
      themes/landscape/layout/_partial/footer.ejs
  34. 0 18
      themes/landscape/layout/_partial/gauges-analytics.ejs
  35. 0 14
      themes/landscape/layout/_partial/google-analytics.ejs
  36. 0 36
      themes/landscape/layout/_partial/head.ejs
  37. 0 32
      themes/landscape/layout/_partial/header.ejs
  38. 0 5
      themes/landscape/layout/_partial/mobile-nav.ejs
  39. 0 10
      themes/landscape/layout/_partial/post/category.ejs
  40. 0 3
      themes/landscape/layout/_partial/post/date.ejs
  41. 0 11
      themes/landscape/layout/_partial/post/gallery.ejs
  42. 0 22
      themes/landscape/layout/_partial/post/nav.ejs
  43. 0 6
      themes/landscape/layout/_partial/post/tag.ejs
  44. 0 15
      themes/landscape/layout/_partial/post/title.ejs
  45. 0 5
      themes/landscape/layout/_partial/sidebar.ejs
  46. 0 8
      themes/landscape/layout/_widget/archive.ejs
  47. 0 8
      themes/landscape/layout/_widget/category.ejs
  48. 0 14
      themes/landscape/layout/_widget/recent_posts.ejs
  49. 0 8
      themes/landscape/layout/_widget/tag.ejs
  50. 0 8
      themes/landscape/layout/_widget/tagcloud.ejs
  51. 0 1
      themes/landscape/layout/archive.ejs
  52. 0 1
      themes/landscape/layout/category.ejs
  53. 0 1
      themes/landscape/layout/index.ejs
  54. 0 18
      themes/landscape/layout/layout.ejs
  55. 0 1
      themes/landscape/layout/page.ejs
  56. 0 1
      themes/landscape/layout/post.ejs
  57. 0 1
      themes/landscape/layout/tag.ejs
  58. 0 12
      themes/landscape/package.json
  59. 0 24
      themes/landscape/scripts/fancybox.js
  60. 0 63
      themes/landscape/source/css/_extend.styl
  61. 0 80
      themes/landscape/source/css/_partial/archive.styl
  62. 0 357
      themes/landscape/source/css/_partial/article.styl
  63. 0 9
      themes/landscape/source/css/_partial/comment.styl
  64. 0 14
      themes/landscape/source/css/_partial/footer.styl
  65. 0 165
      themes/landscape/source/css/_partial/header.styl
  66. 0 158
      themes/landscape/source/css/_partial/highlight.styl
  67. 0 19
      themes/landscape/source/css/_partial/mobile.styl
  68. 0 27
      themes/landscape/source/css/_partial/sidebar-aside.styl
  69. 0 27
      themes/landscape/source/css/_partial/sidebar-bottom.styl
  70. 0 35
      themes/landscape/source/css/_partial/sidebar.styl
  71. 0 38
      themes/landscape/source/css/_util/grid.styl
  72. 0 31
      themes/landscape/source/css/_util/mixin.styl
  73. 0 63
      themes/landscape/source/css/_variables.styl
  74. BIN
      themes/landscape/source/css/fonts/FontAwesome.otf
  75. BIN
      themes/landscape/source/css/fonts/fontawesome-webfont.eot
  76. 0 195
      themes/landscape/source/css/fonts/fontawesome-webfont.svg
  77. BIN
      themes/landscape/source/css/fonts/fontawesome-webfont.ttf
  78. BIN
      themes/landscape/source/css/fonts/fontawesome-webfont.woff
  79. BIN
      themes/landscape/source/css/images/banner.jpg
  80. 0 89
      themes/landscape/source/css/style.styl
  81. BIN
      themes/landscape/source/fancybox/blank.gif
  82. BIN
      themes/landscape/source/fancybox/fancybox_loading.gif
  83. BIN
      themes/landscape/source/fancybox/fancybox_loading@2x.gif
  84. BIN
      themes/landscape/source/fancybox/fancybox_overlay.png
  85. BIN
      themes/landscape/source/fancybox/fancybox_sprite.png
  86. BIN
      themes/landscape/source/fancybox/fancybox_sprite@2x.png
  87. BIN
      themes/landscape/source/fancybox/helpers/fancybox_buttons.png
  88. 0 97
      themes/landscape/source/fancybox/helpers/jquery.fancybox-buttons.css
  89. 0 122
      themes/landscape/source/fancybox/helpers/jquery.fancybox-buttons.js
  90. 0 199
      themes/landscape/source/fancybox/helpers/jquery.fancybox-media.js
  91. 0 55
      themes/landscape/source/fancybox/helpers/jquery.fancybox-thumbs.css
  92. 0 165
      themes/landscape/source/fancybox/helpers/jquery.fancybox-thumbs.js
  93. 0 273
      themes/landscape/source/fancybox/jquery.fancybox.css
  94. 0 2017
      themes/landscape/source/fancybox/jquery.fancybox.js
  95. 0 46
      themes/landscape/source/fancybox/jquery.fancybox.pack.js
  96. 0 137
      themes/landscape/source/js/script.js
  97. 184 23
      themes/material-flow/README.md
  98. 1 5
      themes/material-flow/_config.yml
  99. 91 91
      themes/material-flow/layout/_partial/article.ejs
  100. 1 1
      themes/material-flow/layout/_widget/about.ejs

+ 55 - 2
_config.yml

@@ -20,7 +20,7 @@ timezone: Asia/Shanghai
 
 # URL
 ## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/'
-url: https://blog.dzdy.xyz
+url: https://blog.dazhidayong.cn
 root: /
 permalink: :year/:month/:day/:title/
 permalink_defaults:
@@ -74,13 +74,66 @@ time_format: HH:mm:ss
 
 # Pagination
 ## Set per_page to 0 to disable pagination
-per_page: 10
+per_page: 5
 pagination_dir: page
 
 # Extensions
 ## Plugins: https://hexo.io/plugins/
 ## Themes: https://hexo.io/themes/
 theme: material-flow
+search:
+  path: search.xml
+  field: post
+
+autoprefixer:
+  exclude:
+    - '*.min.css'
+  # remove: false # prevent autoprefixer remove page-break-inside
+  # browsers:
+  #   - 'last 2 versions'
+  #   - '> 5%'
+
+# Generator json content
+jsonContent:
+  meta: false
+  keywords: false
+  pages:
+    title: true
+    slug: false
+    date: false
+    updated: false
+    comments: false
+    path: false
+    link: false
+    permalink: true
+    excerpt: false
+    keywords: false
+    text: true
+    raw: false
+    content: false
+  posts:
+    title: true
+    slug: false
+    date: false
+    updated: false
+    comments: false
+    path: false
+    link: false
+    permalink: true
+    excerpt: false
+    keywords: false
+    text: true
+    raw: false
+    content: false
+    categories: false
+    tags: false
+
+feed:
+  type: atom
+  path: atom.xml
+  limit: 20
+  hub:
+  content:
 
 # Deployment
 ## Docs: https://hexo.io/docs/deployment.html

File diff suppressed because it is too large
+ 234 - 276
package-lock.json


+ 5 - 5
package.json

@@ -3,20 +3,20 @@
   "version": "0.0.0",
   "private": true,
   "hexo": {
-    "version": "3.7.1"
+    "version": "3.8.0"
   },
   "dependencies": {
-    "hexo": "^3.7.0",
-    "hexo-autoprefixer": "^1.0.0",
+    "hexo": "^3.8.0",
+    "hexo-autoprefixer": "^2.0.0",
     "hexo-generator-archive": "^0.1.5",
     "hexo-generator-category": "^0.1.3",
     "hexo-generator-feed": "^1.2.2",
     "hexo-generator-index": "^0.2.1",
-    "hexo-generator-json-content": "^3.0.1",
+    "hexo-generator-json-content": "^4.1.3",
     "hexo-generator-search": "^2.2.5",
     "hexo-generator-tag": "^0.2.0",
     "hexo-renderer-ejs": "^0.3.1",
-    "hexo-renderer-less": "^0.2.0",
+    "hexo-renderer-less": "^1.0.0",
     "hexo-renderer-marked": "^0.3.2",
     "hexo-renderer-stylus": "^0.3.3",
     "hexo-server": "^0.3.1"

+ 2 - 0
source/_posts/Freemarker.md

@@ -11,6 +11,7 @@ __需求:__ 使用freemarker渲染生成模板文件
 freemarker常用与web项目前端页面渲染,同样也可以用于其他代码的模板化生成
 #### 方法1
 使用自带的Configuration
+<!--more-->
 ```
 import freemarker.template.Configuration;
 
@@ -31,6 +32,7 @@ Writer out = new StringWriter();
 template.process(params, out);
 out.toString();
 ```
+
 #### 方法2
 如果freemarker已经与spring集成可以直接通过配置文件指定多个模板文件地址(推荐)
 - springboot 配置

+ 1 - 0
source/_posts/HttpMessageConverter.md

@@ -6,6 +6,7 @@ categories: [Java,Spring]
 ---
 #### Spring Boot 设置消息类型转换
 1. 通过实现 WebMvcConfigurer 接口 并重写 configureMessageConverters 方法
+<!--more-->
 ```java
 @Override
 public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {

+ 1 - 1
source/_posts/Linux.md

@@ -16,7 +16,7 @@ categories: skill
 ```
 java -jar -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 yahu-rest2.jar --spring.profiles.active=test  --spring.config.location=classpath:/application.properties,/etc/config/yahu/application-test.properties
 ```
-
+<!--more-->
 > 查看端口
 ```
 显示所有端口和所有对应的程序:

+ 1 - 1
source/_posts/SpringbootBean.md

@@ -13,7 +13,7 @@ public class DemoBean(){
 
 }
 ```
-
+<!--more-->
 - @Bean 一般使用在动态代理的配置类中 @Configuration
 ```java
 Configuration

+ 2 - 1
source/_posts/aop.md

@@ -13,7 +13,7 @@ categories: [Java,Spring]
 <aop:aspectj-autoproxy proxy-target-class="true"/>
 ```
 开启自动切面代理
-
+<!--more-->
 - 添加自定义注解
 ```java
 /**
@@ -80,6 +80,7 @@ public @interface ParamCheck {
 
 }
 ``` 
+
 - 添加指定类型
 ```java
 public enum ParamType {

+ 1 - 1
source/_posts/hello-world.md

@@ -10,7 +10,7 @@ Welcome to [Hexo](https://hexo.io/)! This is your very first post. Check [docume
 ``` bash
 $ hexo new "My New Post"
 ```
-
+<!--more-->
 More info: [Writing](https://hexo.io/docs/writing.html)
 
 ### Run server

+ 1 - 0
source/_posts/rabbitmq.md

@@ -13,6 +13,7 @@ categories: [Java,Spring]
 生产者会向Exchange发送消息并且绑定一个RoutingKey,
 Exchange 用来接收生产者发送的消息并通过模式和规则将这些消息路由给服务器中的队列,
 Exchange通过BindingKey找到匹配的队列,Queue 用来保存消息直到发送给消费者。
+<!--more-->
 ![rabbitmq_model](rabbitmq_model.png)
 
 **四种运行模式**

+ 1 - 1
source/_posts/rabbitmq2.md

@@ -8,7 +8,7 @@ categories: [Java,Spring]
 在 rabbitMq 中还有个重要的组件是 MessageConverter,用于消息格式的设置。
 默认使用amqp的 SimpleMessageConverter 使用text传输,在传输量较大的数据时比较消耗性能。
 另一种就是 Jackson2JsonMessageConverter,使用json传输。
-
+<!--more-->
 **全局配置文件**
 ```java
 @Configuration

+ 0 - 3
themes/landscape/.gitignore

@@ -1,3 +0,0 @@
-.DS_Store
-node_modules
-tmp

+ 0 - 46
themes/landscape/Gruntfile.js

@@ -1,46 +0,0 @@
-module.exports = function(grunt){
-  grunt.initConfig({
-    gitclone: {
-      fontawesome: {
-        options: {
-          repository: 'https://github.com/FortAwesome/Font-Awesome.git',
-          directory: 'tmp/fontawesome'
-        },
-      },
-      fancybox: {
-        options: {
-          repository: 'https://github.com/fancyapps/fancyBox.git',
-          directory: 'tmp/fancybox'
-        }
-      }
-    },
-    copy: {
-      fontawesome: {
-        expand: true,
-        cwd: 'tmp/fontawesome/fonts/',
-        src: ['**'],
-        dest: 'source/css/fonts/'
-      },
-      fancybox: {
-        expand: true,
-        cwd: 'tmp/fancybox/source/',
-        src: ['**'],
-        dest: 'source/fancybox/'
-      }
-    },
-    _clean: {
-      tmp: ['tmp'],
-      fontawesome: ['source/css/fonts'],
-      fancybox: ['source/fancybox']
-    }
-  });
-
-  require('load-grunt-tasks')(grunt);
-
-  grunt.renameTask('clean', '_clean');
-
-  grunt.registerTask('fontawesome', ['gitclone:fontawesome', 'copy:fontawesome', '_clean:tmp']);
-  grunt.registerTask('fancybox', ['gitclone:fancybox', 'copy:fancybox', '_clean:tmp']);
-  grunt.registerTask('default', ['gitclone', 'copy', '_clean:tmp']);
-  grunt.registerTask('clean', ['_clean']);
-};

+ 0 - 7
themes/landscape/LICENSE

@@ -1,7 +0,0 @@
-Copyright (c) 2013 Tommy Chen
-
-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:
-
-The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-
-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.

+ 0 - 112
themes/landscape/README.md

@@ -1,112 +0,0 @@
-# Landscape
-
-A brand new default theme for [Hexo].
-
-- [Preview](http://hexo.io/hexo-theme-landscape/)
-
-## Installation
-
-### Install
-
-``` bash
-$ git clone https://github.com/hexojs/hexo-theme-landscape.git themes/landscape
-```
-
-**Landscape requires Hexo 2.4 and above.** If you would like to enable the RSS, the [hexo-generate-feed] plugin is also required.
-
-### Enable
-
-Modify `theme` setting in `_config.yml` to `landscape`.
-
-### Update
-
-``` bash
-cd themes/landscape
-git pull
-```
-
-## Configuration
-
-``` yml
-# Header
-menu:
-  Home: /
-  Archives: /archives
-rss: /atom.xml
-
-# Content
-excerpt_link: Read More
-fancybox: true
-
-# Sidebar
-sidebar: right
-widgets:
-- category
-- tag
-- tagcloud
-- archives
-- recent_posts
-
-# Miscellaneous
-google_analytics:
-favicon: /favicon.png
-twitter:
-google_plus:
-```
-
-- **menu** - Navigation menu
-- **rss** - RSS link
-- **excerpt_link** - "Read More" link at the bottom of excerpted articles. `false` to hide the link.
-- **fancybox** - Enable [Fancybox]
-- **sidebar** - Sidebar style. You can choose `left`, `right`, `bottom` or `false`.
-- **widgets** - Widgets displaying in sidebar
-- **google_analytics** - Google Analytics ID
-- **favicon** - Favicon path
-- **twitter** - Twiiter ID
-- **google_plus** - Google+ ID
-
-## Features
-
-### Fancybox
-
-Landscape uses [Fancybox] to showcase your photos. You can use Markdown syntax or fancybox tag plugin to add your photos.
-
-```
-![img caption](img url)
-
-{% fancybox img_url [img_thumbnail] [img_caption] %}
-```
-
-### Sidebar
-
-You can put your sidebar in left side, right side or bottom of your site by editing `sidebar` setting.
-
-Landscape provides 5 built-in widgets:
-
-- category
-- tag
-- tagcloud
-- archives
-- recent_posts
-
-All of them are enabled by default. You can edit them in `widget` setting.
-
-## Development
-
-### Requirements
-
-- [Grunt] 0.4+
-- Hexo 2.4+
-
-### Grunt tasks
-
-- **default** - Download [Fancybox] and [Font Awesome].
-- **fontawesome** - Only download [Font Awesome].
-- **fancybox** - Only download [Fancybox].
-- **clean** - Clean temporarily files and downloaded files.
-
-[Hexo]: https://hexo.io/
-[Fancybox]: http://fancyapps.com/fancybox/
-[Font Awesome]: http://fontawesome.io/
-[Grunt]: http://gruntjs.com/
-[hexo-generate-feed]: https://github.com/hexojs/hexo-generator-feed

+ 0 - 37
themes/landscape/_config.yml

@@ -1,37 +0,0 @@
-# Header
-menu:
-  Home: /
-  Archives: /archives
-rss: /atom.xml
-
-# Content
-excerpt_link: Read More
-fancybox: true
-
-# Sidebar
-sidebar: right
-widgets:
-- category
-- tag
-- tagcloud
-- archive
-- recent_posts
-
-# display widgets at the bottom of index pages (pagination == 2)
-index_widgets:
-# - category
-# - tagcloud
-# - archive
-
-# widget behavior
-archive_type: 'monthly'
-show_count: false
-
-# Miscellaneous
-google_analytics:
-gauges_analytics:
-favicon: /favicon.png
-twitter:
-google_plus:
-fb_admins:
-fb_app_id:

+ 0 - 19
themes/landscape/languages/de.yml

@@ -1,19 +0,0 @@
-categories: Kategorien
-search: Suche
-tags: Tags
-tagcloud: Tag Cloud
-tweets: Tweets
-prev: zurück
-next: weiter
-comment: Kommentare
-archive_a: Archiv
-archive_b: "Archive: %s"
-page: Seite %d
-recent_posts: letzter Beitrag
-newer: Neuer
-older: Älter
-share: Teilen
-powered_by: Powered by
-rss_feed: RSS Feed
-category: Kategorie
-tag: Tag

+ 0 - 19
themes/landscape/languages/default.yml

@@ -1,19 +0,0 @@
-categories: Categories
-search: Search
-tags: Tags
-tagcloud: Tag Cloud
-tweets: Tweets
-prev: Prev
-next: Next
-comment: Comments
-archive_a: Archives
-archive_b: "Archives: %s"
-page: Page %d
-recent_posts: Recent Posts
-newer: Newer
-older: Older
-share: Share
-powered_by: Powered by
-rss_feed: RSS Feed
-category: Category
-tag: Tag

+ 0 - 19
themes/landscape/languages/es.yml

@@ -1,19 +0,0 @@
-categories: Categorías
-search: Buscar
-tags: Tags
-tagcloud: Nube de Tags
-tweets: Tweets
-prev: Previo
-next: Siguiente
-comment: Comentarios
-archive_a: Archivos
-archive_b: "Archivos: %s"
-page: Página %d
-recent_posts: Posts recientes
-newer: Nuevo
-older: Viejo
-share: Compartir
-powered_by: Construido por
-rss_feed: RSS
-category: Categoría
-tag: Tag

+ 0 - 19
themes/landscape/languages/fr.yml

@@ -1,19 +0,0 @@
-categories: Catégories
-search: Rechercher
-tags: Mot-clés
-tagcloud: Nuage de mot-clés
-tweets: Tweets
-prev: Précédent
-next: Suivant
-comment: Commentaires
-archive_a: Archives
-archive_b: "Archives: %s"
-page: Page %d
-recent_posts: Articles récents
-newer: Récent
-older: Ancien
-share: Partager
-powered_by: Propulsé par
-rss_feed: Flux RSS
-category: Catégorie
-tag: Mot-clé

+ 0 - 19
themes/landscape/languages/ja.yml

@@ -1,19 +0,0 @@
-categories: カテゴリ
-search: 検索
-tags: タグ
-tagcloud: タグクラウド
-tweets: ツイート
-prev: 戻る
-next: 次へ
-comment: コメント
-archive_a: アーカイブ
-archive_b: "アーカイブ: %s"
-page: ページ %d
-recent_posts: 最近の投稿
-newer: 次の記事
-older: 前の記事
-share: 共有
-powered_by: Powered by
-rss_feed: RSSフィード
-category: カテゴリ
-tag: タグ

+ 0 - 19
themes/landscape/languages/ko.yml

@@ -1,19 +0,0 @@
-categories: 카테고리
-search: 검색
-tags: 태그
-tagcloud: 태그 클라우드
-tweets: 트윗
-prev: 이전
-next: 다음
-comment: 댓글
-archive_a: 아카이브
-archive_b: "아카이브: %s"
-page: 페이지 %d
-recent_posts: 최근 포스트
-newer: 최신
-older: 이전
-share: 공유
-powered_by: Powered by
-rss_feed: RSS Feed
-category: 카테고리
-tag: 태그

+ 0 - 20
themes/landscape/languages/nl.yml

@@ -1,20 +0,0 @@
-
-categories: Categorieën
-search: Zoeken
-tags: Labels
-tagcloud: Tag Cloud
-tweets: Tweets
-prev: Vorige
-next: Volgende
-comment: Commentaren
-archive_a: Archieven
-archive_b: "Archieven: %s"
-page: Pagina %d
-recent_posts: Recente berichten
-newer: Nieuwer
-older: Ouder
-share: Delen
-powered_by: Powered by
-rss_feed: RSS Feed
-category: Categorie
-tag: Label

+ 0 - 19
themes/landscape/languages/no.yml

@@ -1,19 +0,0 @@
-categories: Kategorier
-search: Søk
-tags: Tags
-tagcloud: Tag Cloud
-tweets: Tweets
-prev: Forrige
-next: Neste
-comment: Kommentarer
-archive_a: Arkiv
-archive_b: "Arkiv: %s"
-page: Side %d
-recent_posts: Siste innlegg
-newer: Newer
-older: Older
-share: Share
-powered_by: Powered by
-rss_feed: RSS Feed
-category: Category
-tag: Tag

+ 0 - 19
themes/landscape/languages/pt.yml

@@ -1,19 +0,0 @@
-categories: Categorias
-search: Buscar
-tags: Tags
-tagcloud: Nuvem de Tags
-tweets: Tweets
-prev: Anterior
-next: Próximo
-comment: Comentários
-archive_a: Arquivos
-archive_b: "Arquivos: %s"
-page: Página %d
-recent_posts: Postagens Recentes
-newer: Mais Recente
-older: Mais Antigo
-share: Compartilhar
-powered_by: Desenvolvido por
-rss_feed: Feed RSS
-category: Categoria
-tag: Tag

+ 0 - 19
themes/landscape/languages/ru.yml

@@ -1,19 +0,0 @@
-categories: Категории
-search: Поиск
-tags: Метки
-tagcloud: Облако меток
-tweets: Твиты
-prev: Назад
-next: Вперед
-comment: Комментарии
-archive_a: Архив
-archive_b: "Архив: %s"
-page: Страница %d
-recent_posts: Недавние записи
-newer: Следующий
-older: Предыдущий
-share: Поделиться
-powered_by: Создано с помощью
-rss_feed: RSS-каналы
-category: Категория
-tag: Метка

+ 0 - 19
themes/landscape/languages/zh-CN.yml

@@ -1,19 +0,0 @@
-categories: 分类
-search: 搜索
-tags: 标签
-tagcloud: 标签云
-tweets: 推文
-prev: 上一页
-next: 下一页
-comment: 留言
-archive_a: 归档
-archive_b: 归档:%s
-page: 第 %d 页
-recent_posts: 最新文章
-newer: Newer
-older: Older
-share: Share
-powered_by: Powered by
-rss_feed: RSS Feed
-category: Category
-tag: Tag

+ 0 - 19
themes/landscape/languages/zh-TW.yml

@@ -1,19 +0,0 @@
-categories: 分類
-search: 搜尋
-tags: 標籤
-tagcloud: 標籤雲
-tweets: 推文
-prev: 上一頁
-next: 下一頁
-comment: 留言
-archive_a: 彙整
-archive_b: 彙整:%s
-page: 第 %d 頁
-recent_posts: 最新文章
-newer: Newer
-older: Older
-share: Share
-powered_by: Powered by
-rss_feed: RSS Feed
-category: Category
-tag: Tag

+ 0 - 25
themes/landscape/layout/_partial/after-footer.ejs

@@ -1,25 +0,0 @@
-<% if (config.disqus_shortname){ %>
-<script>
-  var disqus_shortname = '<%= config.disqus_shortname %>';
-  <% if (page.permalink){ %>
-  var disqus_url = '<%= page.permalink %>';
-  <% } %>
-  (function(){
-    var dsq = document.createElement('script');
-    dsq.type = 'text/javascript';
-    dsq.async = true;
-    dsq.src = '//' + disqus_shortname + '.disqus.com/<% if (page.comments) { %>embed.js<% } else { %>count.js<% } %>';
-    (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-  })();
-</script>
-<% } %>
-
-<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
-
-<% if (theme.fancybox){ %>
-  <%- css('fancybox/jquery.fancybox') %>
-  <%- js('fancybox/jquery.fancybox.pack') %>
-<% } %>
-
-<%- js('js/script') %>
-<%- partial('gauges-analytics') %>

+ 0 - 8
themes/landscape/layout/_partial/archive-post.ejs

@@ -1,8 +0,0 @@
-<article class="archive-article archive-type-<%= post.layout %>">
-  <div class="archive-article-inner">
-    <header class="archive-article-header">
-      <%- partial('post/date', {class_name: 'archive-article-date', date_format: 'MMM D'}) %>
-      <%- partial('post/title', {class_name: 'archive-article-title'}) %>
-    </header>
-  </div>
-</article>

+ 0 - 34
themes/landscape/layout/_partial/archive.ejs

@@ -1,34 +0,0 @@
-<% if (pagination == 2){ %>
-  <% page.posts.each(function(post){ %>
-    <%- partial('article', {post: post, index: true}) %>
-  <% }) %>
-<% } else { %>
-  <% var last; %>
-  <% page.posts.each(function(post, i){ %>
-    <% var year = post.date.year(); %>
-    <% if (last != year){ %>
-      <% if (last != null){ %>
-        </div></section>
-      <% } %>
-      <% last = year; %>
-      <section class="archives-wrap">
-        <div class="archive-year-wrap">
-          <a href="<%- url_for(config.archive_dir + '/' + year) %>" class="archive-year"><%= year %></a>
-        </div>
-        <div class="archives">
-    <% } %>
-    <%- partial('archive-post', {post: post, even: i % 2 == 0}) %>
-  <% }) %>
-  <% if (page.posts.length){ %>
-    </div></section>
-  <% } %>
-<% } %>
-<% if (page.total > 1){ %>
-  <nav id="page-nav">
-    <% var prev_text = "&laquo; " + __('prev');var next_text = __('next') + " &raquo;"%>
-    <%- paginator({
-      prev_text: prev_text,
-      next_text: next_text
-    }) %>
-  </nav>
-<% } %>

+ 0 - 44
themes/landscape/layout/_partial/article.ejs

@@ -1,44 +0,0 @@
-<article id="<%= post.layout %>-<%= post.slug %>" class="article article-type-<%= post.layout %>" itemscope itemprop="blogPost">
-  <div class="article-meta">
-    <%- partial('post/date', {class_name: 'article-date', date_format: null}) %>
-    <%- partial('post/category') %>
-  </div>
-  <div class="article-inner">
-    <%- partial('post/gallery') %>
-    <% if (post.link || post.title){ %>
-      <header class="article-header">
-        <%- partial('post/title', {class_name: 'article-title'}) %>
-      </header>
-    <% } %>
-    <div class="article-entry" itemprop="articleBody">
-      <% if (post.excerpt && index){ %>
-        <%- post.excerpt %>
-        <% if (theme.excerpt_link){ %>
-          <p class="article-more-link">
-            <a href="<%- url_for(post.path) %>#more"><%= theme.excerpt_link %></a>
-          </p>
-        <% } %>
-      <% } else { %>
-        <%- post.content %>
-      <% } %>
-    </div>
-    <footer class="article-footer">
-      <a data-url="<%- post.permalink %>" data-id="<%= post._id %>" class="article-share-link"><%= __('share') %></a>
-      <% if (post.comments && config.disqus_shortname){ %>
-        <a href="<%- post.permalink %>#disqus_thread" class="article-comment-link"><%= __('comment') %></a>
-      <% } %>
-      <%- partial('post/tag') %>
-    </footer>
-  </div>
-  <% if (!index){ %>
-    <%- partial('post/nav') %>
-  <% } %>
-</article>
-
-<% if (!index && post.comments && config.disqus_shortname){ %>
-<section id="comments">
-  <div id="disqus_thread">
-    <noscript>Please enable JavaScript to view the <a href="//disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
-  </div>
-</section>
-<% } %>

+ 0 - 11
themes/landscape/layout/_partial/footer.ejs

@@ -1,11 +0,0 @@
-<footer id="footer">
-  <% if (theme.sidebar === 'bottom'){ %>
-    <%- partial('_partial/sidebar') %>
-  <% } %>
-  <div class="outer">
-    <div id="footer-info" class="inner">
-      &copy; <%= date(new Date(), 'YYYY') %> <%= config.author || config.title %><br>
-      <%= __('powered_by') %> <a href="http://hexo.io/" target="_blank">Hexo</a>
-    </div>
-  </div>
-</footer>

+ 0 - 18
themes/landscape/layout/_partial/gauges-analytics.ejs

@@ -1,18 +0,0 @@
-<% if (theme.gauges_analytics){ %>
-<!-- Gaug.es Analytics -->
-<script type="text/javascript">
-  var _gauges = _gauges || [];
-  (function() {
-    var t   = document.createElement('script');
-    t.type  = 'text/javascript';
-    t.async = true;
-    t.id    = 'gauges-tracker';
-    t.setAttribute('data-site-id', '<%= theme.gauges_analytics %>');
-    t.setAttribute('data-track-path', 'https://track.gaug.es/track.gif');
-    t.src = 'https://d36ee2fcip1434.cloudfront.net/track.js';
-    var s = document.getElementsByTagName('script')[0];
-    s.parentNode.insertBefore(t, s);
-  })();
-</script>
-<!-- End Gaug.es Analytics -->
-<% } %>

+ 0 - 14
themes/landscape/layout/_partial/google-analytics.ejs

@@ -1,14 +0,0 @@
-<% if (theme.google_analytics){ %>
-<!-- Google Analytics -->
-<script type="text/javascript">
-(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
-(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
-m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
-})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
-
-ga('create', '<%= theme.google_analytics %>', 'auto');
-ga('send', 'pageview');
-
-</script>
-<!-- End Google Analytics -->
-<% } %>

+ 0 - 36
themes/landscape/layout/_partial/head.ejs

@@ -1,36 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-  <meta charset="utf-8">
-  <%- partial('google-analytics') %>
-  <%
-  var title = page.title;
-
-  if (is_archive()){
-    title = __('archive_a');
-
-    if (is_month()){
-      title += ': ' + page.year + '/' + page.month;
-    } else if (is_year()){
-      title += ': ' + page.year;
-    }
-  } else if (is_category()){
-    title = __('category') + ': ' + page.category;
-  } else if (is_tag()){
-    title = __('tag') + ': ' + page.tag;
-  }
-  %>
-  <title><% if (title){ %><%= title %> | <% } %><%= config.title %></title>
-  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
-  <%- open_graph({twitter_id: theme.twitter, google_plus: theme.google_plus, fb_admins: theme.fb_admins, fb_app_id: theme.fb_app_id}) %>
-  <% if (theme.rss){ %>
-    <link rel="alternate" href="<%= url_for(theme.rss) %>" title="<%= config.title %>" type="application/atom+xml">
-  <% } %>
-  <% if (theme.favicon){ %>
-    <link rel="icon" href="<%- theme.favicon %>">
-  <% } %>
-  <% if (config.highlight.enable){ %>
-    <link href="//fonts.googleapis.com/css?family=Source+Code+Pro" rel="stylesheet" type="text/css">
-  <% } %>
-  <%- css('css/style') %>
-</head>

+ 0 - 32
themes/landscape/layout/_partial/header.ejs

@@ -1,32 +0,0 @@
-<header id="header">
-  <div id="banner"></div>
-  <div id="header-outer" class="outer">
-    <div id="header-title" class="inner">
-      <h1 id="logo-wrap">
-        <a href="<%- url_for() %>" id="logo"><%= config.title %></a>
-      </h1>
-      <% if (theme.subtitle){ %>
-        <h2 id="subtitle-wrap">
-          <a href="<%- url_for() %>" id="subtitle"><%= theme.subtitle %></a>
-        </h2>
-      <% } %>
-    </div>
-    <div id="header-inner" class="inner">
-      <nav id="main-nav">
-        <a id="main-nav-toggle" class="nav-icon"></a>
-        <% for (var i in theme.menu){ %>
-          <a class="main-nav-link" href="<%- url_for(theme.menu[i]) %>"><%= i %></a>
-        <% } %>
-      </nav>
-      <nav id="sub-nav">
-        <% if (theme.rss){ %>
-          <a id="nav-rss-link" class="nav-icon" href="<%- url_for(theme.rss) %>" title="<%= __('rss_feed') %>"></a>
-        <% } %>
-        <a id="nav-search-btn" class="nav-icon" title="<%= __('search') %>"></a>
-      </nav>
-      <div id="search-form-wrap">
-        <%- search_form({button: '&#xF002;'}) %>
-      </div>
-    </div>
-  </div>
-</header>

+ 0 - 5
themes/landscape/layout/_partial/mobile-nav.ejs

@@ -1,5 +0,0 @@
-<nav id="mobile-nav">
-  <% for (var i in theme.menu){ %>
-    <a href="<%- url_for(theme.menu[i]) %>" class="mobile-nav-link"><%= i %></a>
-  <% } %>
-</nav>

+ 0 - 10
themes/landscape/layout/_partial/post/category.ejs

@@ -1,10 +0,0 @@
-<% if (post.categories && post.categories.length){ %>
-  <div class="article-category">
-    <%- list_categories(post.categories, {
-      show_count: false,
-      class: 'article-category',
-      style: 'none',
-      separator: '►'
-    }) %>
-  </div>
-<% } %>

+ 0 - 3
themes/landscape/layout/_partial/post/date.ejs

@@ -1,3 +0,0 @@
-<a href="<%- url_for(post.path) %>" class="<%= class_name %>">
-  <time datetime="<%= date_xml(post.date) %>" itemprop="datePublished"><%= date(post.date, date_format) %></time>
-</a>

+ 0 - 11
themes/landscape/layout/_partial/post/gallery.ejs

@@ -1,11 +0,0 @@
-<% if (post.photos && post.photos.length){ %>
-<div class="article-gallery">
-  <div class="article-gallery-photos">
-    <% post.photos.forEach(function(photo, i){ %>
-      <a class="article-gallery-img fancybox" href="<%- url_for(photo) %>" rel="gallery_<%= post._id %>">
-        <img src="<%- url_for(photo) %>" itemprop="image">
-      </a>
-    <% }) %>
-  </div>
-</div>
-<% } %>

+ 0 - 22
themes/landscape/layout/_partial/post/nav.ejs

@@ -1,22 +0,0 @@
-<% if (post.prev || post.next){ %>
-<nav id="article-nav">
-  <% if (post.prev){ %>
-    <a href="<%- url_for(post.prev.path) %>" id="article-nav-newer" class="article-nav-link-wrap">
-      <strong class="article-nav-caption"><%= __('newer') %></strong>
-      <div class="article-nav-title">
-        <% if (post.prev.title){ %>
-          <%= post.prev.title %>
-        <% } else { %>
-          (no title)
-        <% } %>
-      </div>
-    </a>
-  <% } %>
-  <% if (post.next){ %>
-    <a href="<%- url_for(post.next.path) %>" id="article-nav-older" class="article-nav-link-wrap">
-      <strong class="article-nav-caption"><%= __('older') %></strong>
-      <div class="article-nav-title"><%= post.next.title %></div>
-    </a>
-  <% } %>
-</nav>
-<% } %>

+ 0 - 6
themes/landscape/layout/_partial/post/tag.ejs

@@ -1,6 +0,0 @@
-<% if (post.tags && post.tags.length){ %>
-  <%- list_tags(post.tags, {
-    show_count: false,
-    class: 'article-tag'
-  }) %>
-<% } %>

+ 0 - 15
themes/landscape/layout/_partial/post/title.ejs

@@ -1,15 +0,0 @@
-<% if (post.link){ %>
-  <h1 itemprop="name">
-    <a class="<%= class_name %>" href="<%- url_for(post.link) %>" target="_blank" itemprop="url"><%= post.title %></a>
-  </h1>
-<% } else if (post.title){ %>
-  <% if (index){ %>
-    <h1 itemprop="name">
-      <a class="<%= class_name %>" href="<%- url_for(post.path) %>"><%= post.title %></a>
-    </h1>
-  <% } else { %>
-    <h1 class="<%= class_name %>" itemprop="name">
-      <%= post.title %>
-    </h1>
-  <% } %>
-<% } %>

+ 0 - 5
themes/landscape/layout/_partial/sidebar.ejs

@@ -1,5 +0,0 @@
-<aside id="sidebar"<% if (theme.sidebar === 'bottom'){ %> class="outer"<% } %>>
-  <% theme.widgets.forEach(function(widget){ %>
-    <%- partial('_widget/' + widget) %>
-  <% }) %>
-</aside>

+ 0 - 8
themes/landscape/layout/_widget/archive.ejs

@@ -1,8 +0,0 @@
-<% if (site.posts.length){ %>
-  <div class="widget-wrap">
-    <h3 class="widget-title"><%= __('archive_a') %></h3>
-    <div class="widget">
-      <%- list_archives({show_count: theme.show_count, type: theme.archive_type}) %>
-    </div>
-  </div>
-<% } %>

+ 0 - 8
themes/landscape/layout/_widget/category.ejs

@@ -1,8 +0,0 @@
-<% if (site.categories.length){ %>
-  <div class="widget-wrap">
-    <h3 class="widget-title"><%= __('categories') %></h3>
-    <div class="widget">
-      <%- list_categories({show_count: theme.show_count}) %>
-    </div>
-  </div>
-<% } %>

+ 0 - 14
themes/landscape/layout/_widget/recent_posts.ejs

@@ -1,14 +0,0 @@
-<% if (site.posts.length){ %>
-  <div class="widget-wrap">
-    <h3 class="widget-title"><%= __('recent_posts') %></h3>
-    <div class="widget">
-      <ul>
-        <% site.posts.sort('date', -1).limit(5).each(function(post){ %>
-          <li>
-            <a href="<%- url_for(post.path) %>"><%= post.title || '(no title)' %></a>
-          </li>
-        <% }) %>
-      </ul>
-    </div>
-  </div>
-<% } %>

+ 0 - 8
themes/landscape/layout/_widget/tag.ejs

@@ -1,8 +0,0 @@
-<% if (site.tags.length){ %>
-  <div class="widget-wrap">
-    <h3 class="widget-title"><%= __('tags') %></h3>
-    <div class="widget">
-      <%- list_tags({show_count: theme.show_count}) %>
-    </div>
-  </div>
-<% } %>

+ 0 - 8
themes/landscape/layout/_widget/tagcloud.ejs

@@ -1,8 +0,0 @@
-<% if (site.tags.length){ %>
-  <div class="widget-wrap">
-    <h3 class="widget-title"><%= __('tagcloud') %></h3>
-    <div class="widget tagcloud">
-      <%- tagcloud() %>
-    </div>
-  </div>
-<% } %>

+ 0 - 1
themes/landscape/layout/archive.ejs

@@ -1 +0,0 @@
-<%- partial('_partial/archive', {pagination: config.archive, index: true}) %>

+ 0 - 1
themes/landscape/layout/category.ejs

@@ -1 +0,0 @@
-<%- partial('_partial/archive', {pagination: config.category, index: true}) %>

+ 0 - 1
themes/landscape/layout/index.ejs

@@ -1 +0,0 @@
-<%- partial('_partial/archive', {pagination: 2, index: true}) %>

+ 0 - 18
themes/landscape/layout/layout.ejs

@@ -1,18 +0,0 @@
-<%- partial('_partial/head') %>
-<body>
-  <div id="container">
-    <div id="wrap">
-      <%- partial('_partial/header', null, {cache: !config.relative_link}) %>
-      <div class="outer">
-        <section id="main"><%- body %></section>
-        <% if (theme.sidebar && theme.sidebar !== 'bottom'){ %>
-          <%- partial('_partial/sidebar', null, {cache: !config.relative_link}) %>
-        <% } %>
-      </div>
-      <%- partial('_partial/footer', null, {cache: !config.relative_link}) %>
-    </div>
-    <%- partial('_partial/mobile-nav', null, {cache: !config.relative_link}) %>
-    <%- partial('_partial/after-footer') %>
-  </div>
-</body>
-</html>

+ 0 - 1
themes/landscape/layout/page.ejs

@@ -1 +0,0 @@
-<%- partial('_partial/article', {post: page, index: false}) %>

+ 0 - 1
themes/landscape/layout/post.ejs

@@ -1 +0,0 @@
-<%- partial('_partial/article', {post: page, index: false}) %>

+ 0 - 1
themes/landscape/layout/tag.ejs

@@ -1 +0,0 @@
-<%- partial('_partial/archive', {pagination: config.tag, index: true}) %>

+ 0 - 12
themes/landscape/package.json

@@ -1,12 +0,0 @@
-{
-  "name": "hexo-theme-landscape",
-  "version": "0.0.2",
-  "private": true,
-  "devDependencies": {
-    "grunt": "~0.4.2",
-    "load-grunt-tasks": "~0.2.0",
-    "grunt-git": "~0.2.2",
-    "grunt-contrib-clean": "~0.5.0",
-    "grunt-contrib-copy": "~0.4.1"
-  }
-}

+ 0 - 24
themes/landscape/scripts/fancybox.js

@@ -1,24 +0,0 @@
-var rUrl = /((([A-Za-z]{3,9}:(?:\/\/)?)(?:[-;:&=\+\$,\w]+@)?[A-Za-z0-9.-]+|(?:www.|[-;:&=\+\$,\w]+@)[A-Za-z0-9.-]+)((?:\/[\+~%\/.\w-_]*)?\??(?:[-\+=&;%@.\w_]*)#?(?:[.\!\/\\w]*))?)/;
-
-/**
-* Fancybox tag
-*
-* Syntax:
-*   {% fancybox /path/to/image [/path/to/thumbnail] [title] %}
-*/
-
-hexo.extend.tag.register('fancybox', function(args){
-  var original = args.shift(),
-    thumbnail = '';
-
-  if (args.length && rUrl.test(args[0])){
-    thumbnail = args.shift();
-  }
-
-  var title = args.join(' ');
-
-  return '<a class="fancybox" href="' + original + '" title="' + title + '">' +
-    '<img src="' + (thumbnail || original) + '" alt="' + title + '">'
-    '</a>' +
-    (title ? '<span class="caption">' + title + '</span>' : '');
-});

+ 0 - 63
themes/landscape/source/css/_extend.styl

@@ -1,63 +0,0 @@
-$block-caption
-  text-decoration: none
-  text-transform: uppercase
-  letter-spacing: 2px
-  color: color-grey
-  margin-bottom: 1em
-  margin-left: 5px
-  line-height: 1em
-  text-shadow: 0 1px #fff
-  font-weight: bold
-
-$block
-  background: #fff
-  box-shadow: 1px 2px 3px #ddd
-  border: 1px solid color-border
-  border-radius: 3px
-
-$base-style
-  h1
-    font-size: 2em
-  h2
-    font-size: 1.5em
-  h3
-    font-size: 1.3em
-  h4
-    font-size: 1.2em
-  h5
-    font-size: 1em
-  h6
-    font-size: 1em
-    color: color-grey
-  hr
-    border: 1px dashed color-border
-  strong
-    font-weight: bold
-  em, cite
-    font-style: italic
-  sup, sub
-    font-size: 0.75em
-    line-height: 0
-    position: relative
-    vertical-align: baseline
-  sup
-    top: -0.5em
-  sub
-    bottom: -0.2em
-  small
-    font-size: 0.85em
-  acronym, abbr
-    border-bottom: 1px dotted
-  ul, ol, dl
-    margin: 0 20px
-    line-height: line-height
-  ul, ol
-    ul, ol
-      margin-top: 0
-      margin-bottom: 0
-  ul
-    list-style: disc
-  ol
-    list-style: decimal
-  dt
-    font-weight: bold

+ 0 - 80
themes/landscape/source/css/_partial/archive.styl

@@ -1,80 +0,0 @@
-.archives-wrap
-  margin: block-margin 0
-
-.archives
-  clearfix()
-
-.archive-year-wrap
-  margin-bottom: 1em
-
-.archive-year
-  @extend $block-caption
-
-.archives
-  column-gap: 10px
-  @media mq-tablet
-    column-count: 2
-  @media mq-normal
-    column-count: 3
-
-.archive-article
-  avoid-column-break()
-
-.archive-article-inner
-  @extend $block
-  padding: 10px
-  margin-bottom: 15px
-
-.archive-article-title
-  text-decoration: none
-  font-weight: bold
-  color: color-default
-  transition: color 0.2s
-  line-height: line-height
-  &:hover
-    color: color-link
-
-.archive-article-footer
-  margin-top: 1em
-
-.archive-article-date
-  color: color-grey
-  text-decoration: none
-  font-size: 0.85em
-  line-height: 1em
-  margin-bottom: 0.5em
-  display: block
-
-#page-nav
-  clearfix()
-  margin: block-margin auto
-  background: #fff
-  box-shadow: 1px 2px 3px #ddd
-  border: 1px solid color-border
-  border-radius: 3px
-  text-align: center
-  color: color-grey
-  overflow: hidden
-  a, span
-    padding: 10px 20px
-    line-height: 1
-    height: 2ex
-  a
-    color: color-grey
-    text-decoration: none
-    &:hover
-      background: color-grey
-      color: #fff
-  .prev
-    float: left
-  .next
-    float: right
-  .page-number
-    display: inline-block
-    @media mq-mobile
-      display: none
-  .current
-    color: color-default
-    font-weight: bold
-  .space
-    color: color-border

+ 0 - 357
themes/landscape/source/css/_partial/article.styl

@@ -1,357 +0,0 @@
-.article
-  margin: block-margin 0
-
-.article-inner
-  @extend $block
-  overflow: hidden
-
-.article-meta
-  clearfix()
-
-.article-date
-  @extend $block-caption
-  float: left
-
-.article-category
-  float: left
-  line-height: 1em
-  color: #ccc
-  text-shadow: 0 1px #fff
-  margin-left: 8px
-  &:before
-    content: "\2022"
-
-.article-category-link
-  @extend $block-caption
-  margin: 0 12px 1em
-
-.article-header
-  padding: article-padding article-padding 0
-
-.article-title
-  text-decoration: none
-  font-size: 2em
-  font-weight: bold
-  color: color-default
-  line-height: line-height-title
-  transition: color 0.2s
-  a&:hover
-    color: color-link
-
-.article-entry
-  @extend $base-style
-  clearfix()
-  color: color-default
-  padding: 0 article-padding
-  p, table
-    line-height: line-height
-    margin: line-height 0
-  h1, h2, h3, h4, h5, h6
-    font-weight: bold
-  h1, h2, h3, h4, h5, h6
-    line-height: line-height-title
-    margin: line-height-title 0
-  a
-    color: color-link
-    text-decoration: none
-    &:hover
-      text-decoration: underline
-  ul, ol, dl
-    margin-top: line-height
-    margin-bottom: line-height
-  img, video
-    max-width: 100%
-    height: auto
-    display: block
-    margin: auto
-  iframe
-    border: none
-  table
-    width: 100%
-    border-collapse: collapse
-    border-spacing: 0
-  th
-    font-weight: bold
-    border-bottom: 3px solid color-border
-    padding-bottom: 0.5em
-  td
-    border-bottom: 1px solid color-border
-    padding: 10px 0
-  blockquote
-    font-family: font-serif
-    font-size: 1.4em
-    margin: line-height 20px
-    text-align: center
-    footer
-      font-size: font-size
-      margin: line-height 0
-      font-family: font-sans
-      cite
-        &:before
-          content: "—"
-          padding: 0 0.5em
-  .pullquote
-    text-align: left
-    width: 45%
-    margin: 0
-    &.left
-      margin-left: 0.5em
-      margin-right: 1em
-    &.right
-      margin-right: 0.5em
-      margin-left: 1em
-  .caption
-    color: color-grey
-    display: block
-    font-size: 0.9em
-    margin-top: 0.5em
-    position: relative
-    text-align: center
-  // http://webdesignerwall.com/tutorials/css-elastic-videos
-  .video-container
-    position: relative
-    padding-top: (9 / 16 * 100)% // 16:9 ratio
-    height: 0
-    overflow: hidden
-    iframe, object, embed
-      position: absolute
-      top: 0
-      left: 0
-      width: 100%
-      height: 100%
-      margin-top: 0
-
-.article-more-link a
-  display: inline-block
-  line-height: 1em
-  padding: 6px 15px
-  border-radius: 15px
-  background: color-background
-  color: color-grey
-  text-shadow: 0 1px #fff
-  text-decoration: none
-  &:hover
-    background: color-link
-    color: #fff
-    text-decoration: none
-    text-shadow: 0 1px darken(color-link, 20%)
-
-.article-footer
-  clearfix()
-  font-size: 0.85em
-  line-height: line-height
-  border-top: 1px solid color-border
-  padding-top: line-height
-  margin: 0 article-padding article-padding
-  a
-    color: color-grey
-    text-decoration: none
-    &:hover
-      color: color-default
-
-.article-tag-list-item
-  float: left
-  margin-right: 10px
-
-.article-tag-list-link
-  &:before
-    content: "#"
-
-.article-comment-link
-  float: right
-  &:before
-    content: "\f075"
-    font-family: font-icon
-    padding-right: 8px
-
-.article-share-link
-  cursor: pointer
-  float: right
-  margin-left: 20px
-  &:before
-    content: "\f064"
-    font-family: font-icon
-    padding-right: 6px
-
-#article-nav
-  clearfix()
-  position: relative
-  @media mq-normal
-    margin: block-margin 0
-    &:before
-      absolute-center(8px)
-      content: ""
-      border-radius: 50%
-      background: color-border
-      box-shadow: 0 1px 2px #fff
-
-.article-nav-link-wrap
-  text-decoration: none
-  text-shadow: 0 1px #fff
-  color: color-grey
-  box-sizing: border-box
-  margin-top: block-margin
-  text-align: center
-  display: block
-  &:hover
-    color: color-default
-  @media mq-normal
-    width: 50%
-    margin-top: 0
-
-#article-nav-newer
-  @media mq-normal
-    float: left
-    text-align: right
-    padding-right: 20px
-
-#article-nav-older
-  @media mq-normal
-    float: right
-    text-align: left
-    padding-left: 20px
-
-.article-nav-caption
-  text-transform: uppercase
-  letter-spacing: 2px
-  color: color-border
-  line-height: 1em
-  font-weight: bold
-  #article-nav-newer &
-    margin-right: -2px
-
-.article-nav-title
-  font-size: 0.85em
-  line-height: line-height
-  margin-top: 0.5em
-
-.article-share-box
-  position: absolute
-  display: none
-  background: #fff
-  box-shadow: 1px 2px 10px rgba(0, 0, 0, 0.2)
-  border-radius: 3px
-  margin-left: -145px
-  overflow: hidden
-  z-index: 1
-  &.on
-    display: block
-
-.article-share-input
-  width: 100%
-  background: none
-  box-sizing: border-box
-  font: 14px font-sans
-  padding: 0 15px
-  color: color-default
-  outline: none
-  border: 1px solid color-border
-  border-radius: 3px 3px 0 0
-  height: 36px
-  line-height: 36px
-
-.article-share-links
-  clearfix()
-  background: color-background
-
-$article-share-link
-  width: 50px
-  height: 36px
-  display: block
-  float: left
-  position: relative
-  color: #999
-  text-shadow: 0 1px #fff
-  &:before
-    font-size: 20px
-    font-family: font-icon
-    absolute-center(@font-size)
-    text-align: center
-  &:hover
-    color: #fff
-
-.article-share-twitter
-  @extend $article-share-link
-  &:before
-    content: "\f099"
-  &:hover
-    background: color-twitter
-    text-shadow: 0 1px darken(color-twitter, 20%)
-
-.article-share-facebook
-  @extend $article-share-link
-  &:before
-    content: "\f09a"
-  &:hover
-    background: color-facebook
-    text-shadow: 0 1px darken(color-facebook, 20%)
-
-.article-share-pinterest
-  @extend $article-share-link
-  &:before
-    content: "\f0d2"
-  &:hover
-    background: color-pinterest
-    text-shadow: 0 1px darken(color-pinterest, 20%)
-
-.article-share-google
-  @extend $article-share-link
-  &:before
-    content: "\f0d5"
-  &:hover
-    background: color-google
-    text-shadow: 0 1px darken(color-google, 20%)
-
-.article-gallery
-  background: #000
-  position: relative
-
-.article-gallery-photos
-  position: relative
-  overflow: hidden
-
-.article-gallery-img
-  display: none
-  max-width: 100%
-  &:first-child
-    display: block
-  &.loaded
-    position: absolute
-    display: block
-  img
-    display: block
-    max-width: 100%
-    margin: 0 auto
-/*
-$article-gallery-ctrl
-  position: absolute
-  top: 0
-  height: 100%
-  width: 60px
-  color: #fff
-  text-shadow: 0 0 3px rgba(0, 0, 0, 0.3)
-  opacity: 0.3
-  transition: opacity 0.2s
-  cursor: pointer
-  &:hover
-    opacity: 0.8
-  &:before
-    font-size: 30px
-    font-family: font-icon
-    position: absolute
-    top: 50%
-    margin-top: @font-size * -0.5
-
-.article-gallery-prev
-  @extend $article-gallery-ctrl
-  left: 0
-  &:before
-    content: "\f053"
-    left: 15px
-
-.article-gallery-next
-  @extend $article-gallery-ctrl
-  right: 0
-  &:before
-    content: "\f054"
-    right: 15px*/

+ 0 - 9
themes/landscape/source/css/_partial/comment.styl

@@ -1,9 +0,0 @@
-#comments
-  background: #fff
-  box-shadow: 1px 2px 3px #ddd
-  padding: article-padding
-  border: 1px solid color-border
-  border-radius: 3px
-  margin: block-margin 0
-  a
-    color: color-link

+ 0 - 14
themes/landscape/source/css/_partial/footer.styl

@@ -1,14 +0,0 @@
-#footer
-  background: color-footer-background
-  padding: 50px 0
-  border-top: 1px solid color-border
-  color: color-grey
-  a
-    color: color-link
-    text-decoration: none
-    &:hover
-      text-decoration: underline
-
-#footer-info
-  line-height: line-height
-  font-size: 0.85em

+ 0 - 165
themes/landscape/source/css/_partial/header.styl

@@ -1,165 +0,0 @@
-#header
-  height: banner-height
-  position: relative
-  border-bottom: 1px solid color-border
-  &:before, &:after
-    content: ""
-    position: absolute
-    left: 0
-    right: 0
-    height: 40px
-  &:before
-    top: 0
-    background: linear-gradient(rgba(0, 0, 0, 0.2), transparent)
-  &:after
-    bottom: 0
-    background: linear-gradient(transparent, rgba(0, 0, 0, 0.2))
-
-#header-outer
-  height: 100%
-  position: relative
-
-#header-inner
-  position: relative
-  overflow: hidden
-
-#banner
-  position: absolute
-  top: 0
-  left: 0
-  width: 100%
-  height: 100%
-  background: url(banner-url) center #000
-  background-size: cover
-  z-index: -1
-
-#header-title
-  text-align: center
-  height: logo-size
-  position: absolute
-  top: 50%
-  left: 0
-  margin-top: logo-size * -0.5
-
-$logo-text
-  text-decoration: none
-  color: #fff
-  font-weight: 300
-  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.3)
-
-#logo
-  @extend $logo-text
-  font-size: logo-size
-  line-height: logo-size
-  letter-spacing: 2px
-
-#subtitle
-  @extend $logo-text
-  font-size: subtitle-size
-  line-height: subtitle-size
-  letter-spacing: 1px
-
-#subtitle-wrap
-  margin-top: subtitle-size
-
-#main-nav
-  float: left
-  margin-left: -15px
-
-$nav-link
-  float: left
-  color: #fff
-  opacity: 0.6
-  text-decoration: none
-  text-shadow: 0 1px rgba(0, 0, 0, 0.2)
-  transition: opacity 0.2s
-  display: block
-  padding: 20px 15px
-  &:hover
-    opacity: 1
-
-.nav-icon
-  @extend $nav-link
-  font-family: font-icon
-  text-align: center
-  font-size: font-size
-  width: font-size
-  height: font-size
-  padding: 20px 15px
-  position: relative
-  cursor: pointer
-
-.main-nav-link
-  @extend $nav-link
-  font-weight: 300
-  letter-spacing: 1px
-  @media mq-mobile
-    display: none
-
-#main-nav-toggle
-  display: none
-  &:before
-    content: "\f0c9"
-  @media mq-mobile
-    display: block
-
-#sub-nav
-  float: right
-  margin-right: -15px
-
-#nav-rss-link
-  &:before
-    content: "\f09e"
-
-#nav-search-btn
-  &:before
-    content: "\f002"
-
-#search-form-wrap
-  position: absolute
-  top: 15px
-  width: 150px
-  height: 30px
-  right: -150px
-  opacity: 0
-  transition: 0.2s ease-out
-  &.on
-    opacity: 1
-    right: 0
-  @media mq-mobile
-    width: 100%
-    right: -100%
-
-.search-form
-  position: absolute
-  top: 0
-  left: 0
-  right: 0
-  background: #fff
-  padding: 5px 15px
-  border-radius: 15px
-  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3)
-
-.search-form-input
-  border: none
-  background: none
-  color: color-default
-  width: 100%
-  font: 13px font-sans
-  outline: none
-  &::-webkit-search-results-decoration
-  &::-webkit-search-cancel-button
-    -webkit-appearance: none
-
-.search-form-submit
-  position: absolute
-  top: 50%
-  right: 10px
-  margin-top: -7px
-  font: 13px font-icon
-  border: none
-  background: none
-  color: #bbb
-  cursor: pointer
-  &:hover, &:focus
-    color: #777

+ 0 - 158
themes/landscape/source/css/_partial/highlight.styl

@@ -1,158 +0,0 @@
-// https://github.com/chriskempson/tomorrow-theme
-highlight-background = #2d2d2d
-highlight-current-line = #393939
-highlight-selection = #515151
-highlight-foreground = #cccccc
-highlight-comment = #999999
-highlight-red = #f2777a
-highlight-orange = #f99157
-highlight-yellow = #ffcc66
-highlight-green = #99cc99
-highlight-aqua = #66cccc
-highlight-blue = #6699cc
-highlight-purple = #cc99cc
-
-$code-block
-  background: highlight-background
-  margin: 0 article-padding * -1
-  padding: 15px article-padding
-  border-style: solid
-  border-color: color-border
-  border-width: 1px 0
-  overflow: auto
-  color: highlight-foreground
-  line-height: font-size * line-height
-
-$line-numbers
-  color: #666
-  font-size: 0.85em
-
-.article-entry
-  pre, code
-    font-family: font-mono
-  code
-    background: color-background
-    text-shadow: 0 1px #fff
-    padding: 0 0.3em
-  pre
-    @extend $code-block
-    code
-      background: none
-      text-shadow: none
-      padding: 0
-  .highlight
-    @extend $code-block
-    pre
-      border: none
-      margin: 0
-      padding: 0
-    table
-      margin: 0
-      width: auto
-    td
-      border: none
-      padding: 0
-    figcaption
-      clearfix()
-      font-size: 0.85em
-      color: highlight-comment
-      line-height: 1em
-      margin-bottom: 1em
-      a
-        float: right
-    .gutter pre
-      @extend $line-numbers
-      text-align: right
-      padding-right: 20px
-    .line
-      height: font-size * line-height
-    .line.marked
-      background: highlight-selection
-  .gist
-    margin: 0 article-padding * -1
-    border-style: solid
-    border-color: color-border
-    border-width: 1px 0
-    background: highlight-background
-    padding: 15px article-padding 15px 0
-    .gist-file
-      border: none
-      font-family: font-mono
-      margin: 0
-      .gist-data
-        background: none
-        border: none
-        .line-numbers
-          @extend $line-numbers
-          background: none
-          border: none
-          padding: 0 20px 0 0
-        .line-data
-          padding: 0 !important
-      .highlight
-        margin: 0
-        padding: 0
-        border: none
-      .gist-meta
-        background: highlight-background
-        color: highlight-comment
-        font: 0.85em font-sans
-        text-shadow: 0 0
-        padding: 0
-        margin-top: 1em
-        margin-left: article-padding
-        a
-          color: color-link
-          font-weight: normal
-          &:hover
-            text-decoration: underline
-
-pre
-  .comment
-  .title
-    color: highlight-comment
-  .variable
-  .attribute
-  .tag
-  .regexp
-  .ruby .constant
-  .xml .tag .title
-  .xml .pi
-  .xml .doctype
-  .html .doctype
-  .css .id
-  .css .class
-  .css .pseudo
-    color: highlight-red
-  .number
-  .preprocessor
-  .built_in
-  .literal
-  .params
-  .constant
-    color: highlight-orange
-  .class
-  .ruby .class .title
-  .css .rules .attribute
-    color: highlight-green
-  .string
-  .value
-  .inheritance
-  .header
-  .ruby .symbol
-  .xml .cdata
-    color: highlight-green
-  .css .hexcolor
-    color: highlight-aqua
-  .function
-  .python .decorator
-  .python .title
-  .ruby .function .title
-  .ruby .title .keyword
-  .perl .sub
-  .javascript .title
-  .coffeescript .title
-    color: highlight-blue
-  .keyword
-  .javascript .function
-    color: highlight-purple

+ 0 - 19
themes/landscape/source/css/_partial/mobile.styl

@@ -1,19 +0,0 @@
-@media mq-mobile
-  #mobile-nav
-    position: absolute
-    top: 0
-    left: 0
-    width: mobile-nav-width
-    height: 100%
-    background: color-mobile-nav-background
-    border-right: 1px solid #fff
-
-@media mq-mobile
-  .mobile-nav-link
-    display: block
-    color: color-grey
-    text-decoration: none
-    padding: 15px 20px
-    font-weight: bold
-    &:hover
-      color: #fff

+ 0 - 27
themes/landscape/source/css/_partial/sidebar-aside.styl

@@ -1,27 +0,0 @@
-#sidebar
-  @media mq-normal
-    column(sidebar-column)
-
-.widget-wrap
-  margin: block-margin 0
-
-.widget-title
-  @extend $block-caption
-
-.widget
-  color: color-sidebar-text
-  text-shadow: 0 1px #fff
-  background: color-widget-background
-  box-shadow: 0 -1px 4px color-widget-border inset
-  border: 1px solid color-widget-border
-  padding: 15px
-  border-radius: 3px
-  a
-    color: color-link
-    text-decoration: none
-    &:hover
-      text-decoration: underline
-  ul, ol, dl
-    ul, ol, dl
-      margin-left: 15px
-      list-style: disc

+ 0 - 27
themes/landscape/source/css/_partial/sidebar-bottom.styl

@@ -1,27 +0,0 @@
-.widget-wrap
-  margin-bottom: block-margin !important
-  @media mq-normal
-    column(main-column)
-
-.widget-title
-  color: #ccc
-  text-transform: uppercase
-  letter-spacing: 2px
-  margin-bottom: .5em
-  line-height: 1em
-  font-weight: bold
-
-.widget
-  color: color-grey
-  ul, ol
-    li
-      display: inline-block
-      zoom:1
-      *display:inline
-      padding-right: .75em
-/* Having problems getting balanced white space between items
-    li:before
-      content: " | "
-    li:first-child:before
-      content: none
- */

+ 0 - 35
themes/landscape/source/css/_partial/sidebar.styl

@@ -1,35 +0,0 @@
-if sidebar is bottom
-  @import "sidebar-bottom"
-else
-  @import "sidebar-aside"
-
-.widget
-  @extend $base-style
-  line-height: line-height
-  word-wrap: break-word
-  font-size: 0.9em
-  ul, ol
-    list-style: none
-    margin: 0
-    ul, ol
-      margin: 0 20px
-    ul
-      list-style: disc
-    ol
-      list-style: decimal
-
-.category-list-count
-.tag-list-count
-.archive-list-count
-  padding-left: 5px
-  color: color-grey
-  font-size: 0.85em
-  &:before
-    content: "("
-  &:after
-    content: ")"
-
-.tagcloud
-  a
-    margin-right: 5px
-    display: inline-block

+ 0 - 38
themes/landscape/source/css/_util/grid.styl

@@ -1,38 +0,0 @@
-/////////////////
-// Semantic.gs // for Stylus: http://learnboost.github.com/stylus/
-/////////////////
-
-// Utility function — you should never need to modify this
-// _gridsystem-width = (column-width + gutter-width) * columns
-gridsystem-width(_columns = columns)
-  (column-width + gutter-width) * _columns
-
-// Set @total-width to 100% for a fluid layout
-// total-width = gridsystem-width(columns)
-total-width = 100%
-
-//////////
-// GRID //
-//////////
-
-body
-  clearfix()
-  width: 100%
-
-row(_columns = columns)
-  clearfix()
-  display: block
-  width: total-width * ((gutter-width + gridsystem-width(_columns)) / gridsystem-width(_columns))
-  margin: 0 total-width * (((gutter-width * .5) / gridsystem-width(_columns)) * -1)
-
-column(x, _columns = columns)
-  display: inline
-  float: left
-  width: total-width * ((((gutter-width + column-width) * x) - gutter-width) / gridsystem-width(_columns))
-  margin: 0 total-width * ((gutter-width * .5) / gridsystem-width(_columns))
-
-push(offset = 1)
-  margin-left: total-width * (((gutter-width + column-width) * offset) / gridsystem-width(columns))
-
-pull(offset = 1)
-  margin-right: total-width * (((gutter-width + column-width) * offset) / gridsystem-width(columns))

+ 0 - 31
themes/landscape/source/css/_util/mixin.styl

@@ -1,31 +0,0 @@
-// http://www.zeldman.com/2012/03/01/replacing-the-9999px-hack-new-image-replacement/
-hide-text()
-  text-indent: 100%
-  white-space: nowrap
-  overflow: hidden
-
-// http://codepen.io/shshaw/full/gEiDt
-absolute-center(width, height = width)
-  // margin: auto
-  // position: absolute
-  // top: 50%
-  // top: 0
-  // left: 0
-  // bottom: 0
-  // right: 0
-  // width: width
-  // height: height
-  // overflow: auto
-  width: width
-  height: height
-  position: absolute
-  top: 50%
-  left: 50%
-  margin-top: width * -0.5
-  margin-left: height * -0.5
-
-avoid-column-break()
-  vendor("column-break-inside", avoid, only: webkit)
-  page-break-inside: avoid // for firefox
-  overflow: hidden // fix for firefox
-  break-inside: avoid-column

+ 0 - 63
themes/landscape/source/css/_variables.styl

@@ -1,63 +0,0 @@
-// Config
-support-for-ie = false
-vendor-prefixes = webkit moz ms official
-
-// Colors
-color-default = #555
-color-grey = #999
-color-border = #ddd
-color-link = #258fb8
-color-background = #eee
-color-sidebar-text = #777
-color-widget-background = #ddd
-color-widget-border = #ccc
-color-footer-background = #262a30
-color-mobile-nav-background = #191919
-color-twitter = #00aced
-color-facebook = #3b5998
-color-pinterest = #cb2027
-color-google = #dd4b39
-
-// Fonts
-font-sans = -apple-system, BlinkMacSystemFont,
-    "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell",
-    "Fira Sans", "Droid Sans", "Helvetica Neue",
-    sans-serif
-font-serif = Georgia, "Times New Roman", serif
-font-mono = "Source Code Pro", Consolas, Monaco, Menlo, Consolas, monospace
-font-icon = FontAwesome
-font-icon-path = "fonts/fontawesome-webfont"
-font-icon-version = "4.0.3"
-font-size = 14px
-line-height = 1.6em
-line-height-title = 1.1em
-
-// Header
-logo-size = 40px
-subtitle-size = 16px
-banner-height = 300px
-banner-url = "images/banner.jpg"
-
-sidebar = hexo-config("sidebar")
-
-// Layout
-block-margin = 50px
-article-padding = 20px
-mobile-nav-width = 280px
-main-column = 9
-sidebar-column = 3
-
-if sidebar and sidebar isnt bottom
-  _sidebar-column = sidebar-column
-else
-  _sidebar-column = 0
-
-// Grids
-column-width = 80px
-gutter-width = 20px
-columns = main-column + _sidebar-column
-
-// Media queries
-mq-mobile = "screen and (max-width: 479px)"
-mq-tablet = "screen and (min-width: 480px) and (max-width: 767px)"
-mq-normal = "screen and (min-width: 768px)"

BIN
themes/landscape/source/css/fonts/FontAwesome.otf


BIN
themes/landscape/source/css/fonts/fontawesome-webfont.eot


File diff suppressed because it is too large
+ 0 - 195
themes/landscape/source/css/fonts/fontawesome-webfont.svg


BIN
themes/landscape/source/css/fonts/fontawesome-webfont.ttf


BIN
themes/landscape/source/css/fonts/fontawesome-webfont.woff


BIN
themes/landscape/source/css/images/banner.jpg


+ 0 - 89
themes/landscape/source/css/style.styl

@@ -1,89 +0,0 @@
-@import "nib"
-@import "_variables"
-@import "_util/mixin"
-@import "_util/grid"
-
-global-reset()
-
-input, button
-  margin: 0
-  padding: 0
-  &::-moz-focus-inner
-    border: 0
-    padding: 0
-
-@font-face
-  font-family: FontAwesome
-  font-style: normal
-  font-weight: normal
-  src: url(font-icon-path + ".eot?v=#" + font-icon-version)
-  src: url(font-icon-path + ".eot?#iefix&v=#" + font-icon-version) format("embedded-opentype"),
-       url(font-icon-path + ".woff?v=#" + font-icon-version) format("woff"),
-       url(font-icon-path + ".ttf?v=#" + font-icon-version) format("truetype"),
-       url(font-icon-path + ".svg#fontawesomeregular?v=#" + font-icon-version) format("svg")
-
-html, body, #container
-  height: 100%
-
-body
-  background: color-background
-  font: font-size font-sans
-  -webkit-text-size-adjust: 100%
-
-.outer
-  clearfix()
-  max-width: (column-width + gutter-width) * columns + gutter-width
-  margin: 0 auto
-  padding: 0 gutter-width
-
-.inner
-  column(columns)
-
-.left, .alignleft
-  float: left
-
-.right, .alignright
-  float: right
-
-.clear
-  clear: both
-
-#container
-  position: relative
-
-.mobile-nav-on
-  overflow: hidden
-
-#wrap
-  height: 100%
-  width: 100%
-  position: absolute
-  top: 0
-  left: 0
-  transition: 0.2s ease-out
-  z-index: 1
-  background: color-background
-  .mobile-nav-on &
-    left: mobile-nav-width
-
-if sidebar and sidebar isnt bottom
-  #main
-    @media mq-normal
-      column(main-column)
-
-if sidebar is left
-  @media mq-normal
-    #main
-      float: right
-
-@import "_extend"
-@import "_partial/header"
-@import "_partial/article"
-@import "_partial/comment"
-@import "_partial/archive"
-@import "_partial/footer"
-@import "_partial/highlight"
-@import "_partial/mobile"
-
-if sidebar
-  @import "_partial/sidebar"

BIN
themes/landscape/source/fancybox/blank.gif


BIN
themes/landscape/source/fancybox/fancybox_loading.gif


BIN
themes/landscape/source/fancybox/fancybox_loading@2x.gif


BIN
themes/landscape/source/fancybox/fancybox_overlay.png


BIN
themes/landscape/source/fancybox/fancybox_sprite.png


BIN
themes/landscape/source/fancybox/fancybox_sprite@2x.png


BIN
themes/landscape/source/fancybox/helpers/fancybox_buttons.png


+ 0 - 97
themes/landscape/source/fancybox/helpers/jquery.fancybox-buttons.css

@@ -1,97 +0,0 @@
-#fancybox-buttons {
-	position: fixed;
-	left: 0;
-	width: 100%;
-	z-index: 8050;
-}
-
-#fancybox-buttons.top {
-	top: 10px;
-}
-
-#fancybox-buttons.bottom {
-	bottom: 10px;
-}
-
-#fancybox-buttons ul {
-	display: block;
-	width: 166px;
-	height: 30px;
-	margin: 0 auto;
-	padding: 0;
-	list-style: none;
-	border: 1px solid #111;
-	border-radius: 3px;
-	-webkit-box-shadow: inset 0 0 0 1px rgba(255,255,255,.05);
-	   -moz-box-shadow: inset 0 0 0 1px rgba(255,255,255,.05);
-	        box-shadow: inset 0 0 0 1px rgba(255,255,255,.05);
-	background: rgb(50,50,50);
-	background: -moz-linear-gradient(top, rgb(68,68,68) 0%, rgb(52,52,52) 50%, rgb(41,41,41) 50%, rgb(51,51,51) 100%);
-	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgb(68,68,68)), color-stop(50%,rgb(52,52,52)), color-stop(50%,rgb(41,41,41)), color-stop(100%,rgb(51,51,51)));
-	background: -webkit-linear-gradient(top, rgb(68,68,68) 0%,rgb(52,52,52) 50%,rgb(41,41,41) 50%,rgb(51,51,51) 100%);
-	background: -o-linear-gradient(top, rgb(68,68,68) 0%,rgb(52,52,52) 50%,rgb(41,41,41) 50%,rgb(51,51,51) 100%);
-	background: -ms-linear-gradient(top, rgb(68,68,68) 0%,rgb(52,52,52) 50%,rgb(41,41,41) 50%,rgb(51,51,51) 100%);
-	background: linear-gradient(top, rgb(68,68,68) 0%,rgb(52,52,52) 50%,rgb(41,41,41) 50%,rgb(51,51,51) 100%);
-	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#444444', endColorstr='#222222',GradientType=0 );
-}
-
-#fancybox-buttons ul li {
-	float: left;
-	margin: 0;
-	padding: 0;
-}
-
-#fancybox-buttons a {
-	display: block;
-	width: 30px;
-	height: 30px;
-	text-indent: -9999px;
-	background-color: transparent;
-	background-image: url('fancybox_buttons.png');
-	background-repeat: no-repeat;
-	outline: none;
-	opacity: 0.8;
-}
-
-#fancybox-buttons a:hover {
-	opacity: 1;
-}
-
-#fancybox-buttons a.btnPrev {
-	background-position: 5px 0;
-}
-
-#fancybox-buttons a.btnNext {
-	background-position: -33px 0;
-	border-right: 1px solid #3e3e3e;
-}
-
-#fancybox-buttons a.btnPlay {
-	background-position: 0 -30px;
-}
-
-#fancybox-buttons a.btnPlayOn {
-	background-position: -30px -30px;
-}
-
-#fancybox-buttons a.btnToggle {
-	background-position: 3px -60px;
-	border-left: 1px solid #111;
-	border-right: 1px solid #3e3e3e;
-	width: 35px
-}
-
-#fancybox-buttons a.btnToggleOn {
-	background-position: -27px -60px;
-}
-
-#fancybox-buttons a.btnClose {
-	border-left: 1px solid #111;
-	width: 35px;
-	background-position: -56px 0px;
-}
-
-#fancybox-buttons a.btnDisabled {
-	opacity : 0.4;
-	cursor: default;
-}

+ 0 - 122
themes/landscape/source/fancybox/helpers/jquery.fancybox-buttons.js

@@ -1,122 +0,0 @@
- /*!
- * Buttons helper for fancyBox
- * version: 1.0.5 (Mon, 15 Oct 2012)
- * @requires fancyBox v2.0 or later
- *
- * Usage:
- *     $(".fancybox").fancybox({
- *         helpers : {
- *             buttons: {
- *                 position : 'top'
- *             }
- *         }
- *     });
- *
- */
-;(function ($) {
-	//Shortcut for fancyBox object
-	var F = $.fancybox;
-
-	//Add helper object
-	F.helpers.buttons = {
-		defaults : {
-			skipSingle : false, // disables if gallery contains single image
-			position   : 'top', // 'top' or 'bottom'
-			tpl        : '<div id="fancybox-buttons"><ul><li><a class="btnPrev" title="Previous" href="javascript:;"></a></li><li><a class="btnPlay" title="Start slideshow" href="javascript:;"></a></li><li><a class="btnNext" title="Next" href="javascript:;"></a></li><li><a class="btnToggle" title="Toggle size" href="javascript:;"></a></li><li><a class="btnClose" title="Close" href="javascript:;"></a></li></ul></div>'
-		},
-
-		list : null,
-		buttons: null,
-
-		beforeLoad: function (opts, obj) {
-			//Remove self if gallery do not have at least two items
-
-			if (opts.skipSingle && obj.group.length < 2) {
-				obj.helpers.buttons = false;
-				obj.closeBtn = true;
-
-				return;
-			}
-
-			//Increase top margin to give space for buttons
-			obj.margin[ opts.position === 'bottom' ? 2 : 0 ] += 30;
-		},
-
-		onPlayStart: function () {
-			if (this.buttons) {
-				this.buttons.play.attr('title', 'Pause slideshow').addClass('btnPlayOn');
-			}
-		},
-
-		onPlayEnd: function () {
-			if (this.buttons) {
-				this.buttons.play.attr('title', 'Start slideshow').removeClass('btnPlayOn');
-			}
-		},
-
-		afterShow: function (opts, obj) {
-			var buttons = this.buttons;
-
-			if (!buttons) {
-				this.list = $(opts.tpl).addClass(opts.position).appendTo('body');
-
-				buttons = {
-					prev   : this.list.find('.btnPrev').click( F.prev ),
-					next   : this.list.find('.btnNext').click( F.next ),
-					play   : this.list.find('.btnPlay').click( F.play ),
-					toggle : this.list.find('.btnToggle').click( F.toggle ),
-					close  : this.list.find('.btnClose').click( F.close )
-				}
-			}
-
-			//Prev
-			if (obj.index > 0 || obj.loop) {
-				buttons.prev.removeClass('btnDisabled');
-			} else {
-				buttons.prev.addClass('btnDisabled');
-			}
-
-			//Next / Play
-			if (obj.loop || obj.index < obj.group.length - 1) {
-				buttons.next.removeClass('btnDisabled');
-				buttons.play.removeClass('btnDisabled');
-
-			} else {
-				buttons.next.addClass('btnDisabled');
-				buttons.play.addClass('btnDisabled');
-			}
-
-			this.buttons = buttons;
-
-			this.onUpdate(opts, obj);
-		},
-
-		onUpdate: function (opts, obj) {
-			var toggle;
-
-			if (!this.buttons) {
-				return;
-			}
-
-			toggle = this.buttons.toggle.removeClass('btnDisabled btnToggleOn');
-
-			//Size toggle button
-			if (obj.canShrink) {
-				toggle.addClass('btnToggleOn');
-
-			} else if (!obj.canExpand) {
-				toggle.addClass('btnDisabled');
-			}
-		},
-
-		beforeClose: function () {
-			if (this.list) {
-				this.list.remove();
-			}
-
-			this.list    = null;
-			this.buttons = null;
-		}
-	};
-
-}(jQuery));

+ 0 - 199
themes/landscape/source/fancybox/helpers/jquery.fancybox-media.js

@@ -1,199 +0,0 @@
-/*!
- * Media helper for fancyBox
- * version: 1.0.6 (Fri, 14 Jun 2013)
- * @requires fancyBox v2.0 or later
- *
- * Usage:
- *     $(".fancybox").fancybox({
- *         helpers : {
- *             media: true
- *         }
- *     });
- *
- * Set custom URL parameters:
- *     $(".fancybox").fancybox({
- *         helpers : {
- *             media: {
- *                 youtube : {
- *                     params : {
- *                         autoplay : 0
- *                     }
- *                 }
- *             }
- *         }
- *     });
- *
- * Or:
- *     $(".fancybox").fancybox({,
- *         helpers : {
- *             media: true
- *         },
- *         youtube : {
- *             autoplay: 0
- *         }
- *     });
- *
- *  Supports:
- *
- *      Youtube
- *          http://www.youtube.com/watch?v=opj24KnzrWo
- *          http://www.youtube.com/embed/opj24KnzrWo
- *          http://youtu.be/opj24KnzrWo
- *			http://www.youtube-nocookie.com/embed/opj24KnzrWo
- *      Vimeo
- *          http://vimeo.com/40648169
- *          http://vimeo.com/channels/staffpicks/38843628
- *          http://vimeo.com/groups/surrealism/videos/36516384
- *          http://player.vimeo.com/video/45074303
- *      Metacafe
- *          http://www.metacafe.com/watch/7635964/dr_seuss_the_lorax_movie_trailer/
- *          http://www.metacafe.com/watch/7635964/
- *      Dailymotion
- *          http://www.dailymotion.com/video/xoytqh_dr-seuss-the-lorax-premiere_people
- *      Twitvid
- *          http://twitvid.com/QY7MD
- *      Twitpic
- *          http://twitpic.com/7p93st
- *      Instagram
- *          http://instagr.am/p/IejkuUGxQn/
- *          http://instagram.com/p/IejkuUGxQn/
- *      Google maps
- *          http://maps.google.com/maps?q=Eiffel+Tower,+Avenue+Gustave+Eiffel,+Paris,+France&t=h&z=17
- *          http://maps.google.com/?ll=48.857995,2.294297&spn=0.007666,0.021136&t=m&z=16
- *          http://maps.google.com/?ll=48.859463,2.292626&spn=0.000965,0.002642&t=m&z=19&layer=c&cbll=48.859524,2.292532&panoid=YJ0lq28OOy3VT2IqIuVY0g&cbp=12,151.58,,0,-15.56
- */
-;(function ($) {
-	"use strict";
-
-	//Shortcut for fancyBox object
-	var F = $.fancybox,
-		format = function( url, rez, params ) {
-			params = params || '';
-
-			if ( $.type( params ) === "object" ) {
-				params = $.param(params, true);
-			}
-
-			$.each(rez, function(key, value) {
-				url = url.replace( '$' + key, value || '' );
-			});
-
-			if (params.length) {
-				url += ( url.indexOf('?') > 0 ? '&' : '?' ) + params;
-			}
-
-			return url;
-		};
-
-	//Add helper object
-	F.helpers.media = {
-		defaults : {
-			youtube : {
-				matcher : /(youtube\.com|youtu\.be|youtube-nocookie\.com)\/(watch\?v=|v\/|u\/|embed\/?)?(videoseries\?list=(.*)|[\w-]{11}|\?listType=(.*)&list=(.*)).*/i,
-				params  : {
-					autoplay    : 1,
-					autohide    : 1,
-					fs          : 1,
-					rel         : 0,
-					hd          : 1,
-					wmode       : 'opaque',
-					enablejsapi : 1
-				},
-				type : 'iframe',
-				url  : '//www.youtube.com/embed/$3'
-			},
-			vimeo : {
-				matcher : /(?:vimeo(?:pro)?.com)\/(?:[^\d]+)?(\d+)(?:.*)/,
-				params  : {
-					autoplay      : 1,
-					hd            : 1,
-					show_title    : 1,
-					show_byline   : 1,
-					show_portrait : 0,
-					fullscreen    : 1
-				},
-				type : 'iframe',
-				url  : '//player.vimeo.com/video/$1'
-			},
-			metacafe : {
-				matcher : /metacafe.com\/(?:watch|fplayer)\/([\w\-]{1,10})/,
-				params  : {
-					autoPlay : 'yes'
-				},
-				type : 'swf',
-				url  : function( rez, params, obj ) {
-					obj.swf.flashVars = 'playerVars=' + $.param( params, true );
-
-					return '//www.metacafe.com/fplayer/' + rez[1] + '/.swf';
-				}
-			},
-			dailymotion : {
-				matcher : /dailymotion.com\/video\/(.*)\/?(.*)/,
-				params  : {
-					additionalInfos : 0,
-					autoStart : 1
-				},
-				type : 'swf',
-				url  : '//www.dailymotion.com/swf/video/$1'
-			},
-			twitvid : {
-				matcher : /twitvid\.com\/([a-zA-Z0-9_\-\?\=]+)/i,
-				params  : {
-					autoplay : 0
-				},
-				type : 'iframe',
-				url  : '//www.twitvid.com/embed.php?guid=$1'
-			},
-			twitpic : {
-				matcher : /twitpic\.com\/(?!(?:place|photos|events)\/)([a-zA-Z0-9\?\=\-]+)/i,
-				type : 'image',
-				url  : '//twitpic.com/show/full/$1/'
-			},
-			instagram : {
-				matcher : /(instagr\.am|instagram\.com)\/p\/([a-zA-Z0-9_\-]+)\/?/i,
-				type : 'image',
-				url  : '//$1/p/$2/media/?size=l'
-			},
-			google_maps : {
-				matcher : /maps\.google\.([a-z]{2,3}(\.[a-z]{2})?)\/(\?ll=|maps\?)(.*)/i,
-				type : 'iframe',
-				url  : function( rez ) {
-					return '//maps.google.' + rez[1] + '/' + rez[3] + '' + rez[4] + '&output=' + (rez[4].indexOf('layer=c') > 0 ? 'svembed' : 'embed');
-				}
-			}
-		},
-
-		beforeLoad : function(opts, obj) {
-			var url   = obj.href || '',
-				type  = false,
-				what,
-				item,
-				rez,
-				params;
-
-			for (what in opts) {
-				if (opts.hasOwnProperty(what)) {
-					item = opts[ what ];
-					rez  = url.match( item.matcher );
-
-					if (rez) {
-						type   = item.type;
-						params = $.extend(true, {}, item.params, obj[ what ] || ($.isPlainObject(opts[ what ]) ? opts[ what ].params : null));
-
-						url = $.type( item.url ) === "function" ? item.url.call( this, rez, params, obj ) : format( item.url, rez, params );
-
-						break;
-					}
-				}
-			}
-
-			if (type) {
-				obj.href = url;
-				obj.type = type;
-
-				obj.autoHeight = false;
-			}
-		}
-	};
-
-}(jQuery));

+ 0 - 55
themes/landscape/source/fancybox/helpers/jquery.fancybox-thumbs.css

@@ -1,55 +0,0 @@
-#fancybox-thumbs {
-	position: fixed;
-	left: 0;
-	width: 100%;
-	overflow: hidden;
-	z-index: 8050;
-}
-
-#fancybox-thumbs.bottom {
-	bottom: 2px;
-}
-
-#fancybox-thumbs.top {
-	top: 2px;
-}
-
-#fancybox-thumbs ul {
-	position: relative;
-	list-style: none;
-	margin: 0;
-	padding: 0;
-}
-
-#fancybox-thumbs ul li {
-	float: left;
-	padding: 1px;
-	opacity: 0.5;
-}
-
-#fancybox-thumbs ul li.active {
-	opacity: 0.75;
-	padding: 0;
-	border: 1px solid #fff;
-}
-
-#fancybox-thumbs ul li:hover {
-	opacity: 1;
-}
-
-#fancybox-thumbs ul li a {
-	display: block;
-	position: relative;
-	overflow: hidden;
-	border: 1px solid #222;
-	background: #111;
-	outline: none;
-}
-
-#fancybox-thumbs ul li img {
-	display: block;
-	position: relative;
-	border: 0;
-	padding: 0;
-	max-width: none;
-}

+ 0 - 165
themes/landscape/source/fancybox/helpers/jquery.fancybox-thumbs.js

@@ -1,165 +0,0 @@
- /*!
- * Thumbnail helper for fancyBox
- * version: 1.0.7 (Mon, 01 Oct 2012)
- * @requires fancyBox v2.0 or later
- *
- * Usage:
- *     $(".fancybox").fancybox({
- *         helpers : {
- *             thumbs: {
- *                 width  : 50,
- *                 height : 50
- *             }
- *         }
- *     });
- *
- */
-;(function ($) {
-	//Shortcut for fancyBox object
-	var F = $.fancybox;
-
-	//Add helper object
-	F.helpers.thumbs = {
-		defaults : {
-			width    : 50,       // thumbnail width
-			height   : 50,       // thumbnail height
-			position : 'bottom', // 'top' or 'bottom'
-			source   : function ( item ) {  // function to obtain the URL of the thumbnail image
-				var href;
-
-				if (item.element) {
-					href = $(item.element).find('img').attr('src');
-				}
-
-				if (!href && item.type === 'image' && item.href) {
-					href = item.href;
-				}
-
-				return href;
-			}
-		},
-
-		wrap  : null,
-		list  : null,
-		width : 0,
-
-		init: function (opts, obj) {
-			var that = this,
-				list,
-				thumbWidth  = opts.width,
-				thumbHeight = opts.height,
-				thumbSource = opts.source;
-
-			//Build list structure
-			list = '';
-
-			for (var n = 0; n < obj.group.length; n++) {
-				list += '<li><a style="width:' + thumbWidth + 'px;height:' + thumbHeight + 'px;" href="javascript:jQuery.fancybox.jumpto(' + n + ');"></a></li>';
-			}
-
-			this.wrap = $('<div id="fancybox-thumbs"></div>').addClass(opts.position).appendTo('body');
-			this.list = $('<ul>' + list + '</ul>').appendTo(this.wrap);
-
-			//Load each thumbnail
-			$.each(obj.group, function (i) {
-				var el   = obj.group[ i ],
-					href = thumbSource( el );
-
-				if (!href) {
-					return;
-				}
-
-				$("<img />").load(function () {
-					var width  = this.width,
-						height = this.height,
-						widthRatio, heightRatio, parent;
-
-					if (!that.list || !width || !height) {
-						return;
-					}
-
-					//Calculate thumbnail width/height and center it
-					widthRatio  = width / thumbWidth;
-					heightRatio = height / thumbHeight;
-
-					parent = that.list.children().eq(i).find('a');
-
-					if (widthRatio >= 1 && heightRatio >= 1) {
-						if (widthRatio > heightRatio) {
-							width  = Math.floor(width / heightRatio);
-							height = thumbHeight;
-
-						} else {
-							width  = thumbWidth;
-							height = Math.floor(height / widthRatio);
-						}
-					}
-
-					$(this).css({
-						width  : width,
-						height : height,
-						top    : Math.floor(thumbHeight / 2 - height / 2),
-						left   : Math.floor(thumbWidth / 2 - width / 2)
-					});
-
-					parent.width(thumbWidth).height(thumbHeight);
-
-					$(this).hide().appendTo(parent).fadeIn(300);
-
-				})
-				.attr('src',   href)
-				.attr('title', el.title);
-			});
-
-			//Set initial width
-			this.width = this.list.children().eq(0).outerWidth(true);
-
-			this.list.width(this.width * (obj.group.length + 1)).css('left', Math.floor($(window).width() * 0.5 - (obj.index * this.width + this.width * 0.5)));
-		},
-
-		beforeLoad: function (opts, obj) {
-			//Remove self if gallery do not have at least two items
-			if (obj.group.length < 2) {
-				obj.helpers.thumbs = false;
-
-				return;
-			}
-
-			//Increase bottom margin to give space for thumbs
-			obj.margin[ opts.position === 'top' ? 0 : 2 ] += ((opts.height) + 15);
-		},
-
-		afterShow: function (opts, obj) {
-			//Check if exists and create or update list
-			if (this.list) {
-				this.onUpdate(opts, obj);
-
-			} else {
-				this.init(opts, obj);
-			}
-
-			//Set active element
-			this.list.children().removeClass('active').eq(obj.index).addClass('active');
-		},
-
-		//Center list
-		onUpdate: function (opts, obj) {
-			if (this.list) {
-				this.list.stop(true).animate({
-					'left': Math.floor($(window).width() * 0.5 - (obj.index * this.width + this.width * 0.5))
-				}, 150);
-			}
-		},
-
-		beforeClose: function () {
-			if (this.wrap) {
-				this.wrap.remove();
-			}
-
-			this.wrap  = null;
-			this.list  = null;
-			this.width = 0;
-		}
-	}
-
-}(jQuery));

+ 0 - 273
themes/landscape/source/fancybox/jquery.fancybox.css

@@ -1,273 +0,0 @@
-/*! fancyBox v2.1.5 fancyapps.com | fancyapps.com/fancybox/#license */
-.fancybox-wrap,
-.fancybox-skin,
-.fancybox-outer,
-.fancybox-inner,
-.fancybox-image,
-.fancybox-wrap iframe,
-.fancybox-wrap object,
-.fancybox-nav,
-.fancybox-nav span,
-.fancybox-tmp
-{
-	padding: 0;
-	margin: 0;
-	border: 0;
-	outline: none;
-	vertical-align: top;
-}
-
-.fancybox-wrap {
-	position: absolute;
-	top: 0;
-	left: 0;
-	z-index: 8020;
-}
-
-.fancybox-skin {
-	position: relative;
-	background: #f9f9f9;
-	color: #444;
-	text-shadow: none;
-	-webkit-border-radius: 4px;
-	   -moz-border-radius: 4px;
-	        border-radius: 4px;
-}
-
-.fancybox-opened {
-	z-index: 8030;
-}
-
-.fancybox-opened .fancybox-skin {
-	-webkit-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
-	   -moz-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
-	        box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
-}
-
-.fancybox-outer, .fancybox-inner {
-	position: relative;
-}
-
-.fancybox-inner {
-	overflow: hidden;
-}
-
-.fancybox-type-iframe .fancybox-inner {
-	-webkit-overflow-scrolling: touch;
-}
-
-.fancybox-error {
-	color: #444;
-	font: 14px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;
-	margin: 0;
-	padding: 15px;
-	white-space: nowrap;
-}
-
-.fancybox-image, .fancybox-iframe {
-	display: block;
-	width: 100%;
-	height: 100%;
-}
-
-.fancybox-image {
-	max-width: 100%;
-	max-height: 100%;
-}
-
-#fancybox-loading, .fancybox-close, .fancybox-prev span, .fancybox-next span {
-	background-image: url(fancybox_sprite.png);
-}
-
-#fancybox-loading {
-	position: fixed;
-	top: 50%;
-	left: 50%;
-	margin-top: -22px;
-	margin-left: -22px;
-	background-position: 0 -108px;
-	opacity: 0.8;
-	cursor: pointer;
-	z-index: 8060;
-}
-
-#fancybox-loading div {
-	width: 44px;
-	height: 44px;
-	background: url(fancybox_loading.gif) center center no-repeat;
-}
-
-.fancybox-close {
-	position: absolute;
-	top: -18px;
-	right: -18px;
-	width: 36px;
-	height: 36px;
-	cursor: pointer;
-	z-index: 8040;
-}
-
-.fancybox-nav {
-	position: absolute;
-	top: 0;
-	width: 40%;
-	height: 100%;
-	cursor: pointer;
-	text-decoration: none;
-	background: transparent url(blank.gif); /* helps IE */
-	-webkit-tap-highlight-color: rgba(0,0,0,0);
-	z-index: 8040;
-}
-
-.fancybox-prev {
-	left: 0;
-}
-
-.fancybox-next {
-	right: 0;
-}
-
-.fancybox-nav span {
-	position: absolute;
-	top: 50%;
-	width: 36px;
-	height: 34px;
-	margin-top: -18px;
-	cursor: pointer;
-	z-index: 8040;
-	visibility: hidden;
-}
-
-.fancybox-prev span {
-	left: 10px;
-	background-position: 0 -36px;
-}
-
-.fancybox-next span {
-	right: 10px;
-	background-position: 0 -72px;
-}
-
-.fancybox-nav:hover span {
-	visibility: visible;
-}
-
-.fancybox-tmp {
-	position: absolute;
-	top: -99999px;
-	left: -99999px;
-	max-width: 99999px;
-	max-height: 99999px;
-	overflow: visible !important;
-}
-
-/* Overlay helper */
-
-.fancybox-lock {
-    overflow: visible !important;
-    width: auto;
-}
-
-.fancybox-lock body {
-    overflow: hidden !important;
-}
-
-.fancybox-lock-test {
-    overflow-y: hidden !important;
-}
-
-.fancybox-overlay {
-	position: absolute;
-	top: 0;
-	left: 0;
-	overflow: hidden;
-	display: none;
-	z-index: 8010;
-	background: url(fancybox_overlay.png);
-}
-
-.fancybox-overlay-fixed {
-	position: fixed;
-	bottom: 0;
-	right: 0;
-}
-
-.fancybox-lock .fancybox-overlay {
-	overflow: auto;
-	overflow-y: scroll;
-}
-
-/* Title helper */
-
-.fancybox-title {
-	visibility: hidden;
-	font: normal 13px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;
-	position: relative;
-	text-shadow: none;
-	z-index: 8050;
-}
-
-.fancybox-opened .fancybox-title {
-	visibility: visible;
-}
-
-.fancybox-title-float-wrap {
-	position: absolute;
-	bottom: 0;
-	right: 50%;
-	margin-bottom: -35px;
-	z-index: 8050;
-	text-align: center;
-}
-
-.fancybox-title-float-wrap .child {
-	display: inline-block;
-	margin-right: -100%;
-	padding: 2px 20px;
-	background: transparent; /* Fallback for web browsers that doesn't support RGBa */
-	background: rgba(0, 0, 0, 0.8);
-	-webkit-border-radius: 15px;
-	   -moz-border-radius: 15px;
-	        border-radius: 15px;
-	text-shadow: 0 1px 2px #222;
-	color: #FFF;
-	font-weight: bold;
-	line-height: 24px;
-	white-space: nowrap;
-}
-
-.fancybox-title-outside-wrap {
-	position: relative;
-	margin-top: 10px;
-	color: #fff;
-}
-
-.fancybox-title-inside-wrap {
-	padding-top: 10px;
-}
-
-.fancybox-title-over-wrap {
-	position: absolute;
-	bottom: 0;
-	left: 0;
-	color: #fff;
-	padding: 10px;
-	background: #000;
-	background: rgba(0, 0, 0, .8);
-}
-
-/*Retina graphics!*/
-@media only screen and (-webkit-min-device-pixel-ratio: 1.5),
-	   only screen and (min--moz-device-pixel-ratio: 1.5),
-	   only screen and (min-device-pixel-ratio: 1.5){
-
-	#fancybox-loading, .fancybox-close, .fancybox-prev span, .fancybox-next span {
-		background-image: url(fancybox_sprite@2x.png);
-		background-size: 44px 152px; /*The size of the normal image, half the size of the hi-res image*/
-	}
-
-	#fancybox-loading div {
-		background-image: url(fancybox_loading@2x.gif);
-		background-size: 24px 24px; /*The size of the normal image, half the size of the hi-res image*/
-	}
-}

+ 0 - 2017
themes/landscape/source/fancybox/jquery.fancybox.js

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

+ 0 - 46
themes/landscape/source/fancybox/jquery.fancybox.pack.js

@@ -1,46 +0,0 @@
-/*! fancyBox v2.1.5 fancyapps.com | fancyapps.com/fancybox/#license */
-(function(s,H,f,w){var K=f("html"),q=f(s),p=f(H),b=f.fancybox=function(){b.open.apply(this,arguments)},J=navigator.userAgent.match(/msie/i),C=null,t=H.createTouch!==w,u=function(a){return a&&a.hasOwnProperty&&a instanceof f},r=function(a){return a&&"string"===f.type(a)},F=function(a){return r(a)&&0<a.indexOf("%")},m=function(a,d){var e=parseInt(a,10)||0;d&&F(a)&&(e*=b.getViewport()[d]/100);return Math.ceil(e)},x=function(a,b){return m(a,b)+"px"};f.extend(b,{version:"2.1.5",defaults:{padding:15,margin:20,
-width:800,height:600,minWidth:100,minHeight:100,maxWidth:9999,maxHeight:9999,pixelRatio:1,autoSize:!0,autoHeight:!1,autoWidth:!1,autoResize:!0,autoCenter:!t,fitToView:!0,aspectRatio:!1,topRatio:0.5,leftRatio:0.5,scrolling:"auto",wrapCSS:"",arrows:!0,closeBtn:!0,closeClick:!1,nextClick:!1,mouseWheel:!0,autoPlay:!1,playSpeed:3E3,preload:3,modal:!1,loop:!0,ajax:{dataType:"html",headers:{"X-fancyBox":!0}},iframe:{scrolling:"auto",preload:!0},swf:{wmode:"transparent",allowfullscreen:"true",allowscriptaccess:"always"},
-keys:{next:{13:"left",34:"up",39:"left",40:"up"},prev:{8:"right",33:"down",37:"right",38:"down"},close:[27],play:[32],toggle:[70]},direction:{next:"left",prev:"right"},scrollOutside:!0,index:0,type:null,href:null,content:null,title:null,tpl:{wrap:'<div class="fancybox-wrap" tabIndex="-1"><div class="fancybox-skin"><div class="fancybox-outer"><div class="fancybox-inner"></div></div></div></div>',image:'<img class="fancybox-image" src="{href}" alt="" />',iframe:'<iframe id="fancybox-frame{rnd}" name="fancybox-frame{rnd}" class="fancybox-iframe" frameborder="0" vspace="0" hspace="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen'+
-(J?' allowtransparency="true"':"")+"></iframe>",error:'<p class="fancybox-error">The requested content cannot be loaded.<br/>Please try again later.</p>',closeBtn:'<a title="Close" class="fancybox-item fancybox-close" href="javascript:;"></a>',next:'<a title="Next" class="fancybox-nav fancybox-next" href="javascript:;"><span></span></a>',prev:'<a title="Previous" class="fancybox-nav fancybox-prev" href="javascript:;"><span></span></a>'},openEffect:"fade",openSpeed:250,openEasing:"swing",openOpacity:!0,
-openMethod:"zoomIn",closeEffect:"fade",closeSpeed:250,closeEasing:"swing",closeOpacity:!0,closeMethod:"zoomOut",nextEffect:"elastic",nextSpeed:250,nextEasing:"swing",nextMethod:"changeIn",prevEffect:"elastic",prevSpeed:250,prevEasing:"swing",prevMethod:"changeOut",helpers:{overlay:!0,title:!0},onCancel:f.noop,beforeLoad:f.noop,afterLoad:f.noop,beforeShow:f.noop,afterShow:f.noop,beforeChange:f.noop,beforeClose:f.noop,afterClose:f.noop},group:{},opts:{},previous:null,coming:null,current:null,isActive:!1,
-isOpen:!1,isOpened:!1,wrap:null,skin:null,outer:null,inner:null,player:{timer:null,isActive:!1},ajaxLoad:null,imgPreload:null,transitions:{},helpers:{},open:function(a,d){if(a&&(f.isPlainObject(d)||(d={}),!1!==b.close(!0)))return f.isArray(a)||(a=u(a)?f(a).get():[a]),f.each(a,function(e,c){var l={},g,h,k,n,m;"object"===f.type(c)&&(c.nodeType&&(c=f(c)),u(c)?(l={href:c.data("fancybox-href")||c.attr("href"),title:f("<div/>").text(c.data("fancybox-title")||c.attr("title")).html(),isDom:!0,element:c},
-f.metadata&&f.extend(!0,l,c.metadata())):l=c);g=d.href||l.href||(r(c)?c:null);h=d.title!==w?d.title:l.title||"";n=(k=d.content||l.content)?"html":d.type||l.type;!n&&l.isDom&&(n=c.data("fancybox-type"),n||(n=(n=c.prop("class").match(/fancybox\.(\w+)/))?n[1]:null));r(g)&&(n||(b.isImage(g)?n="image":b.isSWF(g)?n="swf":"#"===g.charAt(0)?n="inline":r(c)&&(n="html",k=c)),"ajax"===n&&(m=g.split(/\s+/,2),g=m.shift(),m=m.shift()));k||("inline"===n?g?k=f(r(g)?g.replace(/.*(?=#[^\s]+$)/,""):g):l.isDom&&(k=c):
-"html"===n?k=g:n||g||!l.isDom||(n="inline",k=c));f.extend(l,{href:g,type:n,content:k,title:h,selector:m});a[e]=l}),b.opts=f.extend(!0,{},b.defaults,d),d.keys!==w&&(b.opts.keys=d.keys?f.extend({},b.defaults.keys,d.keys):!1),b.group=a,b._start(b.opts.index)},cancel:function(){var a=b.coming;a&&!1===b.trigger("onCancel")||(b.hideLoading(),a&&(b.ajaxLoad&&b.ajaxLoad.abort(),b.ajaxLoad=null,b.imgPreload&&(b.imgPreload.onload=b.imgPreload.onerror=null),a.wrap&&a.wrap.stop(!0,!0).trigger("onReset").remove(),
-b.coming=null,b.current||b._afterZoomOut(a)))},close:function(a){b.cancel();!1!==b.trigger("beforeClose")&&(b.unbindEvents(),b.isActive&&(b.isOpen&&!0!==a?(b.isOpen=b.isOpened=!1,b.isClosing=!0,f(".fancybox-item, .fancybox-nav").remove(),b.wrap.stop(!0,!0).removeClass("fancybox-opened"),b.transitions[b.current.closeMethod]()):(f(".fancybox-wrap").stop(!0).trigger("onReset").remove(),b._afterZoomOut())))},play:function(a){var d=function(){clearTimeout(b.player.timer)},e=function(){d();b.current&&b.player.isActive&&
-(b.player.timer=setTimeout(b.next,b.current.playSpeed))},c=function(){d();p.unbind(".player");b.player.isActive=!1;b.trigger("onPlayEnd")};!0===a||!b.player.isActive&&!1!==a?b.current&&(b.current.loop||b.current.index<b.group.length-1)&&(b.player.isActive=!0,p.bind({"onCancel.player beforeClose.player":c,"onUpdate.player":e,"beforeLoad.player":d}),e(),b.trigger("onPlayStart")):c()},next:function(a){var d=b.current;d&&(r(a)||(a=d.direction.next),b.jumpto(d.index+1,a,"next"))},prev:function(a){var d=
-b.current;d&&(r(a)||(a=d.direction.prev),b.jumpto(d.index-1,a,"prev"))},jumpto:function(a,d,e){var c=b.current;c&&(a=m(a),b.direction=d||c.direction[a>=c.index?"next":"prev"],b.router=e||"jumpto",c.loop&&(0>a&&(a=c.group.length+a%c.group.length),a%=c.group.length),c.group[a]!==w&&(b.cancel(),b._start(a)))},reposition:function(a,d){var e=b.current,c=e?e.wrap:null,l;c&&(l=b._getPosition(d),a&&"scroll"===a.type?(delete l.position,c.stop(!0,!0).animate(l,200)):(c.css(l),e.pos=f.extend({},e.dim,l)))},
-update:function(a){var d=a&&a.originalEvent&&a.originalEvent.type,e=!d||"orientationchange"===d;e&&(clearTimeout(C),C=null);b.isOpen&&!C&&(C=setTimeout(function(){var c=b.current;c&&!b.isClosing&&(b.wrap.removeClass("fancybox-tmp"),(e||"load"===d||"resize"===d&&c.autoResize)&&b._setDimension(),"scroll"===d&&c.canShrink||b.reposition(a),b.trigger("onUpdate"),C=null)},e&&!t?0:300))},toggle:function(a){b.isOpen&&(b.current.fitToView="boolean"===f.type(a)?a:!b.current.fitToView,t&&(b.wrap.removeAttr("style").addClass("fancybox-tmp"),
-b.trigger("onUpdate")),b.update())},hideLoading:function(){p.unbind(".loading");f("#fancybox-loading").remove()},showLoading:function(){var a,d;b.hideLoading();a=f('<div id="fancybox-loading"><div></div></div>').click(b.cancel).appendTo("body");p.bind("keydown.loading",function(a){27===(a.which||a.keyCode)&&(a.preventDefault(),b.cancel())});b.defaults.fixed||(d=b.getViewport(),a.css({position:"absolute",top:0.5*d.h+d.y,left:0.5*d.w+d.x}));b.trigger("onLoading")},getViewport:function(){var a=b.current&&
-b.current.locked||!1,d={x:q.scrollLeft(),y:q.scrollTop()};a&&a.length?(d.w=a[0].clientWidth,d.h=a[0].clientHeight):(d.w=t&&s.innerWidth?s.innerWidth:q.width(),d.h=t&&s.innerHeight?s.innerHeight:q.height());return d},unbindEvents:function(){b.wrap&&u(b.wrap)&&b.wrap.unbind(".fb");p.unbind(".fb");q.unbind(".fb")},bindEvents:function(){var a=b.current,d;a&&(q.bind("orientationchange.fb"+(t?"":" resize.fb")+(a.autoCenter&&!a.locked?" scroll.fb":""),b.update),(d=a.keys)&&p.bind("keydown.fb",function(e){var c=
-e.which||e.keyCode,l=e.target||e.srcElement;if(27===c&&b.coming)return!1;e.ctrlKey||e.altKey||e.shiftKey||e.metaKey||l&&(l.type||f(l).is("[contenteditable]"))||f.each(d,function(d,l){if(1<a.group.length&&l[c]!==w)return b[d](l[c]),e.preventDefault(),!1;if(-1<f.inArray(c,l))return b[d](),e.preventDefault(),!1})}),f.fn.mousewheel&&a.mouseWheel&&b.wrap.bind("mousewheel.fb",function(d,c,l,g){for(var h=f(d.target||null),k=!1;h.length&&!(k||h.is(".fancybox-skin")||h.is(".fancybox-wrap"));)k=h[0]&&!(h[0].style.overflow&&
-"hidden"===h[0].style.overflow)&&(h[0].clientWidth&&h[0].scrollWidth>h[0].clientWidth||h[0].clientHeight&&h[0].scrollHeight>h[0].clientHeight),h=f(h).parent();0!==c&&!k&&1<b.group.length&&!a.canShrink&&(0<g||0<l?b.prev(0<g?"down":"left"):(0>g||0>l)&&b.next(0>g?"up":"right"),d.preventDefault())}))},trigger:function(a,d){var e,c=d||b.coming||b.current;if(c){f.isFunction(c[a])&&(e=c[a].apply(c,Array.prototype.slice.call(arguments,1)));if(!1===e)return!1;c.helpers&&f.each(c.helpers,function(d,e){if(e&&
-b.helpers[d]&&f.isFunction(b.helpers[d][a]))b.helpers[d][a](f.extend(!0,{},b.helpers[d].defaults,e),c)})}p.trigger(a)},isImage:function(a){return r(a)&&a.match(/(^data:image\/.*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg)((\?|#).*)?$)/i)},isSWF:function(a){return r(a)&&a.match(/\.(swf)((\?|#).*)?$/i)},_start:function(a){var d={},e,c;a=m(a);e=b.group[a]||null;if(!e)return!1;d=f.extend(!0,{},b.opts,e);e=d.margin;c=d.padding;"number"===f.type(e)&&(d.margin=[e,e,e,e]);"number"===f.type(c)&&(d.padding=[c,c,
-c,c]);d.modal&&f.extend(!0,d,{closeBtn:!1,closeClick:!1,nextClick:!1,arrows:!1,mouseWheel:!1,keys:null,helpers:{overlay:{closeClick:!1}}});d.autoSize&&(d.autoWidth=d.autoHeight=!0);"auto"===d.width&&(d.autoWidth=!0);"auto"===d.height&&(d.autoHeight=!0);d.group=b.group;d.index=a;b.coming=d;if(!1===b.trigger("beforeLoad"))b.coming=null;else{c=d.type;e=d.href;if(!c)return b.coming=null,b.current&&b.router&&"jumpto"!==b.router?(b.current.index=a,b[b.router](b.direction)):!1;b.isActive=!0;if("image"===
-c||"swf"===c)d.autoHeight=d.autoWidth=!1,d.scrolling="visible";"image"===c&&(d.aspectRatio=!0);"iframe"===c&&t&&(d.scrolling="scroll");d.wrap=f(d.tpl.wrap).addClass("fancybox-"+(t?"mobile":"desktop")+" fancybox-type-"+c+" fancybox-tmp "+d.wrapCSS).appendTo(d.parent||"body");f.extend(d,{skin:f(".fancybox-skin",d.wrap),outer:f(".fancybox-outer",d.wrap),inner:f(".fancybox-inner",d.wrap)});f.each(["Top","Right","Bottom","Left"],function(a,b){d.skin.css("padding"+b,x(d.padding[a]))});b.trigger("onReady");
-if("inline"===c||"html"===c){if(!d.content||!d.content.length)return b._error("content")}else if(!e)return b._error("href");"image"===c?b._loadImage():"ajax"===c?b._loadAjax():"iframe"===c?b._loadIframe():b._afterLoad()}},_error:function(a){f.extend(b.coming,{type:"html",autoWidth:!0,autoHeight:!0,minWidth:0,minHeight:0,scrolling:"no",hasError:a,content:b.coming.tpl.error});b._afterLoad()},_loadImage:function(){var a=b.imgPreload=new Image;a.onload=function(){this.onload=this.onerror=null;b.coming.width=
-this.width/b.opts.pixelRatio;b.coming.height=this.height/b.opts.pixelRatio;b._afterLoad()};a.onerror=function(){this.onload=this.onerror=null;b._error("image")};a.src=b.coming.href;!0!==a.complete&&b.showLoading()},_loadAjax:function(){var a=b.coming;b.showLoading();b.ajaxLoad=f.ajax(f.extend({},a.ajax,{url:a.href,error:function(a,e){b.coming&&"abort"!==e?b._error("ajax",a):b.hideLoading()},success:function(d,e){"success"===e&&(a.content=d,b._afterLoad())}}))},_loadIframe:function(){var a=b.coming,
-d=f(a.tpl.iframe.replace(/\{rnd\}/g,(new Date).getTime())).attr("scrolling",t?"auto":a.iframe.scrolling).attr("src",a.href);f(a.wrap).bind("onReset",function(){try{f(this).find("iframe").hide().attr("src","//about:blank").end().empty()}catch(a){}});a.iframe.preload&&(b.showLoading(),d.one("load",function(){f(this).data("ready",1);t||f(this).bind("load.fb",b.update);f(this).parents(".fancybox-wrap").width("100%").removeClass("fancybox-tmp").show();b._afterLoad()}));a.content=d.appendTo(a.inner);a.iframe.preload||
-b._afterLoad()},_preloadImages:function(){var a=b.group,d=b.current,e=a.length,c=d.preload?Math.min(d.preload,e-1):0,f,g;for(g=1;g<=c;g+=1)f=a[(d.index+g)%e],"image"===f.type&&f.href&&((new Image).src=f.href)},_afterLoad:function(){var a=b.coming,d=b.current,e,c,l,g,h;b.hideLoading();if(a&&!1!==b.isActive)if(!1===b.trigger("afterLoad",a,d))a.wrap.stop(!0).trigger("onReset").remove(),b.coming=null;else{d&&(b.trigger("beforeChange",d),d.wrap.stop(!0).removeClass("fancybox-opened").find(".fancybox-item, .fancybox-nav").remove());
-b.unbindEvents();e=a.content;c=a.type;l=a.scrolling;f.extend(b,{wrap:a.wrap,skin:a.skin,outer:a.outer,inner:a.inner,current:a,previous:d});g=a.href;switch(c){case "inline":case "ajax":case "html":a.selector?e=f("<div>").html(e).find(a.selector):u(e)&&(e.data("fancybox-placeholder")||e.data("fancybox-placeholder",f('<div class="fancybox-placeholder"></div>').insertAfter(e).hide()),e=e.show().detach(),a.wrap.bind("onReset",function(){f(this).find(e).length&&e.hide().replaceAll(e.data("fancybox-placeholder")).data("fancybox-placeholder",
-!1)}));break;case "image":e=a.tpl.image.replace(/\{href\}/g,g);break;case "swf":e='<object id="fancybox-swf" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="100%" height="100%"><param name="movie" value="'+g+'"></param>',h="",f.each(a.swf,function(a,b){e+='<param name="'+a+'" value="'+b+'"></param>';h+=" "+a+'="'+b+'"'}),e+='<embed src="'+g+'" type="application/x-shockwave-flash" width="100%" height="100%"'+h+"></embed></object>"}u(e)&&e.parent().is(a.inner)||a.inner.append(e);b.trigger("beforeShow");
-a.inner.css("overflow","yes"===l?"scroll":"no"===l?"hidden":l);b._setDimension();b.reposition();b.isOpen=!1;b.coming=null;b.bindEvents();if(!b.isOpened)f(".fancybox-wrap").not(a.wrap).stop(!0).trigger("onReset").remove();else if(d.prevMethod)b.transitions[d.prevMethod]();b.transitions[b.isOpened?a.nextMethod:a.openMethod]();b._preloadImages()}},_setDimension:function(){var a=b.getViewport(),d=0,e=!1,c=!1,e=b.wrap,l=b.skin,g=b.inner,h=b.current,c=h.width,k=h.height,n=h.minWidth,v=h.minHeight,p=h.maxWidth,
-q=h.maxHeight,t=h.scrolling,r=h.scrollOutside?h.scrollbarWidth:0,y=h.margin,z=m(y[1]+y[3]),s=m(y[0]+y[2]),w,A,u,D,B,G,C,E,I;e.add(l).add(g).width("auto").height("auto").removeClass("fancybox-tmp");y=m(l.outerWidth(!0)-l.width());w=m(l.outerHeight(!0)-l.height());A=z+y;u=s+w;D=F(c)?(a.w-A)*m(c)/100:c;B=F(k)?(a.h-u)*m(k)/100:k;if("iframe"===h.type){if(I=h.content,h.autoHeight&&1===I.data("ready"))try{I[0].contentWindow.document.location&&(g.width(D).height(9999),G=I.contents().find("body"),r&&G.css("overflow-x",
-"hidden"),B=G.outerHeight(!0))}catch(H){}}else if(h.autoWidth||h.autoHeight)g.addClass("fancybox-tmp"),h.autoWidth||g.width(D),h.autoHeight||g.height(B),h.autoWidth&&(D=g.width()),h.autoHeight&&(B=g.height()),g.removeClass("fancybox-tmp");c=m(D);k=m(B);E=D/B;n=m(F(n)?m(n,"w")-A:n);p=m(F(p)?m(p,"w")-A:p);v=m(F(v)?m(v,"h")-u:v);q=m(F(q)?m(q,"h")-u:q);G=p;C=q;h.fitToView&&(p=Math.min(a.w-A,p),q=Math.min(a.h-u,q));A=a.w-z;s=a.h-s;h.aspectRatio?(c>p&&(c=p,k=m(c/E)),k>q&&(k=q,c=m(k*E)),c<n&&(c=n,k=m(c/
-E)),k<v&&(k=v,c=m(k*E))):(c=Math.max(n,Math.min(c,p)),h.autoHeight&&"iframe"!==h.type&&(g.width(c),k=g.height()),k=Math.max(v,Math.min(k,q)));if(h.fitToView)if(g.width(c).height(k),e.width(c+y),a=e.width(),z=e.height(),h.aspectRatio)for(;(a>A||z>s)&&c>n&&k>v&&!(19<d++);)k=Math.max(v,Math.min(q,k-10)),c=m(k*E),c<n&&(c=n,k=m(c/E)),c>p&&(c=p,k=m(c/E)),g.width(c).height(k),e.width(c+y),a=e.width(),z=e.height();else c=Math.max(n,Math.min(c,c-(a-A))),k=Math.max(v,Math.min(k,k-(z-s)));r&&"auto"===t&&k<B&&
-c+y+r<A&&(c+=r);g.width(c).height(k);e.width(c+y);a=e.width();z=e.height();e=(a>A||z>s)&&c>n&&k>v;c=h.aspectRatio?c<G&&k<C&&c<D&&k<B:(c<G||k<C)&&(c<D||k<B);f.extend(h,{dim:{width:x(a),height:x(z)},origWidth:D,origHeight:B,canShrink:e,canExpand:c,wPadding:y,hPadding:w,wrapSpace:z-l.outerHeight(!0),skinSpace:l.height()-k});!I&&h.autoHeight&&k>v&&k<q&&!c&&g.height("auto")},_getPosition:function(a){var d=b.current,e=b.getViewport(),c=d.margin,f=b.wrap.width()+c[1]+c[3],g=b.wrap.height()+c[0]+c[2],c={position:"absolute",
-top:c[0],left:c[3]};d.autoCenter&&d.fixed&&!a&&g<=e.h&&f<=e.w?c.position="fixed":d.locked||(c.top+=e.y,c.left+=e.x);c.top=x(Math.max(c.top,c.top+(e.h-g)*d.topRatio));c.left=x(Math.max(c.left,c.left+(e.w-f)*d.leftRatio));return c},_afterZoomIn:function(){var a=b.current;a&&((b.isOpen=b.isOpened=!0,b.wrap.css("overflow","visible").addClass("fancybox-opened"),b.update(),(a.closeClick||a.nextClick&&1<b.group.length)&&b.inner.css("cursor","pointer").bind("click.fb",function(d){f(d.target).is("a")||f(d.target).parent().is("a")||
-(d.preventDefault(),b[a.closeClick?"close":"next"]())}),a.closeBtn&&f(a.tpl.closeBtn).appendTo(b.skin).bind("click.fb",function(a){a.preventDefault();b.close()}),a.arrows&&1<b.group.length&&((a.loop||0<a.index)&&f(a.tpl.prev).appendTo(b.outer).bind("click.fb",b.prev),(a.loop||a.index<b.group.length-1)&&f(a.tpl.next).appendTo(b.outer).bind("click.fb",b.next)),b.trigger("afterShow"),a.loop||a.index!==a.group.length-1)?b.opts.autoPlay&&!b.player.isActive&&(b.opts.autoPlay=!1,b.play(!0)):b.play(!1))},
-_afterZoomOut:function(a){a=a||b.current;f(".fancybox-wrap").trigger("onReset").remove();f.extend(b,{group:{},opts:{},router:!1,current:null,isActive:!1,isOpened:!1,isOpen:!1,isClosing:!1,wrap:null,skin:null,outer:null,inner:null});b.trigger("afterClose",a)}});b.transitions={getOrigPosition:function(){var a=b.current,d=a.element,e=a.orig,c={},f=50,g=50,h=a.hPadding,k=a.wPadding,n=b.getViewport();!e&&a.isDom&&d.is(":visible")&&(e=d.find("img:first"),e.length||(e=d));u(e)?(c=e.offset(),e.is("img")&&
-(f=e.outerWidth(),g=e.outerHeight())):(c.top=n.y+(n.h-g)*a.topRatio,c.left=n.x+(n.w-f)*a.leftRatio);if("fixed"===b.wrap.css("position")||a.locked)c.top-=n.y,c.left-=n.x;return c={top:x(c.top-h*a.topRatio),left:x(c.left-k*a.leftRatio),width:x(f+k),height:x(g+h)}},step:function(a,d){var e,c,f=d.prop;c=b.current;var g=c.wrapSpace,h=c.skinSpace;if("width"===f||"height"===f)e=d.end===d.start?1:(a-d.start)/(d.end-d.start),b.isClosing&&(e=1-e),c="width"===f?c.wPadding:c.hPadding,c=a-c,b.skin[f](m("width"===
-f?c:c-g*e)),b.inner[f](m("width"===f?c:c-g*e-h*e))},zoomIn:function(){var a=b.current,d=a.pos,e=a.openEffect,c="elastic"===e,l=f.extend({opacity:1},d);delete l.position;c?(d=this.getOrigPosition(),a.openOpacity&&(d.opacity=0.1)):"fade"===e&&(d.opacity=0.1);b.wrap.css(d).animate(l,{duration:"none"===e?0:a.openSpeed,easing:a.openEasing,step:c?this.step:null,complete:b._afterZoomIn})},zoomOut:function(){var a=b.current,d=a.closeEffect,e="elastic"===d,c={opacity:0.1};e&&(c=this.getOrigPosition(),a.closeOpacity&&
-(c.opacity=0.1));b.wrap.animate(c,{duration:"none"===d?0:a.closeSpeed,easing:a.closeEasing,step:e?this.step:null,complete:b._afterZoomOut})},changeIn:function(){var a=b.current,d=a.nextEffect,e=a.pos,c={opacity:1},f=b.direction,g;e.opacity=0.1;"elastic"===d&&(g="down"===f||"up"===f?"top":"left","down"===f||"right"===f?(e[g]=x(m(e[g])-200),c[g]="+=200px"):(e[g]=x(m(e[g])+200),c[g]="-=200px"));"none"===d?b._afterZoomIn():b.wrap.css(e).animate(c,{duration:a.nextSpeed,easing:a.nextEasing,complete:b._afterZoomIn})},
-changeOut:function(){var a=b.previous,d=a.prevEffect,e={opacity:0.1},c=b.direction;"elastic"===d&&(e["down"===c||"up"===c?"top":"left"]=("up"===c||"left"===c?"-":"+")+"=200px");a.wrap.animate(e,{duration:"none"===d?0:a.prevSpeed,easing:a.prevEasing,complete:function(){f(this).trigger("onReset").remove()}})}};b.helpers.overlay={defaults:{closeClick:!0,speedOut:200,showEarly:!0,css:{},locked:!t,fixed:!0},overlay:null,fixed:!1,el:f("html"),create:function(a){var d;a=f.extend({},this.defaults,a);this.overlay&&
-this.close();d=b.coming?b.coming.parent:a.parent;this.overlay=f('<div class="fancybox-overlay"></div>').appendTo(d&&d.lenth?d:"body");this.fixed=!1;a.fixed&&b.defaults.fixed&&(this.overlay.addClass("fancybox-overlay-fixed"),this.fixed=!0)},open:function(a){var d=this;a=f.extend({},this.defaults,a);this.overlay?this.overlay.unbind(".overlay").width("auto").height("auto"):this.create(a);this.fixed||(q.bind("resize.overlay",f.proxy(this.update,this)),this.update());a.closeClick&&this.overlay.bind("click.overlay",
-function(a){if(f(a.target).hasClass("fancybox-overlay"))return b.isActive?b.close():d.close(),!1});this.overlay.css(a.css).show()},close:function(){q.unbind("resize.overlay");this.el.hasClass("fancybox-lock")&&(f(".fancybox-margin").removeClass("fancybox-margin"),this.el.removeClass("fancybox-lock"),q.scrollTop(this.scrollV).scrollLeft(this.scrollH));f(".fancybox-overlay").remove().hide();f.extend(this,{overlay:null,fixed:!1})},update:function(){var a="100%",b;this.overlay.width(a).height("100%");
-J?(b=Math.max(H.documentElement.offsetWidth,H.body.offsetWidth),p.width()>b&&(a=p.width())):p.width()>q.width()&&(a=p.width());this.overlay.width(a).height(p.height())},onReady:function(a,b){var e=this.overlay;f(".fancybox-overlay").stop(!0,!0);e||this.create(a);a.locked&&this.fixed&&b.fixed&&(b.locked=this.overlay.append(b.wrap),b.fixed=!1);!0===a.showEarly&&this.beforeShow.apply(this,arguments)},beforeShow:function(a,b){b.locked&&!this.el.hasClass("fancybox-lock")&&(!1!==this.fixPosition&&f("*").filter(function(){return"fixed"===
-f(this).css("position")&&!f(this).hasClass("fancybox-overlay")&&!f(this).hasClass("fancybox-wrap")}).addClass("fancybox-margin"),this.el.addClass("fancybox-margin"),this.scrollV=q.scrollTop(),this.scrollH=q.scrollLeft(),this.el.addClass("fancybox-lock"),q.scrollTop(this.scrollV).scrollLeft(this.scrollH));this.open(a)},onUpdate:function(){this.fixed||this.update()},afterClose:function(a){this.overlay&&!b.coming&&this.overlay.fadeOut(a.speedOut,f.proxy(this.close,this))}};b.helpers.title={defaults:{type:"float",
-position:"bottom"},beforeShow:function(a){var d=b.current,e=d.title,c=a.type;f.isFunction(e)&&(e=e.call(d.element,d));if(r(e)&&""!==f.trim(e)){d=f('<div class="fancybox-title fancybox-title-'+c+'-wrap">'+e+"</div>");switch(c){case "inside":c=b.skin;break;case "outside":c=b.wrap;break;case "over":c=b.inner;break;default:c=b.skin,d.appendTo("body"),J&&d.width(d.width()),d.wrapInner('<span class="child"></span>'),b.current.margin[2]+=Math.abs(m(d.css("margin-bottom")))}d["top"===a.position?"prependTo":
-"appendTo"](c)}}};f.fn.fancybox=function(a){var d,e=f(this),c=this.selector||"",l=function(g){var h=f(this).blur(),k=d,l,m;g.ctrlKey||g.altKey||g.shiftKey||g.metaKey||h.is(".fancybox-wrap")||(l=a.groupAttr||"data-fancybox-group",m=h.attr(l),m||(l="rel",m=h.get(0)[l]),m&&""!==m&&"nofollow"!==m&&(h=c.length?f(c):e,h=h.filter("["+l+'="'+m+'"]'),k=h.index(this)),a.index=k,!1!==b.open(h,a)&&g.preventDefault())};a=a||{};d=a.index||0;c&&!1!==a.live?p.undelegate(c,"click.fb-start").delegate(c+":not('.fancybox-item, .fancybox-nav')",
-"click.fb-start",l):e.unbind("click.fb-start").bind("click.fb-start",l);this.filter("[data-fancybox-start=1]").trigger("click");return this};p.ready(function(){var a,d;f.scrollbarWidth===w&&(f.scrollbarWidth=function(){var a=f('<div style="width:50px;height:50px;overflow:auto"><div/></div>').appendTo("body"),b=a.children(),b=b.innerWidth()-b.height(99).innerWidth();a.remove();return b});f.support.fixedPosition===w&&(f.support.fixedPosition=function(){var a=f('<div style="position:fixed;top:20px;"></div>').appendTo("body"),
-b=20===a[0].offsetTop||15===a[0].offsetTop;a.remove();return b}());f.extend(b.defaults,{scrollbarWidth:f.scrollbarWidth(),fixed:f.support.fixedPosition,parent:f("body")});a=f(s).width();K.addClass("fancybox-lock-test");d=f(s).width();K.removeClass("fancybox-lock-test");f("<style type='text/css'>.fancybox-margin{margin-right:"+(d-a)+"px;}</style>").appendTo("head")})})(window,document,jQuery);

+ 0 - 137
themes/landscape/source/js/script.js

@@ -1,137 +0,0 @@
-(function($){
-  // Search
-  var $searchWrap = $('#search-form-wrap'),
-    isSearchAnim = false,
-    searchAnimDuration = 200;
-
-  var startSearchAnim = function(){
-    isSearchAnim = true;
-  };
-
-  var stopSearchAnim = function(callback){
-    setTimeout(function(){
-      isSearchAnim = false;
-      callback && callback();
-    }, searchAnimDuration);
-  };
-
-  $('#nav-search-btn').on('click', function(){
-    if (isSearchAnim) return;
-
-    startSearchAnim();
-    $searchWrap.addClass('on');
-    stopSearchAnim(function(){
-      $('.search-form-input').focus();
-    });
-  });
-
-  $('.search-form-input').on('blur', function(){
-    startSearchAnim();
-    $searchWrap.removeClass('on');
-    stopSearchAnim();
-  });
-
-  // Share
-  $('body').on('click', function(){
-    $('.article-share-box.on').removeClass('on');
-  }).on('click', '.article-share-link', function(e){
-    e.stopPropagation();
-
-    var $this = $(this),
-      url = $this.attr('data-url'),
-      encodedUrl = encodeURIComponent(url),
-      id = 'article-share-box-' + $this.attr('data-id'),
-      offset = $this.offset();
-
-    if ($('#' + id).length){
-      var box = $('#' + id);
-
-      if (box.hasClass('on')){
-        box.removeClass('on');
-        return;
-      }
-    } else {
-      var html = [
-        '<div id="' + id + '" class="article-share-box">',
-          '<input class="article-share-input" value="' + url + '">',
-          '<div class="article-share-links">',
-            '<a href="https://twitter.com/intent/tweet?url=' + encodedUrl + '" class="article-share-twitter" target="_blank" title="Twitter"></a>',
-            '<a href="https://www.facebook.com/sharer.php?u=' + encodedUrl + '" class="article-share-facebook" target="_blank" title="Facebook"></a>',
-            '<a href="http://pinterest.com/pin/create/button/?url=' + encodedUrl + '" class="article-share-pinterest" target="_blank" title="Pinterest"></a>',
-            '<a href="https://plus.google.com/share?url=' + encodedUrl + '" class="article-share-google" target="_blank" title="Google+"></a>',
-          '</div>',
-        '</div>'
-      ].join('');
-
-      var box = $(html);
-
-      $('body').append(box);
-    }
-
-    $('.article-share-box.on').hide();
-
-    box.css({
-      top: offset.top + 25,
-      left: offset.left
-    }).addClass('on');
-  }).on('click', '.article-share-box', function(e){
-    e.stopPropagation();
-  }).on('click', '.article-share-box-input', function(){
-    $(this).select();
-  }).on('click', '.article-share-box-link', function(e){
-    e.preventDefault();
-    e.stopPropagation();
-
-    window.open(this.href, 'article-share-box-window-' + Date.now(), 'width=500,height=450');
-  });
-
-  // Caption
-  $('.article-entry').each(function(i){
-    $(this).find('img').each(function(){
-      if ($(this).parent().hasClass('fancybox')) return;
-
-      var alt = this.alt;
-
-      if (alt) $(this).after('<span class="caption">' + alt + '</span>');
-
-      $(this).wrap('<a href="' + this.src + '" title="' + alt + '" class="fancybox"></a>');
-    });
-
-    $(this).find('.fancybox').each(function(){
-      $(this).attr('rel', 'article' + i);
-    });
-  });
-
-  if ($.fancybox){
-    $('.fancybox').fancybox();
-  }
-
-  // Mobile nav
-  var $container = $('#container'),
-    isMobileNavAnim = false,
-    mobileNavAnimDuration = 200;
-
-  var startMobileNavAnim = function(){
-    isMobileNavAnim = true;
-  };
-
-  var stopMobileNavAnim = function(){
-    setTimeout(function(){
-      isMobileNavAnim = false;
-    }, mobileNavAnimDuration);
-  }
-
-  $('#main-nav-toggle').on('click', function(){
-    if (isMobileNavAnim) return;
-
-    startMobileNavAnim();
-    $container.toggleClass('mobile-nav-on');
-    stopMobileNavAnim();
-  });
-
-  $('#wrap').on('click', function(){
-    if (isMobileNavAnim || !$container.hasClass('mobile-nav-on')) return;
-
-    $container.removeClass('mobile-nav-on');
-  });
-})(jQuery);

+ 184 - 23
themes/material-flow/README.md

@@ -1,35 +1,196 @@
 # Material Flow
 
-__由于本人将博客系统转到hugo上,本Hexo主题将只进行bug修复__   
-安利一发我为hugo写的相同风格的主题: [YAMT](https://github.com/stkevintan/sfork)
+Yet Another Material Design Blog Theme.
 
+[DEMO](http://keyin.me)
 
-Yet Another Material-Design-Style Hexo Theme.[DEMO](https://kntan.coding.me/kntan/)  
 
-<div>
-<img width="75%" src='https://raw.githubusercontent.com/stkevintan/hexo-theme-material-flow/master/snapshots/index.png' />
-<img width="20%" src='https://raw.githubusercontent.com/stkevintan/hexo-theme-material-flow/master/snapshots/phone.png' />
-</div>
-
-## Installation
+## Install
+### Dependencies
 ```bash
-# change to work dir
 cd /your_blog_dir/
-# install dependencies
-npm i -S hexo-generator-search hexo-generator-feed hexo-renderer-less hexo-autoprefixer hexo-generator-json-content
-# download source
-git clone https://github.com/stkevintan/hexo-theme-material-flow themes/material-flow
+npm i -S hexo-generator-search hexo-generator-feed hexo-renderer-less hexo-autoprefixer
+```
+### Downloading
+```bash
+cd /your_blog_dir/themes/
+git clone https://github.com/stkevintan/hexo-theme-material-flow material-flow
+```
+
+### Set it active
+Change the value of `theme` to material-flow in your global `_config.yml`.
+
+
+## Settings
+There are 3 configuration places you should concerned:
+
+### `_config.yml`  
+The global config of your site.
+```yaml
+# Hexo Configuration
+## Docs: https://hexo.io/docs/configuration.html
+## Source: https://github.com/hexojs/hexo/
+
+# Site
+title: World of Forks
+subtitle: My world
+description: A blog of Kevin Tan
+keywords:
+  - blog
+  - stkevintan
+  - IT
+  - Web Front End
+  - Kevin Tan
+  - kevinsfork
+author: Kevin Tan
+avatar: images/avatar.jpg # the avatar image in the sidebar
+favicon: images/favicon.ico
+language: zh-CN
+timezone: Asia/Shanghai
+
+# URL
+## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/'
+url: http://keyin.me
+root: /
+permalink: :year/:month/:day/:title/
+permalink_defaults:
+
+## ....
+
+
+disqus_shortname: your_disqus_shortname
+# Extensions
+## Plugins: https://hexo.io/plugins/
+## Themes: https://hexo.io/themes/
+theme: material-flow
+
+# if your search is enable && search service is 'hexo'
+search:
+  path: search.xml
+  field: post
+
+# Generator json content
+jsonContent:
+  meta: false
+  keywords: false
+  pages:
+    title: true
+    slug: false
+    date: false
+    updated: false
+    comments: false
+    path: false
+    link: false
+    permalink: true
+    excerpt: false
+    keywords: false
+    text: true
+    raw: false
+    content: false
+  posts:
+    title: true
+    slug: false
+    date: false
+    updated: false
+    comments: false
+    path: false
+    link: false
+    permalink: true
+    excerpt: false
+    keywords: false
+    text: true
+    raw: false
+    content: false
+    categories: false
+    tags: false
+
+# auto prefixer
+autoprefixer:
+  exclude:
+    - '*.min.css'
+  browsers:
+    - 'last 2 versions'
+
+# rss
+feed:
+  type: atom
+  path: atom.xml
+  limit: 20
+  hub:
+  content:
 ```
 
-## Configuration
-1. Change the value of `theme` to `material-flow` in `_config.yml`.
-2. Put your avatar && favicon  images to `source/images/`.
-3. Edit `_config.yml` and `themes/material-flow/_config.yml` for your needs.  
+## `source/_data/`
+The global config file's location, following 3 files are this theme used:
+### `links.yml` 
+Defines the entries of your friend link, eg:
+```yaml
+- name: blog1
+  url: https://xxxx.com
+- name: blog2
+  url: http://xxx.com/
+- name: blog3
+  url: http://xxx.io/
+```
 
+### `menu.yml` 
+Defines the navigation menu of your site's header, eg:
+```yaml
+- name: Home
+  slug: home
+  url: /
+- name: Archives
+  slug: archives
+  url: /archives
+- name: About
+  slug: about
+  url: /about
+```
 
-Here are some examples: 
-1. [_config.yml](https://github.com/stkevintan/hexo/blob/master/_config.yml)  
-2. [themes/material-flow/_config.yml](https://github.com/stkevintan/hexo/blob/master/themes/material-flow/_config.yml)  
+### `widgets.yml`
+Defines the widget to show on your site's sidebar, eg:
+```yaml
+- about
+- friendly-links
+- categories
+- tagcloud
+```
 
-## More 
-Please refer to offical doc : <https://hexo.io/docs/index.html>
+
+## `themes/material-flow/_config.yml` 
+The theme config file.
+```
+# Search
+search: 
+  enable: true
+  service: hexo # google/hexo/algolia/azure/baidu
+  # google 
+  google_api_key:
+  google_engine_id:
+  # algolia
+  algolia_app_id:
+  algolia_api_key:
+  algolia_index_name:
+  # azure
+  azure_service_name:
+  azure_index_name:
+  azure_query_key:
+  # baidu
+  baidu_api_id:
+
+
+# Less
+less:
+  compress: true
+
+# use url, not username
+social:
+- slug: email
+  url: #mailto:stkevintan@zju.edu.cn
+- slug: github
+  url: https://github.com/stkevintan
+- slug: twitter
+  url: https://twitter.com/kevinsfork
+- slug: rss
+	url: /atom.xml
+```

+ 1 - 5
themes/material-flow/_config.yml

@@ -21,7 +21,7 @@ links:
   - name: Gogs
     url: https://git.dazhidayong.cn
   - name: BladeCode
-    url: https://incoder.org/
+    url: https://incoder.org
 
 # navigation menu
 menu:
@@ -31,9 +31,6 @@ menu:
   - name: Archives
     slug: archives
     url: /archives
-  # - name: Gallery
-  #   slug: gallery
-  #   url: https://dzdy-1252491474.cos.ap-chengdu.myqcloud.com/gallery.jpg
   - name: About
     slug: about
     url: /about
@@ -61,7 +58,6 @@ social:
 avatar: https://dzdy-1252491474.cos.ap-chengdu.myqcloud.com/icon.png
 favicon:
   medium: https://dzdy-1252491474.cos.ap-chengdu.myqcloud.com/icon.png
-# 评论
 
 valine:
   enable: true # 如果你想用Valine评论系统,请设置enable为true

+ 91 - 91
themes/material-flow/layout/_partial/article.ejs

@@ -1,99 +1,99 @@
 <article id="<%= post.layout %>-<%= post.slug %>"
-         class="post white-box article-type-<%= post.layout %>"
-         itemscope itemprop="blogPost">
-    <section class='meta'>
-        <h2 class="title">
-            <a href="<%- url_for(post.path) %>">
-                <%= post.title %>
-            </a>
-        </h2>
-        <time>
-            <%= date(post.date, 'MMM D, YYYY') %>
-        </time>
-        <%- partial('categories', {post: post}) %>
-    </section>
-    <% if(post.toc !== false){ %>
-        <section class="toc-wrapper"><%- toc(post.content) %></section>
-    <% } %>
-    <section class="article typo">
-        <div class="article-entry" itemprop="articleBody">
-            <%- post.content %>
-        </div>
-        <% if (post.tags && post.tags.length) { %>
-            <div class="article-tags tags">
-                <% post.tags.each(function(item){ %>
-                    <a href="<%- url_for(item.path) %>"><%= item.name %></a>
-                <% }) %>
-            </div>
-        <% } %>
+	class="post white-box article-type-<%= post.layout %>"
+	itemscope itemprop="blogPost">
+<section class='meta'>
+ <h2 class="title">
+		 <a href="<%- url_for(post.path) %>">
+				 <%= post.title %>
+		 </a>
+ </h2>
+ <time>
+		 <%= date(post.date, 'MMM D, YYYY') %>
+ </time>
+ <%- partial('categories', {post: post}) %>
+</section>
+<% if(post.toc !== false){ %>
+ <section class="toc-wrapper"><%- toc(post.content) %></section>
+<% } %>
+<section class="article typo">
+ <div class="article-entry" itemprop="articleBody">
+		 <%- post.content %>
+ </div>
+ <% if (post.tags && post.tags.length) { %>
+		 <div class="article-tags tags">
+				 <% post.tags.each(function(item){ %>
+						 <a href="<%- url_for(item.path) %>"><%= item.name %></a>
+				 <% }) %>
+		 </div>
+ <% } %>
 
-        <% if(post.prev || post.next){ %>
-            <div class="art-item-footer">
-                <% if(post.prev){ %>
-                <span class="art-item-left"><i class="icon icon-chevron-thin-left"></i>prev:<a
-                            href="<%= url_for(post.prev.path) %>" rel="prev" title="<%= post.prev.title %>">
-						<%= post.prev.title %> 
-					</a></span>
-                <% } %>
-                <% if(post.next){ %>
-                <span class="art-item-right">next:<a href="<%= url_for(post.next.path) %>" rel="next"
-                                                     title="<%= post.next.title %>">
-						<%= post.next.title %>
-					</a><i class="icon icon-chevron-thin-right"></i></span>
-                <% } %>
-            </div>
-        <% } %>
-    </section>
+ <% if(post.prev || post.next){ %>
+		 <div class="art-item-footer">
+				 <% if(post.prev){ %>
+				 <span class="art-item-left"><i class="icon icon-chevron-thin-left"></i>prev:<a
+										 href="<%= url_for(post.prev.path) %>" rel="prev" title="<%= post.prev.title %>">
+		 <%= post.prev.title %> 
+	 </a></span>
+				 <% } %>
+				 <% if(post.next){ %>
+				 <span class="art-item-right">next:<a href="<%= url_for(post.next.path) %>" rel="next"
+																							title="<%= post.next.title %>">
+		 <%= post.next.title %>
+	 </a><i class="icon icon-chevron-thin-right"></i></span>
+				 <% } %>
+		 </div>
+ <% } %>
+</section>
 
-    <!--打赏-->
-    <div class="reward">
-        <div class="reward-button">赏 <span class="reward-code">
-        <span class="alipay-code"> <img class="alipay-img wdp-appear" src="https://dzdy-1252491474.cos.ap-chengdu.myqcloud.com/alipay.jpg"><b>支付宝打赏</b> </span>
-        <span class="wechat-code"> <img class="wechat-img wdp-appear" src="https://dzdy-1252491474.cos.ap-chengdu.myqcloud.com/wechat.jpg"><b>微信打赏</b> </span>
-        </span>
-        </div>
-        <p class="reward-notice">如果文章对你有帮助,欢迎点击上方按钮打赏作者</p>
-    </div>
-    <!--打赏-->
+<!--打赏-->
+<div class="reward">
+ <div class="reward-button">赏 <span class="reward-code">
+ <span class="alipay-code"> <img class="alipay-img wdp-appear" src="https://dzdy-1252491474.cos.ap-chengdu.myqcloud.com/alipay.jpg"><b>支付宝打赏</b> </span>
+ <span class="wechat-code"> <img class="wechat-img wdp-appear" src="https://dzdy-1252491474.cos.ap-chengdu.myqcloud.com/wechat.jpg"><b>微信打赏</b> </span>
+ </span>
+ </div>
+ <p class="reward-notice">如果文章对你有帮助,欢迎点击上方按钮打赏作者</p>
+</div>
+<!--打赏-->
 
-    <% if (post.comments && config.disqus_shortname){ %>
-        <section id="comments">
-            <div id="disqus_thread"></div>
-        </section>
-    <% } %>
+<% if (post.comments && config.disqus_shortname){ %>
+ <section id="comments">
+		 <div id="disqus_thread"></div>
+ </section>
+<% } %>
 
-    <% if (theme.valine.enable && theme.valine.appId && theme.valine.appKey){ %>
-        <section id="comments">
-            <div id="valine_container" class="valine_thread"></div>
-            <script src="//cdn1.lncld.net/static/js/3.0.4/av-min.js"></script>
-            <script src="//unpkg.com/valine/dist/Valine.min.js"></script>
-            <script>
-                var GUEST_INFO = ['nick', 'mail', 'link'];
-                var guest_info = '<%= theme.valine.guest_info %>'.split(',').filter(function (item) {
-                    return GUEST_INFO.indexOf(item) > -1
-                });
-                var notify = '<%= theme.valine.notify %>' == true;
-                var verify = '<%= theme.valine.verify %>' == true;
-                var valine = new Valine();
-                valine.init({
-                    el: '#valine_container',
-                    notify: notify,
-                    verify: verify,
-                    guest_info: guest_info,
-                    appId: "<%= theme.valine.appId %>",
-                    appKey: "<%= theme.valine.appKey %>",
-                    placeholder: "<%= theme.valine.placeholder %>",
-                    pageSize: '<%= theme.valine.pageSize %>',
-                    avatar: '<%= theme.valine.avatar %>',
-                    lang: '<%= theme.valine.lang %>'
-                })
-            </script>
-        </section>
-    <% } %>
+<% if (theme.valine.enable && theme.valine.appId && theme.valine.appKey){ %>
+ <section id="comments">
+		 <div id="valine_container" class="valine_thread"></div>
+		 <script src="//cdn1.lncld.net/static/js/3.0.4/av-min.js"></script>
+		 <script src="//unpkg.com/valine/dist/Valine.min.js"></script>
+		 <script>
+				 var GUEST_INFO = ['nick', 'mail', 'link'];
+				 var guest_info = '<%= theme.valine.guest_info %>'.split(',').filter(function (item) {
+						 return GUEST_INFO.indexOf(item) > -1
+				 });
+				 var notify = '<%= theme.valine.notify %>' == true;
+				 var verify = '<%= theme.valine.verify %>' == true;
+				 var valine = new Valine();
+				 valine.init({
+						 el: '#valine_container',
+						 notify: notify,
+						 verify: verify,
+						 guest_info: guest_info,
+						 appId: "<%= theme.valine.appId %>",
+						 appKey: "<%= theme.valine.appKey %>",
+						 placeholder: "<%= theme.valine.placeholder %>",
+						 pageSize: '<%= theme.valine.pageSize %>',
+						 avatar: '<%= theme.valine.avatar %>',
+						 lang: '<%= theme.valine.lang %>'
+				 })
+		 </script>
+ </section>
+<% } %>
 </article>
 <script>
-    window.subData = {
-        title: '<%= post.title %>',
-        tools: true
-    }
+window.subData = {
+ title: '<%= post.title %>',
+ tools: true
+}
 </script>

+ 1 - 1
themes/material-flow/layout/_widget/about.ejs

@@ -4,6 +4,6 @@
 <%} %>
 <div class='header'><%=config.author %></div>
 <div class='content'>
-<div class='desc'>One day, I will not laugh than</div>
+<div class='desc'>Tempora mutantur, nos et mutamur in illis ...</div>
 </div>
 </section>

Some files were not shown because too many files changed in this diff