update api docs parser

This commit is contained in:
rolux 2014-12-18 14:25:02 +00:00
parent c121f2b084
commit a7718544d8

View file

@ -131,39 +131,42 @@ pandora.ui.apiDialog = function() {
var $doc = Ox.SyntaxHighlighter({ var $doc = Ox.SyntaxHighlighter({
source: string.replace( source: string.replace(
/\n(?=(takes \{|returns \{|note: |see: ))/g, '\n\n' /\n(?=(takes \{|returns \{|note: |see: ))/g, '\n\n'
).replace(
/(takes|returns|note|see)(?=( \{|: ))/g, 'BOLD$1BOLD'
).replace(
/`/g, 'BOLD'
) )
}) })
.css({backgroundColor: 'rgba(0, 0, 0, 0)'}), .css({backgroundColor: 'rgba(0, 0, 0, 0)'}),
parts, parts_; parts, parts_,
str = '<span class="OxOperator">,</span>'
+ '<span class="OxWhitespace">&nbsp;</span>';
['Keyword', 'Method', 'Property'].forEach(function(type) { ['Keyword', 'Method', 'Property'].forEach(function(type) {
$doc.find('.Ox' + type).removeClass('Ox' + type); $doc.find('.Ox' + type).removeClass('Ox' + type);
}); });
Ox.print('DEBUG', $doc.html()) Ox.print('DEBUG', $doc.html())
$doc.html( $doc.html(
$doc.html() $doc.html().replace(/X(\w+)X/g, '<b>$1</b>')
.replace(/(takes \{|returns \{|note: |see: )/g, '<b>$1</b>')
.replace(/`(?=\w)/g, '<b>')
.replace(/`(?=\W)/g, '</b>')
); );
parts = $doc.html().split('<b>notes: </b>'); parts = $doc.html().split('<b>notes</b>');
if (parts.length == 2) { if (parts.length == 2) {
parts_ = parts[1].split('<b>see: </b>'); parts_ = parts[1].split('<b>see</b>');
if (len(parts_) == 2) { if (len(parts_) == 2) {
parts_[0] = parts_[0].replace(/\n\s+?/g, ' '); parts_[0] = parts_[0].replace(/\n\s+?/g, ' ');
parts[1] = parts_.join('<b>see: </b>'); parts[1] = parts_.join('<b>see</b>');
} else { } else {
parts[1] = parts[1].replace(/\n\s+?/g, ' '); parts[1] = parts[1].replace(/\n\s+?/g, ' ');
} }
$doc.html(parts.join('<b>notes: </b>')); $doc.html(parts.join('<b>notes</b>'));
} }
parts = $doc.html().split('<b>see: </b>'); parts = $doc.html().split('<b>see</b>');
if (parts.length == 2) { if (parts.length == 2) {
parts[1] = parts[1].replace(/\n\s+?/, '').split(', ').map( parts[1] = parts[1].replace(/\n\s+?/, '').split(str).map(
function(action) { function(action) {
return '<a href="/api/' + action + '">' + action + '</a>'; return '<a href="/api/' + action + '">' + action + '</a>';
} }
).join(', '); ).join(str);
$doc.html(parts.join('<b>see: </b>')); $doc.html(parts.join('<b>see</b>'));
} }
pandora.createLinks($doc); pandora.createLinks($doc);
return $doc; return $doc;