From 0a8a57df50aa8104e25073e5c1023de729fb0ce5 Mon Sep 17 00:00:00 2001 From: Steven Clontz Date: Fri, 15 Nov 2024 17:03:48 +0000 Subject: [PATCH 1/3] hack in IDs into links --- packages/core/src/Parser/references.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/core/src/Parser/references.ts b/packages/core/src/Parser/references.ts index 0bad062..2ed8c28 100644 --- a/packages/core/src/Parser/references.ts +++ b/packages/core/src/Parser/references.ts @@ -47,7 +47,7 @@ export function references({ internal, external }: Partial) { hChildren: [ { type: 'text', - value: title, + value: `${kind}${id}: ${title}`, }, ], }, From 711920ef6596434e995e7e3f0792d0b7ec00e10e Mon Sep 17 00:00:00 2001 From: Steven Clontz Date: Fri, 15 Nov 2024 17:23:07 +0000 Subject: [PATCH 2/3] use badges --- packages/core/src/Parser/references.ts | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/packages/core/src/Parser/references.ts b/packages/core/src/Parser/references.ts index 2ed8c28..5cec559 100644 --- a/packages/core/src/Parser/references.ts +++ b/packages/core/src/Parser/references.ts @@ -15,6 +15,7 @@ export function references({ internal, external }: Partial) { return function transformer(tree: Root) { visit(tree, 'internalLink', (node: InternalLinkNode) => { const { kind, id } = node + const shortId = `${kind}${id}` if (!internal) { Object.assign(node, { @@ -38,16 +39,30 @@ export function references({ internal, external }: Partial) { Object.assign(node, { data: { - hName: 'a', + hName: 'span', hProperties: { - href, title, - className: 'internal-link', }, hChildren: [ { - type: 'text', - value: `${kind}${id}: ${title}`, + type: 'element', + tagName: 'a', + properties: { + className: ['internal-link', 'badge', 'badge-secondary', 'mx-1'], + href, + title, + }, + children: [{ type: 'text', value: shortId }], + }, + { + type: 'element', + tagName: 'a', + properties: { + className: ['internal-link'], + href, + title, + }, + children: [{ type: 'text', value: title }], }, ], }, From 35f99acf6bb4ffb3c0873bd169fe425a125d616e Mon Sep 17 00:00:00 2001 From: Steven Clontz Date: Fri, 15 Nov 2024 17:44:39 +0000 Subject: [PATCH 3/3] tweak badges --- packages/core/src/Parser/references.ts | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/packages/core/src/Parser/references.ts b/packages/core/src/Parser/references.ts index 5cec559..0038222 100644 --- a/packages/core/src/Parser/references.ts +++ b/packages/core/src/Parser/references.ts @@ -16,6 +16,14 @@ export function references({ internal, external }: Partial) { visit(tree, 'internalLink', (node: InternalLinkNode) => { const { kind, id } = node const shortId = `${kind}${id}` + let badgeType = 'badge-secondary' + if (kind === 'P') { + badgeType = 'badge-primary' + } else if (kind === 'S') { + badgeType = 'badge-success' + } else if (kind === 'T') { + badgeType = 'badge-warning' + } if (!internal) { Object.assign(node, { @@ -48,21 +56,21 @@ export function references({ internal, external }: Partial) { type: 'element', tagName: 'a', properties: { - className: ['internal-link', 'badge', 'badge-secondary', 'mx-1'], + className: ['internal-link'], href, title, }, - children: [{ type: 'text', value: shortId }], + children: [{ type: 'text', value: title }], }, { type: 'element', tagName: 'a', properties: { - className: ['internal-link'], + className: ['internal-link', 'badge', badgeType, 'ml-1'], href, title, }, - children: [{ type: 'text', value: title }], + children: [{ type: 'text', value: shortId }], }, ], },