├── .github
└── FUNDING.yml
├── LICENSE
├── README.md
├── _config.yml
├── languages
└── zh-CN.yml
├── layout
├── _partial
│ ├── after_footer.jade
│ ├── comments.jade
│ ├── footer.jade
│ ├── helpers.jade
│ ├── mathjax.jade
│ ├── mathjax2.jade
│ ├── paginator.jade
│ ├── post_nav.jade
│ ├── tag.jade
│ └── totop.jade
├── _widget
│ ├── category.jade
│ ├── links.jade
│ ├── recent_posts.jade
│ ├── search.jade
│ └── tag.jade
├── archive.jade
├── base-without-sidebar.jade
├── base.jade
├── index.jade
├── page.jade
├── post.jade
└── single-column.jade
├── package.json
├── source
├── css
│ ├── fonts
│ │ └── kaushan.woff
│ ├── jquery.fancybox.css
│ ├── pure.css
│ └── style.css
├── fancybox
│ ├── blank.gif
│ ├── fancybox_loading.gif
│ ├── fancybox_loading@2x.gif
│ ├── fancybox_overlay.png
│ ├── fancybox_sprite.png
│ └── fancybox_sprite@2x.png
└── js
│ ├── fancybox.js
│ ├── localcache.js
│ ├── search.js
│ ├── share.js
│ └── totop.js
└── theme.png
/.github/FUNDING.yml:
--------------------------------------------------------------------------------
1 | # These are supported funding model platforms
2 |
3 | github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
4 | patreon: # Replace with a single Patreon username
5 | open_collective: # Replace with a single Open Collective username
6 | ko_fi: # Replace with a single Ko-fi username
7 | tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
9 | liberapay: # Replace with a single Liberapay username
10 | issuehunt: # Replace with a single IssueHunt username
11 | otechie: # Replace with a single Otechie username
12 | custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
13 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2016 sevennight
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Maupassant Hexo
2 |
3 | Maupassant是一个简单的Hexo模板,由`Cho`为Typecho设计的一套响应式模板,看到很多博主各自在这套模板上进行了扩展,所以借鉴很多博主移植Maupassant的一些功能,在此基础上进行移植与修改.
4 |
5 | [演示地址](http://sevennight.cc)
6 | ### 2018-11-05 更新
7 | - 不蒜子域名『dn-lbstatics.qbox.me』过期,更换域名到『busuanzi.ibruce.info』!
8 |
9 | ### 2017-07-17 更新
10 | - 多说挂了,删除跟多说相关的所有配置
11 | - 修改归档显示方式,全站目录模式下查看全站目录结构(之前带有分页),分类和标签目录模式下,查看分类和标签的所有目录,如需要归档带分页,请到主题文件夹下修改`archive.jade`,里面有修改说明
12 | - 文章发布日期展示格式由之前的鸟语格式改为为yyyy-MM-dd
13 | - 文章段落间隔样式优化,移动端屏幕尺寸字体优化,文章标注样式优化
14 |
15 | 
16 |
17 | ## 安装
18 |
19 | 安装主题:
20 | ```
21 | $ git clone https://github.com/7ye/maupassant-hexo.git
22 | $ npm install hexo-renderer-jade --save (必须)
23 | $ npm install hexo-generator-feed --save (可选: 如需要RSS订阅请安装)
24 | ```
25 | 改变Hexo配置文件 `_config.yml` 修改配置 `theme` 为 `maupassant-hexo`
26 |
27 | ## 主题配置
28 |
29 | ```
30 | fancybox: true ## 是否启用Fancybox图片灯箱效果 true/false.
31 | disqus: ## disqus用户名,为空则不使用
32 | google_search: true ## 使用google搜索引擎, true/false.
33 | baidu_search: ## 使用百度搜索引擎, true/false.
34 | google_analytics: ## Google统计ID
35 | baidu_analytics: ## 百度统计ID
36 | show_category_count: true ## 如果你想显示侧边栏分类下的文章数量,请设置值为true
37 | busuanzi: true ## 使用不蒜子统计文章访问量 true/false
38 |
39 | ## 头部菜单
40 | menu:
41 | - page: home
42 | directory: .
43 | - page: archive
44 | directory: archives/
45 | - page: about
46 | directory: about/
47 | - page: rss
48 | directory: atom.xml
49 |
50 | ## 侧边栏小工具设置: search, category, tag, recent_posts, links
51 | widgets:
52 | - search
53 | - category
54 | - tag
55 | - recent_posts
56 | - links
57 |
58 | ## 侧边栏链接
59 | links:
60 | - title: 标题
61 | url: http://www.example.com
62 |
63 | ## 静态文件目录
64 | js: js
65 | css: css
66 |
67 | ## 主题版本
68 | version: 0.0.1
69 |
70 | ```
71 |
72 | - fancybox:是否启用[Fancybox](http://fancyapps.com/fancybox/)图片灯箱效果
73 | - disqus:[Disqus评论](https://disqus.com/) shortname
74 | - google_search:默认使用Google搜索引擎
75 | - baidu_search:若想使用百度搜索,将其设定为`true`
76 | - google_analytics:[Google Analytics](https://www.google.com/analytics/) 跟踪ID
77 | - baidu_analytics:[百度统计](http://tongji.baidu.com/) 跟踪ID
78 | - show_category_count:是否显示侧边栏分类数目
79 | - busuanzi:是否使用[不蒜子](http://busuanzi.ibruce.info/)页面访问计数
80 | - menu:自定义页面及菜单,依照已有格式填写。填写后请在`source`目录下建立相应名称的文件夹
81 | - widgets:选择和排列希望使用的侧边栏小工具
82 | - links: 友情链接,请依照格式填写。
83 | - 静态文件目录:静态文件存储路径,方便设置CDN缓存
84 | - version:主题版本,便于静态文件更新后刷新CDN缓存
85 |
86 | ## 主题特性
87 |
88 | ### 文章摘要
89 | 首页默认显示文章摘要而非全文,可以在文章的`front-matter`中填写一项`description:`来设置你想显示的摘要,或者直接在文章内容中插入``以隐藏后面的内容。
90 | 若两者都未设置,则自动截取文章第一段作为摘要。
91 |
92 | ### description描述
93 | 对于首页的`description`,可在Hexo下的配置文件`_config.yml`下配置`description`参数,对于文章,可在`front-matter`中填写一项`description:`来手动写描述,如果文章没有任何配置,则自动截取文章前150个字符为当前文章的`description`(不包括html标签)
94 |
95 | ### 添加页面
96 | 在`source`目录下建立相应名称的文件夹,然后在文件夹中建立`index.md`文件,并在`index.md`的`front-matter`中设置layout为`layout: page`。若需要单栏页面,就将layout设置为 `layout: single-column`。
97 |
98 | ### 文章评论
99 | 文章和页面的评论功能可以通过在`front-matter`中设置`comments: true`或`comments: false`来进行开启或关闭(默认开启)。
100 |
101 | ### 语法高亮
102 | 要启用代码高亮,请在Hexo目录的`_config.yml`中将`highlight`选项按照如下设置:
103 |
104 | ```
105 | highlight:
106 | enable: true
107 | auto_detect: true
108 | line_number: true
109 | tab_replace:
110 | ```
111 |
112 | ### 数学公式
113 | 要启用数学公式支持,请在Hexo目录的`_config.yml`中添加:
114 |
115 | ```
116 | mathjax: true
117 | ```
118 |
119 | 并在相应文章的`front-matter`中添加`mathjax: true`,例如:
120 |
121 | ```
122 | ---
123 | title: Test Math
124 | date: 1997-01-01 00:00:00
125 | categories: math
126 | mathjax: true
127 | ---
128 | ```
129 |
130 | 数学公式的默认定界符是`$$...$$`和`\\[...\\]`(对于块级公式),以及`$...$`和`\\(...\\)`(对于行内公式)。
131 |
132 | 但是,如果你的文章内容中经常出现美元符号“`$`”, 或者说你想将“`$`”用作美元符号而非行内公式的定界符,请在Hexo目录的`_config.yml`中添加:
133 |
134 | ```
135 | mathjax2: true
136 | ```
137 |
138 | 而不是`mathjax: true`。 相应地,在需要使用数学公式的文章的`front-matter`中也添加`mathjax2: true`
139 |
140 | ### 支持语言
141 | 目前支持简体中文(zh-CN),需其他语言支持在主题目录下`languages`,按照已有配置文件对照着规则添加`yml`配置文件即可
142 |
--------------------------------------------------------------------------------
/_config.yml:
--------------------------------------------------------------------------------
1 | fancybox: true ## 是否启用Fancybox图片灯箱效果 true/false.
2 | disqus: ## disqus用户名,为空则不使用
3 | google_search: true ## 使用google搜索引擎, true/false.
4 | baidu_search: ## 使用百度搜索引擎, true/false.
5 | google_analytics: ## Google统计ID
6 | baidu_analytics: ## 百度统计ID
7 | show_category_count: true ## 如果你想显示侧边栏分类下的文章数量,请设置值为true
8 | busuanzi: true ## 使用不蒜子统计文章访问量 true/false
9 |
10 | ## 头部菜单
11 | menu:
12 | - page: home
13 | directory: .
14 | - page: archive
15 | directory: archives/
16 | - page: about
17 | directory: about/
18 | - page: rss
19 | directory: atom.xml
20 |
21 | ## 侧边栏小工具设置: search, category, tag, recent_posts, links
22 | widgets:
23 | - search
24 | - category
25 | - tag
26 | - recent_posts
27 | - links
28 |
29 | ## 侧边栏链接
30 | links:
31 | - title: 标题
32 | url: http://www.example.com
33 |
34 | ## 静态文件目录
35 | js: js
36 | css: css
37 |
38 | ## 主题版本
39 | version: 0.0.1
--------------------------------------------------------------------------------
/languages/zh-CN.yml:
--------------------------------------------------------------------------------
1 | reading_label: 正在查看 %s 下的文章
2 | blog: 博客
3 | categories: 分类
4 | tags: 标签
5 | archive: 归档
6 | links: 链接
7 | about: 关于
8 | recent: 最新文章
9 | next: 下一页
10 | previous: 上一页
11 | blogroll: 友情链接
12 | rss: 订阅
13 | guestbook: 留言
14 | home: 首页
15 |
--------------------------------------------------------------------------------
/layout/_partial/after_footer.jade:
--------------------------------------------------------------------------------
1 | //-图片灯箱效果支持文件引入
2 | if theme.fancybox == true
3 | link(rel='stylesheet',href=url_for(theme.css) + '/jquery.fancybox.css')
4 | script(type='text/javascript',src='//cdn.bootcss.com/fancybox/2.1.5/jquery.fancybox.pack.js')
5 | script(type='text/javascript',src=url_for(theme.js) + '/fancybox.js?v=' + theme.version)
6 |
7 | //-谷歌统计引入
8 | if theme.google_analytics
9 | script.
10 | (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
11 | (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
12 | m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
13 | })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
14 | ga('create','#{theme.google_analytics}','auto');ga('send','pageview');
15 |
16 | //-百度统计引入
17 | if theme.baidu_analytics
18 | script.
19 | var _hmt = _hmt || [];
20 | (function() {
21 | var hm = document.createElement("script");
22 | hm.src = "//hm.baidu.com/hm.js?#{theme.baidu_analytics}";
23 | var s = document.getElementsByTagName("script")[0];
24 | s.parentNode.insertBefore(hm, s);
25 | })();
26 |
27 | //- 数学公式支持
28 | if page.mathjax
29 | include mathjax
30 |
31 | //-数学公式支持
32 | if page.mathjax2
33 | include mathjax2
34 |
35 | //- 因为highlight生成的代码块在小屏幕上会出现显示不全,这里用JS单独做自适应
36 | script.
37 | function auto_code_fit(){
38 | if($(".highlight").length != 0){
39 | var pc_width = $(".post-content").width();
40 | $(".highlight .code").find("pre").width((pc_width-70)+"px");
41 | }
42 | }
43 | window.onresize = function(){
44 | auto_code_fit();
45 | }
46 | auto_code_fit();
47 |
48 |
--------------------------------------------------------------------------------
/layout/_partial/comments.jade:
--------------------------------------------------------------------------------
1 | if theme.disqus
2 | #disqus_thread
3 | script.
4 | var disqus_shortname = '#{theme.disqus}';
5 | var disqus_identifier = '#{page.path}';
6 | var disqus_title = '#{page.title}';
7 | var disqus_url = '#{config.url}/#{page.path}';
8 | (function() {
9 | var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
10 | dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
11 | (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
12 | })();
13 | //script(id='dsq-count-scr', src='//#{theme.disqus}.disqus.com/count.js', async)
14 |
--------------------------------------------------------------------------------
/layout/_partial/footer.jade:
--------------------------------------------------------------------------------
1 | #footer= '© '
2 | a(href=url_for('.'), rel='nofollow')= config.title + '.'
3 | | Powered by
4 | a(rel='nofollow', target='_blank', href='https://hexo.io') Hexo.
5 | | Theme
6 | a(target='_blank',href='https://github.com/7ye/maupassant-hexo') Maupassant.
7 |
--------------------------------------------------------------------------------
/layout/_partial/helpers.jade:
--------------------------------------------------------------------------------
1 | mixin a_with_current(href, content, id)
2 | - var url = url_for(href)
3 | if (href == '.' && (is_home() || is_post())) || is_current(href)
4 | span.a_container
5 | a.selected.active.current(href=url)=content
6 | else
7 | span.a_container
8 | a(href=url)=content
9 |
10 | mixin title(page)
11 | if page
12 | if page.title
13 | = page.title
14 | else
15 | = _p('no-title')
16 |
--------------------------------------------------------------------------------
/layout/_partial/mathjax.jade:
--------------------------------------------------------------------------------
1 | script(type='text/x-mathjax-config').
2 | MathJax.Hub.Config({
3 | tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']]}
4 | });
5 | script(type='text/javascript', src='https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-MML-AM_CHTML')
--------------------------------------------------------------------------------
/layout/_partial/mathjax2.jade:
--------------------------------------------------------------------------------
1 | script(type='text/javascript', src='https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-MML-AM_CHTML')
2 |
--------------------------------------------------------------------------------
/layout/_partial/paginator.jade:
--------------------------------------------------------------------------------
1 | if page.next || page.prev
2 | div.paginator.pager.pagination
3 | .paginator_container.pagination_container
4 | != paginator({prev_text: __('previous'), next_text: __('next')})
5 |
--------------------------------------------------------------------------------
/layout/_partial/post_nav.jade:
--------------------------------------------------------------------------------
1 | if page.next || page.prev
2 | .post-nav
3 | if page.prev
4 | a.pre(href=url_for(page.prev_link ? page.prev_link : page.prev.path))= page.prev.title
5 | if page.next
6 | a.next(href=url_for(page.next_link ? page.next_link : page.next.path))= page.next.title
7 |
--------------------------------------------------------------------------------
/layout/_partial/tag.jade:
--------------------------------------------------------------------------------
1 | if page.tags
2 | .tags
3 | for tag in page.tags.toArray()
4 | a(href=url_for(tag.path))= tag.name
5 |
--------------------------------------------------------------------------------
/layout/_partial/totop.jade:
--------------------------------------------------------------------------------
1 | a#back_to_top.back_to_top(href='javascript:void(0)')
2 | span='△'
3 |
4 | script(type='text/javascript', src=url_for(theme.js) + '/totop.js?v=' + theme.version)
--------------------------------------------------------------------------------
/layout/_widget/category.jade:
--------------------------------------------------------------------------------
1 | .widget
2 | .widget-title
3 | = ' ' + __('categories')
4 | != list_categories({show_count: theme.show_category_count})
5 |
--------------------------------------------------------------------------------
/layout/_widget/links.jade:
--------------------------------------------------------------------------------
1 | .widget
2 | .widget-title
3 | = ' ' + __('blogroll')
4 | - for (var i in theme.links)
5 | ul.links-list
6 | li.links-list-item
7 | a(href='#{theme.links[i].url}' title='#{theme.links[i].title}' target='_blank') #{theme.links[i].title}
8 |
--------------------------------------------------------------------------------
/layout/_widget/recent_posts.jade:
--------------------------------------------------------------------------------
1 | .widget
2 | .widget-title
3 | = ' ' + __('recent')
4 | != list_posts({amount: 10})
5 |
--------------------------------------------------------------------------------
/layout/_widget/search.jade:
--------------------------------------------------------------------------------
1 | if theme.google_search == true
2 | .widget
3 | form(action='//www.google.com/search' method='get' accept-charset='utf-8' id='search' class='search-form' target='_blank')
4 | input(type='text' name='q' maxlength='20' placeholder='Search')
5 | input(type='hidden' name='sitesearch' value='#{config.url}')
6 | if theme.baidu_search == true
7 | .widget
8 | form(action='//www.baidu.com/baidu' method='get' accept-charset='utf-8' id='search' class='search-form' target='_blank')
9 | input(type='search' name='word' maxlength='20' placeholder='Search')
10 | input(type='hidden' name='si' value='#{config.url}')
11 | input(name='tn' type='hidden' value='bds')
12 | input(name='cl' type='hidden' value='3')
13 | input(name='ct' type='hidden' value='2097152')
14 | input(name='s' type='hidden' value='on')
15 | if theme.swiftype
16 | .widget
17 | input.st-default-search-input(placeholder='Search' type='text')
18 | if theme.tinysou
19 | .widget
20 | form
21 | input#ts-search-input(class='ts-search-input' placeholder='Search' type='text')
22 |
--------------------------------------------------------------------------------
/layout/_widget/tag.jade:
--------------------------------------------------------------------------------
1 | .widget
2 | .widget-title
3 | = ' ' + __('tags')
4 | div.tagcloud
5 | != tagcloud({min_font: 12, max_font: 18, amount: 100, orderby: 'count'})
6 |
--------------------------------------------------------------------------------
/layout/archive.jade:
--------------------------------------------------------------------------------
1 | extends base
2 |
3 | block title
4 | if page.category
5 | title= page.category + ' - ' + config.title
6 | if page.tag
7 | title= page.tag + ' - ' + config.title
8 | if page.archive
9 | title= __('archive') + ' - ' + config.title
10 | block content
11 | if page.category || page.tag
12 | h1.label-title= __('reading_label', page.category || page.tag)
13 | .post
14 | .post-archive
15 | //-Use lodash to classify posts. See https://lodash.com/docs#groupBy
16 | if page.category || page.tag
17 | each posts, year in _.groupBy(page.posts.toArray(), function(p){return -p.date.format('YYYY')})
18 | h2= -year
19 | ul.listing
20 | for post in posts
21 | li
22 | span.date= post.date.format('YYYY/MM/DD')
23 | a(href=url_for(post.path), title=post.title)
24 | +title(post)
25 | else
26 | each posts, year in _.groupBy(site.posts.toArray(), function(p){return -p.date.format('YYYY')})
27 | h2= -year
28 | ul.listing
29 | for post in posts
30 | li
31 | span.date= post.date.format('YYYY/MM/DD')
32 | a(href=url_for(post.path), title=post.title)
33 | +title(post)
34 | // 归档默认在全站目录下展示全站所有文章,在分类及标签目录下展示分类和标签的所有文章
35 | // 如需要归档分页,需要删除上面if判断(保留if代码块代码),和else判断(删除else代码块代码),以及取消下面include引入分页组件的代码即可
36 | // include _partial/paginator.jade
--------------------------------------------------------------------------------
/layout/base-without-sidebar.jade:
--------------------------------------------------------------------------------
1 | include _partial/helpers
2 |
3 | if page.title
4 | - var current_title = page.title
5 | else
6 | - var current_title = config.title
7 |
8 | if config.feed
9 | case config.feed.type
10 | when 'rss2'
11 | - var feed_type='application/rss+xml'
12 | when 'atom'
13 | default
14 | - var feed_type='application/atom+xml'
15 |
16 | if page.layout=='post'
17 | if page.description
18 | - var page_description = page.description;
19 | else
20 | - var page_description = page.content.replace(/<[^>]+>/g,"").replace(/[\r\n]/g, "").substring(0, 200)
21 | else if page.layout=='page' || page.layout=='single-column'
22 | - var page_description = page.description
23 | else
24 | - var page_description = config.description
25 |
26 | doctype html
27 | html(lang='#{config.language}')
28 | head
29 | meta(http-equiv='content-type', content='text/html; charset=utf-8')
30 | meta(content='width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0', name='viewport')
31 | meta(content='yes', name='apple-mobile-web-app-capable')
32 | meta(content='black-translucent', name='apple-mobile-web-app-status-bar-style')
33 | meta(content='telephone=no', name='format-detection')
34 | meta(name='renderer', content='webkit')
35 | block title
36 | if page_description
37 | meta(name='description', content=page_description)
38 | link(type='text/css', rel='stylesheet', href=url_for(theme.css)+'/pure.css?v=' + theme.version)
39 | link(type='text/css', rel='stylesheet', href=url_for(theme.css)+'/style.css?v=' + theme.version)
40 | script(type='text/javascript',src='//cdn.bootcss.com/jquery/1.11.0/jquery.min.js')
41 | if config.feed
42 | link(rel='alternate', type=feed_type, href=url_for(config.feed.path))
43 |
44 | body: .body_container
45 | #header
46 | .site-name
47 | h1.hidden= current_title
48 | a#logo(href=url_for('.'))= config.title
49 | #nav-menu
50 | .bitcron_nav
51 | .site_nav_wrap
52 | .site_nav
53 | - for (var i in theme.menu)
54 | +a_with_current(theme.menu[i].directory, __(theme.menu[i].page), theme.menu[i].icon)
55 |
56 | #layout.pure-g
57 | .pure-u-1: .content_container
58 | block content
59 |
60 | include _partial/footer
61 | include _partial/totop
62 | include _partial/after_footer
63 |
--------------------------------------------------------------------------------
/layout/base.jade:
--------------------------------------------------------------------------------
1 | include _partial/helpers
2 |
3 | if page.title
4 | - var current_title = page.title
5 | else
6 | - var current_title = config.title
7 |
8 | if config.feed
9 | case config.feed.type
10 | when 'rss2'
11 | - var feed_type='application/rss+xml'
12 | when 'atom'
13 | default
14 | - var feed_type='application/atom+xml'
15 |
16 | if page.layout=='post'
17 | if page.description
18 | - var page_description = page.description;
19 | else
20 | - var page_description = page.content.replace(/<[^>]+>/g,"").replace(/[\r\n]/g, "").substring(0, 150)
21 | else if page.layout=='page' || page.layout=='single-column'
22 | - var page_description = page.description
23 | else
24 | - var page_description = config.description
25 |
26 | doctype html
27 | html(lang='#{config.language}')
28 | head
29 | meta(http-equiv='content-type', content='text/html; charset=utf-8')
30 | meta(content='width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0', name='viewport')
31 | meta(content='yes', name='apple-mobile-web-app-capable')
32 | meta(content='black-translucent', name='apple-mobile-web-app-status-bar-style')
33 | meta(content='telephone=no', name='format-detection')
34 | meta(name='renderer', content='webkit')
35 | block title
36 | if page_description
37 | meta(name='description', content=page_description)
38 | link(type='text/css', rel='stylesheet', href=url_for(theme.css)+'/pure.css?v=' + theme.version)
39 | link(type='text/css', rel='stylesheet', href=url_for(theme.css)+'/style.css?v=' + theme.version)
40 | script(type='text/javascript',src='//cdn.bootcss.com/jquery/1.11.0/jquery.min.js')
41 | if config.feed
42 | link(rel='alternate', type=feed_type, href=url_for(config.feed.path))
43 |
44 | body: .body_container
45 | #header
46 | .site-name
47 | h1.hidden= current_title
48 | a#logo(href=url_for('.'))= config.title
49 | #nav-menu
50 | .bitcron_nav
51 | .site_nav_wrap
52 | .site_nav
53 | - for (var i in theme.menu)
54 | +a_with_current(theme.menu[i].directory, __(theme.menu[i].page), theme.menu[i].icon)
55 |
56 | #layout.pure-g
57 | .pure-u-1.pure-u-md-3-4: .content_container
58 | block content
59 | .pure-u-1-4: #sidebar
60 | each item in theme.widgets
61 | != partial('_widget/' + item + '.jade')
62 |
63 | include _partial/footer
64 | include _partial/totop
65 | include _partial/after_footer
66 |
--------------------------------------------------------------------------------
/layout/index.jade:
--------------------------------------------------------------------------------
1 | extends base
2 | - var current_title = page.title || tag.name || category.name || site.title
3 |
4 | block title
5 | if config.subtitle
6 | title= config.title + ' - ' + config.subtitle
7 | else
8 | title= config.title
9 | block content
10 | for post in page.posts.toArray()
11 | .post
12 | h2.post-title
13 | include _partial/helpers
14 | a(href=url_for(post.path))
15 | +title(post)
16 | .post-meta= post.date.format(config.date_format)
17 | if post.description
18 | .post-content
19 | != post.description
20 | else if post.excerpt
21 | .post-content
22 | != post.excerpt
23 | else if post.content
24 | - var br = post.content.indexOf('\n')
25 | if br < 0
26 | .post-content
27 | != post.content
28 | else
29 | .post-content
30 | != post.content.substring(0, br)
31 |
32 | include _partial/paginator
33 |
34 |
--------------------------------------------------------------------------------
/layout/page.jade:
--------------------------------------------------------------------------------
1 | extends base
2 | block title
3 | title= page.title + ' - ' + config.title
4 | block content
5 | .post
6 | h1.post-title= page.title
7 | .post-content
8 | != page.content
9 | if page.comments
10 | include _partial/comments
--------------------------------------------------------------------------------
/layout/post.jade:
--------------------------------------------------------------------------------
1 | extends base
2 |
3 | block title
4 | title= page.title + ' - ' + config.title
5 |
6 | block content
7 | .post
8 | h1.post-title= page.title
9 | .post-meta= page.date.format('YYYY-MM-DD')
10 | if theme.busuanzi == true
11 | script(src='https://busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js',type='text/javascript')
12 | span(class='meta-space')=' | '
13 | span#busuanzi_container_page_pv
14 | span#busuanzi_value_page_pv
15 | span= ' ' + __('浏览')
16 | //文章内容
17 | .post-content
18 | != page.content
19 | //文章标签
20 | include _partial/tag
21 | //评论
22 | if page.comments
23 | include _partial/comments
24 |
--------------------------------------------------------------------------------
/layout/single-column.jade:
--------------------------------------------------------------------------------
1 | extends base-without-sidebar
2 | block title
3 | title= page.title + ' - ' + config.title
4 | block content
5 | .post
6 | h1.post-title= page.title
7 | .post-content
8 | != page.content
9 | if page.comments
10 | include _partial/comments
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "hexo-site",
3 | "version": "0.0.0",
4 | "private": true,
5 | "hexo": {
6 | "version": "3.7.1"
7 | },
8 | "dependencies": {
9 | "hexo": "^3.2.0",
10 | "hexo-generator-archive": "^0.1.4",
11 | "hexo-generator-category": "^0.1.3",
12 | "hexo-generator-feed": "^1.2.2",
13 | "hexo-generator-index": "^0.2.0",
14 | "hexo-generator-tag": "^0.2.0",
15 | "hexo-renderer-ejs": "^0.3.0",
16 | "hexo-renderer-jade": "^0.4.1",
17 | "hexo-renderer-marked": "^0.3.0",
18 | "hexo-renderer-stylus": "^0.3.1",
19 | "hexo-server": "^0.2.0"
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/source/css/fonts/kaushan.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/7ye/maupassant-hexo/dda92dd18de2a8ddd3832ab93e838823968d31c4/source/css/fonts/kaushan.woff
--------------------------------------------------------------------------------
/source/css/jquery.fancybox.css:
--------------------------------------------------------------------------------
1 | /*! fancyBox v2.1.5 fancyapps.com | fancyapps.com/fancybox/#license */
2 | .fancybox-wrap,
3 | .fancybox-skin,
4 | .fancybox-outer,
5 | .fancybox-inner,
6 | .fancybox-image,
7 | .fancybox-wrap iframe,
8 | .fancybox-wrap object,
9 | .fancybox-nav,
10 | .fancybox-nav span,
11 | .fancybox-tmp
12 | {
13 | padding: 0;
14 | margin: 0;
15 | border: 0;
16 | outline: none;
17 | vertical-align: top;
18 | }
19 |
20 | a.fancybox{
21 | border-bottom:0px !important;
22 | }
23 |
24 | .fancybox-wrap {
25 | position: absolute;
26 | top: 0;
27 | left: 0;
28 | z-index: 8020;
29 | }
30 |
31 | .fancybox-skin {
32 | position: relative;
33 | background: #f9f9f9;
34 | color: #444;
35 | text-shadow: none;
36 | -webkit-border-radius: 4px;
37 | -moz-border-radius: 4px;
38 | border-radius: 4px;
39 | }
40 |
41 | .fancybox-opened {
42 | z-index: 8030;
43 | }
44 |
45 | .fancybox-opened .fancybox-skin {
46 | -webkit-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
47 | -moz-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
48 | box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
49 | }
50 |
51 | .fancybox-outer, .fancybox-inner {
52 | position: relative;
53 | }
54 |
55 | .fancybox-inner {
56 | overflow: hidden;
57 | }
58 |
59 | .fancybox-type-iframe .fancybox-inner {
60 | -webkit-overflow-scrolling: touch;
61 | }
62 |
63 | .fancybox-error {
64 | color: #444;
65 | font: 14px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;
66 | margin: 0;
67 | padding: 15px;
68 | white-space: nowrap;
69 | }
70 |
71 | .fancybox-image, .fancybox-iframe {
72 | display: block;
73 | width: 100%;
74 | height: 100%;
75 | }
76 |
77 | .fancybox-image {
78 | max-width: 100%;
79 | max-height: 100%;
80 | }
81 |
82 | #fancybox-loading, .fancybox-close, .fancybox-prev span, .fancybox-next span {
83 | background-image: url('/fancybox/fancybox_sprite.png');
84 | }
85 |
86 | #fancybox-loading {
87 | position: fixed;
88 | top: 50%;
89 | left: 50%;
90 | margin-top: -22px;
91 | margin-left: -22px;
92 | background-position: 0 -108px;
93 | opacity: 0.8;
94 | cursor: pointer;
95 | z-index: 8060;
96 | }
97 |
98 | #fancybox-loading div {
99 | width: 44px;
100 | height: 44px;
101 | background: url('/fancybox/fancybox_loading.gif') center center no-repeat;
102 | }
103 |
104 | .fancybox-close {
105 | position: absolute;
106 | top: -18px;
107 | right: -18px;
108 | width: 36px;
109 | height: 36px;
110 | cursor: pointer;
111 | z-index: 9999;
112 | }
113 |
114 | .fancybox-nav {
115 | position: absolute;
116 | top: 0;
117 | width: 40%;
118 | height: 100%;
119 | cursor: pointer;
120 | text-decoration: none;
121 | background: transparent url('/fancybox/blank.gif'); /* helps IE */
122 | -webkit-tap-highlight-color: rgba(0,0,0,0);
123 | z-index: 8040;
124 | }
125 |
126 | .fancybox-prev {
127 | left: 0;
128 | }
129 |
130 | .fancybox-next {
131 | right: 0;
132 | }
133 |
134 | .fancybox-nav span {
135 | position: absolute;
136 | top: 50%;
137 | width: 36px;
138 | height: 34px;
139 | margin-top: -18px;
140 | cursor: pointer;
141 | z-index: 8040;
142 | visibility: hidden;
143 | }
144 |
145 | .fancybox-prev span {
146 | left: 10px;
147 | background-position: 0 -36px;
148 | }
149 |
150 | .fancybox-next span {
151 | right: 10px;
152 | background-position: 0 -72px;
153 | }
154 |
155 | .fancybox-nav:hover span {
156 | visibility: visible;
157 | }
158 |
159 | .fancybox-tmp {
160 | position: absolute;
161 | top: -99999px;
162 | left: -99999px;
163 | visibility: hidden;
164 | max-width: 99999px;
165 | max-height: 99999px;
166 | overflow: visible !important;
167 | }
168 |
169 | /* Overlay helper */
170 |
171 | .fancybox-lock {
172 | overflow: hidden !important;
173 | width: auto;
174 | }
175 |
176 | .fancybox-lock body {
177 | overflow: hidden !important;
178 | }
179 |
180 | .fancybox-lock-test {
181 | overflow-y: hidden !important;
182 | }
183 |
184 | .fancybox-overlay {
185 | position: absolute;
186 | top: 0;
187 | left: 0;
188 | overflow: hidden;
189 | display: none;
190 | z-index: 8010;
191 | background: url('/fancybox/fancybox_overlay.png');
192 | }
193 |
194 | .fancybox-overlay-fixed {
195 | position: fixed;
196 | bottom: 0;
197 | right: 0;
198 | }
199 |
200 | .fancybox-lock .fancybox-overlay {
201 | overflow: auto;
202 | overflow-y: scroll;
203 | }
204 |
205 | /* Title helper */
206 |
207 | .fancybox-title {
208 | visibility: hidden;
209 | font: normal 13px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;
210 | position: relative;
211 | text-shadow: none;
212 | z-index: 8050;
213 | }
214 |
215 | .fancybox-opened .fancybox-title {
216 | visibility: visible;
217 | }
218 |
219 | .fancybox-title-float-wrap {
220 | position: absolute;
221 | bottom: 0;
222 | right: 50%;
223 | margin-bottom: -35px;
224 | z-index: 8050;
225 | text-align: center;
226 | }
227 |
228 | .fancybox-title-float-wrap .child {
229 | display: inline-block;
230 | margin-right: -100%;
231 | padding: 2px 20px;
232 | background: transparent; /* Fallback for web browsers that doesn't support RGBa */
233 | background: rgba(0, 0, 0, 0.8);
234 | -webkit-border-radius: 15px;
235 | -moz-border-radius: 15px;
236 | border-radius: 15px;
237 | text-shadow: 0 1px 2px #222;
238 | color: #FFF;
239 | font-weight: bold;
240 | line-height: 24px;
241 | white-space: nowrap;
242 | }
243 |
244 | .fancybox-title-outside-wrap {
245 | position: relative;
246 | margin-top: 10px;
247 | color: #fff;
248 | }
249 |
250 | .fancybox-title-inside-wrap {
251 | padding-top: 10px;
252 | text-align: center;
253 | }
254 |
255 | .fancybox-title-over-wrap {
256 | position: absolute;
257 | bottom: 0;
258 | left: 0;
259 | color: #fff;
260 | padding: 10px;
261 | background: #000;
262 | background: rgba(0, 0, 0, .8);
263 | }
264 |
265 | /*Retina graphics!*/
266 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5),
267 | only screen and (min--moz-device-pixel-ratio: 1.5),
268 | only screen and (min-device-pixel-ratio: 1.5){
269 |
270 | #fancybox-loading, .fancybox-close, .fancybox-prev span, .fancybox-next span {
271 | background-image: url('/fancybox/fancybox_sprite@2x.png');
272 | background-size: 44px 152px; /*The size of the normal image, half the size of the hi-res image*/
273 | }
274 |
275 | #fancybox-loading div {
276 | background-image: url('/fancybox/fancybox_loading@2x.gif');
277 | background-size: 24px 24px; /*The size of the normal image, half the size of the hi-res image*/
278 | }
279 | }
280 |
--------------------------------------------------------------------------------
/source/css/pure.css:
--------------------------------------------------------------------------------
1 | /*!
2 | Pure v0.6.0
3 | Copyright 2014 Yahoo! Inc. All rights reserved.
4 | Licensed under the BSD License.
5 | https://github.com/yahoo/pure/blob/master/LICENSE.md
6 | */
7 | /*!
8 | normalize.css v^3.0 | MIT License | git.io/normalize
9 | Copyright (c) Nicolas Gallagher and Jonathan Neal
10 | */
11 | /*! normalize.css v3.0.2 | MIT License | git.io/normalize */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}.hidden,[hidden]{display:none!important}.pure-img{max-width:100%;height:auto;display:block}.pure-g{letter-spacing:-.31em;*letter-spacing:normal;*word-spacing:-.43em;text-rendering:optimizespeed;font-family:FreeSans,Arimo,"Droid Sans",Helvetica,Arial,sans-serif;display:-webkit-flex;-webkit-flex-flow:row wrap;display:-ms-flexbox;-ms-flex-flow:row wrap;-ms-align-content:flex-start;-webkit-align-content:flex-start;align-content:flex-start}.opera-only :-o-prefocus,.pure-g{word-spacing:-.43em}.pure-u{display:inline-block;*display:inline;zoom:1;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-g [class *="pure-u"]{font-family:sans-serif}.pure-u-1,.pure-u-1-1,.pure-u-1-2,.pure-u-1-3,.pure-u-2-3,.pure-u-1-4,.pure-u-3-4,.pure-u-1-5,.pure-u-2-5,.pure-u-3-5,.pure-u-4-5,.pure-u-5-5,.pure-u-1-6,.pure-u-5-6,.pure-u-1-8,.pure-u-3-8,.pure-u-5-8,.pure-u-7-8,.pure-u-1-12,.pure-u-5-12,.pure-u-7-12,.pure-u-11-12,.pure-u-1-24,.pure-u-2-24,.pure-u-3-24,.pure-u-4-24,.pure-u-5-24,.pure-u-6-24,.pure-u-7-24,.pure-u-8-24,.pure-u-9-24,.pure-u-10-24,.pure-u-11-24,.pure-u-12-24,.pure-u-13-24,.pure-u-14-24,.pure-u-15-24,.pure-u-16-24,.pure-u-17-24,.pure-u-18-24,.pure-u-19-24,.pure-u-20-24,.pure-u-21-24,.pure-u-22-24,.pure-u-23-24,.pure-u-24-24{display:inline-block;*display:inline;zoom:1;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-u-1-24{width:4.1667%;*width:4.1357%}.pure-u-1-12,.pure-u-2-24{width:8.3333%;*width:8.3023%}.pure-u-1-8,.pure-u-3-24{width:12.5%;*width:12.469%}.pure-u-1-6,.pure-u-4-24{width:16.6667%;*width:16.6357%}.pure-u-1-5{width:20%;*width:19.969%}.pure-u-5-24{width:20.8333%;*width:20.8023%}.pure-u-1-4,.pure-u-6-24{width:25%;*width:24.969%}.pure-u-7-24{width:29.1667%;*width:29.1357%}.pure-u-1-3,.pure-u-8-24{width:33.3333%;*width:33.3023%}.pure-u-3-8,.pure-u-9-24{width:37.5%;*width:37.469%}.pure-u-2-5{width:40%;*width:39.969%}.pure-u-5-12,.pure-u-10-24{width:41.6667%;*width:41.6357%}.pure-u-11-24{width:45.8333%;*width:45.8023%}.pure-u-1-2,.pure-u-12-24{width:50%;*width:49.969%}.pure-u-13-24{width:54.1667%;*width:54.1357%}.pure-u-7-12,.pure-u-14-24{width:58.3333%;*width:58.3023%}.pure-u-3-5{width:60%;*width:59.969%}.pure-u-5-8,.pure-u-15-24{width:62.5%;*width:62.469%}.pure-u-2-3,.pure-u-16-24{width:66.6667%;*width:66.6357%}.pure-u-17-24{width:70.8333%;*width:70.8023%}.pure-u-3-4,.pure-u-18-24{width:75%;*width:74.969%}.pure-u-19-24{width:79.1667%;*width:79.1357%}.pure-u-4-5{width:80%;*width:79.969%}.pure-u-5-6,.pure-u-20-24{width:83.3333%;*width:83.3023%}.pure-u-7-8,.pure-u-21-24{width:87.5%;*width:87.469%}.pure-u-11-12,.pure-u-22-24{width:91.6667%;*width:91.6357%}.pure-u-23-24{width:95.8333%;*width:95.8023%}.pure-u-1,.pure-u-1-1,.pure-u-5-5,.pure-u-24-24{width:100%}.pure-button{display:inline-block;zoom:1;line-height:normal;white-space:nowrap;vertical-align:middle;text-align:center;cursor:pointer;-webkit-user-drag:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.pure-button::-moz-focus-inner{padding:0;border:0}.pure-button{font-family:inherit;font-size:100%;padding:.5em 1em;color:#444;color:rgba(0,0,0,.8);border:1px solid #999;border:0 rgba(0,0,0,0);background-color:#E6E6E6;text-decoration:none;border-radius:2px}.pure-button-hover,.pure-button:hover,.pure-button:focus{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#1a000000', GradientType=0);background-image:-webkit-gradient(linear,0 0,0 100%,from(transparent),color-stop(40%,rgba(0,0,0,.05)),to(rgba(0,0,0,.1)));background-image:-webkit-linear-gradient(transparent,rgba(0,0,0,.05) 40%,rgba(0,0,0,.1));background-image:-moz-linear-gradient(top,rgba(0,0,0,.05) 0,rgba(0,0,0,.1));background-image:-o-linear-gradient(transparent,rgba(0,0,0,.05) 40%,rgba(0,0,0,.1));background-image:linear-gradient(transparent,rgba(0,0,0,.05) 40%,rgba(0,0,0,.1))}.pure-button:focus{outline:0}.pure-button-active,.pure-button:active{box-shadow:0 0 0 1px rgba(0,0,0,.15) inset,0 0 6px rgba(0,0,0,.2) inset;border-color:#000\9}.pure-button[disabled],.pure-button-disabled,.pure-button-disabled:hover,.pure-button-disabled:focus,.pure-button-disabled:active{border:0;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);filter:alpha(opacity=40);-khtml-opacity:.4;-moz-opacity:.4;opacity:.4;cursor:not-allowed;box-shadow:none}.pure-button-hidden{display:none}.pure-button::-moz-focus-inner{padding:0;border:0}.pure-button-primary,.pure-button-selected,a.pure-button-primary,a.pure-button-selected{background-color:#0078e7;color:#fff}.pure-form input[type=text],.pure-form input[type=password],.pure-form input[type=email],.pure-form input[type=url],.pure-form input[type=date],.pure-form input[type=month],.pure-form input[type=time],.pure-form input[type=datetime],.pure-form input[type=datetime-local],.pure-form input[type=week],.pure-form input[type=number],.pure-form input[type=search],.pure-form input[type=tel],.pure-form input[type=color],.pure-form select,.pure-form textarea{padding:.5em .6em;display:inline-block;border:1px solid #ccc;box-shadow:inset 0 1px 3px #ddd;border-radius:4px;vertical-align:middle;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.pure-form input:not([type]){padding:.5em .6em;display:inline-block;border:1px solid #ccc;box-shadow:inset 0 1px 3px #ddd;border-radius:4px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.pure-form input[type=color]{padding:.2em .5em}.pure-form input[type=text]:focus,.pure-form input[type=password]:focus,.pure-form input[type=email]:focus,.pure-form input[type=url]:focus,.pure-form input[type=date]:focus,.pure-form input[type=month]:focus,.pure-form input[type=time]:focus,.pure-form input[type=datetime]:focus,.pure-form input[type=datetime-local]:focus,.pure-form input[type=week]:focus,.pure-form input[type=number]:focus,.pure-form input[type=search]:focus,.pure-form input[type=tel]:focus,.pure-form input[type=color]:focus,.pure-form select:focus,.pure-form textarea:focus{outline:0;border-color:#129FEA}.pure-form input:not([type]):focus{outline:0;border-color:#129FEA}.pure-form input[type=file]:focus,.pure-form input[type=radio]:focus,.pure-form input[type=checkbox]:focus{outline:thin solid #129FEA;outline:1px auto #129FEA}.pure-form .pure-checkbox,.pure-form .pure-radio{margin:.5em 0;display:block}.pure-form input[type=text][disabled],.pure-form input[type=password][disabled],.pure-form input[type=email][disabled],.pure-form input[type=url][disabled],.pure-form input[type=date][disabled],.pure-form input[type=month][disabled],.pure-form input[type=time][disabled],.pure-form input[type=datetime][disabled],.pure-form input[type=datetime-local][disabled],.pure-form input[type=week][disabled],.pure-form input[type=number][disabled],.pure-form input[type=search][disabled],.pure-form input[type=tel][disabled],.pure-form input[type=color][disabled],.pure-form select[disabled],.pure-form textarea[disabled]{cursor:not-allowed;background-color:#eaeded;color:#cad2d3}.pure-form input:not([type])[disabled]{cursor:not-allowed;background-color:#eaeded;color:#cad2d3}.pure-form input[readonly],.pure-form select[readonly],.pure-form textarea[readonly]{background-color:#eee;color:#777;border-color:#ccc}.pure-form input:focus:invalid,.pure-form textarea:focus:invalid,.pure-form select:focus:invalid{color:#b94a48;border-color:#e9322d}.pure-form input[type=file]:focus:invalid:focus,.pure-form input[type=radio]:focus:invalid:focus,.pure-form input[type=checkbox]:focus:invalid:focus{outline-color:#e9322d}.pure-form select{height:2.25em;border:1px solid #ccc;background-color:#fff}.pure-form select[multiple]{height:auto}.pure-form label{margin:.5em 0 .2em}.pure-form fieldset{margin:0;padding:.35em 0 .75em;border:0}.pure-form legend{display:block;width:100%;padding:.3em 0;margin-bottom:.3em;color:#333;border-bottom:1px solid #e5e5e5}.pure-form-stacked input[type=text],.pure-form-stacked input[type=password],.pure-form-stacked input[type=email],.pure-form-stacked input[type=url],.pure-form-stacked input[type=date],.pure-form-stacked input[type=month],.pure-form-stacked input[type=time],.pure-form-stacked input[type=datetime],.pure-form-stacked input[type=datetime-local],.pure-form-stacked input[type=week],.pure-form-stacked input[type=number],.pure-form-stacked input[type=search],.pure-form-stacked input[type=tel],.pure-form-stacked input[type=color],.pure-form-stacked input[type=file],.pure-form-stacked select,.pure-form-stacked label,.pure-form-stacked textarea{display:block;margin:.25em 0}.pure-form-stacked input:not([type]){display:block;margin:.25em 0}.pure-form-aligned input,.pure-form-aligned textarea,.pure-form-aligned select,.pure-form-aligned .pure-help-inline,.pure-form-message-inline{display:inline-block;*display:inline;*zoom:1;vertical-align:middle}.pure-form-aligned textarea{vertical-align:top}.pure-form-aligned .pure-control-group{margin-bottom:.5em}.pure-form-aligned .pure-control-group label{text-align:right;display:inline-block;vertical-align:middle;width:10em;margin:0 1em 0 0}.pure-form-aligned .pure-controls{margin:1.5em 0 0 11em}.pure-form input.pure-input-rounded,.pure-form .pure-input-rounded{border-radius:2em;padding:.5em 1em}.pure-form .pure-group fieldset{margin-bottom:10px}.pure-form .pure-group input,.pure-form .pure-group textarea{display:block;padding:10px;margin:0 0 -1px;border-radius:0;position:relative;top:-1px}.pure-form .pure-group input:focus,.pure-form .pure-group textarea:focus{z-index:3}.pure-form .pure-group input:first-child,.pure-form .pure-group textarea:first-child{top:1px;border-radius:4px 4px 0 0;margin:0}.pure-form .pure-group input:first-child:last-child,.pure-form .pure-group textarea:first-child:last-child{top:1px;border-radius:4px;margin:0}.pure-form .pure-group input:last-child,.pure-form .pure-group textarea:last-child{top:-2px;border-radius:0 0 4px 4px;margin:0}.pure-form .pure-group button{margin:.35em 0}.pure-form .pure-input-1{width:100%}.pure-form .pure-input-2-3{width:66%}.pure-form .pure-input-1-2{width:50%}.pure-form .pure-input-1-3{width:33%}.pure-form .pure-input-1-4{width:25%}.pure-form .pure-help-inline,.pure-form-message-inline{display:inline-block;padding-left:.3em;color:#666;vertical-align:middle;font-size:.875em}.pure-form-message{display:block;color:#666;font-size:.875em}@media only screen and (max-width :480px){.pure-form button[type=submit]{margin:.7em 0 0}.pure-form input:not([type]),.pure-form input[type=text],.pure-form input[type=password],.pure-form input[type=email],.pure-form input[type=url],.pure-form input[type=date],.pure-form input[type=month],.pure-form input[type=time],.pure-form input[type=datetime],.pure-form input[type=datetime-local],.pure-form input[type=week],.pure-form input[type=number],.pure-form input[type=search],.pure-form input[type=tel],.pure-form input[type=color],.pure-form label{margin-bottom:.3em;display:block}.pure-group input:not([type]),.pure-group input[type=text],.pure-group input[type=password],.pure-group input[type=email],.pure-group input[type=url],.pure-group input[type=date],.pure-group input[type=month],.pure-group input[type=time],.pure-group input[type=datetime],.pure-group input[type=datetime-local],.pure-group input[type=week],.pure-group input[type=number],.pure-group input[type=search],.pure-group input[type=tel],.pure-group input[type=color]{margin-bottom:0}.pure-form-aligned .pure-control-group label{margin-bottom:.3em;text-align:left;display:block;width:100%}.pure-form-aligned .pure-controls{margin:1.5em 0 0}.pure-form .pure-help-inline,.pure-form-message-inline,.pure-form-message{display:block;font-size:.75em;padding:.2em 0 .8em}}.pure-menu{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.pure-menu-fixed{position:fixed;left:0;top:0;z-index:3}.pure-menu-list,.pure-menu-item{position:relative}.pure-menu-list{list-style:none;margin:0;padding:0}.pure-menu-item{padding:0;margin:0;height:100%}.pure-menu-link,.pure-menu-heading{display:block;text-decoration:none;white-space:nowrap}.pure-menu-horizontal{width:100%;white-space:nowrap}.pure-menu-horizontal .pure-menu-list{display:inline-block}.pure-menu-horizontal .pure-menu-item,.pure-menu-horizontal .pure-menu-heading,.pure-menu-horizontal .pure-menu-separator{display:inline-block;*display:inline;zoom:1;vertical-align:middle}.pure-menu-item .pure-menu-item{display:block}.pure-menu-children{display:none;position:absolute;left:100%;top:0;margin:0;padding:0;z-index:3}.pure-menu-horizontal .pure-menu-children{left:0;top:auto;width:inherit}.pure-menu-allow-hover:hover>.pure-menu-children,.pure-menu-active>.pure-menu-children{display:block;position:absolute}.pure-menu-has-children>.pure-menu-link:after{padding-left:.5em;content:"\25B8";font-size:small}.pure-menu-horizontal .pure-menu-has-children>.pure-menu-link:after{content:"\25BE"}.pure-menu-scrollable{overflow-y:scroll;overflow-x:hidden}.pure-menu-scrollable .pure-menu-list{display:block}.pure-menu-horizontal.pure-menu-scrollable .pure-menu-list{display:inline-block}.pure-menu-horizontal.pure-menu-scrollable{white-space:nowrap;overflow-y:hidden;overflow-x:auto;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;padding:.5em 0}.pure-menu-horizontal.pure-menu-scrollable::-webkit-scrollbar{display:none}.pure-menu-separator{background-color:#ccc;height:1px;margin:.3em 0}.pure-menu-horizontal .pure-menu-separator{width:1px;height:1.3em;margin:0 .3em}.pure-menu-heading{text-transform:uppercase;color:#565d64}.pure-menu-link{color:#777}.pure-menu-children{background-color:#fff}.pure-menu-link,.pure-menu-disabled,.pure-menu-heading{padding:.5em 1em}.pure-menu-disabled{opacity:.5}.pure-menu-disabled .pure-menu-link:hover{background-color:transparent}.pure-menu-active>.pure-menu-link,.pure-menu-link:hover,.pure-menu-link:focus{background-color:#eee}.pure-menu-selected .pure-menu-link,.pure-menu-selected .pure-menu-link:visited{color:#000}.pure-table{border-collapse:collapse;border-spacing:0;empty-cells:show;border:1px solid #cbcbcb}.pure-table caption{color:#000;font:italic 85%/1 arial,sans-serif;padding:1em 0;text-align:center}.pure-table td,.pure-table th{border-left:1px solid #cbcbcb;border-width:0 0 0 1px;font-size:inherit;margin:0;overflow:visible;padding:.5em 1em}.pure-table td:first-child,.pure-table th:first-child{border-left-width:0}.pure-table thead{background-color:#e0e0e0;color:#000;text-align:left;vertical-align:bottom}.pure-table td{background-color:transparent}.pure-table-odd td{background-color:#f2f2f2}.pure-table-striped tr:nth-child(2n-1) td{background-color:#f2f2f2}.pure-table-bordered td{border-bottom:1px solid #cbcbcb}.pure-table-bordered tbody>tr:last-child>td{border-bottom-width:0}.pure-table-horizontal td,.pure-table-horizontal th{border-width:0 0 1px;border-bottom:1px solid #cbcbcb}.pure-table-horizontal tbody>tr:last-child>td{border-bottom-width:0}
12 | /*!
13 | Pure v0.6.0
14 | Copyright 2014 Yahoo! Inc. All rights reserved.
15 | Licensed under the BSD License.
16 | https://github.com/yahoo/pure/blob/master/LICENSE.md
17 | */
18 | @media screen and (min-width:35.5em){.pure-u-sm-1,.pure-u-sm-1-1,.pure-u-sm-1-2,.pure-u-sm-1-3,.pure-u-sm-2-3,.pure-u-sm-1-4,.pure-u-sm-3-4,.pure-u-sm-1-5,.pure-u-sm-2-5,.pure-u-sm-3-5,.pure-u-sm-4-5,.pure-u-sm-5-5,.pure-u-sm-1-6,.pure-u-sm-5-6,.pure-u-sm-1-8,.pure-u-sm-3-8,.pure-u-sm-5-8,.pure-u-sm-7-8,.pure-u-sm-1-12,.pure-u-sm-5-12,.pure-u-sm-7-12,.pure-u-sm-11-12,.pure-u-sm-1-24,.pure-u-sm-2-24,.pure-u-sm-3-24,.pure-u-sm-4-24,.pure-u-sm-5-24,.pure-u-sm-6-24,.pure-u-sm-7-24,.pure-u-sm-8-24,.pure-u-sm-9-24,.pure-u-sm-10-24,.pure-u-sm-11-24,.pure-u-sm-12-24,.pure-u-sm-13-24,.pure-u-sm-14-24,.pure-u-sm-15-24,.pure-u-sm-16-24,.pure-u-sm-17-24,.pure-u-sm-18-24,.pure-u-sm-19-24,.pure-u-sm-20-24,.pure-u-sm-21-24,.pure-u-sm-22-24,.pure-u-sm-23-24,.pure-u-sm-24-24{display:inline-block;*display:inline;zoom:1;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-u-sm-1-24{width:4.1667%;*width:4.1357%}.pure-u-sm-1-12,.pure-u-sm-2-24{width:8.3333%;*width:8.3023%}.pure-u-sm-1-8,.pure-u-sm-3-24{width:12.5%;*width:12.469%}.pure-u-sm-1-6,.pure-u-sm-4-24{width:16.6667%;*width:16.6357%}.pure-u-sm-1-5{width:20%;*width:19.969%}.pure-u-sm-5-24{width:20.8333%;*width:20.8023%}.pure-u-sm-1-4,.pure-u-sm-6-24{width:25%;*width:24.969%}.pure-u-sm-7-24{width:29.1667%;*width:29.1357%}.pure-u-sm-1-3,.pure-u-sm-8-24{width:33.3333%;*width:33.3023%}.pure-u-sm-3-8,.pure-u-sm-9-24{width:37.5%;*width:37.469%}.pure-u-sm-2-5{width:40%;*width:39.969%}.pure-u-sm-5-12,.pure-u-sm-10-24{width:41.6667%;*width:41.6357%}.pure-u-sm-11-24{width:45.8333%;*width:45.8023%}.pure-u-sm-1-2,.pure-u-sm-12-24{width:50%;*width:49.969%}.pure-u-sm-13-24{width:54.1667%;*width:54.1357%}.pure-u-sm-7-12,.pure-u-sm-14-24{width:58.3333%;*width:58.3023%}.pure-u-sm-3-5{width:60%;*width:59.969%}.pure-u-sm-5-8,.pure-u-sm-15-24{width:62.5%;*width:62.469%}.pure-u-sm-2-3,.pure-u-sm-16-24{width:66.6667%;*width:66.6357%}.pure-u-sm-17-24{width:70.8333%;*width:70.8023%}.pure-u-sm-3-4,.pure-u-sm-18-24{width:75%;*width:74.969%}.pure-u-sm-19-24{width:79.1667%;*width:79.1357%}.pure-u-sm-4-5{width:80%;*width:79.969%}.pure-u-sm-5-6,.pure-u-sm-20-24{width:83.3333%;*width:83.3023%}.pure-u-sm-7-8,.pure-u-sm-21-24{width:87.5%;*width:87.469%}.pure-u-sm-11-12,.pure-u-sm-22-24{width:91.6667%;*width:91.6357%}.pure-u-sm-23-24{width:95.8333%;*width:95.8023%}.pure-u-sm-1,.pure-u-sm-1-1,.pure-u-sm-5-5,.pure-u-sm-24-24{width:100%}}@media screen and (min-width:48em){.pure-u-md-1,.pure-u-md-1-1,.pure-u-md-1-2,.pure-u-md-1-3,.pure-u-md-2-3,.pure-u-md-1-4,.pure-u-md-3-4,.pure-u-md-1-5,.pure-u-md-2-5,.pure-u-md-3-5,.pure-u-md-4-5,.pure-u-md-5-5,.pure-u-md-1-6,.pure-u-md-5-6,.pure-u-md-1-8,.pure-u-md-3-8,.pure-u-md-5-8,.pure-u-md-7-8,.pure-u-md-1-12,.pure-u-md-5-12,.pure-u-md-7-12,.pure-u-md-11-12,.pure-u-md-1-24,.pure-u-md-2-24,.pure-u-md-3-24,.pure-u-md-4-24,.pure-u-md-5-24,.pure-u-md-6-24,.pure-u-md-7-24,.pure-u-md-8-24,.pure-u-md-9-24,.pure-u-md-10-24,.pure-u-md-11-24,.pure-u-md-12-24,.pure-u-md-13-24,.pure-u-md-14-24,.pure-u-md-15-24,.pure-u-md-16-24,.pure-u-md-17-24,.pure-u-md-18-24,.pure-u-md-19-24,.pure-u-md-20-24,.pure-u-md-21-24,.pure-u-md-22-24,.pure-u-md-23-24,.pure-u-md-24-24{display:inline-block;*display:inline;zoom:1;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-u-md-1-24{width:4.1667%;*width:4.1357%}.pure-u-md-1-12,.pure-u-md-2-24{width:8.3333%;*width:8.3023%}.pure-u-md-1-8,.pure-u-md-3-24{width:12.5%;*width:12.469%}.pure-u-md-1-6,.pure-u-md-4-24{width:16.6667%;*width:16.6357%}.pure-u-md-1-5{width:20%;*width:19.969%}.pure-u-md-5-24{width:20.8333%;*width:20.8023%}.pure-u-md-1-4,.pure-u-md-6-24{width:25%;*width:24.969%}.pure-u-md-7-24{width:29.1667%;*width:29.1357%}.pure-u-md-1-3,.pure-u-md-8-24{width:33.3333%;*width:33.3023%}.pure-u-md-3-8,.pure-u-md-9-24{width:37.5%;*width:37.469%}.pure-u-md-2-5{width:40%;*width:39.969%}.pure-u-md-5-12,.pure-u-md-10-24{width:41.6667%;*width:41.6357%}.pure-u-md-11-24{width:45.8333%;*width:45.8023%}.pure-u-md-1-2,.pure-u-md-12-24{width:50%;*width:49.969%}.pure-u-md-13-24{width:54.1667%;*width:54.1357%}.pure-u-md-7-12,.pure-u-md-14-24{width:58.3333%;*width:58.3023%}.pure-u-md-3-5{width:60%;*width:59.969%}.pure-u-md-5-8,.pure-u-md-15-24{width:62.5%;*width:62.469%}.pure-u-md-2-3,.pure-u-md-16-24{width:66.6667%;*width:66.6357%}.pure-u-md-17-24{width:70.8333%;*width:70.8023%}.pure-u-md-3-4,.pure-u-md-18-24{width:75%;*width:74.969%}.pure-u-md-19-24{width:79.1667%;*width:79.1357%}.pure-u-md-4-5{width:80%;*width:79.969%}.pure-u-md-5-6,.pure-u-md-20-24{width:83.3333%;*width:83.3023%}.pure-u-md-7-8,.pure-u-md-21-24{width:87.5%;*width:87.469%}.pure-u-md-11-12,.pure-u-md-22-24{width:91.6667%;*width:91.6357%}.pure-u-md-23-24{width:95.8333%;*width:95.8023%}.pure-u-md-1,.pure-u-md-1-1,.pure-u-md-5-5,.pure-u-md-24-24{width:100%}}@media screen and (min-width:64em){.pure-u-lg-1,.pure-u-lg-1-1,.pure-u-lg-1-2,.pure-u-lg-1-3,.pure-u-lg-2-3,.pure-u-lg-1-4,.pure-u-lg-3-4,.pure-u-lg-1-5,.pure-u-lg-2-5,.pure-u-lg-3-5,.pure-u-lg-4-5,.pure-u-lg-5-5,.pure-u-lg-1-6,.pure-u-lg-5-6,.pure-u-lg-1-8,.pure-u-lg-3-8,.pure-u-lg-5-8,.pure-u-lg-7-8,.pure-u-lg-1-12,.pure-u-lg-5-12,.pure-u-lg-7-12,.pure-u-lg-11-12,.pure-u-lg-1-24,.pure-u-lg-2-24,.pure-u-lg-3-24,.pure-u-lg-4-24,.pure-u-lg-5-24,.pure-u-lg-6-24,.pure-u-lg-7-24,.pure-u-lg-8-24,.pure-u-lg-9-24,.pure-u-lg-10-24,.pure-u-lg-11-24,.pure-u-lg-12-24,.pure-u-lg-13-24,.pure-u-lg-14-24,.pure-u-lg-15-24,.pure-u-lg-16-24,.pure-u-lg-17-24,.pure-u-lg-18-24,.pure-u-lg-19-24,.pure-u-lg-20-24,.pure-u-lg-21-24,.pure-u-lg-22-24,.pure-u-lg-23-24,.pure-u-lg-24-24{display:inline-block;*display:inline;zoom:1;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-u-lg-1-24{width:4.1667%;*width:4.1357%}.pure-u-lg-1-12,.pure-u-lg-2-24{width:8.3333%;*width:8.3023%}.pure-u-lg-1-8,.pure-u-lg-3-24{width:12.5%;*width:12.469%}.pure-u-lg-1-6,.pure-u-lg-4-24{width:16.6667%;*width:16.6357%}.pure-u-lg-1-5{width:20%;*width:19.969%}.pure-u-lg-5-24{width:20.8333%;*width:20.8023%}.pure-u-lg-1-4,.pure-u-lg-6-24{width:25%;*width:24.969%}.pure-u-lg-7-24{width:29.1667%;*width:29.1357%}.pure-u-lg-1-3,.pure-u-lg-8-24{width:33.3333%;*width:33.3023%}.pure-u-lg-3-8,.pure-u-lg-9-24{width:37.5%;*width:37.469%}.pure-u-lg-2-5{width:40%;*width:39.969%}.pure-u-lg-5-12,.pure-u-lg-10-24{width:41.6667%;*width:41.6357%}.pure-u-lg-11-24{width:45.8333%;*width:45.8023%}.pure-u-lg-1-2,.pure-u-lg-12-24{width:50%;*width:49.969%}.pure-u-lg-13-24{width:54.1667%;*width:54.1357%}.pure-u-lg-7-12,.pure-u-lg-14-24{width:58.3333%;*width:58.3023%}.pure-u-lg-3-5{width:60%;*width:59.969%}.pure-u-lg-5-8,.pure-u-lg-15-24{width:62.5%;*width:62.469%}.pure-u-lg-2-3,.pure-u-lg-16-24{width:66.6667%;*width:66.6357%}.pure-u-lg-17-24{width:70.8333%;*width:70.8023%}.pure-u-lg-3-4,.pure-u-lg-18-24{width:75%;*width:74.969%}.pure-u-lg-19-24{width:79.1667%;*width:79.1357%}.pure-u-lg-4-5{width:80%;*width:79.969%}.pure-u-lg-5-6,.pure-u-lg-20-24{width:83.3333%;*width:83.3023%}.pure-u-lg-7-8,.pure-u-lg-21-24{width:87.5%;*width:87.469%}.pure-u-lg-11-12,.pure-u-lg-22-24{width:91.6667%;*width:91.6357%}.pure-u-lg-23-24{width:95.8333%;*width:95.8023%}.pure-u-lg-1,.pure-u-lg-1-1,.pure-u-lg-5-5,.pure-u-lg-24-24{width:100%}}@media screen and (min-width:80em){.pure-u-xl-1,.pure-u-xl-1-1,.pure-u-xl-1-2,.pure-u-xl-1-3,.pure-u-xl-2-3,.pure-u-xl-1-4,.pure-u-xl-3-4,.pure-u-xl-1-5,.pure-u-xl-2-5,.pure-u-xl-3-5,.pure-u-xl-4-5,.pure-u-xl-5-5,.pure-u-xl-1-6,.pure-u-xl-5-6,.pure-u-xl-1-8,.pure-u-xl-3-8,.pure-u-xl-5-8,.pure-u-xl-7-8,.pure-u-xl-1-12,.pure-u-xl-5-12,.pure-u-xl-7-12,.pure-u-xl-11-12,.pure-u-xl-1-24,.pure-u-xl-2-24,.pure-u-xl-3-24,.pure-u-xl-4-24,.pure-u-xl-5-24,.pure-u-xl-6-24,.pure-u-xl-7-24,.pure-u-xl-8-24,.pure-u-xl-9-24,.pure-u-xl-10-24,.pure-u-xl-11-24,.pure-u-xl-12-24,.pure-u-xl-13-24,.pure-u-xl-14-24,.pure-u-xl-15-24,.pure-u-xl-16-24,.pure-u-xl-17-24,.pure-u-xl-18-24,.pure-u-xl-19-24,.pure-u-xl-20-24,.pure-u-xl-21-24,.pure-u-xl-22-24,.pure-u-xl-23-24,.pure-u-xl-24-24{display:inline-block;*display:inline;zoom:1;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-u-xl-1-24{width:4.1667%;*width:4.1357%}.pure-u-xl-1-12,.pure-u-xl-2-24{width:8.3333%;*width:8.3023%}.pure-u-xl-1-8,.pure-u-xl-3-24{width:12.5%;*width:12.469%}.pure-u-xl-1-6,.pure-u-xl-4-24{width:16.6667%;*width:16.6357%}.pure-u-xl-1-5{width:20%;*width:19.969%}.pure-u-xl-5-24{width:20.8333%;*width:20.8023%}.pure-u-xl-1-4,.pure-u-xl-6-24{width:25%;*width:24.969%}.pure-u-xl-7-24{width:29.1667%;*width:29.1357%}.pure-u-xl-1-3,.pure-u-xl-8-24{width:33.3333%;*width:33.3023%}.pure-u-xl-3-8,.pure-u-xl-9-24{width:37.5%;*width:37.469%}.pure-u-xl-2-5{width:40%;*width:39.969%}.pure-u-xl-5-12,.pure-u-xl-10-24{width:41.6667%;*width:41.6357%}.pure-u-xl-11-24{width:45.8333%;*width:45.8023%}.pure-u-xl-1-2,.pure-u-xl-12-24{width:50%;*width:49.969%}.pure-u-xl-13-24{width:54.1667%;*width:54.1357%}.pure-u-xl-7-12,.pure-u-xl-14-24{width:58.3333%;*width:58.3023%}.pure-u-xl-3-5{width:60%;*width:59.969%}.pure-u-xl-5-8,.pure-u-xl-15-24{width:62.5%;*width:62.469%}.pure-u-xl-2-3,.pure-u-xl-16-24{width:66.6667%;*width:66.6357%}.pure-u-xl-17-24{width:70.8333%;*width:70.8023%}.pure-u-xl-3-4,.pure-u-xl-18-24{width:75%;*width:74.969%}.pure-u-xl-19-24{width:79.1667%;*width:79.1357%}.pure-u-xl-4-5{width:80%;*width:79.969%}.pure-u-xl-5-6,.pure-u-xl-20-24{width:83.3333%;*width:83.3023%}.pure-u-xl-7-8,.pure-u-xl-21-24{width:87.5%;*width:87.469%}.pure-u-xl-11-12,.pure-u-xl-22-24{width:91.6667%;*width:91.6357%}.pure-u-xl-23-24{width:95.8333%;*width:95.8023%}.pure-u-xl-1,.pure-u-xl-1-1,.pure-u-xl-5-5,.pure-u-xl-24-24{width:100%}}
19 |
--------------------------------------------------------------------------------
/source/css/style.css:
--------------------------------------------------------------------------------
1 | body {
2 | background-color: #FFF;
3 | color: #444;
4 | font-family: 'TIBch', 'Classic Grotesque W01', 'Helvetica Neue', Arial, 'Hiragino Sans GB',
5 | 'STHeiti', 'Microsoft YaHei', 'WenQuanYi Micro Hei', SimSun, sans-serif;
6 | -webkit-font-smoothing: antialiased;
7 | -moz-osx-font-smoothing: grayscale;
8 | font-size: 14px;
9 | line-height: 1.6em;
10 | }
11 |
12 | @font-face {
13 | font-family: 'Kaushan Script';
14 | font-style: normal;
15 | font-weight: 400;
16 | src: local('Kaushan Script'), local('KaushanScript-Regular'),
17 | url(fonts/kaushan.woff) format('woff');
18 | }
19 |
20 | /*滚动条*/
21 | ::-webkit-scrollbar {
22 | height: 10px;
23 | width: 10px;
24 | background: rgba(222,222,222,.5);
25 | transition: all .3s ease-in-out;
26 | border-radius: 5px
27 | }
28 | ::-webkit-scrollbar-button {
29 | display: none
30 | }
31 | ::-webkit-scrollbar-track {
32 | background-color: #fff
33 | }
34 | ::-webkit-scrollbar-track:hover{
35 | background-color: rgba(0,0,0,.15)
36 | }
37 | ::-webkit-scrollbar-thumb {
38 | width: 10px;
39 | min-height: 15px;
40 | background: rgba(0,0,0,.3);
41 | transition: all .3s ease-in-out;
42 | border-radius: 5px
43 | }
44 | ::-webkit-scrollbar-thumb:hover {
45 | background: rgba(0,0,0,.6)
46 | }
47 | ::-webkit-scrollbar-thumb:active {
48 | background: rgba(0,0,0,.8)
49 | }
50 |
51 | .clearfix:after, .paginator_container:after {
52 | content: '.';
53 | display: block;
54 | height: 0;
55 | clear: both;
56 | visibility: hidden;
57 | }
58 |
59 | .clearfix, .paginator_container {
60 | *+height: 1%;
61 | }
62 |
63 | .body_container {
64 | padding: 0 60px;
65 | max-width: 1200px;
66 | margin: 0 auto;
67 | }
68 |
69 | .content_container {
70 | padding-right: 50px;
71 | padding-top: 20px;
72 | }
73 |
74 | .content_container, #sidebar {
75 | font-family: 'TIBch', 'Classic Grotesque W01', 'Helvetica Neue', Arial, 'Hiragino Sans GB',
76 | 'STHeiti', 'Microsoft YaHei', 'WenQuanYi Micro Hei', SimSun, sans-serif;
77 | }
78 |
79 | #fb_comments_container {
80 | margin-top: 35px;
81 | padding-top: 20px;
82 | border-top: 1px solid rgba(150, 150, 150, 0.2);
83 | }
84 |
85 | a, button.submit, #c_submit {
86 | color: #6E7173;
87 | text-decoration: none;
88 | -webkit-transition: all 0.1s ease-in;
89 | -moz-transition: all 0.1s ease-in;
90 | -o-transition: all 0.1s ease-in;
91 | transition: all 0.1s ease-in;
92 | }
93 |
94 | h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
95 | font-weight: 500;
96 | line-height: 1.2;
97 | }
98 |
99 | a:hover, a:active {
100 | color: #444;
101 | }
102 |
103 | a:focus {
104 | outline: auto;
105 | }
106 |
107 | .clear {
108 | clear: both;
109 | }
110 |
111 | .text-ellipsis{
112 | display: block;
113 | white-space: nowrap;
114 | overflow: hidden;
115 | text-overflow: ellipsis;
116 | }
117 |
118 | #header {
119 | padding: 55px 0 0;
120 | text-align: left;
121 | border-bottom: 1px solid #ddd;
122 | position: relative;
123 | }
124 |
125 | #header .site-name {
126 | margin-bottom: 50px;
127 | }
128 |
129 | #header .site-name h1 {
130 | padding: 0;
131 | margin: 0;
132 | height: 0;
133 | overflow: hidden;
134 | color: #fff;
135 | }
136 |
137 | #header .site-name #logo {
138 | color: #333;
139 | font: normal 28px / 1.6 'Kaushan Script', 'Helvetica Neue', Helvetica, Arial;
140 | text-transform: capitalize;
141 | }
142 |
143 | #header .site-name #logo span {
144 | color: #888;
145 | }
146 |
147 | #header .site-name #logo:hover {
148 | color: #6E7173;
149 | }
150 |
151 | #header .site-name .description {
152 | margin: 0.2em 0 0;
153 | color: #999;
154 | }
155 |
156 | #header #nav-menu {
157 | margin: 10px 0 -1px;
158 | padding: 0;
159 | position: absolute;
160 | right: 0;
161 | bottom: 0;
162 | }
163 |
164 | #header #nav-menu a {
165 | margin-left: -0.07em;
166 | display: inline-block;
167 | padding: 1px 20px 0;
168 | height: 30px;
169 | line-height: 30px;
170 | color: #444;
171 | font-size: 13px;
172 | border: 1px solid transparent;
173 | }
174 |
175 | #header #nav-menu a:hover {
176 | border-bottom-color: #444;
177 | }
178 |
179 | #header #nav-menu a.current {
180 | border: 1px solid #ddd;
181 | border-bottom-color: #fff;
182 | }
183 |
184 | #sidebar {
185 | border-left: 1px solid #ddd;
186 | padding-left: 35px;
187 | margin-top: 45px;
188 | padding-bottom: 20px;
189 | word-wrap: break-word;
190 | }
191 |
192 | #sidebar .widget {
193 | margin-bottom: 30px;
194 | }
195 |
196 | #sidebar .widget .widget-title {
197 | color: #6E7173;
198 | line-height: 2.7;
199 | margin-top: 0;
200 | font-size: 16px;
201 | border-bottom: 1px solid #ddd;
202 | display: block;
203 | font-weight: normal;
204 | }
205 |
206 | #sidebar .widget ul {
207 | list-style: none;
208 | padding: 0;
209 | }
210 |
211 | #sidebar .widget ul li {
212 | margin: 5px 0;
213 | line-height: 1.5;
214 | }
215 |
216 | #sidebar #search {
217 | position: relative;
218 | overflow: hidden;
219 | }
220 |
221 | #sidebar #search input {
222 | padding: 12px 15px 11px 15px;
223 | line-height: 1.5;
224 | border: 1px solid #ddd;
225 | width: 100%;
226 | -webkit-box-sizing: border-box;
227 | -moz-box-sizing: border-box;
228 | box-sizing: border-box;
229 | outline: none;
230 | }
231 |
232 | #sidebar .category-list .category-list-count{
233 | background: #E0E1E2;
234 | font-size: 12px;
235 | float: right;
236 | padding: 0px 7px;
237 | border-radius: 10px;
238 | }
239 |
240 | #sidebar .post-list>li{
241 | display: block;
242 | white-space: nowrap;
243 | overflow: hidden;
244 | text-overflow: ellipsis;
245 | }
246 |
247 | .label-title {
248 | margin-top: 1.5em;
249 | font-size: 20px;
250 | font-weight: normal;
251 | color: #888;
252 | }
253 |
254 | .post {
255 | padding: 25px 0 15px;
256 | }
257 |
258 | .post .post-title {
259 | margin: 0;
260 | color: #666;
261 | text-align: left;
262 | font-size: 25px;
263 | font-weight: normal;
264 | line-height: 1.4;
265 | }
266 |
267 | .post .post-title a {
268 | color: #666;
269 | }
270 |
271 | .post .post-title a:hover {
272 | color: #222;
273 | }
274 |
275 | .post .post-meta {
276 | padding: 0;
277 | margin: 5px 0 0;
278 | color: #999;
279 | text-align: left;
280 | display: block;
281 | text-indent: 0.15em;
282 | }
283 |
284 | /*文章内容*/
285 | .post .post-content {
286 | font-size: 14px;
287 | color: #333;
288 | overflow: hidden;
289 | text-align: justify;
290 | text-justify: ideographic;
291 | }
292 |
293 | .post .post-content h4, .post .post-content h5, .post .post-content p,
294 | .post .post-content ul, .post .post-content ol, .post .post-content blockquote, .post .post-content table {
295 | margin: 1.5em 0;
296 | }
297 |
298 | .post .post-content h2, .post .post-content h3 {
299 | margin: 1.5em 0 0;
300 | color: #666;
301 | font-weight: normal;
302 | }
303 |
304 | .post .post-content h2{
305 | font-size: 1.75em;
306 | border-bottom: 1px solid #eee;
307 | padding-bottom: 10px;
308 | }
309 |
310 | .post .post-content h3 {
311 | font-size: 1.5em;
312 | }
313 |
314 | .post .post-content pre code {
315 | padding: 0 2em;
316 | }
317 |
318 | .post .post-content p code, .post .post-content .large code {
319 | display: inline;
320 | margin: 0 5px;
321 | padding: 2px 4px;
322 | color: #c7254e;
323 | background-color: #f9f2f4;
324 | border-radius: 5px;
325 | font-family: "Source Code Pro",Consolas,Menlo,Monaco,"Courier New",monospace;
326 | font-size: 0.93em;
327 | }
328 |
329 | .post .post-content p a, .post .post-content a, .post .post-content .large a {
330 | padding-bottom: 2px;
331 | border-bottom: 1px solid #aaa;
332 | word-break: break-all;
333 | }
334 |
335 | .post .post-content p a:hover, .post .post-content a:hover, .post .post-content .large a:hover {
336 | border-bottom-color: #444;
337 | }
338 |
339 | .post .post-content hr {
340 | margin: 2.4em auto;
341 | border: none;
342 | border-top: 1px solid #eee;
343 | position: relative;
344 | }
345 |
346 | .post .post-content img {
347 | max-width: 100%;
348 | margin: 1em 0;
349 | }
350 |
351 | .post .post-content ul, .post .post-content ol {
352 | overflow: auto;
353 | padding: 0.5em 2.4em;
354 | border-radius: 3px;
355 | margin: 1em 0;
356 | }
357 |
358 | .post .post-content ul li, .post .post-content ol li {
359 | text-indent: 0.5em;
360 | }
361 |
362 | .post .post-content ul ul, .post .post-content ol ul {
363 | margin: 0;
364 | }
365 |
366 | .post .post-content table {
367 | width: 100%;
368 | margin: 2em 0;
369 | }
370 | .post .post-content>table {
371 | border: 1px solid #ddd;
372 | border-collapse: separate;
373 | border-left: 0;
374 | -webkit-border-radius: 4px;
375 | -moz-border-radius: 4px;
376 | border-radius: 4px;
377 | }
378 |
379 | .post .post-content>table td,th{
380 | border-left: 1px solid #ddd;
381 | }
382 |
383 | .post .post-content>table th{
384 | font-weight: 700;
385 | }
386 |
387 | .post .post-content>table th, .post .post-content>table td{
388 | padding: 8px;
389 | line-height: 20px;
390 | text-align: left;
391 | vertical-align: top;
392 | border-top: 1px solid #ddd;
393 | }
394 |
395 | .post .post-content>table thead:first-child tr:first-child th{
396 | border-top: 0;
397 | }
398 |
399 | .post .post-content>table tbody>tr:nth-child(2n+1)>td, .post .post-content>table tbody>tr:nth-child(2n+1)>th {
400 | background-color: rgba(102,128,153,.05);
401 | }
402 |
403 | .post .post-content .toc {
404 | margin-bottom: 2em;
405 | display: inline-block;
406 | border: 1px solid #ddd;
407 | }
408 |
409 | .post .tags {
410 | padding-bottom: 1em;
411 | margin-top:3em;
412 | }
413 |
414 | .post .tags a {
415 | margin-right: 1em;
416 | color: #999;
417 | }
418 | .post .tags a:hover{
419 | color: #555;
420 | }
421 |
422 | .post .tags a:before {
423 | content: '#';
424 | display: inline-block;
425 | margin-right:1px;
426 | }
427 |
428 | .post .post-nav{
429 | margin-top: 3em;
430 | }
431 |
432 | .post .post-nav .pre{
433 | float:left;
434 | }
435 |
436 | .post .post-nav .next{
437 | float:right;
438 | }
439 |
440 | .paginator {
441 | border-top: 1px solid #ddd;
442 | list-style: none;
443 | margin-top: 25px;
444 | padding: 25px 0;
445 | font-size: 14px;
446 | text-align: center;
447 | }
448 |
449 | .paginator a {
450 | display: inline-block;
451 | height: 25px;
452 | line-height: 25px;
453 | padding: 5px 10px;
454 | border: 1px solid #DDD;
455 | margin: 0px 3px;
456 | }
457 |
458 | .paginator .current {
459 | display: inline-block;
460 | height: 25px;
461 | line-height: 25px;
462 | padding: 5px 10px;
463 | border: 1px solid #999;
464 | margin: 0px 3px;
465 | }
466 |
467 | .paginator a.next {
468 | float: right;
469 | }
470 |
471 | .paginator a.prev {
472 | float: left;
473 | }
474 |
475 | .paginator a:hover {
476 | border-color: #999;
477 | }
478 |
479 | #footer {
480 | padding: 5em 0 5em;
481 | line-height: 1.5;
482 | color: #999;
483 | }
484 |
485 | #footer span {
486 | font-size: 0.9em;
487 | }
488 |
489 | .post-archive {
490 | font-size: 14px;
491 | line-height: 2;
492 | padding-bottom: 0.8em;
493 | }
494 |
495 | .post-archive h2 {
496 | margin: 0;
497 | font-weight: normal;
498 | }
499 |
500 | .post-archive .date {
501 | padding-right: 0.7em;
502 | }
503 |
504 | #categories {
505 | padding: 30px 0;
506 | margin: 0;
507 | }
508 |
509 | #categories .category {
510 | text-align: center;
511 | margin-right: 20px;
512 | margin-bottom: 25px;
513 | }
514 |
515 | #categories .category a {
516 | text-align: left;
517 | display: inline-block;
518 | border: 1px solid #ddd;
519 | padding: 20px;
520 | width: 100%;
521 | bottom: 50%;
522 | box-sizing: border-box;
523 | }
524 |
525 | #categories .category a h3 {
526 | margin: 0;
527 | }
528 |
529 | #categories .category a span {
530 | color: #aaa;
531 | }
532 |
533 | #categories .category a:hover {
534 | border-color: #888;
535 | }
536 |
537 | .tagcloud {
538 | margin-top: 10px;
539 | }
540 | .tagcloud a{
541 | margin-right:5px;
542 | }
543 |
544 |
545 | @media print, screen and (max-width: 48em) {
546 | .body_container {
547 | padding: 0 30px;
548 | }
549 |
550 | .content_container {
551 | padding-right: 15px;
552 | }
553 |
554 | #sidebar {
555 | display: none;
556 | }
557 |
558 | #header .site-name {
559 | margin-bottom: 60px;
560 | text-align: center;
561 | }
562 |
563 | #header #nav-menu a {
564 | padding: 0 15px;
565 | line-height: 27px;
566 | height: 27px;
567 | font-size: 13px;
568 | }
569 |
570 | .post .post-content img {
571 | margin-top: 0.5em;
572 | margin-bottom: 0;
573 | }
574 | }
575 |
576 | @media print, screen and (max-width: 35.5em) {
577 | .body_container {
578 | padding: 0 15px;
579 | }
580 |
581 | .content_container {
582 | padding-right: 0;
583 | }
584 |
585 | .post .post-content{
586 | font-size: 16px;
587 | letter-spacing: .5px;
588 | line-height: 1.8;
589 | }
590 | }
591 |
592 | blockquote, .stressed {
593 | -moz-box-sizing: border-box;
594 | box-sizing: border-box;
595 | margin: 2.5em 0;
596 | padding: 0 0 0 50px;
597 | font-style: italic;
598 | color: #555;
599 | border-left: none;
600 | }
601 |
602 | blockquote:before, .stressed-quote:before {
603 | content: '“';
604 | display: block;
605 | font-family: times;
606 | font-style: normal;
607 | font-size: 48px;
608 | color: #444;
609 | font-weight: bold;
610 | line-height: 30px;
611 | margin-left: -50px;
612 | position: absolute;
613 | }
614 |
615 | strong, b, em {
616 | padding: 1px 2px;
617 | background-color: #fcfcf0;
618 | font-weight: normal;
619 | }
620 |
621 | pre {
622 | margin: 2em 0;
623 | }
624 |
625 | .hidden2 {
626 | display: none;
627 | }
628 |
629 | .blackbg {
630 | margin: 2em 0;
631 | }
632 |
633 | .blackbg img {
634 | display: block;
635 | margin: 0 auto;
636 | max-width: 500px !important;
637 | padding: 0 !important;
638 | }
639 |
640 | a.back_to_top {
641 | text-decoration: none;
642 | position: fixed;
643 | bottom: 20%;
644 | right: 60px;
645 | width: 50px;
646 | line-height: 36px;
647 | font-size: 18px;
648 | text-align: center;
649 | display: none;
650 | border: 1px solid #eee;
651 | -webkit-transition: all 0.1s ease-in;
652 | -moz-transition: all 0.1s ease-in;
653 | -o-transition: all 0.1s ease-in;
654 | transition: all 0.1s ease-in;
655 | }
656 |
657 | a.back_to_top span {
658 | color: #888;
659 | }
660 |
661 | a.back_to_top:hover {
662 | cursor: pointer;
663 | border-color: #999;
664 | }
665 |
666 | a.back_to_top:hover span {
667 | color: #555;
668 | }
669 |
670 | @media print, screen and (max-width: 580px) {
671 | .back_to_top {
672 | display: none !important;
673 | }
674 | }
675 |
676 | .doc_comments #new_comment_form .input_body li input {
677 | padding-left: 0 !important;
678 | }
679 |
680 |
681 |
682 |
683 |
684 | /* syntax highlight*/
685 | figure.highlight,
686 | .codeblock {
687 | background: #f5f5f5;
688 | margin: 10px 0;
689 | line-height: 1.1em;
690 | color: #333;
691 | overflow: hidden;
692 | border-radius: 4px;
693 | }
694 |
695 | figure.highlight table,
696 | .codeblock table {
697 | display: block;
698 | width: 100%;
699 | }
700 |
701 | figure.highlight table {
702 | margin: 0px !important;
703 | }
704 |
705 | figure.highlight pre,
706 | figure.highlight .gutter,
707 | figure.highlight .code,
708 | figure.highlight .tag,
709 | .codeblock pre,
710 | .codeblock .gutter,
711 | .codeblock .code,
712 | .codeblock .tag {
713 | background-color: inherit;
714 | font-family: Menlo, Consolas, monospace;
715 | border: none;
716 | padding: 0;
717 | margin: 0;
718 | cursor: text;
719 | }
720 |
721 | figure.highlight .gutter,
722 | figure.highlight .code,
723 | .codeblock .gutter,
724 | .codeblock .code {
725 | vertical-align: top;
726 | }
727 |
728 | figure.highlight.plain .gutter,
729 | .codeblock.plain .gutter {
730 | display: none;
731 | }
732 |
733 | figure.highlight figcaption,
734 | .codeblock figcaption {
735 | font-size: 13px;
736 | padding: 0 15px 20px;
737 | margin: 0;
738 | background: #f7f8f8;
739 | color: #999999;
740 | }
741 |
742 | figure.highlight figcaption a,
743 | .codeblock figcaption a {
744 | float: right;
745 | color: #01579f;
746 | }
747 |
748 | figure.highlight .gutter,
749 | .codeblock .gutter {
750 | background: rgb(236, 238, 237);
751 | padding: 0.8em 15px;
752 | }
753 |
754 | figure.highlight .gutter .line,
755 | .codeblock .gutter .line {
756 | color: rgba(102, 128, 153, 0.4);
757 | }
758 |
759 | figure.highlight .code,
760 | .codeblock .code {
761 | padding: 0.8em 15px 0.8em 1em;
762 | width: 100%;
763 | }
764 |
765 | figure.highlight .code pre,
766 | .codeblock .code pre {
767 | max-width: 780px;
768 | overflow-x: auto;
769 | overflow-y: hidden;
770 | }
771 |
772 | figure.highlight .line,
773 | .codeblock .line {
774 | height: 1.3em;
775 | font-size: 13px;
776 | }
777 |
778 | .gist .line,
779 | .gist .line-number {
780 | font-family: Menlo, Consolas, monospace;
781 | font-size: 1em;
782 | margin: 0 0 5px 0;
783 | }
784 |
785 | .highlight .comment {
786 | color: #969896;
787 | }
788 |
789 | .highlight .string {
790 | color: #183691;
791 | }
792 |
793 | .highlight .keyword {
794 | color: #a71d5d;
795 | }
796 |
797 | .highlight.apacheconf .code .common,
798 | .highlight.apacheconf .code .nomarkup,
799 | .highlight.apacheconf .code .attribute,
800 | .highlight.apacheconf .code .variable,
801 | .highlight.apacheconf .code .cbracket,
802 | .highlight.apacheconf .code .keyword {
803 | color: #0086b3;
804 | }
805 |
806 | .highlight.apacheconf .code .sqbracket {
807 | color: #df5000;
808 | }
809 |
810 | .highlight.apacheconf .code .section,
811 | .highlight.apacheconf .code .tag {
812 | color: #63a35c;
813 | }
814 |
815 | .highlight.bash .code .shebang {
816 | color: #969896;
817 | }
818 |
819 | .highlight.bash .code .literal,
820 | .highlight.bash .code .built_in {
821 | color: #0086b3;
822 | }
823 |
824 | .highlight.bash .code .variable {
825 | color: #333;
826 | }
827 |
828 | .highlight.bash .code .title {
829 | color: #795da3;
830 | }
831 |
832 | .highlight.coffeescript .code .title {
833 | color: #795da3;
834 | }
835 |
836 | .highlight.coffeescript .code .literal,
837 | .highlight.coffeescript .code .built_in,
838 | .highlight.coffeescript .code .number {
839 | color: #0086b3;
840 | }
841 |
842 | .highlight.coffeescript .code .reserved,
843 | .highlight.coffeescript .code .attribute {
844 | color: #1d3e81;
845 | }
846 |
847 | .highlight.coffeescript .code .subst,
848 | .highlight.coffeescript .code .regexp,
849 | .highlight.coffeescript .code .attribute {
850 | color: #df5000;
851 | }
852 |
853 | .highlight.cpp .code .preprocessor,
854 | .highlight.c .code .preprocessor {
855 | color: #df5000;
856 | }
857 |
858 | .highlight.cpp .code .meta-keyword,
859 | .highlight.c .code .meta-keyword {
860 | color: #a71d5d;
861 | }
862 |
863 | .highlight.cpp .code .title,
864 | .highlight.c .code .title {
865 | color: #795da3;
866 | }
867 |
868 | .highlight.cpp .code .number,
869 | .highlight.cpp .code .built_in,
870 | .highlight.c .code .number,
871 | .highlight.c .code .built_in {
872 | color: #0086b3;
873 | }
874 |
875 | .highlight.cs .code .preprocessor,
876 | .highlight.cs .code .preprocessor .keyword {
877 | color: #333;
878 | }
879 |
880 | .highlight.cs .code .title {
881 | color: #795da3;
882 | }
883 |
884 | .highlight.cs .code .number,
885 | .highlight.cs .code .built_in {
886 | color: #0086b3;
887 | }
888 |
889 | .highlight.cs .code .xmlDocTag,
890 | .highlight.cs .code .doctag {
891 | color: #63a35c;
892 | }
893 |
894 | .highlight.css .code .at_rule,
895 | .highlight.css .code .important,
896 | .highlight.css .code .meta {
897 | color: #a71d5d;
898 | }
899 |
900 | .highlight.css .code .attribute,
901 | .highlight.css .code .hexcolor,
902 | .highlight.css .code .number,
903 | .highlight.css .code .function {
904 | color: #0086b3;
905 | }
906 |
907 | .highlight.css .code .attr_selector,
908 | .highlight.css .code .value {
909 | color: #333;
910 | }
911 |
912 | .highlight.css .code .id,
913 | .highlight.css .code .class,
914 | .highlight.css .code .pseudo,
915 | .highlight.css .code .selector-pseudo {
916 | color: #795da3;
917 | }
918 |
919 | .highlight.css .code .tag,
920 | .highlight.css .code .selector-tag {
921 | color: #63a35c;
922 | }
923 |
924 | .highlight.diff .code .chunk,
925 | .highlight.diff .code .meta {
926 | color: #795da3;
927 | font-weight: bold;
928 | }
929 |
930 | .highlight.diff .code .addition {
931 | color: #55a532;
932 | background-color: #eaffea;
933 | }
934 |
935 | .highlight.diff .code .deletion {
936 | color: #bd2c00;
937 | background-color: #ffecec;
938 | }
939 |
940 | .highlight.http .code .attribute,
941 | .highlight.http .code .attr {
942 | color: #183691;
943 | }
944 |
945 | .highlight.http .code .literal {
946 | color: #0086b3;
947 | }
948 |
949 | .highlight.http .code .request {
950 | color: #a71d5d;
951 | }
952 |
953 | .highlight.ini .code .title,
954 | .highlight.ini .code .section {
955 | color: #795da3;
956 | }
957 |
958 | .highlight.ini .code .setting,
959 | .highlight.ini .code .attr {
960 | color: #a71d5d;
961 | }
962 |
963 | .highlight.ini .code .value,
964 | .highlight.ini .code .keyword {
965 | color: #333;
966 | }
967 |
968 | .highlight.java .code .title {
969 | color: #795da3;
970 | }
971 |
972 | .highlight.java .code .javadoc {
973 | color: #969896;
974 | }
975 |
976 | .highlight.java .code .meta,
977 | .highlight.java .code .annotation,
978 | .highlight.java .code .javadoctag {
979 | color: #a71d5d;
980 | }
981 |
982 | .highlight.java .code .number {
983 | color: #0086b3;
984 | }
985 |
986 | .highlight.java .code .params {
987 | color: #1d3e81;
988 | }
989 |
990 | .highlight.js .code .built_in,
991 | .highlight.js .code .title {
992 | color: #795da3;
993 | }
994 |
995 | .highlight.js .code .javadoc {
996 | color: #969896;
997 | }
998 |
999 | .highlight.js .code .tag,
1000 | .highlight.js .code .javadoctag {
1001 | color: #a71d5d;
1002 | }
1003 |
1004 | .highlight.js .code .tag .title {
1005 | color: #333;
1006 | }
1007 |
1008 | .highlight.js .code .regexp {
1009 | color: #df5000;
1010 | }
1011 |
1012 | .highlight.js .code .literal,
1013 | .highlight.js .code .number {
1014 | color: #0086b3;
1015 | }
1016 |
1017 | .highlight.json .code .attribute {
1018 | color: #183691;
1019 | }
1020 |
1021 | .highlight.json .code .number,
1022 | .highlight.json .code .literal {
1023 | color: #0086b3;
1024 | }
1025 |
1026 | .highlight.mak .code .constant {
1027 | color: #333;
1028 | }
1029 |
1030 | .highlight.mak .code .title {
1031 | color: #795da3;
1032 | }
1033 |
1034 | .highlight.mak .code .keyword,
1035 | .highlight.mak .code .meta-keyword {
1036 | color: #0086b3;
1037 | }
1038 |
1039 | .highlight.md .code .value,
1040 | .highlight.md .code .link_label,
1041 | .highlight.md .code .strong,
1042 | .highlight.md .code .emphasis,
1043 | .highlight.md .code .blockquote,
1044 | .highlight.md .code .quote,
1045 | .highlight.md .code .section {
1046 | color: #183691;
1047 | }
1048 |
1049 | .highlight.md .code .link_reference,
1050 | .highlight.md .code .symbol,
1051 | .highlight.md .code .code {
1052 | color: #0086b3;
1053 | }
1054 |
1055 | .highlight.md .code .link_url,
1056 | .highlight.md .code .link {
1057 | text-decoration: underline;
1058 | }
1059 |
1060 | .highlight.nginx .code .title,
1061 | .highlight.nginx .code .attribute {
1062 | color: #a71d5d;
1063 | }
1064 |
1065 | .highlight.nginx .code .built_in,
1066 | .highlight.nginx .code .literal {
1067 | color: #0086b3;
1068 | }
1069 |
1070 | .highlight.nginx .code .regexp {
1071 | color: #183691;
1072 | }
1073 |
1074 | .highlight.nginx .code .variable {
1075 | color: #333;
1076 | }
1077 |
1078 | .highlight.objectivec .code .preprocessor,
1079 | .highlight.objectivec .code .meta {
1080 | color: #a71d5d;
1081 | }
1082 |
1083 | .highlight.objectivec .code .preprocessor .title,
1084 | .highlight.objectivec .code .meta .title {
1085 | color: #df5000;
1086 | }
1087 |
1088 | .highlight.objectivec .code .meta-string {
1089 | color: #183691;
1090 | }
1091 |
1092 | .highlight.objectivec .code .title {
1093 | color: #795da3;
1094 | }
1095 |
1096 | .highlight.objectivec .code .literal,
1097 | .highlight.objectivec .code .number,
1098 | .highlight.objectivec .code .built_in {
1099 | color: #0086b3;
1100 | }
1101 |
1102 | .highlight.perl .code .sub {
1103 | color: #795da3;
1104 | }
1105 |
1106 | .highlight.perl .code .title {
1107 | color: #795da3;
1108 | }
1109 |
1110 | .highlight.perl .code .regexp {
1111 | color: #df5000;
1112 | }
1113 |
1114 | .highlight.php .code .phpdoc,
1115 | .highlight.php .code .doctag {
1116 | color: #a71d5d;
1117 | }
1118 |
1119 | .highlight.php .code .regexp {
1120 | color: #df5000;
1121 | }
1122 |
1123 | .highlight.php .code .literal,
1124 | .highlight.php .code .number {
1125 | color: #0086b3;
1126 | }
1127 |
1128 | .highlight.php .code .title {
1129 | color: #795da3;
1130 | }
1131 |
1132 | .highlight.python .code .decorator,
1133 | .highlight.python .code .title,
1134 | .highlight.python .code .meta {
1135 | color: #795da3;
1136 | }
1137 |
1138 | .highlight.python .code .number {
1139 | color: #0086b3;
1140 | }
1141 |
1142 | .highlight.ruby .code .parent,
1143 | .highlight.ruby .code .title {
1144 | color: #795da3;
1145 | }
1146 |
1147 | .highlight.ruby .code .prompt,
1148 | .highlight.ruby .code .constant,
1149 | .highlight.ruby .code .number,
1150 | .highlight.ruby .code .subst .keyword,
1151 | .highlight.ruby .code .symbol {
1152 | color: #0086b3;
1153 | }
1154 |
1155 | .highlight.sql .built_in {
1156 | color: #a71d5d;
1157 | }
1158 |
1159 | .highlight.sql .number {
1160 | color: #0086b3;
1161 | }
1162 |
1163 | .highlight.xml .tag {
1164 | color: #333;
1165 | }
1166 |
1167 | .highlight.xml .value {
1168 | color: #183691;
1169 | }
1170 |
1171 | .highlight.xml .attribute,
1172 | .highlight.xml .attr {
1173 | color: #795da3;
1174 | }
1175 |
1176 | .highlight.xml .title,
1177 | .highlight.xml .name {
1178 | color: #63a35c;
1179 | }
1180 |
1181 | .highlight.puppet .title {
1182 | color: #795da3;
1183 | }
1184 |
1185 | .highlight.puppet .function {
1186 | color: #0086b3;
1187 | }
1188 |
1189 | .highlight.puppet .name {
1190 | color: #a71d5d;
1191 | }
1192 |
1193 | .highlight.puppet .attr {
1194 | color: #0086b3;
1195 | }
1196 |
1197 | .highlight.less .tag,
1198 | .highlight.less .at_rule {
1199 | color: #a71d5d;
1200 | }
1201 |
1202 | .highlight.less .number,
1203 | .highlight.less .hexcolor,
1204 | .highlight.less .function,
1205 | .highlight.less .attribute {
1206 | color: #0086b3;
1207 | }
1208 |
1209 | .highlight.less .built_in {
1210 | color: #df5000;
1211 | }
1212 |
1213 | .highlight.less .id,
1214 | .highlight.less .pseudo,
1215 | .highlight.less .class,
1216 | .highlight.less .selector-id,
1217 | .highlight.less .selector-class,
1218 | .highlight.less .selector-tag {
1219 | color: #795da3;
1220 | }
1221 |
1222 | .highlight.scss .tag,
1223 | .highlight.scss .at_rule,
1224 | .highlight.scss .important {
1225 | color: #a71d5d;
1226 | }
1227 |
1228 | .highlight.scss .number,
1229 | .highlight.scss .hexcolor,
1230 | .highlight.scss .function,
1231 | .highlight.scss .attribute {
1232 | color: #0086b3;
1233 | }
1234 |
1235 | .highlight.scss .variable {
1236 | color: #333;
1237 | }
1238 |
1239 | .highlight.scss .built_in {
1240 | color: #df5000;
1241 | }
1242 |
1243 | .highlight.scss .id,
1244 | .highlight.scss .pseudo,
1245 | .highlight.scss .class,
1246 | .highlight.scss .preprocessor,
1247 | .highlight.scss .selector-class,
1248 | .highlight.scss .selector-id {
1249 | color: #795da3;
1250 | }
1251 |
1252 | .highlight.scss .tag,
1253 | .highlight.scss .selector-tag {
1254 | color: #63a35c;
1255 | }
1256 |
1257 | .highlight.stylus .at_rule {
1258 | color: #a71d5d;
1259 | }
1260 |
1261 | .highlight.stylus .tag,
1262 | .highlight.stylus .selector-tag {
1263 | color: #63a35c;
1264 | }
1265 |
1266 | .highlight.stylus .number,
1267 | .highlight.stylus .hexcolor,
1268 | .highlight.stylus .attribute,
1269 | .highlight.stylus .params {
1270 | color: #0086b3;
1271 | }
1272 |
1273 | .highlight.stylus .class,
1274 | .highlight.stylus .id,
1275 | .highlight.stylus .pseudo,
1276 | .highlight.stylus .title,
1277 | .highlight.stylus .selector-id,
1278 | .highlight.stylus .selector-pseudo,
1279 | .highlight.stylus .selector-class {
1280 | color: #795da3;
1281 | }
1282 |
1283 | .highlight.go .typename {
1284 | color: #a71d5d;
1285 | }
1286 |
1287 | .highlight.go .built_in,
1288 | .highlight.go .constant {
1289 | color: #0086b3;
1290 | }
1291 |
1292 | .highlight.swift .preprocessor {
1293 | color: #a71d5d;
1294 | }
1295 |
1296 | .highlight.swift .title {
1297 | color: #795da3;
1298 | }
1299 |
1300 | .highlight.swift .built_in,
1301 | .highlight.swift .number,
1302 | .highlight.swift .type {
1303 | color: #0086b3;
1304 | }
1305 |
1306 | .highlight.yml .line,
1307 | .highlight.yml .attr {
1308 | color: #63a35c;
1309 | }
1310 |
1311 | .highlight.yml .line,
1312 | .highlight.yml .string,
1313 | .highlight.yml .type,
1314 | .highlight.yml .literal,
1315 | .highlight.yml .meta {
1316 | color: #183691;
1317 | }
1318 |
1319 | .highlight.yml .number {
1320 | color: #0086b3;
1321 | }
1322 |
--------------------------------------------------------------------------------
/source/fancybox/blank.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/7ye/maupassant-hexo/dda92dd18de2a8ddd3832ab93e838823968d31c4/source/fancybox/blank.gif
--------------------------------------------------------------------------------
/source/fancybox/fancybox_loading.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/7ye/maupassant-hexo/dda92dd18de2a8ddd3832ab93e838823968d31c4/source/fancybox/fancybox_loading.gif
--------------------------------------------------------------------------------
/source/fancybox/fancybox_loading@2x.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/7ye/maupassant-hexo/dda92dd18de2a8ddd3832ab93e838823968d31c4/source/fancybox/fancybox_loading@2x.gif
--------------------------------------------------------------------------------
/source/fancybox/fancybox_overlay.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/7ye/maupassant-hexo/dda92dd18de2a8ddd3832ab93e838823968d31c4/source/fancybox/fancybox_overlay.png
--------------------------------------------------------------------------------
/source/fancybox/fancybox_sprite.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/7ye/maupassant-hexo/dda92dd18de2a8ddd3832ab93e838823968d31c4/source/fancybox/fancybox_sprite.png
--------------------------------------------------------------------------------
/source/fancybox/fancybox_sprite@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/7ye/maupassant-hexo/dda92dd18de2a8ddd3832ab93e838823968d31c4/source/fancybox/fancybox_sprite@2x.png
--------------------------------------------------------------------------------
/source/js/fancybox.js:
--------------------------------------------------------------------------------
1 | $(document).ready(function() {
2 | $('img').each(function() {
3 | if ($(this).parent().hasClass('fancybox')) return;
4 | if ($(this).hasClass('nofancybox')) return;
5 | var alt = this.alt;
6 | //if (alt) $(this).after('' + alt + '');
7 | $(this).wrap('');
8 | });
9 | $(this).find('.fancybox').each(function(){
10 | $(this).attr('rel', 'article');
11 | });
12 | });
13 | $(document).ready(function() {
14 | $("a[href$='.jpg'],a[href$='.png'],a[href$='.gif'],a[href$='.webp']").attr('rel', 'gallery').fancybox({
15 | helpers : {
16 | title: { type: 'inside'}
17 | }
18 | });
19 | });
20 |
--------------------------------------------------------------------------------
/source/js/localcache.js:
--------------------------------------------------------------------------------
1 | var whir=window.whir||{};function getRelativePath(url,level){var urlarray=url.split("/");var resulturl="";for(var i=0;i]+>/g,"").toLowerCase();
30 | var data_url = data.url;
31 | var index_title = -1;
32 | var index_content = -1;
33 | var first_occur = -1;
34 | // only match artiles with not empty titles and contents
35 | if(data_title != '' && data_content != '') {
36 | keywords.forEach(function(keyword, i) {
37 | index_title = data_title.indexOf(keyword);
38 | index_content = data_content.indexOf(keyword);
39 | if( index_title < 0 && index_content < 0 ){
40 | isMatch = false;
41 | } else {
42 | if (index_content < 0) {
43 | index_content = 0;
44 | }
45 | if (i == 0) {
46 | first_occur = index_content;
47 | }
48 | }
49 | });
50 | }
51 | // show search results
52 | if (isMatch) {
53 | str += ""+ data_title +"";
54 | var content = data.content.trim().replace(/<[^>]+>/g,"");
55 | if (first_occur >= 0) {
56 | // cut out 100 characters
57 | var start = first_occur - 20;
58 | var end = first_occur + 20;
59 | if(start < 0){
60 | start = 0;
61 | }
62 | if(start == 0){
63 | end = 40;
64 | }
65 | if(end > content.length){
66 | end = content.length;
67 | }
68 | var match_content = content.substr(start, end);
69 | // highlight all keywords
70 | keywords.forEach(function(keyword){
71 | var regS = new RegExp(keyword, "gi");
72 | match_content = match_content.replace(regS, ""+keyword+"");
73 | });
74 |
75 | str += "" + match_content +"...
"
76 | }
77 | str += "";
78 | }
79 | });
80 | str += "";
81 | $resultContent.innerHTML = str;
82 | });
83 | }
84 | });
85 | }
86 |
--------------------------------------------------------------------------------
/source/js/share.js:
--------------------------------------------------------------------------------
1 | (function($){
2 |
3 | // article-share
4 | $('body').on('click', function(){
5 | $('.article-share-box.on').removeClass('on');
6 | }).on('click', '.article-share-link', function(e){
7 | e.stopPropagation();
8 |
9 | var $this = $(this),
10 | url = $this.attr('data-url'),
11 | encodedUrl = encodeURIComponent(url),
12 | id = 'article-share-box-' + $this.attr('data-id'),
13 | title = document.title,
14 | offset = $this.offset();
15 |
16 | if ($('#' + id).length){
17 | var box = $('#' + id);
18 |
19 | if (box.hasClass('on')){
20 | box.removeClass('on');
21 | return;
22 | }
23 | } else {
24 | var html = [
25 | '',
26 | '
',
27 | '
',
28 | '
',
29 | '
',
30 | '
',
31 | '
',
32 | '
',
33 | '
'
34 | ].join('');
35 |
36 | var box = $(html);
37 |
38 | $('body').append(box);
39 | }
40 |
41 | $('.article-share-box.on').hide();
42 |
43 | box.css({
44 | top: offset.top + 25,
45 | left: offset.left
46 | }).addClass('on');
47 | }).on('click', '.article-share-box', function(e){
48 | e.stopPropagation();
49 | }).on('click', '.article-share-box-input', function(){
50 | $(this).select();
51 | }).on('click', '.article-share-box-link', function(e){
52 | e.preventDefault();
53 | e.stopPropagation();
54 |
55 | window.open(this.href, 'article-share-box-window-' + Date.now(), 'width=500,height=450');
56 | });
57 |
58 | })(jQuery);
59 |
--------------------------------------------------------------------------------
/source/js/totop.js:
--------------------------------------------------------------------------------
1 | function myEvent(obj,ev,fn){
2 | if(obj.attachEvent){
3 | obj.attachEvent('on'+ev,fn);
4 | }else{
5 | obj.addEventListener(ev,fn,false);
6 | }
7 | }
8 | myEvent(window,'load',function(){
9 | var oRTT=document.getElementById('back_to_top');
10 | var pH=document.documentElement.clientHeight;
11 | var timer=null;
12 | var scrollTop;
13 | window.onscroll=function(){
14 | scrollTop=document.documentElement.scrollTop||document.body.scrollTop;
15 | if(scrollTop>=pH){
16 | oRTT.style.display='block';
17 | }else{
18 | oRTT.style.display='none';
19 | }
20 | return scrollTop;
21 | };
22 | oRTT.onclick=function(){
23 | clearInterval(timer);
24 | timer=setInterval(function(){
25 | var now=scrollTop;
26 | var speed=(0-now)/10;
27 | speed=speed>0?Math.ceil(speed):Math.floor(speed);
28 | if(scrollTop==0){
29 | clearInterval(timer);
30 | }
31 | document.documentElement.scrollTop=scrollTop+speed;
32 | document.body.scrollTop=scrollTop+speed;
33 | }, 30);
34 | }
35 | });
--------------------------------------------------------------------------------
/theme.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/7ye/maupassant-hexo/dda92dd18de2a8ddd3832ab93e838823968d31c4/theme.png
--------------------------------------------------------------------------------