slint/api/sixtyfps-rs/sixtyfps-docs-integration.html
Simon Hausmann 9dcbf4b5ad Revert "Change docs to point to the 0.0.6 version of the wasm interpreter"
This reverts commit 944c6e44af because
we're past the release and should pointer back to master builds.
2021-04-27 17:43:45 +02:00

61 lines
2.6 KiB
HTML

<!--
This file is used to add preview of the `.60` snippets in the generated rustdoc documentation.
It can be injected via the `--html-in-header sixtyfps-docs-integration.html` option of rustdoc.
-->
<script type="module">
"use strict";
//import * as sixtyfps from 'https://sixtyfps.io/releases/0.0.x/wasm-interpreter/sixtyfps_wasm_interpreter.js';
import * as sixtyfps from 'https://sixtyfps.io/wasm-interpreter/sixtyfps_wasm_interpreter.js';
async function render_or_error(source, div) {
let canvas_id = 'canvas_' + Math.random().toString(36).substr(2, 9);
let canvas = document.createElement("canvas");
canvas.width = 100;
canvas.height = 100;
canvas.id = canvas_id;
div.appendChild(canvas);
try {
var compiled_component = await sixtyfps.compile_from_string(source, "");
} catch (e) {
var text = document.createTextNode(e.message);
var p = document.createElement('pre');
p.appendChild(text);
div.innerHTML = "<pre style='color: red; background-color:#fee; margin:0'>" + p.innerHTML + "</pre>";
throw e;
}
compiled_component.run(canvas_id);
}
async function run() {
await sixtyfps.default();
var elements = document.querySelectorAll("code.language-60, div.highlight-60 div");
for (var i = 0; i < elements.length; ++i) {
let source = elements[i].innerText;
let div = document.createElement("div");
div.style = "float: right; padding:0; margin:0;";
div.innerHTML = "<p>Preview:</p>";
elements[i].parentElement.insertBefore(div, elements[i])
setTimeout(function () { render_or_error(source, div); }, 1);
}
}
run();
// Included markdown files may have links to other markdown files, which may not have been
// resolved by rustdoc. This helper locates such links and resolves them, assuming that each
// .md file gets its own sub-directory with an index.html.
function fix_markdown_links() {
for (let anchor of document.querySelectorAll('a[href$=".md"]')) {
let url = new URL(anchor.href);
let dir_separator = Math.max(url.pathname.lastIndexOf("/"), 0);
let base_name = url.pathname.slice(dir_separator + 1, -3);
let base_path = url.pathname.slice(0, dir_separator);
url.pathname = base_path + "/../" + base_name + "/index.html";
anchor.setAttribute("href", url.pathname);
}
}
fix_markdown_links()
</script>