type-on-strap 2.1.0 → 2.2.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ef06489094e16d39de802e362adc81b54d3a464458b52c84c02e0ce2b96cb3b4
4
- data.tar.gz: b66a8e226d91c60fce5fa5ecf4abf7f54b39cfc5acb8234db84d4d1058c5f07b
3
+ metadata.gz: 64e23af743852732351b47a317581898a46eb51166c89d34d269ec28f0705208
4
+ data.tar.gz: fcc2886a0faa1321a78607e86eb75c7dfda7b9920a06aa50c438f0b1303ee8f0
5
5
  SHA512:
6
- metadata.gz: dbd593fe75da9e1ccc579b9b33250d7ef176fda853622dd8b6fcf4f8dce15eac6ab8c42096442bda6411552a5f56b592f8408dc85e9b6e943a7397b5b0a8b769
7
- data.tar.gz: aed10825e1a462a433438b09d0acabdf0e9c013b6720eb5e2ab08a50a1153ee7a862cabdd63b8bbf1441e166de13ea6c578bd979fc2236565eb6843f0f1649b9
6
+ metadata.gz: 651b591231960d11c4a15885ea219bf81033a7c8612ce35be0bbacf92ed3ed930867fe42de05c8e3b1a730cfe1cda57a5b0b34c421c689793a4c44a81c9ec193
7
+ data.tar.gz: add83657f5553e3789477ae2947c6a3fb6ea8de67b84147401dffd61ea42541131479eb6c9af6d7d0d022cb62abe5b88a5fa568f1e045d6bd70e2bca9564e854
data/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2016-2019 Sylhare
3
+ Copyright (c) 2016-2020 Sylhare
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
data/README.md CHANGED
@@ -51,7 +51,7 @@ Check out this tutorial: [Use as Ruby Gem](https://github.com/Sylhare/Type-on-St
51
51
  Here are the main files of the template
52
52
 
53
53
  ```bash
54
- jekyll-theme-basically-basic
54
+ Type-on-Strap
55
55
  ├── _includes # theme includes
56
56
  ├── _layouts # theme layouts (see below for details)
57
57
  ├── _portfolio # collection of article to be populated in the portfolio page
@@ -70,6 +70,10 @@ jekyll-theme-basically-basic
70
70
  | ├── search.html # Search page
71
71
  | └── tags.md # The tag page
72
72
  ├── _config.yml # sample configuration
73
+ ├── _data.yml
74
+ | ├── authors.yml # Update the post authors configurations
75
+ | ├── language.yml # Localization configuration
76
+ | └── social.yml # Social configurations (RSS, Twitter, ...)
73
77
  └── index.html # sample home page (blog page paginated)
74
78
  ```
75
79
 
@@ -185,16 +189,21 @@ $$
185
189
  In `_data/social.yml` you can customize the social icons from other wbesite you wish to display in the blog.
186
190
  The site icons come from [Font Awesome](https://fontawesome.com/).
187
191
 
192
+ ### Cookie consent
193
+
194
+ You can add a cookie consent with a disclaimer if you use Google Analytics while respecting the [GDPR](https://en.wikipedia.org/wiki/General_Data_Protection_Regulation).
195
+ Set to true, there will be a banner at the bottom of the page with the disclaimer and a approve button.
196
+ Once the user clicks on "Approve" the cookies will be created for Google Analytics.
197
+
188
198
  #### Share in article
189
199
 
190
200
  The share icons are the one at the bottom of the blog page if enabled,
191
201
  to share the article on those platform.
192
202
 
193
-
194
203
  #### Footer
195
204
 
196
- Display in the footer.
197
- All icon variables should be your username enclosed in quotes (e.g. "username") in `_config.yml`,
205
+ Display in the footer.
206
+ All icon variables should be your username enclosed in quotes (e.g. "username") in `_data/social.yml`,
198
207
  except for the following variables:
199
208
 
200
209
  ```yml
@@ -206,6 +215,8 @@ stack_overflow: https://stackoverflow.com/users/0000/first-last
206
215
  youtube: UCqECaJ8Gagnn7YCbPEzWH6g # Youtube token of your channel in the url
207
216
  ```
208
217
 
218
+ You can update the RSS settings in `_data/social` to change the default feed path (generated by [jekyll-feel](https://github.com/jekyll/jekyll-feed)).
219
+
209
220
  ### Customizing Posts
210
221
 
211
222
  When writing a post, be sure in jekyll to:
@@ -265,8 +276,7 @@ some text in the excerpt
265
276
 
266
277
  The html is stripped out of the excerpt so it only display text.
267
278
 
268
-
269
- ### Image aligner
279
+ #### Image aligner
270
280
 
271
281
  To easily add align images side by side in your article using the `aligner.html` include:
272
282
 
@@ -282,6 +292,12 @@ Use it in any markdown file. There are two fields in the include you need to loo
282
292
  - `column=3` set 3 columns
283
293
  - `column="auto"` makes as many columns as images
284
294
 
295
+ #### Code highlight
296
+
297
+ Like all CSS variables in the theme, you can edit the color of the code highlight in _sass > base > _variables.scss.
298
+ The code highlighting works with [base16](https://github.com/chriskempson/base16-html-previews/tree/master/css) you can find existing example
299
+ of your favourite highlight color scheme on this format.
300
+
285
301
  ## Other Layouts
286
302
  Please refer to the [Jekyll docs for writing posts](https://jekyllrb.com/docs/posts/).
287
303
  Non-standard features are documented below.
@@ -499,5 +515,7 @@ remote_theme: sylhare/Type-on-Strap
499
515
 
500
516
  ## License
501
517
 
502
- There are some fonts and component on this theme going under the MIT licence as well in this theme.
503
- [The MIT License (MIT)](https://raw.githubusercontent.com/Sylhare/Type-on-Strap/master/LICENSE)
518
+ This theme is licensed under the [The MIT License (MIT)](https://raw.githubusercontent.com/Sylhare/Type-on-Strap/master/LICENSE)
519
+
520
+ - Pictures from [Pexels](https://www.pexels.com/) are under Creative Commons Zero (CC0) license
521
+ - Fonts are licensed under the [SIL Open Font License (OFL)](https://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=OFL)
@@ -8,8 +8,12 @@
8
8
 
9
9
  <div class="row">
10
10
  {% for image in images %}
11
- <div {% unless column %}class="column"{% endunless%} style="flex: {{ column }}%" >
12
- <img src="{{ image | prepend: 'assets/img/' | relative_url }}" alt="{{ image | prepend: '/' | split: '/' | last }}">
11
+ <div {% if column %} style="flex: {{ column }}%" {% else %} class="column" {% endif %} >
12
+ <img {% if images.size == 1 %}class="single"{% endif %}
13
+ src="{{ image | prepend: 'assets/img/' | relative_url }}"
14
+ alt="{{ image | prepend: '/' | split: '/' | last }}">
13
15
  </div>
14
16
  {% endfor %}
15
17
  </div>
18
+
19
+ {% assign column = false %}
@@ -0,0 +1,2 @@
1
+ {%- assign citation = site.data.biblio | where:"key", include.key | first -%}
2
+ <span class="cit-authors">{{citation.authors}}</span>, <span class="cit-title">{{citation.title}}</span>
@@ -0,0 +1,51 @@
1
+ <div id="cookie-notice"><span>{{ site.cookie_consent_disclaimer
2
+ | default: 'We would like to use third party cookies and scripts to improve the functionality of this website.' }}
3
+ </span><a id="cookie-notice-accept" class="button">Approve</a>
4
+ </div>
5
+ <script async src="https://www.googletagmanager.com/gtag/js?id={{ site.google_analytics }}"></script>
6
+ <script async src='https://www.google-analytics.com/analytics.js'></script>
7
+ <script>
8
+ function createCookie(name, value, days) {
9
+ var expires = "";
10
+ if (days) {
11
+ var date = new Date();
12
+ date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
13
+ expires = "; expires=" + date.toUTCString();
14
+ }
15
+ document.cookie = name + "=" + value + expires + "; path=/";
16
+ }
17
+
18
+ function readCookie(name) {
19
+ var nameEQ = name + "=";
20
+ var ca = document.cookie.split(';');
21
+ for (var i = 0; i < ca.length; i++) {
22
+ var c = ca[i];
23
+ while (c.charAt(0) === ' ') c = c.substring(1, c.length);
24
+ if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length, c.length);
25
+ }
26
+ return null;
27
+ }
28
+
29
+ if(readCookie('cookie-notice-dismissed')==='true') {
30
+ {% if site.google_analytics %}
31
+ // Google tag manager
32
+ window.dataLayer = window.dataLayer || [];
33
+ function gtag(){dataLayer.push(arguments);}
34
+ gtag('js', new Date());
35
+ gtag('config', '{{ site.google_analytics }}');
36
+ // Google analytics
37
+ window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
38
+ ga('create', '{{ site.google_analytics }}', 'auto');
39
+ ga('send', 'pageview');
40
+ {% endif %}
41
+ } else {
42
+ document.getElementById('cookie-notice').style.display = 'block';
43
+ }
44
+
45
+ document.getElementById('cookie-notice-accept').addEventListener("click",function() {
46
+ createCookie('cookie-notice-dismissed','true',31);
47
+ document.getElementById('cookie-notice').style.display = 'none';
48
+ location.reload();
49
+ });
50
+
51
+ </script>
@@ -1,10 +1,12 @@
1
- <div id="disqus_thread"></div>
2
- <script type="text/javascript">
3
- var disqus_shortname = '{{ site.disqus_shortname }}';
4
- (function() {
5
- var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
6
- dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
7
- (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
8
- })();
9
- </script>
10
- <noscript>{{ site.data.language.str_javascript_required_disqus | default: Please enable JavaScript to view comments." }}</noscript>
1
+ <div class="comments">
2
+ <div id="disqus_thread"></div>
3
+ <script type="text/javascript">
4
+ var disqus_shortname = '{{ site.disqus_shortname }}';
5
+ (function() {
6
+ var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
7
+ dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
8
+ (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
9
+ })();
10
+ </script>
11
+ <noscript>{{ site.data.language.str_javascript_required_disqus | default: Please enable JavaScript to view comments." }}</noscript>
12
+ </div>
@@ -3,7 +3,7 @@
3
3
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
4
4
 
5
5
  <!-- Main JS (navbar.js, katex_init.js and masonry_init.js)-->
6
- <script defer=true src="{{ '/assets/js/main.min.js' | relative_url }}"></script>
6
+ <script defer src="{{ '/assets/js/main.min.js' | relative_url }}"></script>
7
7
 
8
8
  <!-- CSS -->
9
9
  <link rel="stylesheet" href="{{ '/assets/css/main.css' | relative_url }}">
@@ -36,30 +36,29 @@
36
36
  {% endif %}
37
37
 
38
38
  <!-- Google Analytics -->
39
- {% if site.google_analytics %}
40
- <!-- Global site tag (gtag.js) -->
41
- <script async src="https://www.googletagmanager.com/gtag/js?id={{ site.google_analytics }}"></script>
42
- <script>
43
- window.dataLayer = window.dataLayer || [];
44
- function gtag(){dataLayer.push(arguments);}
45
- gtag('js', new Date());
46
- gtag('config', '{{ site.google_analytics }}');
47
- </script>
48
-
49
- <!-- Page analysis (analytics.js) -->
50
- <script async src='https://www.google-analytics.com/analytics.js'></script>
51
- <script>
52
- window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
53
- ga('create', '{{ site.google_analytics }}', 'auto');
54
- ga('send', 'pageview');
55
- </script>
56
- {% endif %} <!-- End Google Analytics -->
39
+ {% if site.cookie_consent %}
40
+ {% include cookie-consent.html %}
41
+ {% elsif site.google_analytics and !%}
42
+ <!-- Global site tag (gtag.js) -->
43
+ <script async src="https://www.googletagmanager.com/gtag/js?id={{ site.google_analytics }}"></script>
44
+ <script>
45
+ window.dataLayer = window.dataLayer || [];
46
+ function gtag(){dataLayer.push(arguments);}
47
+ gtag('js', new Date());
48
+ gtag('config', '{{ site.google_analytics }}');
49
+ </script>
50
+
51
+ <!-- Page analysis (analytics.js) -->
52
+ <script async src='https://www.google-analytics.com/analytics.js'></script>
53
+ <script>
54
+ window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
55
+ ga('create', '{{ site.google_analytics }}', 'auto');
56
+ ga('send', 'pageview');
57
+ </script>
58
+ <!-- End Google Analytics -->
59
+ {% endif %}
57
60
 
58
61
  <!-- seo tags -->
59
62
  {% seo %}
60
- <!-- Manual seo tags -->
61
- <!--
62
- <title>{% if page.title %}{{ page.title }} |{% endif %} {{ site.title }}</title>
63
- <meta name="description" content="{% if page.excerpt %}{{ page.excerpt | strip_html | strip_newlines | truncate: 160 }}{% else %}{{ site.description }}{% endif %}">
64
- -->
63
+ <meta property="og:image" content="{{ '/' | absolute_url }}{% if page.thumbnail %}page.thumbnail{% else %}{{ page.feature-img | default: site.header_feature_image }}{% endif %} " />
65
64
  </head>
@@ -1,8 +1,8 @@
1
1
  {% if site.data.social.rss or site.theme_settings.rss %}
2
2
  <li>
3
- <a feed.xml href="{{ "" | absolute_url }}" title="{{ site.data.language.str_rss_follow | default: "Follow RSS feed"
4
- }}">
5
- <span class="fa-stack fa-lg">
3
+ <a feed.xml href="{{ absolute_url }}{{ site.data.social.feed.path | default: 'feed.xml' }}"
4
+ title="{{ site.data.language.str_rss_follow | default: "Follow RSS feed" }}">
5
+ <span class="fa-stack fa-lg">
6
6
  <i class="fa fa-circle fa-stack-2x"></i>
7
7
  <i class="fa fa-rss fa-stack-1x fa-inverse"></i>
8
8
  </span>
@@ -1,35 +1,32 @@
1
1
  ---
2
2
  layout: default
3
3
  ---
4
- <article {% if page.feature-img %}class="feature-image"{% endif %} style="padding:0;">
5
- <header id="main" style="background-image: url('{{ page.feature-img | relative_url }}')">
6
- <h1 id="{{ page.title | cgi_escape }}" class="title">{{ page.title }}</h1>
7
- <p class="meta">
8
- {{ page.date | date: "%B %-d, %Y" }}
9
- {% if page.author %} - {{ page.author }}{% endif %}
10
- </p>
11
- </header>
12
- <section class="post-content">{{ content }}</section>
13
-
14
- <div style="display: inline-block;">
15
- <!-- Social media shares -->
16
- {% include share_buttons.html %}
17
-
18
- <!-- Tag list -->
19
- {% capture tag_list %}{{ page.tags | join: "|"}}{% endcapture %}
20
- {% include tags_list.html tags=tag_list %}
4
+
5
+ <article {% if page.feature-img %}class="feature-image" {% endif %} style="padding:0;">
6
+ <header id="main" style="background-image: url('{{ page.feature-img | relative_url }}')">
7
+ <h1 id="{{ page.title | cgi_escape }}" class="title">{{ page.title }}</h1>
8
+ {% if include.is_post %}
9
+ {% include post_info.html author=page.author date=page.date %}
10
+ {% else %}
11
+ </header>
12
+ <section class="post-content">{{ content }}</section>
13
+
14
+ <div style="display: inline-block;">
15
+ <!-- Social media shares -->
16
+ {% if include.is_post %} {% include share_buttons.html %} {% endif %}
17
+
18
+ <!-- Tag list -->
19
+ {% capture tag_list %}{{ page.tags | join: "|"}}{% endcapture %}
20
+ {% include tags_list.html tags=tag_list %}
21
21
  </div>
22
-
22
+
23
23
  </article>
24
24
 
25
25
  <!-- Disqus -->
26
- {% if site.disqus_shortname %}
27
- <div class="comments">
28
- {% include disqus.html %}
29
- </div>
30
- {% endif %}
26
+ {% if site.disqus_shortname or site.theme_settings.disqus_shortname %}
27
+ {% include disqus.html %}{% endif %}
31
28
 
32
29
  <!-- Post navigation -->
33
30
  {% if site.post_navigation %}
34
- {% include post_nav.html %}
31
+ {% include post_nav.html %}
35
32
  {% endif %}
@@ -1,6 +1,6 @@
1
1
  <!DOCTYPE html>
2
2
  <!--
3
- Type on Strap jekyll theme v2.0.0
3
+ Type on Strap jekyll theme v2.2.4
4
4
  Copyright 2016-2019 Sylhare
5
5
  Theme free for personal and commercial use under the MIT license
6
6
  https://github.com/sylhare/Type-on-Strap/blob/master/LICENSE
@@ -4,11 +4,11 @@ layout: default
4
4
 
5
5
  <div class="home">
6
6
 
7
- <div id="main" class="call-out"
8
- style="background-image: url('{{ site.header_feature_image | relative_url }}')">
9
- <h1> {{ site.header_text | default: "Change <code>header_text</code> in <code>_config.yml</code>"}} </h1>
10
- </div>
7
+ <div id="main" class="call-out"
8
+ style="background-image: url('{{ site.header_feature_image | relative_url }}')">
9
+ <h1> {{ site.header_text | default: "Change <code>header_text</code> in <code>_config.yml</code>"}} </h1>
10
+ </div>
11
+
12
+ {% include blog.html %}
11
13
 
12
- {% include blog.html %}
13
-
14
14
  </div>
@@ -1,19 +1,22 @@
1
1
  ---
2
2
  layout: default
3
3
  ---
4
- {% include share_thumbnail.html page=page %}
5
4
 
6
5
  <article {% if page.feature-img %}class="feature-image"{% endif %}>
6
+
7
7
  <header id="main" style="background-image: url('{{ page.feature-img | relative_url }}')">
8
- <h1 id="{{ page.title | default: "" | cgi_escape }}" class="title">
9
- {{ page.title }}
10
- </h1>
11
-
12
- {% if page.subtitle %}
13
- <h2 class="subtitle">{{ page.subtitle }}</h2>
14
- {% endif %}
15
-
8
+ <div class="title-padder">
9
+ {% if page.hide_title %}
10
+ <div class="feature-image-padding"></div>
11
+ {% else %}
12
+ <h1 id="{{ page.title | default: "" | cgi_escape }}" class="title"> {{ page.title }}</h1>
13
+ {% if page.subtitle %}
14
+ <h2 class="subtitle">{{ page.subtitle }}</h2>
15
+ {% endif %}
16
+ {% endif %}
17
+ </div>
16
18
  </header>
19
+
17
20
  <section class="post-content">
18
21
  {% if page.bootstrap %}
19
22
  <div class="bootstrap-iso">
@@ -23,10 +26,10 @@ layout: default
23
26
  </div>
24
27
  {% endif %}
25
28
  </section>
26
-
27
-
29
+
30
+
28
31
  <!-- Tag list for portfolio -->
29
32
  {% capture tag_list %}{{ page.tags | join: "|"}}{% endcapture %}
30
33
  {% include tags_list.html tags=tag_list %}
31
-
34
+
32
35
  </article>
@@ -1,15 +1,18 @@
1
1
  ---
2
2
  layout: default
3
3
  ---
4
- {% include share_thumbnail.html page=page %}
5
-
6
- <article {% if page.feature-img or page.color %}class="feature-image"{% endif %}>
4
+ <article {% if page.feature-img or page.color %}class="feature-image" {% endif %}>
7
5
  <header id="main" style="">
8
- {% unless page.hide_title %}
6
+ <div class="title-padder">
7
+ {% if page.hide_title %}
8
+ <div class="feature-image-padding"></div>
9
+ {% else %}
9
10
  <h1 id="{{ page.title | cgi_escape }}" class="title">{{ page.title }}</h1>
10
11
  {% include post_info.html author=page.author date=page.date %}
11
- {% endunless %}
12
+ {% endif %}
13
+ </div>
12
14
  </header>
15
+
13
16
  <section class="post-content">
14
17
  {% if page.bootstrap %}
15
18
  <div class="bootstrap-iso">
@@ -31,10 +34,7 @@ layout: default
31
34
 
32
35
  <!-- Disqus -->
33
36
  {% if site.disqus_shortname or site.theme_settings.disqus_shortname %}
34
- <div class="comments">
35
- {% include disqus.html %}
36
- </div>
37
- {% endif %}
37
+ {% include disqus.html %}{% endif %}
38
38
 
39
39
  <!-- Post navigation -->
40
40
  {% if site.post_navigation or site.theme_settings.post_navigation %}
@@ -44,16 +44,16 @@ layout: default
44
44
  <!-- To change color of links in the page -->
45
45
  <style>
46
46
  {% if page.color %}
47
- .feature-image a { color: {{ page.color }} !important; }
48
- div#post-nav a { color: {{ page.color }} !important; }
49
- footer a { color: {{ page.color }} !important; }
50
- .site-header nav a:hover { color: {{ page.color }} !important; }
51
- header#main { background-color: {{ page.color }} !important; }
47
+ .feature-image a { color: {{ page.color }} !important; }
48
+ div#post-nav a { color: {{ page.color }} !important; }
49
+ footer a { color: {{ page.color }} !important; }
50
+ .site-header nav a:hover { color: {{ page.color }} !important; }
51
+ header#main { background-color: {{ page.color }} !important; }
52
52
  {% endif %}
53
53
 
54
54
  header#main {
55
55
  background-repeat:no-repeat;
56
- {% if page.feature-img %} background-image: url('{{ page.feature-img | relative_url }}');
57
- {% elsif page.color %}background-image: url('{{ site.color_image | relative_url }}'); {% endif %}
56
+ {% if page.feature-img %} background-image: url('{{ page.feature-img | relative_url }}');
57
+ {% elsif page.color %}background-image: url('{{ site.color_image | relative_url }}'); {% endif %}
58
58
  }
59
59
  </style>
@@ -76,6 +76,8 @@ object,
76
76
  video {
77
77
  max-width: 100%;
78
78
  padding: 0 9%;
79
+ margin-left: auto;
80
+ margin-right: auto;
79
81
  }
80
82
 
81
83
  img[align=left] {
@@ -104,12 +106,6 @@ img[align=right] {
104
106
  p, li, td {
105
107
  font-size: 0.8em;
106
108
  }
107
- li li {
108
- font-size: 0.95em;
109
- }
110
- li li * {
111
- font-size: 1em;
112
- }
113
109
 
114
110
  iframe,
115
111
  img,
@@ -209,6 +205,7 @@ dl,
209
205
  // Lists within lists
210
206
  li {
211
207
  p {
208
+ font-size: inherit;
212
209
  display: inline;
213
210
  }
214
211
 
@@ -10,7 +10,10 @@ $padding-large: 9%;
10
10
  $padding-medium: 6%;
11
11
  $padding-small: 4%;
12
12
  $padding-x-small: 3%;
13
- $title-padding: 0.5em;
13
+
14
+ // Sepcific Padding
15
+ $title-padding: 1%;
16
+ $feature-image-padding: 10%;
14
17
 
15
18
  // Mobile display
16
19
  $xl-break: 2000px;
@@ -34,7 +37,7 @@ $selection-color: #D4D4D4; // visible when highlighting text
34
37
  $blockquote-color: #EEF7FA; // $background-color;
35
38
 
36
39
  // Header
37
- $header-background-color: $theme-color; // Only used when no header image
40
+ $header-background-color: $theme-color; // Only used when no header image
38
41
  $header-text-color: #fff;
39
42
  $header-link-color: #383838;
40
43
  $navbar-separator-opacity: 0;
@@ -51,29 +54,44 @@ $search-color: #999;
51
54
 
52
55
  /* Syntax highlighting */
53
56
  // Syntax typography
54
- $monospace: Monaco, Consolas, "Lucida Console", monospace !default;
55
- $font-size-code: 0.75em !default; // ~12px
57
+ $monospace: Consolas, Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, Bitstream Vera Sans Mono, Courier New, monospace, sans-serif !default;
58
+ $font-size-code: 0.85em !default;
59
+ $font-height-code: 1.3em !default;
56
60
  $border-radius: 4px !default;
57
61
 
58
62
  // base16 Material Theme
59
- $base00: #263238 !default; // Default Background
63
+ $base00: #302f2d !default; // Default Background
60
64
  $base01: #2E3C43 !default; // Lighter Background (Used for status bars)
61
65
  $base02: #314549 !default; // Selection Background
62
- $base03: #546E7A !default; // Comments, Invisibles, Line Highlighting
63
- $base04: #B2CCD6 !default; // Dark Foreground (Used for status bars)
64
- $base05: #EEFFFF !default; // Default Foreground, Caret, Delimiters, Operators
65
- $base06: #EEFFFF !default; // Light Foreground (Not often used)
66
- $base07: #FFFFFF !default; // Light Background (Not often used)
67
- $base08: #F07178 !default; // Variables, XML Tags, Markup Link Text, Markup Lists, Diff Deleted
68
- $base09: #F78C6C !default; // Integers, Boolean, Constants, XML Attributes, Markup Link Url
69
- $base0a: #FFCB6B !default; // Classes, Markup Bold, Search Text Background
70
- $base0b: #98C379 !default; // Strings, Inherited Class, Markup Code, Diff Inserted
66
+ $base03: #546E7A !default; // Dark Foreground (Used for status bars)
67
+ $base04: #B2CCD6 !default; // Comments, Invisible, Line Highlighting
68
+ $base05: #EEFFFF !default; // Light Foreground (Not often used)
69
+ $base06: #EEFFFF !default; // Light Background (Not often used)
70
+ $base07: #FFFFFF !default; // Default Foreground, Default text color
71
+ $base08: #F07178 !default; // Parenthesis, Caret, Delimiters, Operators
72
+ $base09: #F78C6C !default; // Classes, Markup Bold, Search Text Background
73
+ $base0a: #FFCB6B !default; // Strings, Inherited Class, Markup Code, Diff Inserted
74
+ $base0b: #98C379 !default; // Functions, Methods, Attribute IDs, Headings
71
75
  $base0c: #89DDFF !default; // Support, Regular Expressions, Escape Characters, Markup Quotes
72
- $base0d: #82AAFF !default; // Functions, Methods, Attribute IDs, Headings
73
- $base0e: #C792EA !default; // Keywords, Storage, Selector, Markup Italic, Diff Changed
76
+ $base0d: #82AAFF !default; // Keywords, Storage, Selector, Markup Italic, Diff Changed
77
+ $base0e: #C792EA !default; // Integers, Boolean, Constants, XML Attributes, Markup Link Url
74
78
  $base0f: #FF5370 !default; // Deprecated, Opening/Closing Embedded Language Tags e.g.
75
79
 
76
-
77
-
78
-
80
+ // base16 Monokai
81
+ //$base00: #272822 !default; // Default Background
82
+ //$base01: #383830 !default; // Lighter Background (Used for status bars)
83
+ //$base02: #49483e !default; // Selection Background
84
+ //$base03: #75715e !default; // Dark Foreground (Used for status bars)
85
+ //$base04: #a59f85 !default; // Comments, Invisible, Line Highlighting
86
+ //$base05: #f8f8f2 !default; // Light Foreground (Not often used)
87
+ //$base06: #f5f4f1 !default; // Light Background (Not often used)
88
+ //$base07: #f9f8f5 !default; // Default text color
89
+ //$base08: #f92672 !default; // Parenthesis, Caret, Delimiters, Operators
90
+ //$base09: #fd971f !default; // Classes, Markup Bold, Search Text Background
91
+ //$base0a: #e6db74 !default; // Strings, Inherited Class, Markup Code, Diff Inserted
92
+ //$base0b: #a6e22e !default; // Functions, Methods, Attribute IDs, Headings
93
+ //$base0c: #a1efe4 !default; // Support, Regular Expressions, Escape Characters, Markup Quotes
94
+ //$base0d: #66d9ef !default; // Keywords, Storage, Selector, Markup Italic, Diff Changed
95
+ //$base0e: #ae81ff !default; // Integers, Boolean, Constants, XML Attributes, Markup Link Url
96
+ //$base0f: #cc6633 !default; // Deprecated, Opening/Closing Embedded Language Tags e.g.
79
97
 
@@ -1,27 +1,49 @@
1
- // Inspired by: https://github.com/mmistakes/minimal-mistakes/blob/master/_sass/minimal-mistakes/_syntax.scss
2
-
3
1
  // ==========================================================================
4
2
  // Syntax highlighting
5
- // ==========================================================================
3
+ // ==========================================================================
6
4
 
7
5
  div.highlighter-rouge,
8
- figure.highlight {
6
+ figure.highlight,
7
+ .highlight code {
9
8
  position: relative;
10
- margin-bottom: 1em;
11
9
  background: $base00;
12
10
  color: $base05;
13
11
  font-family: $monospace;
14
12
  font-size: $font-size-code;
15
- line-height: 1.8;
13
+ line-height: $font-height-code;
16
14
  border-radius: $border-radius;
17
15
 
16
+
18
17
  > pre,
19
18
  pre.highlight {
20
19
  margin: 0;
21
- padding: 1em
20
+ padding: 1em;
22
21
  }
23
22
  }
24
23
 
24
+ li .highlight * {
25
+ font-size: 14px;
26
+ }
27
+
28
+ pre .rouge-table,
29
+ .highlight pre,
30
+ .code pre {
31
+ margin: 0;
32
+ }
33
+
34
+ .rouge-table * {
35
+ font-size: 1em;
36
+ }
37
+
38
+ li div.highlighter-rouge {
39
+ margin-top: 0.5em;
40
+ }
41
+
42
+ div.highlighter-rouge,
43
+ figure.highlight {
44
+ margin-bottom: 1em;
45
+ }
46
+
25
47
  code.highlighter-rouge {
26
48
  padding: 0.2em 0.4em;
27
49
  font-size: $font-size-code;
@@ -62,73 +84,143 @@ code.highlighter-rouge {
62
84
  }
63
85
  }
64
86
 
65
- .highlight pre{ width:100%}
66
- .highlight .hll{ background-color:$base06}
67
-
68
- .highlight{
69
- .c{ /* Comment */ color:$base04}
70
- .err{ /* Error */ color:$base08}
71
- .k{ /* Keyword */ color:$base0e}
72
- .l{ /* Literal */ color:$base09}
73
- .n{ /* Name */ color:$base05}
74
- .o{ /* Operator */ color:$base0c}
75
- .p{ /* Punctuation */ color:$base05}
76
- .cm{ /* Comment.Multiline */ color:$base04}
77
- .cp{ /* Comment.Preproc */ color:$base04}
78
- .c1{ /* Comment.Single */ color:$base04}
79
- .cs{ /* Comment.Special */ color:$base04}
80
- .gd{ /* Generic.Deleted */ color:$base08}
81
- .ge{ /* Generic.Emph */ font-style:italic}
82
- .gh{ /* Generic.Heading */ color:$base05; font-weight:bold}
83
- .gi{ /* Generic.Inserted */ color:$base0b}
84
- .gp{ /* Generic.Prompt */ color:$base04; font-weight:bold}
85
- .gs{ /* Generic.Strong */ font-weight:bold}
86
- .gu{ /* Generic.Subheading */ color:$base0c; font-weight:bold}
87
- .kc{ /* Keyword.Constant */ color:$base0e}
88
- .kd{ /* Keyword.Declaration */ color:$base0e}
89
- .kn{ /* Keyword.Namespace */ color:$base0c}
90
- .kp{ /* Keyword.Pseudo */ color:$base0e}
91
- .kr{ /* Keyword.Reserved */ color:$base0e}
92
- .kt{ /* Keyword.Type */ color:$base0a}
93
- .ld{ /* Literal.Date */ color:$base0b}
94
- .m{ /* Literal.Number */ color:$base09}
95
- .s{ /* Literal.String */ color:$base0b}
96
- .na{ /* Name.Attribute */ color:$base0d}
97
- .nb{ /* Name.Builtin */ color:$base05}
98
- .nc{ /* Name.Class */ color:$base0a}
99
- .no{ /* Name.Constant */ color:$base08}
100
- .nd{ /* Name.Decorator */ color:$base0c}
101
- .ni{ /* Name.Entity */ color:$base05}
102
- .ne{ /* Name.Exception */ color:$base08}
103
- .nf{ /* Name.Function */ color:$base0d}
104
- .nl{ /* Name.Label */ color:$base05}
105
- .nn{ /* Name.Namespace */ color:$base0a}
106
- .nx{ /* Name.Other */ color:$base0d}
107
- .py{ /* Name.Property */ color:$base05}
108
- .nt{ /* Name.Tag */ color:$base0c}
109
- .nv{ /* Name.Variable */ color:$base08}
110
- .ow{ /* Operator.Word */ color:$base0c}
111
- .w{ /* Text.Whitespace */ color:$base05}
112
- .mf{ /* Literal.Number.Float */ color:$base09}
113
- .mh{ /* Literal.Number.Hex */ color:$base09}
114
- .mi{ /* Literal.Number.Integer */ color:$base09}
115
- .mo{ /* Literal.Number.Oct */ color:$base09}
116
- .sb{ /* Literal.String.Backtick */ color:$base0b}
117
- .sc{ /* Literal.String.Char */ color:$base05}
118
- .sd{ /* Literal.String.Doc */ color:$base04}
119
- .s2{ /* Literal.String.Double */ color:$base0b}
120
- .se{ /* Literal.String.Escape */ color:$base09}
121
- .sh{ /* Literal.String.Heredoc */ color:$base0b}
122
- .si{ /* Literal.String.Interpol */ color:$base09}
123
- .sx{ /* Literal.String.Other */ color:$base0b}
124
- .sr{ /* Literal.String.Regex */ color:$base0b}
125
- .s1{ /* Literal.String.Single */ color:$base0b}
126
- .ss{ /* Literal.String.Symbol */ color:$base0b}
127
- .bp{ /* Name.Builtin.Pseudo */ color:$base05}
128
- .vc{ /* Name.Variable.Class */ color:$base08}
129
- .vg{ /* Name.Variable.Global */ color:$base08}
130
- .vi{ /* Name.Variable.Instance */ color:$base08}
131
- .il{ /* Literal.Number.Integer.Long */ color:$base09}
87
+ .highlight pre {
88
+ width: 100%
89
+ }
90
+
91
+ .highlight .hll {
92
+ background-color: $base06
93
+ }
94
+
95
+ .highlight {
96
+ .bp{ /* Name.Builtin.Pseudo */
97
+ color: $base0c }
98
+ .c { /* Comment */
99
+ color: $base04 }
100
+ .cm{ /* Comment.Multiline */
101
+ color: $base04 }
102
+ .cp{ /* Comment.Preproc */
103
+ color: $base04 }
104
+ .c1{ /* Comment.Single */
105
+ color: $base04 }
106
+ .cs{ /* Comment.Special */
107
+ color: $base04 }
108
+ .dl{ /* String.Quotes 8 */
109
+ color: $base0a }
110
+ .err { /* Error */
111
+ color: $base0c }
112
+ .gd{ /* Generic.Deleted */
113
+ color: $base0c }
114
+ .ge{ /* Generic.Emph */
115
+ font-style: italic }
116
+ .gh{ /* Generic.Heading */
117
+ color: $base05;font-weight: bold }
118
+ .gi{ /* Generic.Inserted */
119
+ color: $base0a }
120
+ .gp{ /* Generic.Prompt */
121
+ color: $base04;font-weight: bold }
122
+ .gs{ /* Generic.Strong */
123
+ font-weight: bold }
124
+ .gu{ /* Generic.Subheading */
125
+ color: $base08;font-weight: bold }
126
+ .il{ /* Literal.Number.Integer.Long */
127
+ color: $base0e }
128
+ .k { /* Keyword */
129
+ color: $base0d }
130
+ .kc{ /* Keyword.Constant */
131
+ color: $base0d }
132
+ .kd{ /* Keyword.Declaration */
133
+ color: $base0d }
134
+ .kn{ /* Keyword.Namespace */
135
+ color: $base09 }
136
+ .kp{ /* Keyword.Pseudo */
137
+ color: $base0d }
138
+ .kr{ /* Keyword.Reserved */
139
+ color: $base0d }
140
+ .kt{ /* Keyword.Type */
141
+ color: $base09 }
142
+ .l{ /* Literal */
143
+ color: $base0e }
144
+ .ld{ /* Literal.Date */
145
+ color: $base0a }
146
+ .m{ /* Literal.Number */
147
+ color: $base0e }
148
+ .mf{ /* Literal.Number.Float */
149
+ color: $base0e }
150
+ .mh{ /* Literal.Number.Hex */
151
+ color: $base0e }
152
+ .mi{ /* Literal.Number.Integer */
153
+ color: $base0e }
154
+ .mo{ /* Literal.Number.Oct */
155
+ color: $base0e }
156
+ .n{ /* Name */
157
+ color: $base05 }
158
+ .na{ /* Name.Attribute */
159
+ color: $base0b }
160
+ .nb{ /* Name.Builtin */
161
+ color: $base05 }
162
+ .nc{ /* Name.Class */
163
+ color: $base05 }
164
+ .no{ /* Name.Constant */
165
+ color: $base05 }
166
+ .nd{ /* Name.Decorator */
167
+ color: $base08 }
168
+ .ni{ /* Name.Entity */
169
+ color: $base05 }
170
+ .ne{ /* Name.Exception */
171
+ color: $base0c }
172
+ .nf{ /* Name.Function */
173
+ color: $base0b }
174
+ .nl{ /* Name.Label */
175
+ color: $base05 }
176
+ .nn{ /* Name.Namespace */
177
+ color: $base05 }
178
+ .nt{ /* Name.Tag */
179
+ color: $base08 }
180
+ .nv{ /* Name.Variable */
181
+ color: $base0c }
182
+ .nx{ /* Name.Other */
183
+ color: $base0b }
184
+ .o{ /* Operator */
185
+ color: $base08 }
186
+ .ow{ /* Operator.Word */
187
+ color: $base0d }
188
+ .p{ /* Punctuation */
189
+ color: $base05 }
190
+ .py{ /* Name.Property */
191
+ color: $base05 }
192
+ .s{ /* Literal.String */
193
+ color: $base0a }
194
+ .sb{ /* Literal.String.Backtick */
195
+ color: $base0a }
196
+ .sc{ /* Literal.String.Char */
197
+ color: $base05 }
198
+ .sd{ /* Literal.String.Doc */
199
+ color: $base04 }
200
+ .s2{ /* Literal.String.Double */
201
+ color: $base0a }
202
+ .se{ /* Literal.String.Escape */
203
+ color: $base0e }
204
+ .sh{ /* Literal.String.Heredoc */
205
+ color: $base0a }
206
+ .si{ /* Literal.String.Interpol */
207
+ color: $base0e }
208
+ .sx{ /* Literal.String.Other */
209
+ color: $base0a }
210
+ .sr{ /* Literal.String.Regex */
211
+ color: $base0a }
212
+ .s1{ /* Literal.String.Single */
213
+ color: $base0a }
214
+ .ss{ /* Literal.String.Symbol */
215
+ color: $base0a }
216
+ .vc{ /* Name.Variable.Class */
217
+ color: $base0c }
218
+ .vg{ /* Name.Variable.Global */
219
+ color: $base0c }
220
+ .vi{ /* Name.Variable.Instance */
221
+ color: $base0c }
222
+ .w{ /* Text.Whitespace */
223
+ color: $base05 }
132
224
  }
133
225
 
134
226
  // Fix Github syntax display
@@ -136,6 +228,12 @@ code.highlighter-rouge {
136
228
  width: 3.5% !important;
137
229
  }
138
230
 
231
+ .gist {
232
+ th, td {
233
+ border-bottom: 0;
234
+ }
235
+ }
236
+
139
237
  // Fix nbconvert dataframe
140
238
  .dataframe tbody {
141
239
  font-size: 0.8em;
@@ -0,0 +1,17 @@
1
+ #cookie-notice {
2
+ padding: 0.5rem 1rem;
3
+ display: none;
4
+ text-align: center;
5
+ position: fixed;
6
+ bottom: 0;
7
+ width: 100%;
8
+ background: rgba(2, 2, 2, 0.85);
9
+ color: lightgray;
10
+ z-index: 1000;
11
+ }
12
+
13
+ #cookie-notice a {
14
+ display: inline-block;
15
+ cursor: pointer;
16
+ margin-left: 0.6rem;
17
+ }
@@ -1,5 +1,6 @@
1
1
  .site-footer {
2
2
  @extend %padding-post;
3
+ z-index: -1;
3
4
  display: inline-block;
4
5
  text-align: center;
5
6
  width: 100%;
@@ -1,6 +1,10 @@
1
+ .title-padder {
2
+ padding: $title-padding;
3
+ }
4
+
1
5
  h1.title {
2
6
  @extend .header-txt-shadow;
3
- padding: $title-padding 0;
7
+ padding: 0.5em 0;
4
8
  }
5
9
 
6
10
  .subtitle {
@@ -9,9 +13,16 @@ h1.title {
9
13
  text-shadow: 1px 1px 2px $text-shadow;
10
14
  }
11
15
 
16
+ //Shared css in _post.scss
17
+
18
+
19
+ /* --- Aligner --- */
20
+ /* within page/posts */
21
+
12
22
  .row {
13
23
  display: flex;
14
24
  flex-wrap: wrap;
25
+ padding: 0.9% 0 1.5% 0;
15
26
  }
16
27
 
17
28
  .column {
@@ -21,6 +32,9 @@ h1.title {
21
32
  width: 100%;
22
33
  min-width: 250px;
23
34
  }
24
- }
25
35
 
26
- //Shared css in _post.scss
36
+ .single {
37
+ width: 50%;
38
+ display: block;
39
+ }
40
+ }
@@ -72,7 +72,7 @@ header {
72
72
 
73
73
  img {
74
74
  border-radius: 1em;
75
- padding: 0px;
75
+ padding: 0;
76
76
  width: 1.5em;
77
77
  height: 100%;
78
78
  margin-right: 0.5em;
@@ -106,6 +106,10 @@ header {
106
106
  @extend %padding-post;
107
107
  padding-top: 0;
108
108
  }
109
+
110
+ .feature-image-padding {
111
+ padding: $feature-image-padding;
112
+ }
109
113
  }
110
114
 
111
115
  /*-- feature-image Responsive scrolling --*/
@@ -24,3 +24,4 @@
24
24
  @import 'includes/grid';
25
25
  @import 'includes/share_buttons';
26
26
  @import 'includes/blog_nav.scss';
27
+ @import 'includes/cookie_consent.scss';
@@ -1 +1 @@
1
- var elements=document.getElementsByTagName("script");Array.prototype.forEach.call(elements,function(e){if(-1!==e.type.indexOf("math/tex")){var t=e.innerText||e.textContent;t=t.replace(/%.*/g,"");var n=document.createElement("span");-1!==e.type.indexOf("mode=display")?(n.className+="math-display",t="\\displaystyle {"+t+"}"):n.className+="math-inline",katex.render(t,n,{displayMode:!1}),e.parentNode.insertBefore(n,e)}});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}document.addEventListener("DOMContentLoaded",function(e){var t=document.getElementById("pull"),n=document.querySelector("nav ul");["click","touch"].forEach(function(e){t.addEventListener(e,function(e){n.classList.toggle("hide")},!1)}),window.addEventListener("scroll",function(){var e=window.pageYOffset||document.body.scrollTop;document.getElementById("main").style.backgroundPosition="100% "+parseInt(-e/3)+"px, 0%, center top"})});
1
+ var elements=document.getElementsByTagName("script");Array.prototype.forEach.call(elements,function(e){if(-1!==e.type.indexOf("math/tex")){var t=e.innerText||e.textContent;t=t.replace(/%.*/g,"");var n=document.createElement("span");-1!==e.type.indexOf("mode=display")?(n.className+="math-display",t="\\displaystyle {"+t+"}"):n.className+="math-inline",katex.render(t,n,{displayMode:!1}),e.parentNode.insertBefore(n,e)}});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}document.addEventListener("DOMContentLoaded",function(e){var 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(){var e=-(window.scrollY||window.pageYOffset||document.body.scrollTop)/3;document.getElementById("main").style.backgroundPosition="100% "+e+"px, 0%, center top"})});
@@ -8,7 +8,7 @@ document.addEventListener("DOMContentLoaded", function (event) {
8
8
 
9
9
 
10
10
  ['click', 'touch'].forEach(function (e) {
11
- pull.addEventListener(e, function (e) {
11
+ pull.addEventListener(e, function () {
12
12
  menu.classList.toggle('hide')
13
13
  }, false);
14
14
  });
@@ -17,10 +17,7 @@ document.addEventListener("DOMContentLoaded", function (event) {
17
17
  * Make the header images move on scroll
18
18
  */
19
19
  window.addEventListener('scroll', function () {
20
- var x = window.pageYOffset || document.body.scrollTop;
21
- var main = document.getElementById("main");
22
- var mainStyle = main.style;
23
-
24
- mainStyle.backgroundPosition = '100% ' + parseInt(-x / 3) + 'px' + ', 0%, center top';
20
+ var offset = -(window.scrollY || window.pageYOffset || document.body.scrollTop) / 3;
21
+ document.getElementById("main").style.backgroundPosition = '100% ' + offset + 'px' + ', 0%, center top';
25
22
  });
26
23
  });
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * Simple-Jekyll-Search v1.6.0 (https://github.com/christian-fei/Simple-Jekyll-Search)
3
- * Copyright 2015-2017, Christian Fei
2
+ * Simple-Jekyll-Search v1.7.4 (https://github.com/christian-fei/Simple-Jekyll-Search)
3
+ * Copyright 2015-2020, Christian Fei
4
4
  * Licensed under the MIT License.
5
5
  */
6
- !function(){"use strict";function e(e){return Boolean(e)&&"[object Object]"===Object.prototype.toString.call(e)}function t(e){return a.push(e),a}var n={load:function(e,t){var n=window.XMLHttpRequest?new XMLHttpRequest:new ActiveXObject("Microsoft.XMLHTTP");n.open("GET",e,!0),n.onreadystatechange=function(e,t){return function(){if(4===e.readyState&&200===e.status)try{t(null,JSON.parse(e.responseText))}catch(n){t(n,null)}}}(n,t),n.send()}},r=function(e,t){var n=t.length,r=e.length;if(r>n)return!1;if(r===n)return e===t;e:for(var i=0,o=0;i<r;i++){for(var u=e.charCodeAt(i);o<n;)if(t.charCodeAt(o++)===u)continue e;return!1}return!0},i=new function(){this.matches=function(e,t){return r(t,e)}},o=new function(){this.matches=function(e,t){return"string"==typeof e&&(e=e.trim()).toLowerCase().indexOf(t.toLowerCase())>=0}},u={put:function(n){return e(n)?t(n):function(e){return Boolean(e)&&"[object Array]"===Object.prototype.toString.call(e)}(n)?function(n){for(var r=[],i=0,o=n.length;i<o;i++)e(n[i])&&r.push(t(n[i]));return r}(n):undefined},clear:function(){return a.length=0,a},search:function(e){return e?function(e,t,n,r){for(var i=[],o=0;o<e.length&&i.length<r.limit;o++){var u=function(e,t,n,r){for(var i in e)if(!function(e,t){for(var n=!1,r=0,i=(t=t||[]).length;r<i;r++){var o=t[r];!n&&new RegExp(e).test(o)&&(n=!0)}return n}(e[i],r.exclude)&&n.matches(e[i],t))return e}(e[o],t,n,r);u&&i.push(u)}return i}(a,e,l.searchStrategy,l):[]},setOptions:function(e){(l=e||{}).fuzzy=e.fuzzy||!1,l.limit=e.limit||10,l.searchStrategy=e.fuzzy?i:o}},a=[],l={};l.fuzzy=!1,l.limit=10,l.searchStrategy=l.fuzzy?i:o;var c={compile:function(e){return f.template.replace(f.pattern,function(t,n){var r=f.middleware(n,e[n],f.template);return void 0!==r?r:e[n]||t})},setOptions:function(e){f.pattern=e.pattern||f.pattern,f.template=e.template||f.template,"function"==typeof e.middleware&&(f.middleware=e.middleware)}},f={};f.pattern=/\{(.*?)\}/g,f.template="",f.middleware=function(){};var s={merge:function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r],"undefined"!=typeof t[r]&&(n[r]=t[r]));return n},isJSON:function(e){try{return!!(e instanceof Object&&JSON.parse(JSON.stringify(e)))}catch(t){return!1}}};!function(e){function t(e){u.put(e),a.searchInput.addEventListener("keyup",function(e){(function(e){return-1===[13,16,20,37,38,39,40,91].indexOf(e)})(e.which)&&(a.resultsContainer.innerHTML="",i(e.target.value))})}function r(e){a.resultsContainer.innerHTML+=e}function i(e){(function(e){return e&&e.length>0})(e)&&function(e){var t=e.length;if(0===t)return r(a.noResultsText);for(var n=0;n<t;n++)r(c.compile(e[n]))}(u.search(e))}function o(e){throw new Error("SimpleJekyllSearch --- "+e)}var a={searchInput:null,resultsContainer:null,json:[],searchResultTemplate:'<li><a href="{url}" title="{desc}">{title}</a></li>',templateMiddleware:function(){},noResultsText:"No results found",limit:10,fuzzy:!1,exclude:[]},l=["searchInput","resultsContainer","json"],f=function p(e){if(!function(e){return!!e&&"undefined"!=typeof e.required&&e.required instanceof Array}(e))throw new Error("-- OptionsValidator: required options missing");if(!(this instanceof p))return new p(e);var t=e.required;this.getRequiredOptions=function(){return t},this.validate=function(e){var n=[];return t.forEach(function(t){"undefined"==typeof e[t]&&n.push(t)}),n}}({required:l});e.SimpleJekyllSearch=function(e){return f.validate(e).length>0&&o("You must specify the following required options: "+l),a=s.merge(a,e),c.setOptions({template:a.searchResultTemplate,middleware:a.templateMiddleware}),u.setOptions({fuzzy:a.fuzzy,limit:a.limit}),s.isJSON(a.json)?t(a.json):function(e){n.load(e,function(n,r){n&&o("failed to get JSON ("+e+")"),t(r)})}(a.json),{search:i}},e.SimpleJekyllSearch.init=e.SimpleJekyllSearch,"function"==typeof e.SimpleJekyllSearchInit&&e.SimpleJekyllSearchInit.call(this,e.SimpleJekyllSearch)}(window)}();
6
+ !function(){"use strict";var o={compile:function M(r){return i.template.replace(i.pattern,function(t,e){var n=i.middleware(e,r[e],i.template);return void 0!==n?n:r[e]||t})},setOptions:function T(t){i.pattern=t.pattern||i.pattern,i.template=t.template||i.template,"function"==typeof t.middleware&&(i.middleware=t.middleware)}},i={};i.pattern=/\{(.*?)\}/g,i.template="",i.middleware=function(){};var n=function x(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 J(){this.matches=function(t,e){return n(e.toLowerCase(),t.toLowerCase())}};var r=new function R(){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 u={put:function b(t){if(l(t))return p(t);if(function e(t){return Boolean(t)&&"[object Array]"===Object.prototype.toString.call(t)}(t))return function i(t){var e=[];f();for(var n=0,r=t.length;n<r;n++)l(t[n])&&e.push(p(t[n]));return e}(t);return undefined},clear:f,search:function N(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}(c,t,s.searchStrategy,s).sort(s.sort):[]},setOptions:function E(t){(s=t||{}).fuzzy=t.fuzzy||!1,s.limit=t.limit||10,s.searchStrategy=t.fuzzy?e:r,s.sort=t.sort||a}};function a(){return 0}var c=[],s={};function f(){return c.length=0,c}function l(t){return Boolean(t)&&"[object Object]"===Object.prototype.toString.call(t)}function p(t){return c.push(t),c}function d(t,e,n,r){for(var i in t)if(!h(t[i],r.exclude)&&n.matches(t[i],e))return t}function h(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}s.fuzzy=!1,s.limit=10,s.searchStrategy=s.fuzzy?e:r,s.sort=a;var m={load:function A(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()}};var t=function H(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 H))return new H(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}},v={merge:function X(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 k(t){try{return t instanceof Object&&JSON.parse(JSON.stringify(t))?!0:!1}catch(e){return!1}}};var w,y,g,O,z;function S(t){u.put(t),function e(){y.searchInput.addEventListener("keyup",function(t){!function e(t){return-1===[13,16,20,37,38,39,40,91].indexOf(t)}(t.which)||(j(),C(t.target.value))})}()}function j(){y.resultsContainer.innerHTML=""}function q(t){y.resultsContainer.innerHTML+=t}function C(t){!function e(t){return t&&0<t.length}(t)||(j(),function i(t,e){var n=t.length;if(0===n)return q(y.noResultsText);for(var r=0;r<n;r++)t[r].query=e,q(o.compile(t[r]))}(u.search(t),t))}function L(t){throw new Error("SimpleJekyllSearch --- "+t)}w=window,y={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:[]},O=t({required:g=["searchInput","resultsContainer","json"]}),z=function(t){return 0<O.validate(t).length&&L("You must specify the following required options: "+g),y=v.merge(y,t),o.setOptions({template:y.searchResultTemplate,middleware:y.templateMiddleware}),u.setOptions({fuzzy:y.fuzzy,limit:y.limit,sort:y.sortMiddleware}),(v.isJSON(y.json)?S:function e(n){m.load(n,function(t,e){t&&L("failed to get JSON ("+n+")"),S(e)})})(y.json),{search:C}},w.SimpleJekyllSearch=function(t){var e=z(t);return t.success.call(e),e}}();
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.1.0
4
+ version: 2.2.4
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: 2020-03-25 00:00:00.000000000 Z
12
+ date: 2020-06-26 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: jekyll
@@ -17,7 +17,7 @@ dependencies:
17
17
  requirements:
18
18
  - - ">="
19
19
  - !ruby/object:Gem::Version
20
- version: '3.5'
20
+ version: '3.8'
21
21
  - - "<"
22
22
  - !ruby/object:Gem::Version
23
23
  version: '5.0'
@@ -27,7 +27,7 @@ dependencies:
27
27
  requirements:
28
28
  - - ">="
29
29
  - !ruby/object:Gem::Version
30
- version: '3.5'
30
+ version: '3.8'
31
31
  - - "<"
32
32
  - !ruby/object:Gem::Version
33
33
  version: '5.0'
@@ -90,6 +90,8 @@ files:
90
90
  - _includes/aligner.html
91
91
  - _includes/blog.html
92
92
  - _includes/blog_nav.html
93
+ - _includes/citation.html
94
+ - _includes/cookie-consent.html
93
95
  - _includes/disqus.html
94
96
  - _includes/footer.html
95
97
  - _includes/gallery.html
@@ -100,7 +102,6 @@ files:
100
102
  - _includes/post_info.html
101
103
  - _includes/post_nav.html
102
104
  - _includes/share_buttons.html
103
- - _includes/share_thumbnail.html
104
105
  - _includes/tags_list.html
105
106
  - _layouts/custom.html
106
107
  - _layouts/default.html
@@ -133,6 +134,7 @@ files:
133
134
  - _sass/external/font-awesome/_variables.scss
134
135
  - _sass/external/font-awesome/font-awesome.scss
135
136
  - _sass/includes/_blog_nav.scss
137
+ - _sass/includes/_cookie_consent.scss
136
138
  - _sass/includes/_footer.scss
137
139
  - _sass/includes/_grid.scss
138
140
  - _sass/includes/_navbar.scss
@@ -286,7 +288,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
286
288
  - !ruby/object:Gem::Version
287
289
  version: '0'
288
290
  requirements: []
289
- rubygems_version: 3.0.6
291
+ rubyforge_project:
292
+ rubygems_version: 2.7.7
290
293
  signing_key:
291
294
  specification_version: 4
292
295
  summary: A simple and responsive jekyll theme template
@@ -1,7 +0,0 @@
1
- {% assign page = include.page %}
2
-
3
- <meta property="og:url" content="{{ page.url }}" />
4
- <meta property="og:type" content="article" />
5
- <meta property="og:title" content="{{ page.title | strip_html | truncate: '250' | escape }}" />
6
- <meta property="og:description" content="{{ page.excerpt | strip_html | truncate: '250' | escape }}" />
7
- <meta property="og:image" content="{{ page.feature-img | default: site.header_feature_image }}" />