{"id":50261800,"url":"https://github.com/t11z/render-my-web-app","last_synced_at":"2026-05-27T10:40:40.140Z","repository":{"id":359052924,"uuid":"1244277124","full_name":"t11z/render-my-web-app","owner":"t11z","description":"A minimalist, fully client-side HTML playground.","archived":false,"fork":false,"pushed_at":"2026-05-20T08:28:53.000Z","size":150,"stargazers_count":0,"open_issues_count":2,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-20T10:04:32.339Z","etag":null,"topics":["claude-code","coding","css","html","js","zero-knowledge"],"latest_commit_sha":null,"homepage":"https://render-my.web.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/t11z.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":"tsprock","tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":null,"thanks_dev":null,"custom":null}},"created_at":"2026-05-20T05:55:23.000Z","updated_at":"2026-05-20T08:20:21.000Z","dependencies_parsed_at":"2026-05-20T10:05:28.868Z","dependency_job_id":null,"html_url":"https://github.com/t11z/render-my-web-app","commit_stats":null,"previous_names":["t11z/render-my-web-app"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/t11z/render-my-web-app","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/t11z%2Frender-my-web-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/t11z%2Frender-my-web-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/t11z%2Frender-my-web-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/t11z%2Frender-my-web-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/t11z","download_url":"https://codeload.github.com/t11z/render-my-web-app/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/t11z%2Frender-my-web-app/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33562772,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-27T02:00:06.184Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["claude-code","coding","css","html","js","zero-knowledge"],"created_at":"2026-05-27T10:40:39.036Z","updated_at":"2026-05-27T10:40:40.124Z","avatar_url":"https://github.com/t11z.png","language":"TypeScript","funding_links":["https://ko-fi.com/tsprock"],"categories":[],"sub_categories":[],"readme":"# 🪄 Render My Web App\n\n\u003e Write HTML, see it instantly. **Your code never leaves your browser.**\n\nA minimalist, **fully client-side** HTML playground. Type HTML (with inline CSS \u0026\nJS) into a tiny editor with syntax highlighting and autocompletion, and it renders\nlive in a sandboxed preview. There is **no backend** — nothing you type is ever\nsent to a server.\n\n## 🔒 Zero Knowledge\n\nThis is the whole point of the project:\n\n- ⛔ **No server-side logic.** The app is static files only.\n- 🧠 **Your HTML stays in your browser.** It's kept in `localStorage` and,\n  optionally, in the URL fragment (`#code=…`) — and browsers **never** send the\n  fragment to any server.\n- 🧱 **Sandboxed preview.** Your code runs in an `\u003ciframe sandbox=\"allow-scripts\"\u003e`\n  **without** `allow-same-origin`, so it gets an opaque origin and cannot read the\n  app's storage, cookies, or DOM.\n- 🚫 **No tracking.** No analytics, no third-party trackers, no tracking cookies —\n  nothing about your usage is collected.\n\n## ✨ Features\n\n- 📝 HTML editor with syntax highlighting (CodeMirror 6)\n- 💡 Context-aware autocompletion for HTML, CSS (in `\u003cstyle\u003e`) and JS (in `\u003cscript\u003e`)\n- ⚡ Live, debounced preview + manual **Run** and **Auto-run** toggle\n- 🐞 Console \u0026 error panel (captured from the sandbox)\n- 💾 Autosave to `localStorage`\n- 🔗 Shareable links via a compressed URL fragment\n- ⬇️ Download as `.html` / open the preview in a new tab\n- 🌗 Dark / light theme\n- 🌍 Multilanguage: English, Deutsch, Español, Français, Português, 简体中文\n- 📦 Installable PWA, works offline\n\n## 🚀 Quick start\n\n```bash\nnpm install\nnpm run dev      # http://localhost:5173\n```\n\nOther scripts:\n\n```bash\nnpm run build      # type-check + production build into dist/\nnpm run preview    # serve the production build locally\nnpm run lint       # ESLint\nnpm run typecheck  # tsc --noEmit\nnpm test           # Vitest\n```\n\nOptional configuration — copy `.env.example` to `.env`:\n\n```bash\nVITE_KOFI_HANDLE=    # Ko-fi handle for the donate link. Empty = link hidden.\n```\n\n## 🧱 Tech stack\n\nVite · TypeScript · CodeMirror 6 · lz-string · vite-plugin-pwa. No framework, no\nbackend.\n\n## 🌍 Adding a language\n\n1. Copy `src/locales/en.json` to `src/locales/\u003ccode\u003e.json` and translate the values.\n2. Register the locale in `src/i18n.ts` (`SUPPORTED`, `LOCALE_NAMES`, `DICTS`).\n\nThat's it — the switcher and detection pick it up automatically. PRs with new\nlanguages are very welcome! 🙌\n\n## ☁️ Deployment (Firebase Hosting, Spark / free plan)\n\nEverything is static, so the free **Spark** plan is enough (no Cloud Functions).\n\nInfrastructure is config-as-code in the repo: `firebase.json` (security headers,\ncaching) and `.firebaserc` (project id). CI/CD lives in `.github/workflows/`.\n\nOne-time setup:\n\n1. Create a Firebase project (Spark plan) and a Hosting site.\n2. Put the project id in `.firebaserc` and in the `projectId:` field of both\n   `firebase-hosting-*.yml` workflows.\n3. Create a service account and add its JSON as the GitHub secret\n   `FIREBASE_SERVICE_ACCOUNT`.\n4. (Optional) Add the repository **variable** `VITE_KOFI_HANDLE`.\n\nUntil `FIREBASE_SERVICE_ACCOUNT` is set, the deploy step is **skipped** (so CI\nstays green); it activates automatically once the secret exists. Then:\n\n- Every PR gets a **preview channel** deploy (URL posted on the PR).\n- Every push to `main` deploys to the **live** channel.\n\n## 🤝 Contributing\n\nContributions are very welcome — this is an open-source project and we'd love your\nhelp! 💜 Bug reports, translations, features, docs… all appreciated. See\n[CONTRIBUTING.md](./CONTRIBUTING.md) to get started.\n\n## 💖 Support\n\nIf this is useful to you, consider buying us a coffee on **Ko-fi** ☕\n\n## 📄 Legal \u0026 License\n\nLicensed under the [MIT License](./LICENSE). All bundled dependencies are MIT —\ntheir notices are reproduced in [THIRD-PARTY-NOTICES.md](./THIRD-PARTY-NOTICES.md)\n(regenerate with `npm run notices`). The app ships a generic Privacy \u0026 Security\npage (`privacy.html`) explaining the zero-knowledge model.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ft11z%2Frender-my-web-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ft11z%2Frender-my-web-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ft11z%2Frender-my-web-app/lists"}