
* fix(aio): allow code blocks to clear floated images Previously the negative margin on the code headings were causing floated images to overlay the start of a code block. Now all code block successfully clear all floated elements. * feat(aio): add a `.clear` class for clearing floating images * fix(aio): tidy up image styles The css rules for `img.right` and `img.left` allow authors easy access to floating an image on the left or right, respectively. The `.image-display` rule which was always found on a figure has been simplified so that all figures have this styling. It is very unlikely that a figure will be used outside the content area; and at this time it seems like `figure` is as good an indicator that we want this kind of styling as anything. Now that images are all tagged with width and height values, we cannot assume to modify these dimensions via CSS as it can cause the image to lose its correct proportions. Until we find a better solition we must set `height` to `auto` when the screen width is below 1300px to ensure that these images maintain their proportions as they get shrunk to fit. * docs(aio): general tidy up of image HTML in guides Previously, the guides have a lot of inline image styling and unnecessary use of the `image-display` css class. Images over 700px are problematic for guide docs, so those have been given specific widths and associated heights. * docs(aio): use correct anchor for "back to the top" link The `#toc` anchor does not work when the page is wide enough that the TOC is floating to the side. * build(aio): add `#top-of-page` to path variants for link checking Since the `#top-of-page` is outside the rendered docs the `checkAnchorLinks` processor doesn't find them as valid targets for links. Adding them as a `pathVariant` solves this problem but will still catch links to docs that do not actually exist. * fix(aio): ensure that headings clear floated images * fix(aio): do not force live-example embedded image to 100% size This made them look too big, generally. Leaving them with no size means that they will look reasonable in large viewports and switch to 100% width in narrow viewports.
Documentation Generation
The dgeni tool is used to generate the documentation from the source files held in this repository.
The documentation generation is configured by a dgeni package defined in tools/transforms/angular.io-package/index.js
.
This package, in turn requires a number of other packages, some are defined locally in the tools/transforms
folder,
such as tools/transforms/cheatsheet-package
and tools/transforms/content-package
, etc. And some are brought in from the
dgeni-packages
node modules, such as jsdoc
and nunjucks
.
Generating the docs
To generate the documentation simply run yarn docs
from the command line.
Testing the dgeni packages
The local packages have unit tests that you can execute by running yarn docs-test
from the command line.
What does it generate?
The output from dgeni is written to files in the src/generated
folder.
Notably this includes a JSON file containing the partial HTML for each "page" of the documentation, such as API pages and guides. It also includes JSON files that contain metadata about the documentation such as navigation data and keywords for building a search index.
Viewing the docs
You can view the pages by running yarn start
and navigating to https://localhost:4200.