<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>article Sandbox Magic: Turn Your Databricks Notebooks into Living Documents and Presentations in Technical Blog</title>
    <link>https://community.databricks.com/t5/technical-blog/sandbox-magic-turn-your-databricks-notebooks-into-living/ba-p/152352</link>
    <description>&lt;BLOCKQUOTE&gt;
&lt;H3&gt;&lt;EM&gt;&lt;STRONG&gt;Your notebooks deserve better than plain markdown.&lt;/STRONG&gt;&lt;/EM&gt;&lt;/H3&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="sandbox-magic-flip-cards.gif" style="width: 400px;"&gt;&lt;img src="https://community.databricks.com/t5/image/serverpage/image-id/25411i6582E3450E22A172/image-size/medium?v=v2&amp;amp;px=400" role="button" title="sandbox-magic-flip-cards.gif" alt="sandbox-magic-flip-cards.gif" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;Markdown documentation can be dull and boring (and ignored in some cases...), the same &lt;EM&gt;used&lt;/EM&gt; to apply to markdown content in notebook cells. What if your notebook documentation was as polished as the engineering behind it, with engaging and interactive content? Enter &lt;STRONG&gt;Sandbox Magic&lt;/STRONG&gt;...&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Sandbox Magic&lt;/STRONG&gt; is an open-source collection of copy-paste-ready patterns that transform Databricks &lt;CODE&gt;%md-sandbox&lt;/CODE&gt; cells into rich, interactive, presentation-quality content - no external tools, no widgets, no cluster required.&lt;/P&gt;
&lt;HR /&gt;
&lt;H2&gt;Ditch the Slide Deck&lt;/H2&gt;
&lt;P&gt;Here's the real unlock: &lt;STRONG&gt;you don't need PowerPoint or Google Slides anymore.&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Think about how presentations typically work on a data platform team. Someone builds a pipeline, then switches to a completely different tool to create slides &lt;EM&gt;about&lt;/EM&gt; that pipeline - re-drawing the architecture, re-typing the config, manually screenshotting outputs. The slides are stale and forgotten before the meeting ends.&lt;/P&gt;
&lt;P&gt;With these patterns, &lt;STRONG&gt;the notebook &lt;EM&gt;is&lt;/EM&gt; the presentation&lt;/STRONG&gt;. Architecture reviews, sprint demos, stakeholder updates, platform governance walkthroughs, onboarding sessions - all of it can live in a Databricks notebook that:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Stays current&lt;/STRONG&gt; - the diagrams and content sit next to the actual code, so they evolve together&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Runs live&lt;/STRONG&gt; - show a stakeholder the real pipeline output in the same notebook that explains the architecture&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Needs no extra tooling&lt;/STRONG&gt; - no slide software licenses, no design skills, no "can someone share the deck?"&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Is version-controlled&lt;/STRONG&gt; - every change is tracked, every version is recoverable, every review is a PR&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;A notebook with styled admonitions, inline architecture diagrams, interactive cards, and vendor icons doesn't just &lt;EM&gt;document&lt;/EM&gt; your platform - it &lt;STRONG&gt;presents&lt;/STRONG&gt; it. And unlike a slide deck gathering dust in someone's Google Drive, a notebook in your workspace is always one click away from the live environment.&lt;/P&gt;
&lt;HR /&gt;
&lt;H2&gt;Examples Available&lt;/H2&gt;
&lt;P&gt;The &lt;STRONG&gt;Sandbox Magic&lt;/STRONG&gt; repo includes examples and code snippets for:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Flip cards&lt;/LI&gt;
&lt;LI&gt;Interactive Quiz Widgets&lt;/LI&gt;
&lt;LI&gt;Diagrams-as-Code&lt;/LI&gt;
&lt;LI&gt;Styled Code Blocks&lt;/LI&gt;
&lt;LI&gt;Admonitions&lt;/LI&gt;
&lt;LI&gt;Images and Carousels&lt;/LI&gt;
&lt;LI&gt;and more...&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;Everything renders directly in the notebook - in the workspace, in a dashboard, in a presentation. No compute. No Python. Just markdown cells doing things you didn't know they could do.&lt;/P&gt;
&lt;HR /&gt;
&lt;H2&gt;Three Patterns Worth Stealing Today&lt;/H2&gt;
&lt;H3&gt;1. Admonitions That Actually Get Read&lt;/H3&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="admonitions.gif" style="width: 400px;"&gt;&lt;img src="https://community.databricks.com/t5/image/serverpage/image-id/25413iF2A01638926876E8/image-size/medium?v=v2&amp;amp;px=400" role="button" title="admonitions.gif" alt="admonitions.gif" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;Walls of text get skimmed. A bright orange warning box with a clear heading? That gets read. Drop these into any notebook to highlight prerequisites, gotchas, breaking changes, or key decisions.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE&gt;&amp;lt;div style="border-left: 4px solid #e65100; background: #fff3e0;
     padding: 16px 20px; border-radius: 4px; margin: 16px 0;"&amp;gt;
  &amp;lt;strong style="color: #bf360c;"&amp;gt;Warning:&amp;lt;/strong&amp;gt;
  This pipeline truncates the target table on each run.
&amp;lt;/div&amp;gt;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Eight color-coded variants are ready to copy - info, note, warning, error, success, tip, config, and goal.&lt;/P&gt;
&lt;H3&gt;2. Architecture Diagrams (as Code) Without Leaving the Notebook&lt;/H3&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="mermaid-diagrams.gif" style="width: 400px;"&gt;&lt;img src="https://community.databricks.com/t5/image/serverpage/image-id/25412i8E509C0CBCEFE934/image-size/medium?v=v2&amp;amp;px=400" role="button" title="mermaid-diagrams.gif" alt="mermaid-diagrams.gif" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;Stop context-switching to draw.io or Lucidchart. With &lt;STRONG&gt;Mermaid&lt;/STRONG&gt; (client-side, no data sent externally) or &lt;STRONG&gt;C4-PlantUML&lt;/STRONG&gt;, you can define your architecture in plain text and render it inline:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE&gt;graph LR
    A[Raw Sources] -&amp;gt; B[Bronze]
    B -&amp;gt; C[Silver]
    C -&amp;gt; D[Gold]
    D -&amp;gt; E[Dashboard]&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;The diagrams live &lt;EM&gt;with&lt;/EM&gt; the code. When the architecture changes, the diagram updates in the same PR. Version-controlled documentation that never goes stale.&lt;/P&gt;
&lt;H3&gt;3. Interactive Cards for Training and Onboarding&lt;/H3&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="cards.gif" style="width: 400px;"&gt;&lt;img src="https://community.databricks.com/t5/image/serverpage/image-id/25414i904BFB9341F02417/image-size/medium?v=v2&amp;amp;px=400" role="button" title="cards.gif" alt="cards.gif" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;Building a team onboarding notebook? A platform governance guide? Use accordion cards, flip cards, and category grids to make dense reference material scannable and engaging - no scrolling through 50 bullet points.&lt;/P&gt;
&lt;P&gt;Hover-to-reveal flip cards are pure CSS (no JavaScript), and the accordion pattern stores all its data in a simple JavaScript array you can edit in seconds.&lt;/P&gt;
&lt;HR /&gt;
&lt;H2&gt;FAQ&lt;/H2&gt;
&lt;P&gt;&lt;STRONG&gt;Does this need a running cluster or warehouse?&lt;/STRONG&gt;&lt;BR /&gt;No. Everything renders in &lt;CODE&gt;%md-sandbox&lt;/CODE&gt; cells using HTML, CSS, and JavaScript. No compute resources are consumed.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Is my diagram data sent anywhere?&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;Mermaid&lt;/STRONG&gt; diagrams render entirely client-side - nothing leaves the browser. If you are using &lt;STRONG&gt;PlantUML&lt;/STRONG&gt; diagrams you can send these to your own PlantUML server for rendering for anything sensitive.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Can I use this outside Databricks?&lt;/STRONG&gt;&lt;BR /&gt;The HTML/CSS/JS patterns work in any environment that renders sandboxed HTML. The &lt;CODE&gt;%md-sandbox&lt;/CODE&gt; directive is Databricks-specific, but the underlying code is portable.&lt;/P&gt;
&lt;HR /&gt;
&lt;H2&gt;Get Started in 60 Seconds&lt;/H2&gt;
&lt;OL&gt;
&lt;LI&gt;Clone or fork the repo: &lt;A href="https://github.com/stackql-labs/sandbox-magic" target="_blank" rel="noopener"&gt;github.com/stackql-labs/sandbox-magic&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;Import the notebooks into your Databricks workspace, this includes the &lt;A href="https://www.databricks.com/learn/free-edition" target="_blank" rel="noopener"&gt;Databricks Free Edition&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;Open any notebook - each one is self-contained with working examples&lt;/LI&gt;
&lt;LI&gt;Copy the patterns you like into your own notebooks&lt;/LI&gt;
&lt;/OL&gt;
&lt;HR /&gt;
&lt;H2&gt;Share Your Hacks!&lt;/H2&gt;
&lt;P&gt;This is an open-source community project and we want to see what &lt;EM&gt;you&lt;/EM&gt; build. Got a clever pattern? A creative use of &lt;CODE&gt;%md-sandbox&lt;/CODE&gt;? A better way to do something we've shown here?&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Open a PR, file an issue, or just star the repo:&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://github.com/stackql-labs/sandbox-magic" target="_blank" rel="noopener"&gt;github.com/stackql-labs/sandbox-magic&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;The best notebook hacks come from practitioners solving real problems. Share yours and help the community level up.&lt;/P&gt;
&lt;HR /&gt;
&lt;P&gt;&lt;EM&gt;Built and maintained by &lt;A href="https://github.com/stackql" target="_blank" rel="noopener"&gt;StackQL Studios&lt;/A&gt;. Contributions welcome.&lt;/EM&gt;&lt;/P&gt;</description>
    <pubDate>Thu, 02 Apr 2026 15:29:29 GMT</pubDate>
    <dc:creator>jeffreyaven</dc:creator>
    <dc:date>2026-04-02T15:29:29Z</dc:date>
    <item>
      <title>Sandbox Magic: Turn Your Databricks Notebooks into Living Documents and Presentations</title>
      <link>https://community.databricks.com/t5/technical-blog/sandbox-magic-turn-your-databricks-notebooks-into-living/ba-p/152352</link>
      <description>&lt;P&gt;Stop switching between notebooks and slide decks. Sandbox Magic is an open-source collection of copy-paste-ready HTML/CSS/JS patterns that turn Databricks markdown cells into polished, interactive content - architecture diagrams, styled callouts, flip cards, and more. No cluster required.&lt;/P&gt;</description>
      <pubDate>Thu, 02 Apr 2026 15:29:29 GMT</pubDate>
      <guid>https://community.databricks.com/t5/technical-blog/sandbox-magic-turn-your-databricks-notebooks-into-living/ba-p/152352</guid>
      <dc:creator>jeffreyaven</dc:creator>
      <dc:date>2026-04-02T15:29:29Z</dc:date>
    </item>
    <item>
      <title>Re: Sandbox Magic: Turn Your Databricks Notebooks into Living Documents and Presentations</title>
      <link>https://community.databricks.com/t5/technical-blog/sandbox-magic-turn-your-databricks-notebooks-into-living/bc-p/153094#M974</link>
      <description>&lt;P&gt;This looks amazing, thank you for sharing! I particularly like the admonitions, they are really useful to highlight key ideas.&lt;/P&gt;</description>
      <pubDate>Thu, 02 Apr 2026 19:13:54 GMT</pubDate>
      <guid>https://community.databricks.com/t5/technical-blog/sandbox-magic-turn-your-databricks-notebooks-into-living/bc-p/153094#M974</guid>
      <dc:creator>tbence</dc:creator>
      <dc:date>2026-04-02T19:13:54Z</dc:date>
    </item>
    <item>
      <title>Re: Sandbox Magic: Turn Your Databricks Notebooks into Living Documents and Presentations</title>
      <link>https://community.databricks.com/t5/technical-blog/sandbox-magic-turn-your-databricks-notebooks-into-living/bc-p/153145#M975</link>
      <description>&lt;P&gt;Huge fan of Mermaid diagrams. &lt;span class="lia-unicode-emoji" title=":raising_hands:"&gt;🙌&lt;/span&gt;&lt;/P&gt;&lt;P&gt;decoupling the semantics of a diagrams from the pixel pushing is always a win.&amp;nbsp;&lt;/P&gt;&lt;P&gt;great post.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 03 Apr 2026 10:30:51 GMT</pubDate>
      <guid>https://community.databricks.com/t5/technical-blog/sandbox-magic-turn-your-databricks-notebooks-into-living/bc-p/153145#M975</guid>
      <dc:creator>v2ai-joshpeak</dc:creator>
      <dc:date>2026-04-03T10:30:51Z</dc:date>
    </item>
    <item>
      <title>Re: Sandbox Magic: Turn Your Databricks Notebooks into Living Documents and Presentations</title>
      <link>https://community.databricks.com/t5/technical-blog/sandbox-magic-turn-your-databricks-notebooks-into-living/bc-p/153698#M984</link>
      <description>&lt;P&gt;Thank you for sharing &lt;a href="https://community.databricks.com/t5/user/viewprofilepage/user-id/43054"&gt;@jeffreyaven&lt;/a&gt;.&lt;/P&gt;&lt;P&gt;This gives a great improvement, especially when you'd like to explain something through notebooks. Good for training material or internal presentations.&lt;/P&gt;&lt;P&gt;Let's also call out that, given these examples, using AI-assisted code development, I think the possibilities are practically endless and easy to extend.&lt;/P&gt;</description>
      <pubDate>Wed, 08 Apr 2026 09:08:24 GMT</pubDate>
      <guid>https://community.databricks.com/t5/technical-blog/sandbox-magic-turn-your-databricks-notebooks-into-living/bc-p/153698#M984</guid>
      <dc:creator>Benedek_Kiss</dc:creator>
      <dc:date>2026-04-08T09:08:24Z</dc:date>
    </item>
    <item>
      <title>Re: Sandbox Magic: Turn Your Databricks Notebooks into Living Documents and Presentations</title>
      <link>https://community.databricks.com/t5/technical-blog/sandbox-magic-turn-your-databricks-notebooks-into-living/bc-p/155714#M1031</link>
      <description>&lt;P&gt;I love this, but it is not dark mode friendly.&amp;nbsp; I even tried to get Genie to find a workaround.&amp;nbsp; Has anyone found a way to have it display correctly when this is enabled?&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot 2026-04-28 111700.png" style="width: 400px;"&gt;&lt;img src="https://community.databricks.com/t5/image/serverpage/image-id/26479iA4324B73DA65EF35/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Screenshot 2026-04-28 111700.png" alt="Screenshot 2026-04-28 111700.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Summary of what we learned:&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Databricks&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;%md-sandbox&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;in dark mode applies an automatic color transformation at a level external to the cell content. We tested 5 approaches and none could override it:&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;&lt;SPAN class=""&gt;&lt;a href="https://community.databricks.com/t5/user/viewprofilepage/user-id/4269"&gt;@media&lt;/a&gt; (prefers-color-scheme: dark)&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;— doesn't fire&lt;/LI&gt;&lt;LI&gt;&lt;SPAN class=""&gt;light-dark()&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;CSS function — not supported&lt;/LI&gt;&lt;LI&gt;JavaScript DOM manipulation —&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;&amp;lt;script&amp;gt;&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;tags appear stripped/non-functional&lt;/LI&gt;&lt;LI&gt;CSS&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;filter&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;property — blocked on inline styles&lt;/LI&gt;&lt;LI&gt;Pre-compensated color math — no effect (confirming scripts don't execute)&lt;/LI&gt;&lt;/OL&gt;</description>
      <pubDate>Tue, 28 Apr 2026 16:21:49 GMT</pubDate>
      <guid>https://community.databricks.com/t5/technical-blog/sandbox-magic-turn-your-databricks-notebooks-into-living/bc-p/155714#M1031</guid>
      <dc:creator>JohnOlds</dc:creator>
      <dc:date>2026-04-28T16:21:49Z</dc:date>
    </item>
    <item>
      <title>Re: Sandbox Magic: Turn Your Databricks Notebooks into Living Documents and Presentations</title>
      <link>https://community.databricks.com/t5/technical-blog/sandbox-magic-turn-your-databricks-notebooks-into-living/bc-p/155742#M1032</link>
      <description>&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="jeffreyaven_0-1777410257224.png" style="width: 400px;"&gt;&lt;img src="https://community.databricks.com/t5/image/serverpage/image-id/26491i2DDA03D2751EB239/image-size/medium?v=v2&amp;amp;px=400" role="button" title="jeffreyaven_0-1777410257224.png" alt="jeffreyaven_0-1777410257224.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P style="font-weight: 400;"&gt;Thanks for the feedback and reply!&lt;/P&gt;
&lt;P data-unlink="true"&gt;&lt;SPAN&gt;Good news: there's a workaround, but first the why.&lt;/SPAN&gt;&lt;BR style="font-weight: 400;" /&gt;&lt;BR style="font-weight: 400;" /&gt;&lt;SPAN&gt;Each &lt;FONT face="courier new,courier"&gt;%md-sandbox&lt;/FONT&gt; cell renders inside a cross-origin iframe (&lt;/SPAN&gt;&lt;FONT face="courier new,courier"&gt;databricksusercontent.com&lt;/FONT&gt;&amp;nbsp;&lt;SPAN&gt;) it is deliberately isolated from the workspace DOM for safety. The dark mode "transformation" you're seeing isn't styling - it is a filter applied to the iframe element itself by the parent workspace, via a &lt;FONT face="courier new,courier"&gt;--invert-filter&lt;/FONT&gt; CSS variable the iframe can't read.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P data-unlink="true"&gt;&lt;SPAN&gt;This is based upon the&amp;nbsp;&lt;STRONG&gt;Light/Dark Mode Toggle Example&lt;/STRONG&gt; in &lt;A href="https://github.com/stackql-labs/sandbox-magic/blob/main/04%20-%20Codeblocks.ipynb" target="_self"&gt;https://github.com/stackql-labs/sandbox-magic/blob/main/04 - Codeblocks.ipynb&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;%md-sandbox
&amp;lt;div class="admonition"
     data-type="info"
     data-title="Information"
     data-body="This is an informational message..."&amp;gt;
&amp;lt;/div&amp;gt;

&amp;lt;script&amp;gt;
(function() {
  var palettes = {
    info: {
      light: { border:'#1976d2', bg:'#e3f2fd', title:'#0d47a1', body:'#333',  icon:'#1976d2' },
      dark:  { border:'#e6892d', bg:'#1c0d02', title:'#f2b85e', body:'#ccc',  icon:'#e6892d' }
    }
  };

  document.querySelectorAll('.admonition').forEach(function(block) {
    if (block.dataset.processed) return;
    block.dataset.processed = '1';
    var type = block.dataset.type, title = block.dataset.title, body = block.dataset.body;
    var mode = 'light';

    function render() {
      var p = palettes[type][mode];
      block.innerHTML =
        '&amp;lt;div style="position:relative; border-left:4px solid '+p.border+
        '; background:'+p.bg+'; padding:16px 20px; padding-right:80px;'+
        ' border-radius:4px; margin:16px 0; font-family:sans-serif;"&amp;gt;'+
          '&amp;lt;button class="adm-toggle" style="position:absolute; top:8px; right:8px;'+
          ' padding:4px 10px; font-size:11px; background:#7f7f7f; color:#fff;'+
          ' border:1px solid #7f7f7f; border-radius:4px; cursor:pointer;"&amp;gt;'+
          (mode==='light' ? '🌙 Dark' : '☀ Light')+'&amp;lt;/button&amp;gt;'+
          '&amp;lt;div style="display:flex; gap:12px;"&amp;gt;'+
            '&amp;lt;span style="font-size:22px; font-weight:bold; color:'+p.icon+';"&amp;gt;i&amp;lt;/span&amp;gt;'+
            '&amp;lt;div&amp;gt;'+
              '&amp;lt;strong style="color:'+p.title+'; font-size:1.1em;"&amp;gt;'+title+'&amp;lt;/strong&amp;gt;'+
              '&amp;lt;p style="margin:8px 0 0 0; color:'+p.body+';"&amp;gt;'+body+'&amp;lt;/p&amp;gt;'+
            '&amp;lt;/div&amp;gt;'+
          '&amp;lt;/div&amp;gt;'+
        '&amp;lt;/div&amp;gt;';
      block.querySelector('.adm-toggle').onclick = function() {
        mode = (mode==='light') ? 'dark' : 'light';
        render();
      };
    }
    render();
  });
})();
&amp;lt;/script&amp;gt;&lt;/LI-CODE&gt;
&lt;P&gt;&lt;SPAN&gt;Not perfect (still manual), but at least it's deterministic.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 28 Apr 2026 21:18:39 GMT</pubDate>
      <guid>https://community.databricks.com/t5/technical-blog/sandbox-magic-turn-your-databricks-notebooks-into-living/bc-p/155742#M1032</guid>
      <dc:creator>jeffreyaven</dc:creator>
      <dc:date>2026-04-28T21:18:39Z</dc:date>
    </item>
    <item>
      <title>Re: Sandbox Magic: Turn Your Databricks Notebooks into Living Documents and Presentations</title>
      <link>https://community.databricks.com/t5/technical-blog/sandbox-magic-turn-your-databricks-notebooks-into-living/bc-p/155802#M1033</link>
      <description>&lt;P&gt;Interesting and thank you for this.&amp;nbsp; Hopefully this prompts a change in the md-sandbox to handle the light/dark transition automatically.&amp;nbsp; There are a LOT of us that use the dark mode.&amp;nbsp;&amp;nbsp;&lt;span class="lia-unicode-emoji" title=":beaming_face_with_smiling_eyes:"&gt;😁&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 29 Apr 2026 14:09:08 GMT</pubDate>
      <guid>https://community.databricks.com/t5/technical-blog/sandbox-magic-turn-your-databricks-notebooks-into-living/bc-p/155802#M1033</guid>
      <dc:creator>JohnOlds</dc:creator>
      <dc:date>2026-04-29T14:09:08Z</dc:date>
    </item>
    <item>
      <title>Re: Sandbox Magic: Turn Your Databricks Notebooks into Living Documents and Presentations</title>
      <link>https://community.databricks.com/t5/technical-blog/sandbox-magic-turn-your-databricks-notebooks-into-living/bc-p/156330#M1051</link>
      <description>&lt;P&gt;I took what you shared and made a modification for a single script to create any of the boxes.&amp;nbsp; There was a bit of Genie interaction, but the result is pretty nice.&amp;nbsp; Maybe it will be helpful to someone else. I may look into find a way to make it a shared js to utilize.&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Screenshot 2026-05-06 151426.png" style="width: 740px;"&gt;&lt;img src="https://community.databricks.com/t5/image/serverpage/image-id/26736i7FFD18D554783A1C/image-size/large?v=v2&amp;amp;px=999" role="button" title="Screenshot 2026-05-06 151426.png" alt="Screenshot 2026-05-06 151426.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="css"&gt;%md-sandbox
## All 8 Types (single cell, single script)

&amp;lt;div class="admonition" data-type="info" data-title="Information" data-body="Use for general information, tips, or additional context."&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;div class="admonition" data-type="note" data-title="Note" data-body="Use for notes or remarks that should stand out."&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;div class="admonition" data-type="warning" data-title="Warning" data-body="Use for warnings or important cautions."&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;div class="admonition" data-type="error" data-title="Error" data-body="Use for errors, critical issues, or things to avoid."&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;div class="admonition" data-type="success" data-title="Success" data-body="Use for confirmations, best practices, or things working correctly."&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;div class="admonition" data-type="tip" data-title="Tip" data-body="Use for helpful suggestions or pro-tips."&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;div class="admonition" data-type="config" data-title="Configuration" data-body="Use for technical settings or system requirements."&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;div class="admonition" data-type="goal" data-title="Goal" data-body="Use for objectives, targets, or key outcomes."&amp;gt;&amp;lt;/div&amp;gt;

&amp;lt;script&amp;gt;
(function() {
  var palettes = {
    info:    { light:{border:'#1976d2',bg:'#e3f2fd',title:'#0d47a1',body:'#333',icon:'#1976d2'}, dark:{border:'#e6892d',bg:'#1c0d02',title:'#f2b85e',body:'#ccc',icon:'#e6892d'} },
    note:    { light:{border:'#7b1fa2',bg:'#f3e5f5',title:'#4a148c',body:'#333',icon:'#7b1fa2'}, dark:{border:'#84e05d',bg:'#0c1a0a',title:'#b5eb73',body:'#ccc',icon:'#84e05d'} },
    warning: { light:{border:'#ff9800',bg:'#fff3e0',title:'#e65100',body:'#333',icon:'#ff9800'}, dark:{border:'#0067ff',bg:'#000c1f',title:'#19aeff',body:'#ccc',icon:'#0067ff'} },
    error:   { light:{border:'#f44336',bg:'#ffebee',title:'#c62828',body:'#333',icon:'#f44336'}, dark:{border:'#0bbcc9',bg:'#001411',title:'#39d7d7',body:'#ccc',icon:'#0bbcc9'} },
    success: { light:{border:'#4caf50',bg:'#e8f5e9',title:'#2e7d32',body:'#333',icon:'#4caf50'}, dark:{border:'#b350af',bg:'#170a16',title:'#d182cd',body:'#ccc',icon:'#b350af'} },
    tip:     { light:{border:'#009688',bg:'#e0f2f1',title:'#00695c',body:'#333',icon:'#009688'}, dark:{border:'#ff6977',bg:'#1f0d0e',title:'#ff96a3',body:'#ccc',icon:'#ff6977'} },
    config:  { light:{border:'#607d8b',bg:'#eceff1',title:'#37474f',body:'#333',icon:'#607d8b'}, dark:{border:'#9f8274',bg:'#13100e',title:'#c8b8b0',body:'#ccc',icon:'#9f8274'} },
    goal:    { light:{border:'#ffc107',bg:'#fffde7',title:'#ff8f00',body:'#333',icon:'#ffc107'}, dark:{border:'#003ef8',bg:'#000218',title:'#0070ff',body:'#ccc',icon:'#003ef8'} }
  };
  var icons = { info:'i', note:'\u270E', warning:'\u26A0', error:'\u2716', success:'\u2714', tip:'\u2731', config:'\u2699', goal:'\u25CE' };

  document.querySelectorAll('.admonition').forEach(function(block) {
    if (block.dataset.processed) return;
    block.dataset.processed = '1';
    var type = block.dataset.type, title = block.dataset.title, body = block.dataset.body;
    var mode = 'light';

    function render() {
      var p = palettes[type][mode];
      block.innerHTML =
        '&amp;lt;div style="position:relative; border-left:4px solid '+p.border+
        '; background:'+p.bg+'; padding:16px 20px; padding-right:80px;'+
        ' border-radius:4px; margin:16px 0; font-family:sans-serif;"&amp;gt;'+
          '&amp;lt;button class="adm-toggle" style="position:absolute; top:8px; right:8px;'+
          ' padding:4px 10px; font-size:11px; background:#7f7f7f; color:#fff;'+
          ' border:1px solid #7f7f7f; border-radius:4px; cursor:pointer;"&amp;gt;'+
          (mode==='light' ? '\ud83c\udf19 Dark' : '\u2600 Light')+'&amp;lt;/button&amp;gt;'+
          '&amp;lt;div style="display:flex; gap:12px;"&amp;gt;'+
            '&amp;lt;span style="font-size:22px; font-weight:bold; color:'+p.icon+';"&amp;gt;'+icons[type]+'&amp;lt;/span&amp;gt;'+
            '&amp;lt;div&amp;gt;'+
              '&amp;lt;strong style="color:'+p.title+'; font-size:1.1em;"&amp;gt;'+title+'&amp;lt;/strong&amp;gt;'+
              '&amp;lt;p style="margin:8px 0 0 0; color:'+p.body+';"&amp;gt;'+body+'&amp;lt;/p&amp;gt;'+
            '&amp;lt;/div&amp;gt;'+
          '&amp;lt;/div&amp;gt;'+
        '&amp;lt;/div&amp;gt;';
      block.querySelector('.adm-toggle').onclick = function() {
        mode = (mode==='light') ? 'dark' : 'light';
        render();
      };
    }
    render();
  });
})();
&amp;lt;/script&amp;gt;&lt;/LI-CODE&gt;&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 06 May 2026 20:19:35 GMT</pubDate>
      <guid>https://community.databricks.com/t5/technical-blog/sandbox-magic-turn-your-databricks-notebooks-into-living/bc-p/156330#M1051</guid>
      <dc:creator>JohnOlds</dc:creator>
      <dc:date>2026-05-06T20:19:35Z</dc:date>
    </item>
    <item>
      <title>Re: Sandbox Magic: Turn Your Databricks Notebooks into Living Documents and Presentations</title>
      <link>https://community.databricks.com/t5/technical-blog/sandbox-magic-turn-your-databricks-notebooks-into-living/bc-p/156333#M1053</link>
      <description>&lt;P&gt;Nice! good idea about a shared scripts location, this could be done with any CDN, Cloudflare, Cloudfront etc, simplifies the code in each cell, which could have to be repeated multiple times in a given notebook, this would need to be community driven as Databricks wouldn't be able to certify all of the content&lt;/P&gt;</description>
      <pubDate>Wed, 06 May 2026 21:10:51 GMT</pubDate>
      <guid>https://community.databricks.com/t5/technical-blog/sandbox-magic-turn-your-databricks-notebooks-into-living/bc-p/156333#M1053</guid>
      <dc:creator>jeffreyaven</dc:creator>
      <dc:date>2026-05-06T21:10:51Z</dc:date>
    </item>
  </channel>
</rss>

