UNPKG

documon

Version:

A documentation system for mortals. Use with any language.

1,131 lines (571 loc) 37.3 kB
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <title>More</title> <meta name="description" content="Discovers, parses, converts markdown to HTML and injects menu with more" docs."> <!-- Normalize --> <link rel="stylesheet" href="assets/vendor/normalize.css"> <!-- prettify --> <link rel="stylesheet" href="assets/vendor/prettify/codamike.css"> <script src="assets/vendor/prettify/prettify.js"></script> <!-- Documon Pages Info. (Used by various classes to identify this page.) --> <script> var pageCtx = { id : "documon.More", name: "More" } </script> <!-- theme <link rel="stylesheet" href="assets/fonts/Fira_Sans/FiraSans.css"> <link rel="stylesheet" href="assets/fonts/Inconsolata/inconsolata.css"> --> <link rel="stylesheet" href="assets/css/pages.css"> <script src="assets/js/documon/Storage.js"></script> <script src="assets/js/documon/Access.js"></script> <script src="assets/js/documon/Pages.js"></script> <script> (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-106684927-1', 'auto'); ga('send', 'pageview'); </script> </head> <body> <div class="page"> <div class="main-method"> <a name="methods"></a> <div class="part-methods"> <a name="documon.More"></a><a name="More"></a> <div class="member" data-access="private" > <div class="member-name clearfix"> <span class="member-name-left"> More (<span class="method-arguments">params</span>, <span class="method-arguments">sourceDocsMenu</span>, <span class="method-arguments">searchDB</span>) <span class="flag private">private</span> <!-- public private protected --> </span> <span class="member-name-right"> <span class="member-file">documon/src/more.js</span> <span class="member-line-number">32</span> </span> </div> <div class="member-description"> <div class="meta-block meta-block-klass"> <div class="meta-line"><span class="meta-label" >xpath</span> <span class="meta-target">documon.More<span></div> <div class="meta-line"><span class="meta-label" >file</span> <span class="meta-target">documon/src/more.js<span></div> </div> <p>Discovers, parses, converts markdown to HTML and injects menu with "more" docs.</p> <p>Processes the "more" markdown folder by:</p> <ul> <li>Building the menu to reflect the "more folder" directory structure.</li> <li>Translates markdown into HTML</li> </ul> <div class="part-parameters"> <div class="heading-part">Parameters</div> <div class="member"> <div class="member-block-group"> <div class="member-block" > <div class="member-block-left"> <span class="member-name">params</span> </div> <div class="member-block-center"> <span class="member-name-right"> </span> <div class="param-description"> <span class="type">object</span> <div class="member-description"> <p>The primary documon configuration <a href="documon.documon.mainConf">documon.js::mainConf</a>, which should contain:</p> </div> <div class="part-parameters"> <div class="heading-part">params properties</div> <div class="member"> <div class="member-block-group"> <div class="member-block" > <div class="member-block-left"> <span class="member-name">moreQuirkDelimiter</span> </div> <div class="member-block-center"> <span class="member-name-right"> </span> <div class="param-description"> <span class="type">object</span> <span class="flag optional">optional</span> <span class="default-value"> . </span> <div class="member-description"> <p>Set's the <a href="#quirkDelimiter">quirkDelimiter</a>.</p> </div> </div> </div> </div> <div class="member-block" > <div class="member-block-left"> <span class="member-name">outputAssetsFolder</span> </div> <div class="member-block-center"> <span class="member-name-right"> </span> <div class="param-description"> <span class="type">object</span> <div class="member-description"> <p>The asset folder to copy into the final documentation. The More pages may refer to assets outside of the template, such as css, images, etc.</p> </div> </div> </div> </div> <div class="member-block" > <div class="member-block-left"> <span class="member-name">moreFolder</span> </div> <div class="member-block-center"> <span class="member-name-right"> </span> <div class="param-description"> <span class="type">object</span> <div class="member-description"> <p>The folder to process.</p> </div> </div> </div> </div> <div class="member-block" > <div class="member-block-left"> <span class="member-name">templateFolder</span> </div> <div class="member-block-center"> <span class="member-name-right"> </span> <div class="param-description"> <span class="type">object</span> <div class="member-description"> <p>The path to the template folder.</p> </div> </div> </div> </div> <div class="member-block" > <div class="member-block-left"> <span class="member-name">outputFolder</span> </div> <div class="member-block-center"> <span class="member-name-right"> </span> <div class="param-description"> <span class="type">object</span> <div class="member-description"> <p>THe destination folder.</p> </div> </div> </div> </div> <div class="member-block" > <div class="member-block-left"> <span class="member-name">gati</span> </div> <div class="member-block-center"> <span class="member-name-right"> </span> <div class="param-description"> <span class="type">object</span> <div class="member-description"> <p>Your Google Analytics Tracking ID</p> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> <div class="member-block" > <div class="member-block-left"> <span class="member-name">sourceDocsMenu</span> </div> <div class="member-block-center"> <span class="member-name-right"> </span> <div class="param-description"> <span class="type">object</span> <div class="member-description"> <p>The menu for the parsed source code documentation. We'll merge it into the "more" menu.</p> </div> </div> </div> </div> <div class="member-block" > <div class="member-block-left"> <span class="member-name">searchDB</span> </div> <div class="member-block-center"> <span class="member-name-right"> </span> <div class="param-description"> <span class="type">object</span> <div class="member-description"> <p>The searchData (local to documon's <a href="documon.documon.run">run</a> function, as generated by <a href="documon.documon.seeder">seeder</a> ), we'll include our "more" docs for searching.</p> </div> </div> </div> </div> </div> </div> </div> <div class="heading-returns">Returns <span class="type">menu | undefined</span> </div> <div class="member"><p>Serves 2 purposes, when returning <strong>undefined</strong> notifies callee that there aren't any "more" docs. Otherwise the modified menu is return with the original sourceDocsMenu either tacked onto the end of the "more" menu, or incorporated into the "more" menu at the "DOCS-GO-HERE" injection point.</p></div> </div> </div> </div> </div> <div class="parts"> <a name="properties"></a> <div class="part-properties"> <div class="heading-part">Properties</div> <div class="member"> <div class="member-block-group"> <div class="member-block" data-access="private" > <div class="member-block-left"> <a name="documon.More.docGoesHereStr"></a><a name="docGoesHereStr"></a> <span class="member-name">docGoesHereStr</span> </div> <div class="member-block-center"> <span class="member-name-right"> <span class="member-file">documon/src/more.js</span><span class="member-line-number" title="documon/src/more.js">67</span> </span> <div class="param-description"> <span class="type">string</span> <span class="flag private">private</span> <!-- public private protected --> <div class="member-description"> <p>The string used as the flag as to where to insert the parsed source documents into the menu.</p> </div> </div> </div> </div> <div class="member-block" data-access="private" > <div class="member-block-left"> <a name="documon.More.flat"></a><a name="flat"></a> <span class="member-name">flat</span> </div> <div class="member-block-center"> <span class="member-name-right"> <span class="member-file">documon/src/more.js</span><span class="member-line-number" title="documon/src/more.js">47</span> </span> <div class="param-description"> <span class="type">string</span> <span class="flag private">private</span> <!-- public private protected --> <div class="member-description"> <p>A place to store generated page objects with a direct reference to their ID via flat[id].</p> </div> </div> </div> </div> <div class="member-block" data-access="private" > <div class="member-block-left"> <a name="documon.More.metaRx"></a><a name="metaRx"></a> <span class="member-name">metaRx</span> </div> <div class="member-block-center"> <span class="member-name-right"> <span class="member-file">documon/src/more.js</span><span class="member-line-number" title="documon/src/more.js">73</span> </span> <div class="param-description"> <span class="type">string</span> <span class="flag private">private</span> <!-- public private protected --> <div class="member-description"> <p>The regular expression use to split the doc on the <a href="#metaString">metaString</a></p> </div> </div> </div> </div> <div class="member-block" > <div class="member-block-left"> <a name="documon.More.metaString"></a><a name="metaString"></a> <span class="member-name">metaString</span> </div> <div class="member-block-center"> <span class="member-name-right"> <span class="member-file">documon/src/more.js</span><span class="member-line-number" title="documon/src/more.js">61</span> </span> <div class="param-description"> <span class="type">string</span> <div class="member-description"> <p>The delimiting string used to seperate the meta JSON from normal markdown.</p> </div> </div> </div> </div> <div class="member-block" data-access="private" > <div class="member-block-left"> <a name="documon.More.quirkDelimiter"></a><a name="quirkDelimiter"></a> <span class="member-name">quirkDelimiter</span> </div> <div class="member-block-center"> <span class="member-name-right"> <span class="member-file">documon/src/more.js</span><span class="member-line-number" title="documon/src/more.js">54</span> </span> <div class="param-description"> <span class="type">string</span> <span class="flag private">private</span> <!-- public private protected --> <div class="member-description"> <p>Used to mark where filename numbering terminates and the "title" begins. User configurable via the <a href="more.options">moreQuirkDelimiter option</a>.</p> </div> </div> </div> </div> </div> </div> </div> <a name="methods"></a> <div class="part-methods"> <div class="heading-part">Methods</div> <a name="documon.More.cleanID"></a><a name="cleanID"></a> <div class="member" data-access="private" > <div class="member-name clearfix"> <span class="member-name-left"> cleanID (<span class="method-arguments">id</span>, <span class="method-arguments">amFolder</span>) <span class="flag private">private</span> <!-- public private protected --> </span> <span class="member-name-right"> <span class="member-file">documon/src/more.js</span> <span class="member-line-number">192</span> </span> </div> <div class="member-description"> <p>Cleans the ID so the ID only contains lapha-numeric characters. Non-alphanumeric characters are translated into an underscore character.</p> <div class="part-parameters"> <div class="heading-part">Parameters</div> <div class="member"> <div class="member-block-group"> <div class="member-block" > <div class="member-block-left"> <span class="member-name">id</span> </div> <div class="member-block-center"> <span class="member-name-right"> </span> <div class="param-description"> <span class="type">type</span> <div class="member-description"> <p>description</p> </div> </div> </div> </div> <div class="member-block" > <div class="member-block-left"> <span class="member-name">amFolder</span> </div> <div class="member-block-center"> <span class="member-name-right"> </span> <div class="param-description"> <span class="type">type</span> <div class="member-description"> <p>description</p> </div> </div> </div> </div> </div> </div> </div> <div class="heading-returns">Returns <span class="type">type</span> </div> <div class="member"><p>description description</p></div> </div> </div> <a name="documon.More.init"></a><a name="init"></a> <div class="member" > <div class="member-name clearfix"> <span class="member-name-left"> init () </span> <span class="member-name-right"> <span class="member-file">documon/src/more.js</span> <span class="member-line-number">256</span> </span> </div> <div class="member-description"> <p>See class description.</p> </div> </div> <a name="documon.More.newItem"></a><a name="newItem"></a> <div class="member" data-access="private" > <div class="member-name clearfix"> <span class="member-name-left"> newItem (<span class="method-arguments">url</span>, <span class="method-arguments">amFolder</span>) <span class="flag private">private</span> <!-- public private protected --> </span> <span class="member-name-right"> <span class="member-file">documon/src/more.js</span> <span class="member-line-number">98</span> </span> </div> <div class="member-description"> <p>Opens, catalogs and builds a new page from the provided file path.</p> <div class="part-parameters"> <div class="heading-part">Parameters</div> <div class="member"> <div class="member-block-group"> <div class="member-block" > <div class="member-block-left"> <span class="member-name">url</span> </div> <div class="member-block-center"> <span class="member-name-right"> </span> <div class="param-description"> <span class="type">string</span> <div class="member-description"> <p>The path to the markdown file.</p> </div> </div> </div> </div> <div class="member-block" > <div class="member-block-left"> <span class="member-name">amFolder</span> </div> <div class="member-block-center"> <span class="member-name-right"> </span> <div class="param-description"> <span class="type">boolean</span> <div class="member-description"> <p>Process as a folder?</p> </div> </div> </div> </div> </div> </div> </div> <div class="heading-returns">Returns <span class="type">object</span> </div> <div class="member"><p>An object containing structured data:</p> <pre><code> { id , url // as originally provided , label // Cleaned up (no numbering) filename , name : // same as label but the page.jst template needs the "name" property. , kind : // The CSS class used on the icon( amFolder ? "more-folder" : "more-file" ) , amFolder : // is a folder? , basepath : // The parent folder. , parentID : // The parent's id (e.g.more.foo) , children : // Folders have a children array }</code></pre></div> </div> </div> <a name="documon.More.parseJSON"></a><a name="parseJSON"></a> <div class="member" data-access="private" > <div class="member-name clearfix"> <span class="member-name-left"> parseJSON (<span class="method-arguments">val</span>) <span class="flag private">private</span> <!-- public private protected --> </span> <span class="member-name-right"> <span class="member-file">documon/src/more.js</span> <span class="member-line-number">240</span> </span> </div> <div class="member-description"> <p>A safe replacement for standard JSON parsing that mitigates errors.</p> <div class="part-parameters"> <div class="heading-part">Parameters</div> <div class="member"> <div class="member-block-group"> <div class="member-block" > <div class="member-block-left"> <span class="member-name">val</span> </div> <div class="member-block-center"> <span class="member-name-right"> </span> <div class="param-description"> <span class="type">string</span> <div class="member-description"> <p>val</p> </div> </div> </div> </div> </div> </div> </div> <div class="heading-returns">Returns <span class="type">any</span> </div> <div class="member"></div> </div> </div> <a name="documon.More.quirkyName"></a><a name="quirkyName"></a> <div class="member" data-access="private" > <div class="member-name clearfix"> <span class="member-name-left"> quirkyName (<span class="method-arguments">filename</span>, <span class="method-arguments">amFolder</span>) <span class="flag private">private</span> <!-- public private protected --> </span> <span class="member-name-right"> <span class="member-file">documon/src/more.js</span> <span class="member-line-number">205</span> </span> </div> <div class="member-description"> <p>splits the numbering off of eight filename and returns the filename with out numbering</p> <div class="part-parameters"> <div class="heading-part">Parameters</div> <div class="member"> <div class="member-block-group"> <div class="member-block" > <div class="member-block-left"> <span class="member-name">filename</span> </div> <div class="member-block-center"> <span class="member-name-right"> </span> <div class="param-description"> <span class="type">type</span> <div class="member-description"> <p>description</p> </div> </div> </div> </div> <div class="member-block" > <div class="member-block-left"> <span class="member-name">amFolder</span> </div> <div class="member-block-center"> <span class="member-name-right"> </span> <div class="param-description"> <span class="type">type</span> <div class="member-description"> <p>description</p> </div> </div> </div> </div> </div> </div> </div> <div class="heading-returns">Returns <span class="type">type</span> </div> <div class="member"><p>description description</p></div> </div> </div> </div> </div> </div> <div class="footer">Generated by <a href="http://www.documon.net" target="_blank">Documon</a></div> </body> </html>