Difference between revisions of "lure"

(Lure DOM Reference)
 
(45 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
== Summary ==
 
== Summary ==
  
LURE is an attempt to implement a hybrid xml/html DOM parser and renderer for the Love2d game engine. The goal of LURE is to provide the following:
+
LURE is an attempt to implement a html DOM parser and renderer for the Love2d game engine. The goal of LURE is to provide the following:
  
* A non-validating xml/html parser which generates a (somewhat) W3C Standards complaint DOM Object for use with love.
+
* A non-validating html parser which generates a (somewhat) W3C Standards complaint DOM Object for use with love.
 
* A html renderer which will display html markup in the love window.
 
* A html renderer which will display html markup in the love window.
  
Although we have a working prototype of the xml/html parser and DOM Object, we do not yet have a working renderer. Given the sheer size of the W3C DOM specification, this area will serve to document and track the current status of DOM Interface implementations.
+
Lure's purpose will NOT be to implement a web browser in Love2d, that is just ridiculous :D Instead, Lure's purpose will be to provide the core html DOM interfaces allowing Lovers the ability to to work with html data structures and to render basic html to the love window for simple UI.
  
Lure's purpose will NOT be to implement a web browser in Love2d, that is just ridiculous :D Instead, Lure's purpose will be to provide the core xml/html DOM interfaces allowing Lovers the ability to to work with xml/html data structures and to render basic html to the love window for simple UI.
+
== Download ==
  
== Tutorials ==
+
[https://github.com/admin36/LURE Github]
 +
 
 +
== Active Development ==
 +
 
 +
'''Status:''' In development
 +
 
 +
'''Last Stable:''' N/A
 +
 
 +
'''Development Tracker:''' [https://trello.com/board/lure/503c5baea077f04c54795d7d Trello Board]
 +
 
 +
== Bug Reports/Feedback ==
 +
 
 +
Please place bug reports and feedback on [https://github.com/admin36/LURE/issues Github]
 +
 
 +
== Articles/Tutorials ==
  
 
* [[lure.tuts.parsepreview|Parser Preview]]
 
* [[lure.tuts.parsepreview|Parser Preview]]
 +
* [[lure.tuts.xmlhttprequest|Using XMLHttpRequest]]
 +
* [[lure.article.renderpreview|Render Preview]]
  
 
== Documentation ==
 
== Documentation ==
  
==== Lure Functions ====
+
=== Namespaces ===
  
{|
+
{|class="wikitable sortable"
! align="left" | Function
+
!Namespace
! align="left" style="padding-left:10px;" | Description
+
!Description
! align="left" style="padding-left:10px;" | Implemented
+
!Implemented
 +
|-
 +
|[[lure]]
 +
|Lure Root Namespace
 +
|Yes
 +
|-
 +
|[[lure.core]]
 +
|Lure core namespace
 +
|Yes
 +
|-
 +
|[[lure.layers]]
 +
|Lure layers namespace
 +
|Yes
 
|-
 
|-
| [[lure.load|lure.load()]]
+
|[[lure.dom]]
| align="left" style="padding-left:10px;" | Load function to handle loading xml/html data from various sources (ex: flatfile)
+
|Lure Document Object Model namespace
| align="left" style="padding-left:10px;" | Yes
+
|Yes
 
|-
 
|-
| [[lure.save|lure.save()]]
+
|[[lure.dom.css]]
| align="left" style="padding-left:10px;" | Saves a lure dom Object to flat file
+
|Lure Document Object Model css namespace
| align="left" style="padding-left:10px;" | No
+
|Yes
 
|-
 
|-
| [[lure.update|lure.update()]]
+
|[[lure.rom]]
| align="left" style="padding-left:10px;" | Update function
+
|Lure Render Object Model namespace
| align="left" style="padding-left:10px;" | No
+
|Yes
 
|-
 
|-
| [[lure.draw|lure.draw()]]
+
|[[lure.rom.layout]]
| align="left" style="padding-left:10px;" | Draw function to render html to the lure window (if any html exists in the lure dom)
+
|Lure Render Object Model layout namespace
| align="left" style="padding-left:10px;" | No
+
|Yes
 
|}
 
|}
  
==== Lure Objects ====
+
==== Lure Object Reference ====
  
{|
+
{|class="wikitable sortable"
! align="left" | Object
+
!Object
! align="left" style="padding-left:10px;" | Description
+
!Description
! align="left" style="padding-left:10px;" | Implemented
+
!Implimented
 +
|-
 +
|[[LURE Window]]
 +
|
 +
|yes
 
|-
 
|-
|[[lure.window|Lure Window]]
+
|[[LURE Layer]]
|style="padding-left:10px;"|The Window object represents the Love window
+
|
|style="padding-left:10px;"|No
+
|yes
 
|-
 
|-
|[[lure.history|Lure History]]
 
|style="padding-left:10px;"|The history object contains past loaded xml/html documents
 
|style="padding-left:10px;"|No
 
 
|}
 
|}
  
==== Lure DOM Reference ====
+
==== Lure DOM Object Reference ====
 +
 
 
Objects present in this table are DOM objects currently planned for implementation. Not all W3C DOM objects will be implemented.  
 
Objects present in this table are DOM objects currently planned for implementation. Not all W3C DOM objects will be implemented.  
  
{|
+
{| class="wikitable sortable"
 
! align="left" | Object
 
! align="left" | Object
 
! align="left" style="padding-left:10px;" | Description
 
! align="left" style="padding-left:10px;" | Description
Line 100: Line 130:
 
|style="padding-left:10px;"|Yes
 
|style="padding-left:10px;"|Yes
 
|-
 
|-
| [[lure.dom.events|DOM Events]]
+
|[[lure.dom.DOMParser|DOM DOMParser]]
 +
|style="padding-left:10px;"|DOMParser object parses xml/html text and returns a DOM Object
 +
|style="padding-left:10px;"|Yes
 +
|-
 +
|[[lure.dom.XMLHttpRequest|DOM XMLHttpRequest]]
 +
|style="padding-left:10px;"|XMLHttpRequest object can make synchronous or synchronous http requests to external web resources
 +
|style="padding-left:10px;"|Yes
 +
|-
 +
| [[lure.dom.HTMLEvents|DOM HTMLEvent]]
 
|style="padding-left:10px;"|
 
|style="padding-left:10px;"|
 
|style="padding-left:10px;"|No
 
|style="padding-left:10px;"|No
 
|-
 
|-
|  
+
| [[lure.dom.HTMLAnchor|DOM HTMLAnchor]]
 +
|style="padding-left:10px;"|
 +
|style="padding-left:10px;"|No
 
|-
 
|-
| [[lure.dom.anchor|DOM Anchor]]
+
| [[lure.dom.HTMLBody|DOM HTMLBody]]
 
|style="padding-left:10px;"|
 
|style="padding-left:10px;"|
 
|style="padding-left:10px;"|No
 
|style="padding-left:10px;"|No
 
|-
 
|-
| [[lure.dom.body|DOM Body]]
+
| [[lure.dom.HTMLButton|DOM HTMLButton]]
 
|style="padding-left:10px;"|
 
|style="padding-left:10px;"|
 
|style="padding-left:10px;"|No
 
|style="padding-left:10px;"|No
 
|-
 
|-
| [[lure.dom.button|DOM Button]]
+
| [[lure.dom.HTMLDiv|DOM HTMLDiv]]
 
|style="padding-left:10px;"|
 
|style="padding-left:10px;"|
 
|style="padding-left:10px;"|No
 
|style="padding-left:10px;"|No
 
|-
 
|-
| [[lure.dom.form|DOM Form]]
+
| [[lure.dom.HTMLForm|DOM HTMLForm]]
 
|style="padding-left:10px;"|
 
|style="padding-left:10px;"|
 
|style="padding-left:10px;"|No
 
|style="padding-left:10px;"|No
 
|-
 
|-
| [[lure.dom.image|DOM Image]]
+
| [[lure.dom.HTMLImage|DOM HTMLImage]]
 
|style="padding-left:10px;"|
 
|style="padding-left:10px;"|
 
|style="padding-left:10px;"|No
 
|style="padding-left:10px;"|No
 
|-
 
|-
| [[lure.dom.inputbutton|DOM Input Button]]
+
| [[lure.dom.HTMLInputbutton|DOM HTMLInput Button]]
 
|style="padding-left:10px;"|
 
|style="padding-left:10px;"|
 
|style="padding-left:10px;"|No
 
|style="padding-left:10px;"|No
 
|-
 
|-
| [[lure.dom.inputcheckbox|DOM Input Checkbox]]
+
| [[lure.dom.HTMLInputcheckbox|DOM HTMLInput Checkbox]]
 
|style="padding-left:10px;"|
 
|style="padding-left:10px;"|
 
|style="padding-left:10px;"|No
 
|style="padding-left:10px;"|No
 
|-
 
|-
| [[lure.dom.inputhidden|DOM Input Hidden]]
+
| [[lure.dom.HTMLInputhidden|DOM HTMLInput Hidden]]
 
|style="padding-left:10px;"|
 
|style="padding-left:10px;"|
 
|style="padding-left:10px;"|No
 
|style="padding-left:10px;"|No
 
|-
 
|-
| [[lure.dom.inputpassword|DOM Input Password]]
+
| [[lure.dom.HTMLInputpassword|DOM HTMLInput Password]]
 
|style="padding-left:10px;"|
 
|style="padding-left:10px;"|
 
|style="padding-left:10px;"|No
 
|style="padding-left:10px;"|No
 
|-
 
|-
| [[lure.dom.inputradio|DOM Input Radio]]
+
| [[lure.dom.HTMLInputradio|DOM HTMLInput Radio]]
 
|style="padding-left:10px;"|
 
|style="padding-left:10px;"|
 
|style="padding-left:10px;"|No
 
|style="padding-left:10px;"|No
 
|-
 
|-
| [[lure.dom.inputreset|DOM Input Reset]]
+
| [[lure.dom.HTMLInputreset|DOM HTMLInput Reset]]
 
|style="padding-left:10px;"|
 
|style="padding-left:10px;"|
 
|style="padding-left:10px;"|No
 
|style="padding-left:10px;"|No
 
|-
 
|-
| [[lure.dom.inputsumbit|DOM Input Submit]]
+
| [[lure.dom.HTMLInputsumbit|DOM HTMLInput Submit]]
 
|style="padding-left:10px;"|
 
|style="padding-left:10px;"|
 
|style="padding-left:10px;"|No
 
|style="padding-left:10px;"|No
 
|-
 
|-
| [[lure.dom.inputtext|DOM Input Text]]
+
| [[lure.dom.HTMLInputtext|DOM HTMLInput Text]]
 
|style="padding-left:10px;"|
 
|style="padding-left:10px;"|
 
|style="padding-left:10px;"|No
 
|style="padding-left:10px;"|No
 
|-
 
|-
| [[lure.dom.link|DOM Link]]
+
| [[lure.dom.HTMLLink|DOM HTMLLink]]
 
|style="padding-left:10px;"|
 
|style="padding-left:10px;"|
 
|style="padding-left:10px;"|No
 
|style="padding-left:10px;"|No
 
|-
 
|-
| [[lure.dom.option|DOM Option]]
+
| [[lure.dom.HTMLOption|DOM HTMLOption]]
 
|style="padding-left:10px;"|
 
|style="padding-left:10px;"|
 
|style="padding-left:10px;"|No
 
|style="padding-left:10px;"|No
 
|-
 
|-
| [[lure.dom.select|DOM Select]]
+
| [[lure.dom.HTMLScript|DOM HTMLScript]]
 +
|style="padding-left:10px;"|Represents an individual script element. asserts lua script directly from the document.
 +
|style="padding-left:10px;"|Yes
 +
|-
 +
| [[lure.dom.HTMLSelect|DOM HTMLSelect]]
 
|style="padding-left:10px;"|
 
|style="padding-left:10px;"|
 
|style="padding-left:10px;"|No
 
|style="padding-left:10px;"|No
 
|-
 
|-
| [[lure.dom.style|DOM style]]
+
| [[lure.dom.HTMLStyle|DOM HTMLStyle]]
|style="padding-left:10px;"|
+
|style="padding-left:10px;"|The Style object represents an individual style element.
 +
|style="padding-left:10px;"|Yes
 +
|-
 +
| [[lure.dom.HTMLStylesheet|DOM HTMLStylesheet]]
 +
|style="padding-left:10px;"|Stylesheet object represents an individual stylesheet.
 +
|style="padding-left:10px;"|Yes
 +
|-
 +
| [[lure.dom.HTMLCssRule|DOM HTMLCssRule]]
 +
|style="padding-left:10px;"|HTMLCssRule object represents an individual Css Rule.
 
|style="padding-left:10px;"|Yes
 
|style="padding-left:10px;"|Yes
 
|-
 
|-
| [[lure.dom.table|DOM Table]]
+
| [[lure.dom.HTMLTable|DOM HTMLTable]]
 
|style="padding-left:10px;"|
 
|style="padding-left:10px;"|
 
|style="padding-left:10px;"|No
 
|style="padding-left:10px;"|No
 
|-
 
|-
| [[lure.dom.tdth|DOM td/th]]
+
| [[lure.dom.HTMLTdth|DOM HTMLtd/th]]
 
|style="padding-left:10px;"|
 
|style="padding-left:10px;"|
 
|style="padding-left:10px;"|No
 
|style="padding-left:10px;"|No
 
|-
 
|-
| [[lure.dom.tr|DOM tr]]
+
| [[lure.dom.HTMLTr|DOM HTMLtr]]
 
|style="padding-left:10px;"|
 
|style="padding-left:10px;"|
 
|style="padding-left:10px;"|No
 
|style="padding-left:10px;"|No
 
|-
 
|-
| [[lure.dom.textarea|DOM TextArea]]
+
| [[lure.dom.HTMLTextarea|DOM HTMLTextArea]]
 
|style="padding-left:10px;"|
 
|style="padding-left:10px;"|
 
|style="padding-left:10px;"|No
 
|style="padding-left:10px;"|No
 
|}
 
|}
 +
 +
==== Lure ROM Object Reference ====
 +
 +
The Lure ROM (Render Object Model) is comprised of all core render objects and methods to render a DOM model to the screen
 +
 +
{| class="wikitable sortable"
 +
!Object
 +
!Description
 +
!Implemented
 +
|-
 +
|[[ROM Viewport]]
 +
| The viewport object represents the root render object of the ROM model
 +
|Yes
 +
|-
 +
|[[ROM node]]
 +
| The ROM node object represents the base object most other ROM nodes inherit from
 +
|Yes
 +
|-
 +
|[[ROM nodelist]]
 +
| The ROM nodelist is used to maintain indexed lists of ROM Nodes
 +
|yes
 +
|-
 +
|[[ROM Nodeattribute]]
 +
| The Nodeattribute object maintains ROM Node attributes
 +
|Yes
 +
|-
 +
|[[ROM box]]
 +
| The ROM box object represents the base box render object
 +
|yes
 +
|-
 +
|[[ROM blockBox]]
 +
|
 +
|yes
 +
|-
 +
|[[ROM inlineBox]]
 +
|
 +
|yes
 +
|-
 +
|[[ROM inlineBlockBox]]
 +
|
 +
|Partial
 +
|-
 +
|[[ROM lineBox]]
 +
|
 +
|yes
 +
|-
 +
|[[ROM boxComputedStyle]]
 +
|
 +
|yes
 +
|-
 +
|[[ROM boxRenderStyle]]
 +
|
 +
|yes
 +
|-
 +
|[[ROM layoutResponse]]
 +
|
 +
|yes
 +
|-
 +
|[[ROM namednodemap]]
 +
|
 +
|yes
 +
|-
 +
|[[ROM romParser]]
 +
|
 +
|yes
 +
|-
 +
|[[ROM textNode]]
 +
|
 +
|yes
 +
|}
 +
 +
  
 
MORE TO COME!
 
MORE TO COME!
 
{{#set:LOVE Version=Any}}
 
{{#set:LOVE Version=Any}}
{{#set:Description=XML/HTML DOM Parser/Renderer.}}
+
{{#set:Description=HTML DOM Parser/Renderer.}}
 
[[Category:Libraries]]
 
[[Category:Libraries]]

Latest revision as of 11:53, 6 September 2012

Summary

LURE is an attempt to implement a html DOM parser and renderer for the Love2d game engine. The goal of LURE is to provide the following:

  • A non-validating html parser which generates a (somewhat) W3C Standards complaint DOM Object for use with love.
  • A html renderer which will display html markup in the love window.

Lure's purpose will NOT be to implement a web browser in Love2d, that is just ridiculous :D Instead, Lure's purpose will be to provide the core html DOM interfaces allowing Lovers the ability to to work with html data structures and to render basic html to the love window for simple UI.

Download

Github

Active Development

Status: In development

Last Stable: N/A

Development Tracker: Trello Board

Bug Reports/Feedback

Please place bug reports and feedback on Github

Articles/Tutorials

Documentation

Namespaces

Namespace Description Implemented
lure Lure Root Namespace Yes
lure.core Lure core namespace Yes
lure.layers Lure layers namespace Yes
lure.dom Lure Document Object Model namespace Yes
lure.dom.css Lure Document Object Model css namespace Yes
lure.rom Lure Render Object Model namespace Yes
lure.rom.layout Lure Render Object Model layout namespace Yes

Lure Object Reference

Object Description Implimented
LURE Window yes
LURE Layer yes

Lure DOM Object Reference

Objects present in this table are DOM objects currently planned for implementation. Not all W3C DOM objects will be implemented.

Object Description Implemented
DOM Node The Node object represents a single node in the document tree Yes
DOM NodeList The NodeList object represents an ordered list of nodes Yes
DOM NamedNodeMap The NamedNodeMap object represents an unordered list of nodes. Yes
DOM document The Document object represents the entire XML/HTML document. Yes
DOM Element The Element object represents an element in an XML/HTML document Yes
DOM Attribute The Attr object represents an attribute of an Element object. Yes
DOM Text The Text object represents the textual content of an element or attribute. Yes
DOM CDATA The CDATASection object represents a CDATA section in a document. Yes
DOM Comment The Comment object represents the content of comment nodes in a document. Yes
DOM DOMParser DOMParser object parses xml/html text and returns a DOM Object Yes
DOM XMLHttpRequest XMLHttpRequest object can make synchronous or synchronous http requests to external web resources Yes
DOM HTMLEvent No
DOM HTMLAnchor No
DOM HTMLBody No
DOM HTMLButton No
DOM HTMLDiv No
DOM HTMLForm No
DOM HTMLImage No
DOM HTMLInput Button No
DOM HTMLInput Checkbox No
DOM HTMLInput Hidden No
DOM HTMLInput Password No
DOM HTMLInput Radio No
DOM HTMLInput Reset No
DOM HTMLInput Submit No
DOM HTMLInput Text No
DOM HTMLLink No
DOM HTMLOption No
DOM HTMLScript Represents an individual script element. asserts lua script directly from the document. Yes
DOM HTMLSelect No
DOM HTMLStyle The Style object represents an individual style element. Yes
DOM HTMLStylesheet Stylesheet object represents an individual stylesheet. Yes
DOM HTMLCssRule HTMLCssRule object represents an individual Css Rule. Yes
DOM HTMLTable No
DOM HTMLtd/th No
DOM HTMLtr No
DOM HTMLTextArea No

Lure ROM Object Reference

The Lure ROM (Render Object Model) is comprised of all core render objects and methods to render a DOM model to the screen

Object Description Implemented
ROM Viewport The viewport object represents the root render object of the ROM model Yes
ROM node The ROM node object represents the base object most other ROM nodes inherit from Yes
ROM nodelist The ROM nodelist is used to maintain indexed lists of ROM Nodes yes
ROM Nodeattribute The Nodeattribute object maintains ROM Node attributes Yes
ROM box The ROM box object represents the base box render object yes
ROM blockBox yes
ROM inlineBox yes
ROM inlineBlockBox Partial
ROM lineBox yes
ROM boxComputedStyle yes
ROM boxRenderStyle yes
ROM layoutResponse yes
ROM namednodemap yes
ROM romParser yes
ROM textNode yes


MORE TO COME!