zappyzep/dashboard/src/components/docs/DocsLayout.vue

169 lines
4.2 KiB
Vue
Raw Normal View History

2019-07-28 18:24:32 +03:00
<template>
<div class="docs docs-cloak">
<nav class="navbar" role="navigation" aria-label="main navigation">
<div class="container">
<div class="navbar-brand">
<div class="navbar-item">
<img class="docs-logo" src="../../img/logo.png" alt="" aria-hidden="true">
<h1 class="docs-title">Zeppelin Documentation</h1>
</div>
</div>
<div class="navbar-menu is-active">
<div class="navbar-end">
<router-link to="/dashboard" class="navbar-item">Go to dashboard</router-link>
</div>
</div>
</div>
</nav>
<div class="wip-bar">
<i class="mdi mdi-alert"></i>
<strong>Note!</strong> This documentation is a work in progress.
</div>
2019-07-28 18:24:32 +03:00
<div class="wrapper">
<div class="docs-sidebar">
<div class="docs-sidebar-content">
<aside class="menu">
<p class="menu-label">General</p>
<ul class="menu-list">
2019-10-05 14:46:00 +03:00
<li><router-link to="/docs/introduction">Introduction</router-link></li>
2019-07-28 18:24:32 +03:00
<li><router-link to="/docs/configuration-format">Configuration format</router-link></li>
<li><router-link to="/docs/plugin-configuration">Plugin configuration</router-link></li>
<li><router-link to="/docs/permissions">Permissions</router-link></li>
</ul>
2019-10-05 14:46:00 +03:00
<p class="menu-label">Reference</p>
<ul class="menu-list">
2019-10-05 14:46:00 +03:00
<li><router-link to="/docs/reference/argument-types">Argument types</router-link></li>
</ul>
<p class="menu-label">Setup guides</p>
<ul class="menu-list">
<li><router-link to="/docs/setup-guides/logs">Logs</router-link></li>
<li><router-link to="/docs/setup-guides/moderation">Moderation</router-link></li>
</ul>
2019-07-28 18:24:32 +03:00
<p class="menu-label">Plugins</p>
<ul class="menu-list">
2019-08-22 01:22:26 +03:00
<li v-for="plugin in plugins">
<router-link :to="'/docs/plugins/' + plugin.name">{{ plugin.info.prettyName || plugin.name }}</router-link>
</li>
2019-07-28 18:24:32 +03:00
</ul>
</aside>
</div>
</div>
2019-08-22 01:22:26 +03:00
<div class="docs-main">
<router-view :key="$route.fullPath"></router-view>
2019-07-28 18:24:32 +03:00
</div>
</div>
</div>
</template>
<style scoped>
.docs-cloak {
/* Replaced by "visible" in docs.scss */
visibility: hidden;
}
.docs {
width: 100%;
max-width: 1280px;
margin: 20px auto;
}
.navbar {
border: 1px solid #4e5d6c;
border-radius: 3px;
margin-bottom: 24px;
padding: 0 16px;
}
.docs-logo {
margin-right: 12px;
}
.docs-title {
font-weight: 600;
}
.wip-bar {
padding: 4px 10px;
margin-bottom: 24px;
background-color: #2B3E50;
border-radius: 4px;
}
.wip-bar i {
color: #fdd7a5;
font-size: 24px;
vertical-align: -3px;
margin-right: 6px;
}
2019-07-28 18:24:32 +03:00
.wrapper {
display: flex;
}
.docs-sidebar {
flex: 0 0 280px;
}
.docs-sidebar-content {
2019-08-22 02:58:32 +03:00
/* can't scroll with a long list before reaching the end of the page, figure out */
/*position: sticky;*/
/*top: 20px;*/
2019-07-28 18:24:32 +03:00
}
.docs-sidebar .menu {
padding: 12px 16px;
border: 1px solid #4e5d6c;
background-color: #2b3e50;
border-radius: 3px;
}
.docs-sidebar .menu-label {
font-weight: 600;
}
.docs-main {
flex: 1 1 100%;
padding: 0 24px 24px;
}
.docs-main >>> h4 {
margin-top: 1.25em; /* ? */
}
</style>
<script>
import Vue from "vue";
import hljs from "highlight.js/lib/highlight.js";
import hljsYaml from "highlight.js/lib/languages/yaml.js";
2019-07-28 18:24:32 +03:00
import VueHighlightJS from "vue-highlightjs";
import Buefy from "buefy";
2019-08-22 01:22:26 +03:00
import {mapState} from "vuex";
import "../../style/icons.scss";
import "buefy/dist/buefy.css";
2019-07-28 18:24:32 +03:00
import "highlight.js/styles/ocean.css";
import "../../directives/trim-code";
import "../../style/docs.scss";
2019-07-28 18:24:32 +03:00
hljs.registerLanguage("yaml", hljsYaml);
Vue.use(VueHighlightJS, { hljs });
Vue.use(Buefy);
2019-08-22 01:22:26 +03:00
export default {
async mounted() {
await this.$store.dispatch("docs/loadAllPlugins");
},
computed: {
...mapState('docs', {
plugins: 'allPlugins',
}),
},
};
2019-07-28 18:24:32 +03:00
</script>