-wheic
-=====
+Peach HTML5 Editor
+==================
-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 HTML5 parser can
-also run under node.js.
+This is a WYSIWYG HTML5 editor for the browser.
Status
------
-HTML5 parser: all (1581) tests pass. Works in the browser and node.js
+Early development stages.
+
+The HTML5 parser component passes the full test suite (1581 tests).
+
+The interface is starting to exist.
+
+
+Technologies
+------------
+
+Programming language: CoffeeScript (compiles to javascript)
+
+Interface: Implemented using the DOM api. No ``contenteditable`` or jquery.
-WYSIWYG editor: planning stages
Quick Start Guide
-----------------
-1. Open ``test.html`` in your browser.
+1. Open ``parser_tests_coffee.html`` in your browser.
2. Open the console (right-click, inspect this element, console)
4. Try running the parser in the console, example:
- window.wheic.parse_html("<p>foo</p>", {fragment: "body"})
+ window.peach_parser.parse("<p>foo</p>", {fragment: "body"})
+
+5. Open ``editor_tests_coffee.html`` in your browser
For further reading, see "Running Under node.js" below.
Running Under node.js
---------------------
-Dependancies: node.js, coffeescript
+With node.js and Coffeescript, you can compile the coffeescript so you can use
+the faster test pages, and you can test the html parser without a browser.
+
+Dependencies: node.js, CoffeeScript
1. Install node.js https://nodejs.org/en/
-2. Install coffeescript. Try:
+2. Install CoffeeScript. Try:
apt-get install coffeescript
or
npm install -g coffee-script
-3. You can run the tests directly from coffeescript:
-
- coffee test.coffee
-
4. Compile to javascript:
make
-5. Run tests via compiled code:
+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 test.js
+ nodejs parser_tests.js
-5. Try using the parser in your own code:
+* Try using the parser in your own javascript node.js project:
- var wheic = require('./parse-html.js');
- var dom = wheic.parse_html("<p>hi</p>", {fragment: 'body'});
+ var html5 = require('./parser.js');
+ var dom = html5.parse("<p>hi</p>", {fragment: 'body'});
...
+* Try using the parser in your own CoffeeScript node.js project:
+
+ html5 = require './parser.js'
+ dom = html5.parse "<p>hi</p>", fragment: 'body'
+ ...
+
+ Note: the CoffeeScript compile time is significant, so you'll want to use
+ the compiled javascript even though you could use the ``.coffee`` version.
+
+* Hack editor.coffee more quickly, by testing in editor_tests.html which uses
+ the compiled version of the parser, thus speeding up load time
+ considerably.
+
Feedback, Questions, Etc
------------------------