4737 Commits

Author SHA1 Message Date
George Kalpakas b31e905754 build(docs-infra): disambiguate doc paths for global APIs (#42648)
In #41788, the `disambiguateDocsPathsProcessor` was introduced to fix
an issue with case-insensitively equal paths. This processor may alter
the output paths of some docs. Due to its nature, the
`disambiguateDocPathsProcessor` must be the last processor in the
pipeline that updates a doc's output path. However, the
`updateGlobalApiPathProcess` (which also alters the output paths of some
docs) was not configured to run before `disambiguateDocPathsProcessor`.
As a result, the changes made by `disambiguateDocPathsProcessor` were
overridden by `updateGlobalApiPathProcess`, resulting in the app's
failing to load such global API docs pages. An example of such an API
page is: https://angular.io/api/core/global/ngApplyChanges

This commit fixes it by ensuring that the `updateGlobalApiPathProcess`
is explicitly run before the `disambiguateDocPathsProcessor`, so that
the former does not override the changes made by the latter.

PR Close #42648
2021-06-24 12:28:22 -07:00
Dale Harris 2984c81315 docs: Fix reference to SwUpdate.isEnabled boolean (#42634)
SwUpdate has an `isEnabled` boolean rather than an `isEnabled()` method. Removed parentheses for accuracy.
PR Close #42634
2021-06-24 12:27:39 -07:00
Umair Hafeez 72aa2fe0fe docs(core): improve applicationref.bootstrap docs (#42407)
add proper examples and update usage notes
add references to the method at relevant places in the docs

PR Close #42407
2021-06-22 16:30:37 +00:00
mgechev 628c6a1477 docs: improve styles of the roadmap done section (#42616)
The "Done" section was previously broken in dark mode. This PR:
- Fixes the dark mode styles
- Expands the done section by default

PR Close #42616
2021-06-22 16:26:48 +00:00
Németh Tamás 1ce5c20656 docs: add new i18n formats to i18n guide (#42597)
PR Close #42597
2021-06-21 18:48:19 +00:00
George Kalpakas 41123231c5 docs(docs-infra): document how to configure redirects (#42452)
PR Close #42452
2021-06-18 17:32:59 +00:00
George Kalpakas a7bec2b181 build(docs-infra): auto-generate SW navigationUrls from Firebase config (#42452)
Previously, redirects had to be configured in both the Firebase config
(`firebase.json`) and the ServiceWorker config (`ngsw-config.json`).
This made it challenging to correctly configure redirects, since one had
to understand the different formats of the two configs, and was also
prone to getting out-of-sync configs.

This commit simplifies the process of adding redirects by removing the
need to update the ServiceWorker config (`ngsw-config.json`) and keep it
in sync with the Firebase config (`firebase.json`). Instead the
ServiceWorker `navigationUrls` are automatically generated from the list
of redirects in the Firebase config.

NOTE:
Currently, the automatic generation only supports the limited set of
patterns that are necessary to translate the existing redirects. It can
be made more sophisticated in the future, should the need arise.

PR Close #42452
2021-06-18 17:32:59 +00:00
George Kalpakas 537f34d929 build(docs-infra): align navigationUrls in ngsw-config.json with Firebase redirects (#42452)
The ServiceWorker `navigationUrls` globs defined in `ngsw-config.json`
are supposed to exclude any URLs that are redirected on the server (as
configured in `firebase.json`). However, the list of redirected
URLs/globs in `firebase.json` and `ngsw-config.json` have gotten out of
sync.

This commit updates the globs in `ngsw-config.json` to match the ones in
`firebase.json`.

This is in preparation of automatically generating the ServiceWorker
`navigationUrls` based on `firebase.json`.

PR Close #42452
2021-06-18 17:32:59 +00:00
George Kalpakas e045ba3192 build(docs-infra): alphabetically sort all navigationUrls in ngsw-config.json (#42452)
This commit sorts all `navigationUrls` in `ngsw-config.json`
alphabetically.

This is in preparation of automatically generating the ServiceWorker
`navigationUrls` based on `firebase.json`.

PR Close #42452
2021-06-18 17:32:59 +00:00
George Kalpakas b74750bb13 build(docs-infra): allow a trailing / in more navigationUrls globs in ngsw-config.json (#42452)
Previously, we were not consistent in allowing a trailing `/` in
`navigationUrls` globs in `ngsw-config.json`. And when we did, we used
two globs: one with and one without the trailing `/`.

This commit updates all appropriate `navigationUrls` globs to allow a
trailing `/`. It also merges the two glob patterns (the one with and the
one without the `/`) into one.

This is in preparation of automatically generating the ServiceWorker
`navigationUrls` based on `firebase.json`.

PR Close #42452
2021-06-18 17:32:59 +00:00
George Kalpakas 43eeca467b build(docs-infra): remove redundant navigationUrls globs from ngsw-config.json (#42452)
This commit removes some `navigationUrls` globs from `ngsw-config.json`
that have no effect. More specifically:
- It removes globs of the form `!/**/xyz.html`, since these are already
  covered by the more generic `!/**/*.*` glob.
- It removes `!/api/**/NgFor`, since it does not have a corresponding
  redirect rule in `firebase.json`.

This is in preparation of automatically generating the ServiceWorker
`navigationUrls` based on `firebase.json`.

PR Close #42452
2021-06-18 17:32:59 +00:00
George Kalpakas fa2775fb56 build(docs-infra): add missing redirect rule for api/http in firebase.json (#42452)
Previously, only sub-paths, such as `api/http/foo`, were redirected to
`guide/deprecations#http`.

This commit ensures that also `api/http` itself (which used to point to
the `http` module's API page) is redirected as well.

PR Close #42452
2021-06-18 17:32:59 +00:00
George Kalpakas 3e74483062 test(docs-infra): ensure all redirect rules are tested (#42452)
This commit adds a test assertion to verify that all redirect rules
defined in `firebase.json` are tested, i.e. that each rule is applied to
at least one testcase from `URLS_TO_REDIRECT.txt`.

This will ensure that any redirect rules added in the future will be
tested.

PR Close #42452
2021-06-18 17:32:59 +00:00
George Kalpakas 5ea4ae7711 test(docs-infra): unnest unnecessarily nested test suite (#42452)
Previously, the `destinations` test suite in
`testFirebaseRedirection.spec.ts` was nested under the
`with legacy URLs` test suite. However, the two suites are unrelated and
there is no reason to have them nested.

This commit moves the `destinations` test suite to be beside (instead of
inside) the `with legacy URLs` one.

PR Close #42452
2021-06-18 17:32:59 +00:00
George Kalpakas aec60d04f3 test(docs-infra): add testcases for all redirect rules (#42452)
This commit adds testcases in `URLS_TO_REDIRECT.txt` for all redirect
rules defined in `firebase.json`. This ensures that all rules are tested
and work as expected.

PR Close #42452
2021-06-18 17:32:59 +00:00
George Kalpakas 6f123e0bb5 fix(docs-infra): make NotificationComponent elements non-focusable when hidden (#42584)
Previously, the `NotificationComponent` would be hidden by reducing its
height to `0`. This allowed for a smoother hide animation when closing
the notification, but left the component's interactive elements
focusable via keyboard navigation. This was confusing for users, because
the focused elements would not be visible on the page.

This commit fixes the issue be also setting the `display` CSS property
to `none` when the `NotificationComponent` is hidden, thus ensuring that
its contents are not focusable via keyboard navigation.
(This does not affect the hide animation, since the `display` style is
not animatable and is only applied at the end of the animation.)

PR Close #42584
2021-06-18 17:32:27 +00:00
George Kalpakas e2b1ec243f fix(docs-infra): remove redundant MatIcon element (#42584)
Previously, we included a dummy `MatIcon` element in `AppComponent` in
order to ensure that the `Material Icons` font would be requested (and
thus cached by the ServiceWorker) on every navigation. However, #41129
introduced the `ThemeToggleComponent`, which will be present on all
pages (since it is located in the top-menu) and relies on the
`Material Icons` font. Therefore, the work-around for loading the
`Material Icons` font is no longer necessary.

This commit removes the now redundant `MatIcon` from `AppComponent`.

PR Close #42584
2021-06-18 17:32:27 +00:00
George Kalpakas b732ee6fd2 fix(docs-infra): convert external links to MatIconButtons (#42584)
This commit changes the anchor elements used for external links to
`MatIconButton`s. While the appearance remains the same (with the
exception of hover/focus styles), this better aligns the styling of
external link icons with other nearby icon buttons (i.e. the theme
toggle) and alows as to simplify the CSS for external links (since much
of their styling is handled by Angular Material).

PR Close #42584
2021-06-18 17:32:27 +00:00
George Kalpakas 2514fb0b9d refactor(docs-infra): remove redundant CSS rule (#42584)
Since we now use SVG for external link icons, there are no `<img>`
elements inside the anchor elements. So, the CSS rule does not match any
element and can be removed.

PR Close #42584
2021-06-18 17:32:27 +00:00
George Kalpakas 9422ddd4c3 ci: start tracking CSS payload sizes for angular.io (#42584)
Previously, we only tracked the sizes of the eagerly loaded JS bundles.
However, the CSS styles (which also have a non-negligible size) must
also be downloaded and parsed by the browser, thus affecting the initial
rendering time.

This commit starts tracking the CSS styles payload sizes.
(Originally discussed in
https://github.com/angular/angular/pull/42584#discussion_r653787961)

PR Close #42584
2021-06-18 17:32:27 +00:00
Pete Bacon Darwin 6f6792ac8f Revert "fix(docs-infra): do not redirect disambiguated URLs" (#42414)
This reverts commit 61ad68a586, since there
are no longer any disambiguated paths that need special handling.

PR Close #42414
2021-06-17 18:14:54 +00:00
Pete Bacon Darwin cffad7d0df build(docs-infra): remove disambiguator doc-type (#42414)
Now that we disambiguate files by encoding the outputPath, there is
no need for the `disambiguator` doc-type.

PR Close #42414
2021-06-17 18:14:54 +00:00
Pete Bacon Darwin 0ffcc69ccf build(docs-infra): use case-insensitive encoding for content files (#42414)
To avoid having content files that have the same file path on case-insensitive
file-systems, we now encode the paths to remove uppercase characters.

PR Close #42414
2021-06-17 18:14:54 +00:00
dario-piotrowicz f9a5d25d72 fix(docs-infra): make anchor in list item inherit line-height (#42572)
in order to have a consistent line-height between list items containing
text and list items containing links the anchors should inherit the list
item's line-height

PR Close #42572
2021-06-16 14:03:33 -07:00
dario-piotrowicz 3160b11ee4 fix(docs-infra): add horizontal margins to nav menu (#42561)
add a 2px left and right margin to the aio-nav-menu to make
sure that the items outline doesn't get cropped

PR Close #42561
2021-06-16 14:02:55 -07:00
dario-piotrowicz 2187c57169 fix(docs-infra): fix width of sidenav icons (#42561)
make sure that the width of the sidenav chervon icon is 2.4rem
(this needs to be done using the flex property and not the
width one as that can change in flex containers)

also center chevron icon inside mat-icon container in order to maintain
the correct icon positioning at any font-size

PR Close #42561
2021-06-16 14:02:54 -07:00
dario-piotrowicz e8735fd9c3 fix(docs-infra): prevent vertical nav item overflowing (#42561)
prevent the overflowing unwanted effect that happens during
a nav item opening and closing (during the chevron rotation)

PR Close #42561
2021-06-16 14:02:54 -07:00
Dario Piotrowicz c479b1a3a6 fix(docs-infra): improve card layout for different browser font sizes (#42533)
Remove the fixed height set on the card elements present in angular.io,
allowing the cards to have a dynamic height derived from their content
and thus removing overflow issues related to the browser's font-size,
make other minor css related adjustments to allow the card to look good
on the different browser's font-size settings

PR Close #42533
2021-06-16 14:02:25 -07:00
Pete Bacon Darwin 9c9ae274e7 feat(docs-infra): add support for "special elements" (#41299)
This commit adds support for generating pages that document
special Angular elements, such as `ng-content` and `ng-template`,
which have special behavior in Angular but are not directives nor
components.

Resolves #41273

PR Close #41299
2021-06-16 14:01:18 -07:00
Daniel Trevino ff8fe43856 docs: add Daniel Trevino to contributors file (#42573)
PR Close #42573
2021-06-15 12:53:11 -07:00
Ankit Choudhary 18d8322188 docs: Grammatical error (#42571)
Updated a minor grammatical error.
PR Close #42571
2021-06-14 09:59:15 -07:00
George Kalpakas c9231d261c fix(docs-infra): correctly serve index.html with a query string (#42547)
Previously, due to a bug in Firebase hosting, requests to
`/index.html?<query>` would lead to an infinite redirect and eventually
a failure. This affected, for example, cache-busting requests from the
ServiceWorker, which look like: `/index.html?ngsw-cache-bust=...`
For more details see
https://github.com/angular/angular/issues/42518#issuecomment-858545483

This commit temporarily works around the bug by explicitly redirecting
`/index.html?<query>` to `/?<query>`.

Fixes #42518

PR Close #42547
2021-06-14 09:57:31 -07:00
George Kalpakas 0eac2ac130 feat(docs-infra): implement popup to inform about the use of cookies (#42259)
This commit adds a popup to angular.io to inform the user about the use
of cookies. Once the user confirms having read the info, the popup will
not be shown on subsequent visits.

This commit is partly based on angular/material.angular.io#988.

Fixes #42209

PR Close #42259
2021-06-14 09:54:09 -07:00
George Kalpakas cc963e6ca9 refactor(docs-infra): provide local-/sessionStorage via DI (#42259)
Previously, we had the same logic in a couple of places to safely access
the `Window`'s `local-/sessionStorage` and provide a no-op fallback if
necessary. Soon, we will need the same logic for the cookies popup
(see #42209).

This commit reduces code duplication by providing
`local-/sessionStorage` as injectables and sharing the logic for
accessing them safely. This also makes it easier to mock the storage in
tests without having to mess with the actual `Window` object.

NOTE:
This commit actually decreases the payload size in the `main` bundle by
40B.

PR Close #42259
2021-06-14 09:54:09 -07:00
George Kalpakas 6fd157f496 test(docs-infra): fix warnings in ThemeToggleComponent unit tests. (#42259)
due to unknown `<mat-icon>` element

This commit fixes some warnings in the unit tests of the
`ThemeToggleComponent`, which were caused by the following:

- The `<mat-icon>` element used in `ToggleThemeComponent`'s template was
  not declared in tests.
- The `dark-theme.css` and `light-theme.css` files requested by
  `ToggleThemeComponent` were not available.

PR Close #42259
2021-06-14 09:54:08 -07:00
George Kalpakas 311ca931fd build(docs-infra): align code with new CLI v12 apps (#42259)
This commit aligns the angular.io config files more closely to how a
newly generated CLI v12 app would look like. This helps validate the
setup and makes it easier to apply new chages in the future (by
preventing the angular.io layout from deviating too much from the
default new app layout).

PR Close #42259
2021-06-14 09:54:08 -07:00
Andrew Scott cee5c100af docs: remove section on tables from docs style guide (#42330)
The approach for tables is more of an ad-hoc determination based on the
complexity of what's in them. If/when we enable formatting of markdown
files, that will also make the markdown format of tables easier to read
and more consistent.

fixes #23978

PR Close #42330
2021-06-11 11:47:04 -07:00
Pete Bacon Darwin 1e6b913218 docs: fix i18n guide typo (#42545)
Fixes #42538

PR Close #42545
2021-06-10 14:04:44 -07:00
gobika21 5d3cf97584 docs: fix typo in "deploy multiple locales" section (#42541)
Fixes #42540

PR Close #42541
2021-06-10 14:03:34 -07:00
Pham Huu Hien dbd81af38d docs: change field name from id to $id in schema.json file (#42528)
fix error "SchematicsMyService" schema is using the keyword "id" which its support is deprecated. Use "$id" for schema ID.

PR Close #42528
2021-06-10 14:03:00 -07:00
Aristeidis Bampakos 58606877dc docs: add note for naming libraries (#42335)
PR Close #42335
2021-06-10 13:58:42 -07:00
Kapunahele Wong 51857958e6 docs: improve accessibility of router example (#40914)
PR Close #40914
2021-06-10 10:28:34 -07:00
Alan Agius a75874c385 docs: CLI users polyfills (#42263)
With this change we remove polyfills that are listed in suggested/mandatory but are not needed by Angular CLI users, since the Angular CLI will include these polyfills by default.

Closes #39793

PR Close #42263
2021-06-09 16:10:49 -07:00
Pete Bacon Darwin 66399601cb docs: fix ngProjectAs selector in example (#42523)
Fixes #42522

PR Close #42523
2021-06-09 12:10:21 -07:00
David Shevitz 3abf365fdc docs: add guidance on adding filtering and sorting logic to componetns instead of pipes (#42368)
Fixes #41652

PR Close #42368
2021-06-08 17:53:31 -07:00
Teri Glover 5f6492e332 docs: Edited to remove jargon in Reference, Glossary, and Style sections (#42187)
PR Close #42187
2021-06-08 12:51:06 -07:00
kuncevic ef0ece14db docs: add Angular Rocks podcast (#42078)
PR Close #42078
2021-06-08 12:50:14 -07:00
Santosh Yadav 72b86c7c36 docs(platform-server): added commands for universal and add prerendering info (#36005)
Fixes #36004

PR Close #36005
2021-06-08 12:47:24 -07:00
Sam Severance f158ce1872 docs: Add selector for PeekABooDirective (#42146)
PR Close #42146
2021-06-08 12:46:06 -07:00
Teri Glover a42b9bf0ec docs: Edited to remove jargon in Reference Errors (#42186)
PR Close #42186
2021-06-08 12:45:24 -07:00