mirror of
https://github.com/Luzifer/wiki.git
synced 2024-09-16 14:18:29 +00:00
77 lines
1.6 KiB
Vue
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>
|