From 27da2a0f8b205b32a3b24746e043bf131ef31c69 Mon Sep 17 00:00:00 2001 From: metonym Date: Sat, 10 Dec 2022 17:49:42 -0800 Subject: [PATCH] docs: link source code to folder for multiple components (#1582) * docs: link source code to folder for multiple components * chore(docs): remove unused `source` from frontmatter --- docs/src/layouts/ComponentLayout.svelte | 25 ++++++++++++++++--- docs/src/pages/components/ButtonSet.svx | 4 --- docs/src/pages/components/ClickableTile.svx | 4 --- docs/src/pages/components/ExpandableTile.svx | 4 --- .../pages/components/InlineNotification.svx | 1 - docs/src/pages/components/PasswordInput.svx | 4 --- docs/src/pages/components/RadioTile.svx | 1 - docs/src/pages/components/SelectableTile.svx | 1 - docs/src/pages/components/Tile.svx | 4 --- .../pages/components/ToastNotification.svx | 4 --- 10 files changed, 21 insertions(+), 31 deletions(-) diff --git a/docs/src/layouts/ComponentLayout.svelte b/docs/src/layouts/ComponentLayout.svelte index 7c19bb8f..e099d00a 100644 --- a/docs/src/layouts/ComponentLayout.svelte +++ b/docs/src/layouts/ComponentLayout.svelte @@ -22,7 +22,6 @@ export let component = $page.title; export let components = [component]; - export let source = ""; export let unreleased = false; export let unstable = false; @@ -42,10 +41,28 @@ } }); + function formatSourceURL(multiple) { + const filePath = api_components[0]?.filePath ?? ""; + + if (multiple) { + /** + * Link to folder for doc with multiple components. + * @example "src/Breadcrumb" + */ + return filePath.split("/").slice(0, -1).join("/"); + } + + /** + * Else, link to the component source. + * @example "src/Tile/ClickableTile.svelte" + */ + return filePath; + } + // TODO: [refactor] read from package.json value - $: sourceCode = `https://github.com/carbon-design-system/carbon-components-svelte/tree/master/src/${ - source || `${$page.title}/${$page.title}.svelte` - }`; + $: sourceCode = `https://github.com/carbon-design-system/carbon-components-svelte/tree/master/${formatSourceURL( + multiple + )}`; diff --git a/docs/src/pages/components/ButtonSet.svx b/docs/src/pages/components/ButtonSet.svx index 3ab80f47..53fa39d8 100644 --- a/docs/src/pages/components/ButtonSet.svx +++ b/docs/src/pages/components/ButtonSet.svx @@ -1,7 +1,3 @@ ---- -source: Button/ButtonSet.svelte ---- -