Skip to content

Commit 43abdf3

Browse files
committed
build: update to support reveal-md 6.1.3 and reveal.js 5.1.0
1 parent e925c3f commit 43abdf3

7 files changed

+183
-138
lines changed

.mise.toml

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[tools]
2+
node = "latest"
3+
bun = "latest"

.tool-versions

-1
This file was deleted.

bun.lockb

44.1 KB
Binary file not shown.

patches/reveal-md+5.5.2.patch

-13
This file was deleted.

patches/reveal.js+4.5.0.patch patches/reveal.js+5.1.0.patch

+74-64
Large diffs are not rendered by default.

reveal-md.json

+4-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,10 @@
33
"separator": "\n---\n",
44
"verticalSeparator": "\n--\n",
55
"revealOptions": {
6-
"auto-animate": true
6+
"auto-animate": true,
7+
"slideNumber": false,
8+
"scrollProgress": true,
9+
"view": "vertical"
710
},
811
"scripts": [
912
"https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.6/clipboard.min.js"

theme/my-reveal.html

+102-59
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
1-
<!DOCTYPE html>
1+
<!doctype html>
22
<html lang="en">
3-
4-
<head>
3+
<head>
54
<meta charset="utf-8" />
6-
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
5+
<meta
6+
name="viewport"
7+
content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"
8+
/>
79

810
<title>{{{title}}}</title>
911
{{#absoluteUrl}}
@@ -15,103 +17,144 @@
1517
<link rel="shortcut icon" href="{{{base}}}/favicon.ico" />
1618
<link rel="stylesheet" href="{{{base}}}/dist/reset.css" />
1719
<link rel="stylesheet" href="{{{base}}}/dist/reveal.css" />
18-
<link rel="stylesheet" href="{{{base}}}/dist/reveal.css" />
1920
<link rel="stylesheet" href="{{{themeUrl}}}" id="theme" />
2021
<link rel="stylesheet" href="{{{base}}}{{{highlightThemeUrl}}}" />
2122
<!-- My added plugin stylecheets -->
23+
<link
24+
rel="stylesheet"
25+
href="{{{base}}}/plugin/attribution/attribution.css"
26+
/>
27+
<link rel="stylesheet" href="{{{base}}}/plugin/copycode/copycode.css" />
2228
<link rel="stylesheet" href="{{{base}}}/plugin/drawer/drawer.css" />
29+
<link
30+
rel="stylesheet"
31+
href="{{{base}}}/plugin/highlight/gruvbox-dark-medium.css"
32+
/>
2333
<link rel="stylesheet" href="{{{base}}}/plugin/pointer/pointer.css" />
24-
<link rel="stylesheet" href="{{{base}}}/plugin/copycode/copycode.css" />
25-
<link rel="stylesheet" href="{{{base}}}/plugin/attribution/attribution.css" />
26-
<link rel="stylesheet" href="{{{base}}}/plugin/highlight/gruvbox-dark-medium.css" />
27-
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
34+
<link
35+
rel="stylesheet"
36+
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"
37+
/>
2838

2939
{{#cssPaths}}
3040
<link rel="stylesheet" href="{{{.}}}" />
3141
{{/cssPaths}} {{#watch}}
3242

3343
<script>
34-
document.write(
35-
'<script src="http://' +
36-
(location.host || 'localhost').split(':')[0] +
37-
':35729/livereload.js?snipver=1"></' +
38-
'script>'
39-
)
44+
document.write(
45+
'<script src="http://' +
46+
(location.host || "localhost").split(":")[0] +
47+
':35729/livereload.js?snipver=1"></' +
48+
"script>",
49+
);
4050
</script>
4151
{{/watch}}
42-
</head>
43-
44-
<body>
52+
</head>
53+
<body>
4554
<div class="reveal">
46-
<div class="slides">{{{slides}}}</div>
55+
<div class="slides">
56+
<section data-markdown {{{slidifyAttributes}}}>
57+
<textarea data-template>
58+
{{{markdown}}}
59+
</textarea>
60+
</section>
61+
</div>
4762
</div>
4863

4964
<script src="{{{base}}}/dist/reveal.js"></script>
5065

66+
{{#mermaidOptionsStr}}
67+
<script src="{{{base}}}/mermaid/dist/mermaid.min.js"></script>
68+
{{/mermaidOptionsStr}}
69+
5170
<script src="{{{base}}}/plugin/markdown/markdown.js"></script>
5271
<script src="{{{base}}}/plugin/highlight/highlight.js"></script>
5372
<script src="{{{base}}}/plugin/zoom/zoom.js"></script>
5473
<script src="{{{base}}}/plugin/notes/notes.js"></script>
5574
<script src="{{{base}}}/plugin/math/math.js"></script>
5675
<!-- My added plugins -->
57-
<script src="{{{base}}}/plugin/drawer/drawer.js"></script>
58-
<script src="{{{base}}}/plugin/pointer/pointer.js"></script>
59-
<script src="{{{base}}}/plugin/copycode/copycode.js"></script>
6076
<script src="{{{base}}}/plugin/animated/revealjs-animated.js"></script>
6177
<script src="{{{base}}}/plugin/attribution/plugin.js"></script>
62-
<script src="{{{base}}}/plugin/fullscreen/plugin.js"></script>
78+
<script src="{{{base}}}/plugin/copycode/copycode.js"></script>
79+
<script src="{{{base}}}/plugin/drawer/drawer.js"></script>
6380
<script src="{{{base}}}/plugin/elapsed-time-bar/elapsed-time-bar.js"></script>
81+
<script src="{{{base}}}/plugin/fullscreen/plugin.js"></script>
82+
<script src="{{{base}}}/plugin/pointer/pointer.js"></script>
6483
<script src="https://unpkg.com/@bitjson/qr-code@1.0.2/dist/qr-code.js"></script>
6584
<script src="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/js/all.min.js"></script>
6685
<script>
67-
function extend() {
68-
var target = {};
69-
for (var i = 0; i < arguments.length; i++) {
70-
var source = arguments[i];
71-
for (var key in source) {
72-
if (source.hasOwnProperty(key)) {
73-
target[key] = source[key];
74-
}
75-
}
86+
function extend() {
87+
var target = {};
88+
for (var i = 0; i < arguments.length; i++) {
89+
var source = arguments[i];
90+
for (var key in source) {
91+
if (source.hasOwnProperty(key)) {
92+
target[key] = source[key];
7693
}
77-
return target;
94+
}
7895
}
96+
return target;
97+
}
7998

80-
// default options to init reveal.js
81-
var defaultOptions = {
82-
controls: true,
83-
progress: true,
84-
history: true,
85-
center: true,
86-
transition: 'default', // none/fade/slide/convex/concave/zoom
87-
plugins: [
88-
RevealMarkdown,
89-
RevealHighlight,
90-
RevealZoom,
91-
RevealNotes,
92-
RevealMath,
93-
// My added plugins
94-
CopyCode,
95-
RevealPointer,
96-
RevealDrawer,
97-
RevealAttribution,
98-
RevealFullscreen,
99-
]
100-
};
99+
// default options to init reveal.js
100+
var defaultOptions = {
101+
controls: true,
102+
progress: true,
103+
history: true,
104+
center: true,
105+
transition: 'default', // none/fade/slide/convex/concave/zoom
106+
slideNumber: true,
107+
highlight: {
108+
highlightOnLoad: false
109+
},
110+
plugins: [
111+
RevealMarkdown,
112+
RevealHighlight,
113+
RevealZoom,
114+
RevealNotes,
115+
RevealMath,
116+
// My added plugins
117+
CopyCode,
118+
RevealAttribution,
119+
RevealDrawer,
120+
RevealFullscreen,
121+
RevealPointer,
122+
]
123+
};
101124

102-
// options from URL query string
103-
var queryOptions = Reveal().getQueryHash() || {};
125+
// options from URL query string
126+
var queryOptions = Reveal().getQueryHash() || {};
104127

105-
var options = extend(defaultOptions, {{{revealOptionsStr}}}, queryOptions);
128+
var options = extend(defaultOptions, {{{revealOptionsStr}}}, queryOptions);
106129
</script>
107130

108131
{{#scriptPaths}}
109132
<script src="{{{.}}}"></script>
110133
{{/scriptPaths}}
111134

112135
<script>
113-
Reveal.initialize(options)
136+
Reveal.initialize(options);
137+
Reveal.addEventListener("ready", function (event) {
138+
const blocks = Reveal.getRevealElement().querySelectorAll(
139+
"pre code:not(.mermaid)",
140+
);
141+
const hlp = Reveal.getPlugin("highlight");
142+
blocks.forEach(hlp.highlightBlock);
143+
});
114144
</script>
115-
</body>
116145

146+
{{#mermaidOptionsStr}}
147+
<script>
148+
const mermaidOptions = extend({ startOnLoad: false }, {{{mermaidOptionsStr}}});
149+
mermaid.startOnLoad = false;
150+
mermaid.initialize(mermaidOptions);
151+
const cb = function (event) {
152+
mermaid.init(mermaidOptions, '.stack.present > .present pre code.mermaid');
153+
mermaid.init(mermaidOptions, '.slides > .present:not(.stack) pre code.mermaid');
154+
}
155+
Reveal.addEventListener('ready', cb);
156+
Reveal.addEventListener('slidetransitionend', cb);
157+
</script>
158+
{{/mermaidOptionsStr}}
159+
</body>
117160
</html>

0 commit comments

Comments
 (0)