|
|
@ -1,15 +1,13 @@
|
|
|
|
<template>
|
|
|
|
<template>
|
|
|
|
<div class="theme" :class="pageClasses">
|
|
|
|
<div class="theme" :class="pageClasses">
|
|
|
|
<header class="navbar" v-if="showNavbar">
|
|
|
|
<NavBar v-if="showNavbar" @toggle="toggleSidebar">
|
|
|
|
<NavBar>
|
|
|
|
<template #search>
|
|
|
|
<template #search>
|
|
|
|
<slot name="navbar-search">
|
|
|
|
<slot name="navbar-search">
|
|
|
|
<AlgoliaSearchBox v-if="theme.algolia" :options="theme.algolia" />
|
|
|
|
<AlgoliaSearchBox v-if="theme.algolia" :options="theme.algolia" />
|
|
|
|
</slot>
|
|
|
|
</slot>
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
</NavBar>
|
|
|
|
</NavBar>
|
|
|
|
|
|
|
|
<ToggleSideBarButton @toggle="toggleSidebar" />
|
|
|
|
|
|
|
|
</header>
|
|
|
|
|
|
|
|
<SideBar :open="openSideBar">
|
|
|
|
<SideBar :open="openSideBar">
|
|
|
|
<template #sidebar-top>
|
|
|
|
<template #sidebar-top>
|
|
|
|
<slot name="sidebar-top" />
|
|
|
|
<slot name="sidebar-top" />
|
|
|
@ -20,46 +18,45 @@
|
|
|
|
</SideBar>
|
|
|
|
</SideBar>
|
|
|
|
<!-- TODO: make this button accessible -->
|
|
|
|
<!-- TODO: make this button accessible -->
|
|
|
|
<div class="sidebar-mask" @click="toggleSidebar(false)" />
|
|
|
|
<div class="sidebar-mask" @click="toggleSidebar(false)" />
|
|
|
|
<main class="main-home" aria-labelledby="main-title" v-if="enableHome">
|
|
|
|
|
|
|
|
<Home>
|
|
|
|
<Home v-if="enableHome">
|
|
|
|
<template #hero>
|
|
|
|
<template #hero>
|
|
|
|
<slot name="home-hero" />
|
|
|
|
<slot name="home-hero" />
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
<template #features>
|
|
|
|
<template #features>
|
|
|
|
<slot name="home-features" />
|
|
|
|
<slot name="home-features" />
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
<template #footer>
|
|
|
|
<template #footer>
|
|
|
|
<slot name="home-footer" />
|
|
|
|
<slot name="home-footer" />
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
</Home>
|
|
|
|
</Home>
|
|
|
|
</main>
|
|
|
|
|
|
|
|
<main v-else>
|
|
|
|
<Page v-else>
|
|
|
|
<Page>
|
|
|
|
<template #top>
|
|
|
|
<template #top>
|
|
|
|
<slot name="page-top-ads">
|
|
|
|
<slot name="page-top-ads">
|
|
|
|
<CarbonAds
|
|
|
|
<CarbonAds
|
|
|
|
v-if="theme.carbonAds"
|
|
|
|
v-if="theme.carbonAds"
|
|
|
|
:key="'carbon' + page.relativePath"
|
|
|
|
:key="'carbon' + page.relativePath"
|
|
|
|
:code="theme.carbonAds.carbon"
|
|
|
|
:code="theme.carbonAds.carbon"
|
|
|
|
:placement="theme.carbonAds.placement"
|
|
|
|
:placement="theme.carbonAds.placement"
|
|
|
|
/>
|
|
|
|
/>
|
|
|
|
</slot>
|
|
|
|
</slot>
|
|
|
|
<slot name="page-top" />
|
|
|
|
<slot name="page-top" />
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
<template #bottom>
|
|
|
|
<template #bottom>
|
|
|
|
<slot name="page-bottom" />
|
|
|
|
<slot name="page-bottom" />
|
|
|
|
<slot name="page-bottom-ads">
|
|
|
|
<slot name="page-bottom-ads">
|
|
|
|
<BuySellAds
|
|
|
|
<BuySellAds
|
|
|
|
v-if="theme.carbonAds && theme.carbonAds.custom"
|
|
|
|
v-if="theme.carbonAds && theme.carbonAds.custom"
|
|
|
|
:key="'custom' + page.relativePath"
|
|
|
|
:key="'custom' + page.relativePath"
|
|
|
|
:code="theme.carbonAds.custom"
|
|
|
|
:code="theme.carbonAds.custom"
|
|
|
|
:placement="theme.carbonAds.placement"
|
|
|
|
:placement="theme.carbonAds.placement"
|
|
|
|
/>
|
|
|
|
/>
|
|
|
|
</slot>
|
|
|
|
</slot>
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
</Page>
|
|
|
|
</Page>
|
|
|
|
|
|
|
|
</main>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
<Debug />
|
|
|
|
<Debug />
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
|
@ -76,7 +73,6 @@ import type { DefaultTheme } from './config'
|
|
|
|
// components
|
|
|
|
// components
|
|
|
|
import NavBar from './components/NavBar.vue'
|
|
|
|
import NavBar from './components/NavBar.vue'
|
|
|
|
import Home from './components/Home.vue'
|
|
|
|
import Home from './components/Home.vue'
|
|
|
|
import ToggleSideBarButton from './components/ToggleSideBarButton.vue'
|
|
|
|
|
|
|
|
import SideBar from './components/SideBar.vue'
|
|
|
|
import SideBar from './components/SideBar.vue'
|
|
|
|
import Page from './components/Page.vue'
|
|
|
|
import Page from './components/Page.vue'
|
|
|
|
const CarbonAds = defineAsyncComponent(
|
|
|
|
const CarbonAds = defineAsyncComponent(
|
|
|
|