<h1>OxDoc — A JavaScript Documentation Language</h1> <p><code>OxDoc</code> is a new format for JavaScript documentation. It was developed for and is used throughout <code>OxJS</code>, which provides a <a href="#doc/Ox.doc">parser</a> and a <a href="#doc/Ox.DocPanel">browser</a> for it.</p> <p><code>OxDoc</code> itself isn't formally documented yet, but you may want to take a look at the detailed <a href="#examples/oxdoc_tutorial">OxDoc Tutorial</a>. The sample below should give you a rough first idea.</p> <p>For now, <code>OxDoc</code> should be considered a proposal, and this introduction is, above all, a request for <a href="#development">comments</a>.</p> <pre class="code"> //@ Section Name this.My = {}; //@ My.foo <number> One-line summary, with *some* `markdown` My.foo = 23; /*@ My.bar <object> Summary Optional multi-line description, with *some* `markdown`. property <object> A property of `My.bar` Description of `property`. foo <number> A number bar <[string]> An array of strings method <function> A method of `My.bar` (foo[, bar], callback) -> <undefined> Return value foo <number|string> Argument, number or string bar <boolean|false> Optional argument, default is `false` callback <function> Callback function arg <boolean> Argument baz <event> An event triggered by `My.bar` x <number> Event property y <number> Event property # This is a comment. Below are inline tests. The last one is asynchronous. > My.bar.property.foo < 1 true > My.bar.property.bar.join('') 'string' > My.bar.method(1, function(arg) { Ox.test(arg, true); }) undefined */ My.bar = { property: { foo: Math.random(), bar: 'string'.split('') }, method: function(foo, bar, callback) { if (arguments.length == 2) { callback = bar; bar = false; } if (bar) { // trigger baz event } setTimeout(function() { callback(!!foo); }); } }; </pre>