User:Red Leader/Nasal documentation proposal: Difference between revisions

Update
(Update + use tables)
(Update)
 
(39 intermediate revisions by 2 users not shown)
Line 1: Line 1:
Proposal for the documentation of the [[Nasal]] API.
Proposal for the documentation of the [[Nasal]] API.
__TOC__
== Documentation pages ==
{| class="wikitable"
|+ Nasal library {{Done}}
! Old page(s) !! New page
|-
|
* [[Nasal library functions]] ([http://wiki.flightgear.org/index.php?title=Nasal_library_functions&oldid=93458 perm])
* [[List of Nasal extension functions]] ([http://wiki.flightgear.org/index.php?title=List_of_Nasal_extension_functions&oldid=72953 perm])
|| [[Nasal library]]
|}


Form: <code><nowiki>[[Nasal library/<namespace>]]</nowiki></code>
{| class="wikitable"
{| class="wikitable"
|+ Nasal library
|+ Nasal namespaces {{progressbar|30}}
! Old page(s) !! New page(s)
! Namespace !! New page !! Progress
|-
| <code>'''aircraft'''</code>
| {{N/a|Not started|rowspan{{=}}"2" colspan{{=}}"2"}}
|-
| <code>'''bits'''</code>
|-
| <code>'''clipboard'''</code> || [[Nasal library/debug]] || {{progressbar|10}}
|-
| <code>'''debug'''</code> || [[Nasal library/debug]] || {{done}}
|-
| <code>'''geo'''</code> || [[Nasal library/geo]] || {{done}}
|-
| <code>'''gui'''</code>
| {{N/a|Not started|rowspan{{=}}"2" colspan{{=}}"2"}}
|-
| <code>'''http'''</code>
|-
| <code>'''io'''</code> || [[Nasal library/io]] || {{done}}
|-
| <code>'''math'''</code> || [[Nasal library/math]] || {{done}}
|-
| <code>'''mp_broadcast'''</code>
| {{N/a|Not started|colspan{{=}}"2"}}
|-
| <code>'''os[.path]'''</code>  || [[Nasal library/os.path]] || {{done}}
|-
| <code>'''positioned'''</code>
| {{N/a|Not started|colspan{{=}}"2"}}
|-
| <code>'''props'''</code> || [[Nasal library/props‎‎]] || {{done}}
|-
| <code>'''scenery'''</code>
| {{N/a|Not started|rowspan{{=}}"7" colspan{{=}}"2"}}
|-
| <code>'''screen'''</code>
|-
| <code>'''std'''</code> (current page: [[Vector]])
|-
| <code>'''string'''</code>
|-
| <code>'''thread'''</code>
|-
| <code>'''utf8'''</code>
|-
| <code>'''view'''</code>
|}
 
{| class="wikitable"
|+ Basic Nasal scripting {{Not done}}
! Subject !! Current page(s) !! New page
|-
| Hashes
|
* [[Howto:Start using vectors and hashes in Nasal]]
* [[Object Oriented Programming with Nasal]]
* [[Object oriented programming in Nasal]]
* [[Howto:Understand Namespaces and Methods]]
* [[Nasal Namespaces in-depth]]
| [[Hashes in Nasal]]
|-
| Namespaces
|
* [[Howto:Understand Namespaces and Methods]]
* [[Nasal Namespaces in-depth]]
* [[Nasal Namespaces]]
| [[Namespaces in Nasal]]
|-
| Numbers || {{N/a|Very little}} || [[Numbers in Nasal]]
|-
| Vectors
|
* [[Nasal Variables]]
* [[Howto:Use vectors and foreach loops to write shorter code]]
* [[Howto:Start using vectors and hashes in Nasal]]
| [[Vectors in Nasal]]
|-
| Strings || [[Nasal Hello World]] || [[Strings in Nasal]]
|-  
|-  
|  
| Conditionals || [[Nasal Conditionals]] || [[Conditionals in Nasal]]
* [[Nasal library functions]]
|-
* [[List of Nasal extension functions]]  
| Operators || [[Nasal Operators]] || [[Operators in Nasal]]
|| [[User:Red Leader/Nasal library]]
|-
| Loops || [[Nasal Loops]] || [[Loops in Nasal]]
|-
| Functions || [[Using Nasal functions]] || [[Functions in Nasal]]
|-
| Variables || [[Nasal Variables]] || [[Variables in Nasal]]
|}
 
{| class="wikitable"
|+ Advanced Nasal scripting {{Not done}}
! What? !! Current page(s) !! New page
|-
| Vector slicing  || [[Nasal Variables]] || [[Vectors in Nasal]]
|-
| OOP
|
* [[Object Oriented Programming with Nasal]]
* [[Object oriented programming in Nasal]]
| [[Object orientated programming in Nasal]]
|}
|}


{| class="wikitable"
{| class="wikitable"
|+ Nasal namespaces
|+ [[Canvas]] {{Abbr|API|Application Programming Interface}} {{Not done}}
! Namespace !! Page(s)
! What? !! Current page(s)
|-
| Canvas Element || [[Canvas Element]]
|-
| Canvas Image || [[Canvas Image]]
|-
| Canvas Path || [[Canvas Path]]
|-
| Canvas Map ||
* [[Canvas Map API]] {{FG ver|< 3.0}}
* [[Canvas MapStructure]] {{FG ver|3.0+}}
|-
|-
| <code>math</code> || [[User:Red Leader/Nasal library/math.nas]]
| Event handling || [[Canvas Event Handling]]
|-
|-
| <code>geo</code> || {{n/a}}
! colspan="2" | [[Canvas GUI]]
|}  
|-
| Layout system || [[Canvas Layout System]]
|-
| Widgets
|
* [[Canvas Widget Matrix]]
* [[Canvas GUI]]
* [[Howto:Creating a Canvas GUI Widget]]
|-
| Canvas MessageBox || [[Canvas MessageBox]]
|}
 
== Navbox ==
{{forum|30|Nasal}}
{{sidebar with collapsible headers
| topimage = [[File:Nasallogo3.png]]
| name = Nasal Navigation
| title = [[Nasal|Nasal scripting]]
| contentstyle = text-align: left;
| state = collapsed
 
| content1style = text-align: center;
| content1 = [[Nasal success stories|Success stories]] &bull; [[Nasal FAQ|FAQ]]
 
| heading2 = Tools and utilities
| content2style = text-align: center;
| content2 = [[Nasal Console|Console]] &bull; [[Interactive Nasal Console|REPL Console]] &bull; [[Nasal Browser|Browser]] &bull; [[Howto:Syntax highlighting for Nasal|Syntax highlighting]]
 
| heading3 = Getting started
| content3 =
* [[Nasal syntax overview|Syntax overview]]
* [[Writing Nasal scripts]]
* [[Nasal Snippets]]
* [[Developing and debugging Nasal code]]
 
| heading4 = Basic Scripting
| content4style = text-align: center;
| content4 = [[Hashes in Nasal|Hashes]] &bull; [[Variables in Nasal|Variables]] &bull; [[Operators in Nasal|Operators]] &bull; [[Functions in Nasal|Functions]] &bull; [[Namespaces in Nasal|Namespaces]] &bull; [[Strings in Nasal|Strings]] &bull; [[Vectors in Nasal|Vectors]] &bull; [[Conditionals in Nasal|Conditionals]] &bull; [[Numbers in Nasal|Numbers]] &bull; [[Loops in Nasal|Loops]]
 
| heading5 = Advanced Scripting
| content5 =
* [[Object orientated programming in Nasal|Object orientated programming]]
* [[Nasal Flightplan]]
* [[Callbacks in Nasal]]
* [[Exception handling with Nasal]]
* [[Using listeners and signals with Nasal]]
* [[Caching Nasal function calls]]
* [[Nasal Unit Testing Framework]] (WIP)
* [[Nasal Meta-Programming]]
* [[A GPX flight logger in Nasal]]
* [[Multiplayer scripting in Nasal]]
| heading6 = Howtos
| content6 =
* [[Howto:Write a parser in Nasal]]
* [[Howto:Making HTTP Requests from Nasal]]
* [[Howto:Transmit properties over MP]]
* [[Howto:Terrain sampling in Nasal]]
* [[Howto:Create a new system in Nasal]]
* [[Howto:Load a Nasal file at runtime]]
* [[Howto:Control the route manager in Nasal]]
* [[Howto:Get a number of elevation offsets for a number of objects]]
* [[Howto:Nasal in scenery object XML files]]
* [[Howto:Create animation XML files from Nasal]]
* [[Howto:Port I/O from Nasal]]
* [[Howto:Continuation-passing style programming in Nasal]]
* [[Howto:Start worker threads using listeners in Nasal]]
* [[Howto:Developing a DSL interpreter in Nasal]]
* [[Howto:Nasal Metaprogramming]]
* [[Nasal/JavaScript Subset]]
| heading7 = Reference
| content7 =
* [[Nasal library]] ([[Nasal library#Core library functions|core]]/[[Nasal library#Extension functions|extension]] functions)
** [[Nasal library/geo|<code>geo</code> namespace]]
** [[Nasal library/io|<code>io</code> namespace]]
** [[Nasal library/math|<code>math</code> namespace]]
** [[Nasal library/props|<code>props</code> namespace]]
* [[Nasal String Manipulation]]
}}
{{Nasal Internals}}
{{-}}
 
== Misc ==
* Merge [[Nasal scripting language]] and [[What is Nasal]] into [[Nasal]]


* Nasal library functions
[[Category:Nasal namespace documentation]]
<!-- ** [[Nasal_library_functions|Original]]
** [[List_of_Nasal_extension_functions|Added]] -->
** Coding in Nasal
<!-- * Nasal namespace documentation
** geo.nas
** math.nas
** etc. ... -->
* [[Canvas]] [[Nasal]] API documentation
** [[Canvas Element]]
** [[Canvas Image]]
** Canvas Map ([[MapStructure]])
** [[Canvas Path]]
** [[Canvas GUI]]
*** [[Canvas_Layout_System|Layout system]]
*** Widgets
*** [[Canvas_MessageBox|MessageBox]]
** [[Canvas_Event_Handling|Event Handling]]