type-on-strap 2.4.6 → 2.4.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +12 -11
- data/_includes/default/head.liquid +1 -1
- data/_includes/social/cusdis.liquid +1 -1
- data/_layouts/default.html +1 -1
- data/assets/js/main.min.js +3 -2
- data/assets/js/partials/dark-mode.js +10 -4
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2057d2682bf6c8aa2883be048665715575c0b577f9ef5e88a2999da1c05dd4ee
|
4
|
+
data.tar.gz: ef6d4db972b7d1c12e0353afe99b9a0b019ac257fe7826e1672b417b8af14786
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 87368acc73d55075d24a1c5a5807ea5951410d7fe2b245df05d28bb755641dcf04d5a18d6506187482400ea5d9cbde6025b45992871026cb1832cc1345f984ff
|
7
|
+
data.tar.gz: 4af9107da561f1b4e2965e649b1f14a1653286ca491d9a46a4dab0aba954d15388f1040ae430687bb30e019b7aa4bbdb49e817eb4bfeb91741998fbeea60a448
|
data/README.md
CHANGED
@@ -6,7 +6,8 @@
|
|
6
6
|
|
7
7
|
[![Default Type on Strap blog](https://github.com/Sylhare/Type-on-Strap/blob/master/assets/img/screenshot.png?raw=true)](https://sylhare.github.io/Type-on-Strap/)
|
8
8
|
|
9
|
-
A free and open-source [Jekyll](https://jekyllrb.com) theme.
|
9
|
+
A free and open-source [Jekyll](https://jekyllrb.com) theme.
|
10
|
+
Based on Rohan Chandra [type-theme](https://github.com/rohanchandra/type-theme) packed with extra features and easily customizable:
|
10
11
|
|
11
12
|
* Responsive design on all devices (🖥, 💻, 📱, ...)
|
12
13
|
* Portfolio 🗂, Gallery 🖼 pages for your projects
|
@@ -46,7 +47,7 @@ Check out this tutorial: [Use as Ruby Gem](#use-as-ruby-gem-)
|
|
46
47
|
Here are the main files of the template
|
47
48
|
|
48
49
|
```shell
|
49
|
-
Type-on-Strap
|
50
|
+
./Type-on-Strap
|
50
51
|
├── _includes # Theme includes
|
51
52
|
├── _layouts # Theme layouts (see below for details)
|
52
53
|
├── _portfolio # Collection of articles for the portfolio page
|
@@ -116,8 +117,8 @@ To configure the blog part and default plugins. Those plugins are validated by G
|
|
116
117
|
|
117
118
|
#### Meta and Branding
|
118
119
|
|
119
|
-
|
120
|
-
and as
|
120
|
+
_Meta variables_ hold basic information about your Jekyll site, which will be used throughout the site
|
121
|
+
and as _meta properties_ that are used for search engines, browsers, and the site's RSS feed.
|
121
122
|
|
122
123
|
Change these variables in `_config.yml`:
|
123
124
|
|
@@ -135,7 +136,7 @@ Using _auto_ you'll have a tiny icon in the navbar allowing the use to manually
|
|
135
136
|
|
136
137
|
### Theme customization 🎨
|
137
138
|
|
138
|
-
#### Footer and Header
|
139
|
+
#### Footer and Header text
|
139
140
|
|
140
141
|
Customize your site header/footer with these variables in `_config.yml`:
|
141
142
|
|
@@ -164,7 +165,7 @@ with suffix `-small` (620x320) and `-medium` (1240x640) to display on smaller sc
|
|
164
165
|
Localization string is a way to quickly change the template language for text like *Next Post* or *Follow on*, ...
|
165
166
|
You can find all the properties in `_data/language.yml`.
|
166
167
|
|
167
|
-
By default, it is in
|
168
|
+
By default, it is in English, but you can easily add your own language.
|
168
169
|
|
169
170
|
### Google Analytics
|
170
171
|
|
@@ -193,10 +194,10 @@ comments:
|
|
193
194
|
|
194
195
|
#### Cusdis
|
195
196
|
|
196
|
-
[Cusdis](https://cusdis.com/) is an open
|
197
|
+
[Cusdis](https://cusdis.com/) is an open-source alternative to Disqus.
|
197
198
|
You can read more about it in the [documentation](https://cusdis.com/doc#/)
|
198
199
|
|
199
|
-
To enable it, set your
|
200
|
+
To enable it, set your Cusdis name in `_config.yml`:
|
200
201
|
|
201
202
|
```yaml
|
202
203
|
comments:
|
@@ -275,7 +276,7 @@ You can also enable RSS.
|
|
275
276
|
The site icons come from [Font Awesome](https://fontawesome.com/).
|
276
277
|
|
277
278
|
In `_data/icons.yml` you can set the footer icon that will appear at the bottom of the page.
|
278
|
-
They will redirect the user on your profile on
|
279
|
+
They will redirect the user on your profile on to other platforms like Twitter, GitHub and so many more!
|
279
280
|
|
280
281
|
### Cookie consent
|
281
282
|
|
@@ -618,7 +619,7 @@ Then you can start adding content like:
|
|
618
619
|
|
619
620
|
### Remote Theme
|
620
621
|
|
621
|
-
Now you can use any theme gem with GitHub pages with [29/11/2017
|
622
|
+
Now you can use any theme gem with GitHub pages with [29/11/2017 GitHub Pages Broadcast](https://github.com/blog/2464-use-any-theme-with-github-pages).
|
622
623
|
For that remove all `theme:` attributes from `_config.yml` and add instead:
|
623
624
|
|
624
625
|
```yml
|
@@ -627,7 +628,7 @@ remote_theme: sylhare/Type-on-Strap
|
|
627
628
|
|
628
629
|
## License
|
629
630
|
|
630
|
-
This theme is licensed under the [
|
631
|
+
This theme is licensed under the [MIT License (MIT)](/LICENSE)
|
631
632
|
|
632
633
|
- Pictures from [Pexels](https://www.pexels.com/) are under Creative Commons Zero (CC0) license
|
633
634
|
- Fonts are licensed under the [SIL Open Font License (OFL)](https://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=OFL)
|
@@ -83,7 +83,7 @@
|
|
83
83
|
|
84
84
|
<!-- Twitter Cards -->
|
85
85
|
<meta name="twitter:title" content="{{ page.title | default: site.title }}">
|
86
|
-
<meta name="twitter:description" content="{{ page.content | strip_html | strip_newlines | truncate: 160
|
86
|
+
<meta name="twitter:description" content="{{ page.content | default: site.header_text | strip_html | strip_newlines | truncate: 160 }}">
|
87
87
|
{% if site.data.social.twitter %}
|
88
88
|
<meta name="twitter:creator" content="@{{ site.data.social.twitter }}">
|
89
89
|
<meta name="twitter:site" content="@{{ site.data.social.twitter }}">
|
@@ -2,7 +2,7 @@
|
|
2
2
|
data-host="https://cusdis.com"
|
3
3
|
data-app-id="{% if site.comments.cusdis_app_id %}{{ site.comments.cusdis_app_id }}{% else %}{{ site.cusdis_app_id }}{% endif %}"
|
4
4
|
data-page-id="{{ page.relative_path }}"
|
5
|
-
data-page-url="{{ page.url }}"
|
5
|
+
data-page-url="{{ page.url | absolute_url }}"
|
6
6
|
data-page-title="{{ page.title }}"
|
7
7
|
data-theme="{{ site.color_theme }}"
|
8
8
|
></div>
|
data/_layouts/default.html
CHANGED
data/assets/js/main.min.js
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
/* @preserve Cookie Consent Init */
|
2
2
|
function createCookie(e,t,o){var n="";if(o){var i=new Date;i.setTime(i.getTime()+24*o*60*60*1e3),n="; expires="+i.toUTCString()}document.cookie=`${e}=${t}${n}; path=/`}function readCookie(e){for(var t=e+"=",o=document.cookie.split(";"),n=0;n<o.length;n++){for(var i=o[n];" "===i.charAt(0);)i=i.substring(1,i.length);if(0===i.indexOf(t))return i.substring(t.length,i.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>',dark:'<i class="fas fa-adjust fa-rotate-180" aria-hidden="true"></i>'},currentTheme=()=>
|
4
|
-
/* @preserve Masonry Init
|
3
|
+
/* @preserve Dark mode Init */;const themeButton={light:'<i class="fas fa-adjust" aria-hidden="true"></i>',dark:'<i class="fas fa-adjust fa-rotate-180" aria-hidden="true"></i>'},currentTheme=()=>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
|
+
/* @preserve Masonry Init */
|
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}
|
5
6
|
/* @preserve Navbar */document.addEventListener("DOMContentLoaded",(function(e){const t=document.getElementById("pull"),o=document.querySelector("nav ul");["click","touch"].forEach((function(e){t?.addEventListener(e,(function(){o.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")}))}));
|
@@ -10,11 +10,11 @@ const themeButton = {
|
|
10
10
|
'dark': '<i class="fas fa-adjust fa-rotate-180" aria-hidden="true"></i>'
|
11
11
|
}
|
12
12
|
|
13
|
-
const currentTheme = () =>
|
13
|
+
const currentTheme = () => localStorage.getItem('theme')
|
14
14
|
|
15
15
|
function setMode(theme) {
|
16
16
|
document.documentElement.setAttribute('data-theme', theme)
|
17
|
-
|
17
|
+
localStorage.setItem('theme', theme)
|
18
18
|
const toggle = document.getElementById('theme-toggle')
|
19
19
|
if (toggle) {
|
20
20
|
toggle.innerHTML = themeButton[theme]
|
@@ -30,13 +30,14 @@ function themeToggle() {
|
|
30
30
|
}
|
31
31
|
}
|
32
32
|
|
33
|
-
|
33
|
+
function bootstrapTheme() {
|
34
34
|
if (isAutoTheme) {
|
35
35
|
if (!currentTheme()) {
|
36
36
|
// Load browser's preference
|
37
37
|
let browserPrefersDark = window.matchMedia('(prefers-color-scheme: dark)');
|
38
|
+
if (browserPrefersDark.matches) localStorage.setItem('theme', 'dark');
|
38
39
|
browserPrefersDark.addEventListener('change', () => {
|
39
|
-
if (browserPrefersDark.matches)
|
40
|
+
if (browserPrefersDark.matches) localStorage.setItem('theme', 'dark')
|
40
41
|
});
|
41
42
|
}
|
42
43
|
|
@@ -45,3 +46,8 @@ window.onload = function bootstrapTheme() {
|
|
45
46
|
setMode(sessionPrefers ? sessionPrefers : 'light')
|
46
47
|
}
|
47
48
|
}
|
49
|
+
|
50
|
+
// Init
|
51
|
+
(function () {
|
52
|
+
bootstrapTheme();
|
53
|
+
})()
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: type-on-strap
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.4.
|
4
|
+
version: 2.4.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sylhare
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2023-
|
12
|
+
date: 2023-12-04 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: jekyll
|