Agreed, something like that would be handy. Something you can do in the meantime, which isn't ideal, but may be useful is use a script tag with a type
set to something other than text/javascript
and module
, and then replace its outerHTML
with its innerHTML
:
<script id="foo" type="text/plain">
[foo]{1|2|3}<b>hi</b>
</script>
<script>foo.outerHTML = foo.innerHTML;</script>
https://perchance.org/wewmm37d60#edit
And here's an example where we put markdown in the script:
<script id="markdownScript" type="text/plain">
# Hello
This is *markdown*. [Notice that](https://perchance.org/welcome) Perchance syntax is ignored in here. {1|2|3}
* That's because the perchance engine doesn't parse the text that's inside scripts.
* You just need to set the 'type' attribute to something like text/plain or text/markdown to indicate to the browser that it shouldn't be executed as javascript.
</script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/marked.min.js"></script>
<script>markdownScript.outerHTML = marked.parse(markdownScript.textContent)</script>
https://perchance.org/nw95zgceei#edit
@[email protected] @[email protected] I figure y'all might be interested in this technique. When I get around to cleaning up all the plugin pages, adding dark mode, etc. I'll probably do something like this. Mostly better than defining plugin explanations in the lists panel, since that bloats the importer's generator with that unused content. The downside is that you can't use any Perchance syntax inside the script, so you may need to use multiple scripts with gaps in between, and use Perchance syntax within those gaps.
Better to use this than the jsdelivr script tag though: https://perchance.org/markedjs-plugin since that way it doesn't require an extra request during page load, which your whole page would have to wait for. Example using the plugin: https://perchance.org/zf36rys0c6#edit (same as above code block, but with marked = {import:markedjs-plugin}
in the lists panel instead of the )