This is an old revision of the document!
Table of Contents
Toward a Web Development Environment
Candidates for core editing
Komodo Edit
FOSS “freemium” subset of Komodo IDE. Longish startup time. Reasonable tooltips and autocompletion. (You can add APIs and links to dirs that should be scanned.) Flexible linting. No code reformatting. You can add external tools to interface.
Netbeans
Has lots of support for HTML5 built in. Good tooltips and autocompletion. Long startup time. Inflexible linting, testing, etc. Can't add “external tools” to interface (plugins for this either don't work or work poorly on Linux). And oh-so-painful Swing font rendering on Linux.
Aptana
Buggy. Long startup time. Probably has awesome tooltips and autocompletion, but I didn't get that far.
JetBrains
Didn't try because of the oh-so-painful Swing font rendering on Linux.
Geany, Gedit, etc.
Too hard to add tooltips, etc.
Desired Features
Unit test runner
Should be automatic.
- JS Testrunner
- Testem
Linting
Ideally automatic.
JavaScript
- JSHint
- JSLint
CSS
- ?
HTML
- tidy?
Code formatting
- js-beautify does JS, CSS, and HTML
CSS compiler
We want to be able to compile LESS, SASS, or whatever, and it should probably be automatic.
- ?
Minification
Applied at deploy time?
- ?
Fleshing out Komodo Edit
Komodo Edit configurations don't appear to carry over when you install a new point release. So you will have to repeat a lot of this when doing version upgrades. Decent support for JSHint and JSLint are built in, so we won't have to add those.
Install the editor
Download and install Komodo Edit from http://www.activestate.com/komodo-edit.
Extensions and plugins
Confirm that you have the following extensions and install as needed:
- NST
- TODO Helper
- Emmet [?]
- Side By Side Diff [?]
I also disabled a whole bunch of extensions that didn't seem relevant to my needs.
Go through the list of plugins and disable anything that was automatically picked up from Firefox but isn't relevant to Komodo Edit.
Add a file manager handler
The expected file manager in Linux is hard coded as nautilus
or konqueror
. A workaround for this if you have neither of these is to add a script to your local bin named nautilus
or konqueror
that handles
os.system('nautilus "%s" &' % filename)
or
os.system('konqueror --profile filemanagement "%s" &' % filename)
respectively.
A simpler workaround is to add a soft link in your local bin named nautilus
to /usr/bin/thunar
or your prefered file manager.
Install Testem
Install js-beautify
Add beautify script
TODO I added a script on my PATH that senses whether a file is HTML, CSS, JS, or none-of-the-above then does an inplace beautify on it as needed.