From 359c31e31d8f2ef451b6e3d312c1b699e584949f Mon Sep 17 00:00:00 2001 From: Eric Peterson Date: Mon, 31 Jan 2022 18:19:53 +0100 Subject: [PATCH] Add support for source tags pointing to relative assets. Signed-off-by: Eric Peterson --- .changeset/techdocs-lets-call-the-whole-thing-off.md | 5 +++++ .../src/reader/transformers/addBaseUrl.test.ts | 12 +++++++++++- .../techdocs/src/reader/transformers/addBaseUrl.ts | 1 + 3 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 .changeset/techdocs-lets-call-the-whole-thing-off.md diff --git a/.changeset/techdocs-lets-call-the-whole-thing-off.md b/.changeset/techdocs-lets-call-the-whole-thing-off.md new file mode 100644 index 0000000000..60cf25d65b --- /dev/null +++ b/.changeset/techdocs-lets-call-the-whole-thing-off.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-techdocs': patch +--- + +Added support for documentation using the raw `` tag to point to relative resources like audio or video files. diff --git a/plugins/techdocs/src/reader/transformers/addBaseUrl.test.ts b/plugins/techdocs/src/reader/transformers/addBaseUrl.test.ts index 11e8375420..0fb72caab3 100644 --- a/plugins/techdocs/src/reader/transformers/addBaseUrl.test.ts +++ b/plugins/techdocs/src/reader/transformers/addBaseUrl.test.ts @@ -42,6 +42,10 @@ const fixture = ` Download Now + `; @@ -88,12 +92,18 @@ describe('addBaseUrl', () => { ); expect(techdocsStorageApi.getBaseUrl).toHaveBeenNthCalledWith( 3, - 'astyle.css', + 'avideo.mp4', mockEntityId, '', ); expect(techdocsStorageApi.getBaseUrl).toHaveBeenNthCalledWith( 4, + 'astyle.css', + mockEntityId, + '', + ); + expect(techdocsStorageApi.getBaseUrl).toHaveBeenNthCalledWith( + 5, 'afile.pdf', mockEntityId, '', diff --git a/plugins/techdocs/src/reader/transformers/addBaseUrl.ts b/plugins/techdocs/src/reader/transformers/addBaseUrl.ts index 8f08ec83a6..f3906b7b91 100644 --- a/plugins/techdocs/src/reader/transformers/addBaseUrl.ts +++ b/plugins/techdocs/src/reader/transformers/addBaseUrl.ts @@ -84,6 +84,7 @@ export const addBaseUrl = ({ await Promise.all([ updateDom(dom.querySelectorAll('img'), 'src'), updateDom(dom.querySelectorAll('script'), 'src'), + updateDom(dom.querySelectorAll('source'), 'src'), updateDom(dom.querySelectorAll('link'), 'href'), updateDom(dom.querySelectorAll('a[download]'), 'href'), ]);