jsduckify
Version:
Enables the use of Sencha's JSDuck for documenting CoffeeScript projects.
68 lines (59 loc) • 2.26 kB
HTML
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>The source code</title>
<link href="../resources/prettify/prettify.css" type="text/css" rel="stylesheet" />
<script type="text/javascript" src="../resources/prettify/prettify.js"></script>
<style type="text/css">
.highlight { display: block; background-color: #ddd; }
</style>
<script type="text/javascript">
function highlight() {
document.getElementById(location.hash.replace(/#/, "")).className = "highlight";
}
</script>
</head>
<body onload="prettyPrint(); highlight();">
<pre class="prettyprint lang-js">/* <CoffeeScript>
duckifyFile = require('./duckifyFile').duckifyFile
{DoublyLinkedList} = require('doubly-linked-list')
</CoffeeScript> */
<span id='jsduckify-method-buildMainFile'>/**
</span> * @method buildMainFile
* @member jsduckify
*
* @param {String} filename
* @param {String} readmeString
* @param {String} mainSourceString CoffeeScript source
* @param {Array} exportsAPI each row contains {baseName, fullName, type}
* @param {String} prefix the root for this documentation
*
* @return {String} duckifiedMainFile
*/
/* <CoffeeScript>
exports.buildMainFile = (filename, readmeString, mainSourceString, exportsAPI, prefix) ->
# Breaks the file down into lines.
lineList = new DoublyLinkedList(mainSourceString.split('\n'))
unless lineList.head.value.indexOf('###') == 0 # Starts with a DocString. Make it the Main.
lineList.head.insertBefore('###')
lineList.head.insertBefore('###')
lineList.head.insertAfter(readmeString)
lineList.head.insertAfter("@class #{prefix}")
sourceFileString = lineList.toArray().join('\n')
# sourceFileString = """
# ###
# @class #{prefix}
# @extends
# #{readmeString}
# ###
# #{mainSourceString}
# """
for e in exportsAPI
unless e.processed?
console.log("Couldn't find #{e.fullName} in source.")
duckifiedMainFile = duckifyFile(filename, sourceFileString, exportsAPI, prefix = '', true)
return duckifiedMainFile
</CoffeeScript> */</pre>
</body>
</html>