Skip to content

Commit 9220523

Browse files
authoredApr 9, 2017
feat(render): add mergeNavbar option, close #125, #124 (#145)
1 parent b8100c0 commit 9220523

File tree

11 files changed

+67
-28
lines changed

11 files changed

+67
-28
lines changed
 

‎dev.html

+2-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,8 @@
2929
loadNavbar: true,
3030
loadSidebar: true,
3131
name: 'docsify',
32-
subMaxLevel: 2
32+
subMaxLevel: 2,
33+
mergeNavbar: true
3334
}
3435
</script>
3536
<script src="/lib/docsify.js"></script>

‎docs/_navbar.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
- :uk:
2-
- [:cn: 中文](/zh-cn/)
3-
- [:de: Deutsch](/de-de/)
4-
- [:uk: English](/)
1+
- Translations
2+
- [:cn: 中文](/zh-cn/)
3+
- [:de: Deutsch](/de-de/)
4+
- [:uk: English](/)

‎docs/configuration.md

+10
Original file line numberDiff line numberDiff line change
@@ -305,3 +305,13 @@ window.$docsify = {
305305
noEmoji: true
306306
}
307307
```
308+
309+
## merge-navbar
310+
311+
Navbar will be merged with the sidebar on smaller screens.
312+
313+
```js
314+
window.$docsify = {
315+
mergeNavbar: true
316+
}
317+
```

‎docs/de-de/_navbar.md

-4
This file was deleted.

‎docs/de-de/configuration.md

+10
Original file line numberDiff line numberDiff line change
@@ -305,3 +305,13 @@ window.$docsify = {
305305
noEmoji: true
306306
}
307307
```
308+
309+
## merge-navbar
310+
311+
Navbar will be merged with the sidebar on smaller screens.
312+
313+
```js
314+
window.$docsify = {
315+
mergeNavbar: true
316+
}
317+
```

‎docs/index.html

+1
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
executeScript: true,
3333
loadSidebar: true,
3434
loadNavbar: true,
35+
mergeNavbar: true,
3536
maxLevel: 4,
3637
name: 'docsify',
3738
search: {

‎docs/zh-cn/_navbar.md

-4
This file was deleted.

‎docs/zh-cn/configuration.md

+11
Original file line numberDiff line numberDiff line change
@@ -315,3 +315,14 @@ window.$docsify = {
315315
noEmoji: true
316316
}
317317
```
318+
319+
## merge-navbar
320+
321+
小屏设备下合并导航栏到侧边栏。
322+
323+
```js
324+
window.$docsify = {
325+
mergeNavbar: true
326+
}
327+
```
328+

‎src/core/config.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,8 @@ const config = merge({
1717
autoHeader: false,
1818
executeScript: null,
1919
noEmoji: false,
20-
ga: ''
20+
ga: '',
21+
mergeNavbar: false
2122
}, window.$docsify)
2223

2324
const script = document.currentScript ||

‎src/core/render/index.js

+14-6
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import { markdown, sidebar, subSidebar, cover } from './compiler'
77
import { callHook } from '../init/lifecycle'
88
import { getBasePath, getPath, isAbsolutePath } from '../route/util'
99
import { isPrimitive } from '../util/core'
10+
import { isMobile } from '../util/env'
1011

1112
function executeScript () {
1213
const script = dom.findAll('.markdown-section>script')
@@ -153,12 +154,8 @@ export function initRender (vm) {
153154

154155
let el = dom.find(id)
155156
let html = ''
157+
let navAppendToTarget = dom.body
156158

157-
navEl.classList.add('app-nav')
158-
159-
if (!config.repo) {
160-
navEl.classList.add('no-badge')
161-
}
162159
if (!el) {
163160
el = dom.create(id)
164161
dom.appendTo(dom.body, el)
@@ -173,8 +170,19 @@ export function initRender (vm) {
173170
html += tpl.main(config)
174171
// Render main app
175172
vm._renderTo(el, html, true)
173+
174+
if (config.mergeNavbar && isMobile) {
175+
navAppendToTarget = dom.find('.sidebar')
176+
} else {
177+
navEl.classList.add('app-nav')
178+
179+
if (!config.repo) {
180+
navEl.classList.add('no-badge')
181+
}
182+
}
183+
176184
// Add nav
177-
dom.before(dom.body, navEl)
185+
dom.before(navAppendToTarget, navEl)
178186

179187
if (config.themeColor) {
180188
dom.$.head.innerHTML += tpl.theme(config.themeColor)

‎src/themes/basic/_layout.css

+13-8
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
body:not(.ready) {
1111
overflow: hidden;
1212

13-
[data-cloak], nav {
13+
[data-cloak], .app-nav {
1414
display: none;
1515
}
1616
}
@@ -83,7 +83,7 @@ kbd {
8383
}
8484

8585
/* navbar */
86-
nav.app-nav {
86+
.app-nav {
8787
left: 0;
8888
margin: 25px 60px 0 0;
8989
position: absolute;
@@ -238,6 +238,11 @@ main {
238238
color: inherit;
239239
text-decoration: none;
240240
}
241+
242+
.app-nav {
243+
display: block;
244+
position: static;
245+
}
241246
}
242247

243248
ul {
@@ -325,7 +330,7 @@ body.sticky {
325330
.markdown-section {
326331
margin: 0 auto;
327332
max-width: 800px;
328-
padding: 20px 15px 40px 15px;
333+
padding: 30px 15px 40px 15px;
329334
position: relative;
330335

331336
> * {
@@ -430,7 +435,7 @@ body.close {
430435
display: none;
431436
}
432437

433-
nav {
438+
.app-nav {
434439
display: none;
435440
}
436441
}
@@ -440,11 +445,11 @@ body.close {
440445
position: fixed;
441446
}
442447

443-
nav {
448+
.app-nav {
444449
margin-top: 16px;
445450
}
446451

447-
nav li ul {
452+
.app-nav li ul {
448453
top: 30px;
449454
}
450455

@@ -465,7 +470,7 @@ body.close {
465470
transition: transform 250ms ease;
466471
}
467472

468-
nav, .github-corner {
473+
.app-nav, .github-corner {
469474
transition: transform 250ms ease-out;
470475
}
471476

@@ -489,7 +494,7 @@ body.close {
489494
transform: translateX($sidebar-width);
490495
}
491496

492-
nav, .github-corner {
497+
.app-nav, .github-corner {
493498
display: none;
494499
}
495500
}

0 commit comments

Comments
 (0)