Loading repository data…
Loading repository data…
t11z / repository
A minimalist, fully client-side HTML playground.
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
Write HTML, see it instantly. Your code never leaves your browser.
A minimalist, fully client-side HTML playground. Type HTML (with inline CSS & JS) into a tiny editor with syntax highlighting and autocompletion, and it renders live in a sandboxed preview. There is no backend — nothing you type is ever sent to a server.
This is the whole point of the project:
localStorage and,
optionally, in the URL fragment (#code=…) — and browsers never send the
fragment to any server.<iframe sandbox="allow-scripts">
without allow-same-origin, so it gets an opaque origin and cannot read the
app's storage, cookies, or DOM.<style>) and JS (in <script>)localStorage.html / open the preview in a new tabnpm install
npm run dev # http://localhost:5173
Other scripts:
npm run build # type-check + production build into dist/
npm run preview # serve the production build locally
npm run lint # ESLint
npm run typecheck # tsc --noEmit
npm test # Vitest
Optional configuration — copy .env.example to .env:
VITE_KOFI_HANDLE= # Ko-fi handle for the donate link. Empty = link hidden.
Vite · TypeScript · CodeMirror 6 · lz-string · vite-plugin-pwa. No framework, no backend.
src/locales/en.json to src/locales/<code>.json and translate the values.src/i18n.ts (SUPPORTED, LOCALE_NAMES, DICTS).That's it — the switcher and detection pick it up automatically. PRs with new languages are very welcome! 🙌
Everything is static, so the free Spark plan is enough (no Cloud Functions).
Infrastructure is config-as-code in the repo: firebase.json (security headers,
caching) and .firebaserc (project id). CI/CD lives in .github/workflows/.
One-time setup:
.firebaserc and in the projectId: field of both
firebase-hosting-*.yml workflows.FIREBASE_SERVICE_ACCOUNT.VITE_KOFI_HANDLE.Until FIREBASE_SERVICE_ACCOUNT is set, the deploy step is skipped (so CI
stays green); it activates automatically once the secret exists. Then:
main deploys to the live channel.Contributions are very welcome — this is an open-source project and we'd love your help! 💜 Bug reports, translations, features, docs… all appreciated. See CONTRIBUTING.md to get started.
If this is useful to you, consider buying us a coffee on Ko-fi ☕
Licensed under the MIT License. All bundled dependencies are MIT —
their notices are reproduced in THIRD-PARTY-NOTICES.md
(regenerate with npm run notices). The app ships a generic Privacy & Security
page (privacy.html) explaining the zero-knowledge model.