This project is to build a HTML5 parser, then use that to build a WYSIWYG html
editor for the browser.
-The code is written in coffeescript for modern browsers.
+The code is written in CoffeeScript for modern browsers. The HTML5 parser can
+also run under node.js.
Status
------
-Under development
+HTML5 parser: all (1581) tests pass. Works in the browser and node.js
+WYSIWYG editor: planning stages
-Getting Started
----------------
-Recommended: see "Compiling" below
+Quick Start Guide
+-----------------
-(experimental) Alternate: see "Without Compiling"
+1. Open ``parser_tests_coffee.html`` in your browser.
+2. Open the console (right-click, inspect this element, console)
-Compiling
----------
+3. After a few seconds, you should see "Tests passed: 1581, Failed: 0" in the
+ console.
-You'll need coffeescript, you can hopefully get that with a command such as
-this:
+4. Try running the parser in the console, example:
- apt-get install coffeescript
+ window.wheic_parser.parse("<p>foo</p>", {fragment: "body"})
-or
+For further reading, see "Running Under node.js" below.
- npm install -g coffee-script
-Then run ``make``
+Running Under node.js
+---------------------
-Then run the test suite by opening ``index.html`` in a modern browser.
+Dependencies: node.js, CoffeeScript
+1. Install node.js https://nodejs.org/en/
-Without Compiling
------------------
+2. Install CoffeeScript. Try:
+
+ apt-get install coffeescript
+ or
+
+ npm install -g coffee-script
+
+4. Compile to javascript:
+
+ make
+
+Now you can do any of these things in any order:
+
+* Run the tests directly from CoffeeScript:
+
+ coffee parser_tests.coffee
+
+* Test the compiled (javascript) parser in your favorite browser by opening
+ up ``parser_tests.html`` and looking at the console.
+
+* Run tests via compiled code:
+
+ nodejs parser_tests.js
+
+* Try using the parser in your own javascript node.js project:
+
+ var html5 = require('./parser.js');
+ var dom = html5.parse("<p>hi</p>", {fragment: 'body'});
+ ...
-It is recommended to install coffeescript (see Compiling above), but you might
-be able to got it to compile directly in the browser, see here:
+* Try using the parser in your own CoffeeScript node.js project:
- http://coffeescript.org/#scripts
+ html5 = require './parser.js'
+ dom = html5.parse "<p>hi</p>", fragment: 'body'
+ ...
-Please nudge Jason (see below) to make this easier.
+ Note: the CoffeeScript compile time is significant, so you'll want to use
+ the compiled javascript even though you could use the ``.coffee`` version.
Feedback, Questions, Etc