Hacker News new | ask | show | jobs
Show HN: Make your HTML documents portable by converting images to Base64 (freetools.dev)
5 points by zenull 1597 days ago
3 comments

I made a tool like this called humble[0] with a CLI interface that base64 encodes and inlines everything in an HTML file, images, audio, video, CSS, JS, favicons, cursors. The file sizes will be large of course (base64 encoding incurs a 34% size penalty), but useful in cases where you want portable single file documents.

[0] https://github.com/assemblylanguage/humble

..... are they not portable otherwise? Are there platforms that can read an image format in embedded base64 but can't read it from a separate file?
If you follow Google's official recommendations as to how file system access is supposed to work on Android, you can't resolve any relative paths with regards to files received from other apps.

So if you're e.g. using a file explorer (one app) to browse through your storage and then open an HTML file in a browser (a different app), then the browser is officially unable to resolve any relative paths in that HTML files, so no images, no links, no style sheets, no scripts, no nothing.

If you Save a page via your browser, it[1] creates the .html file, plus a sub-folder of the same name with all the assets in. The html gets re-written to reflect the new file paths.

---

[1] In Chrome, IE, an Edge definitely. Not sure about Firefox or Safari.

Yes, but if you then copy the result of that onto your Android phone, you still end up with the issue I described above.

> Not sure about Firefox

It does that, too.

Yup, I already do this. Very useful. However, some of the larger images tend to take up a lot of space in the HTML document.