Skip to content
open.blog

Executable code lessons, with a safe fallback

· By · 1 min read · 1 view

open.blog keeps authored source readable before it adds any execution. Try changing this greeting; without JavaScript, it is still an ordinary code block.

Rust works by default#

Rust · edit and run
fn main() {
    let traveler = "Mira";
    println!("Welcome to the lantern gate, {traveler}!");
}

Web lessons stay local#

Web lessons stay in a dependency-free, opaque-origin preview:

Web · reveal the gate
---html
<button id="gate">Reveal the gate</button>
---css
button { padding: 0.75rem 1rem; color: rebeccapurple; }
---js
document.querySelector("#gate").onclick = (event) => { event.currentTarget.textContent = "The gate opens"; };

Configured languages fail closed#

The repository example intentionally does not configure an external runner. This Python fence therefore stays static even though it opts into runnable; a site owner must explicitly allow Python and deploy an isolated gateway first.

Python · static until enabled
name = input().strip() or "traveler"
print(f"Welcome, {name}!")

That fail-closed behavior lets an author keep portable lesson source without silently turning the blog or Admin server into a code-execution service.

Comments require JavaScript.