## 3. `static/slides_template.html` | |
```html | |
<html> | |
<head> | |
<meta charset="utf-8"> | |
<title>Slide Preview</title> | |
<!-- Reveal.js for slide rendering --> | |
<link rel="stylesheet" href="https://unpkg.com/reveal.js/dist/reveal.css"> | |
<script src="https://unpkg.com/reveal.js/dist/reveal.js"></script> | |
</head> | |
<body class="reveal"> | |
<div class="slides"></div> | |
<script> | |
const data = {{SLIDES_JSON}}; | |
Reveal.initialize({ hash: true, slideNumber: true }); | |
const deck = document.querySelector('.slides'); | |
(data.modules || []).forEach(module => { | |
const sec = document.createElement('section'); | |
const h2 = document.createElement('h2'); h2.textContent = module.title; | |
sec.appendChild(h2); | |
(module.bullets || []).forEach(b => { | |
const p = document.createElement('p'); p.textContent = '• ' + b; | |
sec.appendChild(p); | |
}); | |
deck.appendChild(sec); | |
}); | |
</script> | |
</body> | |
</html> | |
``` | |