1
0
mirror of https://github.com/Luzifer/wiki.git synced 2024-09-16 14:18:29 +00:00
wiki/src/app.vue
Knut Ahlers a70eb9306a
Port frontend to Vue 3 / Bootstrap 5.3
and update dependencies

Signed-off-by: Knut Ahlers <knut@ahlers.me>
2024-01-30 15:46:01 +01:00

77 lines
1.6 KiB
Vue

<template>
<div>
<nav class="navbar navbar-expand-lg bg-body-tertiary mb-3">
<div class="container-fluid">
<router-link
class="navbar-brand"
:to="{ name: 'home' }"
>
Wiki
</router-link>
<button
class="navbar-toggler"
type="button"
data-bs-toggle="collapse"
data-bs-target="#navbarSupportedContent"
aria-controls="navbarSupportedContent"
aria-expanded="false"
aria-label="Toggle navigation"
>
<span class="navbar-toggler-icon" />
</button>
<div
id="navbarSupportedContent"
class="collapse navbar-collapse"
>
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
<li
v-for="page in navContent"
:key="page"
class="nav-item"
>
<router-link
class="nav-link"
:to="{ name: 'view', params: { page } }"
>
{{ page }}
</router-link>
</li>
</ul>
</div>
</div>
</nav>
<router-view />
</div>
</template>
<script>
export default {
data() {
return {
navContent: '',
}
},
methods: {
loadNav() {
return fetch(`/_content/_navigation`)
.then(resp => resp.json())
.then(data => {
this.navContent = data.content.split('\n')
.filter(el => el && !el.match(/^!/))
})
.catch(err => {
console.error(err)
})
},
},
mounted() {
this.loadNav()
},
name: 'WikiApp',
}
</script>