Skip to content

Commit 9f9e187

Browse files
committed
feat: add text humanization to navigation
1 parent 76c95d8 commit 9f9e187

File tree

2 files changed

+6
-4
lines changed

2 files changed

+6
-4
lines changed
Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
<script setup lang="ts">
22
import { useDocNavigation } from '../composables/useDocNavigation'
3+
import { humanizeText } from '../utils/textUtils'
34
45
const { navigation, showNavigation } = useDocNavigation()
56
</script>
@@ -8,12 +9,12 @@ const { navigation, showNavigation } = useDocNavigation()
89
<nav v-if="showNavigation && (navigation.prev || navigation.next)" grid="~ cols-1 md:cols-2 gap-8" class="nq-raw">
910
<a v-if="navigation.prev" col-1 :href="navigation.prev.link" nq-hoverable h-max group gap-2>
1011
<div i-nimiq:arrow-left size-14 shrink-0 op="60 group-hocus:80" transition-opacity />
11-
<p f-text-xl>{{ navigation.prev.text }}</p>
12+
<p f-text-xl>{{ humanizeText(navigation.prev.text) }}</p>
1213
</a>
1314

1415
<a v-if="navigation.next" md:col-2 :href="navigation.next.link" nq-hoverable items-end h-max group gap-2>
1516
<div i-nimiq:arrow-right size-14 shrink-0 op="60 group-hocus:80" transition-opacity />
16-
<p f-text-xl>{{ navigation.next.text }}</p>
17+
<p f-text-xl>{{ humanizeText(navigation.next.text) }}</p>
1718
</a>
1819
</nav>
1920
</template>

packages/nimiq-vitepress-theme/src/layout/Sidebar.vue

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import { useCurrentModule } from '../composables/useCurrentModule'
99
import { useVisibleModules } from '../composables/useVisibleModules'
1010
import { renderMarkdown } from '../lib/html-renderer'
1111
import { isActive } from '../lib/route'
12+
import { humanizeText } from '../utils/textUtils'
1213
import CommandMenu from './CommandMenu.vue'
1314
import Logo from './Logo.vue'
1415
import ModulePill from './ModulePill.vue'
@@ -107,7 +108,7 @@ function openAccordionInitialState(items: NimiqVitepressSidebar['items'][number]
107108
<a :href="withBase(link!)" relative class="sidebar-item" :data-state="isActive(page.relativePath, link) ? 'active' : ''" reka-active:font-bold transition-all reka-active:text-blue reka-active:bg-blue-400 group :class="{ 'nq-arrow after:op-70 hocus:after:op-100': isExternalLink(link!) || isCrossModuleLink(link!) }" transition-opacity :target="isExternalLink(link!) ? '_blank' : undefined">
108109
<div v-if="isActive(page.relativePath, link)" aria-hidden absolute inset-y-0 bg-blue rounded-full w-2 z-2 transition-colors :class="isInAccordion ? 'left-12' : 'left-0'" />
109110
<div v-if="icon" :class="icon" f-size-xs text="neutral reka-active:blue" op="70 group-hocus:100" transition-opacity mr-8 shrink-0 />
110-
<span flex-1 v-html="renderMarkdown(text)" />
111+
<span flex-1 v-html="renderMarkdown(humanizeText(text))" />
111112
</a>
112113
</DefineSidebarItem>
113114
<ScrollAreaRoot relative of-hidden bg-neutral-100 var:scrollbar-size:10px as="nav" flex-1 f-px="sm md:xs" v-bind="$attrs">
@@ -123,7 +124,7 @@ function openAccordionInitialState(items: NimiqVitepressSidebar['items'][number]
123124
<CollapsibleTrigger class="sidebar-item" group pr-12 pl-8 bg-transparent>
124125
<div v-if="subitem.icon" :class="subitem.icon" f-text-sm text-neutral op="70 group-hocus:100" mr-8 />
125126
<div :class="subitem.text" op="80 group-hocus:100" transition-opacity />
126-
<span flex-1 text-left v-html="subitem.text" />
127+
<span flex-1 text-left v-html="renderMarkdown(humanizeText(subitem.text))" />
127128
<div
128129
i-nimiq:chevron-down aria-hidden text="9 neutral-700 group-hocus:neutral-800"
129130
transition="[color,transform]" :class="{ 'rotate--90': !open }"

0 commit comments

Comments
 (0)