Fixes the visibility of the copy link button in API documentation headings.
The button now appears on hover, improving the user experience.
(cherry picked from commit 15e3407dab)
The triple backtick code block parser now extracts the linenums attribute
from metadata and applies it to enable line number display in code examples
(cherry picked from commit 1f29577077)
Updates the `ng-container` documentation page to use the correct `angular-html` code format and removes an unused CLI documentation file.
(cherry picked from commit 9a6b8e0315)
Add CSS rule to hide the last empty line in code blocks to prevent displaying
unnecessary empty lines when source files end with a newline character.
The empty line remains in the DOM for proper copy-paste functionality.
(cherry picked from commit 4b9fffaa79)
Adds the ability to hide the copy button on code snippets.
Updates documentation to use the new `hideCopy` option with the new
markdown code fence syntax.
(cherry picked from commit a4563044ad)
Intercept the WebContainer preview overlay open-in-editor requests and relay them to the editor via postMessage so errors open the matching file.
(cherry picked from commit 789f91bd4f)
This updates the docs infrastructure to avoid incorrectly linking the `readonly` keyword in TypeScript examples.
Fixes#65632
(cherry picked from commit 7f8ffa3304)
Previously we extracted the regions and only made the visible region visible on the page, but since there is not a need for the
non-visible code to be presented, we don't need to include it in the generated code snippets.
(cherry picked from commit 9b3b5fb4cf)
Move the header id tracking into the renderer context rather than a global state. Since the RendererContext is
initialized for each execution of the marked parser, we can store the context of which header ids have been seen within
a single page there which allows us to run these parse interactions in parallel.
(cherry picked from commit a16a70ca74)
Rather than manually calling the transformer we use for headings from within a render function, we now properly call into the Renderer to do them
via the tokens they are require instead. This is being done to allow us to have a per Renderer instance of state instead of a global state, which will
allow us to run marked async and hopefully speed up the pipeline
(cherry picked from commit 8b296543ae)
Enables copying a direct link to any section by clicking its anchor. Also updates the aria-label to remove the code tag
(cherry picked from commit 4e89bc6244)
Improves the symbol linking logic to handle Angular component selectors (e.g., ngCombobox). It attempts to convert Angular selector patterns to their corresponding class names, improving navigation to Angular API documentation.
(cherry picked from commit 2d854e01bc)
Long TOC entries now truncate with …, and a title attribute is added to display the full label on hover.
Fixes: #65727
(cherry picked from commit 313454bf17)
Improves the rendering of `DocsPillRow` to correctly display inline code snippets (using backticks) within the pill labels.
(cherry picked from commit ef034c15c1)
Migrate docs-alert to be inline instead of block, this ensures that the content is placed within a <p> tag as expected. This is important
for ensuring that the iconography is placed correctly within the wrapper div generated for the alert. Additionally, we refactor the matcher
code to be more efficient, running with fewer loops.
(cherry picked from commit 046501fd33)
Ensures the example viewer header displays correctly by keeping the "Show code"
button aligned to the right and preventing metadata text from wrapping.
Improves layout consistency across documentation examples.
(cherry picked from commit b26fe73a91)
Tab selection relied on the tabs being visible whe nthe example is loaded. That didn't work when `hideCode` was used.
fixes#65550
(cherry picked from commit 119c6ddaeb)
Extends the Markdown parser to support `loading`, `decoding`, and `fetchpriority` attributes for images via curly brace syntax.
(cherry picked from commit 46269be842)
Rather than using multiple view modes for code examples, we can just treat the previous snippet mode as
as multifile mode that just only has one file in it.
(cherry picked from commit f61e61ac4f)
Within examples, we now link to the github URL using the commit that was made to create adev, rather than
always on main, which may change over time.
(cherry picked from commit a8f46e598a)
- Replaced <a><button></button></a> with a proper <a> containing text and
aria-label to ensure links have discernible text.
- Added main tag in home page to provide
a consistent main landmark, improving accessibility for screen readers
and satisfying WCAG and Lighthouse requirements.
Fixes#65181.
(cherry picked from commit ee5947db38)
Code blocks with `bash` language identifier were not rendering the `$`
prefix, while `shell` blocks did.
This ensures consistent command-line prompt rendering across both
`bash` and `shell` code blocks in the documentation.
(cherry picked from commit f462684211)
The example viewer has some `::ng-deep` styles that are used to reset global styles that leak into the live examples. It works by applying a style like `.docs-example-viewer-preview * {all: revert;}`.
The problem with this is that depending on when the first example is rendered, the styles will be lower or higher in the cascade, thus making the reset unreliable. Furthermore, it can affect structural styles from the CDK which intentionally have low specificity.
These changes move the resets into the global stylesheet to make them more predictable.
(cherry picked from commit 1ba50caefc)