Foolproof HTML editor proto
Switch branches/tags
Nothing to show
Clone or download
Ville Vanninen
Ville Vanninen todos
Latest commit bc65da3 Oct 5, 2017
Type Name Latest commit message Commit time
Failed to load latest commit information.
css different color for attr/value separator so it’s less likely to be se… Mar 3, 2017
js todos Oct 5, 2017
menus todos Oct 5, 2017
.gitignore move stuff Feb 9, 2017 licence & readme Feb 9, 2017 Update Mar 3, 2017
filemanager.js todos Oct 5, 2017
index.html keep values tied to their props Mar 3, 2017
main.js todos Oct 5, 2017
package.json todos Oct 5, 2017

Foolproof HTML editor prototype

The grand idea is to build a native html editor (so not a general text editor that's customized for html, but purpose built for only html) that can handle any html, even with random template code in the middle. Then hopefully expand the editing model to support css, then json and others.

I wrote a little article on the rationale here

There's also this, more of a note to self type explainer on how the rows are handled.


My prototype code is a mess, so we're trying to get some proper app arcitecture done. I set up a Gitter chat for planning and sharing stuff. The chat is the best way to contribute right now.

The prototype is good enough for demos, but not really usable yet. It's Mac only for now, mainly because doing good multi platform keyboard support would take time off from making it actually work. Contributions welcome!


  1. Clone the repo
  2. Run npm install
  3. Run npm start
  • Type lowercase to create elements
  • Type uppercase to create text
  • Press space to add attributes
  • Press enter to edit what you have selected.

You can find most actions in js/keydown.js. Some actions come through the app shell from menu items, the ones you'd expect like undo/redo, saving (TODO), copy & paste etc. The interactions are modelled pretty closely after Sublime Text. I'm hoping to make the UI feel instantly familiar and productive to anyone who's ever written HTML in a text editor.

Probably needless to say, but expect buggy behaviour. Most stuff seems to be working fine, but that's just me using it.

Built with Electron.