jekyll-theme-zer0 0.2.0 → 0.4.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 (56) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +56 -0
  3. data/README.md +455 -417
  4. data/_data/navigation/about.yml +2 -0
  5. data/_data/navigation/main.yml +17 -11
  6. data/_data/navigation/quickstart.yml +12 -0
  7. data/_includes/README.md +97 -0
  8. data/_includes/{info-section.html → components/info-section.html} +4 -4
  9. data/_includes/components/mermaid.html +101 -0
  10. data/_includes/content/giscus.html +60 -0
  11. data/_includes/content/intro.html +66 -0
  12. data/_includes/{sitemap.html → content/sitemap.html} +1 -1
  13. data/_includes/{toc.html → content/toc.html} +1 -1
  14. data/_includes/{branding.html → core/branding.html} +2 -2
  15. data/_includes/core/footer.html +167 -0
  16. data/_includes/core/head.html +163 -0
  17. data/_includes/core/header.html +125 -0
  18. data/_includes/landing/landing-install-cards.html +52 -0
  19. data/_includes/landing/landing-quick-links.html +28 -0
  20. data/_includes/navigation/navbar.html +96 -0
  21. data/_includes/navigation/sidebar-left.html +83 -0
  22. data/_includes/{sidebar-right.html → navigation/sidebar-right.html} +3 -10
  23. data/_layouts/README.md +8 -0
  24. data/_layouts/blog.html +2 -2
  25. data/_layouts/default.html +3 -3
  26. data/_layouts/journals.html +9 -80
  27. data/_layouts/landing.html +122 -45
  28. data/_layouts/root.html +6 -8
  29. data/assets/js/back-to-top.js +16 -19
  30. metadata +44 -69
  31. data/_includes/footer.html +0 -57
  32. data/_includes/giscus.html +0 -16
  33. data/_includes/head.html +0 -95
  34. data/_includes/header.html +0 -79
  35. data/_includes/intro.html +0 -68
  36. data/_includes/navbar.html +0 -34
  37. data/_includes/sidebar-left.html +0 -41
  38. data/_includes/toc +0 -7
  39. data/_layouts/javascript.html +0 -63
  40. /data/_includes/{google-analytics.html → analytics/google-analytics.html} +0 -0
  41. /data/_includes/{google-tag-manager-body.html → analytics/google-tag-manager-body.html} +0 -0
  42. /data/_includes/{google-tag-manager-head.html → analytics/google-tag-manager-head.html} +0 -0
  43. /data/_includes/{dev-shortcuts.html → components/dev-shortcuts.html} +0 -0
  44. /data/_includes/{halfmoon.html → components/halfmoon.html} +0 -0
  45. /data/_includes/{js-cdn.html → components/js-cdn.html} +0 -0
  46. /data/_includes/{powered-by.html → components/powered-by.html} +0 -0
  47. /data/_includes/{quick-index.html → components/quick-index.html} +0 -0
  48. /data/_includes/{searchbar.html → components/searchbar.html} +0 -0
  49. /data/_includes/{svg.html → components/svg.html} +0 -0
  50. /data/_includes/{zer0-env-var.html → components/zer0-env-var.html} +0 -0
  51. /data/_includes/{seo.html → content/seo.html} +0 -0
  52. /data/_includes/{style.html → docs/bootstrap-docs.html} +0 -0
  53. /data/_includes/{breadcrumbs.html → navigation/breadcrumbs.html} +0 -0
  54. /data/_includes/{nav_list.html → navigation/nav_list.html} +0 -0
  55. /data/_includes/{sidebar-categories.html → navigation/sidebar-categories.html} +0 -0
  56. /data/_includes/{sidebar-folders.html → navigation/sidebar-folders.html} +0 -0
data/_includes/head.html DELETED
@@ -1,95 +0,0 @@
1
- <!--
2
- file: head.html
3
- path: includes/head.html
4
- includes: seo.html, google-analytics.html
5
- description: Head section of the HTML document
6
-
7
- -->
8
-
9
- <!-- Google Tag Manager - Head -->
10
-
11
- {% include google-tag-manager-head.html %}
12
-
13
- <!-- Custom JS Scripts -->
14
- <script src="{{ '/assets/js/myScript.js' | relative_url }}"></script>
15
- <script src="{{ '/assets/js/auto-hide-nav.js' | relative_url }}"></script>
16
- <script src="{{ '/assets/js/back-to-top.js' | relative_url }}"></script>
17
- <script src="{{ '/assets/js/halfmoon.js' | relative_url }}"></script>
18
- <script src="{{ '/assets/js/side-bar-folders.js' | relative_url }}"></script>
19
- <script src="{{ '/assets/js/code-copy.js' | relative_url }}"></script>
20
-
21
- <!-- third party scripts -->
22
-
23
- <!-- mermaid script -->
24
- <!-- <script src="https://cdn.jsdelivr.net/npm/mermaid@8/dist/mermaid.min.js"></script>
25
- <script >mermaid.initialize({ startOnLoad: true });</script> -->
26
-
27
- <!-- Nano Bar -->
28
- <script src="{{'/assets/js/nanobar.min.js' | relative_url }}"></script>
29
-
30
- <!-- add dummy progress bar -->
31
- <script>
32
- var options = {
33
- classname: 'nanobar',
34
- id: 'top-progress-bar'
35
- };
36
- var nanobar = new Nanobar(options);
37
- nanobar.go( 30 );
38
- nanobar.go( 76 );
39
- nanobar.go(100);
40
- </script>
41
-
42
- <!-- MathJax for LaTex -->
43
- <script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
44
-
45
- <!-- Meta -->
46
- <meta charset="utf-8">
47
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
48
- <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
49
-
50
- <!-- includes/seo.html -->
51
- {% include seo.html %}
52
-
53
- <!-- SEO https://analytics.google.com/ -->
54
-
55
- <!-- Meta data attributes -->
56
- {% if page.title %}
57
- <meta itemprop="headline" content="{{ page.title | markdownify | strip_html | strip_newlines | escape_once }}">
58
- {% endif %}
59
- {% if page.description %}
60
- <meta itemprop="description" content="{{ page.description | markdownify | strip_html | strip_newlines | escape_once }}">
61
- {% elsif page.excerpt %}
62
- <meta itemprop="description" content="{{ page.excerpt | markdownify | strip_html | strip_newlines | escape_once}} ">
63
- {% endif %}
64
- {% if page.date %}
65
- <meta itemprop="datePublished" content="{{ page.date | date_to_xmlschema }}">
66
- {% endif %}
67
- {% if page.last_modified_at %}
68
- <meta itemprop="dateModified" content="{{ page.lastmod | date_to_xmlschema }}">
69
- {% endif %}
70
-
71
- <!-- Google Analytics -->
72
- {% include google-analytics.html %}
73
-
74
-
75
- <!-- Styles -->
76
-
77
- <!-- CDN Styles -->
78
- <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">
79
-
80
- <!-- Local Install -->
81
- <!-- <script src="/assets/js/bootstrap.js"></script> -->
82
-
83
- <!-- Tailwind CDN -->
84
- <!-- TODO: Add tailwind -->
85
- <!-- <script src="https://cdn.tailwindcss.com"></script> -->
86
-
87
- <!-- Bootstrap Icons -->
88
- <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.3/font/bootstrap-icons.css">
89
-
90
- <!-- Custom Styles -->
91
- <link rel="stylesheet" href="{{ '/assets/css/main.css' | relative_url }}">
92
- <!-- Custom CSS -->
93
- <link rel="stylesheet" href="{{'/assets/css/custom.css' | relative_url }}">
94
- <!-- TODO: Replace this css with a compiled sass. currently, when docs.scss is compiled to main.css, the scroll spy doesn't work -->
95
- <!-- <link rel="stylesheet" href="/assets/css/docs.css"> -->
@@ -1,79 +0,0 @@
1
- <!--
2
- file: header.html
3
- path: /_includes/header.html
4
- includes: branding.html, navbar.html, info-bar.html, halfmoon.html
5
- TODO: Fix Nanobar progress bar
6
- -->
7
-
8
- <header id="navbar" class="container-fluid text-center z-1" role="navigation">
9
-
10
- <!-- Top Navigation Bar -->
11
- <div class="navbar navbar-expand-lg bg-body-tertiary flex-nowrap justify-content-center bottom-shadow">
12
-
13
- <div class="nanobar" id="top-progress-bar" style="position: fixed;">
14
- <div class="bar"></div>
15
- </div>
16
- <!-- Main Navbar -->
17
- <nav class=" container-xl order-2 order-lg-1 grid gap-1">
18
-
19
- <!-- Offcanvas button for left side bar in mobile view -->
20
- <div class="bd-navbar-toggle ">
21
- <button class="navbar-toggler p-2"
22
- type="button"
23
- data-bs-toggle="offcanvas"
24
- data-bs-target="#bdSidebar"
25
- aria-controls="bdSidebar"
26
- aria-label="Toggle navigation">
27
- <span class="bi bi-list"></span>
28
- </button>
29
- </div>
30
-
31
- <!-- Home and Root Logo -->
32
- <div class="container d-inline-flex text-center ">
33
- <!-- Home Link -->
34
- {%- for home in site.data.navigation.home -%}
35
- <a class="btn " href="{{ home.url | relative_url }}">
36
- <i class="{{ site.default_icon}} {{ home.icon }}" ></i>
37
- </a>
38
- {% endfor %}
39
- <!-- Brand Logo to root -->
40
- <!-- set the URL for the logo image in the _config file -->
41
- {% capture logo_path %}{{ site.logo }}{% endcapture %}
42
- <a class="navbar-brand" href="{{ site.baseurl }}/">
43
- <img src="{{ logo_path | relative_url }}" alt="Logo" width="30" height="30">
44
- </a>
45
- </div>
46
- <!-- include branding.html -->
47
- {% include branding.html %}
48
-
49
- <!-- include navbar.html -->
50
- {% include navbar.html %}
51
-
52
- <!-- Settings modal button -->
53
- <div
54
- class="btn"
55
- data-bs-toggle="modal"
56
- data-bs-target="#info-section"
57
- aria-expanded="false"
58
- aria-controls="#info-section"
59
- role="button" >
60
- <i
61
- type="button"
62
- class="{{site.default_icon}} bi-gear">
63
- </i>
64
- </div>
65
-
66
- <!-- Offcanvas button for nav links -->
67
- <div class="bd-navbar-toggle ">
68
- <button class="navbar-toggler p-2"
69
- type="button"
70
- data-bs-toggle="offcanvas"
71
- data-bs-target="#bdNavbar"
72
- aria-controls="bdNavbar"
73
- aria-label="Toggle navigation">
74
- <span class="bi bi-three-dots"></span>
75
- </button>
76
- </div>
77
- </nav>
78
- </div>
79
- </header>
data/_includes/intro.html DELETED
@@ -1,68 +0,0 @@
1
- <!--
2
- file: _intro.html
3
- description: This is the intro section of the blog post. It includes the title, author, and excerpt of the post.
4
- path: _includes/intro.html
5
- -->
6
-
7
- {% if page.collection %}
8
- {% capture page_dir %}{{ site.collections_dir }}{% endcapture %}
9
- {% assign testvar = "collection exists" %}
10
- {% endif %}
11
-
12
- <!-- Intro Section -->
13
-
14
- <div class="bd-intro pt-5 ps-lg-2 position-relative" style="
15
- background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url('{{site.baseurl}}/{{ site.public_folder }}/{{ page.preview | default: site.info_banner }}') no-repeat center center / cover;
16
- color: #fff;">
17
-
18
- <!-- Share Icon with Dropdown for Multiple Sharing Options -->
19
- <div class="position-absolute top-0 end-0 m-3">
20
- <div class="dropdown">
21
- <button class="btn btn-info dropdown-toggle" type="button" id="shareDropdown" data-bs-toggle="dropdown" aria-expanded="false">
22
- <i class="bi bi-share"></i>
23
- </button>
24
- <ul class="dropdown-menu" aria-labelledby="shareDropdown">
25
- <li>
26
- <a class="dropdown-item" href="https://reddit.com/submit?url={{ page.url | absolute_url | url_encode }}&amp;title={{ page.title | url_encode }}" target="_blank">
27
- Share on Reddit
28
- </a>
29
- </li>
30
- <li>
31
- <script src="https://platform.linkedin.com/in.js" type="text/javascript">lang: en_US</script>
32
- <script type="IN/Share" data-url="{{ page.url | absolute_url | url_encode }}"></script>
33
- </li>
34
- <li>
35
- <button class="dropdown-item" onclick='navigator.clipboard.writeText("{{ page.url | absolute_url }}");'>
36
- Copy Link
37
- </button>
38
- </li>
39
- </ul>
40
- </div>
41
- </div>
42
-
43
-
44
- <script>
45
- document.addEventListener('DOMContentLoaded', function () {
46
- var popoverTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="popover"]'));
47
- var popoverList = popoverTriggerList.map(function (popoverTriggerEl) {
48
- return new bootstrap.Popover(popoverTriggerEl);
49
- });
50
-
51
- // Optional: Check if the clipboard API is supported
52
- if (!navigator.clipboard) {
53
- console.warn('Clipboard API not supported');
54
- }
55
- });
56
- </script>
57
-
58
- <br>
59
- <h1>{{ page.title }}</h1>
60
- <p>By {{ page.author | default: site.author.name }}</p>
61
- <p>{{ page.description }}</p>
62
- <p>Estimated reading time: {{ content | number_of_words | divided_by:200 }} minutes</p>
63
- <!-- Edit on Github Button -->
64
- <a href="https://github.com/{{ site.repository }}/blob/master/{{ page_dir }}/{{ page.path }}" class="btn btn-dark position-absolute bottom-0 end-0 m-3">
65
- <i class="bi bi-github"></i>
66
- <span class="d-none d-sm-inline">Edit on Github</span>
67
- </a>
68
- </div>
@@ -1,34 +0,0 @@
1
- <!--
2
- file: navbar.html
3
- path: /includes/navbar.html
4
- includes:
5
- -->
6
-
7
- <!-- Navigation Links - Offcanvas -->
8
- <div class="offcanvas offcanvas-end col-lg-2" tabindex="-1" id="bdNavbar" aria-labelledby="bdNavbar">
9
-
10
- <!-- Main Navigation Header - Offcanvas -->
11
- <div class="offcanvas-header border-bottom">
12
- <h5 class="offcanvas-title" id="mainNavOffcanvasLabel">Main Navigation</h5>
13
- <button type="button" class="btn-close" data-bs-dismiss="offcanvas" aria-label="Close" data-bs-target="#bdNavbar"></button>
14
- </div>
15
-
16
- <!-- Main Navigation List - Offcanvas -->
17
- <ul class="navbar-nav offcanvas-body justify-content-lg-center text-start" >
18
- {%- for link in site.data.navigation.main -%}
19
- <div class="btn-group">
20
- <a href="{{ link.url | relative_url }}" class=" nav-link">{{ link.title }}</a>
21
- {% if link.sublinks %}
22
- <button type="button" class="nav-link dropdown-toggle dropdown-toggle-split" data-bs-toggle="dropdown" aria-expanded="false">
23
- <span class="visually-hidden">Toggle Dropdown</span>
24
- </button>
25
- <div class="dropdown-menu" aria-labelledby="navbarDropdown">
26
- {%- for sublink in link.sublinks -%}
27
- <a class="dropdown-item" href="{{ sublink.url | relative_url }}">{{ sublink.title }}</a>
28
- {%- endfor -%}
29
- </div>
30
- {% endif %}
31
- </div>
32
- {% endfor %}
33
- </ul>
34
- </div>
@@ -1,41 +0,0 @@
1
- <!--
2
- file: sidebar.html
3
- path: _includes/sidebar.html
4
- includes: nav_list.html
5
- -->
6
-
7
- <!-- Sidebar Left Navigation - Offcanvas -->
8
- <div class="offcanvas-lg offcanvas-start" tabindex="-1" id="bdSidebar" aria-labelledby="bdSidebarOffcanvasLabel">
9
-
10
- <!-- Sidebar Header - Offcanvas -->
11
- <div class="offcanvas-header border-bottom">
12
- <h5 class="offcanvas-title" id="bdSidebarOffcanvasLabel">Browse docs</h5>
13
- <button type="button" class="btn-close" data-bs-dismiss="offcanvas" aria-label="Close" data-bs-target="#bdSidebar"></button>
14
- </div>
15
-
16
- <!-- Left Sidebar Nav List - Offcanvas -->
17
- <div class="offcanvas-body overflow-auto">
18
-
19
- <!-- Dynamic listing of pages in side bar -->
20
-
21
- {% if page.sidebar.nav == "dynamic" %}
22
- <div class="list-group" id="sidebar-content">
23
- {% assign folders = site.pages | where_exp: "item", "item.path contains 'index.md'" | sort: 'path' %}
24
- {% include sidebar-folders.html folders=folders %}
25
- </div>
26
-
27
- <!-- Dynamic listing of page categories in side bar -->
28
- {% elsif page.sidebar.nav == "searchCats" %}
29
- <div class="list-group" id="sidebar-content">
30
- {% assign categories = site.categories | sort %}
31
- {% include sidebar-categories.html categories=categories %}
32
-
33
- <!-- Manually defined navigation list in _data -->
34
- {% elsif page.sidebar.nav %}
35
- <!-- Includes nav_list.html -->
36
- <nav class="w-100">
37
- {% include nav_list.html nav=page.sidebar.nav %}
38
- </nav>
39
- </div>
40
- {% endif %}
41
- </div>
data/_includes/toc DELETED
@@ -1,7 +0,0 @@
1
- <aside class="sidebar__right">
2
- <nav class="toc" markdown="1">
3
- <header><h4 class="nav__title"><i class="fas fa-{{ include.icon | default: 'file-alt' }}"></i> {{ include.title | default: site.data.ui-text[site.locale].toc_label }}</h4></header>
4
- * Auto generated table of contents
5
- {:toc .toc__menu}
6
- </nav>
7
- </aside>
@@ -1,63 +0,0 @@
1
- ---
2
- layout: default
3
- ---
4
- <!--
5
- ===================================================================
6
- JAVASCRIPT LAYOUT - Template for JavaScript demonstration pages
7
- ===================================================================
8
-
9
- File: javascript.html
10
- Path: _layouts/javascript.html
11
- Inherits: default.html (which inherits root.html)
12
- Purpose: Specialized layout for JavaScript tutorials and demos
13
-
14
- Template Logic:
15
- - Provides a simple template for JavaScript demonstration pages
16
- - Includes basic HTML structure for interactive elements
17
- - Demonstrates client-side scripting integration
18
- - Can be extended for JavaScript tutorials and examples
19
-
20
- Current Demo:
21
- - Simple paragraph manipulation example
22
- - Button click event handling
23
- - DOM element selection and modification
24
-
25
- Usage:
26
- - JavaScript tutorials and learning content
27
- - Interactive code demonstrations
28
- - Client-side scripting examples
29
- - Educational programming content
30
-
31
- Extension Ideas:
32
- - Add syntax highlighting for code examples
33
- - Include interactive code playgrounds
34
- - Implement live code editing features
35
- - Add step-by-step JavaScript tutorials
36
-
37
- Dependencies:
38
- - Assumes myFunction() is defined in included JavaScript
39
- - Requires proper JavaScript include in head or footer
40
- - May need additional CSS for styling interactive elements
41
- ===================================================================
42
- -->
43
-
44
- <!-- ================================ -->
45
- <!-- JAVASCRIPT DEMO SECTION -->
46
- <!-- ================================ -->
47
- <h2>Demo JavaScript in Head</h2>
48
-
49
- <!-- ========================== -->
50
- <!-- INTERACTIVE DEMO ELEMENTS -->
51
- <!-- ========================== -->
52
- <!-- Example paragraph that will be modified by JavaScript -->
53
- <p id="demo">A Paragraph</p>
54
-
55
- <!-- Interactive button to trigger JavaScript function -->
56
- <!-- Note: Requires myFunction() to be defined in JavaScript includes -->
57
- <button type="button" onclick="myFunction()">Try it</button>
58
-
59
- <!-- ========================== -->
60
- <!-- ADDITIONAL CONTENT AREA -->
61
- <!-- ========================== -->
62
- <!-- Space for additional JavaScript demos, tutorials, or explanations -->
63
- {{ content }}
File without changes
File without changes
File without changes
File without changes