├── .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 | ![Maupassant Hexo主题](theme.png) 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 --------------------------------------------------------------------------------