Asterisk is a Web-based minimalistic code editor written in CoffeeScript running on node.js with webSockets.
I made this editor because I want to make my own tools. I put this out there in hopes that you find it useful, and maybe contribute.
- small and simple you can mold it to your liking.
- minimalism philosophy no tabs, bars, panels just code.
- web-based host dev tools on one server access from anywhere.
- webSockets real time and responsive.
- MIT license.
Every thing is moving to the web and I feel that programming will move there too.
No longer are we confined to a single device but move freely between laptops, desktops and even tablets.
But the web moves with us.
You could have all your tools installed on a server and use VNC to access them.
VNC is clunky and draw delay and jpeg artifacts are very jaring.
You could opt out to use ssh with vi or emacs. But then again just like VNC you need SSH client installed. I for one can't stand the input delay and the text mode graphics.
I want nice fonts and beautiful colors. That is why I wrote this editor. Free of distractions easy to change to your liking.
Asterisk devides into two main parts: the server part asterisk.coffee and client.coffee.
- websoket connection
- command bars (find, replace, open, other commands)
- key input system
Simplest syntax highlighter there is. Modeled after the Crimson editor (http://www.crimsoneditor.com/). The basic premise is that it needs to be fast and simple. Fast because not all devices have CPU cycles to spare and I want no delay in rendering. Simple in order to capture as many languages as possible easily. It does not try to parse the language grammar entirely it only tries to:
- highlight key words
- highlight strings
- highlight comments
Thats it. The highlight specification are very simple.
This is big contrast to CodeMirror - great highlighter that tries to do everything.
Editor it self is just a text area. This text area is hidden and a ghost div is put in place. This ghost
Handles all the routing and commands to and from the server. Most operation are asynchronous. When you tell the editor to open a file it asks the server to open a file. Then server responds with an open-push command or open-error command.
- static file server
- websoket server
mkdir secure cd secure openssl genrsa -out privatekey.pem 1024 openssl req -new -key privatekey.pem -out certrequest.csr
after entering your info
openssl x509 -req -in certrequest.csr -signkey privatekey.pem -out certificate.pem
Does not work in IE because the work arounds would make it too complex. Deal with it.