{
  "slug": "html-preview-bundler",
  "name": "gizza-ai/html-preview-bundler",
  "version": "0.1.0",
  "title": "HTML Preview Bundler — inline CSS & JS into one file — gizza.ai",
  "description": "Combine separate HTML, CSS, and JS into one self-contained, runnable HTML file you can open or share — in your browser. Nothing is uploaded.",
  "tags": [
    "html bundler",
    "inline css js",
    "single file html",
    "self-contained html",
    "html preview",
    "combine html css js"
  ],
  "category": "developer",
  "urls": {
    "page": "https://gizza.ai/tools/html-preview-bundler/",
    "markdown": "https://gizza.ai/tools/html-preview-bundler/index.md",
    "descriptor": "https://gizza.ai/tools/html-preview-bundler/tool.json",
    "deep_link_example": "https://gizza.ai/tools/html-preview-bundler/?html=%3Ch1%3EHello%3C%2Fh1%3E%0A%3Cbutton%20id%3D%22b%22%3EClick%3C%2Fbutton%3E&css=body%20%7B%20font-family%3A%20sans-serif%3B%20%7D&js=document.getElementById%28%27b%27%29.onclick%20%3D%20%28%29%20%3D%3E%20alert%28%27hi%27%29%3B&title=Preview"
  },
  "cli": "gizza tool html-preview-bundler '<h1>Hello</h1>\n<button id=\"b\">Click</button>'",
  "tool": {
    "description": "Combine separate HTML, CSS, and JavaScript into one self-contained, runnable HTML document you can save, open, or share. If the HTML is a full document the CSS is injected before </head> and the JS before </body>; if it's a fragment it's wrapped in a minimal HTML5 page with the given title. Returns the complete HTML. Runs locally.",
    "parameters": {
      "additionalProperties": false,
      "properties": {
        "css": {
          "description": "CSS to inline in a <style> tag (optional).",
          "type": "string"
        },
        "html": {
          "description": "The HTML — a full document or just a body fragment.",
          "type": "string"
        },
        "js": {
          "description": "JavaScript to inline in a <script> tag (optional).",
          "type": "string"
        },
        "title": {
          "description": "Page <title> used when wrapping a fragment (default \"Preview\").",
          "type": "string"
        }
      },
      "required": [
        "html"
      ],
      "type": "object"
    }
  }
}