Commit Graph

849 Commits

Author SHA1 Message Date
Sydney Achinger e02473eeb3 Update test
Signed-off-by: Sydney Achinger <sydneynicoleachinger@spotify.com>
2025-09-23 16:18:13 -04:00
Fredrik Adelöw e6ff786ae4 Merge pull request #30991 from MegaManSec/xss-fix 2025-09-15 17:19:25 +02:00
Joshua Rogers b87e54c355 tests(techdocs): add transformer tests for sanitizing javascript: hrefs
Signed-off-by: Joshua Rogers <MegaManSec@users.noreply.github.com>
2025-09-11 08:44:33 +02:00
Joshua Rogers cb9e2d1155 Revert "techdocs: Disallow javascript URLs"
This reverts commit 067fdcd0a5.

Signed-off-by: Joshua Rogers <MegaManSec@users.noreply.github.com>
2025-09-11 08:26:59 +02:00
Luna Stadler 8d18d23e34 Improve TechDocs page titles (especially for nested pages) (#31054)
* Replace underscores in techdocs titles

Signed-off-by: Luna Stadler <luc@spreadshirt.net>

* Make techdocs titles similar to component titles

The pattern for components is entity name, page/tab and then app title.
This ordering makes it easier to distinguish tabs at a glance.

Signed-off-by: Luna Stadler <luc@spreadshirt.net>

* Abbreviate nested pages in techdocs

A deeply nested page like `/really/very/deeply/nested/page`, will now
become "Really | ... | Nested | Page".

This should preserve some of the context and support docs whith deeply
nested pages.

Signed-off-by: Luna Stadler <luc@spreadshirt.net>

* Add changeset for TechDocs page title improvements

Signed-off-by: Luna Stadler <luc@spreadshirt.net>

* Display the full title based on all parts of the path

Signed-off-by: Luna Stadler <luc@spreadshirt.net>

---------

Signed-off-by: Luna Stadler <luc@spreadshirt.net>
2025-09-10 14:34:58 -04:00
Fredrik Adelöw 933a982c12 Merge pull request #30984 from Frueber/tech-docs/external-tech-docs-redirect/add-handling-tests-and-documentation 2025-09-10 19:24:28 +02:00
Jackson Chen d821c01c5e refactor and fix dompurify tsc errors
Signed-off-by: Jackson Chen <jacksonc@spotify.com>
2025-09-09 17:32:04 -04:00
Fredrik Adelöw 1184c55a2a Merge pull request #30723 from Believe-SA/techdocs-redirect-dompurify 2025-09-09 20:27:05 +02:00
Owen Shartle ff40e2297c Using catalogApiMock from @backstage/plugin-catalog-react/testUtils.
Signed-off-by: Owen Shartle <timeloveinvent+github@gmail.com>
2025-09-01 21:09:50 -04:00
Owen Shartle 8eb950ff64 Adding a try-catch around the usage of the catalog API in the TechDocsReaderPage as it could still attempt to load a standard TechDocs page.
Signed-off-by: Owen Shartle <timeloveinvent+github@gmail.com>
2025-08-25 21:36:57 -04:00
Owen Shartle a0b604cb6a Adding handling which checks if the current entity (the catalog entity being loaded) has an annotation for an external entity's TechDocs. If it does then we will redirect there rather than allowing a 404 (mic drop). This helps keep older URLs routing to the updated locations.
Adding changesets.
Adding test coverage for external TechDocs entitiy redirect.

Signed-off-by: Owen Shartle <timeloveinvent+github@gmail.com>
2025-08-25 15:39:29 -04:00
John Philip 53b4426952 revert sidebar css changes
Signed-off-by: John Philip <jphilip@spotify.com>
2025-08-20 11:36:00 -04:00
John Philip 65c2b6148e fix CSS rules depending on if sidebar is present
Signed-off-by: John Philip <jphilip@spotify.com>
2025-08-08 13:49:59 -04:00
Joshua Rogers 067fdcd0a5 techdocs: Disallow javascript URLs
Signed-off-by: Joshua Rogers <MegaManSec@users.noreply.github.com>
2025-08-05 11:18:09 +02:00
Patrik Oldsberg 147482b700 frontend-plugin-api: switch naming recommendation from define to defineParams
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2025-08-04 17:17:05 +02:00
Patrik Oldsberg e4ddf22854 frontend-plugin-api,catalog-react: remove default* prefix from blueprint params
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2025-08-04 16:46:55 +02:00
Gabriel Dugny 4ce58318da fix(techdocs): support dompurify 3.2.6
Element.tagName is uppercased, see https://developer.mozilla.org/fr/docs/Web/API/Element/tagName

Signed-off-by: Gabriel Dugny <gabriel.dugny@believe.com>
2025-08-01 14:56:46 +02:00
Patrik Oldsberg f2f133ce8d update all usages of ApiBlueprint
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2025-07-28 22:27:13 +02:00
Nick Hudkins cb0541f294 feat(sanitizer): add support for allowlisting additional URI protocols
Signed-off-by: Nick Hudkins <nick@nickhudkins.com>
2025-07-21 13:23:32 -04:00
Chris Suich ad187bde2e just defaultPath
Signed-off-by: Chris Suich <csuich2@gmail.com>
2025-06-18 12:30:34 -04:00
Chris Suich 1debf7fa35 fix(techdocs): handle undefined defaultPath in techdocs initial redirect
When handling the initial redirect for techdocs deep linking an
undefined value for defaultPath was being included in the url
resulting in an error page.

https://github.com/backstage/backstage/issues/30300

Signed-off-by: Chris Suich <csuich2@gmail.com>
2025-06-18 11:57:34 -04:00
Camila Belo 8ee146cea9 refactor: apply second round of review suggestions
Signed-off-by: Camila Belo <camilaibs@gmail.com>
2025-06-04 11:29:33 +02:00
Camila Belo 3c59ece2e0 refactor: apply review suggestions
Signed-off-by: Camila Belo <camilaibs@gmail.com>
2025-06-04 09:16:17 +02:00
John Philip bf38271e1a Merge pull request #29960 from vidhanshah/feat/nav
Adding keyboard accessibility to left navs
2025-06-02 17:29:34 -04:00
Fredrik Adelöw d530d13a6e Merge pull request #29760 from csuich2/techdocs-entity-path
feat: add techdocs-entity-path annotation for techdocs deep linking
2025-05-27 14:46:39 +02:00
Chris Suich fcd29a338e useLayoutEffect, useRef, and simply deps
Signed-off-by: Chris Suich <csuich2@gmail.com>
2025-05-21 14:53:50 -04:00
Rudra-SH b47e1010c0 Adding keyboard accessibility to left navs
Signed-off-by: Rudra-SH <rudra099999@gmail.com>
2025-05-15 17:40:36 +05:30
Patrik Oldsberg 18c64e9bd4 plugins: add info.packageJson loader for all plugins
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2025-05-15 11:25:53 +02:00
John Philip 8e9269825d Merge pull request #29790 from logonoff/docs
fix(techdocs): Update keyboard focus when clicking hash links
2025-05-06 09:29:26 -04:00
logonoff 2ffd273365 fix(techdocs): add focus+hover styling to codeblock CTC button (#29792)
* fix(techdocs): add aria-label to codeblock CTC button

Signed-off-by: logonoff <git@logonoff.co>

* fix(techdocs): add focus+hover styling to codeblock CTC button

Signed-off-by: logonoff <git@logonoff.co>

---------

Signed-off-by: logonoff <git@logonoff.co>
2025-04-30 16:36:27 -04:00
logonoff 7d445da49a fix(techdocs): Update keyboard focus on when clicking hash links
Signed-off-by: logonoff <git@logonoff.co>
2025-04-29 14:18:59 -04:00
Chris Suich ae717aa54c move helpers to techdocs-react
Signed-off-by: Chris Suich <csuich2@gmail.com>
2025-04-28 12:43:57 -04:00
Chris Suich ec7b35d77e feat: add techdocs-entity-path annotation for techdocs deep linking
This annotation enables specifying a path within another entities
techdocs to use as the root techdocs page.

Signed-off-by: Chris Suich <csuich2@gmail.com>
2025-04-28 11:32:28 -04:00
Fredrik Adelöw 28aa309325 Merge pull request #29665 from GabDug/typos
chore(typos): fix various code typos
2025-04-28 16:50:18 +02:00
Patrik Oldsberg fb58f20613 frontend-plugin-api: rename plugin ID option to pluginId
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2025-04-27 12:53:08 +02:00
Gabriel Dugny 72d019d663 chore(typos): Fix low-impact typos
Signed-off-by: Gabriel Dugny <gabriel.dugny@believe.com>
2025-04-23 17:56:22 +02:00
Patrik Oldsberg 3ac6a716b1 couple of type fixes
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2025-04-17 20:19:15 +02:00
Paul Schultz 2e26579e06 chore: update react imports
Signed-off-by: Paul Schultz <pschultz@pobox.com>
2025-04-08 07:35:24 -05:00
Alex Lorenzi 3ca7dd0b75 Switched to using styled components API which seems to solve issue of CSS being removed when switching pages in Docs
Signed-off-by: Alex Lorenzi <alorenzi@spotify.com>
2025-03-02 09:26:15 -05:00
Alex Lorenzi bbaa722f80 Added className prop to Page component and override styles in the TechDocsReaderPage.tsx
Signed-off-by: Alex Lorenzi <alorenzi@spotify.com>
2025-03-02 09:26:15 -05:00
Alex Lorenzi d381f3ec6a Override the BackstagePage default styles to avoid a "double scrollbar" situation that was stop the page from fully scrolling to the top of the page when we navigated to a new page
Signed-off-by: Alex Lorenzi <alorenzi@spotify.com>
2025-03-02 09:26:15 -05:00
Jackson Chen b5a82087a7 techdocs: add extensions for techdocs addons (#28644)
* techdocs: add extensions for techdocs addons

Signed-off-by: Jackson Chen <jacksonc@spotify.com>

* techdocs: add blueprint extension for techdocs addons

Signed-off-by: Jackson Chen <jacksonc@spotify.com>

* techdocs: move addons blueprint to alpha

Signed-off-by: Jackson Chen <jacksonc@spotify.com>

* techdocs: add addon extensions for new frontend system and add docs

Signed-off-by: Jackson Chen <jacksonc@spotify.com>

* techdocs: fix addon modules naming patterns

Signed-off-by: Jackson Chen <jacksonc@spotify.com>

* techdocs: update test utils with entity presentation api

Signed-off-by: Jackson Chen <jacksonc@spotify.com>

---------

Signed-off-by: Jackson Chen <jacksonc@spotify.com>
2025-02-21 16:39:45 -05:00
John Philip 8486796262 Merge pull request #28867 from johnphilip283/fix-svg-styling
Fix svg styling
2025-02-18 11:17:19 -05:00
John Philip b5691cf531 Merge pull request #28872 from johnphilip283/preserve-svg-anchors
Update logic for determining if svg needs to be fetched
2025-02-18 11:13:11 -05:00
John Philip a58b25198e update tests
Signed-off-by: John Philip <jphilip@spotify.com>
2025-02-17 02:37:31 -05:00
John Philip 9ddc60b220 add url params to title of techdocs
Signed-off-by: John Philip <jphilip@spotify.com>
2025-02-17 02:14:11 -05:00
John Philip 9084375b27 clean up unnecessary test
Signed-off-by: John Philip <jphilip@spotify.com>
2025-02-16 23:32:14 -05:00
John Philip fe4abb8306 update logic for determining if svg needs to be fetched
Signed-off-by: John Philip <jphilip@spotify.com>
2025-02-16 23:30:23 -05:00
John Philip ce64f81d30 include dominant-baseline styling for svgs
Signed-off-by: John Philip <jphilip@spotify.com>
2025-02-15 01:24:36 -05:00
Alex Lorenzi 76c91c11cb fixed test
Signed-off-by: Alex Lorenzi <alorenzi@spotify.com>
2025-02-13 12:46:57 -05:00