├── .all-contributorsrc ├── .gitignore ├── LICENSE ├── README.md ├── README.zh.md ├── _config.yml ├── languages ├── en.yml └── zh-CN.yml ├── layout ├── _partial │ ├── after_footer.ejs │ ├── archive.ejs │ ├── article.ejs │ ├── footer.ejs │ ├── head.ejs │ ├── navigator.ejs │ ├── pagination.ejs │ ├── post │ │ ├── comment.ejs │ │ ├── gallery.ejs │ │ ├── meta.ejs │ │ └── title.ejs │ └── search.ejs ├── archive.ejs ├── index.ejs ├── layout.ejs ├── page.ejs └── post.ejs ├── screenShots ├── index.md ├── ver0.9-article.jpg ├── ver0.9-dropdown.jpg ├── ver0.9-index.jpg ├── ver0.9-tags.jpg ├── ver1.0-article.jpg ├── ver1.0-dropdown.jpg ├── ver1.0-index.jpg └── ver1.0-tags.jpg └── source └── css ├── animation.scss ├── code.scss ├── footer.scss ├── m.min.css ├── m.min.css.map ├── main.scss ├── navigator.scss ├── pager.scss ├── posts.scss ├── search.scss └── toc.scss /.all-contributorsrc: -------------------------------------------------------------------------------- 1 | { 2 | "files": [ 3 | "README.md" 4 | ], 5 | "imageSize": 70, 6 | "commit": false, 7 | "contributors": [ 8 | { 9 | "login": "xCss", 10 | "name": "Nine", 11 | "avatar_url": "https://avatars2.githubusercontent.com/u/10877162?v=4", 12 | "profile": "http://ioliu.cn", 13 | "contributions": [ 14 | "platform", 15 | "tool" 16 | ] 17 | }, 18 | { 19 | "login": "willmasters", 20 | "name": "Will Masters", 21 | "avatar_url": "https://avatars0.githubusercontent.com/u/743296?v=4", 22 | "profile": "https://github.com/willmasters", 23 | "contributions": [ 24 | "bug" 25 | ] 26 | }, 27 | { 28 | "login": "shuiRong", 29 | "name": "林水溶", 30 | "avatar_url": "https://avatars1.githubusercontent.com/u/16076993?v=4", 31 | "profile": "https://linshuirong.cn", 32 | "contributions": [ 33 | "bug" 34 | ] 35 | }, 36 | { 37 | "login": "aloisdg", 38 | "name": "Alois", 39 | "avatar_url": "https://avatars2.githubusercontent.com/u/3449303?v=4", 40 | "profile": "http://aloisdg.github.io/", 41 | "contributions": [ 42 | "bug" 43 | ] 44 | }, 45 | { 46 | "login": "gaoryrt", 47 | "name": "gaoryrt", 48 | "avatar_url": "https://avatars3.githubusercontent.com/u/5306513?v=4", 49 | "profile": "https://gaoryrt.com", 50 | "contributions": [ 51 | "code" 52 | ] 53 | } 54 | ], 55 | "contributorsPerLine": 7, 56 | "projectName": "hexo-theme-pln", 57 | "projectOwner": "gaoryrt", 58 | "repoType": "github", 59 | "repoHost": "https://github.com", 60 | "skipCi": false 61 | } 62 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.scssc 2 | .DS_Store -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 gaoryrt 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 | # hexo-theme-pln 2 | 3 | [![All Contributors](https://img.shields.io/badge/all_contributors-5-orange.svg?style=flat-square)](#contributors-) 4 | 5 | [🇨🇳 中文](/README.zh.md) [🖼 screenshots](/screenShots/index.md) 6 | 7 | A plain, text-friendly Hexo theme 8 | 9 | ## Install 10 | 1. `git clone https://github.com/gaoryrt/hexo-theme-pln.git themes/pln` 11 | 2. Modify your [hexo configuration](https://hexo.io/docs/configuration.html), [change `theme`](https://hexo.io/docs/configuration.html#Extensions) to `pln`. 12 | 13 | ## Update 14 | `cd themes/pln && git pull` 15 | 16 | ## Uninstall 17 | `cd themes && rm -rf pln` 18 | 19 | ## Configuration 20 | Modify your [`theme/pln/_config.yml`](https://github.com/gaoryrt/hexo-theme-pln/blob/master/_config.yml) file. 21 | 22 | ## Got a question? 23 | [Issues](https://github.com/gaoryrt/hexo-theme-pln/issues) are always welcomed. 24 | 25 | ### How to modify site-searching 26 | Or change [`theme/pln/layout/_partial/search.ejs`](https://github.com/gaoryrt/hexo-theme-pln/blob/master/layout/_partial/search.ejs) file using [hexo search helper](https://hexo.io/docs/helpers.html#search-form) 27 | ### How to enable Latex 28 | ``` 29 | brew install Pandoc 30 | npm uninstall hexo-renderer-marked --save 31 | npm install hexo-renderer-pandoc --save 32 | ``` 33 | then enable it in [theme configuration](https://github.com/gaoryrt/hexo-theme-pln/blob/beecf303914f4b4a76e22026bcc8c3b15c47b6fa/_config.yml#L17). 34 | 35 | ## License 36 | MIT 37 | 38 | ## Contributors ✨ 39 | 40 | Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)): 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 |

Nine

📦 🔧

Will Masters

🐛

林水溶

🐛

Alois

🐛

gaoryrt

💻
54 | 55 | 56 | 57 | 58 | -------------------------------------------------------------------------------- /README.zh.md: -------------------------------------------------------------------------------- 1 | # hexo-theme-pln 2 | 3 | [![All Contributors](https://img.shields.io/badge/all_contributors-5-orange.svg?style=flat-square)](#contributors-) 4 | 5 | [🇬🇧 English](/README.md) [🖼 截图](/screenShots/index.md) 6 | 7 | 一个纯文字友好的Hexo主题 8 | 9 | ## 安装 10 | 1. `git clone https://github.com/gaoryrt/hexo-theme-pln.git themes/pln` 11 | 2. 修改 [hexo 配置文件](https://hexo.io/zh-cn/docs/configuration.html#%E6%89%A9%E5%B1%95),[指定主题](https://hexo.io/docs/configuration.html#Extensions)为 `pln` 12 | 13 | ## 更新 14 | `cd themes/pln && git pull` 15 | 16 | ## 卸载 17 | `cd themes && rm -rf pln` 18 | 19 | ## 配置 20 | 修改 [`theme/pln/_config.yml`](https://github.com/gaoryrt/hexo-theme-pln/blob/master/_config.yml) 文件即可 21 | 22 | ## 有问题吗? 23 | 欢迎提交 [Issues](https://github.com/gaoryrt/hexo-theme-pln/issues) 24 | 25 | ### 如何修改搜索引擎 26 | 你可以使用 [hexo 自带的 helper](https://hexo.io/zh-cn/docs/helpers.html#search-form) 修改 [`theme/pln/layout/_partial/search.ejs`](https://github.com/gaoryrt/hexo-theme-pln/blob/master/layout/_partial/search.ejs) 文件 27 | 28 | ### 如何启用 Latex 29 | ``` 30 | brew install Pandoc 31 | npm uninstall hexo-renderer-marked --save 32 | npm install hexo-renderer-pandoc --save 33 | ``` 34 | 然后在[配置中启用](https://github.com/gaoryrt/hexo-theme-pln/blob/beecf303914f4b4a76e22026bcc8c3b15c47b6fa/_config.yml#L17)即可 35 | 36 | ## License 37 | MIT 38 | 39 | ## Contributors ✨ 40 | 41 | Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)): 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 |

Nine

📦 🔧

Will Masters

🐛

林水溶

🐛

Alois

🐛

gaoryrt

💻
55 | 56 | 57 | 58 | 59 | -------------------------------------------------------------------------------- /_config.yml: -------------------------------------------------------------------------------- 1 | logo: XXX # top-left logo in index page 2 | 3 | more: # more links at top right index page 4 | links: /links.html 5 | Github: https://github.com/XXX/ 6 | rss: /rss2.xml 7 | 8 | footer_info: © XXX 2016-2020 # about info at right foot 9 | about: # about link at right foot 10 | title: Theme Pln 11 | link: https://github.com/gaoryrt/hexo-theme-pln 12 | 13 | excerpt_num: 120 14 | 15 | toc: true 16 | 17 | latex: true 18 | 19 | # If you want to use valine,you should get the appId and appKey form https://leancloud.cn ,more setting please see https://valine.js.org 20 | valine: 21 | enable: false # !!if you want use valine comment system,please set enable: true 22 | appId: #your leancloud appId 23 | appKey: #your leancloud appKey 24 | guest_info: nick,mail,link #valine comment header info 25 | placeholder: Just go go # valine comment input placeholder(like: Please leave your footprints ) 26 | avatar: mm # gravatar style https://valine.js.org/avatar 27 | pageSize: 10 # comment list page size 28 | verify: false # valine verify code (true/false) 29 | notify: false # valine mail notify (true/false) 30 | lang: zh-cn 31 | -------------------------------------------------------------------------------- /languages/en.yml: -------------------------------------------------------------------------------- 1 | prev: PREV 2 | next: NEXT 3 | archive_title: archive 4 | page_counter: There are %d articles in total 5 | read_more: more 6 | page_read: page PV 7 | site_read: site PV 8 | site_visitor: site UV 9 | -------------------------------------------------------------------------------- /languages/zh-CN.yml: -------------------------------------------------------------------------------- 1 | prev: 上一页 2 | next: 下一页 3 | archive_title: 归档 4 | page_counter: 该分类共 %d 篇文章 5 | read_more: 更多 6 | page_read: 页阅读量 7 | site_read: 站访问量 8 | site_visitor: 站访客数 -------------------------------------------------------------------------------- /layout/_partial/after_footer.ejs: -------------------------------------------------------------------------------- 1 | 64 | -------------------------------------------------------------------------------- /layout/_partial/archive.ejs: -------------------------------------------------------------------------------- 1 | <% var title = ''; 2 | if (page.category) title = page.category; 3 | if (page.tag) title = page.tag; 4 | if (page.archive){ 5 | if (page.year) title = page.year + (page.month ? '/' + page.month : ''); 6 | else title = __('archive_title'); 7 | } %> 8 | 9 |

10 | <% if (page.archive) { %> 11 | 12 | 13 | 14 | <% } else { %> 15 | 16 | 17 | 18 | 19 | <% } %> 20 | <%= title %> 21 |

22 |
23 | <%= _p('page_counter', page.posts.length) %> 24 |
25 |
26 | <% var last = 0, year, yearArr = []; %> 27 | <% page.posts.each(function(post){ %> 28 | <% year = post.date.year(); %> 29 | 30 | <% if (last != year){ %> 31 | 32 | <% if (yearArr.length != 0){ %> 33 | 34 | <% } %> 35 | 36 | <% yearArr.push(year); %> 37 | 38 | <% last = year; %> 39 | 40 | 41 |
42 |

<%= year %>

43 |
70 | -------------------------------------------------------------------------------- /layout/_partial/article.ejs: -------------------------------------------------------------------------------- 1 | <% if (index) { %> 2 |
  • 3 | <%- partial('post/title') %> 4 |
    5 | <% if (item.excerpt){ %> 6 | <%- item.excerpt %> 7 | <% } else { %> 8 | <%- strip_html(item.content).replace(/^\s*/, '').replace(/\s*$/, '').substring(0, theme.excerpt_num) %> 9 | <% } %> 10 | 11 | <%= __("read_more") %> 12 | 13 |
    14 |
    15 | <%- partial('post/meta', {item: item}) %> 16 |
    17 |
  • 18 |
    19 | <% } else { %> 20 | 21 |
    22 |
    23 | <%- partial('post/title') %> 24 |
    25 |
    26 | <%- partial('post/meta', {item: item}) %> 27 |
    28 |
    29 | <% if (page.toc === undefined ? theme.toc : page.toc) { %> 30 | <%- toc(page.content, {list_number: false}) %> 31 | <% } %> 32 |
    33 | <% if (item.photos && item.photos.length){ %> 34 | <%- partial('post/gallery', {item: item}) %> 35 | <% } %> 36 |
    37 | <%- item.content %> 38 | 39 |
    40 | 41 |
    42 | <%= __("page_read") %>:  ・  43 | <%= __("site_read") %>:  ・  44 | <%= __("site_visitor") %>:  45 |
    46 | <% } %> 47 | <%- partial('post/comment') %> 48 | -------------------------------------------------------------------------------- /layout/_partial/footer.ejs: -------------------------------------------------------------------------------- 1 |
    2 |
    3 |
    4 |
    5 | 6 | 7 | 8 | 9 | 10 | <%- theme.footer_info %> 11 |
    12 |
    13 | 14 | <%- theme.about.title %> 15 | 16 |
    17 |
    18 |
    19 |
    20 | -------------------------------------------------------------------------------- /layout/_partial/head.ejs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | <% 11 | var title = ''; 12 | if (page.current > 1) title = __('page', page.current); 13 | else if (page.title) title = page.title; 14 | else if (page.category) title = page.category; 15 | else if (page.tag) title = page.tag; 16 | else if (page.archive) { 17 | if (page.year) title = page.year + (page.month ? '/' + page.month : ''); 18 | else title = __('archive_title'); 19 | } 20 | else title = config.title; 21 | %> 22 | <%= title %> 23 | <% if (config.author) { %><% } %> 24 | <% if (page.description) { %> 25 | <% } else if (config.description){ %> 26 | <% } else if (page.excerpt){ %> 27 | <% } else if (page.content){ %> 28 | <% } %> 29 | <% if (page.keywords){ %><% } %> 30 | <% if (page.title){ %><% } %> 31 | 32 | 33 | 34 | 35 | 36 | 37 | <% if (theme.latex){ %><% } %> 38 | 39 | 40 | -------------------------------------------------------------------------------- /layout/_partial/navigator.ejs: -------------------------------------------------------------------------------- 1 | 60 | -------------------------------------------------------------------------------- /layout/_partial/pagination.ejs: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /layout/_partial/post/comment.ejs: -------------------------------------------------------------------------------- 1 | <% if(!index){ %> 2 | <% if(config.disqus_shortname){ %> 3 |
    4 | 20 | <% } else if(theme.valine && theme.valine.enable){ %> 21 | 24 |
    25 | 26 | 27 | 47 | <% } %> 48 | <% } %> 49 | 50 | -------------------------------------------------------------------------------- /layout/_partial/post/gallery.ejs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /layout/_partial/post/meta.ejs: -------------------------------------------------------------------------------- 1 | 8 | 9 | <% if (item.categories && item.categories.length){ %> 10 | <% var cats = []; 11 | item.categories.forEach(function(cat){ 12 | cats.push('' + cat.name + ''); 13 | });%> 14 |   15 | 16 | 17 | 18 | 19 |   20 | <%- cats.join('·') %> 21 | <% } %> 22 | 23 | 24 | <% if (item.tags && item.tags.length){ %> 25 | <% var tags = []; 26 | item.tags.forEach(function(tag){ 27 | tags.push('' + tag.name + ''); 28 | });%> 29 |   30 | 31 | 32 | 33 | 34 |   35 | <%- tags.join('·') %> 36 | <% } %> 37 | -------------------------------------------------------------------------------- /layout/_partial/post/title.ejs: -------------------------------------------------------------------------------- 1 | <% if (item.link){ %> 2 |

    3 | 4 | <%= item.title %> 5 | 6 |

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

    10 | 11 | <%= item.title %> 12 | 13 |

    14 | <% } else { %> 15 |

    16 | <%= item.title %> 17 |

    18 | <% } %> 19 | <% } %> 20 | -------------------------------------------------------------------------------- /layout/_partial/search.ejs: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /layout/archive.ejs: -------------------------------------------------------------------------------- 1 | <%- partial('_partial/navigator', {index: true}) %> 2 | <%- partial('_partial/archive', {pagination: config.archive}) %> 3 | -------------------------------------------------------------------------------- /layout/index.ejs: -------------------------------------------------------------------------------- 1 | <%- partial('_partial/navigator', {index: true}) %> 2 | 7 | <%- partial('_partial/pagination') %> 8 | -------------------------------------------------------------------------------- /layout/layout.ejs: -------------------------------------------------------------------------------- 1 | <%- partial('_partial/head') %> 2 | 3 | 4 |
    5 |
    6 | <%- body %> 7 |
    8 |
    9 | 10 | <%- partial('_partial/after_footer') %> 11 | 12 | 13 | -------------------------------------------------------------------------------- /layout/page.ejs: -------------------------------------------------------------------------------- 1 |
    2 | 3 | 4 | 5 | 6 | 7 | <% if (config.subtitle) { %> 8 |
    9 |  <%- config.subtitle %> 10 |
    11 | <% } %> 12 |
    13 | <%- partial('_partial/article', {item: page, index: false}) %> 14 | -------------------------------------------------------------------------------- /layout/post.ejs: -------------------------------------------------------------------------------- 1 |
    2 | 3 | 4 | 5 | 6 | 7 | <% if (config.subtitle) { %> 8 |
    9 |  <%- config.subtitle %> 10 |
    11 | <% } %> 12 |
    13 | <%- partial('_partial/article', {item: page, index: false}) %> 14 | -------------------------------------------------------------------------------- /screenShots/index.md: -------------------------------------------------------------------------------- 1 | ![](./ver1.0-article.jpg) 2 | ![](./ver1.0-dropdown.jpg) 3 | ![](./ver1.0-index.jpg) 4 | ![](./ver1.0-tags.jpg) 5 | -------------------------------------------------------------------------------- /screenShots/ver0.9-article.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaoryrt/hexo-theme-pln/4c6fdf9aa1cde858efdedd83bf5339e914640253/screenShots/ver0.9-article.jpg -------------------------------------------------------------------------------- /screenShots/ver0.9-dropdown.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaoryrt/hexo-theme-pln/4c6fdf9aa1cde858efdedd83bf5339e914640253/screenShots/ver0.9-dropdown.jpg -------------------------------------------------------------------------------- /screenShots/ver0.9-index.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaoryrt/hexo-theme-pln/4c6fdf9aa1cde858efdedd83bf5339e914640253/screenShots/ver0.9-index.jpg -------------------------------------------------------------------------------- /screenShots/ver0.9-tags.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaoryrt/hexo-theme-pln/4c6fdf9aa1cde858efdedd83bf5339e914640253/screenShots/ver0.9-tags.jpg -------------------------------------------------------------------------------- /screenShots/ver1.0-article.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaoryrt/hexo-theme-pln/4c6fdf9aa1cde858efdedd83bf5339e914640253/screenShots/ver1.0-article.jpg -------------------------------------------------------------------------------- /screenShots/ver1.0-dropdown.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaoryrt/hexo-theme-pln/4c6fdf9aa1cde858efdedd83bf5339e914640253/screenShots/ver1.0-dropdown.jpg -------------------------------------------------------------------------------- /screenShots/ver1.0-index.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaoryrt/hexo-theme-pln/4c6fdf9aa1cde858efdedd83bf5339e914640253/screenShots/ver1.0-index.jpg -------------------------------------------------------------------------------- /screenShots/ver1.0-tags.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gaoryrt/hexo-theme-pln/4c6fdf9aa1cde858efdedd83bf5339e914640253/screenShots/ver1.0-tags.jpg -------------------------------------------------------------------------------- /source/css/animation.scss: -------------------------------------------------------------------------------- 1 | @mixin transformY($px: 0) { 2 | -webkit-transform: translateY($px); 3 | -moz-transform: translateY($px); 4 | -ms-transform: translateY($px); 5 | -o-transform: translateY($px); 6 | transform: translateY($px); 7 | } 8 | 9 | .dropdown-toggle, 10 | .dropdown-menu, 11 | .open, 12 | a, 13 | a:hover, 14 | a:focus { 15 | transition: .2s ease-in-out; 16 | } 17 | 18 | .dropdown-content { 19 | -webkit-transition: all .3s ease-out; 20 | -moz-transition: all .3s ease-out; 21 | -ms-transition: all .3s ease-out; 22 | -o-transition: all .3s ease-out; 23 | transition: all .3s ease-out; 24 | } 25 | 26 | .dropdown-content { 27 | @include transformY(1px); 28 | opacity: 0; 29 | } 30 | 31 | .dropdown-content.open { 32 | visibility: visible; 33 | @include transformY; 34 | opacity: 1; 35 | } 36 | -------------------------------------------------------------------------------- /source/css/code.scss: -------------------------------------------------------------------------------- 1 | $bg: #F1F3F5; 2 | $theme: #555; 3 | $c1: #547ab2; 4 | $c2: #547ab2; 5 | $c3: #3eacab; 6 | $c4: #3eacab; 7 | $c5: #3eacab; 8 | $c6: #3eacab; 9 | $c7: #5a5050; 10 | 11 | figure { 12 | overflow-x: auto; 13 | } 14 | 15 | td.gutter { 16 | width: 50px; 17 | } 18 | 19 | code, 20 | pre { 21 | font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; 22 | } 23 | 24 | pre { 25 | font-size: 14px; 26 | line-height: 2em; 27 | margin-bottom: 0; 28 | padding: 15px; 29 | border: 0; 30 | border-radius: 0px; 31 | tab-size: 4; 32 | color: $theme; 33 | background: transparent; 34 | background-size: auto 4em; 35 | background-origin: content-box; 36 | background-image: linear-gradient($bg 50%, transparent 0); 37 | .comment { 38 | color: lighten($theme, 30%); 39 | } 40 | .line { 41 | height: 30px; 42 | } 43 | } 44 | 45 | code { 46 | word-wrap: break-word; 47 | line-height: 2em; 48 | font-size: .97em; 49 | color: $theme; 50 | background: $bg; 51 | } 52 | 53 | 54 | 55 | pre .variable, 56 | pre .attribute, 57 | pre .tag, 58 | pre .regexp, 59 | pre .ruby .constant, 60 | pre .xml .tag .title, 61 | pre .xml .pi, 62 | pre .xml .doctype, 63 | pre .html .doctype, 64 | pre .css .id, 65 | pre .css .class, 66 | pre .css .pseudo { 67 | color: $c1; 68 | } 69 | 70 | pre .keyword, 71 | pre .javascript .function { 72 | color: $c2; 73 | } 74 | 75 | pre .number, 76 | pre .preprocessor, 77 | pre .built_in, 78 | pre .literal, 79 | pre .params, 80 | pre .constant { 81 | color: $c3; 82 | } 83 | 84 | pre .ruby .class .title, 85 | pre .css .rules .attribute { 86 | color: $c4; 87 | } 88 | 89 | pre .title, 90 | pre .css .hexcolor { 91 | color: $c5; 92 | } 93 | 94 | pre .string, 95 | pre .value, 96 | pre .inheritance, 97 | pre .header, 98 | pre .ruby .symbol, 99 | pre .xml .cdata { 100 | color: $c6; 101 | } 102 | 103 | pre .function, 104 | pre .python .decorator, 105 | pre .python .title, 106 | pre .ruby .function .title, 107 | pre .ruby .title .keyword, 108 | pre .perl .sub, 109 | pre .javascript .title, 110 | pre .coffeescript .title { 111 | color: $c7; 112 | } 113 | 114 | @media screen and (max-width:782px) { 115 | figure { 116 | width: 110%; 117 | margin-left: -5%; 118 | } 119 | pre { 120 | font-size: 1.2rem; 121 | line-height: 18px; 122 | padding: 10px; 123 | background-size: auto 36px; 124 | } 125 | code { 126 | line-height: 1.9em; 127 | } 128 | } 129 | -------------------------------------------------------------------------------- /source/css/footer.scss: -------------------------------------------------------------------------------- 1 | @mixin tran($dg: 270deg) { 2 | transform: rotate($dg); 3 | -webkit-transform: rotate($dg); 4 | -moz-transform: rotate($dg); 5 | -o-transform: rotate($dg); 6 | } 7 | 8 | .right-foot { 9 | font-family: 'Pacifico', Arial, sans-serif; 10 | position: fixed; 11 | z-index: 0; 12 | transform-origin: top right; 13 | -webkit-transform-origin: top right; 14 | -moz-transform-origin: top right; 15 | -o-transform-origin: top right; 16 | bottom: 0%; 17 | right: calc(50% - 391px); 18 | transform: rotate(270deg) translateX(100%); 19 | -webkit-transform: rotate(270deg) translateX(100%); 20 | -moz-transform: rotate(270deg) translateX(100%); 21 | -o-transform: rotate(270deg) translateX(100%); 22 | } 23 | 24 | .firstrow, 25 | .secondrow { 26 | display: inline-block; 27 | line-height: 1; 28 | vertical-align: top; 29 | } 30 | 31 | @media screen and (max-width:782px) { 32 | .right-foot { 33 | font-size: 26px !important; 34 | line-height: 35px; 35 | position: relative; 36 | bottom: 0; 37 | left: 0; 38 | margin: 20px 0 30px; 39 | @include tran(0); 40 | text-align: center; 41 | } 42 | .i-caret-right { 43 | @include tran; 44 | } 45 | .firstrow, 46 | .secondrow { 47 | display: block; 48 | } 49 | } -------------------------------------------------------------------------------- /source/css/m.min.css: -------------------------------------------------------------------------------- 1 | @import"https://fonts.googleapis.com/css?family=Open+Sans|Open+Sans+Condensed:300,700|Pacifico";.navbar{position:fixed;z-index:2;top:0;left:0;width:100%;background-color:#fff;flex-direction:column;border:0 !important;box-shadow:0 0 8px rgba(209,205,199,.5)}.navbar-right .dropdown-content{margin-left:-175px}.navbar,.navbar-header,.navbar-nav,.local-search-result,.nav-container{display:flex}.navbar-nav{align-items:center}.navbar-brand,.dropdown-toggle,.archives>a{display:block;color:#777;padding:15px}.archives>a>svg{display:block}.nav-container{justify-content:space-between;flex-direction:row;width:100%;padding:0 5%;height:52px}.navbar-left,.navbar-right{flex-grow:0}.dropdown-toggle{height:52px}.dropdown-toggle svg{height:22px;width:22px}.dropdown-content{position:absolute;top:calc(100% + 0px);max-height:calc(100vh - 50px);overflow-y:auto;display:block;visibility:hidden;width:220px;margin:0;padding:0;background-color:#fff;box-shadow:0 0 8px rgba(209,205,199,.5);clip-path:polygon(-100% 0.5px, 200% 0.5px, 200% 200%, -100% 200%);border-bottom:1px solid #eee}.dropdown-content a{display:block;width:100%;height:100%;padding:18px 25px}.dropdown-content a:hover{background:#2570a1;color:#e7e7e7}@media screen and (max-width: 782px){.navbar-left{order:0;flex-grow:2;justify-content:space-around;float:left}.navbar-right{order:2;flex-grow:1;justify-content:space-around;float:right}.navbar-right .dropdown-content{margin-left:0}.navbar-header{order:1}.nav-container{padding:0;display:flex;justify-content:space-around}.navbar-nav .open .dropdown-menu>a{line-height:40px}.dropdown-content{position:absolute;top:0;left:0;display:flex;flex-direction:column;max-height:100vh;height:100vh;width:100%;text-align:center;justify-content:center}.archives{display:none}}@media(min-width: 768px){.navbar-right{margin-right:0}}#site_search{display:flex;margin:9px 15px 7px;flex-grow:1}#local-search-input{display:block;width:100%;padding:6px 12px;line-height:1.43;color:#555;font-size:14px;border:0;border-radius:0;background:#fbfbfa;transition:all .2s;box-shadow:inset 3px 3px 8px rgba(209,205,199,.25);font-family:"Open Sans",-apple-system,BlinkMacSystemFont,"PingFang SC",STHeiti,"Helvetica Neue","Microsoft Yahei",Tahoma,Simsun,sans-serif}#local-search-input:focus{outline:0}@media screen and (max-width: 782px){#site_search{display:none}}.post-item{padding:10px 0}.index-title{font-size:34px;line-height:32px}.excerpt{font-size:18px;line-height:1.95em;padding:10px 0;letter-spacing:.6px;color:#555}.index-meta{padding-bottom:30px}@media screen and (max-width: 782px){.excerpt{font-size:16px;line-height:1.9em}}.pager,.prev,.page-number,.next,.space{display:flex}.prev,.page-number,.next{padding:10px 25px}a.page-number:hover,a.next:hover,a.prev:hover{transition:background-color .2s,color .2s;background-color:#337ab7;color:#e7e7e7}.pager{margin:0 52px 32px;z-index:1;flex-direction:row;justify-content:space-between;background-color:#fff;box-shadow:0 0 8px rgba(209,205,199,.35)}.pager a{color:#333}.space{padding:10px 0}@media screen and (max-width: 782px){.pager{font-size:26px;line-height:35px;position:relative;bottom:0;left:0;margin:0 4px 20px;-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-o-transform:rotate(0deg);text-align:center;letter-spacing:1px}.prev,.page-number,.next{padding:10px}.space{padding:10px 0}}.right-foot{font-family:"Pacifico",Arial,sans-serif;position:fixed;z-index:0;transform-origin:top right;-webkit-transform-origin:top right;-moz-transform-origin:top right;-o-transform-origin:top right;bottom:0%;right:calc(50% - 391px);transform:rotate(270deg) translateX(100%);-webkit-transform:rotate(270deg) translateX(100%);-moz-transform:rotate(270deg) translateX(100%);-o-transform:rotate(270deg) translateX(100%)}.firstrow,.secondrow{display:inline-block;line-height:1;vertical-align:top}@media screen and (max-width: 782px){.right-foot{font-size:26px !important;line-height:35px;position:relative;bottom:0;left:0;margin:20px 0 30px;transform:rotate(0);-webkit-transform:rotate(0);-moz-transform:rotate(0);-o-transform:rotate(0);text-align:center}.i-caret-right{transform:rotate(270deg);-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-o-transform:rotate(270deg)}.firstrow,.secondrow{display:block}}figure{overflow-x:auto}td.gutter{width:50px}code,pre{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}pre{font-size:14px;line-height:2em;margin-bottom:0;padding:15px;border:0;border-radius:0px;tab-size:4;color:#555;background:transparent;background-size:auto 4em;background-origin:content-box;background-image:linear-gradient(#F1F3F5 50%, transparent 0)}pre .comment{color:#a2a2a2}pre .line{height:30px}code{word-wrap:break-word;line-height:2em;font-size:.97em;color:#555;background:#f1f3f5}pre .variable,pre .attribute,pre .tag,pre .regexp,pre .ruby .constant,pre .xml .tag .title,pre .xml .pi,pre .xml .doctype,pre .html .doctype,pre .css .id,pre .css .class,pre .css .pseudo{color:#547ab2}pre .keyword,pre .javascript .function{color:#547ab2}pre .number,pre .preprocessor,pre .built_in,pre .literal,pre .params,pre .constant{color:#3eacab}pre .ruby .class .title,pre .css .rules .attribute{color:#3eacab}pre .title,pre .css .hexcolor{color:#3eacab}pre .string,pre .value,pre .inheritance,pre .header,pre .ruby .symbol,pre .xml .cdata{color:#3eacab}pre .function,pre .python .decorator,pre .python .title,pre .ruby .function .title,pre .ruby .title .keyword,pre .perl .sub,pre .javascript .title,pre .coffeescript .title{color:#5a5050}@media screen and (max-width: 782px){figure{width:110%;margin-left:-5%}pre{font-size:1.2rem;line-height:18px;padding:10px;background-size:auto 36px}code{line-height:1.9em}}.dropdown-toggle,.dropdown-menu,.open,a,a:hover,a:focus{transition:.2s ease-in-out}.dropdown-content{-webkit-transition:all .3s ease-out;-moz-transition:all .3s ease-out;-ms-transition:all .3s ease-out;-o-transition:all .3s ease-out;transition:all .3s ease-out}.dropdown-content{-webkit-transform:translateY(1px);-moz-transform:translateY(1px);-ms-transform:translateY(1px);-o-transform:translateY(1px);transform:translateY(1px);opacity:0}.dropdown-content.open{visibility:visible;-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);-o-transform:translateY(0);transform:translateY(0);opacity:1}.toc{position:fixed;top:50%;left:calc(50% - 391px);text-align:right;transform:translate(-100%, -50%);padding:4em 0;padding-right:2em;overflow:auto;max-height:100%}.toc-text{color:#acacab;transition:color .3s}.toc-level-1 .toc-text,.toc-level-2 .toc-text{font-weight:400}.toc-level-3 .toc-text,.toc-level-4 .toc-text,.toc-level-5 .toc-text,.toc-level-6 .toc-text{font-weight:300}.toc:hover .toc-text{color:#2570a1}.toc ol,ul{padding-right:.5em}.toc-item:before{content:"" !important}@media screen and (max-width: 1200px){.toc{display:none}}::selection{background:#a7d0eb}::-moz-selection{background:#a7d0eb}::-webkit-selection{background:#a7d0eb}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}h1,h2,h3,h4,h5,h6{font-weight:bold;margin:2.36em 0 1em;font-size:26px;color:#1a1a1a}h1{font-size:32px}.index-title,.navbar-brand,.section-year,.archive-title,.dropdown-content,.pager,.page-title,h1,h2,h3,h4,h5,h6,.toc,.index-meta,.meta,.description,.busuanzi,.archive-num{font-family:"Open Sans Condensed",Futura,AvenirNext,Avenir,sans-serif}article,figure,footer,nav,section{display:block}body{overflow-x:hidden;font-size:18px;font-family:"Open Sans",-apple-system,BlinkMacSystemFont,"PingFang SC",STHeiti,"Helvetica Neue","Microsoft Yahei",Tahoma,Simsun,sans-serif;background-color:#fdfefe;margin:0;padding:0;vertical-align:baseline;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;text-size-adjust:100%;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;word-wrap:break-word}.archive-time{background-color:#fdfefe}.index-title,.archive-link,.dropdown-content,.index-meta,.current{font-weight:700 !important}p,.excerpt,.meta,.post li{font-weight:400}.navbar-brand,.right-foot,.pager{font-size:18px}.busuanzi,.behind,.dropdown-content,.meta{font-weight:300}a{background-color:transparent;text-decoration:none}a,a:hover,a:focus{color:#2570a1}p{margin:.7em 0;color:#444;padding:0;border:0;outline:0;background:transparent;text-justify:auto}.post ul li{position:relative;line-height:2em;color:#5e5e5e}.post ul li:before{position:absolute;top:0;left:-1em;content:"·"}ul li,.toc li{list-style-type:none;list-style:none}ol,ul{margin-top:0;margin-bottom:10px}ul{padding-inline-start:40px}ul.posts{padding:52px 52px 0}.behind{padding:28px 0 0;word-spacing:2px;color:#9c9c9c;line-height:1}.behind .description{font-size:26px;color:#cdd2d4;font-weight:300}.back{position:fixed;top:28px;left:5%;height:22px;width:22px}.center,.behind,.archive-title,.archive-num,.picture-container{text-align:center}.meta{font-size:18px;color:#9c9c9c;padding-top:13px}.meta a{color:#2f8dca}.black-color{color:#000}.archive-num{padding:10px 0;color:#9c9c9c}.archive-list{padding:10px 0}.archive-item{display:flex;flex-direction:row;align-items:center;justify-content:center}.archive-time{font-size:18px;width:40%;margin-right:20px;text-align:right;color:#b6b6b6}.archive-detail{font-size:18px;width:90%;padding:0 20px;word-wrap:break-word;border-left:1px solid #b6b6b6}article{padding:40px 0}blockquote{margin:30px 0;font-style:italic;padding:0;padding-left:3rem;border:0}blockquote p{color:#1a1a1a;text-indent:0;line-height:1.6;font-size:26px}table{width:100%}img,object,article.post iframe,video{position:relative;left:50%;transform:translateX(-50%);max-width:100vh;max-height:62vh}img{display:block;height:auto;position:relative;left:50%;max-width:100%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.busuanzi{font-size:18px;line-height:18px;margin:30px 0;color:#cdd2d4}.index-meta{vertical-align:middle;line-height:1.2}.main-ctnr{max-width:750px;position:relative;left:calc(50% - 375px)}.standard,.archive,.archive-title,#disqus_thread{padding:0 6% 0 7%}.archive-title{padding-top:52px}p,.post li{font-size:18px;line-height:1.9em}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}hr:last-child{border-color:transparent}@media screen and (max-width: 782px){.main-ctnr{left:0}.back,li.archives,.busuanzi{display:none}.behind{padding:12px 0;opacity:0}.archive-title{font-size:32px}ul.posts{padding:52px 26px 0}.post ul{margin-left:-10px}}/*# sourceMappingURL=m.min.css.map */ 2 | -------------------------------------------------------------------------------- /source/css/m.min.css.map: -------------------------------------------------------------------------------- 1 | {"version":3,"sourceRoot":"","sources":["main.scss","navigator.scss","search.scss","posts.scss","pager.scss","footer.scss","code.scss","animation.scss","toc.scss"],"names":[],"mappings":"CAwDQ,gGCrDR,QACI,eACA,UACA,MACA,OACA,WACA,iBATC,KAUD,sBACA,oBACA,wCAGJ,gCACI,mBAGJ,uEAKI,aAGJ,YACI,mBAGJ,2CAGI,cACA,WACA,aAGJ,gBACI,cAGJ,eACI,8BACA,mBACA,WACA,aACA,YAGJ,2BAEI,YAGJ,iBACI,YACA,qBACI,YACA,WAIR,kBACI,kBACA,qBACA,8BACA,gBACA,cACA,kBACA,YACA,SACA,UACA,iBA1EC,KA2ED,wCACA,kEACA,6BACA,oBACI,cACA,WACA,YACA,kBAEJ,0BACI,mBACA,cAIR,qCACI,aACI,QACA,YACA,6BACA,WAEJ,cACI,QACA,YACA,6BACA,YACA,gCACI,cAGR,eACI,QAEJ,eACI,UACA,aACA,6BAEJ,mCACI,iBAEJ,kBACI,kBACA,MACA,OACA,aACA,sBACA,iBACA,aACA,WACA,kBACA,uBAEJ,UACI,cAIR,yBACI,cACI,gBCxIR,aACI,aACA,oBACA,YAGJ,oBACI,cACA,WACA,iBACA,iBACA,WACA,eACA,SACA,gBACA,mBACA,mBACA,mDACA,2IACA,0BACI,UAIR,qCACI,aACI,cCxBR,WACI,eAGJ,aACI,eACA,iBAGJ,SACI,eACA,mBACA,eACA,oBACA,MAhBA,KAmBJ,YACI,oBAGJ,qCAII,SACI,eACA,mBCvBR,uCAKI,aAGJ,yBAGI,kBAGJ,8CAGI,0CACA,iBArBM,QAsBN,MArBK,QAwBT,OACI,mBACA,UACA,mBACA,8BACA,iBAjCC,KAkCD,yCACA,SACI,MAnCJ,KAuCJ,OACI,eAGJ,qCACI,OACI,eACA,iBACA,kBACA,SACA,OACA,kBACA,+BACA,4BACA,0BACA,kBACA,mBAEJ,yBAGI,aAEJ,OACI,gBCzDR,YACI,wCACA,eACA,UACA,2BACA,mCACA,gCACA,8BACA,UACA,wBACA,0CACA,kDACA,+CACA,6CAGJ,qBAEI,qBACA,cACA,mBAGJ,qCACI,YACI,0BACA,iBACA,kBACA,SACA,OACA,mBApCJ,oBACA,4BACA,yBACA,uBAmCI,kBAEJ,eAxCA,yBACA,iCACA,8BACA,4BAwCA,qBAEI,eCpCR,OACI,gBAGJ,UACI,WAGJ,SAEI,0DAGJ,IACI,eACA,gBACA,gBACA,aACA,SACA,kBACA,WACA,MA9BI,KA+BJ,uBACA,yBACA,8BACA,6DACA,aACI,cAEJ,UACI,YAIR,KACI,qBACA,gBACA,gBACA,MA/CI,KAgDJ,WAjDC,QAsDL,2LAYI,MAhEC,QAmEL,uCAEI,MApEC,QAuEL,mFAMI,MA5EC,QA+EL,mDAEI,MAhFC,QAmFL,8BAEI,MApFC,QAuFL,sFAMI,MA5FC,QA+FL,4KAQI,MAtGC,QAyGL,qCACI,OACI,WACA,gBAEJ,IACI,iBACA,iBACA,aACA,0BAEJ,KACI,mBCrHR,wDAMI,2BAGJ,kBACI,oCACA,iCACA,gCACA,+BACA,4BAGJ,kBAxBI,kCACA,+BACA,8BACA,6BACA,0BAsBA,UAGJ,uBACI,mBA9BA,gCACA,6BACA,4BACA,2BACA,wBA4BA,UCjCJ,KACE,eACA,QACA,uBACA,iBACA,iCACA,cACA,kBACA,cACA,gBAGF,UACE,cACA,qBAGF,8CAEE,gBAGF,4FAIE,gBAGF,qBACE,cAGF,WACI,mBAGJ,iBACI,sBAIJ,sCACE,KACE,cR5BJ,YACI,mBAGJ,iBACI,mBAGJ,oBACI,mBAGJ,EACI,8BACA,2BACA,sBAGJ,KACI,uBACA,8BACA,0BAGJ,kBAMI,iBACA,oBACA,UAlCE,KAmCF,cAGJ,GACI,UAxCE,KA6CN,0KAmBI,sEAGJ,kCACI,cAGJ,KACI,kBACA,UAvEI,KAwEJ,2IACA,iBAhFS,QAiFT,SACA,UACA,wBACA,kCACA,mCACA,sBACA,kCACA,wCACA,qBAGJ,cACI,iBA7FS,QAgGb,kEAKI,2BAGJ,0BAII,gBAGJ,iCAGI,UA3GI,KA8GR,0CAII,gBAGJ,EACI,6BACA,qBAGJ,kBAGI,MAnII,QAsIR,EACI,cACA,MAvIG,KAwIH,UACA,SACA,UACA,uBACA,kBAGJ,YACI,kBACA,gBACA,cAGJ,mBACI,kBACA,MACA,UACA,YAGJ,cAEI,qBACA,gBAGJ,MACI,aACA,mBAGJ,GACI,0BAGJ,SACI,oBAGJ,QACI,iBACA,iBACA,MAjLM,QAkLN,cACA,qBACI,UAjLF,KAkLE,MApLG,QAqLH,gBAIR,MACI,eACA,SACA,QACA,YACA,WAGJ,+DAKI,kBAGJ,MACI,UAvMI,KAwMJ,MA5MM,QA6MN,iBACA,QACI,cAIR,aACI,WAGJ,aACI,eACA,MAzNM,QA4NV,cACI,eAGJ,cACI,aACA,mBACA,mBACA,uBAGJ,cACI,UApOI,KAqOJ,UACA,kBACA,iBACA,cAGJ,gBACI,UA5OI,KA6OJ,UACA,eACA,qBACA,8BAGJ,QACI,eAGJ,WACI,cACA,kBACA,UACA,kBACA,SACA,aACI,cACA,cACA,gBACA,UAlQF,KAwQN,MACI,WAGJ,qCAII,kBACA,SACA,2BACA,gBACA,gBAGJ,IACI,cACA,YACA,kBACA,SACA,eACA,mCACA,+BACA,2BAGJ,UACI,UAlSI,KAmSJ,YAnSI,KAoSJ,cACA,MAxSO,QA2SX,YACI,sBACA,gBAGJ,WACI,gBACA,kBACA,uBAGJ,iDAII,kBAGJ,eACI,iBAGJ,WAEI,UAhUI,KAiUJ,kBAGJ,GACI,SACA,+BACA,4BACA,uBACA,gBACA,mBACA,SACA,0BAGJ,cACI,yBAGJ,qCACI,WACI,OAEJ,4BAGI,aAEJ,QACI,eACA,UAEJ,eACI,UAnWF,KAqWF,SACI,oBAEJ,SACI","file":"m.min.css"} -------------------------------------------------------------------------------- /source/css/main.scss: -------------------------------------------------------------------------------- 1 | @import "navigator"; 2 | @import "search"; 3 | @import "posts"; 4 | @import "pager"; 5 | @import "footer"; 6 | @import "code"; 7 | @import "animation"; 8 | @import "toc"; 9 | $background: #fdfefe; 10 | $theme: #2570a1; 11 | $para: #444; 12 | $lighter: #9c9c9c; 13 | $lightest: #cdd2d4; 14 | $big: 32px; 15 | $mid: 26px; 16 | $small: 18px; 17 | ::selection { 18 | background: lighten($theme, 40%); 19 | } 20 | 21 | ::-moz-selection { 22 | background: lighten($theme, 40%); 23 | } 24 | 25 | ::-webkit-selection { 26 | background: lighten($theme, 40%); 27 | } 28 | 29 | * { 30 | -webkit-box-sizing: border-box; 31 | -moz-box-sizing: border-box; 32 | box-sizing: border-box 33 | } 34 | 35 | html { 36 | font-family: sans-serif; 37 | -webkit-text-size-adjust: 100%; 38 | -ms-text-size-adjust: 100% 39 | } 40 | 41 | h1, 42 | h2, 43 | h3, 44 | h4, 45 | h5, 46 | h6 { 47 | font-weight: bold; 48 | margin: 2.36em 0 1em; 49 | font-size: $mid; 50 | color: #1a1a1a; 51 | } 52 | 53 | h1 { 54 | font-size: $big; 55 | } 56 | 57 | @import url(https://fonts.googleapis.com/css?family=Open+Sans|Open+Sans+Condensed:300,700|Pacifico); 58 | 59 | .index-title, 60 | .navbar-brand, 61 | .section-year, 62 | .archive-title, 63 | .dropdown-content, 64 | .pager, 65 | .page-title, 66 | h1, 67 | h2, 68 | h3, 69 | h4, 70 | h5, 71 | h6, 72 | .toc, 73 | .index-meta, 74 | .meta, 75 | .description, 76 | .busuanzi, 77 | .archive-num { 78 | font-family: 'Open Sans Condensed', Futura, AvenirNext, Avenir, sans-serif; 79 | } 80 | 81 | article,figure,footer,nav,section { 82 | display: block 83 | } 84 | 85 | body { 86 | overflow-x: hidden; 87 | font-size: $small; 88 | font-family: 'Open Sans', -apple-system, BlinkMacSystemFont, "PingFang SC",STHeiti,"Helvetica Neue","Microsoft Yahei",Tahoma,Simsun,sans-serif; 89 | background-color: $background; 90 | margin: 0; 91 | padding: 0; 92 | vertical-align: baseline; 93 | text-rendering: optimizeLegibility; 94 | -webkit-font-smoothing: antialiased; 95 | text-size-adjust: 100%; 96 | -moz-osx-font-smoothing: grayscale; 97 | -webkit-tap-highlight-color: transparent; 98 | word-wrap: break-word; 99 | } 100 | 101 | .archive-time { 102 | background-color: $background; 103 | } 104 | 105 | .index-title, 106 | .archive-link, 107 | .dropdown-content, 108 | .index-meta, 109 | .current { 110 | font-weight: 700 !important; 111 | } 112 | 113 | p, 114 | .excerpt, 115 | .meta, 116 | .post li { 117 | font-weight: 400; 118 | } 119 | 120 | .navbar-brand, 121 | .right-foot, 122 | .pager { 123 | font-size: $small; 124 | } 125 | 126 | .busuanzi, 127 | .behind, 128 | .dropdown-content, 129 | .meta { 130 | font-weight: 300; 131 | } 132 | 133 | a { 134 | background-color: transparent; 135 | text-decoration: none 136 | } 137 | 138 | a, 139 | a:hover, 140 | a:focus { 141 | color: $theme; 142 | } 143 | 144 | p { 145 | margin: .7em 0; 146 | color: $para; 147 | padding: 0; 148 | border: 0; 149 | outline: 0; 150 | background: transparent; 151 | text-justify: auto; 152 | } 153 | 154 | .post ul li { 155 | position: relative; 156 | line-height: 2em; 157 | color: lighten($para, 10%); 158 | } 159 | 160 | .post ul li:before { 161 | position: absolute; 162 | top: 0; 163 | left: -1em; 164 | content: '·'; 165 | } 166 | 167 | ul li, 168 | .toc li { 169 | list-style-type: none; 170 | list-style: none; 171 | } 172 | 173 | ol, ul { 174 | margin-top: 0; 175 | margin-bottom: 10px 176 | } 177 | 178 | ul { 179 | padding-inline-start: 40px; 180 | } 181 | 182 | ul.posts { 183 | padding: 52px 52px 0; 184 | } 185 | 186 | .behind { 187 | padding: 28px 0 0; 188 | word-spacing: 2px; 189 | color: $lighter; 190 | line-height: 1; 191 | .description { 192 | font-size: $mid; 193 | color: $lightest; 194 | font-weight: 300; 195 | } 196 | } 197 | 198 | .back { 199 | position: fixed; 200 | top: 28px; 201 | left: 5%; 202 | height: 22px; 203 | width: 22px; 204 | } 205 | 206 | .center, 207 | .behind, 208 | .archive-title, 209 | .archive-num, 210 | .picture-container { 211 | text-align: center; 212 | } 213 | 214 | .meta { 215 | font-size: $small; 216 | color: $lighter; 217 | padding-top: 13px; 218 | a { 219 | color: lighten($theme, 10%); 220 | } 221 | } 222 | 223 | .black-color { 224 | color: black; 225 | } 226 | 227 | .archive-num { 228 | padding: 10px 0; 229 | color: $lighter; 230 | } 231 | 232 | .archive-list { 233 | padding: 10px 0; 234 | } 235 | 236 | .archive-item { 237 | display: flex; 238 | flex-direction: row; 239 | align-items: center; 240 | justify-content: center; 241 | } 242 | 243 | .archive-time { 244 | font-size: $small; 245 | width: 40%; 246 | margin-right: 20px; 247 | text-align: right; 248 | color: lighten($lighter, 10%); 249 | } 250 | 251 | .archive-detail { 252 | font-size: $small; 253 | width: 90%; 254 | padding: 0 20px; 255 | word-wrap: break-word; 256 | border-left: 1px solid lighten($lighter, 10%); 257 | } 258 | 259 | article { 260 | padding: 40px 0; 261 | } 262 | 263 | blockquote { 264 | margin: 30px 0; 265 | font-style: italic; 266 | padding: 0; 267 | padding-left: 3rem; 268 | border: 0; 269 | p { 270 | color: #1a1a1a; 271 | text-indent: 0; 272 | line-height: 1.6; 273 | font-size: $mid; 274 | } 275 | } 276 | 277 | 278 | 279 | table { 280 | width: 100%; 281 | } 282 | 283 | img, 284 | object, 285 | article.post iframe, 286 | video { 287 | position: relative; 288 | left: 50%; 289 | transform: translateX(-50%); 290 | max-width: 100vh; 291 | max-height: 62vh; 292 | } 293 | 294 | img { 295 | display: block; 296 | height: auto; 297 | position: relative; 298 | left: 50%; 299 | max-width: 100%; 300 | -webkit-transform: translateX(-50%); 301 | -ms-transform: translateX(-50%); 302 | transform: translateX(-50%); 303 | } 304 | 305 | .busuanzi { 306 | font-size: $small; 307 | line-height: $small; 308 | margin: 30px 0; 309 | color: $lightest; 310 | } 311 | 312 | .index-meta { 313 | vertical-align: middle; 314 | line-height: 1.2; 315 | } 316 | 317 | .main-ctnr { 318 | max-width: 750px; 319 | position: relative; 320 | left: calc(50% - 375px) 321 | } 322 | 323 | .standard, 324 | .archive, 325 | .archive-title, 326 | #disqus_thread { 327 | padding: 0 6% 0 7%; 328 | } 329 | 330 | .archive-title { 331 | padding-top: 52px; 332 | } 333 | 334 | p, 335 | .post li { 336 | font-size: $small; 337 | line-height: 1.9em; 338 | } 339 | 340 | hr { 341 | height: 0; 342 | -webkit-box-sizing: content-box; 343 | -moz-box-sizing: content-box; 344 | box-sizing: content-box; 345 | margin-top: 20px; 346 | margin-bottom: 20px; 347 | border: 0; 348 | border-top: 1px solid #eee 349 | } 350 | 351 | hr:last-child { 352 | border-color: transparent 353 | } 354 | 355 | @media screen and (max-width:782px) { 356 | .main-ctnr { 357 | left: 0; 358 | } 359 | .back, 360 | li.archives, 361 | .busuanzi { 362 | display: none; 363 | } 364 | .behind { 365 | padding: 12px 0; 366 | opacity: 0; 367 | } 368 | .archive-title { 369 | font-size: $big; 370 | } 371 | ul.posts { 372 | padding: 52px 26px 0; 373 | } 374 | .post ul { 375 | margin-left: -10px; 376 | } 377 | } 378 | -------------------------------------------------------------------------------- /source/css/navigator.scss: -------------------------------------------------------------------------------- 1 | $bg: #fff; 2 | $bordr: #eee; 3 | 4 | .navbar { 5 | position: fixed; 6 | z-index: 2; 7 | top: 0; 8 | left: 0; 9 | width: 100%; 10 | background-color: $bg; 11 | flex-direction: column; 12 | border: 0 !important; 13 | box-shadow: 0 0 8px rgba(209, 205, 199, .5); 14 | } 15 | 16 | .navbar-right .dropdown-content { 17 | margin-left: -175px; 18 | } 19 | 20 | .navbar, 21 | .navbar-header, 22 | .navbar-nav, 23 | .local-search-result, 24 | .nav-container { 25 | display: flex; 26 | } 27 | 28 | .navbar-nav { 29 | align-items: center; 30 | } 31 | 32 | .navbar-brand, 33 | .dropdown-toggle, 34 | .archives > a { 35 | display: block; 36 | color: #777; 37 | padding: 15px; 38 | } 39 | 40 | .archives > a > svg { 41 | display: block; 42 | } 43 | 44 | .nav-container { 45 | justify-content: space-between; 46 | flex-direction: row; 47 | width: 100%; 48 | padding: 0 5%; 49 | height: 52px; 50 | } 51 | 52 | .navbar-left, 53 | .navbar-right { 54 | flex-grow: 0; 55 | } 56 | 57 | .dropdown-toggle { 58 | height: 52px; 59 | svg { 60 | height: 22px; 61 | width: 22px; 62 | } 63 | } 64 | 65 | .dropdown-content { 66 | position: absolute; 67 | top: calc(100% + 0px); 68 | max-height: calc(100vh - 50px); 69 | overflow-y: auto; 70 | display: block; 71 | visibility: hidden; 72 | width: 220px; 73 | margin: 0; 74 | padding: 0; 75 | background-color: $bg; 76 | box-shadow: 0 0 8px rgba(209, 205, 199, .5); 77 | clip-path: polygon(-100% .5px, 200% .5px, 200% 200%, -100% 200%); 78 | border-bottom: 1px solid $bordr; 79 | a { 80 | display: block; 81 | width: 100%; 82 | height: 100%; 83 | padding: 18px 25px; 84 | } 85 | a:hover { 86 | background: #2570a1; 87 | color: #e7e7e7; 88 | } 89 | } 90 | 91 | @media screen and (max-width:782px) { 92 | .navbar-left { 93 | order: 0; 94 | flex-grow: 2; 95 | justify-content: space-around; 96 | float: left; 97 | } 98 | .navbar-right { 99 | order: 2; 100 | flex-grow: 1; 101 | justify-content: space-around; 102 | float: right; 103 | .dropdown-content { 104 | margin-left: 0; 105 | } 106 | } 107 | .navbar-header { 108 | order: 1; 109 | } 110 | .nav-container { 111 | padding: 0; 112 | display: flex; 113 | justify-content: space-around; 114 | } 115 | .navbar-nav .open .dropdown-menu > a { 116 | line-height: 40px; 117 | } 118 | .dropdown-content { 119 | position: absolute; 120 | top: 0; 121 | left: 0; 122 | display: flex; 123 | flex-direction: column; 124 | max-height: 100vh; 125 | height: 100vh; 126 | width: 100%; 127 | text-align: center; 128 | justify-content: center; 129 | } 130 | .archives { 131 | display: none; 132 | } 133 | } 134 | 135 | @media (min-width: 768px) { 136 | .navbar-right { 137 | margin-right: 0; 138 | } 139 | } 140 | -------------------------------------------------------------------------------- /source/css/pager.scss: -------------------------------------------------------------------------------- 1 | $bg: #fff; 2 | $a: #333; 3 | $bordr: #e7e7e7; 4 | $hoverbg: #337ab7; 5 | $hovera: #e7e7e7; 6 | 7 | .pager, 8 | .prev, 9 | .page-number, 10 | .next, 11 | .space { 12 | display: flex; 13 | } 14 | 15 | .prev, 16 | .page-number, 17 | .next { 18 | padding: 10px 25px; 19 | } 20 | 21 | a.page-number:hover, 22 | a.next:hover, 23 | a.prev:hover { 24 | transition: background-color .2s, color .2s; 25 | background-color: $hoverbg; 26 | color: $hovera; 27 | } 28 | 29 | .pager { 30 | margin: 0 52px 32px; 31 | z-index: 1; 32 | flex-direction: row; 33 | justify-content: space-between; 34 | background-color: $bg; 35 | box-shadow: 0 0 8px rgba(209, 205, 199, .35); 36 | a { 37 | color: $a; 38 | } 39 | } 40 | 41 | .space { 42 | padding: 10px 0; 43 | } 44 | 45 | @media screen and (max-width:782px) { 46 | .pager { 47 | font-size: 26px; 48 | line-height: 35px; 49 | position: relative; 50 | bottom: 0; 51 | left: 0; 52 | margin: 0 4px 20px; 53 | -webkit-transform: rotate(0deg); 54 | -moz-transform: rotate(0deg); 55 | -o-transform: rotate(0deg); 56 | text-align: center; 57 | letter-spacing: 1px; 58 | } 59 | .prev, 60 | .page-number, 61 | .next { 62 | padding: 10px; 63 | } 64 | .space { 65 | padding: 10px 0; 66 | } 67 | } 68 | -------------------------------------------------------------------------------- /source/css/posts.scss: -------------------------------------------------------------------------------- 1 | $a: #555; 2 | 3 | .post-item { 4 | padding: 10px 0; 5 | } 6 | 7 | .index-title { 8 | font-size: 34px; 9 | line-height: 32px; 10 | } 11 | 12 | .excerpt { 13 | font-size: 18px; 14 | line-height: 1.95em; 15 | padding: 10px 0; 16 | letter-spacing: .6px; 17 | color: $a; 18 | } 19 | 20 | .index-meta { 21 | padding-bottom: 30px; 22 | } 23 | 24 | @media screen and (max-width:782px) { 25 | // .index-title { 26 | // width: 80%; 27 | // } 28 | .excerpt { 29 | font-size: 16px; 30 | line-height: 1.9em; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /source/css/search.scss: -------------------------------------------------------------------------------- 1 | #site_search { 2 | display: flex; 3 | margin: 9px 15px 7px; 4 | flex-grow: 1; 5 | } 6 | 7 | #local-search-input { 8 | display: block; 9 | width: 100%; 10 | padding: 6px 12px; 11 | line-height: 1.43; 12 | color: #555; 13 | font-size: 14px; 14 | border: 0; 15 | border-radius: 0; 16 | background: #fbfbfa; 17 | transition: all .2s; 18 | box-shadow: inset 3px 3px 8px rgba(209, 205, 199, .25); 19 | font-family: "Open Sans",-apple-system,BlinkMacSystemFont,"PingFang SC",STHeiti,"Helvetica Neue","Microsoft Yahei",Tahoma,Simsun,sans-serif; 20 | &:focus { 21 | outline: 0; 22 | } 23 | } 24 | 25 | @media screen and (max-width:782px) { 26 | #site_search { 27 | display: none; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /source/css/toc.scss: -------------------------------------------------------------------------------- 1 | .toc { 2 | position: fixed; 3 | top: 50%; 4 | left: calc(50% - 391px); 5 | text-align: right; 6 | transform: translate(-100%, -50%); 7 | padding: 4em 0; 8 | padding-right: 2em; 9 | overflow: auto; 10 | max-height: 100%; 11 | } 12 | 13 | .toc-text { 14 | color: #ACACAB; 15 | transition: color .3s; 16 | } 17 | 18 | .toc-level-1 .toc-text, 19 | .toc-level-2 .toc-text { 20 | font-weight: 400; 21 | } 22 | 23 | .toc-level-3 .toc-text, 24 | .toc-level-4 .toc-text, 25 | .toc-level-5 .toc-text, 26 | .toc-level-6 .toc-text { 27 | font-weight: 300; 28 | } 29 | 30 | .toc:hover .toc-text { 31 | color: #2570a1; 32 | } 33 | 34 | .toc ol, ul { 35 | padding-right: .5em; 36 | } 37 | 38 | .toc-item:before { 39 | content: '' !important; 40 | } 41 | 42 | // 小屏幕 43 | @media screen and (max-width:1200px) { 44 | .toc { 45 | display: none; 46 | } 47 | } 48 | --------------------------------------------------------------------------------