angular/aio/tools/transforms/templates/api/class.template.html
George Kalpakas bdefeb1f11 perf(docs-infra): reduce unnecessary whitespace in API docs (#43435)
The HTML for the docs pages is generated by Dgeni based on some
[Nunjucks][1] templates.

Previously, these templates were set up in a way that introduced a lot
excess whitespace in the generated HTML, unnecessarily bloating the
corresponding JSON files that need to be downloaded in order to view a
certain docs page. This has been discussed in #28105 and was again
observed while investigating #43285.

This commit refactors some of the templates related to API docs (which
seem to be the most affected ones) to drastically reduce the amount of
excess whitespace. More specifically, the total size of all files in
`generated/docs/api/` was reduced from ~13MB to ~7MB.

Besides the reduced payload size for each API page, this change will
also reduce the amount of memory needed by the ServiceWorker to cache
the API pages that have been visited by a user.

NOTE:
The affected files are not eagerly downloaded when navigating to
angular.io. Instead, each file is downloaded individually, as soon as a
user visits the corresponding API docs page. Therefore, the impact of
this change will be relatively small for most users.

[1]: https://mozilla.github.io/nunjucks/

PR Close #43435
2021-09-14 08:29:50 -07:00

10 lines
375 B
HTML

{% import "lib/ngmodule.html" as ngModuleHelpers -%}
{% extends 'export-base.template.html' -%}
{% block overview -%}
{% include "includes/class-overview.html" %}
{%- endblock %}
{% block details -%}
{$ ngModuleHelpers.ngModuleList(doc.ngModules, 'Provided in') $}
{% include "includes/description.html" %}
{% include "includes/class-members.html" %}
{%- endblock %}