GhostMVC IDE
The IDE has a few components designed to build a site through a web browser and maintain it.
The IDE will be called MarleyIDE (after Jacob Marley).
Editor
This is the big question. The base editor needs to cover all default text behavior (select, cut, copy, move, type, display cursor) but have hooks so I can do syntax highlighting and text manipulation. It also needs to be mono-spaced and show spaces and tabs accurately.
It seems the best way to do this is through an iframe in designMode: document.getElementById("marleyEditor").contentDocument.designMode = "On";
Once I have that, I want to follow a sort of unixy model of having a number of small utilities that can be chained together.
USE THIS: http://ace.ajax.org/
Or this: http://codemirror.net/
Features
- Line Numbers
- Indenting
- Code highlighting (using GeSHI)
- Basic code completion (dictionary look-up)
- Code folding
Database
The database tool will allow all the database manipulation one would expect. Any command that alters the schema is saved to version control and can be added to a publish (or discarded).
Version Control
I should look into tying into git. I do like the idea of being able to branch the whole site - some structure that allows multiple developers to work on the site without stepping on each others toes.
Publish
Allows you to push change sets over FTP to a site. It would be nice if that site could automatically check-in the change set. Configs will exist on a stack so that the bottom most layer can edit configs for each site.