hdoc-tools 0.1.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 (79) hide show
  1. package/custom_modules/tips.js +69 -0
  2. package/hdoc-build.js +5 -0
  3. package/hdoc-serve.js +366 -0
  4. package/hdoc.js +86 -0
  5. package/package.json +29 -0
  6. package/ui/css/images/hornbill-logo-full.svg +92 -0
  7. package/ui/css/theme-default/fonts/inter-cyrillic-ext.woff2 +0 -0
  8. package/ui/css/theme-default/fonts/inter-cyrillic.woff2 +0 -0
  9. package/ui/css/theme-default/fonts/inter-greek-ext.woff2 +0 -0
  10. package/ui/css/theme-default/fonts/inter-greek.woff2 +0 -0
  11. package/ui/css/theme-default/fonts/inter-italic-cyrillic-ext.woff2 +0 -0
  12. package/ui/css/theme-default/fonts/inter-italic-cyrillic.woff2 +0 -0
  13. package/ui/css/theme-default/fonts/inter-italic-greek-ext.woff2 +0 -0
  14. package/ui/css/theme-default/fonts/inter-italic-greek.woff2 +0 -0
  15. package/ui/css/theme-default/fonts/inter-italic-latin-ext.woff2 +0 -0
  16. package/ui/css/theme-default/fonts/inter-italic-latin.woff2 +0 -0
  17. package/ui/css/theme-default/fonts/inter-italic-vietnamese.woff2 +0 -0
  18. package/ui/css/theme-default/fonts/inter-latin-ext.woff2 +0 -0
  19. package/ui/css/theme-default/fonts/inter-latin.woff2 +0 -0
  20. package/ui/css/theme-default/fonts/inter-roman-cyrillic-ext.woff2 +0 -0
  21. package/ui/css/theme-default/fonts/inter-roman-cyrillic.woff2 +0 -0
  22. package/ui/css/theme-default/fonts/inter-roman-greek-ext.woff2 +0 -0
  23. package/ui/css/theme-default/fonts/inter-roman-greek.woff2 +0 -0
  24. package/ui/css/theme-default/fonts/inter-roman-latin-ext.woff2 +0 -0
  25. package/ui/css/theme-default/fonts/inter-roman-latin.woff2 +0 -0
  26. package/ui/css/theme-default/fonts/inter-roman-vietnamese.woff2 +0 -0
  27. package/ui/css/theme-default/fonts/inter-vietnamese.woff2 +0 -0
  28. package/ui/css/theme-default/styles/base.css +225 -0
  29. package/ui/css/theme-default/styles/components/content.css +82 -0
  30. package/ui/css/theme-default/styles/components/custom-block.css +90 -0
  31. package/ui/css/theme-default/styles/components/htl-doc.css +711 -0
  32. package/ui/css/theme-default/styles/components/sidebar.css +178 -0
  33. package/ui/css/theme-default/styles/fonts.css +221 -0
  34. package/ui/css/theme-default/styles/htldoc.layouts.css +244 -0
  35. package/ui/css/theme-default/styles/vars.css +393 -0
  36. package/ui/index.html +230 -0
  37. package/ui/js/doc.hornbill.js +485 -0
  38. package/ui/js/highlightjs/LICENSE +24 -0
  39. package/ui/js/highlightjs/highlight.pack.js +2 -0
  40. package/ui/js/highlightjs/styles/brown-paper.css +64 -0
  41. package/ui/js/highlightjs/styles/brown-papersq.png +0 -0
  42. package/ui/js/highlightjs/styles/codepen-embed.css +60 -0
  43. package/ui/js/highlightjs/styles/color-brewer.css +71 -0
  44. package/ui/js/highlightjs/styles/darcula.css +77 -0
  45. package/ui/js/highlightjs/styles/dark.css +63 -0
  46. package/ui/js/highlightjs/styles/darkula.css +6 -0
  47. package/ui/js/highlightjs/styles/default.css +99 -0
  48. package/ui/js/highlightjs/styles/dracula.css +76 -0
  49. package/ui/js/highlightjs/styles/far.css +71 -0
  50. package/ui/js/highlightjs/styles/foundation.css +88 -0
  51. package/ui/js/highlightjs/styles/github-gist.css +71 -0
  52. package/ui/js/highlightjs/styles/github-mm.css +71 -0
  53. package/ui/js/highlightjs/styles/github.css +99 -0
  54. package/ui/js/highlightjs/styles/googlecode.css +89 -0
  55. package/ui/js/highlightjs/styles/grayscale.css +101 -0
  56. package/ui/js/highlightjs/styles/idea.css +97 -0
  57. package/ui/js/highlightjs/styles/ir-black.css +73 -0
  58. package/ui/js/highlightjs/styles/kavadocs.css +71 -0
  59. package/ui/js/highlightjs/styles/kavadocsdark.css +120 -0
  60. package/ui/js/highlightjs/styles/kimbie.dark.css +74 -0
  61. package/ui/js/highlightjs/styles/kimbie.light.css +74 -0
  62. package/ui/js/highlightjs/styles/magula.css +70 -0
  63. package/ui/js/highlightjs/styles/mono-blue.css +59 -0
  64. package/ui/js/highlightjs/styles/monokai-sublime.css +83 -0
  65. package/ui/js/highlightjs/styles/monokai.css +70 -0
  66. package/ui/js/highlightjs/styles/obsidian.css +88 -0
  67. package/ui/js/highlightjs/styles/paraiso-dark.css +72 -0
  68. package/ui/js/highlightjs/styles/paraiso-light.css +72 -0
  69. package/ui/js/highlightjs/styles/railscasts.css +106 -0
  70. package/ui/js/highlightjs/styles/rainbow.css +85 -0
  71. package/ui/js/highlightjs/styles/solarized-dark.css +84 -0
  72. package/ui/js/highlightjs/styles/solarized-light.css +84 -0
  73. package/ui/js/highlightjs/styles/sunburst.css +102 -0
  74. package/ui/js/highlightjs/styles/twilight.css +97 -0
  75. package/ui/js/highlightjs/styles/vs.css +68 -0
  76. package/ui/js/highlightjs/styles/vs2015.css +117 -0
  77. package/ui/js/highlightjs/styles/xcode.css +104 -0
  78. package/ui/js/highlightjs/styles/zenburn.css +80 -0
  79. package/ui/js/highlightjs-badge.js +443 -0
@@ -0,0 +1,393 @@
1
+ /**
2
+ * Colors Base
3
+ *
4
+ * These are the pure base color presets. Most of the time, you should not be
5
+ * using these colors directly in the theme but rather use "Colors Theme"
6
+ * instead because those are "Theme (light or dark)" dependant.
7
+ * -------------------------------------------------------------------------- */
8
+
9
+ :root {
10
+ --htl-c-white: rgba(255, 255, 255, 1);
11
+ --htl-c-white-soft: #f9f9f9;
12
+ --htl-c-white-mute: #f1f1f1;
13
+
14
+ --htl-c-black: #1a1a1a;
15
+ --htl-c-black-pure: #000000;
16
+ --htl-c-black-soft: #242424;
17
+ --htl-c-black-mute: #2f2f2f;
18
+
19
+ --htl-c-gray: #8e8e8e;
20
+ --htl-c-gray-light-1: #aeaeae;
21
+ --htl-c-gray-light-2: #c7c7c7;
22
+ --htl-c-gray-light-3: #d1d1d1;
23
+ --htl-c-gray-light-4: #e5e5e5;
24
+ --htl-c-gray-light-5: #f2f2f2;
25
+ --htl-c-gray-dark-1: #636363;
26
+ --htl-c-gray-dark-2: #484848;
27
+ --htl-c-gray-dark-3: #3a3a3a;
28
+ --htl-c-gray-dark-4: #282828;
29
+ --htl-c-gray-dark-5: #202020;
30
+
31
+ --htl-c-divider-light-1: rgba(60, 60, 60, 0.29);
32
+ --htl-c-divider-light-2: rgba(60, 60, 60, 0.12);
33
+ --htl-c-divider-dark-1: rgba(84, 84, 84, 0.65);
34
+ --htl-c-divider-dark-2: rgba(84, 84, 84, 0.48);
35
+
36
+ --htl-c-text-light-1: var(--htl-c-indigo);
37
+ --htl-c-text-light-2: rgba(60, 60, 60, 0.7);
38
+ --htl-c-text-light-3: rgba(60, 60, 60, 0.33);
39
+ --htl-c-text-light-4: rgba(60, 60, 60, 0.18);
40
+
41
+ --htl-c-text-dark-1: rgba(255, 255, 255, 0.87);
42
+ --htl-c-text-dark-2: rgba(235, 235, 235, 0.6);
43
+ --htl-c-text-dark-3: rgba(235, 235, 235, 0.38);
44
+ --htl-c-text-dark-4: rgba(235, 235, 235, 0.18);
45
+
46
+ --htl-c-indigo: #213547;
47
+ --htl-c-indigo-soft: #476582;
48
+ --htl-c-indigo-light: #aac8e4;
49
+ --htl-c-indigo-lighter: #c9def1;
50
+ --htl-c-indigo-dark: #1d2f3f;
51
+ --htl-c-indigo-darker: #14212e;
52
+
53
+ --htl-c-green: #42b883;
54
+ --htl-c-green-light: #42d392;
55
+ --htl-c-green-lighter: #35eb9a;
56
+ --htl-c-green-dark: #33a06f;
57
+ --htl-c-green-darker: #155f3e;
58
+ --htl-c-green-dimm-1: rgba(66, 184, 131, 0.5);
59
+ --htl-c-green-dimm-2: rgba(66, 184, 131, 0.25);
60
+ --htl-c-green-dimm-3: rgba(66, 184, 131, 0.05);
61
+
62
+ --htl-c-yellow: #ffc517;
63
+ --htl-c-yellow-light: #fcd253;
64
+ --htl-c-yellow-lighter: #fcfc7c;
65
+ --htl-c-yellow-dark: #e0ad15;
66
+ --htl-c-yellow-darker: #ad850e;
67
+ --htl-c-yellow-dimm-1: rgba(255, 197, 23, 0.5);
68
+ --htl-c-yellow-dimm-2: rgba(255, 197, 23, 0.25);
69
+ --htl-c-yellow-dimm-3: rgba(255, 197, 23, 0.05);
70
+
71
+ --htl-c-red: #ed3c50;
72
+ --htl-c-red-light: #f54e82;
73
+ --htl-c-red-lighter: #fd1d7c;
74
+ --htl-c-red-dark: #cd2d3f;
75
+ --htl-c-red-darker: #ab2131;
76
+ --htl-c-red-dimm-1: rgba(237, 60, 80, 0.5);
77
+ --htl-c-red-dimm-2: rgba(237, 60, 80, 0.25);
78
+ --htl-c-red-dimm-3: rgba(237, 60, 80, 0.05);
79
+
80
+ --htl-c-blue: #379cdbff;
81
+ --htl-c-blue-light: #75c7faff;
82
+ --htl-c-blue-lighter: #87cefaff;
83
+ --htl-c-blue-dark: #208fd4ff;
84
+ --htl-c-blue-darker: #187cbaff;
85
+ --htl-c-blue-dimm-1: rgba(55, 156, 219, 0.5);
86
+ --htl-c-blue-dimm-2: rgba(55, 156, 219, 0.25);
87
+ --htl-c-blue-dimm-3: rgba(55, 156, 219, 0.05);
88
+
89
+ }
90
+
91
+ /**
92
+ * Colors Theme
93
+ * -------------------------------------------------------------------------- */
94
+
95
+ :root {
96
+ --htl-c-bg: var(--htl-c-white);
97
+ --htl-c-bg-soft: var(--htl-c-white-soft);
98
+ --htl-c-bg-mute: var(--htl-c-white-mute);
99
+ --htl-c-bg-alt: var(--htl-c-white-soft);
100
+
101
+ --htl-c-divider: var(--htl-c-divider-light-1);
102
+ --htl-c-divider-light: var(--htl-c-divider-light-2);
103
+
104
+ --htl-c-divider-inverse: var(--htl-c-divider-dark-1);
105
+ --htl-c-divider-inverse-light: var(--htl-c-divider-dark-2);
106
+
107
+ --htl-c-text-1: var(--htl-c-text-light-1);
108
+ --htl-c-text-2: var(--htl-c-text-light-2);
109
+ --htl-c-text-3: var(--htl-c-text-light-3);
110
+ --htl-c-text-4: var(--htl-c-text-light-4);
111
+
112
+ --htl-c-text-inverse-1: var(--htl-c-text-dark-1);
113
+ --htl-c-text-inverse-2: var(--htl-c-text-dark-2);
114
+ --htl-c-text-inverse-3: var(--htl-c-text-dark-3);
115
+ --htl-c-text-inverse-4: var(--htl-c-text-dark-4);
116
+
117
+ --htl-c-text-code: var(--htl-c-indigo-soft);
118
+
119
+ --htl-c-brand: var(--htl-c-blue);
120
+ --htl-c-brand-light: var(--htl-c-blue-light);
121
+ --htl-c-brand-lighter: var(--htl-c-blue-lighter);
122
+ --htl-c-brand-dark: var(--htl-c-blue-dark);
123
+ --htl-c-brand-darker: var(--htl-c-blue-darker);
124
+
125
+ --htl-c-sponsor: #fd1d7c;
126
+ }
127
+
128
+ .dark {
129
+ --htl-c-bg: var(--htl-c-black-soft);
130
+ --htl-c-bg-soft: var(--htl-c-black-mute);
131
+ --htl-c-bg-mute: var(--htl-c-gray-dark-3);
132
+ --htl-c-bg-alt: var(--htl-c-black);
133
+
134
+ --htl-c-divider: var(--htl-c-divider-dark-1);
135
+ --htl-c-divider-light: var(--htl-c-divider-dark-2);
136
+
137
+ --htl-c-divider-inverse: var(--htl-c-divider-light-1);
138
+ --htl-c-divider-inverse-light: var(--htl-c-divider-light-2);
139
+
140
+ --htl-c-text-1: var(--htl-c-text-dark-1);
141
+ --htl-c-text-2: var(--htl-c-text-dark-2);
142
+ --htl-c-text-3: var(--htl-c-text-dark-3);
143
+ --htl-c-text-4: var(--htl-c-text-dark-4);
144
+
145
+ --htl-c-text-inverse-1: var(--htl-c-text-light-1);
146
+ --htl-c-text-inverse-2: var(--htl-c-text-light-2);
147
+ --htl-c-text-inverse-3: var(--htl-c-text-light-3);
148
+ --htl-c-text-inverse-4: var(--htl-c-text-light-4);
149
+
150
+ --htl-c-text-code: var(--htl-c-indigo-lighter);
151
+ }
152
+
153
+ /**
154
+ * Typography
155
+ * -------------------------------------------------------------------------- */
156
+
157
+ :root {
158
+ --htl-font-family-base: 'Inter var experimental', 'Inter var', 'Inter',
159
+ ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI',
160
+ Roboto, 'Helvetica Neue', Helvetica, Arial, 'Noto Sans', sans-serif,
161
+ 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
162
+ --htl-font-family-mono: ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Monaco,
163
+ Consolas, 'Liberation Mono', 'Courier New', monospace;
164
+
165
+
166
+ --htl-default-font-size:14px;
167
+ --htl-small-font-size:12px;
168
+ --htl-smallest-font-size:10px;
169
+ --htl-big-font-size:16px;
170
+ --htl-biggest-font-size:18px;
171
+ --htl-massive-font-size:24px;
172
+
173
+ }
174
+
175
+ /**
176
+ * Shadows
177
+ * -------------------------------------------------------------------------- */
178
+
179
+ :root {
180
+ --htl-shadow-1: 0 1px 2px rgba(0, 0, 0, 0.04), 0 1px 2px rgba(0, 0, 0, 0.06);
181
+ --htl-shadow-2: 0 3px 12px rgba(0, 0, 0, 0.07), 0 1px 4px rgba(0, 0, 0, 0.07);
182
+ --htl-shadow-3: 0 12px 32px rgba(0, 0, 0, 0.1), 0 2px 6px rgba(0, 0, 0, 0.08);
183
+ --htl-shadow-4: 0 14px 44px rgba(0, 0, 0, 0.12), 0 3px 9px rgba(0, 0, 0, 0.12);
184
+ --htl-shadow-5: 0 18px 56px rgba(0, 0, 0, 0.16), 0 4px 12px rgba(0, 0, 0, 0.16);
185
+ }
186
+
187
+ /**
188
+ * Z-indexes
189
+ * -------------------------------------------------------------------------- */
190
+
191
+ :root {
192
+ --htl-z-index-local-nav: 10;
193
+ --htl-z-index-nav: 20;
194
+ --htl-z-index-layout-top: 30;
195
+ --htl-z-index-backdrop: 40;
196
+ --htl-z-index-sidebar: 50;
197
+ --htl-z-index-footer: 60;
198
+ }
199
+
200
+ /**
201
+ * Icons
202
+ * -------------------------------------------------------------------------- */
203
+
204
+ :root {
205
+ --htl-icon-copy: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' height='20' width='20' stroke='rgba(128,128,128,1)' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2'/%3E%3C/svg%3E");
206
+ --htl-icon-copied: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' height='20' width='20' stroke='rgba(128,128,128,1)' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2m-6 9 2 2 4-4'/%3E%3C/svg%3E");
207
+ }
208
+
209
+ /**
210
+ * Layouts
211
+ * -------------------------------------------------------------------------- */
212
+
213
+ :root {
214
+ --htl-layout-max-width: 1440px;
215
+ }
216
+
217
+ /**
218
+ * Component: Code
219
+ * -------------------------------------------------------------------------- */
220
+
221
+ :root {
222
+ --htl-code-line-height: 1.7;
223
+ --htl-code-font-size: var(--htl-default-font-size);
224
+
225
+ --htl-code-block-color: var(--htl-c-text-dark-1);
226
+ --htl-code-block-bg: #292d3e;
227
+
228
+ --htl-code-line-highlight-color: rgba(0, 0, 0, 0.5);
229
+ --htl-code-line-number-color: var(--htl-c-text-dark-3);
230
+
231
+ --htl-code-line-diff-add-color: rgba(125, 191, 123, 0.1);
232
+ --htl-code-line-diff-add-symbol-color: rgba(125, 191, 123, 0.5);
233
+
234
+ --htl-code-line-diff-remove-color: rgba(255, 128, 128, 0.05);
235
+ --htl-code-line-diff-remove-symbol-color: rgba(255, 128, 128, 0.5);
236
+
237
+ --htl-code-line-error-color: var(--htl-c-red-dimm-2);
238
+ --htl-code-line-warning-color: var(--htl-c-yellow-dimm-2);
239
+
240
+ --htl-code-copy-code-hover-bg: rgba(255, 255, 255, 0.05);
241
+ --htl-code-copy-code-active-text: var(--htl-c-text-dark-2);
242
+ }
243
+
244
+ .dark {
245
+ --htl-code-block-bg: var(--htl-c-bg-alt);
246
+ }
247
+
248
+ /**
249
+ * Component: Button
250
+ * -------------------------------------------------------------------------- */
251
+
252
+ :root {
253
+ --htl-button-brand-border: var(--htl-c-brand-light);
254
+ --htl-button-brand-text: var(--htl-c-text-dark-1);
255
+ --htl-button-brand-bg: var(--htl-c-brand);
256
+ --htl-button-brand-hover-border: var(--htl-c-brand-light);
257
+ --htl-button-brand-hover-text: var(--htl-c-text-dark-1);
258
+ --htl-button-brand-hover-bg: var(--htl-c-brand-light);
259
+ --htl-button-brand-active-border: var(--htl-c-brand-light);
260
+ --htl-button-brand-active-text: var(--htl-c-text-dark-1);
261
+ --htl-button-brand-active-bg: var(--htl-button-brand-bg);
262
+
263
+ --htl-button-alt-border: var(--htl-c-gray-light-3);
264
+ --htl-button-alt-text: var(--htl-c-text-light-1);
265
+ --htl-button-alt-bg: var(--htl-c-gray-light-5);
266
+ --htl-button-alt-hover-border: var(--htl-c-gray-light-3);
267
+ --htl-button-alt-hover-text: var(--htl-c-text-light-1);
268
+ --htl-button-alt-hover-bg: var(--htl-c-gray-light-4);
269
+ --htl-button-alt-active-border: var(--htl-c-gray-light-3);
270
+ --htl-button-alt-active-text: var(--htl-c-text-light-1);
271
+ --htl-button-alt-active-bg: var(--htl-c-gray-light-3);
272
+
273
+ --htl-button-sponsor-border: var(--htl-c-gray-light-3);
274
+ --htl-button-sponsor-text: var(--htl-c-text-light-2);
275
+ --htl-button-sponsor-bg: transparent;
276
+ --htl-button-sponsor-hover-border: var(--htl-c-sponsor);
277
+ --htl-button-sponsor-hover-text: var(--htl-c-sponsor);
278
+ --htl-button-sponsor-hover-bg: transparent;
279
+ --htl-button-sponsor-active-border: var(--htl-c-sponsor);
280
+ --htl-button-sponsor-active-text: var(--htl-c-sponsor);
281
+ --htl-button-sponsor-active-bg: transparent;
282
+ }
283
+
284
+ .dark {
285
+ --htl-button-brand-border: var(--htl-c-brand-light);
286
+ --htl-button-brand-text: var(--htl-c-text-dark-1);
287
+ --htl-button-brand-bg: var(--htl-c-brand-dark);
288
+ --htl-button-brand-hover-border: var(--htl-c-brand-lighter);
289
+ --htl-button-brand-hover-text: var(--htl-c-text-dark-1);
290
+ --htl-button-brand-hover-bg: var(--htl-c-brand);
291
+ --htl-button-brand-active-border: var(--htl-c-brand-lighter);
292
+ --htl-button-brand-active-text: var(--htl-c-text-dark-1);
293
+ --htl-button-brand-active-bg: var(--htl-button-brand-bg);
294
+
295
+ --htl-button-alt-border: var(--htl-c-gray-dark-2);
296
+ --htl-button-alt-text: var(--htl-c-text-dark-1);
297
+ --htl-button-alt-bg: var(--htl-c-bg-mute);
298
+ --htl-button-alt-hover-border: var(--htl-c-gray-dark-2);
299
+ --htl-button-alt-hover-text: var(--htl-c-text-dark-1);
300
+ --htl-button-alt-hover-bg: var(--htl-c-gray-dark-2);
301
+ --htl-button-alt-active-border: var(--htl-c-gray-dark-2);
302
+ --htl-button-alt-active-text: var(--htl-c-text-dark-1);
303
+ --htl-button-alt-active-bg: var(--htl-button-alt-bg);
304
+
305
+ --htl-button-sponsor-border: var(--htl-c-gray-dark-1);
306
+ --htl-button-sponsor-text: var(--htl-c-text-dark-2);
307
+ }
308
+
309
+ /**
310
+ * Component: Custom Block
311
+ * -------------------------------------------------------------------------- */
312
+
313
+ :root {
314
+ --htl-custom-block-code-font-size: var(--htl-default-font-size);
315
+
316
+ --htl-custom-block-info-border: rgba(23, 23, 23, 0.5);
317
+ --htl-custom-block-info-text: #171717;
318
+ --htl-custom-block-info-bg: #d7eaf8;
319
+ --htl-custom-block-info-code-bg: var(--htl-c-gray-light-4);
320
+
321
+
322
+ --htl-custom-block-tip-border: var(--htl-c-green-dimm-1);
323
+ --htl-custom-block-tip-text: var(--htl-c-green-darker);
324
+ --htl-custom-block-tip-bg: var(--htl-c-green-dimm-3);
325
+ --htl-custom-block-tip-code-bg: var(--htl-custom-block-tip-bg);
326
+
327
+ --htl-custom-block-caution-border: var(--htl-c-yellow-dimm-1);
328
+ --htl-custom-block-caution-text: var(--htl-c-yellow-darker);
329
+ --htl-custom-block-caution-bg: var(--htl-c-yellow-dimm-3);
330
+ --htl-custom-block-caution-code-bg: var(--htl-custom-block-caution-bg);
331
+
332
+ --htl-custom-block-warning-border: var(--htl-c-red-dimm-1);
333
+ --htl-custom-block-warning-text: var(--htl-c-red-darker);
334
+ --htl-custom-block-warning-bg: var(--htl-c-red-dimm-3);
335
+ --htl-custom-block-warning-code-bg: var(--htl-custom-block-warning-bg);
336
+
337
+ --htl-custom-block-details-border: var(--htl-c-divider-light);
338
+ --htl-custom-block-details-text: var(--htl-c-text-2);
339
+ --htl-custom-block-details-bg: var(--htl-c-white-soft);
340
+ --htl-custom-block-details-code-bg: var(---htl-custom-block-details-bg);
341
+
342
+ }
343
+
344
+ .dark {
345
+ --htl-custom-block-details-border: var(--htl-c-divider-light);
346
+ --htl-custom-block-details-bg: var(--htl-c-black-mute);
347
+ --htl-custom-block-details-code-bg: var(--htl-c-gray-dark-4);
348
+
349
+ --htl-custom-block-tip-border: var(--htl-c-green-dimm-2);
350
+ --htl-custom-block-tip-text: var(--htl-c-green-light);
351
+
352
+ --htl-custom-block-caution-border: var(--htl-c-yellow-dimm-2);
353
+ --htl-custom-block-caution-text: var(--htl-c-yellow-light);
354
+
355
+ --htl-custom-block-warning-border: var(--htl-c-red-dimm-2);
356
+ --htl-custom-block-warning-text: var(--htl-c-red-light);
357
+ }
358
+
359
+ /**
360
+ * Component: Nav
361
+ * -------------------------------------------------------------------------- */
362
+
363
+ :root {
364
+ --htl-nav-height: var(--htl-nav-height-mobile);
365
+ --htl-nav-height-mobile: 56px;
366
+ --htl-nav-height-desktop: 72px;
367
+ }
368
+
369
+ @media (min-width: 960px) {
370
+ :root {
371
+ --htl-nav-height: var(--htl-nav-height-desktop);
372
+ }
373
+ }
374
+
375
+ /**
376
+ * Component: Sidebar
377
+ * -------------------------------------------------------------------------- */
378
+
379
+ :root {
380
+ --htl-sidebar-width: 272px;
381
+ }
382
+
383
+ /**
384
+ * Component: Home
385
+ * -------------------------------------------------------------------------- */
386
+
387
+ :root {
388
+ --htl-home-hero-name-color: var(--htl-c-brand);
389
+ --htl-home-hero-name-background: transparent;
390
+
391
+ --htl-home-hero-image-background-image: none;
392
+ --htl-home-hero-image-filter: none;
393
+ }
package/ui/index.html ADDED
@@ -0,0 +1,230 @@
1
+ <html lang="en-US"><head>
2
+
3
+ <head>
4
+ <base href="">
5
+ <script>
6
+ var siteBaseLocation = window.location.protocol + '//' + window.location.host + "/";
7
+ var baseTag = document.getElementsByTagName('base')[0];
8
+ baseTag.href = siteBaseLocation;
9
+ </script>
10
+
11
+ <title>Hornbill ESP Platform Documentation | Hornbill Platform</title>
12
+ <meta charset="utf-8">
13
+ <meta name="viewport" content="width=device-width,initial-scale=1">
14
+ <meta name="description" content="Internal documentation for the Hornbill ESP Platform">
15
+
16
+ <script src="https://code.jquery.com/jquery-3.6.1.min.js" integrity="sha256-o88AwQnZB+VDvE9tvIXrMQaPlFFSUTR+nldQm1LuPXQ=" crossorigin="anonymous"></script>
17
+ <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
18
+
19
+ <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.9.1/font/bootstrap-icons.css">
20
+
21
+ <style>
22
+ .hb-hidden
23
+ {
24
+ visibility:hidden;
25
+ }
26
+
27
+ </style>
28
+ <script>
29
+ var ThemePreference = localStorage.getItem('hdocbook-theme-appearance') || '';
30
+ const prefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches
31
+ if (!ThemePreference || ThemePreference === 'auto' ? prefersDark : ThemePreference === 'dark') {
32
+ ThemePreference = "dark";
33
+ document.documentElement.classList.add('dark')
34
+ }
35
+
36
+ function loadJS(arrFiles,callback)
37
+ {
38
+ // Head tag
39
+ var head = document.getElementsByTagName('head')[0]
40
+
41
+ // Creating script element
42
+ var loadedCount = 0;
43
+ for(let x=0;x<arrFiles.length;x++)
44
+ {
45
+ var script = document.createElement('script');
46
+ script.src = arrFiles[x];
47
+ script.type = 'text/javascript';
48
+ script.async=false;
49
+
50
+ script.onload=function()
51
+ {
52
+ loadedCount++;
53
+ if(loadedCount===arrFiles.length)callback();
54
+ }
55
+
56
+ // Adding script element
57
+ head.append(script);
58
+ }
59
+ }
60
+
61
+ function loadCss(arrFiles,callback)
62
+ {
63
+ // Head tag
64
+ var head = document.getElementsByTagName('head')[0]
65
+
66
+ // Creating link element
67
+ var loadedCount = 0;
68
+ for(let x=0;x<arrFiles.length;x++)
69
+ {
70
+ // Creating link element
71
+ var style = document.createElement('link') ;
72
+ style.href = arrFiles[x];
73
+ style.type = 'text/css';
74
+ style.rel = 'stylesheet';
75
+ style.async=false;
76
+
77
+ style.onload=function()
78
+ {
79
+ loadedCount++;
80
+ if(loadedCount===arrFiles.length)callback();
81
+ }
82
+
83
+ head.append(style);
84
+
85
+ }
86
+ }
87
+
88
+
89
+ </script>
90
+
91
+ <!-- template for nav item section -->
92
+ <script type="text/x-template" id="nav-section-template">
93
+ <section class="DocSidebarGroup" v-bind:class="{collapsible: asection.items && asection.items.length}">
94
+ <div class="title" v-on:click="toggleNavCollapse(asection)">
95
+ <div class="action">
96
+ <div v-if="asection.items && asection.items.length" class="icon">
97
+ <i v-bind:class="{'bi bi-chevron-right': !asection.expand,'bi bi-chevron-down': asection.expand}" class="bi"></i>
98
+ </div>
99
+ </div>
100
+ <a class="title-text">{{asection.text}}</a>
101
+ </div>
102
+ <div v-show="asection.expand" v-for="(navSectionItem, index) in asection.items" class="items">
103
+
104
+ <!-- if navSectionItem has no items show clickable link -->
105
+ <div v-if="!navSectionItem.items">
106
+ <a class="DocLink link noitems" v-bind:href="navSectionItem.link" v-bind:target="navSectionItem.target || ''" style="padding-left: 0px;">
107
+ <span class="link-text">{{navSectionItem.text}} <i v-if="navSectionItem.target" class="bi bi-box-arrow-up-right"></i> </span>
108
+ </a>
109
+ </div>
110
+
111
+ <nav-section-component v-if="navSectionItem.items" v-bind:asection="navSectionItem"></nav-section-component>
112
+
113
+ </div>
114
+ </section>
115
+ </script>
116
+ <!-- eof template-->
117
+
118
+ </head>
119
+
120
+ <body>
121
+
122
+ <div id="vDocDevApp" class="hb-hidden Layout hb-container-vertical" v-on:click="resetMobileMenu($event)">
123
+ <!-- top toolbar -->
124
+ <div class="toolbar-layout hb-container-horizontal">
125
+
126
+ <div class="hb-center-v">
127
+ <button class="mobile-menu-btn" v-on:click="toggleMobileMenu()"><i class="bi bi-list-ul"></i></button>
128
+ </div>
129
+ <div class="toolbar-logo">
130
+ <div class="toolbar-logo-image"></div>
131
+ </div>
132
+ <div class="toolbar-split"></div>
133
+ <div class="toolbar-middle hb-center-v hb-container-expand">
134
+
135
+ <h2 class="title">{{docApp.title}}</h2>
136
+ <h6 class="description">{{docApp.description}}</h6>
137
+ <!-- could generate nav bar based on library settings -->
138
+ <!--
139
+ <ul class="nav-bar-nav-list">
140
+ <li class="nav-bar-item active">
141
+ <a>Documentation</a>
142
+ </li>
143
+ </ul>
144
+ -->
145
+ </div>
146
+ <div class="toolbar-right hb-center-v">
147
+ <!-- theme switch -->
148
+ <label class="theme-switch" >
149
+ <input class="theme-switch-checkbox" type="checkbox" v-on:change="switchViewTheme()">
150
+ <span class="slider round">
151
+ </span>
152
+ </label>
153
+
154
+ </div>
155
+ </div>
156
+
157
+ <!-- 100% horizontal col below toolbar and auto adjust vertical to take rest of avail height -->
158
+ <div class="main-layout hb-container-horizontal hb-container-expand">
159
+
160
+ <!-- the left hand nav col -->
161
+ <aside class="DocSidebar hb-container-vertical">
162
+
163
+ <nav class="nav hb-container-expand" id="DocSidebarNav" aria-labelledby="sidebar-aria-label" tabindex="-1">
164
+ <div v-for="(navSection,index) in docApp.navSections" class="group">
165
+ <nav-section-component :key="updateCounter" v-bind:asection="navSection"></nav-section-component>
166
+ </div>
167
+ </nav>
168
+
169
+ </aside>
170
+
171
+ <!-- the right hand content col -->
172
+ <div class="DocContent hb-container-expand hb-container-vertical" id="DocContent">
173
+ <div class="HTL-doc content-wrapper hb-container-expand">
174
+ <div class="injected-document-container hb-container-horizontal">
175
+
176
+ <div class="injected-document-content"></div>
177
+
178
+ <!-- table of contents -->
179
+ <div v-if="docApp.tableOfContents.length" class="injected-document-toc">
180
+ <div class="panel-header">
181
+ <span class="icon">
182
+ <i class="bi bi-list-ul"></i>
183
+ </span>
184
+ <span class="title">In This Document</span>
185
+ </div>
186
+ <div class="panel-content">
187
+ <div v-for="tocItem in docApp.tableOfContents" :class="tocItem.tagName">
188
+ <a :href="tocItem.href">{{tocItem.eleText}}</a>
189
+ </div>
190
+ </div>
191
+ </div>
192
+ </div>
193
+
194
+ </div>
195
+ </div>
196
+
197
+ </div>
198
+
199
+ </div> <!-- <div class="main hb-vertical-expand"> -->
200
+
201
+ </body>
202
+ <script>
203
+
204
+ //-- we load these like this as we have set the BASE location of the document - so have to load these after doc
205
+ loadCss([
206
+ "css/theme-default/styles/fonts.css",
207
+ "css/theme-default/styles/vars.css",
208
+ "css/theme-default/styles/base.css",
209
+ "css/theme-default/styles/htldoc.layouts.css",
210
+
211
+ "css/theme-default/styles/components/htl-doc.css",
212
+ "css/theme-default/styles/components/sidebar.css",
213
+ "css/theme-default/styles/components/content.css",
214
+ "css/theme-default/styles/components/custom-block.css",
215
+
216
+ "js/highlightJS/styles/vs2015.css"
217
+ ], function()
218
+ {
219
+ //-- required js + 3rd party libs
220
+ setTimeout(function()
221
+ {
222
+ loadJS(["js/doc.hornbill.js","js/highlightJs/highlight.pack.js","js/highlightjs-badge.js"],function()
223
+ {
224
+ intialiseApp();
225
+ });
226
+ },50);
227
+ });
228
+
229
+ </script>
230
+ </html>