Skip to content

Commit 2265fce

Browse files
Specify type in sidebar for duplicate names
1 parent bae70aa commit 2265fce

2 files changed

Lines changed: 12 additions & 3 deletions

File tree

src/components/syntaxes/SyntaxSidebar.astro

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ interface SidebarEntry {
66
link: string,
77
attrs: {
88
id: string,
9+
type: string,
910
},
1011
}
1112
@@ -14,13 +15,21 @@ interface Props {
1415
}
1516
1617
const { entries }: Props = Astro.props;
18+
const duplicatesMap = new Set([...entries.map(entry => entry.label)
19+
.reduce((accumulator, value) => {
20+
value = value.toLowerCase();
21+
accumulator.set(value, (accumulator.get(value) || 0) + 1);
22+
return accumulator;
23+
}, new Map() as Map<string, number>)]
24+
.filter(([_, value]) => value != 1)
25+
.map(([label, _]) => label));
1726
---
1827

1928
<div class="sidebar-pane">
2029
<ul id="syntax-sidebar-list">
2130
{entries.map(entry => (
2231
<li id={entry.attrs.id} class="syntax-sidebar-item">
23-
{entry.label}
32+
{entry.label} {duplicatesMap.has(entry.label.toLowerCase()) ? `(${entry.attrs.type})` : ""}
2433
</li>
2534
))}
2635
</ul>

src/pages/syntaxes.astro

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,8 +73,8 @@ if (currentVersion.endsWith(".0")) {
7373
---
7474

7575
<StarlightPage
76-
frontmatter={{ title: `Syntaxes for Skript ${rawSyntaxes.source.version}`, tableOfContents: true, pagefind: false}}
77-
sidebar={syntaxes.map(syntax => ({ label: `${syntax.name}`, link: `syntaxes/#${syntax.id}`, attrs: { id: `sidebar-${syntax.id}` } }))}
76+
frontmatter={{ title: `Syntaxes for Skript ${rawSyntaxes.source.version}`, tableOfContents: true, pagefind: false, prev: false, next: false}}
77+
sidebar={syntaxes.map(syntax => ({ label: `${syntax.name}`, link: `syntaxes/#${syntax.id}`, attrs: { id: `sidebar-${syntax.id}`, type: syntax.type } }))}
7878
>
7979
<h1 id="syntaxes-no-results" style="display: none;">No results were found.</h1>
8080
<div id="syntaxes-wrapper">

0 commit comments

Comments
 (0)