Skip to content

Instantly share code, notes, and snippets.

@ds604
Last active October 15, 2018 10:33
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ds604/b552cc4b0bc43dbff997c955eb2b6bba to your computer and use it in GitHub Desktop.
Save ds604/b552cc4b0bc43dbff997c955eb2b6bba to your computer and use it in GitHub Desktop.
iodide languages
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>assemblyscript - iodide</title>
<link rel="stylesheet" type="text/css" href="https://iodide.io/stable/iodide.stable.css">
</head>
<body>
<script id="jsmd" type="text/jsmd">
%% meta
{
"title": "assemblyscript",
"languages": {
"js": {
"pluginType": "language",
"languageId": "js",
"displayName": "Javascript",
"codeMirrorMode": "javascript",
"module": "window",
"evaluator": "eval",
"keybinding": "j",
"url": ""
},
"assemblyscript": {
"languageId": "assemblyscript",
"displayName": "assemblyscript",
"codeMirrorMode": "assemblyscript",
"keybinding": "a",
"url": "https://cdn.jsdelivr.net/npm/assemblyscript@0.3.0/dist/assemblyscript.js",
"module": "asmScript",
"evaluator": "eval",
"pluginType": "language"
}
},
"lastExport": "2018-10-14T22:45:37.461Z"
}
%% resource
https://cdn.jsdelivr.net/npm/binaryen@51.0.0/index.min.js
https://cdn.jsdelivr.net/npm/assemblyscript@0.3.0/dist/assemblyscript.js
%% js
window.exports = ''
window.asmScript = {}
asmScript.eval = function(assemblyscriptString){
const module = assemblyscript.Compiler.compileString(
assemblyscriptString,
{
target: assemblyscript.CompilerTarget.WASM32,
silent: true
}
);
const wasmFile = module.emitBinary()
WebAssembly.instantiate(wasmFile)
.then(res => {
window.exports = res.instance.exports
})
}
%% plugin
{
"languageId": "assemblyscript",
"displayName": "assemblyscript",
"codeMirrorMode": "assemblyscript",
"keybinding": "a",
"url": "https://cdn.jsdelivr.net/npm/assemblyscript@0.3.0/dist/assemblyscript.js",
"module": "asmScript",
"evaluator": "eval",
"pluginType": "language"
}
%% code {"language":"assemblyscript"}
export function add(a: i32, b: i32): i32 {
return a + b;
}
%% js
exports.add(4,5)
</script>
<div id='page'></div>
<script src='https://iodide.io/stable/iodide.stable.js'></script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>lua - fengari - iodide</title>
<link rel="stylesheet" type="text/css" href="https://iodide.io/stable/iodide.stable.css">
</head>
<body>
<script id="jsmd" type="text/jsmd">
%% meta
{
"title": "lua - fengari",
"languages": {
"js": {
"pluginType": "language",
"languageId": "js",
"displayName": "Javascript",
"codeMirrorMode": "javascript",
"module": "window",
"evaluator": "eval",
"keybinding": "j",
"url": ""
},
"lua": {
"languageId": "lua",
"displayName": "lua",
"codeMirrorMode": "lua",
"keybinding": "a",
"url": "https://ds604.neocities.org/js/fengari-web.js",
"module": "fengari",
"evaluator": "evalLua",
"pluginType": "language"
}
},
"lastExport": "2018-10-15T10:32:34.855Z"
}
%% js
var script = document.createElement("script")
script.src = 'https://ds604.neocities.org/js/fengari-web.js'
document.body.appendChild(script)
%% plugin
{
"languageId": "lua",
"displayName": "lua",
"codeMirrorMode": "lua",
"keybinding": "a",
"url": "https://ds604.neocities.org/js/fengari-web.js",
"module": "fengari",
"evaluator": "evalLua",
"pluginType": "language"
}
%% js
fengari.evalLua = function(code){ fengari.load(code)() }
%% code {"language":"lua"}
for i=1,5 do
print(i)
end
</script>
<div id='page'></div>
<script src='https://iodide.io/stable/iodide.stable.js'></script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>ruby - opal - iodide</title>
<link rel="stylesheet" type="text/css" href="https://iodide.io/stable/iodide.stable.css">
</head>
<body>
<script id="jsmd" type="text/jsmd">
%% meta
{
"title": "ruby - opal",
"languages": {
"js": {
"pluginType": "language",
"languageId": "js",
"displayName": "Javascript",
"codeMirrorMode": "javascript",
"module": "window",
"evaluator": "eval",
"keybinding": "j",
"url": ""
},
"ruby": {
"languageId": "ruby",
"displayName": "ruby",
"codeMirrorMode": "ruby",
"keybinding": "r",
"url": "https://cdnjs.cloudflare.com/ajax/libs/opal/0.3.43/opal.js",
"module": "Opal",
"evaluator": "eval",
"pluginType": "language"
}
},
"lastExport": "2018-10-15T10:29:27.308Z"
}
%% plugin
{
"languageId": "ruby",
"displayName": "ruby",
"codeMirrorMode": "ruby",
"keybinding": "r",
"url": "https://cdnjs.cloudflare.com/ajax/libs/opal/0.3.43/opal.js",
"module": "Opal",
"evaluator": "eval",
"pluginType": "language"
}
%% js
var script = document.createElement("script")
script.src = 'https://cdnjs.cloudflare.com/ajax/libs/opal-parser/0.3.43/opal-parser.js'
document.body.appendChild(script)
%% code {"language":"ruby"}
[1,2,3,4].map{|d| d*2}
%% code {"language":"ruby"}
(1..10).map{|i| i*2}
%% code {"language":"ruby"}
(1..100).map{|n|
if (n%15).zero?
'FizzBuzz'
elsif (n%3).zero?
'Fizz'
elsif (n%5).zero?
'Buzz'
else
n.to_s
end
}
</script>
<div id='page'></div>
<script src='https://iodide.io/stable/iodide.stable.js'></script>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment