Permalink
Browse files

Gear README.md toward the end user

Not for my own sake anymore.
Move relevant stuff into TBD.
Organized and updated the content of the said TBD.
  • Loading branch information...
1 parent a37e8ff commit 571c069a03ab30a8cb8f4556b8fef1125591997a @cognominal committed Jun 24, 2012
Showing with 45 additions and 23 deletions.
  1. +26 −23 README.md
  2. +19 −0 TBD
View
@@ -1,4 +1,26 @@
-# An attempt to integrate code-viewer into (SFW) Small Federated Wiki
+
+
+Tentatively called zbrew
+
+# Goal : viewing code in web pages
+
+The goal is to embed a zbrew viewport in any web page so that any one can
+see how any code is parsed. In reading mode, no installation is needed.
+
+zbrew does classic static highlighting and dynamic highlighting.
+With dynamic hightlighting one can understand how code is parsed.
+Static highlighting is wrongly dubbed syntax highlighting, in fact
+it is just lexical hightlighting.
+
+
+A most important point is that zbrew is web based. People must understand
+the power of zbrew without installing it. Projects like padre who depend
+on non web libraries are non starters. To get the most of zbrew one needs
+to interact with a server even if a disconnected mode is a goal (TBD)
+
+
+# achievements so far
+
At this point, we do hilite a single file data/package.json
Touch interface devices are supported.
@@ -13,33 +35,13 @@ You can run `npm install -g .` in the `codeview` folder to install coffeescript.
Coffeescript is used to convert `.coffee` files in `.js` ones.
-# Next steps yet to be done
-
-* Display the rule used to reduce the current text (still need css)
-* Bug jnthn/pmichaud to get parse tree dumping in Perl 6
-* Install zbrew on MBP and open a NTA port
-* Setup a github page.
-* Parse path bar need to be scrollable
-* Support many highlighted view ports (use class instead if id to identify relevant HTML elements
-* Use express to serve the files (SFW will use express anyway)
-* Dynamically generate the parse according to the suffix
-* Support json parse trees for different parse engines
-* Split bin/matchToJson into a library and code calling it
-* implement a recorder and a demo mode
-* maybe create a .dot file to document the information flow
-* make it a SFW plugin (the previous steps are preparatory ones)
-* create an IRC like plugin in SFW
-* Embed rakudo in nodejs.
-* tests!! don't know yet how to do browser side tests. Probably stuff based on jsdom.
-* Better doc
-
Note: to install SFW, I created a gist https://gist.github.com/2887964
# User interface
We call `lite` the code viewport. Lite stands for literate editor.
-Lite has two modes, the folded mode and the full mode. So we say
-a "folded lite" or a "full lite" to denote such a viewport depending
+Lite has three modes: simple, rule and full mode. So we say
+a "simple lite" or a "full lite" to denote such a viewport depending
on its mode. In folded lite, only the code pane is visible.
The code pane may splitted in to à la docco with comments in left, and
code proper in right. (worked with static data).
@@ -52,6 +54,7 @@ In full lite, from top to bottom, the view port is constituted of 3 panes.
The parse path pane (P3), the rule pane and the code pane.
At any given time, some text chunk in the code panel is current. When the
code was parsed, according to the grammar for that code, some sequence of rules was used to reduce that current text chunk. The last rule of that sequence is the leaf rule.
+The rule pane includes a clickable label that displays the grammar language (say `pegjs`, `jison`, `Perl 6`). Clicking it opens the relevant doc. TBD.
When moving the mouse over the code panel, or clicking in it, the currrent
text chunk changes so the parse path and the rule panes are updated
View
@@ -0,0 +1,19 @@
+# Next steps yet to be done
+
+* Display the rule used to reduce the current text (still need css)
+* Bug jnthn/pmichaud to get parse tree dumping in Perl 6
+* Install zbrew on MBP and open a NTA port
+* Setup a github page.
+* Parse path bar need to be scrollable
+* Support many highlighted view ports (use class instead if id to identify relevant HTML elements
+* Use express to serve the files (SFW will use express anyway)
+* Dynamically generate the parse according to the suffix
+* Support json parse trees for different parse engines
+* Split bin/matchToJson into a library and code calling it
+* implement a recorder and a demo mode
+* maybe create a .dot file to document the information flow
+* make it a SFW plugin (the previous steps are preparatory ones)
+* create an IRC like plugin in SFW
+* Embed rakudo in nodejs.
+* tests!! don't know yet how to do browser side tests. Probably stuff based on jsdom.
+* Better doc

0 comments on commit 571c069

Please sign in to comment.