Web Console is an OS X application for creating and running custom plugins that wrap command line programs in web user interfaces.
The Web Console application performs two main functions:
- Runs command line tasks: Command line programs are run as subprocesses.
- Provides a web view with an API to running tasks: Subprocesses can manipulate the parent processes web view to displaying output and provide a user interface.
There are three components that combine to make the application useful:
- The Web Console application
- A TextMate Bundle
- A Ruby gem
But, there is nothing inherent to the application that requires Ruby or TextMate. Any language can be used to write plugins, and any text editor can be integrated with.
Web Console is in pre-alpha. While the existing plugins are useful, the application is not ready for regular use. There is no binary distribution yet.
- A plugin manager will be built.
- Preferences will be added to configure Web Console to open specific plugins by file type.
- The web view API will be expanded to handle loading URLs.
Progress on the plugin manager (#1) and preferences for opening files with plugins (#2) is in the Web Console Prototypes repository.
The TextMate Bundle illustrates how Web Console's features can be integrated into a text editor.
While these plugins are already useful, they are only at the proof of concept stage. Final implementations will only superficially resemble these.
Editor Agnostic REPLs
Web Console includes several REPLs, that can evaluate code from any editor (by sending it to a plugins subprocesses standard input). The REPLs state is maintained by hosting a running instance of the REPL executable.
Live Web Previews
Live web previews watch files on disk and automatically refresh themselves when files change.
Command Line GUIs
User interfaces wrapped around command line programs to interact with them seamlessly.
Building From Source
Build & Run
Checkout the source code:
git clone firstname.lastname@example.org:robenkleene/Web-Console.git
Web Console/Web Console.xcodeproj
Run in Xcode
Install the Ruby gem:
gem install webconsole
The gem is required for running tests (plugins themselves bundle the Ruby gem, the gem only needs to be installed globally for running tests).
All built-in Web Console plugins and tests use Ruby version 2.0.0-p247, the same version that ships with OS X Mavericks. (It's recommended that you setup a Ruby version manager before installing the Web Console Ruby gem.)
Web Console/Scripts/testin a shell and run: