docula 0.41.1 → 0.50.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 (49) hide show
  1. package/README.md +110 -0
  2. package/dist/docula.d.ts +19 -1
  3. package/dist/docula.js +559 -126
  4. package/package.json +6 -2
  5. package/{template → templates/classic}/css/base.css +10 -0
  6. package/{template → templates/classic}/css/multipage.css +7 -0
  7. package/{template → templates/classic}/docs.hbs +1 -1
  8. package/{template/index.hbs → templates/classic/home.hbs} +7 -1
  9. package/templates/classic/includes/multipage/api-reference.hbs +1 -0
  10. package/templates/classic/includes/multipage/documentation.hbs +1 -0
  11. package/{template → templates/classic}/includes/multipage/hero.hbs +1 -2
  12. package/{template → templates/classic}/includes/multipage/home.hbs +3 -3
  13. package/{template → templates/classic}/includes/singlepage/content.hbs +3 -3
  14. package/templates/modern/api.hbs +30 -0
  15. package/templates/modern/changelog-entry.hbs +36 -0
  16. package/templates/modern/changelog.hbs +38 -0
  17. package/templates/modern/css/highlight/highlight.min.js +1433 -0
  18. package/templates/modern/css/highlight/styles/base16/docula.css +123 -0
  19. package/templates/modern/css/home.css +96 -0
  20. package/templates/modern/css/styles.css +697 -0
  21. package/templates/modern/docs.hbs +30 -0
  22. package/templates/modern/home.hbs +51 -0
  23. package/templates/modern/includes/api-reference.hbs +1 -0
  24. package/templates/modern/includes/doc.hbs +18 -0
  25. package/templates/modern/includes/documentation.hbs +1 -0
  26. package/templates/modern/includes/footer.hbs +6 -0
  27. package/templates/modern/includes/header-bar.hbs +57 -0
  28. package/templates/modern/includes/header.hbs +15 -0
  29. package/templates/modern/includes/hero.hbs +11 -0
  30. package/templates/modern/includes/home.hbs +46 -0
  31. package/templates/modern/includes/scripts.hbs +161 -0
  32. package/templates/modern/includes/sidebar.hbs +22 -0
  33. package/templates/modern/includes/theme-toggle.hbs +5 -0
  34. package/template/releases.hbs +0 -86
  35. /package/{template → templates/classic}/api.hbs +0 -0
  36. /package/{template → templates/classic}/changelog-entry.hbs +0 -0
  37. /package/{template → templates/classic}/changelog.hbs +0 -0
  38. /package/{template → templates/classic}/css/highlight/highlight.min.js +0 -0
  39. /package/{template → templates/classic}/css/highlight/styles/base16/dracula.min.css +0 -0
  40. /package/{template → templates/classic}/css/landing.css +0 -0
  41. /package/{template → templates/classic}/css/singlepage.css +0 -0
  42. /package/{template → templates/classic}/includes/footer.hbs +0 -0
  43. /package/{template → templates/classic}/includes/header.hbs +0 -0
  44. /package/{template → templates/classic}/includes/multipage/doc.hbs +0 -0
  45. /package/{template → templates/classic}/includes/multipage/header.hbs +0 -0
  46. /package/{template → templates/classic}/includes/multipage/scripts.hbs +0 -0
  47. /package/{template → templates/classic}/includes/multipage/sidebar.hbs +0 -0
  48. /package/{template → templates/classic}/includes/scripts.hbs +0 -0
  49. /package/{template → templates/classic}/includes/singlepage/hero.hbs +0 -0
@@ -0,0 +1,51 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+
4
+ <head>
5
+ {{> header }}
6
+ <link rel="stylesheet" href="/css/home.css">
7
+ <title>{{ siteTitle }}</title>
8
+ </head>
9
+
10
+ <body>
11
+ <a href="https://github.com/{{ githubPath }}" class="github-corner" aria-label="View source on GitHub">
12
+ <svg width="80" height="80" viewBox="0 0 250 250" aria-hidden="true">
13
+ <path d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"></path>
14
+ <path
15
+ d="M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2"
16
+ fill="currentColor" style="transform-origin: 130px 106px;" class="octo-arm"></path>
17
+ <path
18
+ d="M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z"
19
+ fill="currentColor" class="octo-body"></path>
20
+ </svg>
21
+ </a>
22
+
23
+ {{#if content}}
24
+ <header class="home-hero">
25
+ <img src="/logo.svg" alt="logo" />
26
+ {{#if announcement}}
27
+ <div class="announcement">{{{announcement}}}</div>
28
+ {{/if}}
29
+ </header>
30
+ <div class="home-content">{{{content}}}</div>
31
+ {{> home }}
32
+ {{else}}
33
+ <main class="home">
34
+ {{> hero }}
35
+ <div class="home-actions">
36
+ {{> documentation }}
37
+ {{#if hasApi}}
38
+ {{> api-reference }}
39
+ {{/if}}
40
+ </div>
41
+ {{> home }}
42
+ </main>
43
+ {{/if}}
44
+
45
+ {{> theme-toggle fixed=true }}
46
+
47
+ {{> footer }}
48
+ {{> scripts }}
49
+ </body>
50
+
51
+ </html>
@@ -0,0 +1 @@
1
+ <a href="/api" class="home-docs-button">API Reference</a>
@@ -0,0 +1,18 @@
1
+ <article class="article">
2
+ <header class="article__header">
3
+ <h1 class="article__title">{{title}}</h1>
4
+ {{#if description}}
5
+ <p class="article__description">{{description}}</p>
6
+ {{/if}}
7
+ </header>
8
+ <div class="article__body">
9
+ <main class="article__main">
10
+ {{{generatedHtml}}}
11
+ </main>
12
+ <aside class="content-aside">
13
+ <h2 class="content-aside__title">TABLE OF CONTENTS</h2>
14
+ <ul class="content-aside__list" id="toc-list">
15
+ </ul>
16
+ </aside>
17
+ </div>
18
+ </article>
@@ -0,0 +1 @@
1
+ <a href="/docs" class="home-docs-button">Documentation</a>
@@ -0,0 +1,6 @@
1
+ <footer>
2
+ Powered by
3
+ <a href="https://docula.org/" target="_blank" rel="noopener noreferrer">
4
+ <img src="https://docula.org/logo_horizontal.png" alt="docula logo" width="140" height="30" />
5
+ </a>
6
+ </footer>
@@ -0,0 +1,57 @@
1
+ <header class="header">
2
+ <div class="header-top">
3
+ <div class="header-top__content">
4
+ <button class="mobile-menu-toggle" id="mobile-menu-toggle" aria-label="Toggle navigation menu">
5
+ <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="4" x2="20" y1="12" y2="12"/><line x1="4" x2="20" y1="6" y2="6"/><line x1="4" x2="20" y1="18" y2="18"/></svg>
6
+ </button>
7
+ <a href="/">
8
+ <img alt="{{siteTitle}}" class="logo__img" src="/logo.svg">
9
+ </a>
10
+ <nav class="header-bottom__nav">
11
+ {{#if hasDocuments}}
12
+ <a class="header-bottom__item" href="/docs/" id="nav-guides">
13
+ <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 7v14"/><path d="M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z"/></svg>
14
+ <span>Guides</span>
15
+ </a>
16
+ {{/if}}
17
+ {{#if openApiUrl}}
18
+ <a class="header-bottom__item" href="/api" id="nav-api">
19
+ <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m16 18 6-6-6-6"/><path d="m8 6-6 6 6 6"/></svg>
20
+ <span>API Reference</span>
21
+ </a>
22
+ {{/if}}
23
+ {{#if hasChangelog}}
24
+ <a class="header-bottom__item" href="/changelog" id="nav-changelog">
25
+ <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M11 6a13 13 0 0 0 8.4-2.8A1 1 0 0 1 21 4v12a1 1 0 0 1-1.6.8A13 13 0 0 0 11 14H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2z"/><path d="M6 14a12 12 0 0 0 2.4 7.2 2 2 0 0 0 3.2-2.4A8 8 0 0 1 10 14"/><path d="M8 6v8"/></svg>
26
+ <span>Changelog</span>
27
+ </a>
28
+ {{/if}}
29
+ </nav>
30
+ {{> theme-toggle }}
31
+ </div>
32
+ </div>
33
+ </header>
34
+ <aside class="mobile-sidebar" id="mobile-sidebar">
35
+ <nav class="mobile-nav">
36
+ {{#if hasDocuments}}
37
+ <a class="mobile-nav__item" href="/docs/">
38
+ <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 7v14"/><path d="M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z"/></svg>
39
+ <span>Guides</span>
40
+ </a>
41
+ {{/if}}
42
+ {{#if openApiUrl}}
43
+ <a class="mobile-nav__item" href="/api">
44
+ <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m16 18 6-6-6-6"/><path d="m8 6-6 6 6 6"/></svg>
45
+ <span>API Reference</span>
46
+ </a>
47
+ {{/if}}
48
+ {{#if hasChangelog}}
49
+ <a class="mobile-nav__item" href="/changelog">
50
+ <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M11 6a13 13 0 0 0 8.4-2.8A1 1 0 0 1 21 4v12a1 1 0 0 1-1.6.8A13 13 0 0 0 11 14H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2z"/><path d="M6 14a12 12 0 0 0 2.4 7.2 2 2 0 0 0 3.2-2.4A8 8 0 0 1 10 14"/><path d="M8 6v8"/></svg>
51
+ <span>Changelog</span>
52
+ </a>
53
+ {{/if}}
54
+ </nav>
55
+ <div class="mobile-sidebar__docs" id="mobile-sidebar-docs"></div>
56
+ </aside>
57
+ <div class="sidebar-backdrop" id="sidebar-backdrop"></div>
@@ -0,0 +1,15 @@
1
+ <meta charset="UTF-8">
2
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
3
+ <meta name="description" content="{{siteDescription}}">
4
+ <link rel="stylesheet" href="/css/styles.css">
5
+ <link rel="stylesheet" href="/css/highlight/styles/base16/docula.css">
6
+ <link rel="icon" href="/favicon.ico">
7
+ <script>
8
+ (function(){
9
+ var mode = localStorage.getItem('theme') || 'auto';
10
+ var resolved = mode === 'auto'
11
+ ? (window.matchMedia('(prefers-color-scheme: light)').matches ? 'light' : 'dark')
12
+ : mode;
13
+ if (resolved === 'light') document.documentElement.setAttribute('data-theme', 'light');
14
+ })();
15
+ </script>
@@ -0,0 +1,11 @@
1
+ <section class="home-hero">
2
+ <img src="/logo.svg" alt="logo"/>
3
+ <div class="hero-container">
4
+ <h1>{{ siteDescription }}</h1>
5
+ </div>
6
+ {{#if announcement}}
7
+ <div class="announcement">
8
+ {{{announcement}}}
9
+ </div>
10
+ {{/if}}
11
+ </section>
@@ -0,0 +1,46 @@
1
+ <div class="home-content">
2
+ {{#if github}}
3
+ {{#if github.contributors}}
4
+ <section>
5
+ <h2 class="home-title">Contributors</h2>
6
+ <div class="facepile">
7
+ {{#each github.contributors}}
8
+ <a href="{{html_url}}" target="_blank" title="{{login}}" rel="noopener noreferrer">
9
+ <img src="{{avatar_url}}" alt="{{login}}">
10
+ </a>
11
+ {{/each}}
12
+ </div>
13
+ </section>
14
+ {{/if}}
15
+
16
+ {{#if github.releases}}
17
+ <section>
18
+ <h2 class="home-title">Changelog</h2>
19
+ {{#each github.releases as |release|}}
20
+ {{#if (lt @index 3)}}
21
+ <div class="release">
22
+ <div class="release-header">
23
+ <a class="release-title" href="{{release.html_url}}" target="_blank" rel="noopener noreferrer">{{release.name}}</a>
24
+ <span class="release-date">{{#moment release.published_at "MMMM DD, YYYY"}}{{/moment}}</span>
25
+ </div>
26
+ <div class="release-body">
27
+ {{#if release.body}}
28
+ {{#markdown}}{{release.body}}{{/markdown}}
29
+ {{/if}}
30
+ </div>
31
+ </div>
32
+ {{/if}}
33
+ {{/each}}
34
+
35
+ {{#if (gt github.releases.length 6)}}
36
+ <div>
37
+ <a class="release-btn" href="/changelog">
38
+ Full Changelog
39
+ <span>&rarr;</span>
40
+ </a>
41
+ </div>
42
+ {{/if}}
43
+ </section>
44
+ {{/if}}
45
+ {{/if}}
46
+ </div>
@@ -0,0 +1,161 @@
1
+ <script src="/css/highlight/highlight.min.js"></script>
2
+ <script>
3
+ document.addEventListener('DOMContentLoaded', () => {
4
+ document.querySelectorAll('pre code').forEach(el => { el.textContent = el.textContent.trimEnd(); });
5
+ hljs.highlightAll();
6
+ var kbd = document.querySelector('.search-button__shortcut');
7
+ if (kbd) kbd.textContent = navigator.platform.indexOf('Mac') > -1 ? '⌘K' : 'Ctrl K';
8
+ });
9
+ </script>
10
+ <script>
11
+ (function() {
12
+ function getMode() {
13
+ return localStorage.getItem('theme') || 'auto';
14
+ }
15
+
16
+ function resolveTheme(mode) {
17
+ if (mode === 'auto') {
18
+ return window.matchMedia('(prefers-color-scheme: light)').matches ? 'light' : 'dark';
19
+ }
20
+ return mode;
21
+ }
22
+
23
+ var cachedEls = null;
24
+ function getThemeEls() {
25
+ if (!cachedEls) {
26
+ cachedEls = {
27
+ autoIcon: document.querySelector('.theme-button__icon--auto'),
28
+ sunIcon: document.querySelector('.theme-button__icon--sun'),
29
+ moonIcon: document.querySelector('.theme-button__icon--moon'),
30
+ toggle: document.getElementById('theme-toggle')
31
+ };
32
+ }
33
+ return cachedEls;
34
+ }
35
+
36
+ function applyTheme(mode) {
37
+ var resolved = resolveTheme(mode);
38
+ if (resolved === 'light') {
39
+ document.documentElement.setAttribute('data-theme', 'light');
40
+ } else {
41
+ document.documentElement.removeAttribute('data-theme');
42
+ }
43
+
44
+ var els = getThemeEls();
45
+ if (els.autoIcon && els.sunIcon && els.moonIcon) {
46
+ els.autoIcon.classList.add('theme-button__icon--hidden');
47
+ els.sunIcon.classList.add('theme-button__icon--hidden');
48
+ els.moonIcon.classList.add('theme-button__icon--hidden');
49
+ if (mode === 'auto') {
50
+ els.autoIcon.classList.remove('theme-button__icon--hidden');
51
+ } else if (mode === 'light') {
52
+ els.sunIcon.classList.remove('theme-button__icon--hidden');
53
+ } else {
54
+ els.moonIcon.classList.remove('theme-button__icon--hidden');
55
+ }
56
+ }
57
+
58
+ if (els.toggle) {
59
+ var labels = { auto: 'Theme: auto (following system)', light: 'Theme: light', dark: 'Theme: dark' };
60
+ els.toggle.setAttribute('aria-label', labels[mode] || 'Toggle theme');
61
+ }
62
+ }
63
+
64
+ function nextMode(current) {
65
+ var cycle = { auto: 'light', light: 'dark', dark: 'auto' };
66
+ return cycle[current] || 'auto';
67
+ }
68
+
69
+ var currentMode = getMode();
70
+
71
+ document.addEventListener('DOMContentLoaded', function() {
72
+ applyTheme(currentMode);
73
+
74
+ var els = getThemeEls();
75
+ if (els.toggle) {
76
+ els.toggle.addEventListener('click', function() {
77
+ currentMode = nextMode(currentMode);
78
+ if (currentMode === 'auto') {
79
+ localStorage.removeItem('theme');
80
+ } else {
81
+ localStorage.setItem('theme', currentMode);
82
+ }
83
+ applyTheme(currentMode);
84
+ });
85
+ }
86
+ });
87
+
88
+ window.matchMedia('(prefers-color-scheme: light)').addEventListener('change', function() {
89
+ if (getMode() === 'auto') {
90
+ applyTheme('auto');
91
+ }
92
+ });
93
+ })();
94
+ </script>
95
+ <script defer>
96
+ document.addEventListener('DOMContentLoaded', () => {
97
+ const menuToggle = document.getElementById('mobile-menu-toggle');
98
+ const mobileSidebar = document.getElementById('mobile-sidebar');
99
+ const backdrop = document.getElementById('sidebar-backdrop');
100
+ if (menuToggle && mobileSidebar) {
101
+ menuToggle.addEventListener('click', () => {
102
+ mobileSidebar.classList.toggle('mobile-sidebar--open');
103
+ if (backdrop) backdrop.classList.toggle('sidebar-backdrop--visible');
104
+ });
105
+ if (backdrop) {
106
+ backdrop.addEventListener('click', () => {
107
+ mobileSidebar.classList.remove('mobile-sidebar--open');
108
+ backdrop.classList.remove('sidebar-backdrop--visible');
109
+ });
110
+ }
111
+ }
112
+
113
+ // Page dropdown toggle (docs pages)
114
+ const dropdownToggle = document.getElementById('page-dropdown-toggle');
115
+ const dropdownList = document.getElementById('page-dropdown-list');
116
+ if (dropdownToggle && dropdownList) {
117
+ dropdownToggle.addEventListener('click', () => {
118
+ dropdownList.classList.toggle('page-dropdown__list--open');
119
+ });
120
+ }
121
+
122
+ // Active sidebar link highlighting
123
+ const sidebarLinks = document.querySelectorAll('.nav-sidebar__item');
124
+ const currentPath = window.location.pathname;
125
+ sidebarLinks.forEach((link) => {
126
+ if (link.getAttribute('href') === currentPath || link.getAttribute('href') === currentPath.replace(/\/$/, '')) {
127
+ link.classList.add('nav-sidebar__item--active');
128
+ }
129
+ });
130
+
131
+ // Active header nav link highlighting
132
+ const navLinks = document.querySelectorAll('.header-bottom__item');
133
+ navLinks.forEach((link) => {
134
+ const href = link.getAttribute('href');
135
+ if (currentPath.startsWith(href)) {
136
+ link.classList.add('header-bottom__item--active');
137
+ }
138
+ });
139
+
140
+ // Active mobile nav link highlighting
141
+ const mobileNavLinks = document.querySelectorAll('.mobile-nav__item');
142
+ mobileNavLinks.forEach((link) => {
143
+ const href = link.getAttribute('href');
144
+ if (currentPath.startsWith(href)) {
145
+ link.classList.add('mobile-nav__item--active');
146
+ }
147
+ });
148
+
149
+ // TOC extraction: move the inline TOC into the right sidebar and hide the original
150
+ const tocHeading = document.getElementById('table-of-contents');
151
+ if (tocHeading) {
152
+ const tocList = tocHeading.nextElementSibling;
153
+ const tocTarget = document.getElementById('toc-list');
154
+ if (tocList && tocList.tagName === 'UL' && tocTarget) {
155
+ tocTarget.innerHTML = tocList.innerHTML;
156
+ tocHeading.style.display = 'none';
157
+ tocList.style.display = 'none';
158
+ }
159
+ }
160
+ });
161
+ </script>
@@ -0,0 +1,22 @@
1
+ {{#forEach sidebarItems}}
2
+ {{#if children}}
3
+ <section class="nav-sidebar__section">
4
+ <h2 class="nav-sidebar__title">{{name}}</h2>
5
+ <ul class="nav-sidebar__list">
6
+ {{#forEach children}}
7
+ <li>
8
+ <a href="{{path}}" class="nav-sidebar__item">{{name}}</a>
9
+ </li>
10
+ {{/forEach}}
11
+ </ul>
12
+ </section>
13
+ {{else}}
14
+ <section class="nav-sidebar__section">
15
+ <ul class="nav-sidebar__list">
16
+ <li>
17
+ <a href="{{path}}" class="nav-sidebar__item">{{name}}</a>
18
+ </li>
19
+ </ul>
20
+ </section>
21
+ {{/if}}
22
+ {{/forEach}}
@@ -0,0 +1,5 @@
1
+ <button class="theme-button{{#if fixed}} theme-button--fixed{{/if}}" id="theme-toggle" aria-label="Theme: auto (following system)">
2
+ <svg class="theme-button__icon theme-button__icon--auto" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="3" width="20" height="14" rx="2"/><line x1="8" x2="16" y1="21" y2="21"/><line x1="12" x2="12" y1="17" y2="21"/></svg>
3
+ <svg class="theme-button__icon theme-button__icon--sun theme-button__icon--hidden" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="4"/><path d="M12 2v2"/><path d="M12 20v2"/><path d="m4.93 4.93 1.41 1.41"/><path d="m17.66 17.66 1.41 1.41"/><path d="M2 12h2"/><path d="M20 12h2"/><path d="m6.34 17.66-1.41 1.41"/><path d="m19.07 4.93-1.41 1.41"/></svg>
4
+ <svg class="theme-button__icon theme-button__icon--moon theme-button__icon--hidden" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401"/></svg>
5
+ </button>
@@ -1,86 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="en">
3
-
4
- <head>
5
- {{> header }}
6
- <title>{{siteTitle}} Releases</title>
7
- </head>
8
-
9
- <body>
10
- {{> singlepage/hero }}
11
- <a href="https://github.com/{{ githubPath }}" class="github-corner" aria-label="View source on GitHub"><svg width="80"
12
- height="80" viewBox="0 0 250 250" style="color:#fff; position: absolute; top: 0; border: 0; right: 0;"
13
- aria-hidden="true">
14
- <path d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"></path>
15
- <path
16
- d="M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2"
17
- fill="currentColor" style="transform-origin: 130px 106px;" class="octo-arm"></path>
18
- <path
19
- d="M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z"
20
- fill="currentColor" class="octo-body"></path>
21
- </svg></a>
22
- <style>
23
- .github-corner:hover .octo-arm {
24
- animation: octocat-wave 560ms ease-in-out
25
- }
26
-
27
- @keyframes octocat-wave {
28
-
29
- 0%,
30
- 100% {
31
- transform: rotate(0)
32
- }
33
-
34
- 20%,
35
- 60% {
36
- transform: rotate(-25deg)
37
- }
38
-
39
- 40%,
40
- 80% {
41
- transform: rotate(10deg)
42
- }
43
- }
44
-
45
- @media (max-width:500px) {
46
- .github-corner:hover .octo-arm {
47
- animation: none
48
- }
49
-
50
- .github-corner .octo-arm {
51
- animation: octocat-wave 560ms ease-in-out
52
- }
53
- }
54
- </style>
55
- <main class="versions-container">
56
- <div class="versions-content">
57
- <h2 class="home-title">Releases</h2>
58
- {{#if github}}
59
- {{#if github.releases}}
60
- {{#each github.releases as |release|}}
61
- <div class="release">
62
- <div class="release-header">
63
- <a class="release-title" href="{{release.html_url}}" target="_blank"
64
- rel="noopener noreferrer">{{release.name}}</a>
65
- <span class="release-date">{{#moment
66
- release.published_at "MMMM DD, YYYY"
67
- }}{{/moment}}
68
- </span>
69
- </div>
70
- <div class="release-body">
71
- {{#if release.body}}
72
- {{#markdown}}{{release.body}}{{/markdown}}
73
- {{/if}}
74
- </div>
75
- </div>
76
- {{/each}}
77
- {{/if}}
78
- {{/if}}
79
- </div>
80
- </main>
81
- {{> footer}}
82
-
83
- {{> scripts }}
84
- </body>
85
-
86
- </html>
File without changes
File without changes
File without changes