nocc-bootstrap-jekyll-theme 1.0.0

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 (127) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +21 -0
  3. data/README.md +44 -0
  4. data/_config.yml +102 -0
  5. data/_includes/carousel.html +39 -0
  6. data/_includes/code_block.html +3 -0
  7. data/_includes/disqus_comments.html +16 -0
  8. data/_includes/features.html +18 -0
  9. data/_includes/footer.html +55 -0
  10. data/_includes/google_analytics.html +8 -0
  11. data/_includes/head.html +33 -0
  12. data/_includes/image.html +20 -0
  13. data/_includes/navbar.html +48 -0
  14. data/_includes/read_time.html +3 -0
  15. data/_includes/scripts.html +88 -0
  16. data/_layouts/carousel.html +39 -0
  17. data/_layouts/default.html +17 -0
  18. data/_layouts/home.html +92 -0
  19. data/_layouts/images_gallery.html +63 -0
  20. data/_layouts/page.html +35 -0
  21. data/_layouts/post.html +62 -0
  22. data/_layouts/posts_index.html +33 -0
  23. data/_layouts/tag.html +35 -0
  24. data/_layouts/tags_index.html +79 -0
  25. data/_sass/_custom.scss +144 -0
  26. data/assets/css/styles.scss +3 -0
  27. data/assets/images/404.webp +0 -0
  28. data/assets/images/503.webp +0 -0
  29. data/assets/images/bg-about.webp +0 -0
  30. data/assets/images/bg-contact.webp +0 -0
  31. data/assets/images/bg-gallery.webp +0 -0
  32. data/assets/images/bg-index-2.webp +0 -0
  33. data/assets/images/bg-index-3.webp +0 -0
  34. data/assets/images/bg-index.webp +0 -0
  35. data/assets/images/bg-post.webp +0 -0
  36. data/assets/images/favicon.ico +0 -0
  37. data/assets/images/favicon.png +0 -0
  38. data/assets/images/favicon.svg +36 -0
  39. data/assets/images/gallery/Futuristic-drama.webp +0 -0
  40. data/assets/images/gallery/Random-Engineers.webp +0 -0
  41. data/assets/images/gallery/Weird-trio-with-mousehand.webp +0 -0
  42. data/assets/images/icon-192.png +0 -0
  43. data/assets/images/icon-512.png +0 -0
  44. data/assets/images/jekyll-logo.svg +129 -0
  45. data/assets/images/nocc-showcase.webp +0 -0
  46. data/assets/images/nocc-theme-showroom.png +0 -0
  47. data/assets/images/nocc-webshot.webp +0 -0
  48. data/assets/images/nocc_icon.svg +91 -0
  49. data/assets/images/nocc_package_logo.png +0 -0
  50. data/assets/images/npm-logo.svg +10 -0
  51. data/assets/vendor/nocc-bootstrap-theme/AUTHORS.md +3 -0
  52. data/assets/vendor/nocc-bootstrap-theme/CODE_OF_CONDUCT.md +3 -0
  53. data/assets/vendor/nocc-bootstrap-theme/CONTRIBUTING.md +5 -0
  54. data/assets/vendor/nocc-bootstrap-theme/LICENSE +21 -0
  55. data/assets/vendor/nocc-bootstrap-theme/README.md +208 -0
  56. data/assets/vendor/nocc-bootstrap-theme/css/nocc-theme.css +10442 -0
  57. data/assets/vendor/nocc-bootstrap-theme/css/nocc-theme.min.css +5 -0
  58. data/assets/vendor/nocc-bootstrap-theme/fonts/lora-webfont/lora-v35-latin-600.woff2 +0 -0
  59. data/assets/vendor/nocc-bootstrap-theme/fonts/lora-webfont/lora-v35-latin-600italic.woff2 +0 -0
  60. data/assets/vendor/nocc-bootstrap-theme/fonts/lora-webfont/lora-v35-latin-italic.woff2 +0 -0
  61. data/assets/vendor/nocc-bootstrap-theme/fonts/lora-webfont/lora-v35-latin-regular.woff2 +0 -0
  62. data/assets/vendor/nocc-bootstrap-theme/fonts/oxygen-webfont/oxygen-mono-v14-latin-regular.woff2 +0 -0
  63. data/assets/vendor/nocc-bootstrap-theme/fonts/roboto-webfont/roboto-v30-latin-300.woff2 +0 -0
  64. data/assets/vendor/nocc-bootstrap-theme/fonts/roboto-webfont/roboto-v30-latin-300italic.woff2 +0 -0
  65. data/assets/vendor/nocc-bootstrap-theme/fonts/roboto-webfont/roboto-v30-latin-700.woff2 +0 -0
  66. data/assets/vendor/nocc-bootstrap-theme/fonts/roboto-webfont/roboto-v30-latin-700italic.woff2 +0 -0
  67. data/assets/vendor/nocc-bootstrap-theme/fonts/roboto-webfont/roboto-v30-latin-900.woff2 +0 -0
  68. data/assets/vendor/nocc-bootstrap-theme/fonts/roboto-webfont/roboto-v30-latin-900italic.woff2 +0 -0
  69. data/assets/vendor/nocc-bootstrap-theme/fonts/roboto-webfont/roboto-v30-latin-italic.woff2 +0 -0
  70. data/assets/vendor/nocc-bootstrap-theme/fonts/roboto-webfont/roboto-v30-latin-regular.woff2 +0 -0
  71. data/assets/vendor/nocc-bootstrap-theme/icons/1.11.0/bootstrap.svg +4 -0
  72. data/assets/vendor/nocc-bootstrap-theme/icons/1.11.0/clipboard.svg +4 -0
  73. data/assets/vendor/nocc-bootstrap-theme/icons/1.11.0/currency-bitcoin.svg +3 -0
  74. data/assets/vendor/nocc-bootstrap-theme/icons/1.11.0/download.svg +4 -0
  75. data/assets/vendor/nocc-bootstrap-theme/icons/1.11.0/envelope-at-fill.svg +4 -0
  76. data/assets/vendor/nocc-bootstrap-theme/icons/1.11.0/filetype-svg.svg +3 -0
  77. data/assets/vendor/nocc-bootstrap-theme/icons/1.11.0/gift-fill.svg +3 -0
  78. data/assets/vendor/nocc-bootstrap-theme/icons/1.11.0/github.svg +3 -0
  79. data/assets/vendor/nocc-bootstrap-theme/icons/1.11.0/google.svg +3 -0
  80. data/assets/vendor/nocc-bootstrap-theme/icons/1.11.0/link-45deg.svg +4 -0
  81. data/assets/vendor/nocc-bootstrap-theme/icons/1.11.0/linkedin.svg +3 -0
  82. data/assets/vendor/nocc-bootstrap-theme/icons/1.11.0/magic.svg +3 -0
  83. data/assets/vendor/nocc-bootstrap-theme/icons/1.11.0/moon.svg +4 -0
  84. data/assets/vendor/nocc-bootstrap-theme/icons/1.11.0/speedometer.svg +4 -0
  85. data/assets/vendor/nocc-bootstrap-theme/icons/1.11.0/sun.svg +3 -0
  86. data/assets/vendor/nocc-bootstrap-theme/icons/1.11.0/twitter-x.svg +3 -0
  87. data/assets/vendor/nocc-bootstrap-theme/images/bg-about.webp +0 -0
  88. data/assets/vendor/nocc-bootstrap-theme/images/bg-gallery.webp +0 -0
  89. data/assets/vendor/nocc-bootstrap-theme/images/bg-index-2.webp +0 -0
  90. data/assets/vendor/nocc-bootstrap-theme/images/bg-index-3.webp +0 -0
  91. data/assets/vendor/nocc-bootstrap-theme/images/bg-index.webp +0 -0
  92. data/assets/vendor/nocc-bootstrap-theme/images/bg-post.webp +0 -0
  93. data/assets/vendor/nocc-bootstrap-theme/images/favicon_io/android-chrome-192x192.png +0 -0
  94. data/assets/vendor/nocc-bootstrap-theme/images/favicon_io/android-chrome-512x512.png +0 -0
  95. data/assets/vendor/nocc-bootstrap-theme/images/favicon_io/apple-touch-icon.png +0 -0
  96. data/assets/vendor/nocc-bootstrap-theme/images/favicon_io/favicon-16x16.png +0 -0
  97. data/assets/vendor/nocc-bootstrap-theme/images/favicon_io/favicon-32x32.png +0 -0
  98. data/assets/vendor/nocc-bootstrap-theme/images/favicon_io/favicon.ico +0 -0
  99. data/assets/vendor/nocc-bootstrap-theme/images/favicon_io/favicon.png +0 -0
  100. data/assets/vendor/nocc-bootstrap-theme/images/favicon_io/favicon.svg +54 -0
  101. data/assets/vendor/nocc-bootstrap-theme/images/favicon_io/site.webmanifest +1 -0
  102. data/assets/vendor/nocc-bootstrap-theme/images/gallery/Futuristic-drama.webp +0 -0
  103. data/assets/vendor/nocc-bootstrap-theme/images/gallery/Random-Engineers.webp +0 -0
  104. data/assets/vendor/nocc-bootstrap-theme/images/gallery/Weird-trio-with-mousehand.webp +0 -0
  105. data/assets/vendor/nocc-bootstrap-theme/images/nocc/kofi_s_logo_nolabel.webp +0 -0
  106. data/assets/vendor/nocc-bootstrap-theme/images/nocc/nocc-showcase.webp +0 -0
  107. data/assets/vendor/nocc-bootstrap-theme/images/nocc/nocc-theme-showroom.png +0 -0
  108. data/assets/vendor/nocc-bootstrap-theme/images/nocc/nocc-theme-webshot.png +0 -0
  109. data/assets/vendor/nocc-bootstrap-theme/images/nocc/nocc-theme-webshot.webp +0 -0
  110. data/assets/vendor/nocc-bootstrap-theme/images/nocc/nocc-webshot.webp +0 -0
  111. data/assets/vendor/nocc-bootstrap-theme/images/nocc/nocc_home_image.webp +0 -0
  112. data/assets/vendor/nocc-bootstrap-theme/images/nocc/nocc_logo.png +0 -0
  113. data/assets/vendor/nocc-bootstrap-theme/js/bootstrap/5.3.3/bootstrap.bundle.min.js +7 -0
  114. data/assets/vendor/nocc-bootstrap-theme/js/bootstrap/5.3.3/bootstrap.bundle.min.js.map +1 -0
  115. data/assets/vendor/nocc-bootstrap-theme/js/clipboardjs/clipboard.min.js +7 -0
  116. data/assets/vendor/nocc-bootstrap-theme/js/copy-clipboard.js +18 -0
  117. data/assets/vendor/nocc-bootstrap-theme/js/jq-bootstrap-validation.js +475 -0
  118. data/assets/vendor/nocc-bootstrap-theme/js/jq-bootstrap-validation.min.js +1 -0
  119. data/assets/vendor/nocc-bootstrap-theme/js/jquery/3.7.1/jquery.min.js +2 -0
  120. data/assets/vendor/nocc-bootstrap-theme/js/jquery/3.7.1/jquery.min.map +1 -0
  121. data/assets/vendor/nocc-bootstrap-theme/js/jquery/jqcloud/2.0.3/jqcloud.min.js +8 -0
  122. data/assets/vendor/nocc-bootstrap-theme/js/ko-fi/widget_2.min.js +1 -0
  123. data/assets/vendor/nocc-bootstrap-theme/js/theme-toggler.js +68 -0
  124. data/assets/vendor/nocc-bootstrap-theme/js/theme-toggler.min.js +1 -0
  125. data/assets/vendor/nocc-bootstrap-theme/manifest.json +1 -0
  126. data/assets/vendor/nocc-bootstrap-theme/package.json +78 -0
  127. metadata +282 -0
@@ -0,0 +1,92 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ <main class="flex-shrink-0">
6
+ {%- if page.carousel %}
7
+ {% include carousel.html %}
8
+ {% else -%}
9
+ <section class="masthead" style="background-image: linear-gradient(to bottom, rgba(0,0,0,0.5)0%,rgba(100, 100, 100, 0.5) 10%), url('{{ page.background }}')">
10
+ <div class="overlay"></div>
11
+ <div class="container">
12
+ <div class="row">
13
+ <div class="mx-auto">
14
+ <div class="page-heading">
15
+ {%- if page.title %}
16
+ <h1>{{ page.title }}</h1>
17
+ {% else -%}
18
+ <h1>{{ site.title }}</h1>
19
+ {% endif %}
20
+ {%- if site.description %}
21
+ <h2 class="subheading">{{ site.description }}</h2>
22
+ {% endif -%}
23
+ </div>
24
+ </div>
25
+ </div>
26
+ </div>
27
+ </section>
28
+ {% endif -%}
29
+ {% if site.landing == true %}
30
+ <section>
31
+ <div class="container my-5">
32
+ <div class="row align-items-center rounded-hero border shadow-lg">
33
+ <div class="col-lg-8 p-3 p-lg-5">
34
+ {{ content }}
35
+ <div class="d-grid gap-2 d-md-flex justify-content-md-start mb-4 mb-lg-3">
36
+ <a id="download" class="btn btn-download px-4 me-md-2 fw-bold" href="{{ site.theme_download }}" aria-label="Download" target="_blank" role="button">Download</a>
37
+ <a class="btn btn-secondary px-4" href="{{ site.theme_bundle_repo }}" aria-label="GitHub Repository" target="_blank" role="button">Source Code</a>
38
+ <a class="btn btn-tertiary px-4" href="{{ site.theme_package }}" aria-label="Nocc NPM package" target="_blank" role="button">NPM Package</a>
39
+ </div>
40
+ </div>
41
+ <div class="col-lg-4 p-0 overflow-hidden shadow-lg">
42
+ <img class="rounded-lg-3" src="{{ site.theme_logo }}" alt="NOCC Bootstrap theme logo" width="410">
43
+ </div>
44
+ </div>
45
+ </div>
46
+ <div class="home-divider"></div>
47
+ </section>
48
+ {% include_relative features.html %}
49
+ {% else %}
50
+ <section>
51
+ <div class="container my-5">
52
+ <div class="row">
53
+ <div class="col-lg-8 col-md-10 mx-auto">
54
+ {{ content }}
55
+ </div>
56
+ </div>
57
+ </div>
58
+ <div class="home-divider"></div>
59
+ </section>
60
+ {% endif %}
61
+ <section>
62
+ <div id="post-cards" class="container py-5">
63
+ <h2 class="pb-2 border-bottom">Recent articles</h2>
64
+ <div class="post-card row">
65
+ {% assign sorted = site.posts | sort: 'date' | reverse %}
66
+ {%- for post in sorted limit : 3 %}
67
+ <div class="col">
68
+ <div class="card h-100 overflow-hidden card-shadow" style="background-image: linear-gradient(to bottom, rgba(0,0,0,0.5)0%,rgba(100, 100, 100, 0.5) 10%), url('{{ post.background }}')">
69
+ <div class="d-flex flex-column h-100 p-5 text-white">
70
+ <small>on {{ post.date | date: '%B %d, %Y' }}</small>
71
+ <h2 class="pt-5 mt-5">{{ post.title }}</h2>
72
+ <ul class="d-flex list-unstyled mt-auto">
73
+ <li class="me-auto float-end">
74
+ <small><a href="{{ post.url | relative_url }}" class="stretched-link" hreflang="{{ site.lang }}" aria-label="{{ post.title | escape }}"><img role="img" class="filter-white" alt="" aria-label="" src="/assets/vendor/nocc-bootstrap-theme/icons/1.11.0/link-45deg.svg" width="25em" height="25em">
75
+ </a></small>
76
+ </li>
77
+ {%- if post.tags %}
78
+ {% for tag in post.tags limit : 2 -%}
79
+ <li class="d-flex align-items-center me-3">
80
+ <span class="badge">#{{ tag }}</span>
81
+ </li>
82
+ {%- endfor %}
83
+ {%- endif %}
84
+ </ul>
85
+ </div>
86
+ </div>
87
+ </div>
88
+ {% endfor -%}
89
+ </div>
90
+ </div>
91
+ </section>
92
+ </main>
@@ -0,0 +1,63 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ <section class="masthead sechead" style="background-image: linear-gradient(to bottom, rgba(0,0,0,0.5)0%,rgba(0,0,0,0.5) 100%), url('{{ page.background }}')">
6
+ <div class="overlay"></div>
7
+ <div class="container">
8
+ <div class="row">
9
+ <div class="mx-auto">
10
+ <div class="page-heading">
11
+ <h1>{{ page.title }}</h1>
12
+ </div>
13
+ </div>
14
+ </div>
15
+ </div>
16
+ </section>
17
+ <section>
18
+ <div class="container">
19
+ <div class="row">
20
+ <div class="mx-auto">
21
+ <div class="image-gallery">
22
+ {% include image.html folder="/assets/images/gallery" %}
23
+ </div>
24
+ </div>
25
+ </div>
26
+ </div>
27
+ <div class="modal fade" id="image-gallery" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
28
+ <div class="modal-dialog modal-lg">
29
+ <div class="modal-content">
30
+ <div class="modal-header">
31
+ <h4 class="modal-title" id="image-gallery-title"></h4>
32
+ <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
33
+ </div>
34
+ <div class="modal-body">
35
+ <img id="image-gallery-image" class="img-responsive col-md-12" src="">
36
+ </div>
37
+ </div>
38
+ </div>
39
+ </div>
40
+ <script type="text/javascript">
41
+ document.addEventListener('DOMContentLoaded', (event) => {
42
+ var buttons = document.getElementsByTagName("button");
43
+ var buttonsCount = buttons.length;
44
+ for (let i = 0; i < buttonsCount; i++) {
45
+ buttons[i].onclick = function(e) {
46
+ const img = document.getElementById(this.id);
47
+ if (img) {
48
+ var url = img.getAttribute('data-bs-image');
49
+ var uri = encodeURI(url);
50
+ var name = img.getAttribute('data-bs-title');
51
+ }
52
+ const modal = document.querySelector("#image-gallery-image");
53
+ modal.removeAttribute('src');
54
+ modal.setAttribute('src', decodeURI(uri));
55
+ modal.setAttribute("disabled", "");
56
+ var title = document.getElementById("image-gallery-title");
57
+ title.textContent = name;
58
+ };
59
+ }
60
+ });
61
+ </script>
62
+ <div class="divider"></div>
63
+ </section>
@@ -0,0 +1,35 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ <main class="flex-shrink-0">
6
+ {% if page.background %}
7
+ <section class="masthead sechead" style="background-image: linear-gradient(to bottom, rgba(0,0,0,0.5)0%,rgba(0,0,0,0.5) 100%), url('{{ page.background }}')">
8
+ {% else %}
9
+ <section class="masthead sechead">
10
+ {% endif %}
11
+ <div class="overlay"></div>
12
+ <div class="container">
13
+ <div class="row">
14
+ <div class="mx-auto">
15
+ <div class="page-heading">
16
+ <h1>{{ page.title }}</h1>
17
+ {% if page.subtitle -%}
18
+ <h2 class="subheading">{{ page.subtitle }}</h2>
19
+ {%- endif %}
20
+ </div>
21
+ </div>
22
+ </div>
23
+ </div>
24
+ </section>
25
+ <section>
26
+ <div class="container">
27
+ <div class="row">
28
+ <div class="col-lg-8 col-md-10 mx-auto">
29
+ {{ content }}
30
+ </div>
31
+ </div>
32
+ </div>
33
+ <div class="divider"></div>
34
+ </section>
35
+ </main>
@@ -0,0 +1,62 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ <main class="flex-shrink-0">
6
+ {% if page.background %}
7
+ <section class="masthead sechead" style="background-image: linear-gradient(to bottom, rgba(0,0,0,0.5)0%,rgba(0,0,0,0.5) 100%), url('{{ page.background }}')">
8
+ {% else %}
9
+ <section class="masthead sechead">
10
+ {% endif %}
11
+ <div class="overlay"></div>
12
+ <div class="container">
13
+ <div class="row">
14
+ <div class="mx-auto">
15
+ <div class="post-heading">
16
+ <h1>{{ page.title }}</h1>
17
+ {%- if page.description %}
18
+ <h2 class="subheading">{{ page.description }}</h2>
19
+ {% endif -%}
20
+ <span class="meta">Posted by
21
+ {% if page.author %} <a href="{{ 'about/' | relative_url }}" hreflang="{{ site.lang }}" aria-label="Author">{{ page.author }} </a> {% else %}<a href="{{ 'posts/' | relative_url }}" hreflang="{{ site.lang }}" aria-label="Author">{{ site.author }} </a> {% endif %}
22
+ on {{ page.date | date: '%B %d, %Y' }} &middot; {% include read_time.html content=page.content -%}</span>
23
+ </div>
24
+ </div>
25
+ </div>
26
+ </div>
27
+ </section>
28
+ <section>
29
+ <div class="container">
30
+ <div class="row">
31
+ <div class="col-lg-8 col-md-10 mx-auto">
32
+ {{ content }}
33
+ <hr>
34
+ {% if site.kofi %}
35
+ <div class="text-center">
36
+ <p><mark>Found a snippet that saved your day?</mark> Consider <a href="https://ko-fi.com/{{ site.kofi }}" target="_blank" rel="noopener" title="Support me on ko-fi.com">dropping a tip!</a></p>
37
+ <script type="text/javascript" src="{{ '/assets/vendor/nocc-bootstrap-theme/js/ko-fi/widget_2.min.js' | relative_url }}"></script>
38
+ <script type="text/javascript">kofiwidget2.init("Buy me a coffee", "#176391", "{{ site.kofi }}");kofiwidget2.draw();</script>
39
+ </div>
40
+ <hr>
41
+ {% endif %}
42
+ <div class="clearfix">
43
+ {% if page.comments %}
44
+ {% if site.disqus_shortname %}
45
+ {% include disqus_comments.html %}
46
+ {% endif %}
47
+ {% endif %}
48
+ {% if page.previous.url %}
49
+ <a class="btn btn-primary float-start" href="{{ page.previous.url | prepend: site.baseurl | replace: '//', '/' }}" hreflang="{{ site.lang }}" data-bs-toggle="tooltip" data-bs-placement="top" title="{{ page.previous.title }}">&larr; Previous<span class="d-none d-md-inline">
50
+ Post</span></a>
51
+ {% endif %}
52
+ {% if page.next.url %}
53
+ <a class="btn btn-primary float-end" href="{{ page.next.url | prepend: site.baseurl | replace: '//', '/' }}" hreflang="{{ site.lang }}" data-bs-toggle="tooltip" data-bs-placement="top" title="{{ page.next.title }}">Next<span class="d-none d-md-inline">
54
+ Post</span> &rarr;</a>
55
+ {% endif %}
56
+ </div>
57
+ </div>
58
+ </div>
59
+ </div>
60
+ <div class="divider"></div>
61
+ </section>
62
+ </main>
@@ -0,0 +1,33 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ <main class="flex-shrink-0">
6
+ {% if page.background %}
7
+ <section class="masthead sechead" style="background-image: linear-gradient(to bottom, rgba(0,0,0,0.5)0%,rgba(0,0,0,0.5) 100%), url('{{ page.background }}')">
8
+ {% else %}
9
+ <section class="masthead sechead">
10
+ {% endif %}
11
+ <div class="overlay"></div>
12
+ <div class="container">
13
+ <div class="row">
14
+ <div class="col-lg-8 col-md-10 mx-auto">
15
+ <div class="page-heading">
16
+ <h1>Index</h1>
17
+ </div>
18
+ </div>
19
+ </div>
20
+ </div>
21
+ </section>
22
+ <section>
23
+ <div class="container">
24
+ <div class="row">
25
+ <div class="col-lg-8 col-md-10 mx-auto">
26
+ <p class="fw-bolder text-uppercase">Number of posts: {{ site.posts | size }}</p>
27
+ {{ content }}
28
+ </div>
29
+ </div>
30
+ </div>
31
+ <div class="divider"></div>
32
+ </section>
33
+ </main>
data/_layouts/tag.html ADDED
@@ -0,0 +1,35 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ <main class="flex-shrink-0">
6
+ <section class="smallhead sechead"></section>
7
+ <section>
8
+ <div class="container">
9
+ <div class="row">
10
+ <div class="col-lg-8 col-md-10 mx-auto">
11
+ <div class="post-header">
12
+ <h1 class="post-title">Posts with tag #{{ page.title | escape }}</h1>
13
+ </div>
14
+ <div class="post-content">
15
+ {{ content }}
16
+ <p class="fw-bolder text-uppercase">Number of articles: {{ site.posts | where_exp: 'posts', 'posts.tags contains page.title' | size }}</p>
17
+ <ul class="post-list">
18
+ {% assign tagpost = site.posts | where_exp: 'posts', 'posts.tags contains page.title' %}</p>
19
+ {%- for tag in tagpost -%}
20
+ <li>
21
+ {%- assign date_format = site.minima.date_format | default: "%b %-d, %Y" %}
22
+ <p>
23
+ <a href="{{ tag.url | relative_url }}" hreflang="{{ site.lang }}" aria-label="{{ tag.title | escape }}">{{ tag.title | escape }}</a>
24
+ </p>
25
+ </li>
26
+ {%- endfor -%}
27
+ </ul>
28
+ <p>Browse more <a href="{{ site.tags_dir | append: '/' | relative_url }}" hreflang="{{ site.lang }}" aria-label="Tags index">tags</a>.</p>
29
+ </div>
30
+ </div>
31
+ </div>
32
+ </div>
33
+ <div class="divider"></div>
34
+ </section>
35
+ </main>
@@ -0,0 +1,79 @@
1
+ ---
2
+ layout: default
3
+ tagsindex: true
4
+ ---
5
+
6
+ <main class="flex-shrink-0">
7
+ <section class="masthead" style="background-image: linear-gradient(to bottom, rgba(0,0,0,0.5)0%,rgba(0,0,0,0.5) 100%), url('{{ page.background }}')">
8
+ <div class="overlay"></div>
9
+ <div class="container">
10
+ <div class="row">
11
+ <div class="col-lg-8 col-md-10 mx-auto">
12
+ <div class="page-heading">
13
+ <h1>{{ page.title }}</h1>
14
+ {% if page.subtitle -%}
15
+ <span class="subheading">{{ page.subtitle }}</span>
16
+ {%- endif %}
17
+ </div>
18
+ </div>
19
+ </div>
20
+ </div>
21
+ </section>
22
+ <section>
23
+ <div class="container">
24
+ <div class="row">
25
+ <div class="text-align-center">
26
+ <script type="text/javascript" src="{{ '/assets/vendor/nocc-bootstrap-theme/js/jquery/3.7.1/jquery.min.js' | relative_url }}"></script>
27
+ <script type="text/javascript" src="{{ '/assets/vendor/nocc-bootstrap-theme/js/jquery/jqcloud/2.0.3/jqcloud.min.js' | relative_url }}"></script>
28
+ <div class="wordcloud"></div>
29
+ </div>
30
+ </div>
31
+ </div>
32
+ <div class="home-divider"></div>
33
+ </section>
34
+ <section>
35
+ <div class="container my-5">
36
+ <div class="row">
37
+ <div class="col-lg-8 col-md-10 mx-auto">
38
+ <h4>Archive</h4>
39
+ <ul class="tag-list">
40
+ {% assign tags_list = "" | split: ',' %}
41
+ {%- for page in site.posts %}
42
+ {%- for tag in page.tags %}
43
+ {% assign tags_list = tags_list | push: tag %}
44
+ {%- endfor %}
45
+ {%- endfor %}
46
+ {% assign tags_uniq = tags_list | uniq | sort %}
47
+ {%- for tag in tags_uniq %}
48
+ {% assign tag_count = site.posts | where_exp: 'posts', 'posts.tags contains tag' %}
49
+ <li>
50
+ <a href="{{ tag | append: '/' }}" hreflang="{{ site.lang }}" aria-label="{{ tag }}">{{ tag }} ({{ tag_count | size }})</a>
51
+ </li>
52
+ {%- endfor %}
53
+ </ul>
54
+ <script type="text/javascript">
55
+ $(document).ready(tagscloud);
56
+ $(window).on('resize',tagscloud);
57
+ function tagscloud() {
58
+ $('.wordcloud').jQCloud('destroy');
59
+ var tags = [];
60
+ {%- for tag in tags_uniq -%}
61
+ {% assign weight = site.posts | where_exp: 'posts', 'posts.tags contains tag' | size %}
62
+ {%- assign name = tag -%}
63
+ tags.push({
64
+ text: "{{ name }}",
65
+ weight: '{{ weight }}',
66
+ link: { href:'{{ site.tags_dir | append: '/' | append: name | append: '/' | relative_url }}', title: '{{ tag }}' }
67
+ });
68
+ {%- endfor -%}
69
+ $('.wordcloud').jQCloud(tags, {
70
+ 'shape': 'rectangular',
71
+ 'autoresize': true
72
+ }
73
+ )};
74
+ </script>
75
+ </div>
76
+ </div>
77
+ </div>
78
+ </section>
79
+ </main>
@@ -0,0 +1,144 @@
1
+ h3 {
2
+ font-size: calc(1.31rem + .81vw);
3
+ }
4
+ @media only screen and (min-width: 1536px) {
5
+ h3 {
6
+ font-size: 1.4rem;
7
+ }
8
+ section.homehead .page-heading {
9
+ padding: 5rem 0;
10
+ h1 {
11
+ font-size: 4rem;
12
+ margin-top: 80px;
13
+ }
14
+ }
15
+ section.homehead .page-heading .subheading {
16
+ font-size: 2rem;
17
+ }
18
+ section.masthead {
19
+ padding: 3rem 0;
20
+ }
21
+ }
22
+ section.homehead .overlay {
23
+ height: 30vh;
24
+ }
25
+ .carousel .carousel-inner img {
26
+ height: 30vh;
27
+ }
28
+ @media only screen and (min-width: 990px) {
29
+ section.homehead .page-heading .subheading {
30
+ font-size: 1.3rem;
31
+ }
32
+ section.masthead .page-heading .subheading {
33
+ font-size: 1.3rem;
34
+ }
35
+ }
36
+ @media only screen and (max-width: 990px) {
37
+ h1 {
38
+ font-size: 1.7rem;
39
+ }
40
+ }
41
+ .nlogo {
42
+ display: inline-block;
43
+
44
+ width: 45px;
45
+ height: 30px;
46
+
47
+ background-image: url("/assets/images/nocc_icon.svg");
48
+ background-repeat: no-repeat;
49
+ background-size: 30px auto;
50
+ }
51
+ .card-start {
52
+ position: relative;
53
+ border: 1px solid var(--bs-border-color-base);
54
+ border-radius: 1em;
55
+ background-color: var(--bs-form-invalid-color);
56
+ opacity: .8;
57
+
58
+ &:hover {
59
+ cursor: pointer;
60
+ border-color: var(--bs-primary-color);
61
+ border-width: 2px;
62
+ box-shadow: 0 1rem 3rem rgba(0,0,0,.35);
63
+ }
64
+
65
+ small {
66
+ color: #fff;
67
+
68
+ a {
69
+ text-decoration: none;
70
+
71
+ &:hover {
72
+ text-decoration: none;
73
+ color: #fff;
74
+ }
75
+ }
76
+ }
77
+ }
78
+ .card-end {
79
+ position: relative;
80
+ border: 1px solid var(--bs-border-color-base);
81
+ border-radius: 1em;
82
+ background-color: var(--bs-secondary-color);
83
+ opacity: .8;
84
+
85
+ &:hover {
86
+ cursor: pointer;
87
+ border-color: var(--bs-primary-color);
88
+ border-width: 2px;
89
+ box-shadow: 0 1rem 3rem rgba(0,0,0,.35);
90
+ }
91
+
92
+ small {
93
+ color: #fff;
94
+
95
+ a {
96
+ text-decoration: none;
97
+
98
+ &:hover {
99
+ text-decoration: none;
100
+ color: #fff;
101
+ }
102
+ }
103
+ }
104
+ }
105
+
106
+ .npm-logo {
107
+ display: inline-block;
108
+
109
+ width: 26px;
110
+ height: 24px;
111
+ margin-right: 10px;
112
+
113
+ background-image: url("/assets/images/npm-logo.svg");
114
+ background-repeat: no-repeat;
115
+ background-size: 26px auto;
116
+ }
117
+
118
+ .jekyll-logo {
119
+ display: inline-block;
120
+
121
+ width: 26px;
122
+ height: 27px;
123
+ margin-right: 5px;
124
+
125
+ background-image: url("/assets/images/jekyll-logo.svg");
126
+ background-repeat: no-repeat;
127
+ background-size: 28px auto;
128
+ }
129
+
130
+ .download-icon {
131
+ display: inline-block;
132
+
133
+ width: 26px;
134
+ height: 24px;
135
+ margin-right: 10px;
136
+
137
+ background-image: url("/assets/images/download.svg");
138
+ background-repeat: no-repeat;
139
+ background-size: 26px auto;
140
+ }
141
+ .py-5 {
142
+ padding-top: 3rem;
143
+ padding-bottom: 1rem;
144
+ }
@@ -0,0 +1,3 @@
1
+ ---
2
+ ---
3
+ @import 'custom';
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -0,0 +1,36 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
+
4
+ <svg
5
+ width="77.258331mm"
6
+ height="76.905556mm"
7
+ viewBox="0 0 77.258331 76.905556"
8
+ version="1.1"
9
+ id="svg1"
10
+ xml:space="preserve"
11
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
12
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
13
+ xmlns:xlink="http://www.w3.org/1999/xlink"
14
+ xmlns="http://www.w3.org/2000/svg"
15
+ xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview
16
+ id="namedview1"
17
+ pagecolor="#ffffff"
18
+ bordercolor="#000000"
19
+ borderopacity="0.25"
20
+ inkscape:showpageshadow="2"
21
+ inkscape:pageopacity="0.0"
22
+ inkscape:pagecheckerboard="0"
23
+ inkscape:deskcolor="#d1d1d1"
24
+ inkscape:document-units="mm" /><defs
25
+ id="defs1" /><g
26
+ inkscape:label="Layer 1"
27
+ inkscape:groupmode="layer"
28
+ id="layer1"
29
+ transform="translate(-66.30742,-110.04723)"><image
30
+ width="77.258331"
31
+ height="76.905556"
32
+ preserveAspectRatio="none"
33
+ xlink:href="data:image/png;base64,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&#10;"
34
+ id="image1"
35
+ x="66.307419"
36
+ y="110.04723" /></g></svg>
Binary file
Binary file