jekyll-theme-centos 2.2.18 → 2.2.19

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 (55) hide show
  1. checksums.yaml +4 -4
  2. data/_data/base/footer.yml +32 -0
  3. data/_data/base/identity.yml +20 -0
  4. data/_data/base/navbar.yml +57 -0
  5. data/_data/base/navbar_absolute.yml +74 -0
  6. data/_data/base/navbar_www.yml +74 -0
  7. data/_includes/base/announcements.html +6 -0
  8. data/_includes/base/breadcrumbs.html +13 -0
  9. data/_includes/base/footer.html +61 -0
  10. data/_includes/base/head.html +17 -0
  11. data/_includes/base/header.html +17 -0
  12. data/_includes/base/navbar.html +32 -0
  13. data/_includes/base/script.html +70 -0
  14. data/_includes/base/toc-accordion.html +10 -0
  15. data/_includes/base/toc.html +99 -0
  16. data/_layouts/base/default.html +31 -0
  17. data/_sass/base/_centos.scss +80 -0
  18. data/_sass/base/_variables.scss +24 -0
  19. data/assets/css/base/stylesheet.min.scss +6 -0
  20. data/assets/icons/android-chrome-192.png +0 -0
  21. data/assets/icons/android-chrome-512.png +0 -0
  22. data/assets/icons/apple-touch-icon.png +0 -0
  23. data/assets/icons/favicon-16.png +0 -0
  24. data/assets/icons/favicon-32.png +0 -0
  25. data/assets/img/{people → base}/screenshot.svg +4 -4
  26. metadata +21 -32
  27. data/_data/download/cards.yml +0 -148
  28. data/_data/download/navbar.yml +0 -48
  29. data/_data/people/navbar.yml +0 -34
  30. data/_includes/download/cards-body-convert.html +0 -10
  31. data/_includes/download/cards-body-doc.html +0 -9
  32. data/_includes/download/cards-body-eol.html +0 -16
  33. data/_includes/download/cards-body-screenshot.html +0 -26
  34. data/_includes/download/cards-body.html +0 -8
  35. data/_includes/download/cards-footer.html +0 -3
  36. data/_includes/download/cards-header-convert.html +0 -8
  37. data/_includes/download/cards-header-doc.html +0 -8
  38. data/_includes/download/cards-header-eol.html +0 -8
  39. data/_includes/download/cards-header-screenshot.html +0 -8
  40. data/_includes/download/cards-header.html +0 -13
  41. data/_includes/download/cards.html +0 -62
  42. data/_includes/people/about.html +0 -25
  43. data/_includes/people/header.html +0 -11
  44. data/_includes/people/posts.html +0 -35
  45. data/_includes/people/projects.html +0 -32
  46. data/_includes/people/pubkeys.html +0 -31
  47. data/_includes/people/support.html +0 -25
  48. data/_layouts/download/cards.html +0 -7
  49. data/_layouts/people/default.html +0 -20
  50. data/assets/img/download/centos-linux-7-2009-screenshot-n.png +0 -0
  51. data/assets/img/download/centos-stream-8-screenshot-n.png +0 -0
  52. data/assets/img/download/centos-stream-9-screenshot-n.png +0 -0
  53. data/assets/img/download/distribution-release-screenshot-n.png +0 -0
  54. data/assets/img/download/distribution-release-screenshot-n.svg +0 -128
  55. data/assets/img/people/YourUsername.svg +0 -64
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5ee8dbcdf6ee190b26b72cfb88e0c647a142ae5e696ed4a65f4515f54fa07f07
4
- data.tar.gz: 07d233eafdab6d057dd2b2db31f999a78df88515032bd783393520420806579a
3
+ metadata.gz: a31a39b830d20c552324d3848a4f4f2b50925e8435b1fbc35d15cdf5f7517291
4
+ data.tar.gz: 13248c5ae1a22fa1b068e6edb61236c6f273d7bebe46060487651d212a06df0f
5
5
  SHA512:
6
- metadata.gz: 4a3050f296960b68a7afbb9a781f5f9239a017be5768d87ba1c837f867e7e7ee60b25504843a09fb53961ddf6e6caab8f6a141c18e8969019ba341c4b62d2355
7
- data.tar.gz: 72d235562bf3343e610caf1269c6088df5493b0d7899d4a32146ef95236144e19fe84cc2228aebf04d22045a9219787dbb56cb6b0cea99422aad04b4dc9ecb6d
6
+ metadata.gz: 298d4e734be9c8ba1d0c8ec495a5d4d7fcac269591f9bd13225dc108995d3fd4567b7b84095f8aba25cdaa6ca3446ed811bfd4945fd10b614181ef27c3d946ed
7
+ data.tar.gz: 59fd6dd8f9201acefbd89cb8ab8aaa4f2a0f71a7b6d02f2fed3cc103d176a61d3b37dc08fef60eabf7e7ceef3bfce6b7ab68c3f2b003cbbb303615268a41d4ec
@@ -0,0 +1,32 @@
1
+ ---
2
+ #
3
+ # site.data.base.footer - Control footer section.
4
+ #
5
+ social:
6
+ - name: Facebook
7
+ icon: "fa-brands fa-facebook-f"
8
+ link: "https://www.facebook.com/groups/centosproject/"
9
+ - name: Twitter
10
+ icon: "fa-brands fa-twitter"
11
+ link: "https://twitter.com/centos"
12
+ - name: Youtube
13
+ icon: "fa-brands fa-youtube"
14
+ link: "https://youtube.com/TheCentOSProject"
15
+ - name: Linkedin
16
+ icon: "fa-brands fa-linkedin"
17
+ link: "https://www.linkedin.com/groups/22405"
18
+ - name: Reddit
19
+ icon: "fa-brands fa-reddit"
20
+ link: "https://www.reddit.com/r/CentOS/"
21
+ - name: Mastodon
22
+ icon: "fa-brands fa-mastodon"
23
+ link: "https://fosstodon.org/@centos"
24
+ copyright:
25
+ author: "The CentOS Project"
26
+ legals:
27
+ - text: "Legal"
28
+ link: "/legal"
29
+ - text: "Privacy"
30
+ link: "/legal/privacy"
31
+ - text: "Site source"
32
+ link: "https://git.centos.org/centos/centos.org"
@@ -0,0 +1,20 @@
1
+ ---
2
+ #
3
+ # site.data.base.identity - Control the site branding (corporate visual
4
+ # identity) information.
5
+ #
6
+ title: "The CentOS Project"
7
+ description: >
8
+ Community-driven free software effort focused around the goal of providing a
9
+ rich base platform for open source communities to build upon.
10
+
11
+ logo:
12
+ link: ""
13
+ navbar: "assets/img/centos-whitelogo.svg"
14
+ footer: "assets/img/centos-logo.svg"
15
+ manifestation: ""
16
+ symbol:
17
+ link: ""
18
+ image: "assets/img/centos-symbol.svg"
19
+ motif:
20
+ image: "assets/img/centos-motif.png"
@@ -0,0 +1,57 @@
1
+ ---
2
+ #
3
+ # site.data.base.navbar - Control top navigation bar using relative links
4
+ # specific to jekyll-theme-centos-base website component. Not used inside
5
+ # CentOS websites. Used in website component presentation only.
6
+ #
7
+ - name: "Layouts"
8
+ icon: "fa-solid fa-layer-group"
9
+ link: "/layouts/"
10
+ menu:
11
+ - name: "base/default.html"
12
+ link: "/layouts/default/"
13
+ visible_on: ["navbar", "footer"]
14
+
15
+ - name: "Includes"
16
+ icon: "fa-solid fa-arrows-turn-to-dots"
17
+ link: "/includes/"
18
+ menu:
19
+ - name: "base/announcements.html"
20
+ link: "/includes/announcements/"
21
+ - name: "base/breadcrumbs.html"
22
+ link: "/includes/breadcrumbs/"
23
+ - name: "base/head.html"
24
+ link: "/includes/head/"
25
+ - name: "base/header.html"
26
+ link: "/includes/header/"
27
+ - name: "base/navbar.html"
28
+ link: "/includes/navbar/"
29
+ - name: "base/toc-accordion.html"
30
+ link: "/includes/toc-accordion/"
31
+ - name: "base/toc.html"
32
+ link: "/includes/toc/"
33
+ visible_on: ["navbar", "footer"]
34
+
35
+ - name: "Sass"
36
+ icon: "fa-brands fa-sass"
37
+ link: "/sass/"
38
+ menu:
39
+ - name: "base/variables"
40
+ link: "/sass/variables"
41
+ - name: "base/centos"
42
+ link: "/sass/centos"
43
+ visible_on: ["navbar", "footer"]
44
+
45
+ - name: "Data"
46
+ icon: "fa-solid fa-file-code"
47
+ link: "/data/"
48
+ menu:
49
+ - name: "site.data.base.identity"
50
+ link: "/data/identity"
51
+ - name: "site.data.base.navbar"
52
+ link: "/data/navbar"
53
+ - name: "site.data.base.navbar_absolute"
54
+ link: "/data/navbar_absolute"
55
+ - name: "site.data.base.navbar_component"
56
+ link: "/data/navbar_component"
57
+ visible_on: ["navbar", "footer"]
@@ -0,0 +1,74 @@
1
+ ---
2
+ #
3
+ # site.data.base.navbar_absolute - Control top navigation bar using absolute
4
+ # links for both internal and external resources. Useful when you build the
5
+ # navigation bar for sites other than "www.centos.org" website and you want to
6
+ # keep references to "www.centos.org."
7
+ #
8
+ - name: "Download"
9
+ icon: "fas fa-download"
10
+ link: "https://www.centos.org/download"
11
+ menu: []
12
+ visible_on: ["navbar"]
13
+ - name: "About"
14
+ icon: "fas fa-info-circle"
15
+ link: "#"
16
+ menu:
17
+ - name: "About CentOS"
18
+ link: "https://www.centos.org/about"
19
+ - name: "Frequently Asked Questions (FAQs)"
20
+ link: "https://wiki.centos.org/FAQ"
21
+ - name: "Special Interest Groups (SIGs)"
22
+ link: "https://wiki.centos.org/SpecialInterestGroups"
23
+ - name: "CentOS Variants"
24
+ link: "https://www.centos.org/variants"
25
+ - name: "Governance"
26
+ link: "https://www.centos.org/about/governance"
27
+ visible_on: ["navbar", "footer"]
28
+ - name: "Community"
29
+ icon: "fas fa-users"
30
+ link: "#"
31
+ menu:
32
+ - name: "Contribute"
33
+ link: "https://wiki.centos.org/Contribute"
34
+ icon: "fas fa-hands-helping"
35
+ - name: "Forums"
36
+ link: "https://www.centos.org/forums/"
37
+ icon: "fas fa-comments"
38
+ - name: "Mailing Lists"
39
+ link: "https://wiki.centos.org/GettingHelp/ListInfo"
40
+ icon: "fas fa-envelope"
41
+ - name: "IRC"
42
+ link: "https://wiki.centos.org/irc"
43
+ icon: "fas fa-hashtag"
44
+ - name: "Calendar & IRC Meeting List"
45
+ link: "https://www.centos.org/community/calendar/"
46
+ icon: "fas fa-calendar-alt"
47
+ - name: "Planet"
48
+ link: "http://planet.centos.org/"
49
+ icon: "fas fa-newspaper"
50
+ - name: "Submit Bug"
51
+ link: "https://bugs.centos.org/"
52
+ icon: "fas fa-bug"
53
+ visible_on: ["navbar", "footer"]
54
+ - name: "Documentation"
55
+ icon: "fas fa-book"
56
+ link: "#"
57
+ menu:
58
+ - name: "Wiki"
59
+ link: "https://wiki.centos.org/"
60
+ - name: "Manuals"
61
+ link: "https://docs.centos.org/"
62
+ - name: "GPG Key Info"
63
+ link: "https://www.centos.org/keys"
64
+ visible_on: ["navbar", "footer"]
65
+ - name: "Help"
66
+ icon: "fas fa-life-ring"
67
+ link: "https://wiki.centos.org/Documentation?action=show&redirect=GettingHelp"
68
+ menu: []
69
+ visible_on: ["navbar"]
70
+ - name: "Search"
71
+ icon: "fas fa-search"
72
+ link: "https://www.centos.org/search"
73
+ menu: []
74
+ visible_on: []
@@ -0,0 +1,74 @@
1
+ ---
2
+ #
3
+ # site.data.base.navbar_www - Control top navigation bar using relative links
4
+ # for internal resources and absolute links for external resources. Useful when
5
+ # you need the same site to be browsable on different environments (e.g., www
6
+ # and www.dev).
7
+ #
8
+ - name: "Download"
9
+ icon: "fas fa-download"
10
+ link: "/download"
11
+ menu: []
12
+ visible_on: ["navbar"]
13
+ - name: "About"
14
+ icon: "fas fa-info-circle"
15
+ link: "#"
16
+ menu:
17
+ - name: "About CentOS"
18
+ link: "/about"
19
+ - name: "Frequently Asked Questions (FAQs)"
20
+ link: "https://wiki.centos.org/FAQ"
21
+ - name: "Special Interest Groups (SIGs)"
22
+ link: "https://wiki.centos.org/SpecialInterestGroups"
23
+ - name: "CentOS Variants"
24
+ link: "/variants"
25
+ - name: "Governance"
26
+ link: "/about/governance"
27
+ visible_on: ["navbar", "footer"]
28
+ - name: "Community"
29
+ icon: "fas fa-users"
30
+ link: "#"
31
+ menu:
32
+ - name: "Contribute"
33
+ link: "https://wiki.centos.org/Contribute"
34
+ icon: "fas fa-hands-helping"
35
+ - name: "Forums"
36
+ link: "/forums/"
37
+ icon: "fas fa-comments"
38
+ - name: "Mailing Lists"
39
+ link: "https://wiki.centos.org/GettingHelp/ListInfo"
40
+ icon: "fas fa-envelope"
41
+ - name: "IRC"
42
+ link: "https://wiki.centos.org/irc"
43
+ icon: "fas fa-hashtag"
44
+ - name: "Calendar & IRC Meeting List"
45
+ link: "/community/calendar/"
46
+ icon: "fas fa-calendar-alt"
47
+ - name: "Planet"
48
+ link: "http://planet.centos.org/"
49
+ icon: "fas fa-newspaper"
50
+ - name: "Submit Bug"
51
+ link: "https://bugs.centos.org/"
52
+ icon: "fas fa-bug"
53
+ visible_on: ["navbar", "footer"]
54
+ - name: "Documentation"
55
+ icon: "fas fa-book"
56
+ link: "#"
57
+ menu:
58
+ - name: "Wiki"
59
+ link: "https://wiki.centos.org/"
60
+ - name: "Manuals"
61
+ link: "https://docs.centos.org/"
62
+ - name: "GPG Key Info"
63
+ link: "/keys"
64
+ visible_on: ["navbar", "footer"]
65
+ - name: "Help"
66
+ icon: "fas fa-life-ring"
67
+ link: "https://wiki.centos.org/Documentation?action=show&redirect=GettingHelp"
68
+ menu: []
69
+ visible_on: ["navbar"]
70
+ - name: "Search"
71
+ icon: "fas fa-search"
72
+ link: "/search"
73
+ menu: []
74
+ visible_on: []
@@ -0,0 +1,6 @@
1
+ {% for alert in page.with_announcements -%}
2
+ <div class="alert alert-{{ alert.color | default: 'primary' }} alert-dismissible fade show shadow" role="alert">
3
+ <i class="{{ alert.icon | default: 'fa-solid fa-bullhorn' }}"></i> <strong>{{ alert.title | default: "" }}</strong> {{ alert.content | default: "" }}
4
+ <button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
5
+ </div>
6
+ {% endfor -%}
@@ -0,0 +1,13 @@
1
+ <nav aria-label="breadcrumb">
2
+ <ol class="breadcrumb">
3
+ {% assign crumbs = page.url | remove:'/index.html' | split: '/' %}
4
+ <li class="breadcrumb-item"><a href="{{ site.baseurl }}/">Home</a></li>
5
+ {% for crumb in crumbs offset: 1 %}
6
+ {% if forloop.last %}
7
+ <li class="breadcrumb-item active">{{ page.title }}</li>
8
+ {% else %}
9
+ <li class="breadcrumb-item"><a href="{{ site.baseurl }}{% assign crumb_limit = forloop.index | plus: 1 %}{% for crumb in crumbs limit: crumb_limit %}{{ crumb | append: '/' | replace:'without-plugin/','without-plugins/' }}{% endfor %}">{{ crumb | replace:'-',' ' | remove:'.html' | capitalize }}</a></li>
10
+ {% endif %}
11
+ {% endfor %}
12
+ </ol>
13
+ </nav>
@@ -0,0 +1,61 @@
1
+ {% assign navbar = site.data[site.navbar_data_dirname][site.navbar_data_filename] %}
2
+ <footer class="footer small bg-dark text-light mt-3">
3
+ <div class="container">
4
+ <div class="row bg-primary justify-content-between">
5
+ {% assign sections = navbar | where: "visible_on", "footer" %}
6
+ {% assign columns = sections.size %}
7
+ {% case columns %}
8
+ {% when 1 %}
9
+ {% assign column_width = 12 %}
10
+ {% when 2 %}
11
+ {% assign column_width = 6 %}
12
+ {% when 3 %}
13
+ {% assign column_width = 4 %}
14
+ {% when 4 %}
15
+ {% assign column_width = 3 %}
16
+ {% else %}
17
+ {% assign column_width = 1 %}
18
+ {% endcase %}
19
+ {% for section in sections -%}
20
+ <div class="col-sm-12 col-lg-{{ column_width }} my-3">
21
+ <h6 class="fw-bold"><i class="{{ section.icon }}"></i> {{ section.name }}</h6>
22
+ <ul class="nav flex-column">
23
+ {% for item in section.menu -%}
24
+ <li class="nav-item"><a href="{{ site.baseurl }}{{ item.link }}" class="link-light px-0">{{ item.name }}</a></li>
25
+ {% endfor %}
26
+ </ul>
27
+ </div>
28
+ {% endfor %}
29
+ </div>
30
+
31
+ <div class="row border-top border-secondary border-5">
32
+ <div class="col-sm-12 col-lg-8">
33
+ <h4 class="fw-bold pt-3">{{ site.title }}</h4>
34
+ <p>{{ site.description }}</p>
35
+ </div>
36
+ <div class="col-sm-12 col-lg-4 pt-lg-3 d-flex justify-content-sm-start justify-content-lg-end">
37
+ <ul class="nav list-unstyled">
38
+ {% for item in site.data.base.footer.social -%}
39
+ <li class="nav-item">
40
+ <a class="btn btn-sm fs-5 link-primary" href="{{ item.link }}" role="button" aria-label="{{ item.name }}" data-bs-placement="bottom" data-bs-title="{{ item.name }}"><i class="{{ item.icon }}"></i></a>
41
+ </li>
42
+ {% endfor %}
43
+ </ul>
44
+ </div>
45
+ </div>
46
+
47
+ <div class="row py-3">
48
+ <div class="col">
49
+ <span>Copyright &copy;</span>
50
+ <span id="copyright_year"></span>
51
+ <span>{{ site.data.base.footer.copyright.author }}</span>
52
+ {% for item in site.data.base.footer.copyright.legals -%}
53
+ <span class="border-start ms-2 ps-2">
54
+ <a class="link-light" href="{{ site.baseurl }}{{ item.link }}">{{ item.text }}</a>
55
+ </span>
56
+ {% endfor %}
57
+ </div>
58
+ </div>
59
+
60
+ </div>
61
+ </footer>
@@ -0,0 +1,17 @@
1
+ <head>
2
+ <meta charset="utf-8" />
3
+ <meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no" />
4
+ <title>{{ page.title }}</title>
5
+ <link rel="icon" href="{{ site.baseurl }}/assets/icons/favicon-16.png" sizes="16x16" />
6
+ <link rel="icon" href="{{ site.baseurl }}/assets/icons/favicon-32.png" sizes="32x32" />
7
+ <link rel="icon" href="{{ site.baseurl }}/assets/icons/favicon.svg" sizes="any" />
8
+ <link rel="apple-touch-icon" href="{{ site.baseurl }}/assets/icons/apple-touch-icon.png" sizes="180x180" />
9
+ <link rel="manifest" href="{{ site.baseurl }}/site.webmanifest" />
10
+ <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Montserrat:100,200,300,400,500,600,700,800,900" />
11
+ <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Overpass+Mono:100,200,300,400,500,600,700,800,900" />
12
+ <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css" integrity="sha512-iecdLmaskl7CVkqkXNQ/ZH/XLlvWZOJyj7Yy7tcenmpD1ypASozpmT/E0iPtmFIB46ZmdtAc9eNBvH0H/ZpiBw==" crossorigin="anonymous" referrerpolicy="no-referrer" />
13
+ {% if page.with_datatables == true -%}
14
+ <link rel="stylesheet" href="{{ site.baseurl }}/assets/css/dataTables.bootstrap5.min.css">
15
+ {% endif -%}
16
+ <link rel="stylesheet" href="{{ site.baseurl }}/assets/css/base/stylesheet.min.css" />
17
+ </head>
@@ -0,0 +1,17 @@
1
+ <div class="bg-image bg-dark text-light">
2
+ <div class="container py-5">
3
+ {% if page.with_announcements and page.with_announcements.size > 0 -%}
4
+ <div class="row">
5
+ <div class="col">
6
+ {% include base/announcements.html %}
7
+ </div>
8
+ </div>
9
+ {% endif -%}
10
+ <div class="row my-3 justify-content-center">
11
+ <div class="col-sm-12 col-xl-8">
12
+ <div class="display-4 fw-bold mb-3">{{ page.title }}</div>
13
+ <div class="lead">{{ page.title_lead }}</div>
14
+ </div>
15
+ </div>
16
+ </div>
17
+ </div>
@@ -0,0 +1,32 @@
1
+ {% assign navbar = site.data[site.navbar_data_dirname][site.navbar_data_filename] %}
2
+ <header class="site-header sticky-top">
3
+ <nav class="navbar navbar-expand-lg navbar-dark bg-dark shadow">
4
+ <div class="container">
5
+ <a class="navbar-brand pt-1" href="{{ site.baseurl }}/"><img role="img" src="{{ site.baseurl }}/{{ site.data.base.identity.logo.navbar }}" height="32" alt="{{ site.title }}" />{% if site.manifestation != "" %}<span class="manifestation border-start border-light ps-3 ms-3 py-2 fs-6">{{ site.manifestation }}</span>{% endif %}</a>
6
+ <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarContent" aria-controls="navbarContent" aria-expanded="false" aria-label="Toggle navigation">
7
+ <span class="navbar-toggler-icon"></span>
8
+ </button>
9
+ <div class="collapse navbar-collapse" id="navbarContent">
10
+ <ul class="navbar-nav mr-auto">
11
+ {% assign navitems = navbar | where: "visible_on", "navbar" -%}
12
+ {% for navitem in navitems -%}
13
+ {% if navitem.menu.size == 0 -%}
14
+ <li class="nav-item">
15
+ <a class="nav-link" role="presentation" href="{{ site.baseurl }}{{ navitem.link }}"><i class="{{ navitem.icon }}"></i> {{ navitem.name }}</a>
16
+ </li>
17
+ {% else -%}
18
+ <li class="nav-item dropdown">
19
+ <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown-{{ forloop.index }}" role="button" data-bs-toggle="dropdown" aria-expanded="false"><i class="{{ navitem.icon }}"></i> {{ navitem.name }}</a>
20
+ <ul class="dropdown-menu dropdown-menu-dark shadow" aria-labelledby="navbarDropdown-{{ forloop.index }}">
21
+ {% for dropdownitem in navitem.menu -%}
22
+ <li><a class="dropdown-item" role="presentation" href="{{ site.baseurl }}{{ dropdownitem.link }}">{{ dropdownitem.name }}</a></li>
23
+ {% endfor -%}
24
+ </ul>
25
+ </li>
26
+ {% endif -%}
27
+ {% endfor -%}
28
+ </ul>
29
+ </div>
30
+ </div>
31
+ </nav>
32
+ </header>
@@ -0,0 +1,70 @@
1
+ <!-- JQuery -->
2
+ <script src="{{ site.baseurl }}/assets/js/jquery.min.js"></script>
3
+
4
+ {% if page.with_datatables == true %}
5
+ <!-- DataTables -->
6
+ <script src="{{ site.baseurl }}/assets/js/jquery.dataTables.min.js"></script>
7
+ <script src="{{ site.baseurl }}/assets/js/dataTables.bootstrap5.min.js"></script>
8
+ <script>
9
+ $(document).ready(function () {
10
+ $("#download-mirror").DataTable();
11
+ });
12
+ </script>
13
+ {% endif %}
14
+
15
+ <!-- BackToTop -->
16
+ <script src="{{ site.baseurl }}/assets/js/vanilla-back-to-top.min.js"></script>
17
+ <script>
18
+ addBackToTop({
19
+ diameter: 56,
20
+ backgroundColor: "rgb(32, 7, 53)",
21
+ textColor: "#fff",
22
+ });
23
+ </script>
24
+
25
+ {% if page.with_clipboard == true %}
26
+ <!-- Clipboard.JS -->
27
+ <script src="{{ site.baseurl }}/assets/js/clipboard.min.js"></script>
28
+ <script>
29
+ // Initialize ClipboardJS
30
+ $(".btn-clipboard").on("click", function () {
31
+ let button = $(this);
32
+ var copy_id = $(this).attr("id");
33
+ var clipboard = new ClipboardJS("#" + copy_id);
34
+
35
+ clipboard.on("success", function () {
36
+ const currentLabel = button.html();
37
+ const tooltip = bootstrap.Tooltip.getInstance("#" + copy_id);
38
+ const tooltipLabel = button.attr("data-bs-title");
39
+
40
+ // Exit label update when already in progress
41
+ if (button.html() === '<i class="fa-solid fa-clipboard-check"></i>') {
42
+ return;
43
+ }
44
+
45
+ // Update button label and tooltip
46
+ button.html('<i class="fa-solid fa-clipboard-check"></i>');
47
+ tooltip.setContent({ ".tooltip-inner": "Copied!" });
48
+
49
+ // Revert button label after 2 seconds
50
+ setTimeout(function () {
51
+ button.html(currentLabel);
52
+ tooltip.setContent({ ".tooltip-inner": tooltipLabel });
53
+ }, 2000);
54
+ });
55
+ });
56
+ </script>
57
+ {% endif %}
58
+
59
+ <!-- Copyright Year -->
60
+ <script>
61
+ document.getElementById("copyright_year").innerHTML = new Date().getFullYear();
62
+ </script>
63
+
64
+ <!-- Bootstrap -->
65
+ <script src="{{ site.baseurl }}/assets/js/bootstrap.bundle.min.js"></script>
66
+ <script>
67
+ // Initialize Tooltips
68
+ const tooltipTriggerList = document.querySelectorAll('[data-bs-toggle="tooltip"]');
69
+ const tooltipList = [...tooltipTriggerList].map((tooltipTriggerEl) => new bootstrap.Tooltip(tooltipTriggerEl));
70
+ </script>
@@ -0,0 +1,10 @@
1
+ <div class="accordion" id="pageTocAccordion">
2
+ <div class="accordion-item shadow-sm">
3
+ <div class="accordion-header" id="flush-headingOne">
4
+ <button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#flush-collapseOne" aria-expanded="false" aria-controls="flush-collapseOne"><i class="fa-solid fa-bars"></i> <span class="mx-3">Table of Contents</span></button>
5
+ </div>
6
+ <div id="flush-collapseOne" class="accordion-collapse collapse" aria-labelledby="flush-headingOne" data-bs-parent="#pageTocAccordion">
7
+ <div class="accordion-body">{% include base/toc.html html=content %}</div>
8
+ </div>
9
+ </div>
10
+ </div>
@@ -0,0 +1,99 @@
1
+ {% capture tocWorkspace %}
2
+ {% comment %}
3
+ Version 1.0.10
4
+ https://github.com/allejo/jekyll-toc
5
+
6
+ "...like all things liquid - where there's a will, and ~36 hours to spare, there's usually a/some way" ~jaybe
7
+
8
+ Usage:
9
+ {% include toc.html html=content sanitize=true class="inline_toc" id="my_toc" h_min=2 h_max=3 %}
10
+
11
+ Parameters:
12
+ * html (string) - the HTML of compiled markdown generated by kramdown in Jekyll
13
+
14
+ Optional Parameters:
15
+ * sanitize (bool) : false - when set to true, the headers will be stripped of any HTML in the TOC
16
+ * class (string) : '' - a CSS class assigned to the TOC
17
+ * id (string) : '' - an ID to assigned to the TOC
18
+ * h_min (int) : 1 - the minimum TOC header level to use; any header lower than this value will be ignored
19
+ * h_max (int) : 6 - the maximum TOC header level to use; any header greater than this value will be ignored
20
+ * ordered (bool) : false - when set to true, an ordered list will be outputted instead of an unordered list
21
+ * item_class (string) : '' - add custom class(es) for each list item; has support for '%level%' placeholder, which is the current heading level
22
+ * baseurl (string) : '' - add a base url to the TOC links for when your TOC is on another page than the actual content
23
+ * anchor_class (string) : '' - add custom class(es) for each anchor element
24
+
25
+ Output:
26
+ An ordered or unordered list representing the table of contents of a markdown block. This snippet will only
27
+ generate the table of contents and will NOT output the markdown given to it
28
+ {% endcomment %}
29
+
30
+ {% capture my_toc %}{% endcapture %}
31
+ {% assign orderedList = include.ordered | default: false %}
32
+ {% assign minHeader = include.h_min | default: 1 %}
33
+ {% assign maxHeader = include.h_max | default: 6 %}
34
+ {% assign nodes = include.html | split: '<h' %}
35
+ {% assign firstHeader = true %}
36
+
37
+ {% capture listModifier %}{% if orderedList %}1.{% else %}-{% endif %}{% endcapture %}
38
+
39
+ {% for node in nodes %}
40
+ {% if node == "" %}
41
+ {% continue %}
42
+ {% endif %}
43
+
44
+ {% assign headerLevel = node | replace: '"', '' | slice: 0, 1 | times: 1 %}
45
+
46
+ {% if headerLevel < minHeader or headerLevel > maxHeader %}
47
+ {% continue %}
48
+ {% endif %}
49
+
50
+ {% if firstHeader %}
51
+ {% assign firstHeader = false %}
52
+ {% assign minHeader = headerLevel %}
53
+ {% endif %}
54
+
55
+ {% assign indentAmount = headerLevel | minus: minHeader %}
56
+ {% assign _workspace = node | split: '</h' %}
57
+
58
+ {% assign _idWorkspace = _workspace[0] | split: 'id="' %}
59
+ {% assign _idWorkspace = _idWorkspace[1] | split: '"' %}
60
+ {% assign html_id = _idWorkspace[0] %}
61
+
62
+ {% assign _classWorkspace = _workspace[0] | split: 'class="' %}
63
+ {% assign _classWorkspace = _classWorkspace[1] | split: '"' %}
64
+ {% assign html_class = _classWorkspace[0] %}
65
+
66
+ {% if html_class contains "no_toc" %}
67
+ {% continue %}
68
+ {% endif %}
69
+
70
+ {% capture _hAttrToStrip %}{{ _workspace[0] | split: '>' | first }}>{% endcapture %}
71
+ {% assign header = _workspace[0] | replace: _hAttrToStrip, '' %}
72
+
73
+ {% assign space = '' %}
74
+ {% for i in (1..indentAmount) %}
75
+ {% assign space = space | prepend: ' ' %}
76
+ {% endfor %}
77
+
78
+ {% if include.item_class and include.item_class != blank %}
79
+ {% capture listItemClass %}{:.{{ include.item_class | replace: '%level%', headerLevel }}}{% endcapture %}
80
+ {% endif %}
81
+
82
+ {% capture heading_body %}{% if include.sanitize %}{{ header | strip_html }}{% else %}{{ header }}{% endif %}{% endcapture %}
83
+ {% capture my_toc %}{{ my_toc }}
84
+ {{ space }}{{ listModifier }} {{ listItemClass }} [{{ heading_body | replace: "|", "\|" }}]({% if include.baseurl %}{{ include.baseurl }}{% endif %}#{{ html_id }}){% if include.anchor_class %}{:.{{ include.anchor_class }}}{% endif %}{% endcapture %}
85
+ {% endfor %}
86
+
87
+ {% if include.class and include.class != blank %}
88
+ {% capture my_toc %}{:.{{ include.class }}}
89
+ {{ my_toc | lstrip }}{% endcapture %}
90
+ {% endif %}
91
+
92
+ {% if include.id %}
93
+ {% capture my_toc %}{: #{{ include.id }}}
94
+ {{ my_toc | lstrip }}{% endcapture %}
95
+ {% endif %}{% endcapture %}
96
+
97
+ {% if my_toc != "" %}
98
+ {% assign tocWorkspace = '' %}{{ my_toc | markdownify | strip }}
99
+ {% endif %}
@@ -0,0 +1,31 @@
1
+ <!DOCTYPE html>
2
+ <html lang="{{ page.lang | default: 'en' }}">
3
+ {% include base/head.html title=page.title -%}
4
+
5
+ <body id="top">
6
+ {% include base/navbar.html -%}
7
+ <main>
8
+ {% include base/header.html -%}
9
+ <div class="container py-5">
10
+ {% if page.with_breadcrumbs %}
11
+ <div class="row justify-content-center">
12
+ <div class="col-sm-12 col-xl-8">
13
+ {% include base/breadcrumbs.html %}
14
+ </div>
15
+ </div>
16
+ {% endif %}
17
+ {% if page.with_toc %}
18
+ <div class="row my-3 justify-content-center">
19
+ <div class="col-sm-12 col-xl-8">{% include base/toc-accordion.html %}</div>
20
+ </div>
21
+ {% endif %}
22
+ <div class="row my-5 justify-content-center">
23
+ <div class="col-sm-12 col-xl-8">{{ content }}</div>
24
+ </div>
25
+ </div>
26
+ </main>
27
+
28
+ {% include base/footer.html %}
29
+ {% include base/script.html %}
30
+ </body>
31
+ </html>