jekyll-text-theme 1.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/LICENSE +21 -0
- data/README.md +161 -0
- data/_includes/blog/article-data.html +43 -0
- data/_includes/blog/footer.html +14 -0
- data/_includes/blog/header.html +22 -0
- data/_includes/blog/license.html +17 -0
- data/_includes/blog/tags.html +49 -0
- data/_includes/common-head.html +7 -0
- data/_includes/head-icons-rel.html +25 -0
- data/_includes/icon/mail.svg +6 -0
- data/_includes/icon/menu.svg +3 -0
- data/_includes/icon/next.svg +3 -0
- data/_includes/icon/previous.svg +3 -0
- data/_includes/icon/social/behance.svg +3 -0
- data/_includes/icon/social/douban.svg +5 -0
- data/_includes/icon/social/facebook.svg +3 -0
- data/_includes/icon/social/flicker.svg +5 -0
- data/_includes/icon/social/github.svg +3 -0
- data/_includes/icon/social/googleplus.svg +3 -0
- data/_includes/icon/social/linkedin.svg +3 -0
- data/_includes/icon/social/pinterest.svg +3 -0
- data/_includes/icon/social/qq.svg +3 -0
- data/_includes/icon/social/twitter.svg +3 -0
- data/_includes/icon/social/weibo.svg +6 -0
- data/_includes/icon/social/weixin.svg +3 -0
- data/_includes/icon/social/zhihu.svg +3 -0
- data/_includes/info/follow-me.html +74 -0
- data/_includes/logo/logo.svg +8 -0
- data/_includes/snippets/page-url.html +1 -0
- data/_includes/snippets/rss-url.html +1 -0
- data/_includes/utils/comment-disqus.html +22 -0
- data/_includes/utils/google-analytics.html +13 -0
- data/_includes/utils/mathjax.html +5 -0
- data/_layouts/all.html +114 -0
- data/_layouts/blog-base.html +34 -0
- data/_layouts/blog-default.html +9 -0
- data/_layouts/error-404.html +9 -0
- data/_layouts/home-base.html +15 -0
- data/_layouts/home.html +92 -0
- data/_layouts/none.html +1 -0
- data/_layouts/page.html +15 -0
- data/_layouts/post.html +206 -0
- data/_sass/base/_animate.scss +19 -0
- data/_sass/base/_base.scss +55 -0
- data/_sass/base/_image&icon.scss +20 -0
- data/_sass/base/_links.scss +84 -0
- data/_sass/base/_text.scss +50 -0
- data/_sass/blog/_layout.base.scss +3 -0
- data/_sass/blog/_layout.default.scss +20 -0
- data/_sass/blog/_layout.page.scss +1 -0
- data/_sass/blog/_layout.post.scss +66 -0
- data/_sass/blog/_page.all.scss +35 -0
- data/_sass/blog/_page.error-404.scss +7 -0
- data/_sass/blog/_page.index.scss +45 -0
- data/_sass/colors/_colors.dark.scss +38 -0
- data/_sass/colors/_colors.default.scss +39 -0
- data/_sass/colors/_colors.forest.scss +39 -0
- data/_sass/colors/_colors.ocean.scss +39 -0
- data/_sass/components/_article.content.scss +140 -0
- data/_sass/components/_article.data.scss +35 -0
- data/_sass/components/_follow-me.scss +70 -0
- data/_sass/components/_footer.scss +36 -0
- data/_sass/components/_header.scss +44 -0
- data/_sass/components/_license.scss +27 -0
- data/_sass/components/_pagination.scss +7 -0
- data/_sass/components/_tags.scss +33 -0
- data/_sass/components/_toc.scss +61 -0
- data/_sass/components/_wrapper.scss +23 -0
- data/_sass/mixins/_flex.scss +394 -0
- data/_sass/mixins/_link.scss +60 -0
- data/_sass/mixins/_media.scss +12 -0
- data/_sass/mixins/_prefix.scss +14 -0
- data/_sass/settings/_base.scss +12 -0
- data/_sass/settings/_colors.scss +4 -0
- data/_sass/settings/_font.scss +32 -0
- data/_sass/settings/_highlighting.scss +72 -0
- data/assets/css/blog.scss +46 -0
- data/assets/images/license-cc4.png +0 -0
- data/assets/images/logo/icon-120x120.png +0 -0
- data/assets/images/logo/icon-128x128.png +0 -0
- data/assets/images/logo/icon-150x150.png +0 -0
- data/assets/images/logo/icon-152x152.png +0 -0
- data/assets/images/logo/icon-167x167.png +0 -0
- data/assets/images/logo/icon-16x16.png +0 -0
- data/assets/images/logo/icon-180x180.png +0 -0
- data/assets/images/logo/icon-192x192.png +0 -0
- data/assets/images/logo/icon-310x150.png +0 -0
- data/assets/images/logo/icon-310x310.png +0 -0
- data/assets/images/logo/icon-48x48.png +0 -0
- data/assets/images/logo/icon-70x70.png +0 -0
- data/assets/images/logo/logo.svg +8 -0
- data/assets/images/octocat.jpg +0 -0
- metadata +234 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: a1aa398df377dfd6b122e098d544e318748d07c7
|
4
|
+
data.tar.gz: f987a8a0c3c72b15b1ba97de00a6f4c2997ed33d
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 74ab4f4ff2ed104babd46329ffedfcc1bf53509ede6ac4a8d70e73dd6997add2809e502009ef7a069ebda3100a409ffdff15e978b98b114adbed8ba48308d874
|
7
|
+
data.tar.gz: d9f6011d976b88eda46c11b257b2610252a32fcd50321138a1bbbed9a20e974c7d7f6db8352e90972698a3648742b986ae37c4ca1ce7291f5fb73fbc42229b2a
|
data/LICENSE
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
MIT License
|
2
|
+
|
3
|
+
Copyright (c) 2017 Tian Qi
|
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.
|
data/README.md
ADDED
@@ -0,0 +1,161 @@
|
|
1
|
+
# [TeXt Theme](https://github.com/kitian616/jekyll-TeXt-theme)
|
2
|
+
|
3
|
+
[![GitHub release](https://img.shields.io/github/release/kitian616/jekyll-TeXt-theme.svg)](https://github.com/kitian616/jekyll-TeXt-theme/releases)
|
4
|
+
[![license](https://img.shields.io/github/license/kitian616/jekyll-TeXt-theme.svg)](https://github.com/kitian616/jekyll-TeXt-theme/blob/master/LICENSE)
|
5
|
+
|
6
|
+
![TeXt Theme](https://raw.githubusercontent.com/kitian616/jekyll-TeXt-theme/master/screenshots/TeXt-home.png)
|
7
|
+
|
8
|
+
![TeXt Theme Details](https://raw.githubusercontent.com/kitian616/jekyll-TeXt-theme/master/screenshots/TeXt-details.png)
|
9
|
+
|
10
|
+
TeXt is a succinct theme for blogging.
|
11
|
+
|
12
|
+
TeXt 是针对博客的一款简洁的主题,它虽然简洁但并不简单。该主题参考了 iOS 11 的风格,有大而突出的标题和圆润的按钮及卡片。
|
13
|
+
|
14
|
+
## Features
|
15
|
+
|
16
|
+
- 响应式
|
17
|
+
- 分页([jekyll-paginate](https://github.com/jekyll/jekyll-paginate))
|
18
|
+
- 文章目录([TOC](http://projects.jga.me/toc/))
|
19
|
+
- 文章标签
|
20
|
+
- 阅读次数统计([LeanCloud](https://leancloud.cn/))
|
21
|
+
- Emoji([Jemoji](https://github.com/jekyll/jemoji))
|
22
|
+
- 评论([Disqus](https://disqus.com/))
|
23
|
+
- Google Analytics
|
24
|
+
- 联系方式设置(Email, Facebook, Twitter, 微博, 知乎……)
|
25
|
+
- Web 语意化
|
26
|
+
- 网站图标的自动化工具([gulp-svg2png](https://www.npmjs.com/package/gulp-svg2png), [gulp-to-ico](https://www.npmjs.com/package/gulp-to-ico))
|
27
|
+
- Color Theme
|
28
|
+
- 数学公式([MathJax](https://www.mathjax.org/))
|
29
|
+
- RSS([jekyll-feed](https://github.com/jekyll/jekyll-feed))
|
30
|
+
|
31
|
+
下面简要的介绍下使用的方法,当然如果你对 Jekyll 比较了解可以直接看后面的高级部分,这是该主题增加的一些特有功能。
|
32
|
+
|
33
|
+
## How To Use
|
34
|
+
|
35
|
+
最简单的方法是直接 **Fork** 到你的 GitHub 仓库然后更改其名称为 `<username>.github.io`,稍等一会儿访问 `https://<username>.github.io` 即可看到页面。接下来你可以在线修改 _config.yml 和 md 文件,或者把它 Clone 到本地修改后提交。
|
36
|
+
|
37
|
+
当然,你也可以在 [Releases 页面](https://github.com/kitian616/jekyll-TeXt-theme/releases) 下载最新版本源码,或直接 Clone 代码到本地。
|
38
|
+
|
39
|
+
### 配置
|
40
|
+
|
41
|
+
在 _config.yml 文件里按照说明加上你的信息,例如你的名字和联系方式,网站的标题和描述等等。
|
42
|
+
|
43
|
+
在 ./about.md 中写上你的简单介绍,例如我叫小明之类的。
|
44
|
+
|
45
|
+
### 写博客
|
46
|
+
|
47
|
+
使用 Markdown 编写文章,位于 _posts 目录,文件名采用日期 + 标题的形式,形如 `2017-02-02-Very-Long-Title`。
|
48
|
+
|
49
|
+
可以在头信息里设置文章的一些基本信息,包括标题、发布时间和标签等。当然,如果你不设置标题和发布时间,系统会使用文件名中的标题和发布时间,具体详见 [Jekyll: 头信息](http://jekyllcn.com/docs/frontmatter/)。当然,该主题在原有的基础上增加了一些属性,这在后面会讲到。
|
50
|
+
|
51
|
+
#### 摘要
|
52
|
+
|
53
|
+
该主题的摘要有两种模式——TEXT 模式和 HTML 模式。 当 _config.yml 配置项 `excerpt_type` 的值为 `text` 时是 TEXT 模式,为 `html` 时是 HTML 模式,**默认为 TEXT 模式**。
|
54
|
+
|
55
|
+
TEXT 模式的摘要为纯文本,会过滤掉一切非文本元素(标题,链接,列表,表格,图片等等),且截取前 350 个字符。
|
56
|
+
|
57
|
+
HTML 模式的摘要为 HTML 文档,与文章内容一致,并且 **默认展示整篇文章的内容**。若想控制摘要内容,需要在文章中想要显示到的地方加上 `<!--more-->` 行,具体详见 [Jekyll: 文章摘要](http://jekyll.com.cn/docs/posts/#_6)。
|
58
|
+
|
59
|
+
> 提示:为了首页更好的展示效果,个人还是推荐使用 HTML 模式,并自己在文章中加上 `<!--more-->` 行。
|
60
|
+
|
61
|
+
### 安装环境(非必须)
|
62
|
+
|
63
|
+
请确保你的电脑上配置好了 Ruby 开发环境。(ruby, bundle, Command Line Tools(macOS) ...)
|
64
|
+
|
65
|
+
首先安装 github-pages,在项目根目录执行 `bundle install` 即可安装。
|
66
|
+
|
67
|
+
推荐安装 Node.js 环境,可以获得更好的开发体验。
|
68
|
+
|
69
|
+
### 本地服务(非必须)
|
70
|
+
|
71
|
+
如果你安装了 Node.js 环境,只需要在项目根目录运行 `npm run dev` 即可启动本地服务。
|
72
|
+
|
73
|
+
如果不想安装 Node.js 环境,则需要以下两步:
|
74
|
+
|
75
|
+
启动编译服务,在文件改变时会自动重新编译:
|
76
|
+
|
77
|
+
```console
|
78
|
+
bundle exec jekyll build --watch
|
79
|
+
```
|
80
|
+
|
81
|
+
启动静态服务器:
|
82
|
+
|
83
|
+
```console
|
84
|
+
bundle exec jekyll serve -H 0.0.0.0
|
85
|
+
```
|
86
|
+
|
87
|
+
在浏览器中访问 [http://localhost:4000/](http://localhost:4000/) 即可看到页面。
|
88
|
+
|
89
|
+
### 部署与提交
|
90
|
+
|
91
|
+
推荐部署到 GitHub Pages 上,简单而免费,详见 [Jekyll: GitHub Pages](http://jekyllcn.com/docs/github-pages/)。
|
92
|
+
|
93
|
+
如果你是下载或者 Clone 的源码,那么你需要在 GitHub 上建立一个 Repository,然后把项目代码 push 到其对应的分支上(如果以 `<username>.github.io` 命名则对应分支为 `master` ,其他的为 `gh-pages`,详见 [Github Pages: Configuring a publishing source for GitHub Pages](https://help.github.com/articles/configuring-a-publishing-source-for-github-pages/))。
|
94
|
+
|
95
|
+
当然你也可以部署到到其他地方。
|
96
|
+
|
97
|
+
## 高级
|
98
|
+
|
99
|
+
### Color Theme
|
100
|
+
|
101
|
+
颜色主题位于文件夹 _sass/colors 中,修改 _sass/settings/colors.scss 的 `@import` 路径即可修改主题,默认主题为 default。
|
102
|
+
|
103
|
+
| `default` | `dark` | `forest` | `ocean` |
|
104
|
+
| --- | --- | --- | --- |
|
105
|
+
| ![default](https://raw.githubusercontent.com/kitian616/jekyll-TeXt-theme/master/screenshots/colors_default.jpg) | ![dark](https://raw.githubusercontent.com/kitian616/jekyll-TeXt-theme/master/screenshots/colors_dark.jpg) | ![forest](https://raw.githubusercontent.com/kitian616/jekyll-TeXt-theme/master/screenshots/colors_forest.jpg) | ![ocean](https://raw.githubusercontent.com/kitian616/jekyll-TeXt-theme/master/screenshots/colors_ocean.jpg) |
|
106
|
+
|
107
|
+
更多颜色主题敬请期待。
|
108
|
+
|
109
|
+
### 网站图标
|
110
|
+
|
111
|
+
该主题自带了一个“银杏叶”图标,你可以把它替换为自己的图标。网站的图标位于根目录的 favicon.ico 和 ./assets/images/logo 目录下。你会看到 logo 目录中有很多的 png 文件和一个 svg 矢量图文件。那些 png 图片实际上就是根据 svg 矢量图生成的不同大小的图片,这些图片是一些场景可能会用到的大图标,像 iOS 和 Android 的固定到屏幕和 Windows 10 的磁贴。
|
112
|
+
|
113
|
+
该主题提供了一个自动化脚本能将 svg 矢量图自动生成 favicon 和 png 文件。你所要做的是:
|
114
|
+
|
115
|
+
1. 安装 Node.js 环境
|
116
|
+
|
117
|
+
2. 在项目根目录执行 `npm i` 命令
|
118
|
+
|
119
|
+
3. 替换 ./assets/images/logo 目录下的 logo.svg 文件
|
120
|
+
|
121
|
+
4. 执行 `npm run artwork` 命令,此时 favicon 和 png 便会替换为新 logo.svg 生成的文件
|
122
|
+
|
123
|
+
当然如果要追求各个尺寸下图标的显示效果,那还得对不同尺寸的图片进行修改和优化。
|
124
|
+
|
125
|
+
### 评论系统
|
126
|
+
|
127
|
+
在 _config.yml 文件的 `disqus.shortname` 项填上你在 [Disqus](https://disqus.com/) 上为网站建立的 site 对应的 shortname,需要注意的是 Disqus 在大陆是无法直接访问的。
|
128
|
+
|
129
|
+
> 注意:使用评论系统必须在文章的头信息中设置 key 值(可用字符集:`字母`、`数字` 及 `- _ : .`)。
|
130
|
+
|
131
|
+
### 阅读量统计
|
132
|
+
|
133
|
+
在 _config.yml 文件 `leancloud` 的 `app_id`、`app_key`、`app_class` 项分别填上你在 [LeanCloud](https://leancloud.cn) 为网站建立的应用的对应参数。
|
134
|
+
|
135
|
+
> 注意:使用阅读量统计必须在文章的头信息中设置 key 值(可用字符集:`字母`、`数字` 及 `- _ : .`)。
|
136
|
+
|
137
|
+
### Google Analytics
|
138
|
+
|
139
|
+
在 _config.yml 文件的 `ga_tracking_id` 项填上你在 [Google Analytics](https://analytics.google.com) 上为网站建立的媒体资源对应的跟踪 ID。
|
140
|
+
|
141
|
+
### Markdown 头信息增强
|
142
|
+
|
143
|
+
除了 Jekyll 官方的头信息外,该主题增加了一些头信息。
|
144
|
+
|
145
|
+
| 变量名称 | 可选值 | 描述 |
|
146
|
+
| --- | --- | --- |
|
147
|
+
| key | | 评论系统和阅读量统计使用的文章标识符,如果未设置则评论和统计无效。可用字符集:`字母`、`数字` 及 `- _ : .` |
|
148
|
+
| picture_frame | shadow | 该文章的图片框样式,如果为 `shadow` 则图片带有阴影边框 |
|
149
|
+
| modify_date | | 该文章的修改时间,不影响首页文章排序(`date` 代表发表时间,会影响文章排序) |
|
150
|
+
| comment | true/false | 该文章是否能够评论,默认为 true(当然你也可以通过不设置 key 来实现,但是这样的话统计也失效了) |
|
151
|
+
| mathjax | true/false | 该文章是否需要使用 MathJax 公式,默认为 false(此时只会在该文章页面中解析 MathJax 公式。当然你也可以配置 _config.yml 中的 `mathjax` 项为 true,让网站全局支持 MathJax 公式) |
|
152
|
+
|
153
|
+
### 其他资源
|
154
|
+
|
155
|
+
在 _includes/icon/social 目录下有很多的社交产品图标,例如 Behance、Flickr、QQ、微信等,方便修改和使用。
|
156
|
+
|
157
|
+
## 示例
|
158
|
+
|
159
|
+
在线访问:[Qi's blog](https://tianqi.name/blog/)
|
160
|
+
|
161
|
+
示例源码:[https://github.com/kitian616/kitian616.github.io/](https://github.com/kitian616/kitian616.github.io/)
|
@@ -0,0 +1,43 @@
|
|
1
|
+
<div class="m-article-data clearfix">
|
2
|
+
{% if page %}
|
3
|
+
<meta itemprop="author" itemscope itemtype="https://schema.org/Person">
|
4
|
+
{% if page.author %}
|
5
|
+
<meta itemprop="name" content="{{ page.author }}"/>
|
6
|
+
{% elsif site.author.name %}
|
7
|
+
<meta itemprop="name" content="{{ site.author.name }}"/>
|
8
|
+
{% endif %}
|
9
|
+
</meta>
|
10
|
+
{% endif %}
|
11
|
+
|
12
|
+
{% if post %}
|
13
|
+
{% assign cur_page = post %}
|
14
|
+
{% elsif page %}
|
15
|
+
{% assign cur_page = page %}
|
16
|
+
{% endif %}
|
17
|
+
{% if cur_page.tags[0] %}
|
18
|
+
<ul class="inline-list tag-wrapper">
|
19
|
+
{% for tag in cur_page.tags %}
|
20
|
+
{% assign _tag = tag | strip | url_encode } %}
|
21
|
+
<li><a class="round-rect-button"
|
22
|
+
href="{{ "/all.html?tag=" | prepend: site.baseurl | append: _tag | replace: '//', '/' }}">{{ tag }}
|
23
|
+
</a></li>
|
24
|
+
{% endfor %}
|
25
|
+
</ul>
|
26
|
+
{% endif %}
|
27
|
+
<div class="other-wrapper">
|
28
|
+
{% if site.leancloud.app_id and site.leancloud.app_key and site.leancloud.app_class %}
|
29
|
+
<div class="view-wrapper">
|
30
|
+
<span class="article-view" id="post-key-{{ cur_page.key }}">0</span> views
|
31
|
+
</div>
|
32
|
+
{% endif %}
|
33
|
+
<div class="date-wrapper">
|
34
|
+
{% if post %}
|
35
|
+
<span class="article-meta">{{ post.date | date: "%b %d, %Y" }}</span>
|
36
|
+
{% elsif page %}
|
37
|
+
<time class="article-meta" datetime="{{ page.date | date_to_xmlschema }}" itemprop="datePublished">
|
38
|
+
{{ page.date | date: "%b %-d, %Y" }}
|
39
|
+
</time>
|
40
|
+
{% endif %}
|
41
|
+
</div>
|
42
|
+
</div>
|
43
|
+
</div>
|
@@ -0,0 +1,14 @@
|
|
1
|
+
<div class="m-page-footer js-page-footer">
|
2
|
+
<div class="main">
|
3
|
+
<aside>
|
4
|
+
{% include info/follow-me.html %}
|
5
|
+
</aside>
|
6
|
+
<footer class="site-info">
|
7
|
+
<p>© {{ site.title }} 2015 - 2017</p>
|
8
|
+
<p>Powered by <a
|
9
|
+
title="Jekyll is a simple, blog-aware, static site generator." href="http://jekyllrb.com/">Jekyll</a> & <a
|
10
|
+
title="TeXt is a succinct theme for blogging." href="https://github.com/kitian616/jekyll-TeXt-theme">TeXt Theme</a>.
|
11
|
+
</p>
|
12
|
+
</footer>
|
13
|
+
</div>
|
14
|
+
</div>
|
@@ -0,0 +1,22 @@
|
|
1
|
+
<header class="m-page-header main clearfix">
|
2
|
+
<a class="site-title" title="{% if site.description %}{{ site.description }}{% endif %}"
|
3
|
+
href="{{ "/" | prepend: site.baseurl | replace: '//', '/' }}">{% if site.title %}{{ site.title }}{% endif %}
|
4
|
+
</a>
|
5
|
+
<div class="site-logo">
|
6
|
+
{% include logo/logo.svg %}
|
7
|
+
</div>
|
8
|
+
<nav>
|
9
|
+
<ul class="inline-list">
|
10
|
+
<li><a href="{{ "/" | prepend: site.baseurl | replace: '//', '/' }}">Home</a></li>
|
11
|
+
<li><a
|
12
|
+
href="{{ "/all.html" | prepend: site.baseurl | append: "?tag=" | replace: '//', '/'}}">All
|
13
|
+
</a></li>
|
14
|
+
{% for list in site.nav_lists %}
|
15
|
+
<li><a href="{{ list.url }}"> {{ list.title }} </a></li>
|
16
|
+
{% endfor %}
|
17
|
+
<li><a type="application/rss+xml"
|
18
|
+
href="{{ "/feed.xml" | prepend: site.baseurl | replace: '//', '/'}}">RSS
|
19
|
+
</a></li>
|
20
|
+
</ul>
|
21
|
+
</nav>
|
22
|
+
</header>
|
@@ -0,0 +1,17 @@
|
|
1
|
+
<div class="m-license">
|
2
|
+
<div class="clearfix">
|
3
|
+
{% if site.repository and site.repository_tree %}
|
4
|
+
<a class="octocat" href="https://github.com/{{ site.repository }}/tree/{{ site.repository_tree }}/{{ page.path }}">
|
5
|
+
<img alt="View on Github" src="{{ "/assets/images/octocat.jpg" | prepend: site.baseurl | replace: '//', '/'}}" />
|
6
|
+
</a>
|
7
|
+
<p><a href="https://github.com/{{ site.repository }}/tree/{{ site.repository_tree }}/{{ page.path }}">View this POST on Github</a>.</P>
|
8
|
+
{% endif %}
|
9
|
+
<p>This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc/4.0/">CC-BY-NC-4.0</a> license.</p>
|
10
|
+
<a class="license" rel="license" href="http://creativecommons.org/licenses/by-nc/4.0/">
|
11
|
+
<img alt="Creative Commons License" src="{{ '/assets/images/license-cc4.png' | prepend: site.baseurl | replace: '//', '/'}}" />
|
12
|
+
</a>
|
13
|
+
<p>欢迎转载,转载需注明出处:<a class="url" href="{% include snippets/page-url.html %}">
|
14
|
+
{% include snippets/page-url.html %}
|
15
|
+
</a>,且禁止用于商业目的。</p>
|
16
|
+
</div>
|
17
|
+
</div>
|
@@ -0,0 +1,49 @@
|
|
1
|
+
{% assign max_size = 1 %}
|
2
|
+
{% assign min_size = 1 %}
|
3
|
+
{% assign cur_size = 1 %}
|
4
|
+
{% assign _tags = site.tags | sort %}
|
5
|
+
{% for tag in _tags %}
|
6
|
+
{% assign cur_size = tag[1].size %}
|
7
|
+
{% if cur_size > max_size%}
|
8
|
+
{% assign max_size = cur_size %}
|
9
|
+
{% endif %}
|
10
|
+
{% if cur_size < min_size %}
|
11
|
+
{% assign min_size = cur_size %}
|
12
|
+
{% endif %}
|
13
|
+
{% endfor %}
|
14
|
+
{% assign gap_size = max_size | minus: min_size | plus: 1 | divided_by: 4 %}
|
15
|
+
{% if gap_size < 1 %}
|
16
|
+
{% assign gap_size = 1 %}
|
17
|
+
{% endif %}
|
18
|
+
<div class="m-tags">
|
19
|
+
<ul class="inline-list">
|
20
|
+
<li><button type="button" class="js-article-tag js-tag-show-all all round-rect-button" onclick="tagSelect('')">
|
21
|
+
Show All<div class="tag-count"> {{ site.posts | size }} </div>
|
22
|
+
</button></li>
|
23
|
+
{% for tag in _tags %}
|
24
|
+
{% assign cur_size = tag[1].size %}
|
25
|
+
{% assign m1 = min_size %}
|
26
|
+
{% assign n1 = m1 | plus: gap_size %}
|
27
|
+
{% assign m2 = n1 %}
|
28
|
+
{% assign n2 = m2 | plus: gap_size %}
|
29
|
+
{% assign m3 = n2 %}
|
30
|
+
{% assign n3 = m3 | plus: gap_size %}
|
31
|
+
{% assign m4 = n3 %}
|
32
|
+
{% assign n4 = m4 | plus: gap_size %}
|
33
|
+
{% if cur_size >= m1 and cur_size < n1 %}
|
34
|
+
{% assign c_index = 1 %}
|
35
|
+
{% elsif cur_size >= m2 and cur_size < n2 %}
|
36
|
+
{% assign c_index = 2 %}
|
37
|
+
{% elsif cur_size >= m3 and cur_size < n3 %}
|
38
|
+
{% assign c_index = 3 %}
|
39
|
+
{% elsif cur_size >= m4 and cur_size < n4 %}
|
40
|
+
{% assign c_index = 4 %}
|
41
|
+
{% else %}
|
42
|
+
{% assign c_index = 4 %}
|
43
|
+
{% endif %}
|
44
|
+
<li><button type="button" class="js-article-tag tag-{{ c_index }} round-rect-button" data-tag="{{ tag[0] | strip | url_encode }}" onclick="tagSelect('{{ tag[0] | strip | url_encode }}')">
|
45
|
+
<span>{{ tag[0] | strip }}</span><div class="tag-count">{{ tag[1].size }}</div>
|
46
|
+
</button></li>
|
47
|
+
{% endfor %}
|
48
|
+
</ul>
|
49
|
+
</div>
|
@@ -0,0 +1,7 @@
|
|
1
|
+
<meta charset="utf-8">
|
2
|
+
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
3
|
+
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
|
4
|
+
<title>{% if page.title %}{{ page.title | truncatewords: 15 }} - {{ site.title }}{% else %}{{ site.title }}{% endif %}</title>
|
5
|
+
<meta name="description" content="{% if page.excerpt %}{{ page.excerpt | strip_html | strip_newlines | truncate: 160 }}{% else %}{{ site.description }}{% endif %}">
|
6
|
+
<link rel="canonical" href="{% include snippets/page-url.html %}">
|
7
|
+
<link rel="alternate" type="application/rss+xml" title="{{ site.title }}" href="{% include snippets/rss-url.html %}">
|
@@ -0,0 +1,25 @@
|
|
1
|
+
<!--
|
2
|
+
for Safari on iOS
|
3
|
+
https://developer.apple.com/ios/human-interface-guidelines/icons-and-images/app-icon/
|
4
|
+
-->
|
5
|
+
<link rel="apple-touch-icon" sizes="180x180" href="/assets/images/logo/icon-180x180.png">
|
6
|
+
<link rel="apple-touch-icon" sizes="167x167" href="/assets/images/logo/icon-167x167.png">
|
7
|
+
<link rel="apple-touch-icon" sizes="152x152" href="/assets/images/logo/icon-152x152.png">
|
8
|
+
<link rel="apple-touch-icon" sizes="120x120" href="/assets/images/logo/icon-120x120.png">
|
9
|
+
<link rel="shortcut icon" href="/assets/images/logo/icon-120x120.png">
|
10
|
+
<!--
|
11
|
+
for Chrome on Android
|
12
|
+
https://developer.chrome.com/multidevice/android/installtohomescreen
|
13
|
+
-->
|
14
|
+
<meta name="mobile-web-app-capable" content="yes">
|
15
|
+
<link rel="icon" sizes="192x192" href="/assets/images/logo/icon-192x192.png">
|
16
|
+
<!--
|
17
|
+
for Edge on Windows 10
|
18
|
+
https://msdn.microsoft.com/en-us/library/dn255024(v=vs.85).aspx
|
19
|
+
-->
|
20
|
+
<meta name="msapplication-TileImage" content="/assets/images/logo/icon-144x144.png">
|
21
|
+
<meta name="msapplication-square310x310logo" content="/assets/images/icon-310x310.png">
|
22
|
+
<meta name="msapplication-wide310x150logo" content="/assets/images/icon-310x150.png">
|
23
|
+
<meta name="msapplication-square150x150logo" content="/assets/images/icon-150x150.png">
|
24
|
+
<meta name="msapplication-square70x70logo" content="/assets/images/icon-70x70.png">
|
25
|
+
<meta name="msapplication-TileColor" content="#eeeeee">
|
@@ -0,0 +1,6 @@
|
|
1
|
+
<svg fill="#000000" width="24px" height="24px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
2
|
+
<path d="M512.091 166.946c116.242 0 232.484-0.014 348.727 0.007 41.522 0.008 76.321 12.188 94.842 53.167 8.25 18.251 6.5 30.831-13.43 43.256-137.452 85.695-274.125 172.655-410.534 260.014-14.762 9.456-24.638 9.569-39.498 0.041C354.353 435.041 216.033 347.399 77.465 260.14c-12.701-8.002-16.368-15.572-12.01-29.962 9.882-32.627 30.845-52.873 63.868-59.66 13.656-2.806 27.953-3.4 41.966-3.431C284.888 166.83 398.492 166.943 512.091 166.946z" />
|
3
|
+
<path d="M510.888 856.021c-117.998 0-235.996 0.134-353.993-0.067-47.671-0.083-79.295-22.331-91.17-61.206-4.28-14.027-2.127-22.232 10.858-30.356 108.193-67.725 215.807-136.366 324.233-203.713 7.275-4.519 21.51-4.25 29.378-0.171 22.589 11.713 44.026 25.859 64.999 40.383 11.823 8.191 21.091 8.623 33.117 0.325 20.993-14.484 43.689-26.52 64.549-41.176 12.159-8.539 20.73-7.176 32.785 0.537 106.04 67.844 212.318 135.315 319.158 201.894 16.481 10.272 18.065 21.564 12.577 37.407-12.35 35.666-45.183 55.999-92.491 56.081C746.889 856.149 628.886 856.021 510.888 856.021z" />
|
4
|
+
<path d="M64.376 326.925c97.051 61.769 192.332 122.409 290.508 184.898-97.877 62.309-192.719 122.68-290.508 184.932C64.376 572.674 64.376 451.511 64.376 326.925z" />
|
5
|
+
<path d="M959.665 327.168c0 124.369 0 244.164 0 369.253-97.913-62.322-192.914-122.792-290.001-184.589C766.993 449.854 861.628 389.595 959.665 327.168z" />
|
6
|
+
</svg>
|
@@ -0,0 +1,3 @@
|
|
1
|
+
<svg fill="#000000" width="24px" height="24px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
2
|
+
<path d="M1056.000001 193.714286l-292 0 0 70.857143 292 0 0-70.857143zm-144 243.428571q-51.428571 0-83.428571 30t-35.428571 81.428571l233.142857 0q-10.285714-111.428571-114.285714-111.428571zm9.142857 334.285714q36 0 69.714286-18.285714t43.428571-49.714286l126.285714 0q-57.142857 175.428571-244 175.428571-122.285714 0-194.571429-75.428571t-72.285714-198.285714q0-118.857143 74.571429-197.428571t192.285714-78.571429q78.857143 0 137.428571 38.857143t87.428571 102.285714 28.857143 141.714286q0 9.714286-1.142857 26.857143l-376 0q0 63.428571 32.857143 98t95.142857 34.571429zm-762.857143-28.571429l169.142857 0q117.142857 0 117.142857-95.428571 0-102.857143-113.714286-102.857143l-172.571429 0 0 198.285714zm0-306.857143l160.571429 0q44.571429 0 70.571429-20.857143t26-64.857143q0-82.285714-108.571429-82.285714l-148.571429 0 0 168zm-158.285714-290.857143l339.428571 0q49.714286 0 88.571429 8t72.285714 27.142857 51.428571 55.142857 18 88q0 103.428571-98.285714 150.285714 65.142857 18.285714 98.285714 65.714286t33.142857 116.571429q0 42.857143-14 78t-37.714286 59.142857-56.285714 40.571429-69.142857 24-76.571429 7.428571l-349.142857 0 0-720z"></path>
|
3
|
+
</svg>
|
@@ -0,0 +1,5 @@
|
|
1
|
+
<svg fill="#000000" width="24px" height="24px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
2
|
+
<path d="M161.431 147.172l699.701 0 0 78.813-699.701 0 0-78.814z" />
|
3
|
+
<path d="M800.298 616.311l0-308.108-578.031 0 0 308.108 578.031 0zM306.076 386.961l411.23 0 0 150.633-411.23 0 0-150.633z" />
|
4
|
+
<path d="M675.281 793.89c25.15-38.487 48.885-83.129 70.879-133.81l-84.107-30.649c-21.885 60.046-47.337 114.974-76.324 164.459l-146.332 0c-24.225-64.156-51.607-119.031-82.313-164.459l-77.357 30.649c31.9 47.851 57.651 92.383 77.357 133.81l-215.414 0 0 77.957 739.278 0 0-77.957-205.67 0z" />
|
5
|
+
</svg>
|
@@ -0,0 +1,3 @@
|
|
1
|
+
<svg fill="#000000" width="24px" height="24px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
2
|
+
<path d="M767.428571 6.857143l0 150.857143-89.714286 0q-49.142857 0-66.285714 20.571429t-17.142857 61.714286l0 108 167.428571 0-22.285714 169.142857-145.142857 0 0 433.714286-174.857143 0 0-433.714286-145.714286 0 0-169.142857 145.714286 0 0-124.571429q0-106.285714 59.428571-164.857143t158.285714-58.571429q84 0 130.285714 6.857143z"></path>
|
3
|
+
</svg>
|
@@ -0,0 +1,5 @@
|
|
1
|
+
<svg fill="#000000" width="24px" height="24px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
2
|
+
<path d="M512 996.693333C245.76 996.693333 27.306667 778.24 27.306667 512 27.306667 245.76 245.76 27.306667 512 27.306667c266.24 0 484.693333 218.453333 484.693333 484.693333C996.693333 778.24 778.24 996.693333 512 996.693333zM512 78.506667C273.066667 78.506667 78.506667 273.066667 78.506667 512S273.066667 945.493333 512 945.493333 945.493333 750.933333 945.493333 512 750.933333 78.506667 512 78.506667z"></path>
|
3
|
+
<path d="M655.36 512m-129.706667 0a3.8 3.8 0 1 0 259.413333 0 3.8 3.8 0 1 0-259.413333 0Z"></path>
|
4
|
+
<path d="M368.64 512m-129.706667 0a3.8 3.8 0 1 0 259.413333 0 3.8 3.8 0 1 0-259.413333 0Z"></path>
|
5
|
+
</svg>
|
@@ -0,0 +1,3 @@
|
|
1
|
+
<svg fill="#000000" width="24px" height="24px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
2
|
+
<path class="svgpath" data-index="path_0" fill="#272636" d="M0 525.2c0 223.6 143.3 413.7 343 483.5 26.9 6.8 22.8-12.4 22.8-25.4l0-88.7c-155.3 18.2-161.5-84.6-172-101.7-21.1-36-70.8-45.2-56-62.3 35.4-18.2 71.4 4.6 113.1 66.3 30.2 44.7 89.1 37.2 119 29.7 6.5-26.9 20.5-50.9 39.7-69.6C248.8 728.2 181.7 630 181.7 513.2c0-56.6 18.7-108.7 55.3-150.7-23.3-69.3 2.2-128.5 5.6-137.3 66.5-6 135.5 47.6 140.9 51.8 37.8-10.2 80.9-15.6 129.1-15.6 48.5 0 91.8 5.6 129.8 15.9 12.9-9.8 77-55.8 138.8-50.2 3.3 8.8 28.2 66.7 6.3 135 37.1 42.1 56 94.6 56 151.4 0 117-67.5 215.3-228.8 243.7 26.9 26.6 43.6 63.4 43.6 104.2l0 128.8c0.9 10.3 0 20.5 17.2 20.5C878.1 942.4 1024 750.9 1024 525.3c0-282.9-229.3-512-512-512C229.1 13.2 0 242.3 0 525.2L0 525.2z" />
|
3
|
+
</svg>
|
@@ -0,0 +1,3 @@
|
|
1
|
+
<svg fill="#000000" width="24px" height="24px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
2
|
+
<path d="M621.31315 72.459289l-228.995461 0c-60.030212 0-135.601374 8.695033-198.98189 59.797921-47.839565 40.21184-71.180156 95.678106-71.180156 145.682987 0 84.786035 66.730821 170.671101 184.5369 170.671101 11.150968 0 23.341614-1.098008 35.619242-2.167363-5.574972 13.028735-11.122315 23.89113-11.122315 42.407855 0 33.68417 17.73799 54.338582 33.308617 73.894987-50.004881 3.264347-143.401014 8.695033-212.32785 50.005904-65.60416 38.046524-85.59547 93.483114-85.59547 132.624577 0 80.453357 77.794807 155.476027 239.019769 155.476027 191.20988 0 292.377-103.274108 292.377-205.451232 0-75.021647-44.402279-111.99984-93.367481-152.21168l-40.037878-30.447453c-12.219299-9.764388-28.887934-22.821775-28.887934-46.741557 0-23.890107 16.668635-39.142485 31.141254-53.269227 46.654576-35.879162 93.366458-73.925686 93.366458-154.37802 0-82.619696-53.357232-126.096906-78.951143-146.751319l68.926836 0L621.31315 72.459289zM523.497357 737.809909c0 67.367317-56.678884 117.373221-163.419953 117.373221-118.961392 0-195.687868-55.43659-195.687868-132.626623 0-77.18901 71.180156-103.274108 95.619778-111.969141 46.683229-15.223726 106.74107-17.419741 116.765377-17.419741 11.092639 0 16.638959 0 25.536606 1.098008C486.838436 652.994198 523.497357 682.316014 523.497357 737.809909zM434.608887 387.745045c-17.822924 17.36039-47.895847 30.447453-75.658144 30.447453-95.591125 0-138.980331-120.694873-138.980331-193.521528 0-28.281113 5.547343-57.631582 24.496927-80.453357 17.795295-21.75242 48.879244-35.879162 77.794807-35.879162 92.298126 0 140.078339 121.763205 140.078339 200.021569C462.341508 327.916425 460.116841 362.727255 434.608887 387.745045zM842.798567 238.016929 842.798567 127.57763l-55.464219 0 0 110.439298L676.402839 238.016929l0 55.234999 110.930485 0 0 110.438275 55.464219 0L842.797543 293.251927l110.929462 0 0-55.234999L842.798567 238.016929z" />
|
3
|
+
</svg>
|
@@ -0,0 +1,3 @@
|
|
1
|
+
<svg fill="#000000" width="24px" height="24px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
2
|
+
<path d="M260.096 155.648c0 27.307008-9.899008 50.516992-29.696 69.632-19.796992 19.115008-45.396992 28.672-76.8 28.672-30.036992 0-54.612992-9.556992-73.728-28.672-19.115008-19.115008-28.672-42.324992-28.672-69.632 0-28.672 9.556992-52.224 28.672-70.656 19.115008-18.432 44.372992-27.648 75.776-27.648 31.403008 0 56.32 9.216 74.752 27.648 18.432 18.432 28.331008 41.984 29.696 70.656 0 0 0 0 0 0m-202.752 808.96c0 0 0-632.832 0-632.832 0 0 196.608 0 196.608 0 0 0 0 632.832 0 632.832 0 0-196.608 0-196.608 0 0 0 0 0 0 0m313.344-430.08c0-58.708992-1.364992-126.292992-4.096-202.752 0 0 169.984 0 169.984 0 0 0 10.24 88.064 10.24 88.064 0 0 4.096 0 4.096 0 40.96-68.267008 105.812992-102.4 194.56-102.4 68.267008 0 123.220992 22.868992 164.864 68.608 41.643008 45.739008 62.464 113.664 62.464 203.776 0 0 0 374.784 0 374.784 0 0-196.608 0-196.608 0 0 0 0-350.208 0-350.208 0-91.476992-33.451008-137.216-100.352-137.216-47.787008 0-81.236992 24.576-100.352 73.728-4.096 8.192-6.144 24.576-6.144 49.152 0 0 0 364.544 0 364.544 0 0-198.656 0-198.656 0 0 0 0-430.08 0-430.08 0 0 0 0 0 0"></path>
|
3
|
+
</svg>
|
@@ -0,0 +1,3 @@
|
|
1
|
+
<svg fill="#000000" width="24px" height="24px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
2
|
+
<path d="M444.56 671.968c-16.832 85.472-35.936 155.392-57.296 209.776S333.84 978.224 291.104 1008c-5.184-29.776-7.12-62.48-5.824-98.096 1.264-35.616 3.2-66.352 5.824-92.256 2.592-25.904 7.44-55.04 14.576-87.408 7.088-32.368 13.888-60.224 20.4-83.536 6.464-23.296 13.888-50.816 22.336-82.544 8.416-31.712 14.56-58.56 18.448-80.608-12.96-24.576-19.424-53.088-19.424-85.472 0-32.336 5.504-62.16 16.512-89.344 10.976-27.2 28.464-47.888 52.432-62.16 23.968-14.24 50.176-16.192 78.672-5.824 27.2 11.664 42.08 31.744 44.672 60.208 2.592 28.496-1.936 59.92-13.6 94.208-11.648 34.32-22.656 68.32-33.008 101.984-10.384 33.696-11.664 63.44-3.888 89.344 7.76 25.888 28.48 42.08 62.16 48.544 45.312 9.072 85.776-3.872 121.392-38.848 35.616-34.96 60.224-77.984 73.808-129.168 13.6-51.152 17.152-104.56 10.688-160.24-6.48-55.648-24.608-98.384-54.384-128.192-32.368-33.664-71.216-55.648-116.528-66.032-45.328-10.352-89.36-8.736-132.096 4.864-42.72 13.6-81.904 34.32-117.504 62.16-35.648 27.872-62.48 63.792-80.608 107.792-18.16 44.016-23.312 90.016-15.536 137.904 2.592 12.944 7.776 26.224 15.536 39.824 7.776 13.6 14.576 24.96 20.4 34 5.824 9.056 8.416 21.68 7.76 37.872-0.672 16.208-6.8 33.984-18.448 53.408-97.12-22-143.728-97.76-139.84-227.248 3.888-91.936 39.136-169.632 105.856-233.072 66.688-63.424 143.408-100.336 230.176-110.72 108.768-11.648 204.592 7.12 287.456 56.336 82.88 49.232 130.8 121.728 143.728 217.552 10.352 73.808 4.528 145.664-17.488 215.6-22 69.92-59.568 126.576-112.656 169.952-53.072 43.392-115.232 62.48-186.448 57.312-14.256-1.296-27.52-4.224-39.808-8.752-12.32-4.528-22.336-9.056-30.112-13.6-7.76-4.528-18.16-11.328-31.072-20.384C462.688 684.288 452.336 677.152 444.56 671.968z"></path>
|
3
|
+
</svg>
|