This will be folded into HTMLVisualizer lol
Standalone utility for:
- loading the full contents of a static web project
- visualising every dependency (HTML → CSS → JS → assets)
- exporting a single-file HTML document with CSS, JS, fonts, images, audio/video, and other
url()assets inlined as data URIs.
- Visual dependency graph powered by D3 with presence/external/missing status colouring.
- Recursive CSS processor that resolves relative
@importchains andurl()assets. - JS import/require scanner that follows local
import,require, and dynamicimport()statements. - Media encoder that converts any referenced local
img,video,audio, or<source>asset to a base64 data URI. - Activity log with detailed success/error reporting for every step.
- Open
index.htmlin a modern browser (Chrome, Edge, Firefox, Safari latest). No build step required. - Drag-select every file from your project folder (or use the file picker) and drop them into the Project bundle input.
- The dependency graph renders immediately. Missing files show in red so you can fix gaps before inlining.
- Click Download Inlined HTML to generate a single HTML file. The filename mirrors your original HTML with
.inlined.htmlappended.
- Include the HTML entry point and every file it references (CSS, JS, images, fonts, audio/video, JSON, etc.).
- Remote URLs remain external; failures to fetch remote assets are logged.
- Circular CSS imports are detected and skipped with a warning.
- For deeply nested relative paths, keep the original directory structure when selecting files so the resolver can match them.
styles.css— layout/theme based on a dark glassmorphism treatment.app.js— modular client-side code containing:Logger,FileStore,CssProcessor,JsAnalyzer,DependencyVisualizer,HtmlInliner, andUIControllerclasses.- Shared helpers for normalising paths, resolving relatives, debounced resize handling, fetch-with-timeout, and file → data-URL conversion.
- No build tooling is required; edit the three repo files and refresh the browser.
- D3 v7 is pulled from the CDN; update the script tag in
index.htmlif you need a different version.
See LICENSE for details.