Difference between revisions of "lure"

(Lure Function Reference)
 
(57 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 Function Reference ====
+
=== 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.load|lure.load()]]
+
|[[lure.core]]
| align="left" style="padding-left:10px;" | Load function to handle loading xml/html data from various sources (ex: flatfile)
+
|Lure core namespace
| align="left" style="padding-left:10px;" | Yes
+
|Yes
 
|-
 
|-
| [[lure.save|lure.save()]]
+
|[[lure.layers]]
| align="left" style="padding-left:10px;" | Saves a lure dom Object to flat file
+
|Lure layers namespace
| align="left" style="padding-left:10px;" | No
+
|Yes
 
|-
 
|-
| [[lure.update|lure.update()]]
+
|[[lure.dom]]
| align="left" style="padding-left:10px;" | Update function
+
|Lure Document Object Model namespace
| align="left" style="padding-left:10px;" | No
+
|Yes
 
|-
 
|-
| [[lure.draw|lure.draw()]]
+
|[[lure.dom.css]]
| align="left" style="padding-left:10px;" | Draw function to render html to the lure window (if any html exists in the lure dom)
+
|Lure Document Object Model css namespace
| align="left" style="padding-left:10px;" | No
+
|Yes
 
|-
 
|-
| lure.mousepressed()
+
|[[lure.rom]]
| align="left" style="padding-left:10px;" | function to pass in mousepressed events to the lure dom
+
|Lure Render Object Model namespace
| align="left" style="padding-left:10px;" | No
+
|Yes
 
|-
 
|-
| lure.mousereleased()
+
|[[lure.rom.layout]]
| align="left" style="padding-left:10px;" | function to pass in mousereleased events to the lure dom
+
|Lure Render Object Model layout namespace
| align="left" style="padding-left:10px;" | No
+
|Yes
 +
|}
 +
 
 +
==== Lure Object Reference ====
 +
 
 +
{|class="wikitable sortable"
 +
!Object
 +
!Description
 +
!Implimented
 
|-
 
|-
| lure.keypressed()
+
|[[LURE Window]]
| align="left" style="padding-left:10px;" | function to pass in keypress events to the lure dom
+
|
| align="left" style="padding-left:10px;" | No
+
|yes
 +
|-
 +
|[[LURE Layer]]
 +
|
 +
|yes
 
|-
 
|-
| lure.keyreleased()
 
| align="left" style="padding-left:10px;" | function to pass in keyreleased events to the lure dom
 
| align="left" 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.window|DOM Window]]
+
|[[lure.dom.DOMParser|DOM DOMParser]]
|style="padding-left:10px;"|The Window object represents Love window
+
|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;"|No
 
|style="padding-left:10px;"|No
 +
|-
 +
| [[lure.dom.HTMLAnchor|DOM HTMLAnchor]]
 +
|style="padding-left:10px;"|
 +
|style="padding-left:10px;"|No
 +
|-
 +
| [[lure.dom.HTMLBody|DOM HTMLBody]]
 +
|style="padding-left:10px;"|
 +
|style="padding-left:10px;"|No
 +
|-
 +
| [[lure.dom.HTMLButton|DOM HTMLButton]]
 +
|style="padding-left:10px;"|
 +
|style="padding-left:10px;"|No
 +
|-
 +
| [[lure.dom.HTMLDiv|DOM HTMLDiv]]
 +
|style="padding-left:10px;"|
 +
|style="padding-left:10px;"|No
 +
|-
 +
| [[lure.dom.HTMLForm|DOM HTMLForm]]
 +
|style="padding-left:10px;"|
 +
|style="padding-left:10px;"|No
 +
|-
 +
| [[lure.dom.HTMLImage|DOM HTMLImage]]
 +
|style="padding-left:10px;"|
 +
|style="padding-left:10px;"|No
 +
|-
 +
| [[lure.dom.HTMLInputbutton|DOM HTMLInput Button]]
 +
|style="padding-left:10px;"|
 +
|style="padding-left:10px;"|No
 +
|-
 +
| [[lure.dom.HTMLInputcheckbox|DOM HTMLInput Checkbox]]
 +
|style="padding-left:10px;"|
 +
|style="padding-left:10px;"|No
 +
|-
 +
| [[lure.dom.HTMLInputhidden|DOM HTMLInput Hidden]]
 +
|style="padding-left:10px;"|
 +
|style="padding-left:10px;"|No
 +
|-
 +
| [[lure.dom.HTMLInputpassword|DOM HTMLInput Password]]
 +
|style="padding-left:10px;"|
 +
|style="padding-left:10px;"|No
 +
|-
 +
| [[lure.dom.HTMLInputradio|DOM HTMLInput Radio]]
 +
|style="padding-left:10px;"|
 +
|style="padding-left:10px;"|No
 +
|-
 +
| [[lure.dom.HTMLInputreset|DOM HTMLInput Reset]]
 +
|style="padding-left:10px;"|
 +
|style="padding-left:10px;"|No
 +
|-
 +
| [[lure.dom.HTMLInputsumbit|DOM HTMLInput Submit]]
 +
|style="padding-left:10px;"|
 +
|style="padding-left:10px;"|No
 +
|-
 +
| [[lure.dom.HTMLInputtext|DOM HTMLInput Text]]
 +
|style="padding-left:10px;"|
 +
|style="padding-left:10px;"|No
 +
|-
 +
| [[lure.dom.HTMLLink|DOM HTMLLink]]
 +
|style="padding-left:10px;"|
 +
|style="padding-left:10px;"|No
 +
|-
 +
| [[lure.dom.HTMLOption|DOM HTMLOption]]
 +
|style="padding-left:10px;"|
 +
|style="padding-left:10px;"|No
 +
|-
 +
| [[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;"|No
 +
|-
 +
| [[lure.dom.HTMLStyle|DOM HTMLStyle]]
 +
|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
 +
|-
 +
| [[lure.dom.HTMLTable|DOM HTMLTable]]
 +
|style="padding-left:10px;"|
 +
|style="padding-left:10px;"|No
 +
|-
 +
| [[lure.dom.HTMLTdth|DOM HTMLtd/th]]
 +
|style="padding-left:10px;"|
 +
|style="padding-left:10px;"|No
 +
|-
 +
| [[lure.dom.HTMLTr|DOM HTMLtr]]
 +
|style="padding-left:10px;"|
 +
|style="padding-left:10px;"|No
 +
|-
 +
| [[lure.dom.HTMLTextarea|DOM HTMLTextArea]]
 +
|style="padding-left:10px;"|
 +
|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!