From 54d3fdb338ac87a5da5f75e91f909c594fb2cb81 Mon Sep 17 00:00:00 2001 From: Eric Peterson Date: Wed, 26 May 2021 17:07:45 +0200 Subject: [PATCH 1/2] Allow bundled files to be downloaded by respecting a[download] Signed-off-by: Eric Peterson --- .../techdocs/src/reader/transformers/addBaseUrl.test.ts | 7 +++++++ plugins/techdocs/src/reader/transformers/addBaseUrl.ts | 1 + 2 files changed, 8 insertions(+) diff --git a/plugins/techdocs/src/reader/transformers/addBaseUrl.test.ts b/plugins/techdocs/src/reader/transformers/addBaseUrl.test.ts index 4311de5dae..afed2eff73 100644 --- a/plugins/techdocs/src/reader/transformers/addBaseUrl.test.ts +++ b/plugins/techdocs/src/reader/transformers/addBaseUrl.test.ts @@ -37,6 +37,7 @@ const fixture = ` + Download Now `; @@ -78,5 +79,11 @@ describe('addBaseUrl', () => { mockEntityId, '', ); + expect(techdocsStorageApi.getBaseUrl).toHaveBeenNthCalledWith( + 4, + 'afile.pdf', + mockEntityId, + '', + ); }); }); diff --git a/plugins/techdocs/src/reader/transformers/addBaseUrl.ts b/plugins/techdocs/src/reader/transformers/addBaseUrl.ts index 9cd11f0903..9bb5418bc2 100644 --- a/plugins/techdocs/src/reader/transformers/addBaseUrl.ts +++ b/plugins/techdocs/src/reader/transformers/addBaseUrl.ts @@ -48,6 +48,7 @@ export const addBaseUrl = ({ updateDom(dom.querySelectorAll('img'), 'src'); updateDom(dom.querySelectorAll('script'), 'src'); updateDom(dom.querySelectorAll('link'), 'href'); + updateDom(dom.querySelectorAll('a[download]'), 'href'); return dom; }; From 203ce6f6f8a157adaaf06ad65b5901ca547e0a01 Mon Sep 17 00:00:00 2001 From: Eric Peterson Date: Wed, 26 May 2021 17:11:28 +0200 Subject: [PATCH 2/2] Changeset. Signed-off-by: Eric Peterson --- .changeset/techdocs-keep-it-on-the-download.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 .changeset/techdocs-keep-it-on-the-download.md diff --git a/.changeset/techdocs-keep-it-on-the-download.md b/.changeset/techdocs-keep-it-on-the-download.md new file mode 100644 index 0000000000..20a6c4718f --- /dev/null +++ b/.changeset/techdocs-keep-it-on-the-download.md @@ -0,0 +1,7 @@ +--- +'@backstage/plugin-techdocs': patch +--- + +TechDocs now respects the `download` attribute on anchor tags in generated +markup, allowing documentation authors to bundle downloadable files with their +documentation.