jekyll-theme-wapiti 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +9 -0
- data/Gemfile +4 -0
- data/README.md +36 -0
- data/Rakefile +2 -0
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/jekyll-theme-wapiti.gemspec +34 -0
- data/lib/.gitignore +2 -0
- data/lib/404.html +25 -0
- data/lib/LICENSE +21 -0
- data/lib/README.md +20 -0
- data/lib/_config.yml +74 -0
- data/lib/_includes/footer.html +219 -0
- data/lib/_includes/head.html +37 -0
- data/lib/_includes/nav.html +85 -0
- data/lib/_layouts/default.html +17 -0
- data/lib/_layouts/page.html +199 -0
- data/lib/_layouts/post.html +205 -0
- data/lib/_posts/2017-03-25-markdown-test.md +19 -0
- data/lib/_posts/2017-03-26-catalog-test.md +24 -0
- data/lib/about.md +9 -0
- data/lib/css/backtop.css +23 -0
- data/lib/css/bootstrap.min.css +5 -0
- data/lib/css/clean-blog.min.css +1 -0
- data/lib/css/material.min.css +9 -0
- data/lib/css/print.css +15 -0
- data/lib/css/style.css +1091 -0
- data/lib/css/syntax.css +84 -0
- data/lib/feed.xml +30 -0
- data/lib/fonts/glyphicons-halflings-regular.eot +0 -0
- data/lib/fonts/glyphicons-halflings-regular.svg +288 -0
- data/lib/fonts/glyphicons-halflings-regular.ttf +0 -0
- data/lib/fonts/glyphicons-halflings-regular.woff +0 -0
- data/lib/fonts/glyphicons-halflings-regular.woff2 +0 -0
- data/lib/img/avatar.png +0 -0
- data/lib/img/favicon.png +0 -0
- data/lib/img/index.jpg +0 -0
- data/lib/index.html +42 -0
- data/lib/jekyll/theme/wapiti/version.rb +7 -0
- data/lib/jekyll/theme/wapiti.rb +9 -0
- data/lib/js/animatescroll.min.js +2 -0
- data/lib/js/bootstrap.min.js +7 -0
- data/lib/js/jquery.js +9205 -0
- data/lib/js/jquery.min.js +4 -0
- data/lib/js/jquery.nav.js +224 -0
- data/lib/js/jquery.tagcloud.js +81 -0
- data/lib/js/js.js +84 -0
- data/lib/js/js.min.js +1 -0
- data/lib/js/material.min.js +10 -0
- data/lib/less/hux-blog.less +1028 -0
- data/lib/less/mixins.less +52 -0
- data/lib/less/side-catalog.less +81 -0
- data/lib/less/sidebar.less +58 -0
- data/lib/less/variables.less +8 -0
- data/lib/offline.html +25 -0
- data/lib/package.json +22 -0
- data/lib/pwa/icons/192.png +0 -0
- data/lib/pwa/manifest.json +17 -0
- data/lib/sw.js +146 -0
- data/lib/tags.html +53 -0
- metadata +131 -0
@@ -0,0 +1,52 @@
|
|
1
|
+
// Mixins
|
2
|
+
|
3
|
+
.transition-all() {
|
4
|
+
-webkit-transition: all 0.5s;
|
5
|
+
-moz-transition: all 0.5s;
|
6
|
+
transition: all 0.5s;
|
7
|
+
}
|
8
|
+
|
9
|
+
.background-cover() {
|
10
|
+
-webkit-background-size: cover;
|
11
|
+
-moz-background-size: cover;
|
12
|
+
background-size: cover;
|
13
|
+
-o-background-size: cover;
|
14
|
+
}
|
15
|
+
|
16
|
+
.serif() {
|
17
|
+
font-family: 'Lora', 'Times New Roman', serif;
|
18
|
+
}
|
19
|
+
|
20
|
+
.sans-serif () {
|
21
|
+
/* Hux learn from
|
22
|
+
* TypeIsBeautiful,
|
23
|
+
* [This Post](http://zhuanlan.zhihu.com/ibuick/20186806) etc.
|
24
|
+
*/
|
25
|
+
font-family:
|
26
|
+
// System Font // https://www.webkit.org/blog/3709/using-the-system-font-in-web-content/
|
27
|
+
-apple-system, // OSX ^10.11 & iOS ^9 San Francisco & 苹方 for Safari
|
28
|
+
BlinkMacSystemFont, // OSX ^10.11 & iOS ^9 San Francisco & 苹方 for Blink
|
29
|
+
|
30
|
+
// English First
|
31
|
+
"Helvetica Neue", // OSX
|
32
|
+
"Arial", // Win "Helvetica"
|
33
|
+
//" Segoe UI", // Win ^8
|
34
|
+
|
35
|
+
// Chinese Fallback
|
36
|
+
"PingFang SC", // OSX ^10.11 & iOS ^9 苹方(华康信凭黑)
|
37
|
+
"Hiragino Sans GB", // OSX ^10.6 冬青黑体
|
38
|
+
"STHeiti", // OSX <10.6 & iOS <9 华文黑体
|
39
|
+
"Microsoft YaHei", // Win 微软雅黑
|
40
|
+
"Microsoft JhengHei", // Win 微软正黑
|
41
|
+
"Source Han Sans SC", // SourceHan - begin 思源黑体
|
42
|
+
"Noto Sans CJK SC",
|
43
|
+
"Source Han Sans CN",
|
44
|
+
"Noto Sans SC",
|
45
|
+
"Source Han Sans TC",
|
46
|
+
"Noto Sans CJK TC", // SourceHan - end
|
47
|
+
"WenQuanYi Micro Hei", // Linux 文泉驿微米黑
|
48
|
+
SimSun, // Win old 中易宋体
|
49
|
+
sans-serif; // System Fallback
|
50
|
+
|
51
|
+
line-height: 1.7;
|
52
|
+
}
|
@@ -0,0 +1,81 @@
|
|
1
|
+
// Directory Section
|
2
|
+
|
3
|
+
.catalog-container{
|
4
|
+
padding: 0px;
|
5
|
+
}
|
6
|
+
|
7
|
+
.side-catalog {
|
8
|
+
&.fixed{
|
9
|
+
position: fixed;
|
10
|
+
top: -21px;
|
11
|
+
}
|
12
|
+
&.fold{
|
13
|
+
.catalog-toggle::before{
|
14
|
+
content: "+";
|
15
|
+
}
|
16
|
+
.catalog-body{
|
17
|
+
display: none;
|
18
|
+
}
|
19
|
+
}
|
20
|
+
.catalog-toggle::before{
|
21
|
+
content: "−";
|
22
|
+
position: relative;
|
23
|
+
margin-right: 5px;
|
24
|
+
bottom: 1px;
|
25
|
+
}
|
26
|
+
display: block;
|
27
|
+
overflow: auto;
|
28
|
+
height: 100%;
|
29
|
+
padding-bottom: 40px;
|
30
|
+
width: 195px;
|
31
|
+
.catalog-body{
|
32
|
+
position: relative;
|
33
|
+
list-style: none;
|
34
|
+
height: auto;
|
35
|
+
overflow: hidden;
|
36
|
+
padding-left: 0px;
|
37
|
+
padding-right: 5px;
|
38
|
+
text-indent: 0;
|
39
|
+
li{
|
40
|
+
position: relative;
|
41
|
+
list-style: none;
|
42
|
+
a{
|
43
|
+
padding-left: 10px;
|
44
|
+
max-width: 180px;
|
45
|
+
display: inline-block;
|
46
|
+
vertical-align: middle;
|
47
|
+
height: 30px;
|
48
|
+
line-height: 30px;
|
49
|
+
overflow: hidden;
|
50
|
+
text-decoration: none;
|
51
|
+
white-space: nowrap;
|
52
|
+
text-overflow: ellipsis;
|
53
|
+
}
|
54
|
+
}
|
55
|
+
.h1_nav,.h2_nav,.h3_nav{
|
56
|
+
margin-left: 0;
|
57
|
+
font-size: 13px;
|
58
|
+
font-weight: bold;
|
59
|
+
}
|
60
|
+
.h4_nav,.h5_nav,.h6_nav{
|
61
|
+
margin-left: 10px;
|
62
|
+
font-size: 12px;
|
63
|
+
a{
|
64
|
+
max-width: 170px;
|
65
|
+
}
|
66
|
+
}
|
67
|
+
.active{
|
68
|
+
a{
|
69
|
+
color: #0085a1!important;
|
70
|
+
}
|
71
|
+
border-radius: 4px;
|
72
|
+
background-color: #F5F5F5;
|
73
|
+
}
|
74
|
+
}
|
75
|
+
}
|
76
|
+
|
77
|
+
@media (max-width: 1200px){
|
78
|
+
.side-catalog{
|
79
|
+
display: none;
|
80
|
+
}
|
81
|
+
}
|
@@ -0,0 +1,58 @@
|
|
1
|
+
@import "variables.less";
|
2
|
+
|
3
|
+
// Sidebar Components
|
4
|
+
|
5
|
+
// Large Screen
|
6
|
+
@media (min-width: 1200px){
|
7
|
+
.post-container, .sidebar-container{
|
8
|
+
padding-right: 5%;
|
9
|
+
}
|
10
|
+
}
|
11
|
+
@media (min-width: 768px){
|
12
|
+
.post-container{
|
13
|
+
padding-right: 5%;
|
14
|
+
}
|
15
|
+
}
|
16
|
+
|
17
|
+
// Container of Sidebar, also Friends
|
18
|
+
.sidebar-container{
|
19
|
+
color: @gray-l;
|
20
|
+
font-size: 14px;
|
21
|
+
h5{
|
22
|
+
color: @gray;
|
23
|
+
padding-bottom: 1em;
|
24
|
+
a{
|
25
|
+
color: @gray !important;
|
26
|
+
text-decoration: none;
|
27
|
+
}
|
28
|
+
}
|
29
|
+
a{
|
30
|
+
color: @gray-l !important;
|
31
|
+
&:hover, &:active{
|
32
|
+
color: @brand-primary !important;
|
33
|
+
}
|
34
|
+
}
|
35
|
+
.tags{
|
36
|
+
a{
|
37
|
+
border-color: @gray-l;
|
38
|
+
&:hover, &:active{
|
39
|
+
border-color: @brand-primary;
|
40
|
+
}
|
41
|
+
}
|
42
|
+
}
|
43
|
+
.short-about{
|
44
|
+
img{
|
45
|
+
width: 80%;
|
46
|
+
display: block;
|
47
|
+
border-radius: 5px;
|
48
|
+
margin-bottom: 20px;
|
49
|
+
}
|
50
|
+
p{
|
51
|
+
margin-top: 0px;
|
52
|
+
margin-bottom: 20px;
|
53
|
+
}
|
54
|
+
.list-inline>li{
|
55
|
+
padding-left: 0px;
|
56
|
+
}
|
57
|
+
}
|
58
|
+
}
|
data/lib/offline.html
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
---
|
2
|
+
layout: default
|
3
|
+
description: "当前网络不可用 :("
|
4
|
+
header-img: "img/404-bg.jpg"
|
5
|
+
permalink: /offline.html
|
6
|
+
---
|
7
|
+
|
8
|
+
|
9
|
+
<!-- Page Header -->
|
10
|
+
<header class="intro-header" style="background-image: url('{{ site.baseurl }}/{% if page.header-img %}{{ page.header-img }}{% else %}{{ site.header-img }}{% endif %}')">
|
11
|
+
<div class="container">
|
12
|
+
<div class="row">
|
13
|
+
<div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1">
|
14
|
+
<div class="site-heading" id="tag-heading">
|
15
|
+
<h1>Offline</h1>
|
16
|
+
<span class="subheading">{{ page.description }}</span>
|
17
|
+
</div>
|
18
|
+
</div>
|
19
|
+
</div>
|
20
|
+
</div>
|
21
|
+
</header>
|
22
|
+
|
23
|
+
<script>
|
24
|
+
document.body.classList.add('page-fullscreen');
|
25
|
+
</script>
|
data/lib/package.json
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
{
|
2
|
+
"name": "jekyll-theme-wapiti",
|
3
|
+
"title": "jekyll-theme-wapiti",
|
4
|
+
"version": "1.0.0",
|
5
|
+
"homepage": "https://aiokr.github.io/jekyll-theme-wapiti/",
|
6
|
+
"author": "aiokr",
|
7
|
+
"license": {
|
8
|
+
"type": "Apache 2.0",
|
9
|
+
"url": "https://github.com/aiokr/aiokr.github.io/blob/master/LICENSE"
|
10
|
+
},
|
11
|
+
"devDependencies": {
|
12
|
+
"grunt": "~0.4.5",
|
13
|
+
"grunt-contrib-less": "~0.11.4",
|
14
|
+
"grunt-contrib-watch": "~0.6.1",
|
15
|
+
"grunt-banner": "~0.2.3",
|
16
|
+
"grunt-contrib-uglify": "~0.5.1"
|
17
|
+
},
|
18
|
+
"repository": {
|
19
|
+
"type": "git",
|
20
|
+
"url": "https://github.com/aiokr/aiokr.github.io.git"
|
21
|
+
}
|
22
|
+
}
|
Binary file
|
@@ -0,0 +1,17 @@
|
|
1
|
+
{
|
2
|
+
"short_name": "wapiti theme",
|
3
|
+
"name": "wapiti theme",
|
4
|
+
"description": "",
|
5
|
+
"icons": [
|
6
|
+
{
|
7
|
+
"src": "192.png",
|
8
|
+
"sizes": "192x192",
|
9
|
+
"type": "image/png"
|
10
|
+
}
|
11
|
+
],
|
12
|
+
"background_color": "#607D8B",
|
13
|
+
"theme_color": "#607D8B",
|
14
|
+
"start_url": "/",
|
15
|
+
"display": "standalone",
|
16
|
+
"orientation": "portrait"
|
17
|
+
}
|
data/lib/sw.js
ADDED
@@ -0,0 +1,146 @@
|
|
1
|
+
/* ===========================================================
|
2
|
+
* sw.js
|
3
|
+
* ===========================================================
|
4
|
+
* Copyright 2016 @huxpro
|
5
|
+
* Licensed under Apache 2.0
|
6
|
+
* Register service worker.
|
7
|
+
* ========================================================== */
|
8
|
+
|
9
|
+
const PRECACHE = 'precache-v1';
|
10
|
+
const RUNTIME = 'runtime';
|
11
|
+
const HOSTNAME_WHITELIST = [
|
12
|
+
self.location.hostname,
|
13
|
+
"aiokr.github.io",
|
14
|
+
]
|
15
|
+
|
16
|
+
|
17
|
+
// The Util Function to hack URLs of intercepted requests
|
18
|
+
const getFixedUrl = (req) => {
|
19
|
+
var now = Date.now();
|
20
|
+
url = new URL(req.url)
|
21
|
+
|
22
|
+
// 1. fixed http URL
|
23
|
+
// Just keep syncing with location.protocol
|
24
|
+
// fetch(httpURL) belongs to active mixed content.
|
25
|
+
// And fetch(httpRequest) is not supported yet.
|
26
|
+
url.protocol = self.location.protocol
|
27
|
+
|
28
|
+
// 2. add query for caching-busting.
|
29
|
+
// Github Pages served with Cache-Control: max-age=600
|
30
|
+
// max-age on mutable content is error-prone, with SW life of bugs can even extend.
|
31
|
+
// Until cache mode of Fetch API landed, we have to workaround cache-busting with query string.
|
32
|
+
// Cache-Control-Bug: https://bugs.chromium.org/p/chromium/issues/detail?id=453190
|
33
|
+
url.search += (url.search ? '&' : '?') + 'cache-bust=' + now;
|
34
|
+
return url.href
|
35
|
+
}
|
36
|
+
|
37
|
+
// The Util Function to detect and polyfill req.mode="navigate"
|
38
|
+
// request.mode of 'navigate' is unfortunately not supported in Chrome
|
39
|
+
// versions older than 49, so we need to include a less precise fallback,
|
40
|
+
// which checks for a GET request with an Accept: text/html header.
|
41
|
+
const isNavigationReq = (req) => (req.mode === 'navigate' || (req.method === 'GET' && req.headers.get('accept').includes('text/html')))
|
42
|
+
|
43
|
+
// The Util Function to detect if a req is end with extension
|
44
|
+
// Accordin to Fetch API spec <https://fetch.spec.whatwg.org/#concept-request-destination>
|
45
|
+
// Any HTML's navigation has consistently mode="navigate" type="" and destination="document"
|
46
|
+
// including requesting an img (or any static resources) from URL Bar directly.
|
47
|
+
// So It ends up with that regExp is still the king of URL routing ;)
|
48
|
+
// P.S. An url.pathname has no '.' can not indicate it ends with extension (e.g. /api/version/1.2/)
|
49
|
+
const endWithExtension = (req) => Boolean(new URL(req.url).pathname.match(/\.\w+$/))
|
50
|
+
|
51
|
+
// Redirect in SW manually fixed github pages arbitray 404s on things?blah
|
52
|
+
// what we want:
|
53
|
+
// repo?blah -> !(gh 404) -> sw 302 -> repo/?blah
|
54
|
+
// .ext?blah -> !(sw 302 -> .ext/?blah -> gh 404) -> .ext?blah
|
55
|
+
// If It's a navigation req and it's url.pathname isn't end with '/' or '.ext'
|
56
|
+
// it should be a dir/repo request and need to be fixed (a.k.a be redirected)
|
57
|
+
// Tracking https://twitter.com/Huxpro/status/798816417097224193
|
58
|
+
const shouldRedirect = (req) => (isNavigationReq(req) && new URL(req.url).pathname.substr(-1) !== "/" && !endWithExtension(req))
|
59
|
+
|
60
|
+
// The Util Function to get redirect URL
|
61
|
+
// `${url}/` would mis-add "/" in the end of query, so we use URL object.
|
62
|
+
// P.P.S. Always trust url.pathname instead of the whole url string.
|
63
|
+
const getRedirectUrl = (req) => {
|
64
|
+
url = new URL(req.url)
|
65
|
+
url.pathname += "/"
|
66
|
+
return url.href
|
67
|
+
}
|
68
|
+
|
69
|
+
/**
|
70
|
+
* @Lifecycle Install
|
71
|
+
* Precache anything static to this version of your app.
|
72
|
+
* e.g. App Shell, 404, JS/CSS dependencies...
|
73
|
+
*
|
74
|
+
* waitUntil() : installing ====> installed
|
75
|
+
* skipWaiting() : waiting(installed) ====> activating
|
76
|
+
*/
|
77
|
+
self.addEventListener('install', e => {
|
78
|
+
e.waitUntil(
|
79
|
+
caches.open(PRECACHE).then(cache => {
|
80
|
+
return cache.add('offline.html')
|
81
|
+
.then(self.skipWaiting())
|
82
|
+
.catch(err => console.log(err))
|
83
|
+
})
|
84
|
+
)
|
85
|
+
});
|
86
|
+
|
87
|
+
|
88
|
+
/**
|
89
|
+
* @Lifecycle Activate
|
90
|
+
* New one activated when old isnt being used.
|
91
|
+
*
|
92
|
+
* waitUntil(): activating ====> activated
|
93
|
+
*/
|
94
|
+
self.addEventListener('activate', event => {
|
95
|
+
console.log('service worker activated.')
|
96
|
+
event.waitUntil(self.clients.claim());
|
97
|
+
});
|
98
|
+
|
99
|
+
|
100
|
+
/**
|
101
|
+
* @Functional Fetch
|
102
|
+
* All network requests are being intercepted here.
|
103
|
+
*
|
104
|
+
* void respondWith(Promise<Response> r);
|
105
|
+
*/
|
106
|
+
self.addEventListener('fetch', event => {
|
107
|
+
// logs for debugging
|
108
|
+
console.log(`fetch ${event.request.url}`)
|
109
|
+
//console.log(` - type: ${event.request.type}; destination: ${event.request.destination}`)
|
110
|
+
//console.log(` - mode: ${event.request.mode}, accept: ${event.request.headers.get('accept')}`)
|
111
|
+
|
112
|
+
// Skip some of cross-origin requests, like those for Google Analytics.
|
113
|
+
if (HOSTNAME_WHITELIST.indexOf(new URL(event.request.url).hostname) > -1) {
|
114
|
+
|
115
|
+
// Redirect in SW manually fixed github pages 404s on repo?blah
|
116
|
+
if(shouldRedirect(event.request)){
|
117
|
+
event.respondWith(Response.redirect(getRedirectUrl(event.request)))
|
118
|
+
return;
|
119
|
+
}
|
120
|
+
|
121
|
+
// Stale-while-revalidate
|
122
|
+
// similar to HTTP's stale-while-revalidate: https://www.mnot.net/blog/2007/12/12/stale
|
123
|
+
// Upgrade from Jake's to Surma's: https://gist.github.com/surma/eb441223daaedf880801ad80006389f1
|
124
|
+
const cached = caches.match(event.request);
|
125
|
+
const fixedUrl = getFixedUrl(event.request);
|
126
|
+
const fetched = fetch(fixedUrl, {cache: "no-store"});
|
127
|
+
const fetchedCopy = fetched.then(resp => resp.clone());
|
128
|
+
|
129
|
+
// Call respondWith() with whatever we get first.
|
130
|
+
// If the fetch fails (e.g disconnected), wait for the cache.
|
131
|
+
// If there’s nothing in cache, wait for the fetch.
|
132
|
+
// If neither yields a response, return offline pages.
|
133
|
+
event.respondWith(
|
134
|
+
Promise.race([fetched.catch(_ => cached), cached])
|
135
|
+
.then(resp => resp || fetched)
|
136
|
+
.catch(_ => caches.match('offline.html'))
|
137
|
+
);
|
138
|
+
|
139
|
+
// Update the cache with the version we fetched (only for ok status)
|
140
|
+
event.waitUntil(
|
141
|
+
Promise.all([fetchedCopy, caches.open(RUNTIME)])
|
142
|
+
.then(([response, cache]) => response.ok && cache.put(event.request, response))
|
143
|
+
.catch(_ => {/* eat any errors */})
|
144
|
+
);
|
145
|
+
}
|
146
|
+
});
|
data/lib/tags.html
ADDED
@@ -0,0 +1,53 @@
|
|
1
|
+
---
|
2
|
+
title: Tags
|
3
|
+
layout: page
|
4
|
+
description: a cloud of tags
|
5
|
+
header-img: "img/index.jpg"
|
6
|
+
---
|
7
|
+
|
8
|
+
<!-- -->
|
9
|
+
|
10
|
+
|
11
|
+
<!-- Main Content -->
|
12
|
+
<div class="container">
|
13
|
+
<div class="row">
|
14
|
+
<div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1">
|
15
|
+
<!-- 标签云 -->
|
16
|
+
<div id='tag_cloud' class="tags">
|
17
|
+
{% for tag in site.tags %}
|
18
|
+
<a href="#{{ tag[0] }}" title="{{ tag[0] }}" rel="{{ tag[1].size }}">{{ tag[0] }}</a>
|
19
|
+
{% endfor %}
|
20
|
+
</div>
|
21
|
+
|
22
|
+
<!-- 标签列表 -->
|
23
|
+
{% for tag in site.tags %}
|
24
|
+
<div class="one-tag-list">
|
25
|
+
<span class="fa fa-tag listing-seperator" id="{{ tag[0] }}">
|
26
|
+
<span class="tag-text">{{ tag[0] }}</span>
|
27
|
+
</span>
|
28
|
+
{% for post in tag[1] %}
|
29
|
+
<!-- <li class="listing-item">
|
30
|
+
<time datetime="{{ post.date | date:"%Y-%m-%d" }}">{{ post.date | date:"%Y-%m-%d" }}</time>
|
31
|
+
<a href="{{ post.url }}" title="{{ post.title }}">{{ post.title }}</a>
|
32
|
+
</li> -->
|
33
|
+
<div class="post-preview">
|
34
|
+
<a href="{{ post.url | prepend: site.baseurl }}">
|
35
|
+
<h2 class="post-title">
|
36
|
+
{{ post.title }}
|
37
|
+
</h2>
|
38
|
+
{% if post.subtitle %}
|
39
|
+
<h3 class="post-subtitle">
|
40
|
+
{{ post.subtitle }}
|
41
|
+
</h3>
|
42
|
+
{% endif %}
|
43
|
+
</a>
|
44
|
+
<!-- <p class="post-meta">{{ post.date | date:"%Y-%m-%d" }}</p> -->
|
45
|
+
</div>
|
46
|
+
<hr>
|
47
|
+
{% endfor %}
|
48
|
+
</div>
|
49
|
+
{% endfor %}
|
50
|
+
|
51
|
+
</div>
|
52
|
+
</div>
|
53
|
+
</div>
|
metadata
ADDED
@@ -0,0 +1,131 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: jekyll-theme-wapiti
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- AngusChen
|
8
|
+
autorequire:
|
9
|
+
bindir: exe
|
10
|
+
cert_chain: []
|
11
|
+
date: 2017-03-26 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: bundler
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.14'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.14'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rake
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '10.0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '10.0'
|
41
|
+
description: a better for jekyll
|
42
|
+
email:
|
43
|
+
- hiaiokr@gmail.com
|
44
|
+
executables: []
|
45
|
+
extensions: []
|
46
|
+
extra_rdoc_files: []
|
47
|
+
files:
|
48
|
+
- ".gitignore"
|
49
|
+
- Gemfile
|
50
|
+
- README.md
|
51
|
+
- Rakefile
|
52
|
+
- bin/console
|
53
|
+
- bin/setup
|
54
|
+
- jekyll-theme-wapiti.gemspec
|
55
|
+
- lib/.gitignore
|
56
|
+
- lib/404.html
|
57
|
+
- lib/LICENSE
|
58
|
+
- lib/README.md
|
59
|
+
- lib/_config.yml
|
60
|
+
- lib/_includes/footer.html
|
61
|
+
- lib/_includes/head.html
|
62
|
+
- lib/_includes/nav.html
|
63
|
+
- lib/_layouts/default.html
|
64
|
+
- lib/_layouts/page.html
|
65
|
+
- lib/_layouts/post.html
|
66
|
+
- lib/_posts/2017-03-25-markdown-test.md
|
67
|
+
- lib/_posts/2017-03-26-catalog-test.md
|
68
|
+
- lib/about.md
|
69
|
+
- lib/css/backtop.css
|
70
|
+
- lib/css/bootstrap.min.css
|
71
|
+
- lib/css/clean-blog.min.css
|
72
|
+
- lib/css/material.min.css
|
73
|
+
- lib/css/print.css
|
74
|
+
- lib/css/style.css
|
75
|
+
- lib/css/syntax.css
|
76
|
+
- lib/feed.xml
|
77
|
+
- lib/fonts/glyphicons-halflings-regular.eot
|
78
|
+
- lib/fonts/glyphicons-halflings-regular.svg
|
79
|
+
- lib/fonts/glyphicons-halflings-regular.ttf
|
80
|
+
- lib/fonts/glyphicons-halflings-regular.woff
|
81
|
+
- lib/fonts/glyphicons-halflings-regular.woff2
|
82
|
+
- lib/img/avatar.png
|
83
|
+
- lib/img/favicon.png
|
84
|
+
- lib/img/index.jpg
|
85
|
+
- lib/index.html
|
86
|
+
- lib/jekyll/theme/wapiti.rb
|
87
|
+
- lib/jekyll/theme/wapiti/version.rb
|
88
|
+
- lib/js/animatescroll.min.js
|
89
|
+
- lib/js/bootstrap.min.js
|
90
|
+
- lib/js/jquery.js
|
91
|
+
- lib/js/jquery.min.js
|
92
|
+
- lib/js/jquery.nav.js
|
93
|
+
- lib/js/jquery.tagcloud.js
|
94
|
+
- lib/js/js.js
|
95
|
+
- lib/js/js.min.js
|
96
|
+
- lib/js/material.min.js
|
97
|
+
- lib/less/hux-blog.less
|
98
|
+
- lib/less/mixins.less
|
99
|
+
- lib/less/side-catalog.less
|
100
|
+
- lib/less/sidebar.less
|
101
|
+
- lib/less/variables.less
|
102
|
+
- lib/offline.html
|
103
|
+
- lib/package.json
|
104
|
+
- lib/pwa/icons/192.png
|
105
|
+
- lib/pwa/manifest.json
|
106
|
+
- lib/sw.js
|
107
|
+
- lib/tags.html
|
108
|
+
homepage: https://aiokr.github.io/jekyll-theme-wapiti/
|
109
|
+
licenses: []
|
110
|
+
metadata: {}
|
111
|
+
post_install_message:
|
112
|
+
rdoc_options: []
|
113
|
+
require_paths:
|
114
|
+
- lib
|
115
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
116
|
+
requirements:
|
117
|
+
- - ">="
|
118
|
+
- !ruby/object:Gem::Version
|
119
|
+
version: '0'
|
120
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ">="
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
125
|
+
requirements: []
|
126
|
+
rubyforge_project:
|
127
|
+
rubygems_version: 2.5.2
|
128
|
+
signing_key:
|
129
|
+
specification_version: 4
|
130
|
+
summary: Jekyll-theme-wapiti
|
131
|
+
test_files: []
|