GhostMVC IDE: Difference between revisions

From Adam Colton
Jump to navigation Jump to search
 
(2 intermediate revisions by the same user not shown)
Line 3: Line 3:
The IDE will be called MarleyIDE (after Jacob Marley).  
The IDE will be called MarleyIDE (after Jacob Marley).  


=Editor=
== 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.
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.


Line 15: Line 15:
Or this: http://codemirror.net/
Or this: http://codemirror.net/


==Features==
=== Features ===
#Line Numbers
#Line Numbers
#Indenting
#Indenting
Line 22: Line 22:
#Code folding
#Code folding


=Database=
== 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).
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=
== Version Control ==
Not quite the typically check-in check out model, a site is a branch so everything is checked out all the time. But you can 'mark' a change set so that you can roll-back to that point or view it in history.
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.


To achieve this, I'm going to go with a really simple system. One folder contains everything. Any time a file is saved to version control it's given a unique name. A single log holds all the information and maps that unique name to what file it really is as well as change set and version.
== Publish ==
 
=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.
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.

Latest revision as of 13:33, 9 May 2013

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

  1. Line Numbers
  2. Indenting
  3. Code highlighting (using GeSHI)
  4. Basic code completion (dictionary look-up)
  5. 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.