@kenjura/ursa 0.90.0 → 0.93.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.
@@ -1,130 +1,176 @@
1
- <!DOCTYPE html>
2
- <html>
3
-
4
- <head>
5
- <meta charset="UTF-8">
6
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
- <title>${title}</title>
8
- <link rel="stylesheet" href="/public/default.css" />
9
- <link rel="stylesheet" href="/public/lightbox.css" />
10
- ${styleLink}
11
- </head>
12
-
13
- <body data-template-id="default">
14
- <nav id="nav-global">
15
- <div class="nav-left-controls">
16
- <button class="menu-button" aria-label="Menu">☰</button>
17
- <div class="widget-bar widget-bar-left">
18
- <button class="widget-button" data-widget="recent-activity" data-widget-side="left" aria-label="Recent Activity" title="Recent Activity">
19
- <span class="widget-icon">🕒</span>
20
- </button>
21
- <button class="widget-button" data-widget="suggested" data-widget-side="left" aria-label="Suggested Content" title="Suggested Content">
22
- <span class="widget-icon">⭐</span>
23
- </button>
24
- </div>
25
- <div id="ursa-update-indicator" class="ursa-update-indicator" style="display:none;" title="Updating...">
26
- <div class="ursa-spinner"></div>
27
- </div>
28
- </div>
29
-
30
- <div class="nav-center">
31
- <nav id="nav-main-top">
32
- <!-- Top menu will be populated by JavaScript when data-menu-position="top" -->
33
- </nav>
34
-
35
- <div class="search-wrapper search-wrapper-inline">
36
- <input id="global-search" type="text" placeholder="Search..." />
37
- </div>
38
- </div>
39
-
40
- <div class="nav-right-controls">
41
- <div class="widget-bar">
42
- <button class="widget-button" data-widget="toc" aria-label="Table of Contents" title="Table of Contents">
43
- <span class="widget-icon">≡</span>
44
- </button>
45
- <button class="widget-button" data-widget="search" aria-label="Search" title="Search">
46
- <span class="widget-icon">🔍</span>
47
- </button>
48
- <button class="widget-button" data-widget="profile" aria-label="Profile" title="Profile">
49
- <span class="widget-icon">👤</span>
50
- </button>
51
- </div>
52
- </div>
53
- </nav>
54
-
55
- <!-- Widget dropdown panel for LEFT-side widgets -->
56
- <div id="widget-dropdown-left" class="widget-dropdown widget-dropdown-left hidden">
57
- <div id="widget-content-recent-activity" class="widget-content" data-widget="recent-activity">
58
- <div class="widget-header">
59
- <span class="widget-header-title">Recent Activity</span>
60
- <button class="widget-close-btn" aria-label="Close">✕</button>
61
- </div>
62
- <div class="recent-activity-list">
63
- <!-- Populated by JavaScript -->
64
- </div>
65
- </div>
66
- <div id="widget-content-suggested" class="widget-content" data-widget="suggested">
67
- <div class="widget-header">
68
- <span class="widget-header-title">Suggested</span>
69
- <button class="widget-close-btn" aria-label="Close">✕</button>
70
- </div>
71
- <div class="suggested-content-list">
72
- <!-- Populated by JavaScript -->
73
- </div>
74
- </div>
75
- </div>
76
-
77
- <!-- Widget dropdown panel for RIGHT-side widgets -->
78
- <div id="widget-dropdown" class="widget-dropdown hidden">
79
- <div id="widget-content-toc" class="widget-content" data-widget="toc">
80
- <div class="widget-header">
81
- <span class="widget-header-title">Table of Contents</span>
82
- <button class="widget-close-btn" aria-label="Close">✕</button>
83
- </div>
84
- <!-- TOC will be generated by JavaScript -->
85
- </div>
86
- <div id="widget-content-search" class="widget-content" data-widget="search">
87
- <div class="widget-header">
88
- <span class="widget-header-title">Search</span>
89
- <button class="widget-close-btn" aria-label="Close">✕</button>
90
- </div>
91
- <!-- Search input + results placed here by JS -->
92
- </div>
93
- <div id="widget-content-profile" class="widget-content" data-widget="profile">
94
- <div class="widget-header">
95
- <span class="widget-header-title">Profile</span>
96
- <button class="widget-close-btn" aria-label="Close">✕</button>
97
- </div>
98
- <div class="widget-profile-placeholder">
99
- <span class="widget-profile-avatar">👤</span>
100
- <p>Sign in to access your profile</p>
101
- <button class="widget-profile-signin" disabled>Sign In</button>
102
- <p class="widget-profile-note">Authentication coming soon</p>
103
- </div>
104
- </div>
105
- </div>
106
-
107
- <nav id="nav-main">
108
- ${menu}
109
- </nav>
110
- <article id="main-content">
111
- ${body}
112
- </article>
113
- <footer id="site-footer">
114
- ${footer}
115
- </footer>
116
- <div id="global-nav">
117
- </div>
118
-
119
- <script src="/public/toc.js"></script>
120
- <script src="/public/toc-generator.js"></script>
121
- <script src="/public/menu.js"></script>
122
- <script src="/public/search.js"></script>
123
- <script src="/public/widgets.js"></script>
124
- <script src="/public/sectionify.js"></script>
125
- <script src="/public/sticky.js"></script>
126
- <script src="/public/lightbox.js"></script>
127
- ${customScript}
128
- </body>
129
-
1
+ <!DOCTYPE html>
2
+ <html>
3
+
4
+ <head>
5
+ <meta charset="UTF-8">
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
+ <title>${title}</title>
8
+ <link rel="stylesheet" href="/public/default.css" />
9
+ <link rel="stylesheet" href="/public/lightbox.css" />
10
+ ${styleLink}
11
+ </head>
12
+
13
+ <body data-template-id="default">
14
+ <nav id="nav-global">
15
+ <div class="nav-left-controls">
16
+ <!-- Tabler icons (outline), inlined: see @tabler/icons in devDependencies.
17
+ The bounding <path> Tabler ships in each file is dropped — the viewBox
18
+ already fixes the coordinate system and the six shared presentation
19
+ attributes live on .ursa-icon in default.css rather than on every tag.
20
+
21
+ This button is three icons in one: a house on desktop, where it goes
22
+ home, and a hamburger that becomes a cross on mobile, where it opens
23
+ the menu. menu.js picks between them with data-icon, so the artwork
24
+ stays here with the rest of it instead of being pasted into strings. -->
25
+ <button class="menu-button" data-icon="menu" aria-label="Menu">
26
+ <svg class="ursa-icon" data-icon="menu" viewBox="0 0 24 24" aria-hidden="true"><!-- tabler: menu-2 -->
27
+ <path d="M4 6l16 0" /><path d="M4 12l16 0" /><path d="M4 18l16 0" />
28
+ </svg>
29
+ <svg class="ursa-icon" data-icon="close" viewBox="0 0 24 24" aria-hidden="true"><!-- tabler: x -->
30
+ <path d="M18 6l-12 12" /><path d="M6 6l12 12" />
31
+ </svg>
32
+ <svg class="ursa-icon" data-icon="home" viewBox="0 0 24 24" aria-hidden="true"><!-- tabler: home -->
33
+ <path d="M5 12l-2 0l9 -9l9 9l-2 0" />
34
+ <path d="M5 12v7a2 2 0 0 0 2 2h10a2 2 0 0 0 2 -2v-7" />
35
+ <path d="M9 21v-6a2 2 0 0 1 2 -2h2a2 2 0 0 1 2 2v6" />
36
+ </svg>
37
+ </button>
38
+ <div class="widget-bar widget-bar-left">
39
+ <button class="widget-button" data-widget="recent-activity" data-widget-side="left" aria-label="Recent Activity" title="Recent Activity">
40
+ <span class="widget-icon">
41
+ <svg class="ursa-icon" viewBox="0 0 24 24" aria-hidden="true"><!-- tabler: history -->
42
+ <path d="M12 8l0 4l2 2" />
43
+ <path d="M3.05 11a9 9 0 1 1 .5 4m-.5 5v-5h5" />
44
+ </svg>
45
+ </span>
46
+ </button>
47
+ <button class="widget-button" data-widget="suggested" data-widget-side="left" aria-label="Suggested Content" title="Suggested Content">
48
+ <span class="widget-icon">
49
+ <svg class="ursa-icon" viewBox="0 0 24 24" aria-hidden="true"><!-- tabler: star -->
50
+ <path d="M12 17.75l-6.172 3.245l1.179 -6.873l-5 -4.867l6.9 -1l3.086 -6.253l3.086 6.253l6.9 1l-5 4.867l1.179 6.873l-6.158 -3.245" />
51
+ </svg>
52
+ </span>
53
+ </button>
54
+ </div>
55
+ <div id="ursa-update-indicator" class="ursa-update-indicator" style="display:none;" title="Updating...">
56
+ <div class="ursa-spinner"></div>
57
+ </div>
58
+ </div>
59
+
60
+ <div class="nav-center">
61
+ <nav id="nav-main-top">
62
+ <!-- Top menu will be populated by JavaScript when data-menu-position="top" -->
63
+ </nav>
64
+
65
+ <div class="search-wrapper search-wrapper-inline">
66
+ <input id="global-search" type="text" placeholder="Search..." />
67
+ </div>
68
+ </div>
69
+
70
+ <div class="nav-right-controls">
71
+ <div class="widget-bar">
72
+ <button class="widget-button" data-widget="toc" aria-label="Table of Contents" title="Table of Contents">
73
+ <span class="widget-icon">
74
+ <svg class="ursa-icon" viewBox="0 0 24 24" aria-hidden="true"><!-- tabler: list-details -->
75
+ <path d="M13 5h8" /><path d="M13 9h5" /><path d="M13 15h8" /><path d="M13 19h5" />
76
+ <path d="M3 5a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v4a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1l0 -4" />
77
+ <path d="M3 15a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v4a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1l0 -4" />
78
+ </svg>
79
+ </span>
80
+ </button>
81
+ <button class="widget-button" data-widget="search" aria-label="Search" title="Search">
82
+ <span class="widget-icon">
83
+ <svg class="ursa-icon" viewBox="0 0 24 24" aria-hidden="true"><!-- tabler: search -->
84
+ <path d="M3 10a7 7 0 1 0 14 0a7 7 0 1 0 -14 0" /><path d="M21 21l-6 -6" />
85
+ </svg>
86
+ </span>
87
+ </button>
88
+ <button class="widget-button" data-widget="profile" aria-label="Profile" title="Profile">
89
+ <span class="widget-icon">
90
+ <svg class="ursa-icon" viewBox="0 0 24 24" aria-hidden="true"><!-- tabler: user-circle -->
91
+ <path d="M3 12a9 9 0 1 0 18 0a9 9 0 1 0 -18 0" />
92
+ <path d="M9 10a3 3 0 1 0 6 0a3 3 0 1 0 -6 0" />
93
+ <path d="M6.168 18.849a4 4 0 0 1 3.832 -2.849h4a4 4 0 0 1 3.834 2.855" />
94
+ </svg>
95
+ </span>
96
+ </button>
97
+ </div>
98
+ </div>
99
+ </nav>
100
+
101
+ <!-- Widget dropdown panel for LEFT-side widgets -->
102
+ <div id="widget-dropdown-left" class="widget-dropdown widget-dropdown-left hidden">
103
+ <div id="widget-content-recent-activity" class="widget-content" data-widget="recent-activity">
104
+ <div class="widget-header">
105
+ <span class="widget-header-title">Recent Activity</span>
106
+ <button class="widget-close-btn" aria-label="Close">✕</button>
107
+ </div>
108
+ <div class="recent-activity-list">
109
+ <!-- Populated by JavaScript -->
110
+ </div>
111
+ </div>
112
+ <div id="widget-content-suggested" class="widget-content" data-widget="suggested">
113
+ <div class="widget-header">
114
+ <span class="widget-header-title">Suggested</span>
115
+ <button class="widget-close-btn" aria-label="Close">✕</button>
116
+ </div>
117
+ <div class="suggested-content-list">
118
+ <!-- Populated by JavaScript -->
119
+ </div>
120
+ </div>
121
+ </div>
122
+
123
+ <!-- Widget dropdown panel for RIGHT-side widgets -->
124
+ <div id="widget-dropdown" class="widget-dropdown hidden">
125
+ <div id="widget-content-toc" class="widget-content" data-widget="toc">
126
+ <div class="widget-header">
127
+ <span class="widget-header-title">Table of Contents</span>
128
+ <button class="widget-close-btn" aria-label="Close">✕</button>
129
+ </div>
130
+ <!-- TOC will be generated by JavaScript -->
131
+ </div>
132
+ <div id="widget-content-search" class="widget-content" data-widget="search">
133
+ <div class="widget-header">
134
+ <span class="widget-header-title">Search</span>
135
+ <button class="widget-close-btn" aria-label="Close">✕</button>
136
+ </div>
137
+ <!-- Search input + results placed here by JS -->
138
+ </div>
139
+ <div id="widget-content-profile" class="widget-content" data-widget="profile">
140
+ <div class="widget-header">
141
+ <span class="widget-header-title">Profile</span>
142
+ <button class="widget-close-btn" aria-label="Close">✕</button>
143
+ </div>
144
+ <div class="widget-profile-placeholder">
145
+ <span class="widget-profile-avatar">👤</span>
146
+ <p>Sign in to access your profile</p>
147
+ <button class="widget-profile-signin" disabled>Sign In</button>
148
+ <p class="widget-profile-note">Authentication coming soon</p>
149
+ </div>
150
+ </div>
151
+ </div>
152
+
153
+ <nav id="nav-main">
154
+ ${menu}
155
+ </nav>
156
+ <article id="main-content">
157
+ ${body}
158
+ </article>
159
+ <footer id="site-footer">
160
+ ${footer}
161
+ </footer>
162
+ <div id="global-nav">
163
+ </div>
164
+
165
+ <script src="/public/toc.js"></script>
166
+ <script src="/public/toc-generator.js"></script>
167
+ <script src="/public/menu.js"></script>
168
+ <script src="/public/search.js"></script>
169
+ <script src="/public/widgets.js"></script>
170
+ <script src="/public/sectionify.js"></script>
171
+ <script src="/public/sticky.js"></script>
172
+ <script src="/public/lightbox.js"></script>
173
+ ${customScript}
174
+ </body>
175
+
130
176
  </html>