提交 3814e885 编写于 作者: E Evan You

feat: expose layout slots for injecting custom content

上级 ddb590df
...@@ -5,12 +5,18 @@ ...@@ -5,12 +5,18 @@
@touchend="onTouchEnd"> @touchend="onTouchEnd">
<Navbar v-if="shouldShowNavbar" @toggle-sidebar="toggleSidebar"/> <Navbar v-if="shouldShowNavbar" @toggle-sidebar="toggleSidebar"/>
<div class="sidebar-mask" @click="toggleSidebar(false)"></div> <div class="sidebar-mask" @click="toggleSidebar(false)"></div>
<Sidebar :items="sidebarItems" @toggle-sidebar="toggleSidebar"/> <Sidebar :items="sidebarItems" @toggle-sidebar="toggleSidebar">
<slot name="sidebar-top" slot="top"/>
<slot name="sidebar-bottom" slot="bottom"/>
</Sidebar>
<div class="custom-layout" v-if="$page.frontmatter.layout"> <div class="custom-layout" v-if="$page.frontmatter.layout">
<component :is="$page.frontmatter.layout"/> <component :is="$page.frontmatter.layout"/>
</div> </div>
<Home v-else-if="$page.frontmatter.home"/> <Home v-else-if="$page.frontmatter.home"/>
<Page v-else :sidebar-items="sidebarItems"/> <Page v-else :sidebar-items="sidebarItems">
<slot name="page-top" slot="top"/>
<slot name="page-bottom" slot="bottom"/>
</Page>
</div> </div>
</template> </template>
......
...@@ -19,6 +19,7 @@ ...@@ -19,6 +19,7 @@
</span> </span>
</p> </p>
</div> </div>
<slot name="bottom"/>
</div> </div>
</template> </template>
......
<template> <template>
<div class="sidebar"> <div class="sidebar">
<NavLinks/> <NavLinks/>
<slot name="top"/>
<ul class="sidebar-links" v-if="items.length"> <ul class="sidebar-links" v-if="items.length">
<li v-for="(item, i) in items"> <li v-for="(item, i) in items">
<SidebarGroup v-if="item.type === 'group'" <SidebarGroup v-if="item.type === 'group'"
...@@ -12,6 +13,7 @@ ...@@ -12,6 +13,7 @@
<SidebarLink v-else :item="item"/> <SidebarLink v-else :item="item"/>
</li> </li>
</ul> </ul>
<slot name="bottom"/>
</div> </div>
</template> </template>
......
...@@ -40,6 +40,7 @@ module.exports = function createBaseConfig ({ ...@@ -40,6 +40,7 @@ module.exports = function createBaseConfig ({
.set('@source', sourceDir) .set('@source', sourceDir)
.set('@app', path.resolve(__dirname, '../app')) .set('@app', path.resolve(__dirname, '../app'))
.set('@temp', path.resolve(__dirname, '../app/.temp')) .set('@temp', path.resolve(__dirname, '../app/.temp'))
.set('@default-theme', path.resolve(__dirname, '../default-theme'))
.set('@AlgoliaSearchBox', isAlgoliaSearch .set('@AlgoliaSearchBox', isAlgoliaSearch
? path.resolve(__dirname, '../default-theme/AlgoliaSearchBox.vue') ? path.resolve(__dirname, '../default-theme/AlgoliaSearchBox.vue')
: path.resolve(__dirname, '../noop.js')) : path.resolve(__dirname, '../noop.js'))
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册