File Viewers

readrun can embed rich file types inline in any page — no Python, no JSX, no config. Files live under .readrun/assets/; the demo keeps viewer examples in .readrun/assets/files/.


3D Models — STL

STL files render as interactive Three.js viewers. Orbit with mouse, zoom with scroll.

code
[stl=files/object.stl]
[stl=files/object.stl height=520]

Supported: .stl (ASCII and binary).


3D Models — GLTF / GLB

GLTF files support full materials, textures, and scene hierarchies.

code
[model=files/scene.gltf]
[model=files/scene.glb height=600]

Supported: .gltf, .glb.


CSV Tables

CSV files render as interactive tables with sort-by-column, text filter, and pagination.

No data.

code
[csv=files/results.csv]

Data is embedded at build time — works offline and in static builds.


Audio

code
[audio=files/talk.mp3]
[audio=files/talk.mp3 loop=true]

Supported: .mp3, .wav, .ogg, .m4a.


Video

code
[video=files/demo.mp4]
[video=files/demo.mp4 height=360 loop=true muted=true]

Supported: .mp4, .webm, .ogv.


PDF

code
[pdf=files/spec.pdf]
[pdf=files/spec.pdf height=700]

Renders using the browser’s native PDF viewer inside a sandboxed iframe.


All attributes

table
4 cols · 7 rows
col width
28ch
BlockAttributeDefaultNotes
stl, modelheight480pxClamped 240–1200
audioloopfalse
audioautoplayfalse
videoheightautoBrowser aspect ratio if omitted
videoloopfalse
videomutedfalseRequired when autoplay=true
pdfheight600pxClamped 300–1200