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.
Files changed (88) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +52 -75
  3. data/_includes/blog/post_nav.liquid +2 -2
  4. data/_includes/default/head.liquid +15 -12
  5. data/_includes/default/navbar.liquid +2 -2
  6. data/_includes/gallery.html +5 -7
  7. data/_includes/portfolio.html +1 -1
  8. data/_includes/social/share_buttons.liquid +9 -9
  9. data/_layouts/default.html +1 -1
  10. data/_layouts/page.liquid +3 -7
  11. data/_layouts/post.liquid +3 -3
  12. data/_layouts/search.liquid +1 -0
  13. data/_sass/base/_global.scss +9 -12
  14. data/_sass/base/_utility.scss +8 -29
  15. data/_sass/base/_variables.scss +43 -2
  16. data/_sass/external/_font-awesome.scss +1 -1
  17. data/_sass/external/_katex.scss +1 -1
  18. data/_sass/external/_pacifico.scss +3 -6
  19. data/_sass/external/font-awesome/_core.scss +1 -1
  20. data/_sass/external/font-awesome/_icons.scss +0 -1
  21. data/_sass/external/font-awesome/brands.scss +1 -1
  22. data/_sass/external/font-awesome/fontawesome.scss +1 -1
  23. data/_sass/external/font-awesome/regular.scss +1 -1
  24. data/_sass/external/font-awesome/solid.scss +1 -1
  25. data/_sass/external/font-awesome/v4-shims.scss +1 -1
  26. data/_sass/external/katex/katex.scss +156 -269
  27. data/_sass/includes/_blog_nav.scss +0 -4
  28. data/_sass/includes/_gallery.scss +12 -24
  29. data/_sass/includes/_navbar.scss +1 -7
  30. data/_sass/includes/_portfolio.scss +2 -4
  31. data/_sass/layouts/_blog.scss +7 -23
  32. data/_sass/layouts/_categories.scss +4 -3
  33. data/_sass/layouts/_page.scss +1 -1
  34. data/_sass/layouts/_posts.scss +13 -12
  35. data/_sass/layouts/_search.scss +6 -19
  36. data/_sass/type-on-strap.scss +10 -0
  37. data/assets/fonts/Pacifico/Pacifico.woff +0 -0
  38. data/assets/fonts/Pacifico/Pacifico.woff2 +0 -0
  39. data/assets/fonts/font-awesome/fa-brands-400.ttf +0 -0
  40. data/assets/fonts/font-awesome/fa-brands-400.woff2 +0 -0
  41. data/assets/fonts/font-awesome/fa-regular-400.ttf +0 -0
  42. data/assets/fonts/font-awesome/fa-regular-400.woff2 +0 -0
  43. data/assets/fonts/font-awesome/fa-solid-900.ttf +0 -0
  44. data/assets/fonts/font-awesome/fa-solid-900.woff2 +0 -0
  45. data/assets/js/comments-lazy-load.min.js +1 -1
  46. data/assets/js/main.min.js +1 -6
  47. data/assets/js/vendor/katex.auto-render.min.js +1 -1
  48. data/assets/js/vendor/katex.min.js +1 -1
  49. data/assets/js/vendor/mermaid.min.js +1509 -915
  50. data/assets/js/vendor/simple-jekyll-search.min.js +2 -2
  51. metadata +22 -42
  52. data/assets/css/bootstrap-iso.less +0 -12
  53. data/assets/css/vendor/bootstrap-iso.css +0 -9121
  54. data/assets/css/vendor/bootstrap-iso.min.css +0 -6
  55. data/assets/css/vendor/bootstrap.css +0 -10007
  56. data/assets/fonts/Pacifico/Pacifico.eot +0 -0
  57. data/assets/fonts/Pacifico/Pacifico.svg +0 -10833
  58. data/assets/fonts/Pacifico/Pacifico.ttf +0 -0
  59. data/assets/fonts/Pacifico/original-pacifico-regular.ttf +0 -0
  60. data/assets/fonts/font-awesome/fa-v4compatibility.ttf +0 -0
  61. data/assets/fonts/font-awesome/fa-v4compatibility.woff2 +0 -0
  62. data/assets/fonts/katex/KaTeX_AMS-Regular.ttf +0 -0
  63. data/assets/fonts/katex/KaTeX_Caligraphic-Bold.ttf +0 -0
  64. data/assets/fonts/katex/KaTeX_Caligraphic-Regular.ttf +0 -0
  65. data/assets/fonts/katex/KaTeX_Fraktur-Bold.ttf +0 -0
  66. data/assets/fonts/katex/KaTeX_Fraktur-Regular.ttf +0 -0
  67. data/assets/fonts/katex/KaTeX_Main-Bold.ttf +0 -0
  68. data/assets/fonts/katex/KaTeX_Main-BoldItalic.ttf +0 -0
  69. data/assets/fonts/katex/KaTeX_Main-Italic.ttf +0 -0
  70. data/assets/fonts/katex/KaTeX_Main-Regular.ttf +0 -0
  71. data/assets/fonts/katex/KaTeX_Math-BoldItalic.ttf +0 -0
  72. data/assets/fonts/katex/KaTeX_Math-Italic.ttf +0 -0
  73. data/assets/fonts/katex/KaTeX_SansSerif-Bold.ttf +0 -0
  74. data/assets/fonts/katex/KaTeX_SansSerif-Italic.ttf +0 -0
  75. data/assets/fonts/katex/KaTeX_SansSerif-Regular.ttf +0 -0
  76. data/assets/fonts/katex/KaTeX_Script-Regular.ttf +0 -0
  77. data/assets/fonts/katex/KaTeX_Size1-Regular.ttf +0 -0
  78. data/assets/fonts/katex/KaTeX_Size2-Regular.ttf +0 -0
  79. data/assets/fonts/katex/KaTeX_Size3-Regular.ttf +0 -0
  80. data/assets/fonts/katex/KaTeX_Size4-Regular.ttf +0 -0
  81. data/assets/fonts/katex/KaTeX_Typewriter-Regular.ttf +0 -0
  82. data/assets/js/comments-lazy-load.js +0 -123
  83. data/assets/js/partials/cookie_consent_init.js +0 -60
  84. data/assets/js/partials/dark-mode.js +0 -57
  85. data/assets/js/partials/masonry_init.js +0 -22
  86. data/assets/js/partials/navbar.js +0 -26
  87. data/assets/js/vendor/imagesloaded.pkgd.min.js +0 -12
  88. 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: c7b245eafb6465e6bd1a012032498fb81901591c09680290587ec232ea579643
4
- data.tar.gz: f81e6aaf2e9ef2dc13f6275da54a05143cb305a88dbd4e6b3af6cad085555e2c
3
+ metadata.gz: f5a9d47621e0b454f1c0658622a29f749519ddd6dd265cdcbf1ead4f210fa9e2
4
+ data.tar.gz: 065cb8d35e79a304c0530008c4494c8ce1d1e64ed88d9422a5eeec03737145ea
5
5
  SHA512:
6
- metadata.gz: ca5de0fb72854009a6ede7a395e65c572c2100a80d6f338f90dd6cc0b8f08199aca694f54a1be26f01231681673173662caa4b1bc7c277f736b9d14d4569aeef
7
- data.tar.gz: 44fe3825598c76e401b010c7b9630b4b7c1a83309c609ef7cff81efaeded6e78242447664e0c567ca88b0cac361fc9ca02da921d944f64a24f6d301d71680c1c
6
+ metadata.gz: bf956f01a7160cc092808515301fa639b07a48a000a987f74536ac6d792972f14e494898f4a7ea8527b3ea342f33ceb4575a8ceac252e03429e9a1e6de9dc50b
7
+ data.tar.gz: b55fd5b2f2b114913c38c1b6b4113647c621c88d5522b09aea4e45f9316cca6f822665e086b146b374579d39e3cd025e08e7ef3dd18de2218e000e95a0b21b93
data/README.md CHANGED
@@ -3,34 +3,41 @@
3
3
  [![Build](https://github.com/sylhare/Type-on-Strap/actions/workflows/docker-build.yml/badge.svg)](https://github.com/sylhare/Type-on-Strap/actions/workflows/docker-build.yml)
4
4
  [![Gem Version](https://badge.fury.io/rb/type-on-strap.svg)](https://badge.fury.io/rb/type-on-strap)
5
5
  [![Docker Pulls](https://img.shields.io/docker/pulls/sylhare/type-on-strap)](https://hub.docker.com/r/sylhare/type-on-strap)
6
+ [![Gem Downloads](https://img.shields.io/gem/dt/type-on-strap?logo=rubygems)](https://rubygems.org/gems/type-on-strap)
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
+ [![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
9
 
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
+ 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 🗂, Gallery 🖼 pages for your projects
14
- * Multi comments 💬 options
15
- * Tags compatibility 🏷
16
- * Handle _Bootstrap_'ed pages: [Get Bootstrap](http://getbootstrap.com/)
17
- * 🔎 Search feature: [Simple-Jekyll-Search](https://github.com/sylhare/Simple-Jekyll-Search)
18
- * Math Rendering : [KateX](https://github.com/Khan/KaTeX)
19
- * Diagram Rendering: [Mermaid-js](https://github.com/mermaid-js/mermaid)
20
- * 🖋 Nice fonts: [Font Awesome](https://fontawesome.com/), [Source Sans Pro](https://fonts.google.com/specimen/Source+Sans+Pro), [Pacifico](https://fonts.google.com/specimen/Pacifico?selection.family=Pacifico)
21
- * Seo Tags: [Jekyll-seo-tag](https://github.com/jekyll/jekyll-seo-tag)
22
- * 🛠 Syntax Highlighting: Easily customisable [Base16](https://github.com/chriskempson/base16)
23
- * 💡 Light and dark theme supported
24
- * Find free of rights images on [pexels](https://www.pexels.com/)
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-On-Strap): `git clone https://github.com/Sylhare/Type-on-Strap.git`
33
- 2. Install [Jekyll](https://jekyllrb.com/docs/installation/): `gem install jekyll`, check [#1](https://github.com/Sylhare/Type-on-Strap/issues/1) if you have a problem.
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-feel](https://github.com/jekyll/jekyll-feed)).
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 gulp task to create it.
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 `conflig.yml`:
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 `page` folder,
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 default/portfolio.html %}
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 [Masonry JS](https://masonry.desandro.com/) which will placing the pictures at the optimal position
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 default/gallery.html gallery_path=page.gallery %}
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
- ### Gulp toolbox
590
-
591
- #### Requirements
592
-
593
- Before you need to have *node* and `npm` installed:
600
+ ### npm scripts toolbox
594
601
 
595
- - Windows: https://nodejs.org/
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
- Then you need to install [`gulp-cli`](https://gulpjs.com/) and its dependencies:
604
+ To create a new post with today's date:
600
605
 
601
606
  ```bash
602
- cd assets/
603
- sudo npm install gulp-cli -g
604
- npm install
607
+ npm run post 'title of the post'
605
608
  ```
606
609
 
607
- #### Minimizing and optimizing: css, js and images
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
- To create a `.md` file in the *_posts/* section with the jekyll format of today's date.
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
+ [![Contributors](https://contrib.rocks/image?repo=sylhare/Type-on-Strap)](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 alt="{{ page.next.title }}" href="{{ page.next.url | relative_url | default: 'none' }}">
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 alt="{{ page.previous.title }}" href="{{ page.previous.url | relative_url | default: 'none' }}">
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 and masonry_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
- <!-- Bootstrap-4.1.3 isolation CSS -->
34
- <link rel="stylesheet" type="text/css" href="{{ '/assets/css/vendor/bootstrap-iso.min.css' | relative_url }}">
35
- <!-- JQuery 3.3.1 -->
36
- <script defer src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
37
- <!-- Bootstrap 4.1.3 compiled and minified JavaScript -->
38
- <script defer src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
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.16.28 -->
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.12.2 -->
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 Jekyll Search 2.1.1 -->
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="{{ page.title }} " aria-label="{{ page.title }}" onclick="themeToggle()"></a></li>
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
 
@@ -6,17 +6,15 @@ html { overflow-y: scroll; }
6
6
  /* article {padding:2%;} */
7
7
  </style>
8
8
 
9
- <div id='masonry' class="grid">
10
- <div class="grid-sizer"></div>
11
- <div class="gutter-sizer"></div>
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>
@@ -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 }}&quote={{ 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 }}&quote={{ 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>
@@ -1,6 +1,6 @@
1
1
  <!DOCTYPE html>
2
2
  <!--
3
- Type on Strap jekyll theme v2.5.0
3
+ Type on Strap jekyll theme v2.5.2
4
4
  Theme free for personal and commercial use under the MIT license
5
5
  https://github.com/sylhare/Type-on-Strap/blob/master/LICENSE
6
6
  -->
data/_layouts/page.liquid CHANGED
@@ -15,13 +15,9 @@ layout: default
15
15
  </div>
16
16
  </header>
17
17
  <section class="post-content">
18
- {% if page.bootstrap %}
19
- <div class="bootstrap-iso">
20
- {% endif %}
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
- {% if page.bootstrap %}<div class="bootstrap-iso">{% endif %}
18
- {{ content }}
19
- {% if page.bootstrap %}</div>{% endif %}
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 -->
@@ -20,6 +20,7 @@ layout: page
20
20
  strategy: {
21
21
  type: 'hybrid',
22
22
  },
23
+ sortMiddleware: window.RelevanceSort,
23
24
  exclude: [],
24
25
  templateMiddleware: window.createHighlightTemplateMiddleware({
25
26
  className: 'search-highlight',
@@ -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 #9fd2e3;
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 #fff;
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: #eee;
225
+ background-color: var(--kbd-background);
229
226
  border-radius: 3px;
230
- border: 1px solid #b4b4b4;
231
- box-shadow: 0 1px 1px rgba(0, 0, 0, .2), 0 2px 0 0 rgba(255, 255, 255, .7) inset;
232
- color: #333;
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: 1000;
259
+ z-index: $z-index-cookie;
263
260
 
264
261
  & a {
265
262
  display: inline-block;
@@ -1,35 +1,14 @@
1
1
  // Mix-ins
2
- %padding-nav {
3
- padding: $padding-small $padding-x-large;
4
- @media (max-width: $xl-break) {
5
- padding: $padding-small ($padding-large * 2);
6
- }
7
- @media (max-width: $l-break) {
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-post {
19
- padding: $padding-x-small $padding-x-large;
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;