├── .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 | [](#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 |
54 |
55 |
56 |
57 |
58 |
--------------------------------------------------------------------------------
/README.zh.md:
--------------------------------------------------------------------------------
1 | # hexo-theme-pln
2 |
3 | [](#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 |
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 |
14 | <% } else { %>
15 |
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 |
44 |
45 |
46 | <%= date(post.date, 'MM-DD') %>
47 |
48 |
53 |
54 |
55 | <% }else{ %>
56 |
57 |
58 | <%= date(post.date, 'MM-DD') %>
59 |
60 |
65 |
66 |
67 | <% } %>
68 | <% }) %>
69 |
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 |
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 |
2 | <% if (item.photos.length){ %>
3 | <% item.photos.forEach(function(photo){ %>
4 |
9 | <% }); %>
10 | <% } %>
11 |
--------------------------------------------------------------------------------
/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 |
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 |
34 |
35 | <%- tags.join('·') %>
36 | <% } %>
37 |
--------------------------------------------------------------------------------
/layout/_partial/post/title.ejs:
--------------------------------------------------------------------------------
1 | <% if (item.link){ %>
2 |
7 | <% } else { %>
8 | <% if (index){ %>
9 |
14 | <% } else { %>
15 |
16 | <%= item.title %>
17 |
18 | <% } %>
19 | <% } %>
20 |
--------------------------------------------------------------------------------
/layout/_partial/search.ejs:
--------------------------------------------------------------------------------
1 |
2 |
3 |
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 |
3 | <% page.posts.each(function(item){ %>
4 | <%- partial('_partial/article', {item: item, index: true}) %>
5 | <% }); %>
6 |
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 |
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 |
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 | 
2 | 
3 | 
4 | 
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 |
--------------------------------------------------------------------------------