Skip to content

Commit 181ed67

Browse files
committed
feat(api): Add enum template
1 parent 5213c59 commit 181ed67

File tree

14 files changed

+148
-31
lines changed

14 files changed

+148
-31
lines changed

compiler/api/index.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ const nestjs = new Package('nestjs', [
2323
.processor(require('./processors/processClassLikeMembers'))
2424
.processor(require('./processors/filterContainedDocs'))
2525
.processor(require('./processors/markPrivateDocs'))
26+
.processor(require('./processors/shortDescription'))
2627
.processor(require('./processors/test'))
2728

2829
.config(function(readTypeScriptModules, tsParser) {
@@ -67,10 +68,7 @@ const nestjs = new Package('nestjs', [
6768
templateEngine.filters.concat(getInjectables(requireFolder(__dirname, './rendering')));
6869

6970
// helpers are made available to the nunjucks templates
70-
renderDocsProcessor.helpers.relativePath = function(from, to) {
71-
return relative(from, to);
72-
};
73-
71+
renderDocsProcessor.helpers.relativePath = (from: string, to: string) => relative(from, to);
7472
});
7573

7674
new Dgeni([nestjs]).generate();
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
/**
2+
* Split the description (of selected docs) into:
3+
*`shortDescription`: the first paragraph
4+
*`description`: the rest of the paragraphs
5+
*/
6+
module.exports = function splitDescription() {
7+
return {
8+
$runAfter: ['tags-extracted'],
9+
$runBefore: ['processing-docs'],
10+
$process(docs) {
11+
docs.forEach(doc => {
12+
if (
13+
doc.description !== undefined
14+
) {
15+
const description = doc.description.trim();
16+
const endOfParagraph = description.search(/\n\s*\n/);
17+
if (endOfParagraph === -1) {
18+
doc.shortDescription = description;
19+
doc.description = '';
20+
} else {
21+
doc.shortDescription = description.substr(0, endOfParagraph).trim();
22+
doc.description = description.substr(endOfParagraph).trim();
23+
}
24+
}
25+
});
26+
}
27+
};
28+
};

compiler/api/processors/test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ module.exports = function test() {
44
$runAfter: ['processClassLikeMembers'],
55
$runBefore: ['renderDocsProcessor'],
66
$process(docs: any[]) {
7-
console.log(docs.find(doc => doc.docType === 'class').methods[0]);
7+
// console.log(docs.find(doc => doc.docType === 'class').methods[0]);
88
}
99
};
1010
};
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
<h1>{$ doc.name $}</h1>
2+
<label class="api-type-label {$ doc.docType $}">{$ doc.docType $}</label>
3+
{% block body %}{% endblock %}
Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,9 @@
1-
{% import "lib/memberHelpers.html" as memberHelper -%}
2-
3-
<h1>{$ doc.name $}</h1>
4-
<p>{$ doc.tags.description $} </p>
5-
6-
<pre class="language-typescript">
7-
<code class="language-typescript">
8-
{% if doc.isAbstract %}abstract {% endif%}class {$ doc.name $}{$ doc.typeParams | escape $}{$ memberHelper.renderHeritage(doc) $} {{$ memberHelper.renderMembers(doc) $}
9-
}
10-
</code>
11-
</pre>
12-
13-
{$ memberHelper.renderProperties(doc.properties, 'instance-properties', 'instance-property', 'Properties') $}
14-
15-
{$ memberHelper.renderMethodDetails(versionInfo, doc.methods, 'instance-methods', 'instance-method', 'Methods') $}
1+
{% extends 'export-base.template.html' -%}
2+
3+
{% block overview %}
4+
{% include "includes/class-overview.html" %}
5+
{% endblock %}
6+
{% block details %}
7+
{% include "includes/description.html" %}
8+
{% include "includes/class-members.html" %}
9+
{% endblock %}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
{% import "lib/memberHelpers.html" as memberHelpers -%}
2+
{% extends 'export-base.template.html' -%}
3+
4+
{% block details %}
5+
<pre class="language-typescript">
6+
<code class="language-typescript">
7+
enum {$ doc.name $} {{$ memberHelpers.renderMembers(doc) $}
8+
}
9+
</code>
10+
</pre>
11+
12+
{% include "includes/description.html" %}
13+
{$ memberHelpers.renderProperties(doc.properties, 'members', 'member', 'Members', ['Member']) $}
14+
{% endblock %}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{% extends 'base.template.html' -%}
2+
3+
{% block body %}
4+
<section class="short-description">
5+
{$ doc.shortDescription | marked $}
6+
{% if doc.description %}<p><a href="#description">See more...</a></p>{% endif %}
7+
</section>
8+
{% block overview %}{% endblock %}
9+
{% block details %}{% endblock %}
10+
{% block endNotes %}{% include "includes/usageNotes.html" %}{% endblock %}
11+
{% endblock %}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{% import "lib/memberHelpers.html" as memberHelper -%}
2+
{% import "lib/descendants.html" as descendants -%}
3+
4+
5+
<pre class="language-typescript">
6+
<code class="language-typescript">
7+
{% if doc.isAbstract %}abstract {% endif%}class {$ doc.name $}{$ doc.typeParams | escape $}{$ memberHelper.renderHeritage(doc) $} {{$ memberHelper.renderMembers(doc) $}
8+
}
9+
</code>
10+
</pre>
11+
12+
{$ descendants.renderDescendants(doc, 'class', 'Subclasses', true, r/class|directive|pipe|decorator/) $}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{% if doc.description %}
2+
<section class="description">
3+
<h2>Description</h2>
4+
{$ doc.description | trimBlankLines | marked $}
5+
</section>
6+
{% endif %}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{%- if doc.see AND doc.see.length %}
2+
<section class="see-also">
3+
<h2>See also</h2>
4+
<ul>
5+
{% for see in doc.see %}
6+
<li>{$ see | marked $}</li>{% endfor %}
7+
</ul>
8+
</section>
9+
{% endif %}

0 commit comments

Comments
 (0)