@hyperbook/markdown 0.16.0 → 0.17.1

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.
@@ -0,0 +1,65 @@
1
+ :root {
2
+ --color-background: #1e1e1e;
3
+ --color-text: #f5f5f5;
4
+ --color-text-deactivated: #d6d6d6;
5
+ --color-nav: #222222;
6
+ --color-nav-border: #464646;
7
+ --color-author-background: #2c2c2c;
8
+ --color-author-color: #d6d6d6;
9
+ --color-spacer: #3c3c3c;
10
+ --color-brand: var(--color-brand-dark);
11
+ }
12
+
13
+ header {
14
+ background: var(--color-nav) !important;
15
+ }
16
+
17
+ .branding {
18
+ color: var(--color-brand) !important;
19
+ }
20
+
21
+ .toggle .bar1,
22
+ .toggle .bar2,
23
+ .toggle .bar3 {
24
+ background-color: var(--color-brand) !important;
25
+ }
26
+
27
+ figure[data-rehype-pretty-code-figure] pre,
28
+ code[data-theme*=" "],
29
+ code[data-theme*=" "] span {
30
+ color: var(--shiki-dark);
31
+ background-color: var(--shiki-dark-bg);
32
+ }
33
+
34
+ [data-highlighted-chars] {
35
+ background-color: var(--color-spacer) !important;
36
+ }
37
+
38
+ [data-rehype-pretty-code-title] {
39
+ color: var(--color-text);
40
+ background-color: var(--color-spacer);
41
+ border-color: var(--color-spacer);
42
+ }
43
+
44
+ [data-highlighted-line] {
45
+ background: var(--color-spacer) !important;
46
+ }
47
+
48
+ [data-char-id] {
49
+ background-color: var(--color-spacer);
50
+ }
51
+
52
+ [data-chars-id="r"] {
53
+ background-color: #9f123980 !important;
54
+ color: rgb(249, 168, 212) !important;
55
+ }
56
+
57
+ [data-chars-id="y"] {
58
+ background-color: #854d0e80 !important;
59
+ color: rgb(253, 224, 71) !important;
60
+ }
61
+
62
+ [data-chars-id="l"] {
63
+ background-color: #6b21a880 !important;
64
+ color: rgb(233, 213, 255) !important;
65
+ }
@@ -20,7 +20,6 @@ hyperbook.mermaid = (function () {
20
20
  .replace(/"/g, """)
21
21
  .replace(/'/g, "'");
22
22
  element.innerHTML = escapedData;
23
- console.log(element.innerHTML);
24
23
  }
25
24
  count--;
26
25
  if (count == 0) {
@@ -34,24 +33,20 @@ hyperbook.mermaid = (function () {
34
33
  };
35
34
 
36
35
  const init = () => {
37
- const colorSchemeQueryList = window.matchMedia(
38
- "(prefers-color-scheme: dark)",
39
- );
36
+ const toggle = document.querySelector("dark-mode-toggle");
37
+ if (toggle?.mode == "dark") {
38
+ resetProcessed().then(loadMermaid("dark")).catch(console.error);
39
+ } else {
40
+ resetProcessed().then(loadMermaid("default")).catch(console.error);
41
+ }
40
42
 
41
- const setColorScheme = (e) => {
42
- if (e.matches) {
43
+ document.addEventListener("colorschemechange", (e) => {
44
+ if (e.detail.colorScheme === "dark") {
43
45
  resetProcessed().then(loadMermaid("dark")).catch(console.error);
44
46
  } else {
45
47
  resetProcessed().then(loadMermaid("default")).catch(console.error);
46
48
  }
47
- };
48
-
49
- if (colorSchemeQueryList.matches) {
50
- resetProcessed().then(loadMermaid("dark")).catch(console.error);
51
- } else {
52
- resetProcessed().then(loadMermaid("default")).catch(console.error);
53
- }
54
- colorSchemeQueryList.addEventListener("change", setColorScheme);
49
+ });
55
50
  };
56
51
 
57
52
  init();
@@ -0,0 +1,47 @@
1
+ :root {
2
+ --color-background: white;
3
+ --color-text: black;
4
+ --color-text-deactivated: #242428;
5
+ --color-nav: #f5f5f5;
6
+ --color-nav-border: #3c3c3c;
7
+ --color-author-background: #d6d6d6;
8
+ --color-author-color: #3c3c3c;
9
+ --color-spacer: #a4a4a4;
10
+ }
11
+
12
+ figure[data-rehype-pretty-code-figure] pre,
13
+ code[data-theme*=" "],
14
+ code[data-theme*=" "] span {
15
+ color: var(--shiki-light);
16
+ background-color: var(--shiki-light-bg);
17
+ }
18
+
19
+ [data-rehype-pretty-code-title] {
20
+ color: var(--color-text);
21
+ background-color: var(--color-nav);
22
+ border-color: var(--color-spacer);
23
+ }
24
+
25
+ [data-highlighted-line] {
26
+ background: var(--color-nav) !important;
27
+ }
28
+
29
+ [data-rehype-pretty-code-title] {
30
+ border-color: var(--color-spacer);
31
+ color: var(--color-text);
32
+ }
33
+
34
+ [data-chars-id="r"] {
35
+ color: #9f123980 !important;
36
+ background-color: rgb(249, 168, 212) !important;
37
+ }
38
+
39
+ [data-chars-id="y"] {
40
+ color: #854d0e80 !important;
41
+ background-color: rgb(253, 224, 71) !important;
42
+ }
43
+
44
+ [data-chars-id="l"] {
45
+ color: #6b21a880 !important;
46
+ background-color: rgb(233, 213, 255) !important;
47
+ }
@@ -1,6 +1,5 @@
1
1
  :root {
2
2
  --internal-color-error: #d26466;
3
- --app-height: 100dvh;
4
3
  }
5
4
 
6
5
  .main-grid * {
@@ -17,6 +16,11 @@ a {
17
16
  color: var(--color-brand);
18
17
  }
19
18
 
19
+ #dark-mode-toggle {
20
+ margin-right: 16px;
21
+ line-height: 1;
22
+ }
23
+
20
24
  ul,
21
25
  ol,
22
26
  li {
@@ -190,8 +194,11 @@ a.jump.previous::before {
190
194
  .main-grid {
191
195
  font-family: hyperbook-body, sans-serif;
192
196
  display: grid;
193
- height: var(--app-height);
194
- width: 100dvw;
197
+ position: fixed;
198
+ left: 0;
199
+ right: 0;
200
+ top: 0;
201
+ bottom: 0;
195
202
  grid-template-columns: 300px 1fr;
196
203
  grid-template-rows: 80px 1fr;
197
204
  grid-template-areas:
@@ -202,8 +209,8 @@ a.jump.previous::before {
202
209
  .nav-drawer-content {
203
210
  display: flex;
204
211
  flex-direction: column;
212
+ height: 100%;
205
213
  grid-area: nav;
206
- height: calc(var(--app-height));
207
214
  overflow-y: auto;
208
215
  }
209
216
 
@@ -211,7 +218,6 @@ a.jump.previous::before {
211
218
  display: flex;
212
219
  flex-direction: column;
213
220
  grid-area: nav;
214
- height: calc(var(--app-height) - 80px);
215
221
  overflow-y: auto;
216
222
  border-right-style: solid;
217
223
  border-right-width: 1px;
package/dist/index.js CHANGED
@@ -64122,8 +64122,10 @@ var makeRootCssElement = ({
64122
64122
  let rootCss = `
64123
64123
  html,
64124
64124
  body {
64125
- overflow-x: hidden;
64125
+ overflow: hidden;
64126
64126
  margin: 0;
64127
+ height: 100dvh;
64128
+ width: 100dvw;
64127
64129
  }
64128
64130
 
64129
64131
  body {
@@ -64183,45 +64185,6 @@ body::-webkit-scrollbar {
64183
64185
  `;
64184
64186
  }
64185
64187
  rootCss += `
64186
- :root {
64187
- --color-background: white;
64188
- --color-text: black;
64189
- --color-text-deactivated: #242428;
64190
- --color-nav: #f5f5f5;
64191
- --color-nav-border: #3c3c3c;
64192
- --color-author-background: #d6d6d6;
64193
- --color-author-color: #3c3c3c;
64194
- --color-spacer: #a4a4a4;
64195
- }
64196
-
64197
- @media (prefers-color-scheme: dark) {
64198
- :root {
64199
- --color-background: #1e1e1e;
64200
- --color-text: #f5f5f5;
64201
- --color-text-deactivated: #d6d6d6;
64202
- --color-nav: #222222;
64203
- --color-nav-border: #464646;
64204
- --color-author-background: #2c2c2c;
64205
- --color-author-color: #d6d6d6;
64206
- --color-spacer: #3c3c3c;
64207
- --color-brand: var(--color-brand-dark);
64208
- }
64209
-
64210
- header {
64211
- background: var(--color-nav)!important;
64212
- }
64213
-
64214
- .branding {
64215
- color: var(--color-brand)!important;
64216
- }
64217
-
64218
- .toggle .bar1,
64219
- .toggle .bar2,
64220
- .toggle .bar3 {
64221
- background-color: var(--color-brand)!important;
64222
- }
64223
- }
64224
-
64225
64188
  body {
64226
64189
  overscroll-behavior-x: none;
64227
64190
  background-color: transparent;
@@ -64346,6 +64309,52 @@ var rehypeHtmlStructure_default = (ctx) => () => {
64346
64309
  children: []
64347
64310
  },
64348
64311
  makeRootCssElement(ctx),
64312
+ {
64313
+ type: "element",
64314
+ tagName: "noscript",
64315
+ properties: {
64316
+ id: "dark-mode-toggle-stylesheets"
64317
+ },
64318
+ children: [
64319
+ {
64320
+ type: "element",
64321
+ tagName: "link",
64322
+ properties: {
64323
+ rel: "stylesheet",
64324
+ href: makeUrl(["light.css"], "assets"),
64325
+ media: "(prefers-color-scheme: light)"
64326
+ },
64327
+ children: []
64328
+ },
64329
+ {
64330
+ type: "element",
64331
+ tagName: "link",
64332
+ properties: {
64333
+ rel: "stylesheet",
64334
+ href: makeUrl(["dark.css"], "assets"),
64335
+ media: "(prefers-color-scheme: dark)"
64336
+ },
64337
+ children: []
64338
+ }
64339
+ ]
64340
+ },
64341
+ {
64342
+ type: "element",
64343
+ tagName: "script",
64344
+ properties: {
64345
+ src: makeUrl(["dark-mode-toggle-stylesheets-loader.js"], "assets")
64346
+ },
64347
+ children: []
64348
+ },
64349
+ {
64350
+ type: "element",
64351
+ tagName: "script",
64352
+ properties: {
64353
+ type: "module",
64354
+ src: makeUrl(["dark-mode-toggle.mjs"], "assets")
64355
+ },
64356
+ children: []
64357
+ },
64349
64358
  {
64350
64359
  type: "element",
64351
64360
  tagName: "link",
@@ -65126,6 +65135,16 @@ var makeHeaderElements = (ctx) => {
65126
65135
  ]
65127
65136
  });
65128
65137
  }
65138
+ elements.push({
65139
+ type: "element",
65140
+ tagName: "dark-mode-toggle",
65141
+ properties: {
65142
+ id: "dark-mode-toggle",
65143
+ appearence: "switch",
65144
+ permanent: true
65145
+ },
65146
+ children: []
65147
+ });
65129
65148
  return [
65130
65149
  {
65131
65150
  type: "element",