$ cat node-template.py
Presentation Composer
// Assembles Reveal.js slide sections into a complete presentation. Outputs a self-contained HTML file viewable in any browser.
Output
Document
template.py
1import sys2import json3import traceback4import re5import html as html_module67REVEALJS_VERSION = "5.2.1"8REVEALJS_CDN = f"https://cdn.jsdelivr.net/npm/reveal.js@{REVEALJS_VERSION}"910# Allowed themes and transitions (for sanitization)11VALID_THEMES = {12 "white", "black", "moon", "league", "beige", "sky",13 "night", "serif", "simple", "solarized", "blood", "dracula",14 "polizia-postale",15}16VALID_TRANSITIONS = {"slide", "fade", "convex", "concave", "zoom", "none"}1718_PP_HEADER_LEFT_B64 = "iVBORw0KGgoAAAANSUhEUgAABEwAAABaCAYAAACiwcMvAAACW0lEQVR42u3dMa1CARBFwfMIrhCECVxgBQcIu3RUv4QfihkJW57cZI9tCwAAAIC3kxMAAAAAJJgAAAAAJJgAAAAAJJgAAAAAJJgAAAAAJJgAAAAAJJgAAAAAJJgAAAAAJJgAAAAAJJgAAAAAJJgAAAAAJJgAAAAAJJgAAAAAJJgAAAAAJJgAAAAAJJgAAAAAJJgAAAAAJJgAAAAAJJgAAAAAkGACAAAA8Lfz9f50BQAAAIAsTAAAAAASTAAAAAASTAAAAAASTAAAAAASTAAAAAASTAAAAAASTAAAAAASTAAAAAASTAAAAAASTAAAAAASTAAAAAASTAAAAAASTAAAAAASTAAAAAASTAAAAAASTAAAAAASTAAAAAASTAAAAACoBBMAAACABBMAAACABBMAAACABBMAAACABBMAAACABBMAAACABBMAAACABBMAAACABBMAAACABBMAAACABBMAAACABBMAAACABBMAAACABBMAAACABBMAAACABBMAAACABBMAAACABBMAAACABBMAAAAAEkwAAAAAEkwAAAAAEkwAAAAAEkwAAAAAEkwAAAAAEkwAAAAAEkwAAAAAEkwAAAAAEkwAAAAAEkwAAAAAftSxbc4AAAAAkIUJAAAAQIIJAAAAQIIJAAAAQIIJAAAAQIIJAAAAQIIJAAAAwHcdj8vNW2EAAACALEwAAAAAEkwAAAAAEkwAAAAAEkwAAAAAEkwAAAAAEkwAAAAAEkwAAAAA/tWxbc4AAAAAkIUJAAAAQIIJAAAAQIIJAAAAQIIJAAAAQIIJAAAAwKe9AAqmEM4FhpD/AAAAAElFTkSuQmCC"19_PP_LOGO_B64 = "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"20_PP_BG_BOTTOM_B64 = "iVBORw0KGgoAAAANSUhEUgAABQAAAAAUCAIAAABd+QeKAAAAgklEQVR42u3XQREAAAjDMMC/5+Fjl0jor5tkAAAAoN1JAAAAgAEGAAAAAwwAAAAGGAAAAAwwAAAAGGAAAAAwwAAAAGCAAQAAwAADAABggAEAAMAAAwAAgAEGAAAAAwwAAAAGGAAAAAwwAAAAGGAAAAAwwAAAAGCAAQAAMMAAAADQ7QGFZQMlxsnWXQAAAABJRU5ErkJggg=="21_PP_STEMMA_B64 = "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"22_PP_STEMMA_URI = "data:image/png;base64," + _PP_STEMMA_B642324_PP_CSS = '''25 /* Polizia Postale — Institutional Theme (from original PPTX) */26 :root {27 --pp-blue: #6692C2;28 --pp-navy: #1F3863;29 --pp-accent: #5B9BD5;30 --pp-crimson: #B91C3E;31 --pp-white: #ffffff;32 --pp-light-grey: #f5f6f8;33 --pp-green: #00B050;34 --pp-red: #FF0000;35 }36 .reveal {37 font-family: Calibri, "Calibri Light", "Segoe UI", Arial, sans-serif;38 font-size: 20px;39 color: var(--pp-navy);40 }41 /* Split header: left image (blue bar + red line, stretches) + fixed-size logo on right */42 .reveal::before {43 content: "";44 position: absolute;45 top: 0; left: 0; right: 0;46 height: 70px;47 background:48 url(data:image/png;base64,__PP_LOGO__) no-repeat right 0 top 0 / 140px 70px,49 url(data:image/png;base64,__PP_HEADER_LEFT__) no-repeat left top / calc(100% - 100px) 70px;50 z-index: 1;51 pointer-events: none;52 }53 .reveal::after {54 content: "";55 position: absolute;56 bottom: 18px;57 left: 0;58 right: 0;59 height: 15px;60 background: linear-gradient(90deg,61 #6692C2 0%, #6692C2 50%,62 #00B050 58%, #00B050 64%,63 #FFFFFF 72%, #FFFFFF 84%,64 #FF0000 92%, #FF0000 100%65 );66 z-index: 100;67 }68 .reveal .slides { text-align: left; }69 .reveal .slides > section {70 padding: 80px 50px 30px 50px;71 }72 .reveal h1, .reveal h2, .reveal h3, .reveal h4 {73 font-family: Calibri, "Calibri Light", "Segoe UI", Arial, sans-serif;74 color: var(--pp-navy);75 font-weight: 600;76 text-transform: none;77 text-shadow: none;78 letter-spacing: 0;79 }80 .reveal h2 { font-size: 1.4em; margin-bottom: 0.5em; }81 .reveal a { color: var(--pp-crimson); }82 .reveal strong { color: var(--pp-crimson); }83 .reveal .progress { color: var(--pp-crimson); }84 .reveal .controls button { color: var(--pp-blue); }8586 /* Intro slide: two-panel layout (emblem left + text right) */87 .reveal .slides section.pp-cover {88 display: flex !important;89 align-items: center;90 justify-content: center;91 padding-top: 80px;92 }93 .reveal .slides section .pp-intro-layout {94 display: flex;95 align-items: center;96 justify-content: center;97 gap: 2.5em;98 width: 100%;99 }100 .reveal .slides section .pp-intro-layout .pp-emblem {101 width: 185px;102 height: auto;103 flex-shrink: 0;104 }105 .reveal .slides section .pp-intro-layout .pp-intro-text {106 text-align: center;107 }108 .reveal .slides section .pp-intro-layout .pp-intro-text h2 {109 font-size: 1.6em;110 font-weight: 700;111 font-style: italic;112 color: var(--pp-navy);113 margin-bottom: 0.3em;114 }115 .reveal .slides section .pp-intro-layout .pp-intro-text .pp-subtitle {116 font-size: 0.75em;117 font-weight: 700;118 font-style: italic;119 color: var(--pp-accent);120 line-height: 1.4;121 text-transform: uppercase;122 }123124 /* Content slide: hide in-slide title (rendered via fixed overlay instead) */125 .reveal .slides section .pp-header-title {126 display: none;127 }128 /* Fixed overlay for header title — outside Reveal transform context */129 #pp-title-overlay {130 position: absolute;131 top: 8px;132 left: 0;133 right: 140px;134 height: 56px;135 display: flex;136 align-items: center;137 padding-left: 42px;138 font-family: Calibri, "Calibri Light", sans-serif;139 font-size: 22px;140 font-weight: 700;141 color: #FFFFFF;142 z-index: 2;143 text-transform: uppercase;144 letter-spacing: 0.5px;145 pointer-events: none;146 }147148 /* Bottom gradient bar (Italian tricolor) for intro slide */149 .reveal .slides section .pp-tricolor-bar { display: none; }150 /* Closing slide */151 .reveal .slides section.pp-closing {152 display: flex !important;153 align-items: center;154 justify-content: center;155 gap: 2em;156 padding-top: 80px;157 }158 .reveal .slides section.pp-closing .pp-emblem {159 width: 185px;160 height: auto;161 }162 .reveal .slides section.pp-closing .pp-closing-text {163 font-size: 1.25em;164 font-weight: 700;165 color: var(--pp-navy);166 }167168 /* Table styles */169 .reveal table { border-collapse: collapse; font-size: 0.7em; width: 100%; }170 .reveal table th { background: var(--pp-blue); color: white; padding: 8px 12px; text-align: left; font-weight: 600; }171 .reveal table td { padding: 6px 12px; border-bottom: 1px solid #dee2e6; }172 .reveal table tr:nth-child(even) td { background: var(--pp-light-grey); }173174 /* List styling */175 .reveal ul, .reveal ol { margin-left: 1em; }176 .reveal li { margin-bottom: 0.4em; line-height: 1.4; }177178 /* Image border-radius for branded slides */179 .reveal .slides section > div[style*="display:flex"] img,180 .reveal .slides section > div[style*="display: flex"] img {181 border-radius: 8px;182 }183'''184185# Custom branded themes with embedded CSS (not available from Reveal.js CDN)186CUSTOM_THEMES = {187 "polizia-postale": _PP_CSS.replace('__PP_HEADER_LEFT__', _PP_HEADER_LEFT_B64).replace('__PP_LOGO__', _PP_LOGO_B64),188}189190191def sanitize_choice(value: str, valid_set: set, default: str) -> str:192 """Ensure a value is from the allowed set."""193 return value if value in valid_set else default194195196def strip_scripts(content: str) -> str:197 """Strip <script> tags from HTML content as defense-in-depth."""198 return re.sub(r'<script[^>]*>.*?</script>', '', content, flags=re.DOTALL | re.IGNORECASE)199200201def build_html(slides_html: str, title: str, theme: str, transition: str) -> str:202 """Build the complete Reveal.js HTML document."""203 safe_title = html_module.escape(title)204205 # For custom themes, embed CSS inline instead of linking CDN206 if theme in CUSTOM_THEMES:207 theme_block = f''' <link rel="stylesheet" href="{REVEALJS_CDN}/dist/theme/white.css">208 <style>{CUSTOM_THEMES[theme]} </style>'''209 else:210 theme_block = f' <link rel="stylesheet" href="{REVEALJS_CDN}/dist/theme/{theme}.css">'211212 return f'''<!doctype html>213<html lang="en">214<head>215 <meta charset="utf-8">216 <meta name="viewport" content="width=device-width, initial-scale=1.0">217 <title>{safe_title}</title>218 <link rel="stylesheet" href="{REVEALJS_CDN}/dist/reset.css">219 <link rel="stylesheet" href="{REVEALJS_CDN}/dist/reveal.css">220{theme_block}221 <style>222 /* Flex layout fix: top-align children and prevent overflow */223 .reveal .slides section div[style*="display:flex"],224 .reveal .slides section div[style*="display: flex"] {{ align-items:flex-start!important; }}225 .reveal .slides section div[style*="flex:1"] {{ min-width:0!important; overflow:hidden; }}226 .reveal .slides section div[style*="flex: 1"] {{ min-width:0!important; overflow:hidden; }}227 .reveal .slides section img:not(.pp-emblem) {{ max-width:100%; height:auto; }}228 </style>229</head>230<body>231 <div class="reveal">232 <div id="pp-title-overlay"></div>233 <div class="slides">234{slides_html}235 </div>236 </div>237 <script src="{REVEALJS_CDN}/dist/reveal.js"></script>238 <script>239 Reveal.initialize({{240 hash: true,241 transition: '{transition}',242 width: 960,243 height: 540,244 margin: 0,245 slideNumber: true,246 controls: true,247 progress: true,248 }});249 var overlay = document.getElementById('pp-title-overlay');250 function syncTitle() {{251 var slide = Reveal.getCurrentSlide();252 var el = slide && slide.querySelector('.pp-header-title');253 overlay.textContent = el ? el.textContent : '';254 }}255 Reveal.on('ready', syncTitle);256 Reveal.on('slidechanged', syncTitle);257 </script>258</body>259</html>'''260261262def main():263 try:264 execution_input = json.loads(sys.stdin.read())265 inputs = execution_input.get("inputs", {})266267 # Get slides — can be array (from Make Array) or string (manual input)268 slides_input = inputs.get("slides")269 title = inputs.get("title", "Presentation") or "Presentation"270 theme = sanitize_choice(inputs.get("theme", "white") or "white", VALID_THEMES, "white")271 transition = sanitize_choice(inputs.get("transition", "slide") or "slide", VALID_TRANSITIONS, "slide")272273 if not slides_input:274 raise ValueError("Required input 'slides' not provided. Connect a Make Array node with slide HTML fragments.")275276 # Handle both array and string input277 if isinstance(slides_input, list):278 # Filter out empty/null entries279 slide_sections = [s for s in slides_input if s and str(s).strip()]280 elif isinstance(slides_input, str):281 # Single string — might contain multiple sections or be a single one282 slides_input = slides_input.strip()283 if slides_input:284 slide_sections = [slides_input]285 else:286 slide_sections = []287 else:288 raise ValueError(f"Unexpected slides input type: {type(slides_input).__name__}")289290 if not slide_sections:291 raise ValueError("No slide content provided. All slide inputs are empty.")292293 print(f"Composing presentation: {len(slide_sections)} slides", file=sys.stderr)294 print(f"Theme: {theme}, Transition: {transition}", file=sys.stderr)295296 # Indent each section for clean HTML formatting297 slides_html = ""298 for i, section in enumerate(slide_sections):299 section = str(section).strip()300 # Ensure each section is wrapped in <section> if not already301 if not section.lower().startswith("<section"):302 section = f"<section>\n{section}\n</section>"303 # Indent for readability304 indented = "\n".join(f" {line}" for line in section.split("\n"))305 slides_html += indented + "\n"306307 # Strip any <script> tags from slide content (defense-in-depth)308 slides_html = strip_scripts(slides_html)309310 # Build complete HTML311 html_content = build_html(slides_html, title, theme, transition)312313 # Replace stemma placeholder with actual base64 data URI (Polizia Postale theme)314 if theme == "polizia-postale":315 html_content = html_content.replace("__PP_STEMMA__", _PP_STEMMA_URI)316317 print(f"Presentation composed: {len(html_content)} bytes, {len(slide_sections)} slides", file=sys.stderr)318319 output = {320 "presentation": html_content,321 }322 print(json.dumps(output))323324 except Exception as e:325 error_output = {326 "error": str(e),327 "errorType": type(e).__name__,328 "traceback": traceback.format_exc(),329 }330 print(json.dumps(error_output), file=sys.stderr)331 sys.exit(1)332333334if __name__ == "__main__":335 main()