angular-docs-cn/aio/tools/transforms/templates
Pete Bacon Darwin 538286df16 build(docs-infra): add path disambiguation (#41788)
When two documents have the same `outputPath`, only differing by
letter casing, there can be problems on case-insensitive file-systems:
Only one of each of the docs would end up being written.

Moreover, the Webpack 5 bundler will error if it comes across files
that have this kind of ambiguous paths.

This commit adds a new docType: `disambiguator`, which will display
a list of the docs that match an ambiguous path. Each of the ambiguous
docs is then given a unique path and outputPath to ensure there are no
collisions.

PR Close #41788
2021-04-26 12:12:00 -07:00
..
api build(docs-infra): add a link to `usage notes` from `description` (#40835) 2021-02-16 07:47:08 -08:00
cli docs: update CLI MAN page format (#40038) 2020-12-14 11:31:07 -08:00
error docs: add embedded videos to error guides (#40453) 2021-01-20 08:47:00 -08:00
lib build(docs-infra): display github links in CLI API docs (#26515) 2018-10-19 11:12:54 -07:00
README.md build(docs-infra): remove legacy jsdoc tag processing (#26039) 2018-09-24 09:11:02 -07:00
content.template.html build(docs-infra): implement `@reviewed` tag definition (#40582) 2021-01-28 09:04:49 -08:00
data-module.template.js
disambiguator.template.html build(docs-infra): add path disambiguation (#41788) 2021-04-26 12:12:00 -07:00
example-region.template.html
json-doc.template.json
overview-dump.template.html refactor(docs-infra): refactor templates (#24378) 2018-08-31 09:42:10 -07:00
sitemap.template.xml build(aio): generate sitemap from the generated pages (#21689) 2018-01-22 12:55:15 -08:00

README.md

This folder contains the dgeni templates that are used to generate the API docs

Generally there is a template for each docType. Templates can extend and/or include other templates. Templates can also import macros from other template files.

Template inheritance

When extending a template, parent must declare blocks that can be overridden by the child. The template extension hierarchy looks like this (with declared blocks in parentheses):

  • layout/base.template.html (bread-crumbs, header, embedded contents and body)
    • package.template.html
    • export-base.template.html (short-description, security-notes, deprecation, overview, see-also, details, usageNotes)
      • class.template.html
        • directive.template.html
      • enum.template.html
      • var.template.html
        • const.template.html
        • let.template.html
      • decorator.template.html
      • function.template.html
      • interface.template.html
        • value-module.template.html
      • type-alias.template.html
      • pipe.template.html
      • ngmodule.template.html

Doc Properties

It is useful to know what properties are available on each doc type when working with the templates. The typescript Dgeni package is now written in TypeScript and there is a class for each of the types of API document. See https://github.com/angular/dgeni-packages/tree/master/typescript/src/api-doc-types. This is a good place to go to see what properties you can use in the templates.