Merge pull request #140 from kasenvr/feature/js-doc-menu-hide

API Docs viewport restriction removal + menu toggle
This commit is contained in:
kasenvr 2020-01-31 14:39:11 -05:00 committed by GitHub
commit 3a3c2750bc
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 110 additions and 72 deletions

View file

@ -0,0 +1,17 @@
.nav-header {
display: none;
}
nav {
display: none !important;
}
section {
margin-right: 0px !important;
}
#main {
margin-left: 15px !important;
margin-right: 15px !important;
overflow: auto;
}

View file

@ -4,10 +4,10 @@
<?js if (!env.conf.docdash) { env.conf.docdash = {};} ?> <?js if (!env.conf.docdash) { env.conf.docdash = {};} ?>
<meta charset="utf-8"> <meta charset="utf-8">
<title><?js= title ?></title> <title><?js= title ?></title>
<script src="scripts/vue.min.js"></script> <script src="scripts/vue.min.js"></script>
<script src="scripts/vuetify.js"></script> <script src="scripts/vuetify.js"></script>
<script src="scripts/prettify/prettify.js"></script> <script src="scripts/prettify/prettify.js"></script>
<script src="scripts/prettify/lang-css.js"></script> <script src="scripts/prettify/lang-css.js"></script>
<!--[if lt IE 9]> <!--[if lt IE 9]>
@ -15,55 +15,68 @@
<![endif]--> <![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify.css"> <link type="text/css" rel="stylesheet" href="styles/prettify.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc.css"> <link type="text/css" rel="stylesheet" href="styles/jsdoc.css">
<link type="text/css" rel="stylesheet" href="styles/night.css"> <link type="text/css" rel="stylesheet" href="styles/night.css">
<link href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900" rel="stylesheet"> <link type="text/css" rel="stylesheet" href="styles/responsive.css">
<link href="https://fonts.googleapis.com/css?family=Material+Icons|Material+Icons+Outlined|Material+Icons+Two+Tone|Material+Icons+Round|Material+Icons+Sharp" rel="stylesheet"> <link type="text/css" rel="stylesheet" href="styles/main.css">
<link href="styles/materialdesignicons.min.css" rel="stylesheet"> <link href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900" rel="stylesheet">
<link href="styles/vuetify.css" rel="stylesheet"> <link href="https://fonts.googleapis.com/css?family=Material+Icons|Material+Icons+Outlined|Material+Icons+Two+Tone|Material+Icons+Round|Material+Icons+Sharp" rel="stylesheet">
<style> <link href="styles/materialdesignicons.min.css" rel="stylesheet">
.v-application--wrap { <link href="styles/vuetify.css" rel="stylesheet">
min-height: 0 !important; <style>
} .v-application--wrap {
min-height: 0 !important;
/** Override Vue CSS. */ }
.theme--dark.v-application {
background: #27343b !important; /** Override Vue CSS. */
} .theme--dark.v-application {
</style> background: #27343b !important;
<script> }
//We are running the check here to preload the theme because it may load the incorrect one first for a split second. </style>
var darkDisabled = JSON.parse(localStorage.getItem('darkDisabled')); <script>
if (darkDisabled == null) { //We are running the check here to preload the theme because it may load the incorrect one first for a split second.
localStorage.setItem('darkDisabled', JSON.stringify(false)); var darkDisabled = JSON.parse(localStorage.getItem('darkDisabled'));
} else { if (darkDisabled == null) {
var nightSheet = document.querySelector('[href="styles/night.css"]'); localStorage.setItem('darkDisabled', JSON.stringify(false));
nightSheet.disabled = darkDisabled; } else {
} var nightSheet = document.querySelector('[href="styles/night.css"]');
</script> nightSheet.disabled = darkDisabled;
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, minimal-ui"> }
var responsiveDisabled = JSON.parse(localStorage.getItem('responsiveDisabled'));
if (responsiveDisabled === null) {
localStorage.setItem('responsiveDisabled', JSON.stringify(true));
} else {
var responsiveSheet = document.querySelector('[href="styles/responsive.css"]');
responsiveSheet.disabled = responsiveDisabled;
}
</script>
<!-- <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, minimal-ui"> -->
<link href="images/fav-icon.ico" rel="shortcut icon"> <link href="images/fav-icon.ico" rel="shortcut icon">
</head> </head>
<body> <body>
<v-app dark>
<div class="nav-header"> <div id="vue-menu">
<p><a href="https://projectathena.io"><img src="images/project-athena-logo.png" width="214px" /></a></p> <template>
<?js if (env.conf.docdash.search) { ?> <v-btn @click="toggleResponsive" fab large dark style="position: fixed; right: 15px; top: 15px;">
<input type="text" class="search-input" id="nav-search" placeholder="Search API Docs ..." /> <v-icon class="ml-4">mdi-backburger</v-icon>
<?js } ?> </v-btn>
<p><a href="https://docs.projectathena.dev">Looking for <strong>Project Athena</strong><br /> Documentation?</a></p> <div class="nav-header">
<div id="app"> <p><a href="https://projectathena.io"><img src="images/project-athena-logo.png" width="214px" /></a></p>
<v-app dark> <?js if (env.conf.docdash.search) { ?>
<v-btn @click="toggleNightMode" text dark> <input type="text" class="search-input" id="nav-search" placeholder="Search API Docs ..." />
Toggle <?js } ?>
<v-icon class="ml-2">mdi-theme-light-dark</v-icon> <p><a href="https://docs.projectathena.dev">Looking for <strong>Project Athena</strong><br /> Documentation?</a></p>
</v-btn> <v-btn @click="toggleNightMode" text dark>
</v-app> <span>Toggle</span>
<v-icon style="margin-left: 5px;">mdi-theme-light-dark</v-icon>
</v-btn>
</div>
<nav>
<?js= this.nav ?>
</nav>
</template>
</div> </div>
</div> </v-app>
<nav>
<?js= this.nav ?>
</nav>
<div id="main"> <div id="main">
<h1 class="page-title"><?js= title ?></h1> <h1 class="page-title"><?js= title ?></h1>
@ -109,30 +122,38 @@
<?js } ?> <?js } ?>
<script> <script>
new Vue({ new Vue({
el: '#app', el: '#vue-menu',
vuetify: new Vuetify({ vuetify: new Vuetify({
theme: { theme: {
dark: true, dark: true,
}, },
}), }),
data: () => ({ data: () => ({
}), }),
created: function () { created: function () {
}, },
methods: { methods: {
toggleNightMode: function() { toggleNightMode: function() {
var darkDisabled = JSON.parse(localStorage.getItem('darkDisabled')); var darkDisabled = JSON.parse(localStorage.getItem('darkDisabled'));
localStorage.setItem('darkDisabled', JSON.stringify(!darkDisabled)); localStorage.setItem('darkDisabled', JSON.stringify(!darkDisabled));
darkDisabled = !darkDisabled; darkDisabled = !darkDisabled;
var nightSheet = document.querySelector('[href="styles/night.css"]'); var nightSheet = document.querySelector('[href="styles/night.css"]');
nightSheet.disabled = darkDisabled; nightSheet.disabled = darkDisabled;
} },
}, toggleResponsive: function() {
}) var responsiveDisabled = JSON.parse(localStorage.getItem('responsiveDisabled'));
localStorage.setItem('responsiveDisabled', JSON.stringify(!responsiveDisabled));
responsiveDisabled = !responsiveDisabled;
var responsiveSheet = document.querySelector('[href="styles/responsive.css"]');
responsiveSheet.disabled = responsiveDisabled;
}
},
})
</script> </script>
<!-- Start Google Analytics Tag --> <!-- Start Google Analytics Tag -->