Emmy as JavaScript library (6.5)
(This post is part of a series, all with the same title) (it does not use Emmy but the older sicmutils library)
1 + 2 + 3
Interlude: importing snippets from an HTML file into this post
We embed the source as an IFrame within this post, albeit sandboxed, i.e. code is not executed.
<iframe id="code_snippets" sandbox="allow-same-origin" src="/blog/html/code_snippet.html" width="600" height="150"></iframe>
Since the 4+5+6 snippet carries an id (id = "first"
) in that source, we can access and copy it over. For this we use a helper function.
<script> var loadSnippet = (iframeNode, snippetNode) => { let msg = snippetNode + " not in IFrame " + iframeNode; let prn_msg = () => {alert(msg); return(msg);}; let nde = document.getElementById(iframeNode) .contentWindow.document .getElementById(snippetNode); document.getElementById(snippetNode).innerHTML = nde != null ? nde.innerHTML : prn_msg();} </script>
Now we can easily copy arbitrary snippets from the source into this post using addSnippet
, the asynchronous sibling of loadSnippet
.
<pre id="first"></pre> <script> addSnippet('code_snippets','first'); </script>