type-on-strap 2.5.0 → 2.5.2
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 +52 -75
- data/_includes/blog/post_nav.liquid +2 -2
- data/_includes/default/head.liquid +15 -12
- data/_includes/default/navbar.liquid +2 -2
- data/_includes/gallery.html +5 -7
- data/_includes/portfolio.html +1 -1
- data/_includes/social/share_buttons.liquid +9 -9
- data/_layouts/default.html +1 -1
- data/_layouts/page.liquid +3 -7
- data/_layouts/post.liquid +3 -3
- data/_layouts/search.liquid +1 -0
- data/_sass/base/_global.scss +9 -12
- data/_sass/base/_utility.scss +8 -29
- data/_sass/base/_variables.scss +43 -2
- data/_sass/external/_font-awesome.scss +1 -1
- data/_sass/external/_katex.scss +1 -1
- data/_sass/external/_pacifico.scss +3 -6
- data/_sass/external/font-awesome/_core.scss +1 -1
- data/_sass/external/font-awesome/_icons.scss +0 -1
- data/_sass/external/font-awesome/brands.scss +1 -1
- data/_sass/external/font-awesome/fontawesome.scss +1 -1
- data/_sass/external/font-awesome/regular.scss +1 -1
- data/_sass/external/font-awesome/solid.scss +1 -1
- data/_sass/external/font-awesome/v4-shims.scss +1 -1
- data/_sass/external/katex/katex.scss +156 -269
- data/_sass/includes/_blog_nav.scss +0 -4
- data/_sass/includes/_gallery.scss +12 -24
- data/_sass/includes/_navbar.scss +1 -7
- data/_sass/includes/_portfolio.scss +2 -4
- data/_sass/layouts/_blog.scss +7 -23
- data/_sass/layouts/_categories.scss +4 -3
- data/_sass/layouts/_page.scss +1 -1
- data/_sass/layouts/_posts.scss +13 -12
- data/_sass/layouts/_search.scss +6 -19
- data/_sass/type-on-strap.scss +10 -0
- data/assets/fonts/Pacifico/Pacifico.woff +0 -0
- data/assets/fonts/Pacifico/Pacifico.woff2 +0 -0
- 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/js/comments-lazy-load.min.js +1 -1
- data/assets/js/main.min.js +1 -6
- data/assets/js/vendor/katex.auto-render.min.js +1 -1
- data/assets/js/vendor/katex.min.js +1 -1
- data/assets/js/vendor/mermaid.min.js +1509 -915
- data/assets/js/vendor/simple-jekyll-search.min.js +2 -2
- metadata +22 -42
- data/assets/css/bootstrap-iso.less +0 -12
- data/assets/css/vendor/bootstrap-iso.css +0 -9121
- data/assets/css/vendor/bootstrap-iso.min.css +0 -6
- data/assets/css/vendor/bootstrap.css +0 -10007
- data/assets/fonts/Pacifico/Pacifico.eot +0 -0
- data/assets/fonts/Pacifico/Pacifico.svg +0 -10833
- data/assets/fonts/Pacifico/Pacifico.ttf +0 -0
- data/assets/fonts/Pacifico/original-pacifico-regular.ttf +0 -0
- data/assets/fonts/font-awesome/fa-v4compatibility.ttf +0 -0
- data/assets/fonts/font-awesome/fa-v4compatibility.woff2 +0 -0
- data/assets/fonts/katex/KaTeX_AMS-Regular.ttf +0 -0
- data/assets/fonts/katex/KaTeX_Caligraphic-Bold.ttf +0 -0
- data/assets/fonts/katex/KaTeX_Caligraphic-Regular.ttf +0 -0
- data/assets/fonts/katex/KaTeX_Fraktur-Bold.ttf +0 -0
- data/assets/fonts/katex/KaTeX_Fraktur-Regular.ttf +0 -0
- data/assets/fonts/katex/KaTeX_Main-Bold.ttf +0 -0
- data/assets/fonts/katex/KaTeX_Main-BoldItalic.ttf +0 -0
- data/assets/fonts/katex/KaTeX_Main-Italic.ttf +0 -0
- data/assets/fonts/katex/KaTeX_Main-Regular.ttf +0 -0
- data/assets/fonts/katex/KaTeX_Math-BoldItalic.ttf +0 -0
- data/assets/fonts/katex/KaTeX_Math-Italic.ttf +0 -0
- data/assets/fonts/katex/KaTeX_SansSerif-Bold.ttf +0 -0
- data/assets/fonts/katex/KaTeX_SansSerif-Italic.ttf +0 -0
- data/assets/fonts/katex/KaTeX_SansSerif-Regular.ttf +0 -0
- data/assets/fonts/katex/KaTeX_Script-Regular.ttf +0 -0
- data/assets/fonts/katex/KaTeX_Size1-Regular.ttf +0 -0
- data/assets/fonts/katex/KaTeX_Size2-Regular.ttf +0 -0
- data/assets/fonts/katex/KaTeX_Size3-Regular.ttf +0 -0
- data/assets/fonts/katex/KaTeX_Size4-Regular.ttf +0 -0
- data/assets/fonts/katex/KaTeX_Typewriter-Regular.ttf +0 -0
- data/assets/js/comments-lazy-load.js +0 -123
- data/assets/js/partials/cookie_consent_init.js +0 -60
- data/assets/js/partials/dark-mode.js +0 -57
- data/assets/js/partials/masonry_init.js +0 -22
- data/assets/js/partials/navbar.js +0 -26
- data/assets/js/vendor/imagesloaded.pkgd.min.js +0 -12
- data/assets/js/vendor/masonry.pkgd.min.js +0 -9
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: f5a9d47621e0b454f1c0658622a29f749519ddd6dd265cdcbf1ead4f210fa9e2
|
|
4
|
+
data.tar.gz: 065cb8d35e79a304c0530008c4494c8ce1d1e64ed88d9422a5eeec03737145ea
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: bf956f01a7160cc092808515301fa639b07a48a000a987f74536ac6d792972f14e494898f4a7ea8527b3ea342f33ceb4575a8ceac252e03429e9a1e6de9dc50b
|
|
7
|
+
data.tar.gz: b55fd5b2f2b114913c38c1b6b4113647c621c88d5522b09aea4e45f9316cca6f822665e086b146b374579d39e3cd025e08e7ef3dd18de2218e000e95a0b21b93
|
data/README.md
CHANGED
|
@@ -3,34 +3,41 @@
|
|
|
3
3
|
[](https://github.com/sylhare/Type-on-Strap/actions/workflows/docker-build.yml)
|
|
4
4
|
[](https://badge.fury.io/rb/type-on-strap)
|
|
5
5
|
[](https://hub.docker.com/r/sylhare/type-on-strap)
|
|
6
|
+
[](https://rubygems.org/gems/type-on-strap)
|
|
6
7
|
|
|
7
|
-
[](https://sylhare.github.io/Type-on-Strap/)
|
|
8
9
|
|
|
9
|
-
A
|
|
10
|
-
Based on Rohan Chandra [type-theme](https://github.com/rohanchandra/type-theme) packed with extra features and easily customizable:
|
|
10
|
+
A feature-rich [Jekyll](https://jekyllrb.com) theme for writers, developers, and creatives — with portfolio, gallery, dark mode, search, KaTeX, and Mermaid out of the box.
|
|
11
11
|
|
|
12
12
|
* Responsive design on all devices (🖥, 💻, 📱, ...)
|
|
13
|
-
* Portfolio
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
> [Demo Site](https://sylhare.github.io/Type-on-Strap/)
|
|
13
|
+
* Portfolio 🗂 and Gallery 🖼 pages for your projects
|
|
14
|
+
* Auto light and dark theme 💡 with manual toggle
|
|
15
|
+
* Full-text 🔎 search: [Simple-Jekyll-Search](https://github.com/sylhare/Simple-Jekyll-Search)
|
|
16
|
+
* Write equations natively with [KaTeX](https://github.com/Khan/KaTeX)
|
|
17
|
+
* Render diagrams natively with [Mermaid](https://github.com/mermaid-js/mermaid)
|
|
18
|
+
* Multi comments 💬 systems: Disqus, Giscus, Utterances, Cusdis
|
|
19
|
+
* Compatible with [Bootstrap](http://getbootstrap.com/) for responsive, customizable layouts
|
|
20
|
+
* SEO-ready with [jekyll-seo-tag](https://github.com/jekyll/jekyll-seo-tag)
|
|
21
|
+
* Syntax highlighting with easily customizable [Base16](https://github.com/chriskempson/base16) themes
|
|
22
|
+
* Tags 🏷, categories, archive, and pagination built in
|
|
23
|
+
|
|
24
|
+
> [Demo Site](https://sylhare.github.io/Type-on-Strap/)
|
|
27
25
|
|
|
28
26
|
## Usage
|
|
29
27
|
|
|
28
|
+
### As a remote theme 🌐
|
|
29
|
+
|
|
30
|
+
The easiest way to use Type-on-Strap is as a remote theme with GitHub Pages.
|
|
31
|
+
Add this to your [`_config.yml`](_config.yml):
|
|
32
|
+
|
|
33
|
+
```yml
|
|
34
|
+
remote_theme: sylhare/Type-on-Strap
|
|
35
|
+
```
|
|
36
|
+
|
|
30
37
|
### As a GitHub page 📋
|
|
31
38
|
|
|
32
|
-
1. Fork and clone the [Type on Strap repo](https://github.com/sylhare/Type-
|
|
33
|
-
2. Install [
|
|
39
|
+
1. Fork and clone the [Type on Strap repo](https://github.com/sylhare/Type-on-Strap): `git clone https://github.com/sylhare/Type-on-Strap.git`
|
|
40
|
+
2. Install [Ruby](https://www.ruby-lang.org/en/documentation/installation/) and [Bundler](https://bundler.io/), check [#1](https://github.com/sylhare/Type-on-Strap/issues/1) if you have a problem.
|
|
34
41
|
3. Install the theme's dependencies: `bundle install`
|
|
35
42
|
4. Customize the theme
|
|
36
43
|
- GitHub Page: [update `_config.yml`](#site-configuration)
|
|
@@ -59,6 +66,8 @@ Here are the main files of the template
|
|
|
59
66
|
├── pages
|
|
60
67
|
| ├── 404.md # To be displayed when url is wrong
|
|
61
68
|
| ├── about.md # About example page
|
|
69
|
+
| ├── archive.md # Archive page for all posts
|
|
70
|
+
| ├── categories.md # Categories page for all posts
|
|
62
71
|
| ├── gallery.md # Gallery page for your photos
|
|
63
72
|
| ├── portfolio.md # Portfolio page for your projects
|
|
64
73
|
| ├── search.md # Search page
|
|
@@ -67,10 +76,12 @@ Here are the main files of the template
|
|
|
67
76
|
├── _data
|
|
68
77
|
| ├── authors.yml # Update the post authors configurations
|
|
69
78
|
| ├── comments.yml # Comments configuration (Disqus, Cusdis, Utterances, Giscus)
|
|
79
|
+
| ├── icons.yml # Footer icons (Twitter, Github, Stackoverflow, ...)
|
|
80
|
+
| ├── icons_builder.yml # Icon set builder configuration
|
|
70
81
|
| ├── language.yml # Localization configuration
|
|
82
|
+
| ├── menu.yml # Navigation menu configuration
|
|
71
83
|
| ├── biblio.yml # To create a reference bibliography
|
|
72
84
|
| ├── social.yml # Social configurations to share posts (RSS, shares, ...)
|
|
73
|
-
| └── icons.yml # Footer icons (Twitter, Github, Stackoverflow, ...)
|
|
74
85
|
└── index.html # sample home page (blog page paginated)
|
|
75
86
|
```
|
|
76
87
|
|
|
@@ -322,7 +333,7 @@ They will on click redirect you to the logo's platform to share the article.
|
|
|
322
333
|
Display icons in the footer.
|
|
323
334
|
All icon variables should be your username enclosed in quotes (e.g. "username") in [`_data/icons.yml`](_data/icons.yml).
|
|
324
335
|
|
|
325
|
-
You can update the RSS settings in `_data/social` to change the default feed path (generated by [jekyll-
|
|
336
|
+
You can update the RSS settings in `_data/social` to change the default feed path (generated by [jekyll-feed](https://github.com/jekyll/jekyll-feed)).
|
|
326
337
|
To enable the share icons at the bottom of each article,
|
|
327
338
|
set to true the one you'd like under `share` in the [`_data/social.yml`](_data/social.yml) file.
|
|
328
339
|
|
|
@@ -354,7 +365,7 @@ tags: [sample, markdown, html] # [Opt] Add tags to the page
|
|
|
354
365
|
```
|
|
355
366
|
|
|
356
367
|
With `thumbnail`, you can add a smaller image than the `feature-img`.
|
|
357
|
-
If you don't have a thumbnail, you can still use the same image as the feature one. Or use the
|
|
368
|
+
If you don't have a thumbnail, you can still use the same image as the feature one. Or use the npm script to create it.
|
|
358
369
|
|
|
359
370
|
If you don't use a feature image, but `color`, the transparent background is set comes from [`lineart.png`](assets/img/lineart.png).
|
|
360
371
|
You can edit it in the config file (`_config.yml > color_image`). If you want another one, put it in `/assets/img` as well.
|
|
@@ -371,7 +382,7 @@ It will respect the page and theme layout, mind the padding on the sides.
|
|
|
371
382
|
The [excerpt](https://jekyllrb.com/docs/posts/#post-excerpts) is the head of the article rendered in the blog page.
|
|
372
383
|
The length of the excerpt has a default of around `250` characters or can be manually set in the post using:
|
|
373
384
|
|
|
374
|
-
in `
|
|
385
|
+
in `_config.yml`:
|
|
375
386
|
|
|
376
387
|
```yml
|
|
377
388
|
excerpt: true
|
|
@@ -423,7 +434,7 @@ of your favourite highlight color scheme on this format.
|
|
|
423
434
|
|
|
424
435
|
## Feature pages and layouts
|
|
425
436
|
|
|
426
|
-
All feature pages besides the "home" one are stored in the `
|
|
437
|
+
All feature pages besides the "home" one are stored in the `pages` folder,
|
|
427
438
|
they will appear in the navigation bar unless you set `Hide: true` in the front matter.
|
|
428
439
|
|
|
429
440
|
Here are the documentation for the other feature pages that can be added through [`_config.yml`](_config.yml).
|
|
@@ -478,7 +489,7 @@ layout: page
|
|
|
478
489
|
title : Portfolio
|
|
479
490
|
---
|
|
480
491
|
|
|
481
|
-
{% include
|
|
492
|
+
{% include portfolio.html %}
|
|
482
493
|
```
|
|
483
494
|
|
|
484
495
|
#### Portfolio posts
|
|
@@ -516,8 +527,8 @@ This creates the collection for Jekyll, so it can find and display your portfoli
|
|
|
516
527
|
|
|
517
528
|
### Feature: Gallery 🖼
|
|
518
529
|
|
|
519
|
-
You can create a gallery using
|
|
520
|
-
based on available vertical space.
|
|
530
|
+
You can create a gallery using a column layout which will place the pictures at the optimal position
|
|
531
|
+
based on available vertical space.
|
|
521
532
|
You need to specify the `gallery_path` which will be used to find the pictures to render.
|
|
522
533
|
It will take all the pictures under that directory. Then use the `include` to add it in your page.
|
|
523
534
|
|
|
@@ -529,7 +540,7 @@ title: Gallery
|
|
|
529
540
|
gallery: "assets/img/pexels"
|
|
530
541
|
---
|
|
531
542
|
|
|
532
|
-
{% include
|
|
543
|
+
{% include gallery.html gallery_path=page.gallery_path %}
|
|
533
544
|
```
|
|
534
545
|
|
|
535
546
|
### Feature: Search 🔍
|
|
@@ -586,51 +597,20 @@ Jekyll works with [liquid](https://shopify.github.io/liquid/) tags usually repre
|
|
|
586
597
|
These are useful to render your jekyll files.
|
|
587
598
|
You can learn more about them on [shopify's doc](https://help.shopify.com/themes/liquid/basics)
|
|
588
599
|
|
|
589
|
-
###
|
|
590
|
-
|
|
591
|
-
#### Requirements
|
|
592
|
-
|
|
593
|
-
Before you need to have *node* and `npm` installed:
|
|
600
|
+
### npm scripts toolbox
|
|
594
601
|
|
|
595
|
-
|
|
596
|
-
- Ubuntu/Debian: `apt-get install nodejs npm libgl1 libxi6`
|
|
597
|
-
- Fedora (dnf) / RHEL/CentOS (yum): `dnf install node npm libglvnd-glx libXi`
|
|
602
|
+
If you are not familiar with npm scripts, check the [CONTRIBUTING.md](.github/CONTRIBUTING.md) for setup instructions.
|
|
598
603
|
|
|
599
|
-
|
|
604
|
+
To create a new post with today's date:
|
|
600
605
|
|
|
601
606
|
```bash
|
|
602
|
-
|
|
603
|
-
sudo npm install gulp-cli -g
|
|
604
|
-
npm install
|
|
607
|
+
npm run post 'title of the post'
|
|
605
608
|
```
|
|
606
609
|
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
You can run the default task that will compress the js, css and images and create the thumbnails for the supported image
|
|
610
|
-
formats:
|
|
611
|
-
|
|
612
|
-
```bash
|
|
613
|
-
cd assets/
|
|
614
|
-
gulp default
|
|
615
|
-
gulp thumbnails-all # to create all of the images thumbnails
|
|
616
|
-
gulp thumbnails # to create thumbnails for the feature-img/ only
|
|
617
|
-
# tip: run a git status to see the changes
|
|
618
|
-
git status
|
|
619
|
-
```
|
|
620
|
-
|
|
621
|
-
You can find more about the gulp tasks in the [gulpfile.js](assets/gulpfile.js).
|
|
622
|
-
|
|
623
|
-
#### Create a post
|
|
610
|
+
A file `_posts/YYYY-MM-DD-title-of-the-post.md` will be created with default frontmatter.
|
|
611
|
+
Nothing will happen if the file already exists.
|
|
624
612
|
|
|
625
|
-
|
|
626
|
-
Use this command with the title you'd like to create the very basic post.
|
|
627
|
-
|
|
628
|
-
```bash
|
|
629
|
-
gulp post -n 'title of the post'
|
|
630
|
-
```
|
|
631
|
-
|
|
632
|
-
A file will be created following the format `yyyy-mm-dd-title-of-the-post.md` with default post attributes inside.
|
|
633
|
-
Nothing will happen if the file exists already.
|
|
613
|
+
For build scripts, image optimization, and the full development setup, see [CONTRIBUTING.md](.github/CONTRIBUTING.md).
|
|
634
614
|
|
|
635
615
|
### Use as Ruby Gem 💎
|
|
636
616
|
|
|
@@ -660,18 +640,15 @@ Then you can start adding content like:
|
|
|
660
640
|
- Add the feature page you want. (ex: as it is already in `pages`)
|
|
661
641
|
- Add posts in `_posts` and `_portfolio` to be displayed
|
|
662
642
|
|
|
663
|
-
### Remote Theme
|
|
664
|
-
|
|
665
|
-
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).
|
|
666
|
-
For that remove all `theme:` attributes from [`_config.yml`](_config.yml) and add instead:
|
|
667
|
-
|
|
668
|
-
```yml
|
|
669
|
-
remote_theme: sylhare/Type-on-Strap
|
|
670
|
-
```
|
|
671
|
-
|
|
672
643
|
## License
|
|
673
644
|
|
|
674
645
|
This theme is licensed under the [MIT License (MIT)](/LICENSE)
|
|
675
646
|
|
|
676
647
|
- Pictures from [Pexels](https://www.pexels.com/) are under Creative Commons Zero (CC0) license
|
|
677
648
|
- Fonts are licensed under the [SIL Open Font License (OFL)](https://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=OFL)
|
|
649
|
+
|
|
650
|
+
## Credits
|
|
651
|
+
|
|
652
|
+
Based on Rohan Chandra's [type-theme](https://github.com/rohanchandra/type-theme), extended with many additional features.
|
|
653
|
+
|
|
654
|
+
[](https://github.com/sylhare/Type-on-Strap/graphs/contributors)
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<div id="post-nav">
|
|
2
2
|
{% if page.next.url %}
|
|
3
3
|
<div id="previous-post">
|
|
4
|
-
<a
|
|
4
|
+
<a href="{{ page.next.url | relative_url | default: 'none' }}">
|
|
5
5
|
<p>{{ site.data.language.str_previous_post | default: "Previous post" }}</p>
|
|
6
6
|
{{ page.next.title }}
|
|
7
7
|
</a>
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
|
|
11
11
|
{% if page.previous.url %}
|
|
12
12
|
<div id="next-post">
|
|
13
|
-
<a
|
|
13
|
+
<a href="{{ page.previous.url | relative_url | default: 'none' }}">
|
|
14
14
|
<p>{{ site.data.language.str_next_post | default: "Next post"}}</p>
|
|
15
15
|
{{ page.previous.title }}
|
|
16
16
|
</a>
|
|
@@ -15,9 +15,14 @@
|
|
|
15
15
|
}
|
|
16
16
|
</script>
|
|
17
17
|
|
|
18
|
-
<!-- Main JS (navbar.js, katex_init.js
|
|
18
|
+
<!-- Main JS (navbar.js, katex_init.js)-->
|
|
19
19
|
<script defer src="{{ '/assets/js/main.min.js' | relative_url }}"></script>
|
|
20
20
|
|
|
21
|
+
{% if page.bootstrap %}
|
|
22
|
+
<!-- Bootstrap 4.6.2 CSS CDN - loaded in a @layer so theme styles always take precedence -->
|
|
23
|
+
<style>@import url("https://cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/css/bootstrap.min.css") layer(bootstrap);</style>
|
|
24
|
+
{% endif %}
|
|
25
|
+
|
|
21
26
|
<!-- CSS -->
|
|
22
27
|
<link rel="stylesheet" href="{{ '/assets/css/main.css' | relative_url }}">
|
|
23
28
|
|
|
@@ -30,28 +35,26 @@
|
|
|
30
35
|
{% endif %}
|
|
31
36
|
|
|
32
37
|
{% if page.bootstrap %}
|
|
33
|
-
<!--
|
|
34
|
-
<
|
|
35
|
-
<!--
|
|
36
|
-
<script defer src="https://
|
|
37
|
-
<!-- Bootstrap 4.
|
|
38
|
-
<script defer src="https://
|
|
39
|
-
<!-- Popper, a dependency of Bootstrap-->
|
|
40
|
-
<script defer src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
|
|
38
|
+
<!-- jQuery 3.5.1 CDN -->
|
|
39
|
+
<script defer src="https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script>
|
|
40
|
+
<!-- Popper.js 1.16.1 CDN -->
|
|
41
|
+
<script defer src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" crossorigin="anonymous"></script>
|
|
42
|
+
<!-- Bootstrap 4.6.2 JS CDN -->
|
|
43
|
+
<script defer src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/js/bootstrap.min.js" integrity="sha384-+sLIOodYLS7CIrQpBjl+C7nPvqq+FbZUBVs2mbGk8cFoTfurqEOk6sD3+6VUuY3" crossorigin="anonymous"></script>
|
|
41
44
|
{% endif %}
|
|
42
45
|
|
|
43
|
-
<!-- KaTeX 0.
|
|
46
|
+
<!-- KaTeX 0.17.0 -->
|
|
44
47
|
{% if site.katex or site.theme_settings.katex %}
|
|
45
48
|
<script defer src="{{ '/assets/js/vendor/katex.min.js' | relative_url }}"></script>
|
|
46
49
|
<script defer src="{{ '/assets/js/vendor/katex.auto-render.min.js' | relative_url }}" onload="renderMathInElement(document.body);"></script>
|
|
47
50
|
{% endif %}
|
|
48
51
|
|
|
49
|
-
<!-- Mermaid 11.
|
|
52
|
+
<!-- Mermaid 11.15.0 -->
|
|
50
53
|
{% if site.mermaid %}
|
|
51
54
|
<script defer src="{{ '/assets/js/vendor/mermaid.min.js' | relative_url }}"></script>
|
|
52
55
|
{% endif %}
|
|
53
56
|
|
|
54
|
-
<!-- Simple
|
|
57
|
+
<!-- Simple-Jekyll-Search 2.1.4 -->
|
|
55
58
|
<script src="{{ '/assets/js/vendor/simple-jekyll-search.min.js' | relative_url }}" type="text/javascript"></script>
|
|
56
59
|
|
|
57
60
|
<!-- Google Analytics / Cookie Consent -->
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
<li>
|
|
31
31
|
<a class="clear" aria-label="{{ page.title }}" title="{{ page.title }}" href="{{ page.url | relative_url }}">
|
|
32
32
|
{% if page.icon %} <i class="navbar-icon fas {{ page.icon }}" aria-hidden="true"></i>{% endif %}
|
|
33
|
-
<span class="navbar-label {% if page.icon %}navbar-label-with-icon{% endif%}">{{ page.title }}</span>
|
|
33
|
+
<span class="navbar-label {% if page.icon %}navbar-label-with-icon{% endif %}">{{ page.title }}</span>
|
|
34
34
|
</a>
|
|
35
35
|
</li>
|
|
36
36
|
{% endunless %}
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
|
|
40
40
|
{% if site.color_theme == 'auto' %}
|
|
41
41
|
<li class="separator"> | </li>
|
|
42
|
-
<li><a id="theme-toggle" title="{{
|
|
42
|
+
<li><a id="theme-toggle" title="{{ site.data.language.str_dark | default: 'Toggle theme' }}" aria-label="{{ site.data.language.str_dark | default: 'Toggle theme' }}" onclick="themeToggle()"></a></li>
|
|
43
43
|
{% endif %}
|
|
44
44
|
</ul>
|
|
45
45
|
|
data/_includes/gallery.html
CHANGED
|
@@ -6,17 +6,15 @@ html { overflow-y: scroll; }
|
|
|
6
6
|
/* article {padding:2%;} */
|
|
7
7
|
</style>
|
|
8
8
|
|
|
9
|
-
<div id=
|
|
10
|
-
<div class="grid-
|
|
11
|
-
<div class="
|
|
9
|
+
<div id="gallery-grid" class="grid">
|
|
10
|
+
<div class="grid-col grid-col--1"></div>
|
|
11
|
+
<div class="grid-col grid-col--2"></div>
|
|
12
|
+
<div class="grid-col grid-col--3"></div>
|
|
12
13
|
{% for image in site.static_files %}
|
|
13
14
|
{% if image.path contains include.gallery_path %}
|
|
14
15
|
{% unless image.path contains '.md' %}
|
|
15
|
-
<img src="{{ image.path | relative_url }}" alt="" class="grid-item" style="padding: 0;">
|
|
16
|
+
<img src="{{ image.path | relative_url }}" alt="" class="grid-item" loading="lazy" style="padding: 0;">
|
|
16
17
|
{% endunless %}
|
|
17
18
|
{% endif %}
|
|
18
19
|
{% endfor %}
|
|
19
20
|
</div>
|
|
20
|
-
|
|
21
|
-
<script src="{{ '/assets/js/vendor/imagesloaded.pkgd.min.js' | relative_url }}" type="text/javascript"></script>
|
|
22
|
-
<script src="{{ '/assets/js/vendor/masonry.pkgd.min.js' | relative_url }}" type="text/javascript"></script>
|
data/_includes/portfolio.html
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
<i class="fas fa-search-plus fa-3x"></i>
|
|
9
9
|
</div>
|
|
10
10
|
</div>
|
|
11
|
-
<img alt="" class="" data-testid="portfolio-item-image" src="{{ item.img | relative_url }}">
|
|
11
|
+
<img alt="{{ item.title }}" class="" data-testid="portfolio-item-image" loading="lazy" src="{{ item.img | relative_url }}">
|
|
12
12
|
</a>
|
|
13
13
|
</div>
|
|
14
14
|
{% endfor %}
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
<li class="meta">Share</li>
|
|
14
14
|
{% if site.data.social.share.facebook or site.theme_settings.share_buttons.facebook %}
|
|
15
15
|
<li>
|
|
16
|
-
<a href="https://www.facebook.com/sharer/sharer.php?u={{ page.url | absolute_url }}" target="_blank"
|
|
16
|
+
<a href="https://www.facebook.com/sharer/sharer.php?u={{ page.url | absolute_url }}" target="_blank" rel="noopener noreferrer"
|
|
17
17
|
title="{{ site.data.social.language.str_share_on }} Facebook">
|
|
18
18
|
<i class="fab fa-facebook-square fa-2x" aria-hidden="true"></i>
|
|
19
19
|
<span class="sr-only">{{ site.data.social.language.str_share_on | default: "Share on" }} Facebook</span>
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
{% endif %} {% if site.data.social.share.twitter or site.theme_settings.twitter %}
|
|
23
23
|
<li>
|
|
24
24
|
<a href="https://twitter.com/intent/tweet?text={{ page.title | strip_html | url_encode }}%20{{ page.url | absolute_url | url_encode }}"
|
|
25
|
-
target="_blank" title="{{ site.data.social.language.str_tweet }}">
|
|
25
|
+
target="_blank" rel="noopener noreferrer" title="{{ site.data.social.language.str_tweet }}">
|
|
26
26
|
<i class="fab fa-twitter-square fa-2x" aria-hidden="true"></i>
|
|
27
27
|
<span class="sr-only">{{ site.data.social.language.str_tweet | default: "Tweet" }}</span>
|
|
28
28
|
</a>
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
{% endif %} {% if site.data.social.share.tumblr or site.theme_settings.tumblr %}
|
|
31
31
|
<li>
|
|
32
32
|
<a href="https://www.tumblr.com/share?v=3&u={{ page.url | absolute_url }}"e={{ page.title | url_encode }}%20%7C%20{{ site.title | strip_html | url_encode }}&s="
|
|
33
|
-
target="_blank" title="{{ site.data.social.language.str_share_on }} Tumblr">
|
|
33
|
+
target="_blank" rel="noopener noreferrer" title="{{ site.data.social.language.str_share_on }} Tumblr">
|
|
34
34
|
<i class="fab fa-tumblr-square fa-2x" aria-hidden="true"></i>
|
|
35
35
|
<span class="sr-only">{{ site.data.social.language.str_share_on | default: "Share on" }} Tumblr</span>
|
|
36
36
|
</a>
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
{% endif %} {% if site.data.social.share.pinterest or site.theme_settings.pinterest %}
|
|
39
39
|
<li>
|
|
40
40
|
<a href="https://pinterest.com/pin/create/button/?url={{ page.url | absolute_url }}&media={{ page.feature-img | absolute_url }}$description={{ page.excerpt | strip_html | url_encode }}"
|
|
41
|
-
target="_blank" title="{{ site.data.social.language.str_pin_it }}">
|
|
41
|
+
target="_blank" rel="noopener noreferrer" title="{{ site.data.social.language.str_pin_it }}">
|
|
42
42
|
<i class="fab fa-pinterest-square fa-2x" aria-hidden="true"></i>
|
|
43
43
|
<span class="sr-only">{{ site.data.social.language.str_pin_it | default: "Pin it" }}</span>
|
|
44
44
|
</a>
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
{% endif %} {% if site.data.social.share.pocket or site.theme_settings.pocket %}
|
|
47
47
|
<li>
|
|
48
48
|
<a href="https://getpocket.com/save?url={{ page.url | absolute_url }}&title={{ page.title | strip_html | url_encode }}%20%7C%20{{ site.title | strip_html | url_encode }}"
|
|
49
|
-
target="_blank" title="{{ site.data.social.language.str_add_to }} Pocket">
|
|
49
|
+
target="_blank" rel="noopener noreferrer" title="{{ site.data.social.language.str_add_to }} Pocket">
|
|
50
50
|
<span class="fa-stack fa-1x" style="vertical-align: top">
|
|
51
51
|
<i class="fas fa-square fa-stack-2x" aria-hidden="true"></i>
|
|
52
52
|
<i class="fab fa-get-pocket fa-stack-1x fa-inverse" aria-hidden="true"></i>
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
{% endif %} {% if site.data.social.share.reddit or site.theme_settings.reddit %}
|
|
58
58
|
<li>
|
|
59
59
|
<a href="https://www.reddit.com/submit?url={{ page.url | absolute_url }}&title={{ page.title | strip_html | url_encode }}%20%7C%20{{ site.title | strip_html | url_encode }}"
|
|
60
|
-
target="_blank" title="{{ site.data.social.language.str_share_on }} Reddit">
|
|
60
|
+
target="_blank" rel="noopener noreferrer" title="{{ site.data.social.language.str_share_on }} Reddit">
|
|
61
61
|
<i class="fab fa-reddit-square fa-2x" aria-hidden="true"></i>
|
|
62
62
|
<span class="sr-only">{{ site.data.social.language.str_share_on | default: "Share on" }} Reddit</span>
|
|
63
63
|
</a>
|
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
{% endif %} {% if site.data.social.share.linkedin or site.theme_settings.linkedin %}
|
|
66
66
|
<li>
|
|
67
67
|
<a href="https://www.linkedin.com/shareArticle?mini=true&url={{ page.url | absolute_url }}&title={{ page.title | strip_html | url_encode }}%20%7C%20{{ site.title | strip_html | url_encode }}&summary=&source={{ page.url | absolute_url }}"
|
|
68
|
-
target="_blank" title="{{ site.data.social.language.str_share_on }} LinkedIn">
|
|
68
|
+
target="_blank" rel="noopener noreferrer" title="{{ site.data.social.language.str_share_on }} LinkedIn">
|
|
69
69
|
<i class="fab fa-linkedin fa-2x" aria-hidden="true"></i>
|
|
70
70
|
<span class="sr-only">{{ site.data.social.language.str_share_on | default: "Share on" }} LinkedIn</span>
|
|
71
71
|
</a>
|
|
@@ -73,7 +73,7 @@
|
|
|
73
73
|
{% endif %} {% if site.data.social.share.wordpress or site.theme_settings.wordpress %}
|
|
74
74
|
<li>
|
|
75
75
|
<a href="https://wordpress.com/press-this.php?u={{ page.url | absolute_url }}"e={{ page.title | strip_html | url_encode }}%20%7C%20{{ site.title | strip_html | url_encode }}&s="
|
|
76
|
-
target="_blank" title="{{ site.data.social.language.str_share_on }} WordPress">
|
|
76
|
+
target="_blank" rel="noopener noreferrer" title="{{ site.data.social.language.str_share_on }} WordPress">
|
|
77
77
|
<i class="fab fa-wordpress fa-2x" aria-hidden="true"></i>
|
|
78
78
|
<span class="sr-only">{{ site.data.social.language.str_share_on | default: "Share on" }} WordPress</span>
|
|
79
79
|
</a>
|
|
@@ -81,7 +81,7 @@
|
|
|
81
81
|
{% endif %} {% if site.data.social.share.email or site.theme_settings.email %}
|
|
82
82
|
<li>
|
|
83
83
|
<a href="mailto:?subject={{ page.title }}%20%7C%20{{ site.title }}&body={{ page.url | absolute_url }}"
|
|
84
|
-
target="_blank" title="{{ site.data.social.language.str_email }}">
|
|
84
|
+
target="_blank" rel="noopener noreferrer" title="{{ site.data.social.language.str_email }}">
|
|
85
85
|
<i class="fas fa-envelope-square fa-2x" aria-hidden="true"></i>
|
|
86
86
|
<span class="sr-only">{{ site.data.social.language.str_email | default: "Email" }}</span></a>
|
|
87
87
|
</li>
|
data/_layouts/default.html
CHANGED
data/_layouts/page.liquid
CHANGED
|
@@ -15,13 +15,9 @@ layout: default
|
|
|
15
15
|
</div>
|
|
16
16
|
</header>
|
|
17
17
|
<section class="post-content">
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
{{ content }}
|
|
22
|
-
{% if page.bootstrap %}
|
|
23
|
-
</div>
|
|
24
|
-
{% endif %}
|
|
18
|
+
{% if page.bootstrap %}<div class="bootstrap-iso">{% endif %}
|
|
19
|
+
{{ content }}
|
|
20
|
+
{% if page.bootstrap %}</div>{% endif %}
|
|
25
21
|
</section>
|
|
26
22
|
<!-- Category and Tag list -->
|
|
27
23
|
<div class="tag-category-container">
|
data/_layouts/post.liquid
CHANGED
|
@@ -14,9 +14,9 @@ layout: default
|
|
|
14
14
|
</header>
|
|
15
15
|
|
|
16
16
|
<section class="post-content">
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
{% if page.bootstrap %}<div class="bootstrap-iso">{% endif %}
|
|
18
|
+
{{ content }}
|
|
19
|
+
{% if page.bootstrap %}</div>{% endif %}
|
|
20
20
|
</section>
|
|
21
21
|
|
|
22
22
|
<!-- Social media shares -->
|
data/_layouts/search.liquid
CHANGED
data/_sass/base/_global.scss
CHANGED
|
@@ -8,7 +8,8 @@ figure {
|
|
|
8
8
|
margin: 0;
|
|
9
9
|
}
|
|
10
10
|
|
|
11
|
-
html
|
|
11
|
+
html,
|
|
12
|
+
body {
|
|
12
13
|
background: var(--background);
|
|
13
14
|
}
|
|
14
15
|
|
|
@@ -17,10 +18,6 @@ html {
|
|
|
17
18
|
background: var(--selection);
|
|
18
19
|
}
|
|
19
20
|
|
|
20
|
-
::-moz-selection {
|
|
21
|
-
background: var(--selection);
|
|
22
|
-
}
|
|
23
|
-
|
|
24
21
|
body {
|
|
25
22
|
color: var(--text);
|
|
26
23
|
font-family: $font-family-main;
|
|
@@ -141,7 +138,7 @@ summary {
|
|
|
141
138
|
}
|
|
142
139
|
|
|
143
140
|
blockquote {
|
|
144
|
-
border-left: 2px solid
|
|
141
|
+
border-left: 2px solid var(--blockquote-border);
|
|
145
142
|
margin: 1em 1em;
|
|
146
143
|
padding: 0.75em 1em;
|
|
147
144
|
background-color: var(--blockquote);
|
|
@@ -215,7 +212,7 @@ ul {
|
|
|
215
212
|
hr {
|
|
216
213
|
border: 0;
|
|
217
214
|
border-top: 1px solid var(--border);
|
|
218
|
-
border-bottom: 1px solid
|
|
215
|
+
border-bottom: 1px solid var(--background);
|
|
219
216
|
margin: 1em 0;
|
|
220
217
|
}
|
|
221
218
|
|
|
@@ -225,11 +222,11 @@ a {
|
|
|
225
222
|
}
|
|
226
223
|
|
|
227
224
|
kbd {
|
|
228
|
-
background-color:
|
|
225
|
+
background-color: var(--kbd-background);
|
|
229
226
|
border-radius: 3px;
|
|
230
|
-
border: 1px solid
|
|
231
|
-
box-shadow: 0 1px 1px rgba(0, 0, 0, .2), 0 2px 0 0 rgba(255, 255, 255, .7) inset;
|
|
232
|
-
color:
|
|
227
|
+
border: 1px solid var(--kbd-border);
|
|
228
|
+
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2), 0 2px 0 0 rgba(255, 255, 255, 0.7) inset;
|
|
229
|
+
color: var(--kbd-color);
|
|
233
230
|
display: inline-block;
|
|
234
231
|
font-size: .85em;
|
|
235
232
|
font-weight: 700;
|
|
@@ -259,7 +256,7 @@ details {
|
|
|
259
256
|
width: 100%;
|
|
260
257
|
background: rgba(2, 2, 2, 0.85);
|
|
261
258
|
color: lightgray;
|
|
262
|
-
z-index:
|
|
259
|
+
z-index: $z-index-cookie;
|
|
263
260
|
|
|
264
261
|
& a {
|
|
265
262
|
display: inline-block;
|
data/_sass/base/_utility.scss
CHANGED
|
@@ -1,35 +1,14 @@
|
|
|
1
1
|
// Mix-ins
|
|
2
|
-
|
|
3
|
-
padding: $
|
|
4
|
-
@media (max-width: $xl-break) {
|
|
5
|
-
|
|
6
|
-
}
|
|
7
|
-
@media (max-width: $
|
|
8
|
-
padding: $padding-small $padding-large;
|
|
9
|
-
}
|
|
10
|
-
@media (max-width: $m-break) {
|
|
11
|
-
padding: $padding-small $padding-medium;
|
|
12
|
-
}
|
|
13
|
-
@media (max-width: $sm-break) {
|
|
14
|
-
padding: $padding-small $padding-x-small;
|
|
15
|
-
}
|
|
2
|
+
@mixin responsive-padding($v, $sm-h) {
|
|
3
|
+
padding: $v $padding-x-large;
|
|
4
|
+
@media (max-width: $xl-break) { padding: $v ($padding-large * 2); }
|
|
5
|
+
@media (max-width: $l-break) { padding: $v $padding-large; }
|
|
6
|
+
@media (max-width: $m-break) { padding: $v $padding-medium; }
|
|
7
|
+
@media (max-width: $sm-break) { padding: $v $sm-h; }
|
|
16
8
|
}
|
|
17
9
|
|
|
18
|
-
%padding-
|
|
19
|
-
|
|
20
|
-
@media (max-width: $xl-break) {
|
|
21
|
-
padding: $padding-x-small ($padding-large * 2);
|
|
22
|
-
}
|
|
23
|
-
@media (max-width: $l-break) {
|
|
24
|
-
padding: $padding-x-small $padding-large;
|
|
25
|
-
}
|
|
26
|
-
@media (max-width: $m-break) {
|
|
27
|
-
padding: $padding-x-small $padding-medium;
|
|
28
|
-
}
|
|
29
|
-
@media (max-width: $sm-break) {
|
|
30
|
-
padding: $padding-x-small $padding-small;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
10
|
+
%padding-nav { @include responsive-padding($padding-small, $padding-x-small); }
|
|
11
|
+
%padding-post { @include responsive-padding($padding-x-small, $padding-small); }
|
|
33
12
|
|
|
34
13
|
%padding-header {
|
|
35
14
|
padding: $padding-medium $padding-large;
|