jekyll-theme-centos 2.2.18 → 2.2.19

Sign up to get free protection for your applications and to get access to all the features.
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>