diff options
| author | LLLL Colonq <llll@colonq> | 2026-06-18 18:07:08 -0400 |
|---|---|---|
| committer | LLLL Colonq <llll@colonq> | 2026-06-18 18:07:08 -0400 |
| commit | 47036ba678949ade21ecbecaeb780b324f6ce3ee (patch) | |
| tree | 28d87c88634df74bbecb8b761d65e55670b22b99 /2026/examples/example_raylib/output/index.html | |
| parent | c9fc2ca532c5219a087924ece1e38be19c25f006 (diff) | |
Fix harness
Diffstat (limited to '2026/examples/example_raylib/output/index.html')
| -rw-r--r-- | 2026/examples/example_raylib/output/index.html | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/2026/examples/example_raylib/output/index.html b/2026/examples/example_raylib/output/index.html new file mode 100644 index 0000000..4c10209 --- /dev/null +++ b/2026/examples/example_raylib/output/index.html @@ -0,0 +1,91 @@ +<!doctype html> +<html lang="EN-us"> + <head> + <meta charset="utf-8"> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + + <title>raylib web game</title> + + <meta name="title" content="raylib web game"> + <meta name="description" content="New raylib web videogame, developed using raylib videogames library"> + <meta name="keywords" content="raylib, programming, examples, html5, C, C++, library, learn, games, videogames"> + <meta name="viewport" content="width=device-width"> + + <!-- Open Graph metatags for sharing --> + <meta property="og:type" content="website" /> + <meta property="og:title" content="raylib web game"> + <meta property="og:image:type" content="image/png"> + <meta property="og:image" content="https://www.raylib.com/common/raylib_logo.png"> + <meta property="og:image:alt" content="New raylib web videogame, developed using raylib videogames library" /> + <meta property="og:site_name" content="raylib - example"> + <meta property="og:url" content="https://www.raylib.com/games.html"> + <meta property="og:description" content="New raylib web videogame, developed using raylib videogames library"> + + <!-- Twitter metatags for sharing --> + <meta name="twitter:card" content="summary_large_image"> + <meta name="twitter:site" content="@raysan5"> + <meta name="twitter:title" content="raylib web game"> + <meta name="twitter:image" content="https://www.raylib.com/common/raylib_logo.png"> + <meta name="twitter:image:alt" content="New raylib web videogame, developed using raylib videogames library"> + <meta name="twitter:url" content="https://www.raylib.com/games.html"> + <meta name="twitter:description" content="New raylib web videogame, developed using raylib videogames library"> + + <!-- Favicon --> + <link rel="shortcut icon" href="https://www.raylib.com/favicon.ico"> + + <style> + body { margin: 0px; overflow: hidden; background-color: black; } + canvas.emscripten { border: 0px none; background-color: black; } + </style> + <script type='text/javascript' src="https://cdn.jsdelivr.net/gh/eligrey/FileSaver.js/dist/FileSaver.min.js"> </script> + <script type='text/javascript'> + function saveFileFromMEMFSToDisk(memoryFSname, localFSname) // This can be called by C/C++ code + { + var isSafari = false; // Not supported, navigator.userAgent access is being restricted + //var isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent); + var data = FS.readFile(memoryFSname); + var blob; + + if (isSafari) blob = new Blob([data.buffer], { type: "application/octet-stream" }); + else blob = new Blob([data.buffer], { type: "application/octet-binary" }); + + // NOTE: SaveAsDialog is a browser setting. For example, in Google Chrome, + // in Settings/Advanced/Downloads section you have a setting: + // 'Ask where to save each file before downloading' - which you can set true/false. + // If you enable this setting it would always ask you and bring the SaveAsDialog + saveAs(blob, localFSname); + + // Alternative implementation to avoid FileSaver.js + //const link = document.createElement("a"); + //link.href = URL.createObjectURL(blob); + //link.download = localFSname; + //link.click(); + } + </script> + </head> + <body> + <canvas class=emscripten id=canvas oncontextmenu=event.preventDefault() tabindex=-1></canvas> + <p id="output" /> + <script> + var Module = { + print: (function() { + var element = document.getElementById('output'); + if (element) element.value = ''; // clear browser cache + return function(text) { + if (arguments.length > 1) text = Array.prototype.slice.call(arguments).join(' '); + console.log(text); + if (element) { + element.value += text + "\n"; + element.scrollTop = element.scrollHeight; // focus on bottom + } + }; + })(), + canvas: (function() { + var canvas = document.getElementById('canvas'); + return canvas; + })() + }; + </script> + <script async type="text/javascript" src="index.js"></script> + </body> +</html> |
