jekyll-dark-ored 0.1.1 → 0.2.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 +4 -4
- data/_includes/footer.html +20 -1
- data/_includes/header.html +8 -1
- data/assets/css/style.scss +54 -1
- data/assets/js/app.js +52 -0
- data/assets/js/simple-jekyll-search.min.js +6 -0
- data/search.json +16 -0
- metadata +5 -3
- data/assets/js/menu.js +0 -26
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b99292b0db7345491cae7b1d3298e0df7349846c678307167447fe77971409f1
|
4
|
+
data.tar.gz: 5ac2f44fc1329b2de89f0676700f15cef4ad52f1b5fdac0d55b9b96b647d85ac
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ccdb292372425737b508095b28b1bc44b91494fe9e8b44352df9fde029ed102b0e3f08921d9c3abc38b7eaf6e66d255cf690804d99345c38b7a4b399cdb54419
|
7
|
+
data.tar.gz: 148cffb4b8165cb4b31adf9e57c42dd058c361459ae48fde61343bf8ec96a68cd5ffee9b1de66038eddc4e781f15fc6e63679408969a09a2a903d5db643e0e72
|
data/_includes/footer.html
CHANGED
@@ -24,5 +24,24 @@
|
|
24
24
|
</p>
|
25
25
|
</footer>
|
26
26
|
</body>
|
27
|
-
<script type="text/javascript" src="{{'/assets/js/
|
27
|
+
<script type="text/javascript" src="{{'/assets/js/simple-jekyll-search.min.js' | absolute_url }}"></script>
|
28
|
+
<script type="text/javascript" src="{{'/assets/js/app.js' | absolute_url }}"></script>
|
29
|
+
<script type="text/javascript">
|
30
|
+
var sjs = SimpleJekyllSearch({
|
31
|
+
searchInput: qs('#search-input'),
|
32
|
+
resultsContainer: qs('#search-results'),
|
33
|
+
json: '{{ "search.json" | absolute_url }}',
|
34
|
+
searchResultTemplate: '<div class="s-result"><a href="{url}" title="{title}">{title}</a><p>{description}</p></div>',
|
35
|
+
});
|
36
|
+
qs('#search-input').addEventListener('input', function(e){
|
37
|
+
e.preventDefault();
|
38
|
+
search = this.value
|
39
|
+
search = search.trim();
|
40
|
+
if (search.length > 0){
|
41
|
+
sjs.search(this.value);
|
42
|
+
}else{
|
43
|
+
qs('#search-results').innerHTML = ''
|
44
|
+
}
|
45
|
+
})
|
46
|
+
</script>
|
28
47
|
</html>
|
data/_includes/header.html
CHANGED
@@ -4,7 +4,6 @@
|
|
4
4
|
<meta charset="utf-8" />
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
6
6
|
<title>{% if page.title %}{{ page.title }}{% else %}{{ site.title }}{% endif %}</title>
|
7
|
-
<link rel="stylesheet" type="text/css" href="{{ '/assets/css/normalize.css' | absolute_url }}" />
|
8
7
|
<link rel="stylesheet" type="text/css" href="{{ '/assets/css/fontello-embedded.css' | absolute_url }}" />
|
9
8
|
<link rel="stylesheet" type="text/css" href="{{ '/assets/css/style.css' | absolute_url }}" />
|
10
9
|
<link rel="alternate" type="application/rss+xml" title="{{ site.title }}" href="{{ '/feed.xml' | absolute_url }}" />
|
@@ -23,6 +22,7 @@
|
|
23
22
|
<nav>
|
24
23
|
<a href="{{ site.url }}"><span class="navbar-title float-left" id="site-title">{{ site.title }}</span></a>
|
25
24
|
<a href="#" id="toggle-menu"><i class="icon-menu"></i></a>
|
25
|
+
<a href="#" id="toggle-search" class="icon-search"></a>
|
26
26
|
<div id="main-nav">
|
27
27
|
{% for p in site.pages %}
|
28
28
|
{% if p.title %}
|
@@ -33,6 +33,13 @@
|
|
33
33
|
</nav>
|
34
34
|
</div>
|
35
35
|
</header>
|
36
|
+
<div id="search-div">
|
37
|
+
<div id="search">
|
38
|
+
<input id="search-input" autocomplete="off" />
|
39
|
+
<button type="reset"><i class="icon-cancel"></i></button>
|
40
|
+
</div>
|
41
|
+
<div id="search-results"></div>
|
42
|
+
</div>
|
36
43
|
<div id="home">
|
37
44
|
<div id="site-desc">
|
38
45
|
<h1>{{ site.title }}</h1>
|
data/assets/css/style.scss
CHANGED
@@ -87,12 +87,17 @@ footer {
|
|
87
87
|
}
|
88
88
|
}
|
89
89
|
|
90
|
-
#content {
|
90
|
+
#content, #search-results {
|
91
91
|
width: 90%;
|
92
92
|
max-width: 1024px;
|
93
93
|
margin: 1rem auto;
|
94
94
|
}
|
95
95
|
|
96
|
+
#content.no-scroll {
|
97
|
+
position: fixed;
|
98
|
+
width: 100%;
|
99
|
+
}
|
100
|
+
|
96
101
|
#entries {
|
97
102
|
.entry {
|
98
103
|
padding: .5rem;
|
@@ -138,6 +143,54 @@ table {
|
|
138
143
|
float: right;
|
139
144
|
}
|
140
145
|
|
146
|
+
#toggle-search {
|
147
|
+
float: right;
|
148
|
+
}
|
149
|
+
|
150
|
+
/* Search */
|
151
|
+
|
152
|
+
#search-div {
|
153
|
+
position: fixed;
|
154
|
+
left: 0;
|
155
|
+
top: 54px;
|
156
|
+
z-index: 20;
|
157
|
+
background: $black;
|
158
|
+
width: 100%;
|
159
|
+
height: calc(100vh - 54px);
|
160
|
+
display: none;
|
161
|
+
|
162
|
+
#search {
|
163
|
+
width: 90%;
|
164
|
+
max-width: 380px;
|
165
|
+
margin: 1rem auto;
|
166
|
+
position: relative;
|
167
|
+
font-size: 1.2rem;
|
168
|
+
}
|
169
|
+
|
170
|
+
#search-input {
|
171
|
+
width: 100%;
|
172
|
+
border: 0;
|
173
|
+
border-radius: 0;
|
174
|
+
border-bottom: 1px solid;
|
175
|
+
background: transparent;
|
176
|
+
color: $white;
|
177
|
+
padding-right: 1.6rem;
|
178
|
+
|
179
|
+
&+button {
|
180
|
+
position: absolute;
|
181
|
+
right: 0;
|
182
|
+
background: transparent;
|
183
|
+
border: 0;
|
184
|
+
color: $white;
|
185
|
+
}
|
186
|
+
}
|
187
|
+
|
188
|
+
&.open {
|
189
|
+
display: block;
|
190
|
+
overflow-y: auto;
|
191
|
+
}
|
192
|
+
}
|
193
|
+
|
141
194
|
@media (max-width: 1024px){
|
142
195
|
#home {
|
143
196
|
height: auto;
|
data/assets/js/app.js
ADDED
@@ -0,0 +1,52 @@
|
|
1
|
+
qs = function(ele){
|
2
|
+
return document.querySelector(ele);
|
3
|
+
}
|
4
|
+
|
5
|
+
var main_nav = qs('#main-nav');
|
6
|
+
var toggle_menu = qs('#toggle-menu');
|
7
|
+
var toggle_search = qs('#toggle-search');
|
8
|
+
var search_div = qs('#search-div');
|
9
|
+
var content_div = qs('#content');
|
10
|
+
|
11
|
+
toggle_menu.addEventListener('click', function(e){
|
12
|
+
e.preventDefault();
|
13
|
+
e.stopPropagation();
|
14
|
+
this.classList.toggle('open');
|
15
|
+
main_nav.classList.toggle('open');
|
16
|
+
});
|
17
|
+
|
18
|
+
qs('body').addEventListener('click', function(e){
|
19
|
+
main_nav.classList.remove('open');
|
20
|
+
toggle_menu.classList.remove('open');
|
21
|
+
});
|
22
|
+
|
23
|
+
var tables = document.querySelectorAll('table');
|
24
|
+
tables.forEach(function(t){
|
25
|
+
t.classList.add('responsive');
|
26
|
+
th = t.querySelectorAll('thead th');
|
27
|
+
tr = t.querySelectorAll('tbody tr');
|
28
|
+
tr.forEach(function(e){
|
29
|
+
th.forEach(function(e2, i){
|
30
|
+
e.children[i].setAttribute('data-title', e2.innerHTML);
|
31
|
+
});
|
32
|
+
});
|
33
|
+
});
|
34
|
+
|
35
|
+
toggle_search.addEventListener('click', function(e){
|
36
|
+
e.preventDefault();
|
37
|
+
e.stopPropagation();
|
38
|
+
if(search_div.classList.contains('open')){
|
39
|
+
qs('#search-input').value = '';
|
40
|
+
qs('#search-results').innerHTML = '';
|
41
|
+
search_div.classList.remove('open');
|
42
|
+
content_div.classList.remove('no-scroll');
|
43
|
+
}else{
|
44
|
+
search_div.classList.add('open');
|
45
|
+
content_div.classList.add('no-scroll');
|
46
|
+
}
|
47
|
+
});
|
48
|
+
|
49
|
+
qs('#search-input + button').addEventListener('click', function(){
|
50
|
+
qs('#search-input').value = '';
|
51
|
+
qs('#search-results').innerHTML = '';
|
52
|
+
});
|
@@ -0,0 +1,6 @@
|
|
1
|
+
/*!
|
2
|
+
* Simple-Jekyll-Search v1.7.2 (https://github.com/christian-fei/Simple-Jekyll-Search)
|
3
|
+
* Copyright 2015-2018, Christian Fei
|
4
|
+
* Licensed under the MIT License.
|
5
|
+
*/
|
6
|
+
!function(){"use strict";var f={load:function w(t,e){var n=function r(){return window.XMLHttpRequest?new window.XMLHttpRequest:new ActiveXObject("Microsoft.XMLHTTP")}();n.open("GET",t,!0),n.onreadystatechange=function i(e,n){return function(){if(4===e.readyState&&200===e.status)try{n(null,JSON.parse(e.responseText))}catch(t){n(t,null)}}}(n,e),n.send()}};(function y(t){if(!function e(t){return!!t&&"undefined"!=typeof t.required&&t.required instanceof Array}(t))throw new Error("-- OptionsValidator: required options missing");if(!(this instanceof y))return new y(t);var r=t.required;this.getRequiredOptions=function(){return r},this.validate=function(e){var n=[];return r.forEach(function(t){"undefined"==typeof e[t]&&n.push(t)}),n}});var n=function g(t,e){var n=e.length,r=t.length;if(n<r)return!1;if(r===n)return t===e;t:for(var i=0,o=0;i<r;i++){for(var u=t.charCodeAt(i);o<n;)if(e.charCodeAt(o++)===u)continue t;return!1}return!0},e=new function t(){this.matches=function(t,e){return n(e.toLowerCase(),t.toLowerCase())}};var r=new function O(){this.matches=function(e,t){return!!e&&(e=e.trim().toLowerCase(),(t=t.trim().toLowerCase()).split(" ").filter(function(t){return 0<=e.indexOf(t)}).length===t.split(" ").length)}};var l={put:function z(t){if(c(t))return s(t);if(function e(t){return Boolean(t)&&"[object Array]"===Object.prototype.toString.call(t)}(t))return function i(t){var e=[];a();for(var n=0,r=t.length;n<r;n++)c(t[n])&&e.push(s(t[n]));return e}(t);return undefined},clear:a,search:function S(t){return t?function a(t,e,n,r){for(var i=[],o=0;o<t.length&&i.length<r.limit;o++){var u=d(t[o],e,n,r);u&&i.push(u)}return i}(o,t,u.searchStrategy,u).sort(u.sort):[]},setOptions:function q(t){(u=t||{}).fuzzy=t.fuzzy||!1,u.limit=t.limit||10,u.searchStrategy=t.fuzzy?e:r,u.sort=t.sort||i}};function i(){return 0}var o=[],u={};function a(){return o.length=0,o}function c(t){return Boolean(t)&&"[object Object]"===Object.prototype.toString.call(t)}function s(t){return o.push(t),o}function d(t,e,n,r){for(var i in t)if(!p(t[i],r.exclude)&&n.matches(t[i],e))return t}function p(t,e){for(var n=!1,r=0,i=(e=e||[]).length;r<i;r++){var o=e[r];!n&&new RegExp(t).test(o)&&(n=!0)}return n}u.fuzzy=!1,u.limit=10,u.searchStrategy=u.fuzzy?e:r,u.sort=i;var h={compile:function j(r){return m.template.replace(m.pattern,function(t,e){var n=m.middleware(e,r[e],m.template);return void 0!==n?n:r[e]||t})},setOptions:function C(t){m.pattern=t.pattern||m.pattern,m.template=t.template||m.template,"function"==typeof t.middleware&&(m.middleware=t.middleware)}},m={};m.pattern=/\{(.*?)\}/g,m.template="",m.middleware=function(){};var v={merge:function L(t,e){var n={};for(var r in t)n[r]=t[r],"undefined"!=typeof e[r]&&(n[r]=e[r]);return n},isJSON:function M(t){try{return!!(t instanceof Object&&JSON.parse(JSON.stringify(t)))}catch(e){return!1}}};!function(t){var o={searchInput:null,resultsContainer:null,json:[],success:Function.prototype,searchResultTemplate:'<li><a href="{url}" title="{desc}">{title}</a></li>',templateMiddleware:Function.prototype,sortMiddleware:function(){return 0},noResultsText:"No results found",limit:10,fuzzy:!1,exclude:[]},n=["searchInput","resultsContainer","json"],r=function y(e){if(!function n(t){return!!t&&"undefined"!=typeof t.required&&t.required instanceof Array}(e))throw new Error("-- OptionsValidator: required options missing");if(!(this instanceof y))return new y(e);var r=e.required;this.getRequiredOptions=function(){return r},this.validate=function(e){var n=[];return r.forEach(function(t){"undefined"==typeof e[t]&&n.push(t)}),n}}({required:n});function i(t){o.success(t),l.put(t),function e(){o.searchInput.addEventListener("keyup",function(t){(function e(t){return-1===[13,16,20,37,38,39,40,91].indexOf(t)})(t.which)&&(u(),c(t.target.value))})}()}function u(){o.resultsContainer.innerHTML=""}function a(t){o.resultsContainer.innerHTML+=t}function c(t){(function e(t){return t&&0<t.length})(t)&&(u(),function i(t,e){var n=t.length;if(0===n)return a(o.noResultsText);for(var r=0;r<n;r++)t[r].query=e,a(h.compile(t[r]))}(l.search(t),t))}function s(t){throw new Error("SimpleJekyllSearch --- "+t)}t.SimpleJekyllSearch=function(t){return 0<r.validate(t).length&&s("You must specify the following required options: "+n),o=v.merge(o,t),h.setOptions({template:o.searchResultTemplate,middleware:o.templateMiddleware}),l.setOptions({fuzzy:o.fuzzy,limit:o.limit,sort:o.sortMiddleware}),v.isJSON(o.json)?i(o.json):function e(n){f.load(n,function(t,e){t&&s("failed to get JSON ("+n+")"),i(e)})}(o.json),{search:c}}}(window)}();
|
data/search.json
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
---
|
2
|
+
---
|
3
|
+
[
|
4
|
+
{% for post in site.posts %}
|
5
|
+
{
|
6
|
+
|
7
|
+
"title" : "{{ post.title | strip_html | escape }}",
|
8
|
+
"url" : "{{ post.url | absolute_url }}",
|
9
|
+
"category" : "{{post.categories | join: ', '}}",
|
10
|
+
"tags" : "{{ post.tags | join: ', ' }}",
|
11
|
+
"date" : "{{ post.date }}",
|
12
|
+
"description" : "{{post.description | strip_html | strip_newlines | escape }}"
|
13
|
+
|
14
|
+
} {% unless forloop.last %},{% endunless %}
|
15
|
+
{% endfor %}
|
16
|
+
]
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jekyll-dark-ored
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alfonso Saavedra "Son Link"
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-08-
|
11
|
+
date: 2019-08-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jekyll
|
@@ -71,7 +71,9 @@ files:
|
|
71
71
|
- _sass/microcss.scss
|
72
72
|
- assets/css/fontello-embedded.css
|
73
73
|
- assets/css/style.scss
|
74
|
-
- assets/js/
|
74
|
+
- assets/js/app.js
|
75
|
+
- assets/js/simple-jekyll-search.min.js
|
76
|
+
- search.json
|
75
77
|
homepage: https://github.com/son-link/jekyll-dark-ored
|
76
78
|
licenses:
|
77
79
|
- GPL3
|
data/assets/js/menu.js
DELETED
@@ -1,26 +0,0 @@
|
|
1
|
-
var main_nav = document.querySelector('#main-nav');
|
2
|
-
var toggle_menu = document.querySelector('#toggle-menu');
|
3
|
-
|
4
|
-
toggle_menu.addEventListener('click', function(e){
|
5
|
-
e.preventDefault();
|
6
|
-
e.stopPropagation();
|
7
|
-
this.classList.toggle('open');
|
8
|
-
main_nav.classList.toggle('open');
|
9
|
-
});
|
10
|
-
|
11
|
-
document.querySelector('body').addEventListener('click', function(e){
|
12
|
-
main_nav.classList.remove('open');
|
13
|
-
toggle_menu.classList.remove('open');
|
14
|
-
});
|
15
|
-
|
16
|
-
var tables = document.querySelectorAll('table');
|
17
|
-
tables.forEach(function(t){
|
18
|
-
t.classList.add('responsive');
|
19
|
-
th = t.querySelectorAll('thead th');
|
20
|
-
tr = t.querySelectorAll('tbody tr');
|
21
|
-
tr.forEach(function(e){
|
22
|
-
th.forEach(function(e2, i){
|
23
|
-
e.children[i].setAttribute('data-title', e2.innerHTML);
|
24
|
-
});
|
25
|
-
});
|
26
|
-
});
|