add api menu templates

This commit is contained in:
Tim Lancina
2015-09-01 15:51:56 -05:00
parent ab079ce72c
commit 1027d2bacc
3 changed files with 68 additions and 47 deletions

View File

@ -10,6 +10,7 @@ var path = require('path');
module.exports = new Package('ionic-v2-docs', [jsdocPackage, nunjucksPackage, typescriptPackage, linksPackage, gitPackage])
.processor(require('./processors/index-page'))
.processor(require('./processors/jekyll'))
// for debugging docs
// .processor(function test(){
@ -68,9 +69,21 @@ module.exports = new Package('ionic-v2-docs', [jsdocPackage, nunjucksPackage, ty
// Nunjucks and Angular conflict in their template bindings so change the Nunjucks
templateEngine.config.tags = {
variableStart: '{$',
variableEnd: '$}'
variableEnd: '$}',
blockStart: '<@',
blockEnd: '@>'
};
//Don't conflict with the jekyll tags
// config.set('rendering.nunjucks.config.tags', {
// blockStart: '<@',
// blockEnd: '@>',
// variableStart: '<$',
// variableEnd: '$>',
// commentStart: '<#',
// commentEnd: '#>'
// });
templateFinder.templateFolders.unshift(path.resolve(__dirname, 'templates'));
// Specify how to match docs to templates.

View File

@ -1,23 +1,31 @@
var log = require('winston');
module.exports = function jekyll(){
return {
name: 'jekyll',
description: 'Create jekyll includes',
$runAfter: ['adding-extra-docs'],
$runBefore: ['extra-docs-added'],
$process: function(docs) {
//TODO(tlancina): supply this via DI
var currentVersion = '2.0.0-alpha.2';
module.exports = {
name: 'jekyll',
runAfter: ['api-docs'],
runBefore: ['compute-path'],
description: 'Create jekyll includes',
process: function(docs, config) {
var currentVersion = config.versionData.current.name;
docs.push({
template: 'api_menu.template.html',
outputPath: '_includes/api_menu.html'
});
docs.push({
template: 'api_menu_version.template.html',
outputPath: '_includes/api_menu_' + currentVersion + '.html'
});
docs.push({
template: 'api_version_select.template.html',
outputPath: '_includes/api_version_select.html'
});
docs.push({
docType: 'api-menu',
id: 'api-menu',
template: 'api_menu.template.html',
outputPath: '_includes/api_menu.html'
});
docs.push({
docType: 'api-menu-version',
id: 'api-menu-version',
template: 'api_menu_version.template.html',
outputPath: '_includes/api_menu_' + currentVersion + '.html'
});
docs.push({
docType: 'api-version-select',
id: 'api-version-select',
template: 'api_version_select.template.html',
outputPath: '_includes/api_version_select.html'
});
}
}
};

View File

@ -1,51 +1,51 @@
{% macro paramList(paramData) -%}
{%- if paramData -%}<span class="params">(
{%- for param in paramData -%}
<span class="param">{$ param | escape $}{% if not loop.last %}, {% endif %}</span>
{%- endfor %})</span>
{%- endif %}
{%- endmacro -%}
{% macro githubViewLink(doc) -%}
<@ macro paramList(paramData) -@>
<@- if paramData -@><span class="params">(
<@- for param in paramData -@>
<span class="param">{$ param | escape $}<@ if not loop.last @>, <@ endif @></span>
<@- endfor @>)</span>
<@- endif @>
<@- endmacro -@>
<@ macro githubViewLink(doc) -@>
<a href="https://github.com/{$ versionInfo.gitRepoInfo.owner $}/{$ versionInfo.gitRepoInfo.repo $}/tree/master/{$ doc.fileInfo.relativePath $}#L{$ doc.location.start.line+1 $}-L{$ doc.location.end.line+1 $}">{$ doc.fileInfo.relativePath $} (line {$ doc.location.start.line+1 $})</a>
{%- endmacro -%}
<@- endmacro -@>
{% block body %}
<@ block body @>
<h1 class="class export">{$ doc.name $} <span class="type">{$ doc.docType $}</span></h1>
<p class="module">exported from {@link {$ doc.moduleDoc.id $} {$doc.moduleDoc.id $} }<br/>
defined in {$ githubViewLink(doc) $}
</p>
<p>{$ doc.description | marked $}</p>
{%- if doc.decorators %}
<@- if doc.decorators @>
<h2>Annotations</h2>
{%- for decorator in doc.decorators %}
<@- for decorator in doc.decorators @>
<h3 class="annotation">@{$ decorator.name $}{$ paramList(decorator.arguments) $}</h3>
{% endfor %}
{% endif -%}
<@ endfor @>
<@ endif -@>
{%- if doc.constructorDoc or doc.members.length -%}
<@- if doc.constructorDoc or doc.members.length -@>
<h2>Members</h2>
{%- if doc.constructorDoc %}
<@- if doc.constructorDoc @>
<section class="member constructor">
<h1 id="constructor" class="name">{$ doc.constructorDoc.name $}{$ paramList(doc.constructorDoc.paramData) $}</h1>
{% marked %}
<@ marked @>
{$ doc.constructorDoc.description $}
{% endmarked %}
<@ endmarked @>
</section>
{% endif -%}
<@ endif -@>
{%- for member in doc.members %}{% if not member.private %}
<@- for member in doc.members @><@ if not member.private @>
<section class="member">
<h1 id="{$ member.name $}" class="name">
{$ member.name $}{% if member.optional %}?{% endif %}{$ paramList(member.params) $}
{$ member.name $}<@ if member.optional @>?<@ endif @>{$ paramList(member.params) $}
</h1>
{% marked %}
<@ marked @>
{$ member.description $}
{% endmarked %}
<@ endmarked @>
</section>
{% endif %}{% endfor %}
{%- endif -%}
<@ endif @><@ endfor @>
<@- endif -@>
{% endblock %}
<@ endblock @>