type-on-strap 2.4.7 → 2.4.8
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/README.md +32 -23
- data/_data/language.yml +3 -1
- data/_includes/blog/post_footer.liquid +57 -0
- data/_includes/default/head.liquid +12 -12
- data/_includes/default/navbar.liquid +9 -7
- data/_includes/default/search_input.liquid +50 -0
- data/_layouts/default.html +7 -4
- data/_layouts/home.liquid +2 -4
- data/_layouts/page.liquid +24 -29
- data/_layouts/post.liquid +24 -74
- data/_sass/external/_font-awesome.scss +8 -16
- data/_sass/external/_katex.scss +5 -1146
- data/_sass/external/font-awesome/_animated.scss +142 -9
- data/_sass/external/font-awesome/_bordered-pulled.scss +13 -13
- data/_sass/external/font-awesome/_core.scss +28 -6
- data/_sass/external/font-awesome/_fixed-width.scss +2 -1
- data/_sass/external/font-awesome/_functions.scss +57 -0
- data/_sass/external/font-awesome/_icons.scss +7 -1459
- data/_sass/external/font-awesome/_list.scss +4 -4
- data/_sass/external/font-awesome/_mixins.scss +53 -34
- data/_sass/external/font-awesome/_rotated-flipped.scss +25 -18
- data/_sass/external/font-awesome/_screen-reader.scss +12 -3
- data/_sass/external/font-awesome/_shims.scss +640 -664
- data/_sass/external/font-awesome/_sizing.scss +16 -0
- data/_sass/external/font-awesome/_stacked.scss +5 -4
- data/_sass/external/font-awesome/_variables.scss +4923 -1409
- data/_sass/external/font-awesome/brands.scss +30 -0
- data/_sass/external/font-awesome/fontawesome.scss +21 -0
- data/_sass/external/font-awesome/regular.scss +26 -0
- data/_sass/external/font-awesome/solid.scss +26 -0
- data/_sass/external/font-awesome/v4-shims.scss +6 -1
- data/_sass/external/katex/katex.scss +1414 -0
- data/_sass/includes/_navbar.scss +6 -4
- data/_sass/includes/_share_buttons.scss +1 -1
- data/_sass/layouts/_posts.scss +1 -1
- data/assets/data/search.liquid +6 -27
- data/assets/fonts/font-awesome/fa-brands-400.ttf +0 -0
- data/assets/fonts/font-awesome/fa-brands-400.woff2 +0 -0
- data/assets/fonts/font-awesome/fa-regular-400.ttf +0 -0
- data/assets/fonts/font-awesome/fa-regular-400.woff2 +0 -0
- data/assets/fonts/font-awesome/fa-solid-900.ttf +0 -0
- data/assets/fonts/font-awesome/fa-solid-900.woff2 +0 -0
- data/assets/fonts/font-awesome/fa-v4compatibility.ttf +0 -0
- data/assets/fonts/font-awesome/fa-v4compatibility.woff2 +0 -0
- data/assets/js/main.min.js +3 -3
- data/assets/js/partials/cookie_consent_init.js +5 -0
- data/assets/js/partials/dark-mode.js +22 -18
- data/assets/js/vendor/katex.auto-render.min.js +1 -0
- data/assets/js/vendor/katex.min.js +1 -1
- data/assets/js/vendor/mermaid.min.js +830 -772
- metadata +14 -16
- data/_sass/external/font-awesome/_brands.scss +0 -23
- data/_sass/external/font-awesome/_larger.scss +0 -23
- data/_sass/external/font-awesome/_regular.scss +0 -23
- data/_sass/external/font-awesome/_solid.scss +0 -24
- data/assets/fonts/font-awesome/fa-brands-400.eot +0 -0
- data/assets/fonts/font-awesome/fa-brands-400.svg +0 -3717
- data/assets/fonts/font-awesome/fa-brands-400.woff +0 -0
- data/assets/fonts/font-awesome/fa-regular-400.eot +0 -0
- data/assets/fonts/font-awesome/fa-regular-400.svg +0 -801
- data/assets/fonts/font-awesome/fa-regular-400.woff +0 -0
- data/assets/fonts/font-awesome/fa-solid-900.eot +0 -0
- data/assets/fonts/font-awesome/fa-solid-900.svg +0 -5028
- data/assets/fonts/font-awesome/fa-solid-900.woff +0 -0
- data/assets/js/vendor/auto-render.min.js +0 -1
data/_sass/includes/_navbar.scss
CHANGED
@@ -80,13 +80,11 @@ nav {
|
|
80
80
|
|
81
81
|
&#pull {
|
82
82
|
i {
|
83
|
-
margin-top:
|
84
|
-
margin-right:
|
83
|
+
margin-top: 22px;
|
84
|
+
margin-right: 18px;
|
85
85
|
float: right;
|
86
86
|
}
|
87
|
-
|
88
87
|
}
|
89
|
-
|
90
88
|
}
|
91
89
|
}
|
92
90
|
|
@@ -96,6 +94,10 @@ nav {
|
|
96
94
|
a#pull {
|
97
95
|
display: none;
|
98
96
|
}
|
97
|
+
|
98
|
+
.navbar-label-with-icon {
|
99
|
+
display: none;
|
100
|
+
}
|
99
101
|
}
|
100
102
|
|
101
103
|
@media screen and (max-width: $break) {
|
data/_sass/layouts/_posts.scss
CHANGED
data/assets/data/search.liquid
CHANGED
@@ -1,29 +1,8 @@
|
|
1
1
|
---
|
2
2
|
---
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
"url" : "{{ post.url | relative_url }}",
|
10
|
-
"date" : "{{ post.date | date: "%B %-d, %Y" }}",
|
11
|
-
"excerpt" : {{ post.content | strip_html | truncate: '250' | escape | jsonify }},
|
12
|
-
"content" : {{ post.content | strip_html | escape | jsonify }}
|
13
|
-
} {% unless forloop.last %},{% endunless %}
|
14
|
-
{% endfor %}
|
15
|
-
{% if site.portfolio.size > 0 %},{% endif %}
|
16
|
-
{% for page in site.portfolio %}
|
17
|
-
{
|
18
|
-
{% if page.title != nil %}
|
19
|
-
"title" : "{{ page.title | strip_newlines | escape }}",
|
20
|
-
"category" : "{{ page.category }}",
|
21
|
-
"tags" : "{{ page.tags | join: ', ' | prepend: " " }}",
|
22
|
-
"url" : "{{ page.url | relative_url }}",
|
23
|
-
"date" : "{{ page.date | date: "%B %-d, %Y" }}",
|
24
|
-
"excerpt" : {{ page.content | strip_html | truncate: '250' | jsonify }},
|
25
|
-
"content" : {{ page.content | strip_html | escape | jsonify }}
|
26
|
-
{% endif %}
|
27
|
-
} {% unless forloop.last %},{% endunless %}
|
28
|
-
{% endfor %}
|
29
|
-
]
|
3
|
+
{% comment %}
|
4
|
+
The json is created in search_input.liquid and included here to be compresed
|
5
|
+
{% endcomment %}
|
6
|
+
{% capture _search %}{% include default/search_input.liquid %}{% endcapture %}
|
7
|
+
{% assign emptyField = '{ },' %}
|
8
|
+
{{ _search | split: " " | join: " " | remove: emptyField }}
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
data/assets/js/main.min.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
/* @preserve Cookie Consent Init */
|
2
|
-
function createCookie(e,t,
|
3
|
-
/* @preserve Dark mode Init */;const themeButton={light
|
2
|
+
function createCookie(e,t,n){var o="";if(n){var a=new Date;a.setTime(a.getTime()+24*n*60*60*1e3),o="; expires="+a.toUTCString()}document.cookie=`${e}=${t}${o}; path=/`}function readCookie(e){for(var t=e+"=",n=document.cookie.split(";"),o=0;o<n.length;o++){for(var a=n[o];" "===a.charAt(0);)a=a.substring(1,a.length);if(0===a.indexOf(t))return a.substring(t.length,a.length)}return null}function addCookieConsentListener(){document.getElementById("cookie-notice-accept").addEventListener("click",(function(){createCookie(cookieName,"true",31),document.getElementById("cookie-notice").style.display="none",location.reload()}))}function googleAnalytics(){if(""!==analyticsName.toLowerCase()){function e(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],e("js",new Date),e("config",analyticsName,{anonymize_ip:!0}),analyticsNameGA4&&e("config",analyticsNameGA4,{anonymize_ip:!0})}}"true"===isCookieConsent.toLowerCase()?(addCookieConsentListener(),"true"===readCookie(cookieName)?googleAnalytics():document.getElementById("cookie-notice").style.display="block"):googleAnalytics()
|
3
|
+
/* @preserve Dark mode Init */;const themeButton={light:`<i class="fas fa-adjust" aria-hidden="true"></i><span class="navbar-label-with-icon"> ${darkBtn}</span>`,dark:`<i class="fas fa-adjust fa-rotate-180" aria-hidden="true"></i><span class="navbar-label-with-icon"> ${lightBtn}</span>`};function currentTheme(){return localStorage.getItem("theme")}function setMode(e){document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e);const t=document.getElementById("theme-toggle");t&&(t.innerHTML=themeButton[e])}function themeToggle(){setMode("light"===currentTheme()?"dark":"light")}function bootstrapTheme(){if(isAutoTheme){if(!currentTheme()){let e=window.matchMedia("(prefers-color-scheme: dark)");e.matches&&localStorage.setItem("theme","dark"),e.addEventListener("change",(()=>{e.matches&&localStorage.setItem("theme","dark")}))}let e=currentTheme();setMode(e||"light")}}bootstrapTheme();
|
4
4
|
/* @preserve Masonry Init */
|
5
5
|
try{var elem=document.querySelector(".grid"),msnry=new Masonry(elem,{itemSelector:".grid-item",columnWidth:".grid-sizer",gutter:".gutter-sizer",percentPosition:!0}),imgLoad=imagesLoaded(elem);imgLoad.on("progress",(function(e,t){msnry.layout()}))}catch(e){if(!(e instanceof ReferenceError))throw e}
|
6
|
-
/* @preserve Navbar */document.addEventListener("DOMContentLoaded",(function(e){const t=document.getElementById("pull"),
|
6
|
+
/* @preserve Navbar */document.addEventListener("DOMContentLoaded",(function(e){const t=document.getElementById("pull"),n=document.querySelector("nav ul");["click","touch"].forEach((function(e){t?.addEventListener(e,(function(){n.classList.toggle("hide")}),!1)})),window.addEventListener("scroll",(function(){const e=-(window.scrollY||window.pageYOffset||document.body.scrollTop)/3,t=document.getElementById("main");t&&(t.style.backgroundPosition="100% "+(e-50)+"px, 0%, center top")}))}));
|
@@ -1,4 +1,9 @@
|
|
1
1
|
/* @preserve Cookie Consent Init */
|
2
|
+
/*
|
3
|
+
* This script is used to display a cookie consent banner.
|
4
|
+
* The variables isCookieConsent, cookieName, analyticsName are defined in head.liquid from the _config.yml
|
5
|
+
* The variables cookieNotice and cookieNoticeAccept are defined in head.liquid from the _data/translations.yml
|
6
|
+
*/
|
2
7
|
function createCookie(name, value, days) {
|
3
8
|
var expires = "";
|
4
9
|
if (days) {
|
@@ -1,32 +1,37 @@
|
|
1
1
|
/* @preserve Dark mode Init */
|
2
2
|
/*
|
3
|
-
* There are two
|
4
|
-
* Initially the script
|
3
|
+
* There are two colour palettes on CSS for the data-theme: 'light' and 'dark'.
|
4
|
+
* Initially the script checks if a theme is set in session storage and
|
5
5
|
* alternatively listens to a MediaQuery callback looking for "prefers-color-scheme: dark".
|
6
|
+
*
|
7
|
+
* The variables darkBtn and lightBtn are defined in head.liquid from the _data/translations.yml
|
8
|
+
* The isAutoTheme is defined in head.liquid from the _config.yml
|
6
9
|
*/
|
7
10
|
|
8
11
|
const themeButton = {
|
9
|
-
'light':
|
10
|
-
'dark':
|
11
|
-
}
|
12
|
+
'light': `<i class="fas fa-adjust" aria-hidden="true"></i><span class="navbar-label-with-icon"> ${darkBtn}</span>`,
|
13
|
+
'dark': `<i class="fas fa-adjust fa-rotate-180" aria-hidden="true"></i><span class="navbar-label-with-icon"> ${lightBtn}</span>`
|
14
|
+
};
|
12
15
|
|
13
|
-
|
16
|
+
function currentTheme(){
|
17
|
+
return localStorage.getItem('theme');
|
18
|
+
}
|
14
19
|
|
15
20
|
function setMode(theme) {
|
16
|
-
document.documentElement.setAttribute('data-theme', theme)
|
17
|
-
localStorage.setItem('theme', theme)
|
18
|
-
const toggle = document.getElementById('theme-toggle')
|
21
|
+
document.documentElement.setAttribute('data-theme', theme);
|
22
|
+
localStorage.setItem('theme', theme);
|
23
|
+
const toggle = document.getElementById('theme-toggle');
|
19
24
|
if (toggle) {
|
20
|
-
toggle.innerHTML = themeButton[theme]
|
25
|
+
toggle.innerHTML = themeButton[theme];
|
21
26
|
}
|
22
27
|
}
|
23
28
|
|
24
29
|
function themeToggle() {
|
25
|
-
let sessionPrefers = currentTheme()
|
30
|
+
let sessionPrefers = currentTheme();
|
26
31
|
if (sessionPrefers === 'light') {
|
27
|
-
setMode('dark')
|
32
|
+
setMode('dark');
|
28
33
|
} else {
|
29
|
-
setMode('light')
|
34
|
+
setMode('light');
|
30
35
|
}
|
31
36
|
}
|
32
37
|
|
@@ -37,17 +42,16 @@ function bootstrapTheme() {
|
|
37
42
|
let browserPrefersDark = window.matchMedia('(prefers-color-scheme: dark)');
|
38
43
|
if (browserPrefersDark.matches) localStorage.setItem('theme', 'dark');
|
39
44
|
browserPrefersDark.addEventListener('change', () => {
|
40
|
-
if (browserPrefersDark.matches) localStorage.setItem('theme', 'dark')
|
45
|
+
if (browserPrefersDark.matches) localStorage.setItem('theme', 'dark');
|
41
46
|
});
|
42
47
|
}
|
43
|
-
|
44
48
|
// Load theme
|
45
|
-
let sessionPrefers = currentTheme()
|
46
|
-
setMode(sessionPrefers ? sessionPrefers : 'light')
|
49
|
+
let sessionPrefers = currentTheme();
|
50
|
+
setMode(sessionPrefers ? sessionPrefers : 'light');
|
47
51
|
}
|
48
52
|
}
|
49
53
|
|
50
54
|
// Init
|
51
55
|
(function () {
|
52
56
|
bootstrapTheme();
|
53
|
-
})()
|
57
|
+
})()
|
@@ -0,0 +1 @@
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("katex")):"function"==typeof define&&define.amd?define(["katex"],t):"object"==typeof exports?exports.renderMathInElement=t(require("katex")):e.renderMathInElement=t(e.katex)}("undefined"!=typeof self?self:this,(function(e){return function(){"use strict";var t={771:function(t){t.exports=e}},r={};function n(e){var i=r[e];if(void 0!==i)return i.exports;var a=r[e]={exports:{}};return t[e](a,a.exports,n),a.exports}n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,{a:t}),t},n.d=function(e,t){for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)};var i={};return function(){n.d(i,{default:function(){return s}});var e=n(771),t=n.n(e),r=function(e,t,r){for(var n=r,i=0,a=e.length;n<t.length;){var o=t[n];if(i<=0&&t.slice(n,n+a)===e)return n;"\\"===o?n++:"{"===o?i++:"}"===o&&i--,n++}return-1},a=/^\\begin{/,o=function(e,t){for(var n,i=[],o=new RegExp("("+t.map((function(e){return e.left.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&")})).join("|")+")");-1!==(n=e.search(o));){n>0&&(i.push({type:"text",data:e.slice(0,n)}),e=e.slice(n));var l=t.findIndex((function(t){return e.startsWith(t.left)}));if(-1===(n=r(t[l].right,e,t[l].left.length)))break;var d=e.slice(0,n+t[l].right.length),s=a.test(d)?d:e.slice(t[l].left.length,n);i.push({type:"math",data:s,rawData:d,display:t[l].display}),e=e.slice(n+t[l].right.length)}return""!==e&&i.push({type:"text",data:e}),i},l=function(e,r){var n=o(e,r.delimiters);if(1===n.length&&"text"===n[0].type)return null;for(var i=document.createDocumentFragment(),a=0;a<n.length;a++)if("text"===n[a].type)i.appendChild(document.createTextNode(n[a].data));else{var l=document.createElement("span"),d=n[a].data;r.displayMode=n[a].display;try{r.preProcess&&(d=r.preProcess(d)),t().render(d,l,r)}catch(e){if(!(e instanceof t().ParseError))throw e;r.errorCallback("KaTeX auto-render: Failed to parse `"+n[a].data+"` with ",e),i.appendChild(document.createTextNode(n[a].rawData));continue}i.appendChild(l)}return i},d=function e(t,r){for(var n=0;n<t.childNodes.length;n++){var i=t.childNodes[n];if(3===i.nodeType){for(var a=i.textContent,o=i.nextSibling,d=0;o&&o.nodeType===Node.TEXT_NODE;)a+=o.textContent,o=o.nextSibling,d++;var s=l(a,r);if(s){for(var f=0;f<d;f++)i.nextSibling.remove();n+=s.childNodes.length-1,t.replaceChild(s,i)}else n+=d}else 1===i.nodeType&&function(){var t=" "+i.className+" ";-1===r.ignoredTags.indexOf(i.nodeName.toLowerCase())&&r.ignoredClasses.every((function(e){return-1===t.indexOf(" "+e+" ")}))&&e(i,r)}()}},s=function(e,t){if(!e)throw new Error("No element provided to render");var r={};for(var n in t)t.hasOwnProperty(n)&&(r[n]=t[n]);r.delimiters=r.delimiters||[{left:"$$",right:"$$",display:!0},{left:"\\(",right:"\\)",display:!1},{left:"\\begin{equation}",right:"\\end{equation}",display:!0},{left:"\\begin{align}",right:"\\end{align}",display:!0},{left:"\\begin{alignat}",right:"\\end{alignat}",display:!0},{left:"\\begin{gather}",right:"\\end{gather}",display:!0},{left:"\\begin{CD}",right:"\\end{CD}",display:!0},{left:"\\[",right:"\\]",display:!0}],r.ignoredTags=r.ignoredTags||["script","noscript","style","textarea","pre","code","option"],r.ignoredClasses=r.ignoredClasses||[],r.errorCallback=r.errorCallback||console.error,r.macros=r.macros||{},d(e,r)}}(),i=i.default}()}));
|