← Back to context

Comment by bashtian

20 hours ago

The problem is that you can't save the user data in way that you can click a single file, similar to a Word or Excel file. I you think a about it, a Excel spreadsheet is also just UI + data in a single file.

This is a frustration of mine as well, but I vaguely remember someone showing something on HN where the file could essentially save itself, I think they were using some file APIs for that... sadly I can't find the details anymore. But I keep running into the "HTML file opened locally can't update itself" issue repeatedly now that I build tools for myself with LLM agents.

  • The File System Access API can do this, and it works in local ("file:///") HTML files, but it's only currently supported in desktop Chromium browsers: https://caniuse.com/native-filesystem-api

    However, every browser will let you download a new version of the HTML file and save it over the old one - yes, even from a local HTML file:

       const blob = new Blob(['<!DOCTYPE html>\n' +
          document.documentElement.outerHTML], 
          { type: 'text/html' });
       const a = document.createElement('a');
       a.href = URL.createObjectURL(blob);
       a.download = 'mypage.html';
       a.click();
    

    ... but you need the user to do this for every update. So we're back to manual "Save" buttons.