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
@@ -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="M116.434944 581.71392c-33.540096 78.963712-38.984704 154.297344-12.058624 168.370176 18.572288 9.696256 47.685632-12.382208 74.93632-52.909056 10.790912 44.156928 37.492736 84.13696 75.63264 116.209664-40.003584 14.768128-66.13504 38.8864-66.13504 66.23232 0 44.9536 70.709248 81.301504 157.9776 81.301504 78.715904 0 143.906816-29.538304 155.93984-68.371456 3.231744-0.049152 15.663104-0.049152 18.79552 0 12.0832 38.784 77.324288 68.371456 155.988992 68.371456 87.267328 0 157.9776-36.39808 157.9776-81.301504 0-27.296768-26.104832-51.464192-66.13504-66.23232 38.088704-32.12288 64.888832-72.052736 75.630592-116.209664 27.250688 40.526848 56.290304 62.605312 74.887168 52.909056 26.949632-14.072832 21.630976-89.455616-12.032-168.370176-26.354688-62.058496-62.109696-107.754496-89.45664-117.848064 0.398336-3.929088 0.595968-7.957504 0.595968-11.93472 0-23.967744-6.66112-46.145536-18.049024-64.195584 0.198656-1.39264 0.198656-2.834432 0.198656-4.227072 0-11.037696-2.635776-21.38112-7.113728-30.331904-6.908928-161.308672-111.930368-289.401856-281.86624-289.401856-170.036224 0-275.105792 128.093184-281.94304 289.401856-4.525056 9.00096-7.135232 19.34336-7.135232 30.331904 0 1.39264 0.099328 2.835456 0.149504 4.227072-11.287552 18.050048-17.95072 40.177664-17.95072 64.195584 0 3.97824 0.149504 7.955456 0.497664 11.93472C178.61632 473.959424 142.739456 519.706624 116.434944 581.71392z"></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="M1024.032 194.432c-37.664 16.704-78.176 28-120.672 33.088 43.36-26.016 76.672-67.168 92.384-116.224-40.608 24.064-85.568 41.568-133.408 50.976-38.336-40.832-92.928-66.336-153.344-66.336-116.032 0-210.08 94.048-210.08 210.08 0 16.48 1.856 32.512 5.44 47.872-174.592-8.768-329.408-92.416-433.024-219.52-18.08 31.04-28.448 67.104-28.448 105.632 0 72.896 37.088 137.184 93.472 174.88-34.432-1.088-66.816-10.528-95.168-26.272-0.032 0.864-0.032 1.76-0.032 2.656 0 101.792 72.416 186.688 168.512 205.984-17.632 4.8-36.192 7.36-55.36 7.36-13.536 0-26.688-1.312-39.52-3.776 26.72 83.456 104.32 144.192 196.256 145.888-71.904 56.352-162.496 89.92-260.928 89.92-16.96 0-33.664-0.992-50.112-2.944 92.96 59.616 203.392 94.4 322.048 94.4 386.432 0 597.728-320.128 597.728-597.76 0-9.12-0.192-18.176-0.608-27.168 41.056-29.632 76.672-66.624 104.832-108.736z"></path>
|
3
|
+
</svg>
|
@@ -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="M769.226164 496.610234c-14.420098-4.330228-24.309277-7.266877-16.746482-26.214823 16.350218-41.133578 18.046881-76.626289 0.307181-101.939024-33.242099-47.500415-124.194284-44.928286-228.44638-1.280945 0-0.056317-32.73525 14.323848-24.371737-11.64523 16.042013-51.54906 13.626547-94.739726-11.332929-119.662341-56.566349-56.601163-206.976479 2.134908-335.954595 131.078209-96.594075 96.61353-152.681222 198.989775-152.681222 287.52035 0 169.337597 217.152361 272.292366 429.593589 272.292366 278.498445 0 463.752111-161.808592 463.752111-290.273715C893.345701 558.867622 827.968378 514.820945 769.226164 496.610234zM430.163922 866.063936c-169.51781 16.728051-315.851649-59.899262-326.864086-171.202185-11.010389-111.275277 117.530505-215.061482 287.031932-231.823323 169.537265-16.761841 315.876224 59.866496 326.86511 171.119247C728.190884 745.495411 599.705282 849.291856 430.163922 866.063936z" />
|
3
|
+
<path d="M954.16753 186.714824c-67.256246-74.565105-166.457264-102.990607-258.020739-83.522502l-0.037886 0c-21.188318 4.535015-34.695065 25.37929-30.159026 46.527675 4.516584 21.166816 25.352668 34.691993 46.54201 30.174385 65.139769-13.832358 135.634727 6.400627 183.442323 59.368863 47.765615 52.96414 60.740938 125.206957 40.282686 188.537431l0.011263 0.012287c-6.666851 20.629249 4.617954 42.698153 25.271777 49.366027 20.570885 6.662755 42.687913-4.607714 49.362955-25.188838 0-0.037886 0-0.116729 0.011263-0.150519C1039.577146 362.756133 1021.443231 261.206205 954.16753 186.714824" />
|
4
|
+
<path d="M850.886125 279.919669c-32.732179-36.315956-81.068126-50.108381-125.685136-40.621609-18.234261 3.885839-29.856965 21.833398-25.946551 40.085067 3.89915 18.173849 21.833398 29.851845 40.024654 25.893307l0 0.037886c21.809848-4.610786 45.459709 2.113405 61.461789 19.83365 16.018463 17.757107 20.323092 41.949655 13.45043 63.178931l0.035838 0c-5.715614 17.717174 3.983113 36.770584 21.717694 42.511796 17.7397 5.677728 36.76956-3.992328 42.493365-21.756603C892.458972 365.691759 883.686907 316.228458 850.886125 279.919669" />
|
5
|
+
<path d="M447.103928 548.691741c-80.666743-20.985579-171.84317 19.215193-206.880229 90.291746-35.685212 72.492657-1.180599 152.963828 80.321676 179.268757 84.41947 27.224424 183.926645-14.492797 218.521364-92.744074C573.187374 649.021137 530.586496 570.268131 447.103928 548.691741zM385.506979 733.819463c-16.398343 26.160554-51.51015 37.623523-77.954335 25.54824-26.066352-11.868448-33.760211-42.248645-17.360844-67.757975 16.197652-25.400793 50.129884-36.716316 76.378497-25.711046C393.129162 677.216253 401.60838 707.401901 385.506979 733.819463zM439.522702 664.493841c-5.929616 10.131852-19.03498 15.010909-29.304039 10.785123-10.096014-4.15411-13.261002-15.495231-7.522862-25.454038 5.906066-9.908634 18.500485-14.747758 28.572948-10.750309C441.502995 642.817105 445.180975 654.283146 439.522702 664.493841z" />
|
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="M684.111464 364.088889c10.47478 0 20.949559 0.722399 31.424339 1.805996-28.173545-131.476543-168.680071-229.000353-329.052557-229.000353-179.15485 0-326.162963 122.085362-326.162963 277.401058 0 89.577425 48.761905 163.262081 130.392945 220.33157l-32.507937 98.246208L272.344268 675.442681c40.81552 7.946384 73.684656 16.253968 114.138977 16.253968 10.11358 0 20.22716-0.361199 30.340741-1.444797-6.501587-21.671958-10.11358-44.788713-10.11358-68.266667C406.710406 479.672663 529.156966 364.088889 684.111464 364.088889zM508.568607 275.595062c24.561552 0 40.81552 16.253968 40.81552 40.81552 0 24.561552-16.253968 40.81552-40.81552 40.81552-24.561552 0-49.123104-16.253968-49.123104-40.81552C459.806702 291.84903 484.368254 275.595062 508.568607 275.595062zM280.290653 357.226102c-24.561552 0-49.123104-16.253968-49.123104-40.81552 0-24.561552 24.561552-40.81552 49.123104-40.81552 24.561552 0 40.81552 16.253968 40.81552 40.81552C321.106173 340.610935 304.852205 357.226102 280.290653 357.226102z" p-id="792"></path><path d="M981.739683 618.373192c0-130.392945-130.392945-236.585538-277.039859-236.585538-155.315697 0-277.401058 106.192593-277.401058 236.585538 0 130.754145 122.085362 236.585538 277.401058 236.585538 32.507937 0 65.377072-8.307584 97.885009-16.253968l89.577425 49.123104-24.561552-81.631041C932.977778 757.073721 981.739683 691.696649 981.739683 618.373192zM614.761199 577.557672c-16.253968 0-32.507937-16.253968-32.507937-32.507937 0-16.253968 16.253968-32.507937 32.507937-32.507937 24.561552 0 40.81552 16.253968 40.81552 32.507937C655.57672 561.303704 639.322751 577.557672 614.761199 577.557672zM794.277249 577.557672c-16.253968 0-32.507937-16.253968-32.507937-32.507937 0-16.253968 16.253968-32.507937 32.507937-32.507937 24.561552 0 40.81552 16.253968 40.81552 32.507937C835.092769 561.303704 818.477601 577.557672 794.277249 577.557672z"></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="M351.791182 562.469462l192.945407 0c0-45.367257-21.3871-71.939449-21.3871-71.939449L355.897709 490.530013c3.977591-82.182744 7.541767-187.659007 8.816806-226.835262l159.282726 0c0 0-0.86367-67.402109-18.578124-67.402109s-279.979646 0-279.979646 0 16.850783-88.141456 39.318494-127.053698c0 0-83.60514-4.510734-112.121614 106.962104S81.344656 355.077018 76.80834 367.390461c-4.536316 12.313443 24.62791 5.832845 36.941354 0 12.313443-5.832845 68.050885-25.924439 84.252893-103.69571l86.570681 0c1.165546 49.28652 4.596691 200.335724 3.515057 226.835262L109.86113 490.530013c-25.275663 18.147312-33.701566 71.939449-33.701566 71.939449L279.868105 562.469462c-8.497535 56.255235-23.417339 128.763642-44.275389 167.210279-33.05279 60.921511-50.55235 116.65793-169.802314 212.576513 0 0-19.442818 14.257725 40.829917 9.073656 60.273758-5.185093 117.305683-20.739347 156.840094-99.807147 20.553105-41.107233 41.805128-93.250824 58.386782-146.138358l-0.055259 0.185218 167.855986 193.263655c0 0 22.035876-51.847855 5.832845-108.880803L371.045711 650.610918l-42.1244 31.157627-0.045025 0.151449c11.69946-41.020252 20.11206-81.5749 22.726607-116.858498C351.665315 564.212152 351.72876 563.345412 351.791182 562.469462z" p-id="907"></path><path d="M584.918753 182.033893l0 668.840094 70.318532 0 28.807093 80.512708 121.875768-80.512708 153.600307 0L959.520453 182.033893 584.918753 182.033893zM887.150192 778.934538l-79.837326 0-99.578949 65.782216-23.537066-65.782216-24.855084 0L659.341766 256.673847l227.807403 0L887.149169 778.934538z"></path>
|
3
|
+
</svg>
|
@@ -0,0 +1,74 @@
|
|
1
|
+
<div class="follow-me">
|
2
|
+
<ul class="inline-list" itemscope itemtype="http://schema.org/Person">
|
3
|
+
<meta itemprop="name" content="{{ site.author.name }}">
|
4
|
+
<link itemprop="url" href="{{ '/' | prepend: site.url }}">
|
5
|
+
{% if site.author.weibo %}
|
6
|
+
<li title="Follow me on Weibo.">
|
7
|
+
<div class="round-button weibo">
|
8
|
+
<a itemprop="sameAs" href="https://weibo.com/{{ site.author.weibo }}" target="_blank">
|
9
|
+
<div class="icon">{% include icon/social/weibo.svg %}</div>
|
10
|
+
</a>
|
11
|
+
</div>
|
12
|
+
</li>
|
13
|
+
{% endif %}
|
14
|
+
{% if site.author.facebook %}
|
15
|
+
<li title="Follow me on Facebook.">
|
16
|
+
<div class="round-button facebook">
|
17
|
+
<a itemprop="sameAs" href="https://www.facebook.com/{{ site.author.facebook }}" target="_blank">
|
18
|
+
<div class="icon">{% include icon/social/facebook.svg %}</div>
|
19
|
+
</a>
|
20
|
+
</div>
|
21
|
+
</li>
|
22
|
+
{% endif %}
|
23
|
+
{% if site.author.twitter %}
|
24
|
+
<li title="Follow me on Twitter.">
|
25
|
+
<div class="round-button twitter">
|
26
|
+
<a itemprop="sameAs" href="https://twitter.com/{{ site.author.twitter }}" target="_blank">
|
27
|
+
<div class="icon">{% include icon/social/twitter.svg %}</div>
|
28
|
+
</a>
|
29
|
+
</div>
|
30
|
+
</li>
|
31
|
+
{% endif %}
|
32
|
+
{% if site.author.googleplus %}
|
33
|
+
<li title="Follow me on Google+.">
|
34
|
+
<div class="round-button googlepluse">
|
35
|
+
<a itemprop="sameAs" href="https://plus.google.com/u/0/{{ site.author.googleplus }}" target="_blank">
|
36
|
+
<div class="icon">{% include icon/social/googleplus.svg %}</div>
|
37
|
+
</a>
|
38
|
+
</div>
|
39
|
+
</li>
|
40
|
+
{% endif %}
|
41
|
+
{% if site.author.github %}
|
42
|
+
<li title="Follow me on Github.">
|
43
|
+
<div class="round-button github">
|
44
|
+
<a itemprop="sameAs" href="https://github.com/{{ site.author.github }}" target="_blank">
|
45
|
+
<div class="icon">{% include icon/social/github.svg %}</div>
|
46
|
+
</a>
|
47
|
+
</div>
|
48
|
+
</li>
|
49
|
+
{% endif %}
|
50
|
+
{% if site.author.linkedin %}
|
51
|
+
<li title="Follow me on Linkedin.">
|
52
|
+
<div class="round-button linkedin">
|
53
|
+
<a itemprop="sameAs" href="https://www.linkedin.com/in/{{ site.author.linkedin }}" target="_blank">
|
54
|
+
<div class="icon">{% include icon/social/linkedin.svg %}</div>
|
55
|
+
</a>
|
56
|
+
</div>
|
57
|
+
</li>
|
58
|
+
{% endif %}
|
59
|
+
{% if site.author.douban %}
|
60
|
+
<li title="Follow me on Douban.">
|
61
|
+
<div class="round-button douban">
|
62
|
+
<a itemprop="sameAs" href="https://www.douban.com/people/{{ site.author.douban }}" target="_blank">
|
63
|
+
<div class="icon">{% include icon/social/douban.svg %}</div>
|
64
|
+
</a>
|
65
|
+
</div>
|
66
|
+
</li>
|
67
|
+
{% endif %}
|
68
|
+
</ul>
|
69
|
+
{% if site.author.email %}
|
70
|
+
<p class="email">
|
71
|
+
<a title="Send me Email." href="mailto:{{ site.author.email }}" target="_self"> {{ site.author.email }} </a>
|
72
|
+
</p>
|
73
|
+
{% endif %}
|
74
|
+
</div>
|
@@ -0,0 +1,8 @@
|
|
1
|
+
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
2
|
+
width="24px" height="24px" viewBox="0 0 24 24">
|
3
|
+
<style type="text/css">
|
4
|
+
.st0{fill:#666666;}
|
5
|
+
</style>
|
6
|
+
<path class="st0" d="M1.7,22.3c5.7-5.7,11.3-5.7,17,0c3.3-3.3,3.5-5.3,0.8-6c2.7,0.7,3.5-1.1,2.3-5.6s-3.3-5.2-6.3-2.1
|
7
|
+
c3-3,2.3-5.2-2.1-6.3S7,1.8,7.7,4.6C7,1.8,5,2.1,1.7,5.3C7.3,11,7.3,16.7,1.7,22.3"/>
|
8
|
+
</svg>
|
@@ -0,0 +1 @@
|
|
1
|
+
{{ page.url | replace:'index.html','' | prepend: site.baseurl | replace:'//','/' | prepend: site.url }}
|
@@ -0,0 +1 @@
|
|
1
|
+
{{ "/feed.xml" | prepend: site.baseurl | replace:'//','/' | prepend: site.url }}
|
@@ -0,0 +1,22 @@
|
|
1
|
+
{% if site.disqus.shortname and page.key %}
|
2
|
+
<div id="disqus_thread"></div>
|
3
|
+
<script>
|
4
|
+
|
5
|
+
/**
|
6
|
+
* RECOMMENDED CONFIGURATION VARIABLES: EDIT AND UNCOMMENT THE SECTION BELOW TO INSERT DYNAMIC VALUES FROM YOUR PLATFORM OR CMS.
|
7
|
+
* LEARN WHY DEFINING THESE VARIABLES IS IMPORTANT: https://disqus.com/admin/universalcode/#configuration-variables*/
|
8
|
+
|
9
|
+
var disqus_config = function () {
|
10
|
+
this.page.url = '{% include snippets/page-url.html %}';
|
11
|
+
this.page.identifier = '{{ page.key }}';
|
12
|
+
};
|
13
|
+
|
14
|
+
(function() { // DON'T EDIT BELOW THIS LINE
|
15
|
+
var d = document, s = d.createElement('script');
|
16
|
+
s.src = 'https://{{ site.disqus.shortname }}.disqus.com/embed.js';
|
17
|
+
s.setAttribute('data-timestamp', +new Date());
|
18
|
+
(d.head || d.body).appendChild(s);
|
19
|
+
})();
|
20
|
+
</script>
|
21
|
+
<noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
|
22
|
+
{% endif %}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
{% if site.ga_tracking_id %}
|
2
|
+
<!-- Google Analytics -->
|
3
|
+
<script>
|
4
|
+
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
5
|
+
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
6
|
+
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
7
|
+
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
|
8
|
+
|
9
|
+
ga('create', '{{ site.ga_tracking_id }}', 'auto');
|
10
|
+
ga('send', 'pageview');
|
11
|
+
</script>
|
12
|
+
<!-- End Google Analytics -->
|
13
|
+
{% endif %}
|
data/_layouts/all.html
ADDED
@@ -0,0 +1,114 @@
|
|
1
|
+
---
|
2
|
+
layout: blog-default
|
3
|
+
title: All Posts
|
4
|
+
---
|
5
|
+
<div class="m-all">
|
6
|
+
<div class="main">
|
7
|
+
<h1 class="js-page-heading">All Posts</h1>
|
8
|
+
{% include blog/tags.html %}
|
9
|
+
<!--group by year: http://stackoverflow.com/questions/19086284/jekyll-liquid-templating-how-to-group-blog-posts-by-year-->
|
10
|
+
<section class="js-year-wrapper">
|
11
|
+
{% for post in site.posts %}
|
12
|
+
{% assign currentdate = post.date | date: "%Y" %}
|
13
|
+
{% if currentdate != date %}
|
14
|
+
{% unless forloop.first %}</ul></section>{% endunless %}
|
15
|
+
<section id="{{ post.date | date: "%Y" }}">
|
16
|
+
<h2 class="year-title" id="year-{{ post.date | date: "%Y" }}">{{ currentdate }}</h2>
|
17
|
+
<ul class="year-list">
|
18
|
+
{% assign date = currentdate %}
|
19
|
+
{% endif %}
|
20
|
+
{% assign _tags = "" %}
|
21
|
+
{% for tag in post.tags %}
|
22
|
+
{% assign _tag = tag | strip | url_encode %}
|
23
|
+
{% assign _tags = _tags | append: ","" | append: _tag %}
|
24
|
+
{% endfor %}
|
25
|
+
{% assign last = _tags | size | minus: 1 %}
|
26
|
+
{% assign _tags = _tags | slice: 1, last %}
|
27
|
+
<li class="js-post-block" data-tag="{{ _tags }}">
|
28
|
+
<span class="post-date">{{ post.date | date:"%b %d" }}</span><a class="post-link" href="{{ post.url | prepend: site.baseurl | replace: '//', '/' }}">{{ post.title }}</a>
|
29
|
+
</li>
|
30
|
+
{% if forloop.last %}</ul></section>{% endif %}
|
31
|
+
{% endfor %}
|
32
|
+
</section>
|
33
|
+
</div>
|
34
|
+
</div>
|
35
|
+
|
36
|
+
<script type="text/javascript">
|
37
|
+
// function queryString is copied from
|
38
|
+
// http://stackoverflow.com/questions/979975/how-to-get-the-value-from-url-parameter#answer-979995
|
39
|
+
function queryString() {
|
40
|
+
// This function is anonymous, is executed immediately and
|
41
|
+
// the return value is assigned to QueryString!
|
42
|
+
var i = 0, queryObj = {}, pair;
|
43
|
+
var queryStr = window.location.search.substring(1);
|
44
|
+
var queryArr = queryStr.split('&');
|
45
|
+
for (i = 0; i < queryArr.length; i++) {
|
46
|
+
pair = queryArr[i].split('=');
|
47
|
+
// If first entry with this name
|
48
|
+
if (typeof queryObj[pair[0]] === 'undefined') {
|
49
|
+
queryObj[pair[0]] = pair[1];
|
50
|
+
// If second entry with this name
|
51
|
+
} else if (typeof queryObj[pair[0]] === 'string') {
|
52
|
+
queryObj[pair[0]] = [queryObj[pair[0]], pair[1]];
|
53
|
+
// If third or later entry with this name
|
54
|
+
} else {
|
55
|
+
queryObj[pair[0]].push(pair[1]);
|
56
|
+
}
|
57
|
+
}
|
58
|
+
return queryObj;
|
59
|
+
}
|
60
|
+
|
61
|
+
$(function() {
|
62
|
+
var $pageHeading = $('.js-page-heading');
|
63
|
+
var $articleTag = $('.js-article-tag');
|
64
|
+
var $tagShowAll = $('.js-tag-show-all');
|
65
|
+
var $postBlock = $('.js-post-block');
|
66
|
+
var $yearSection = $('.js-year-wrapper section');
|
67
|
+
|
68
|
+
window.tagSelect = function(tag) {
|
69
|
+
var i = 0, flag = false, cur, tagStr = '',
|
70
|
+
tags = [], _tag = '', lis = [];
|
71
|
+
if (tag === undefined || tag === '') {
|
72
|
+
$pageHeading.text('All Posts'); $tagShowAll.focus(); $postBlock.show();
|
73
|
+
} else {
|
74
|
+
tag = tag.trim();
|
75
|
+
// $articleTag.filter('.tag-' + tag).focus();
|
76
|
+
for (i = 0; i < $articleTag.length; i++) {
|
77
|
+
cur = $articleTag.eq(i); _tag = cur.data('tag');
|
78
|
+
if (typeof _tag === 'string' && _tag.trim() === tag) {
|
79
|
+
cur.focus(); tagStr = cur.children('span').text();
|
80
|
+
(typeof tagStr === 'string') && (tagStr = tagStr.trim());
|
81
|
+
$pageHeading.text('Tag: ' + tagStr); break;
|
82
|
+
}
|
83
|
+
}
|
84
|
+
$postBlock.each(function() {
|
85
|
+
flag = false, cur = $(this);
|
86
|
+
tags = cur.data('tag').split(',');
|
87
|
+
for (i = 0; i < tags.length; i++) {
|
88
|
+
_tag = tags[i].trim();
|
89
|
+
if (_tag === tag) {
|
90
|
+
flag = true; cur.show(); break;
|
91
|
+
}
|
92
|
+
}
|
93
|
+
flag || (cur.hide());
|
94
|
+
});
|
95
|
+
}
|
96
|
+
$yearSection.each(function() {
|
97
|
+
flag = false, cur = $(this);
|
98
|
+
lis = cur.find('li');
|
99
|
+
for (i = 0; i < lis.length; i++) {
|
100
|
+
if(lis.eq(i).css('display') !== 'none') {
|
101
|
+
flag = true; break;
|
102
|
+
}
|
103
|
+
}
|
104
|
+
flag ? cur.show() : cur.hide();
|
105
|
+
});
|
106
|
+
tag === undefined || window.history.replaceState(null, '', window.location.href.split('?')[0] + '?tag=' + tag);
|
107
|
+
}
|
108
|
+
|
109
|
+
var query = queryString();
|
110
|
+
var tag = undefined;
|
111
|
+
query.tag === undefined || (tag = query.tag);
|
112
|
+
tagSelect(tag);
|
113
|
+
});
|
114
|
+
</script>
|
@@ -0,0 +1,34 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html lang="{{ site.lang }}">
|
3
|
+
<head>
|
4
|
+
{% include common-head.html %}
|
5
|
+
{% include head-icons-rel.html %}
|
6
|
+
<link rel="stylesheet" href="{{ "/assets/css/blog.css" | prepend: site.baseurl | replace:'//','/' }}">
|
7
|
+
<style>
|
8
|
+
{% if page.picture_frame == 'shadow' %}
|
9
|
+
.m-article-content img:not(.emoji) {
|
10
|
+
box-shadow: 0 0 5px rgba(0, 0, 0, .4);
|
11
|
+
}
|
12
|
+
{% endif %}
|
13
|
+
</style>
|
14
|
+
<script src="//cdn.bootcss.com/jquery/3.1.1/jquery.min.js"></script>
|
15
|
+
{% include utils/mathjax.html %}
|
16
|
+
</head>
|
17
|
+
<body>
|
18
|
+
<div class="m-page-stage js-page-stage">
|
19
|
+
{{ content }}
|
20
|
+
</div>
|
21
|
+
{% include blog/footer.html %}
|
22
|
+
<script>
|
23
|
+
$(function() {
|
24
|
+
// display coding language //
|
25
|
+
$(".highlight").each(function() {
|
26
|
+
$(this).attr("data-lang", $(this).find("code").attr("data-lang"));
|
27
|
+
});
|
28
|
+
});
|
29
|
+
</script>
|
30
|
+
{% if ga_tracking_id and site.isdebug == false %}
|
31
|
+
{% include utils/google-analytics.html %}
|
32
|
+
{% endif %}
|
33
|
+
</body>
|
34
|
+
</html>
|
@@ -0,0 +1,15 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html lang="{{ site.lang }}">
|
3
|
+
<head>
|
4
|
+
{% include common-head.html %}
|
5
|
+
{% include head-icons-rel.html %}
|
6
|
+
<link rel="stylesheet" href="{{ "/assets/css/home.css" | prepend: site.baseurl | replace:'//','/' }}">
|
7
|
+
<script src="//cdn.bootcss.com/jquery/3.1.1/jquery.min.js"></script>
|
8
|
+
</head>
|
9
|
+
<body>
|
10
|
+
{{ content }}
|
11
|
+
{% if site.isdebug == false %}
|
12
|
+
{% include utils/google-analytics.html %}
|
13
|
+
{% endif %}
|
14
|
+
</body>
|
15
|
+
</html>
|
data/_layouts/home.html
ADDED
@@ -0,0 +1,92 @@
|
|
1
|
+
---
|
2
|
+
layout: blog-default
|
3
|
+
title: Blog
|
4
|
+
---
|
5
|
+
<div class="m-home">
|
6
|
+
<div class="main">
|
7
|
+
<div class="m-post-list">
|
8
|
+
{% for post in paginator.posts %}
|
9
|
+
<article>
|
10
|
+
<h1>
|
11
|
+
<a href="{{ post.url | prepend: site.baseurl | replace: '//', '/' }}">{{ post.title }}</a>
|
12
|
+
</h1>
|
13
|
+
<div class="m-article-content">
|
14
|
+
{% if site.excerpt_type == 'html' %}
|
15
|
+
{{ post.excerpt }}
|
16
|
+
{% else %}
|
17
|
+
{{ post.excerpt | strip_html | truncate: 350 }}
|
18
|
+
{% endif %}
|
19
|
+
</div>
|
20
|
+
<a href="{{ post.url | prepend: site.baseurl | replace: '//', '/' }}">Click to read more ...</a>
|
21
|
+
{% include blog/article-data.html %}
|
22
|
+
</article>
|
23
|
+
{% endfor %}
|
24
|
+
</div>
|
25
|
+
{% if paginator.total_pages > 1 %}
|
26
|
+
<nav class="m-pagination">
|
27
|
+
<p>{{ site.posts | size }} post articles, {{ paginator.total_pages }} pages.</p>
|
28
|
+
<ul class="inline-list">
|
29
|
+
{% if paginator.previous_page %}
|
30
|
+
<li><a class="round-button" href="{{ paginator.previous_page_path | prepend: site.baseurl | replace: '//', '/' }}">
|
31
|
+
<div class="icon icon--previous">{% include icon/previous.svg %}</div>
|
32
|
+
</a></li>
|
33
|
+
{% else %}
|
34
|
+
<li><div class="round-button inactive">
|
35
|
+
<div class="icon icon--prrevious">{% include icon/previous.svg %}</div>
|
36
|
+
</div></li>
|
37
|
+
{% endif %}
|
38
|
+
{% for page in (1..paginator.total_pages) %}
|
39
|
+
{% if page == paginator.page %}
|
40
|
+
<li><div class="round-button cur">
|
41
|
+
<span>{{ page }}</span>
|
42
|
+
</div></li>
|
43
|
+
{% elsif page == 1 %}
|
44
|
+
<li><a class="round-button"
|
45
|
+
href="{{ '/' | prepend: site.baseurl | replace: '//', '/' }}">
|
46
|
+
<span>{{ page }}</span>
|
47
|
+
</a></li>
|
48
|
+
{% else %}
|
49
|
+
<li><a class="round-button" href="{{ site.paginate_path | prepend: site.baseurl | replace: '//', '/' | replace: ':num', page }}">
|
50
|
+
<span>{{ page }}</span>
|
51
|
+
</a></li>
|
52
|
+
{% endif %}
|
53
|
+
{% endfor %}
|
54
|
+
{% if paginator.next_page %}
|
55
|
+
<li><a class="round-button" href="{{ paginator.next_page_path | prepend: site.baseurl | replace: '//', '/' }}">
|
56
|
+
<div class="icon icon--next">{% include icon/next.svg %}</div>
|
57
|
+
</a></li>
|
58
|
+
{% else %}
|
59
|
+
<li><div class="round-button inactive">
|
60
|
+
<div class="icon icon--next">{% include icon/next.svg %}</div>
|
61
|
+
</div></li>
|
62
|
+
{% endif %}
|
63
|
+
</ul>
|
64
|
+
</nav>
|
65
|
+
{% endif %}
|
66
|
+
</div>
|
67
|
+
</div>
|
68
|
+
{% if site.leancloud.app_id and site.leancloud.app_key and site.leancloud.app_class and site.isdebug == false %}
|
69
|
+
<script src="https://cdn1.lncld.net/static/js/av-min-1.2.1.js"></script>
|
70
|
+
<script>
|
71
|
+
$(function() {
|
72
|
+
AV.init({
|
73
|
+
appId: '{{ site.leancloud.app_id }}',
|
74
|
+
appKey: '{{ site.leancloud.app_key }}'
|
75
|
+
});
|
76
|
+
$(".article-view").each(function() {
|
77
|
+
var curId = this.id;
|
78
|
+
var query = new AV.Query('{{ site.leancloud.app_class }}');
|
79
|
+
query.equalTo('key', curId.substr(9));
|
80
|
+
query.first().then(function(result) {
|
81
|
+
if (result) {
|
82
|
+
$('#' + curId).text(result.attributes.views);
|
83
|
+
}
|
84
|
+
}, function(error) {
|
85
|
+
if (error) {
|
86
|
+
throw error;
|
87
|
+
}
|
88
|
+
});
|
89
|
+
});
|
90
|
+
});
|
91
|
+
</script>
|
92
|
+
{% endif %}
|
data/_layouts/none.html
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
{{ content }}
|