newport 1.0.6 → 1.0.7
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/lib/newport/version.rb +1 -1
- data/lib/site_template/config.yml +1 -0
- data/lib/site_template/layouts/nav.html +1 -2
- data/lib/site_template/layouts/style.css +1 -65
- data/lib/site_template/plugins/changefont.js +83 -0
- data/lib/site_template/plugins/darkmode.js +10 -3
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ff47fb76e4cf88c9843d48f1b435d2fd0ce938bef6ce7f74db9ffa26ca05173a
|
4
|
+
data.tar.gz: a8e78af5182b81b2cd27d8b39bca804940a873f1084c68ec47a88e12a3c6c4c2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fd4c6743ef16d99548496ef16e7acefe08a97bc2566ed6e0cde29b0e64e5a789a290acf6b87601e0470ab6851c889430735694da937310a42cdcca0174356a1f
|
7
|
+
data.tar.gz: 637c43e5b8cbff4ddca8001d37b634f1b5577f1dbed2cf25cdae70af0b61fd304779efa8df06bdede63563de93b9547fa204397323b2c599245f0345e7e0a40b
|
data/lib/newport/version.rb
CHANGED
@@ -14,7 +14,7 @@ img{max-width: 100%;}
|
|
14
14
|
h1 a,h1 a:active,h1 a:visited{color:var(--h1-color)}
|
15
15
|
.title{float:left;padding-top:0.5rem}
|
16
16
|
section{margin-top:2rem}
|
17
|
-
#darkmode{display:inline}
|
17
|
+
#darkmode,#changefont{display:inline}
|
18
18
|
.expander-arrow, .more-arrow, .more-arrow:active, .more-arrow:visited { color: var(--text-color); fill: var(--text-color) }
|
19
19
|
footer {border-top: 1px var(--footer-border-color) solid;min-height: 80px;padding-top: 10px;padding-bottom:15px}
|
20
20
|
.main {min-height: calc(100% - 40px)}
|
@@ -35,67 +35,3 @@ code{background:var(--code-background-color);padding-left:2px;padding-right:2px}
|
|
35
35
|
--footer-border-color: #555;
|
36
36
|
--h1-color: #ddd;
|
37
37
|
}
|
38
|
-
|
39
|
-
/* The switch - the box around the slider */
|
40
|
-
.switch {
|
41
|
-
position: relative;
|
42
|
-
display: inline-block;
|
43
|
-
width: 30px;
|
44
|
-
height: 17px;
|
45
|
-
}
|
46
|
-
|
47
|
-
/* Hide default HTML checkbox */
|
48
|
-
.switch input {
|
49
|
-
opacity: 0;
|
50
|
-
width: 0;
|
51
|
-
height: 0;
|
52
|
-
}
|
53
|
-
|
54
|
-
/* The slider */
|
55
|
-
.slider {
|
56
|
-
position: absolute;
|
57
|
-
cursor: pointer;
|
58
|
-
top: 0;
|
59
|
-
left: 0;
|
60
|
-
right: 0;
|
61
|
-
bottom: 0;
|
62
|
-
background-color: #ccc;
|
63
|
-
-webkit-transition: .4s;
|
64
|
-
transition: .4s;
|
65
|
-
}
|
66
|
-
|
67
|
-
.slider:before {
|
68
|
-
position: absolute;
|
69
|
-
content: "";
|
70
|
-
height: 13px;
|
71
|
-
width: 13px;
|
72
|
-
left: 2px;
|
73
|
-
bottom: 2px;
|
74
|
-
background-color: white;
|
75
|
-
-webkit-transition: .4s;
|
76
|
-
transition: .4s;
|
77
|
-
color: #000;
|
78
|
-
}
|
79
|
-
|
80
|
-
input:checked + .slider {
|
81
|
-
background-color: #333;
|
82
|
-
}
|
83
|
-
|
84
|
-
input:focus + .slider {
|
85
|
-
box-shadow: 0 0 1px #333;
|
86
|
-
}
|
87
|
-
|
88
|
-
input:checked + .slider:before {
|
89
|
-
-webkit-transform: translateX(13px);
|
90
|
-
-ms-transform: translateX(13px);
|
91
|
-
transform: translateX(13px);
|
92
|
-
}
|
93
|
-
|
94
|
-
/* Rounded sliders */
|
95
|
-
.slider.round {
|
96
|
-
border-radius: 17px;
|
97
|
-
}
|
98
|
-
|
99
|
-
.slider.round:before {
|
100
|
-
border-radius: 50%;
|
101
|
-
}
|
@@ -0,0 +1,83 @@
|
|
1
|
+
function setFontFromCookies() {
|
2
|
+
var fontSize = Cookies.get('font-size');
|
3
|
+
if (fontSize == undefined) {
|
4
|
+
var fontSize = 0.9;
|
5
|
+
}
|
6
|
+
|
7
|
+
var fontFamily = Cookies.get('font-family');
|
8
|
+
if (fontFamily == undefined) {
|
9
|
+
var fontFamily = 'monospace';
|
10
|
+
}
|
11
|
+
|
12
|
+
if (fontFamily == 'monospace') {
|
13
|
+
var lineHeight = Number(fontSize) + 0.4;
|
14
|
+
} else {
|
15
|
+
var lineHeight = Number(fontSize) + 1;
|
16
|
+
}
|
17
|
+
|
18
|
+
console.log(fontFamily);
|
19
|
+
console.log(fontSize + 'rem');
|
20
|
+
console.log(lineHeight + 'rem');
|
21
|
+
|
22
|
+
let body = document.getElementsByClassName("posts")[0];
|
23
|
+
body.style.fontSize = fontSize + 'rem';
|
24
|
+
body.style.fontFamily = fontFamily;
|
25
|
+
body.style.lineHeight = lineHeight + 'rem';
|
26
|
+
}
|
27
|
+
|
28
|
+
function showDropDown() {
|
29
|
+
document.getElementById("dropdown").classList.toggle("show");
|
30
|
+
}
|
31
|
+
|
32
|
+
function setFontSize(size) {
|
33
|
+
switch (size) {
|
34
|
+
case 'small':
|
35
|
+
Cookies.set('font-size', 0.8);
|
36
|
+
setFontFromCookies();
|
37
|
+
break;
|
38
|
+
case 'medium':
|
39
|
+
Cookies.set('font-size', 0.9);
|
40
|
+
setFontFromCookies();
|
41
|
+
break;
|
42
|
+
case 'large':
|
43
|
+
Cookies.set('font-size', 1.0);
|
44
|
+
setFontFromCookies();
|
45
|
+
break;
|
46
|
+
}
|
47
|
+
}
|
48
|
+
|
49
|
+
function setFont(font) {
|
50
|
+
switch (font) {
|
51
|
+
case 'mono':
|
52
|
+
Cookies.set('font-family', 'monospace');
|
53
|
+
setFontFromCookies();
|
54
|
+
break;
|
55
|
+
case 'sans':
|
56
|
+
Cookies.set('font-family', 'sans-serif');
|
57
|
+
setFontFromCookies();
|
58
|
+
break;
|
59
|
+
}
|
60
|
+
}
|
61
|
+
|
62
|
+
// Close the dropdown menu if the user clicks outside of it
|
63
|
+
window.onclick = function (event) {
|
64
|
+
if (!event.target.matches('.dropbtn')) {
|
65
|
+
var dropdowns = document.getElementsByClassName("dropdown-content");
|
66
|
+
var i;
|
67
|
+
for (i = 0; i < dropdowns.length; i++) {
|
68
|
+
var openDropdown = dropdowns[i];
|
69
|
+
if (openDropdown.classList.contains('show')) {
|
70
|
+
openDropdown.classList.remove('show');
|
71
|
+
}
|
72
|
+
}
|
73
|
+
}
|
74
|
+
}
|
75
|
+
|
76
|
+
setFontFromCookies();
|
77
|
+
document.getElementById("changefont").innerHTML = '<div class="dropdown"><button onclick="showDropDown()" class="dropbtn">☰</button><div id="dropdown" class="dropdown-content"><span>Font Size<br /><button onclick="setFontSize(\x27small\x27)" class="font-size-small">A</button><button onclick="setFontSize(\x27medium\x27)" class="font-size-medium">A</button><button onclick="setFontSize(\x27large\x27)" class="font-size-large">A</button></span><span>Font<br /><button onclick="setFont(\x27mono\x27)" class="font-mono">mono</button><button onclick="setFont(\x27sans\x27)" class="font-sans">sans-serif</button></span></div></div>';
|
78
|
+
var css = '.font-size-small{font-size:.9rem;border:none;background:#ddd;cursor:pointer}.font-size-medium{font-size:1rem;border:none;background:#ddd;cursor:pointer}.font-size-large{font-size:1.1rem;border:none;background:#ddd;cursor:pointer}.font-mono{font-family:monospace;border:none;cursor:pointer}.font-sans{font-family:sans-serif;border:none;cursor:pointer}.dropbtn{padding:0;font-size:16px;border:none;cursor:pointer;background:0 0;color:var(--text-color)}.dropdown{position:relative;display:inline-block}.dropdown-content{text-align:center;display:none;position:absolute;background-color:#eee;min-width:180px;z-index:1;margin-left:-160px}.dropdown-content span{color:#000;padding:12px 16px;text-decoration:none;display:block}.show{display:block}';
|
79
|
+
var head = document.getElementsByTagName('head')[0];
|
80
|
+
var s = document.createElement('style');
|
81
|
+
s.setAttribute('type', 'text/css');
|
82
|
+
s.appendChild(document.createTextNode(css));
|
83
|
+
head.appendChild(s);
|
@@ -1,13 +1,13 @@
|
|
1
1
|
// Place an empty div with the id darkmode where you want to toggle to appear in your html
|
2
2
|
// ie. <div id="darkmode"></div>
|
3
3
|
|
4
|
-
(function() {
|
4
|
+
(function () {
|
5
5
|
|
6
6
|
function showDark() {
|
7
7
|
document.documentElement.setAttribute("data-theme", "dark");
|
8
8
|
Cookies.set('appearance', 'dark');
|
9
9
|
}
|
10
|
-
|
10
|
+
|
11
11
|
function showLight() {
|
12
12
|
document.documentElement.setAttribute("data-theme", "light");
|
13
13
|
Cookies.set('appearance', 'light');
|
@@ -24,7 +24,7 @@
|
|
24
24
|
showLight();
|
25
25
|
}
|
26
26
|
|
27
|
-
document.getElementById("darkmode-checkbox").onchange = function(){
|
27
|
+
document.getElementById("darkmode-checkbox").onchange = function () {
|
28
28
|
if (document.getElementById('darkmode-checkbox').checked) {
|
29
29
|
showDark();
|
30
30
|
} else {
|
@@ -33,3 +33,10 @@
|
|
33
33
|
};
|
34
34
|
|
35
35
|
})();
|
36
|
+
|
37
|
+
var css = ' .switch {position: relative;display: inline-block;width: 30px;height: 17px;}.switch input {opacity: 0;width: 0;height: 0;}.slider {position: absolute;cursor: pointer;top: 0;left: 0;right: 0;bottom: 0;background-color: #ccc;-webkit-transition: .4s;transition: .4s;}.slider:before {position: absolute;content: "";height: 13px;width: 13px;left: 2px;bottom: 2px;background-color: white;-webkit-transition: .4s;transition: .4s;color: #000;}input:checked + .slider {background-color: #333;}input:focus + .slider {box-shadow: 0 0 1px #333;}input:checked + .slider:before {-webkit-transform: translateX(13px);-ms-transform: translateX(13px);transform: translateX(13px);}.slider.round {border-radius: 17px;}.slider.round:before {border-radius: 50%;}';
|
38
|
+
var head = document.getElementsByTagName('head')[0];
|
39
|
+
var s = document.createElement('style');
|
40
|
+
s.setAttribute('type', 'text/css');
|
41
|
+
s.appendChild(document.createTextNode(css));
|
42
|
+
head.appendChild(s);
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: newport
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Richard Fisher
|
@@ -90,6 +90,7 @@ files:
|
|
90
90
|
- lib/site_template/layouts/main.html
|
91
91
|
- lib/site_template/layouts/nav.html
|
92
92
|
- lib/site_template/layouts/style.css
|
93
|
+
- lib/site_template/plugins/changefont.js
|
93
94
|
- lib/site_template/plugins/darkmode.js
|
94
95
|
- lib/site_template/plugins/expander.js
|
95
96
|
- lib/site_template/plugins/pagination.js
|