mdbook-iced 0.2.0

An mdBook preprocessor to turn iced code blocks into interactive examples
Documentation
<script>
function embed(script, hash, height) {
  var code = script.previousSibling;

  while(code && code.tagName != "PRE") {
    code = code.previousSibling;
  }

  let buttons = code.querySelector('.buttons');
  let play = document.createElement('button');

  async function run() {
    play.remove();

    let example = document.createElement('div');
    example.style.height = height;
    example.style.padding = "1rem";
    example.classList.add('hljs');

    let iced = document.createElement('div');
    iced.id = 'iced';
    iced.append(document.createTextNode('Loading...'));

    example.append(iced);
    code.append(example);

    let iceberg = await import(`/.icebergs/${hash}/iceberg.js`);
    await iceberg.default();
  }

  play.title = 'Run example';
  play.onclick = run;

  play.classList.add('fa');
  play.classList.add('fa-play');

  buttons.prepend(play);
}
</script>