@brillout/docpress 0.15.13-commit-03246ec → 0.15.13-commit-f8fc961
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Layout.tsx +42 -42
- package/installSectionUrlHashs.ts +3 -1
- package/package.json +1 -1
package/Layout.tsx
CHANGED
|
@@ -26,7 +26,6 @@ import { Style } from './utils/Style'
|
|
|
26
26
|
import { cls } from './utils/cls'
|
|
27
27
|
import { iconBooks } from './icons'
|
|
28
28
|
import { EditLink } from './EditLink'
|
|
29
|
-
import type { PageContext } from 'vike/types'
|
|
30
29
|
|
|
31
30
|
const blockMargin = 3
|
|
32
31
|
const mainViewPadding = 20
|
|
@@ -89,12 +88,16 @@ function LayoutDocsPage({ children }: { children: React.ReactNode }) {
|
|
|
89
88
|
return (
|
|
90
89
|
<>
|
|
91
90
|
<div style={{ display: 'flex', ...whitespaceBuster2 }}>
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
91
|
+
{!isNavLeftAlwaysHidden() && (
|
|
92
|
+
<>
|
|
93
|
+
<NavLeft />
|
|
94
|
+
<div
|
|
95
|
+
id="nav-left-margin"
|
|
96
|
+
className="low-prio-grow"
|
|
97
|
+
style={{ width: 0, maxWidth: 50, background: 'var(--bg-color)' }}
|
|
98
|
+
/>
|
|
99
|
+
</>
|
|
100
|
+
)}
|
|
98
101
|
<PageContent>{children}</PageContent>
|
|
99
102
|
</div>
|
|
100
103
|
<Style>{css`
|
|
@@ -181,7 +184,7 @@ function NavLeft() {
|
|
|
181
184
|
top: 0,
|
|
182
185
|
}}
|
|
183
186
|
>
|
|
184
|
-
|
|
187
|
+
<NavHead isNavLeft={true} />
|
|
185
188
|
<div
|
|
186
189
|
style={{
|
|
187
190
|
backgroundColor: 'var(--bg-color)',
|
|
@@ -234,7 +237,8 @@ function NavigationContent(props: {
|
|
|
234
237
|
)
|
|
235
238
|
}
|
|
236
239
|
|
|
237
|
-
function isNavLeftAlwaysHidden(
|
|
240
|
+
function isNavLeftAlwaysHidden() {
|
|
241
|
+
const pageContext = usePageContext()
|
|
238
242
|
const { isLandingPage, navItemsDetached, pageDesign } = pageContext.resolved
|
|
239
243
|
return isLandingPage || pageDesign?.hideMenuLeft || (navItemsDetached && navItemsDetached.length <= 1)
|
|
240
244
|
}
|
|
@@ -276,8 +280,8 @@ function NavHead({ isNavLeft }: { isNavLeft?: true }) {
|
|
|
276
280
|
style={{
|
|
277
281
|
display: 'inline-flex',
|
|
278
282
|
fontSize: '1.06em',
|
|
279
|
-
|
|
280
|
-
|
|
283
|
+
paddingRight: 'var(--main-view-padding)',
|
|
284
|
+
paddingLeft: 'var(--padding-side)',
|
|
281
285
|
}}
|
|
282
286
|
/>
|
|
283
287
|
</div>
|
|
@@ -317,7 +321,7 @@ function NavHead({ isNavLeft }: { isNavLeft?: true }) {
|
|
|
317
321
|
justifyContent: 'center',
|
|
318
322
|
}}
|
|
319
323
|
>
|
|
320
|
-
{!hideNavHeadLogo && <NavHeadLogo />}
|
|
324
|
+
{!hideNavHeadLogo && <NavHeadLogo isNavLeft={isNavLeft} />}
|
|
321
325
|
<div className="desktop-grow" style={{ display: 'none' }} />
|
|
322
326
|
{algolia && <SearchLink className="always-shown" style={menuLinkStyle} />}
|
|
323
327
|
<MenuToggleMain className="always-shown nav-head-menu-toggle" style={menuLinkStyle} />
|
|
@@ -328,18 +332,12 @@ function NavHead({ isNavLeft }: { isNavLeft?: true }) {
|
|
|
328
332
|
)
|
|
329
333
|
}
|
|
330
334
|
function getStyleNav() {
|
|
331
|
-
const pageContext = usePageContext()
|
|
332
|
-
|
|
333
335
|
let style = ''
|
|
334
336
|
|
|
335
337
|
// Mobile
|
|
336
338
|
style += css`
|
|
337
339
|
@container container-viewport (max-width: ${viewMobile}px) {
|
|
338
340
|
.nav-head:not(.is-nav-left) {
|
|
339
|
-
.nav-head-logo {
|
|
340
|
-
always-shown: flex-start !important;
|
|
341
|
-
padding-left: var(--main-view-padding);
|
|
342
|
-
}
|
|
343
341
|
.nav-head-menu-toggle {
|
|
344
342
|
justify-content: flex-end !important;
|
|
345
343
|
padding-right: var(--main-view-padding) !important;
|
|
@@ -371,9 +369,6 @@ function getStyleNav() {
|
|
|
371
369
|
--icon-text-padding: 8px;
|
|
372
370
|
--padding-side: 20px;
|
|
373
371
|
}
|
|
374
|
-
.nav-head-logo {
|
|
375
|
-
padding: 0 var(--padding-side);
|
|
376
|
-
}
|
|
377
372
|
}
|
|
378
373
|
}`
|
|
379
374
|
|
|
@@ -383,10 +378,7 @@ function getStyleNav() {
|
|
|
383
378
|
.nav-head:not(.is-nav-left) {
|
|
384
379
|
.nav-head-content {
|
|
385
380
|
--icon-text-padding: min(8px, 0.5cqw);
|
|
386
|
-
--padding-side: min(20px, 1.
|
|
387
|
-
}
|
|
388
|
-
.nav-head-logo {
|
|
389
|
-
padding: 0 var(--padding-side);
|
|
381
|
+
--padding-side: min(20px, 1.2cqw);
|
|
390
382
|
}
|
|
391
383
|
&.has-max-width {
|
|
392
384
|
.desktop-grow {
|
|
@@ -402,7 +394,7 @@ function getStyleNav() {
|
|
|
402
394
|
`
|
|
403
395
|
|
|
404
396
|
// Desktop
|
|
405
|
-
if (!isNavLeftAlwaysHidden(
|
|
397
|
+
if (!isNavLeftAlwaysHidden()) {
|
|
406
398
|
style += css`
|
|
407
399
|
@container container-viewport (min-width: ${viewDesktop}px) {
|
|
408
400
|
.nav-head:not(.is-nav-left) {
|
|
@@ -421,10 +413,6 @@ function getStyleNav() {
|
|
|
421
413
|
flex-grow: 1;
|
|
422
414
|
}
|
|
423
415
|
}
|
|
424
|
-
.nav-head-logo {
|
|
425
|
-
padding-left: 15px;
|
|
426
|
-
margin-left: -15px;
|
|
427
|
-
}
|
|
428
416
|
}
|
|
429
417
|
.show-on-nav-hover {
|
|
430
418
|
opacity: 0;
|
|
@@ -448,22 +436,29 @@ function getStyleNav() {
|
|
|
448
436
|
body {
|
|
449
437
|
--main-view-padding: 10px !important;
|
|
450
438
|
}
|
|
451
|
-
|
|
452
|
-
flex-grow: 1;
|
|
453
|
-
align-items: center;
|
|
454
|
-
}
|
|
455
|
-
.page-content {
|
|
456
|
-
margin: auto;
|
|
457
|
-
}
|
|
458
|
-
#menu-modal-wrapper {
|
|
459
|
-
position: absolute !important;
|
|
460
|
-
}
|
|
439
|
+
${getStyleNavLeftHidden()}
|
|
461
440
|
}
|
|
462
441
|
`
|
|
442
|
+
} else {
|
|
443
|
+
style += getStyleNavLeftHidden()
|
|
463
444
|
}
|
|
464
445
|
|
|
465
446
|
return style
|
|
466
447
|
}
|
|
448
|
+
function getStyleNavLeftHidden() {
|
|
449
|
+
return css`
|
|
450
|
+
.page-wrapper {
|
|
451
|
+
flex-grow: 1;
|
|
452
|
+
align-items: center;
|
|
453
|
+
}
|
|
454
|
+
.page-content {
|
|
455
|
+
margin: auto;
|
|
456
|
+
}
|
|
457
|
+
#menu-modal-wrapper {
|
|
458
|
+
position: absolute !important;
|
|
459
|
+
}
|
|
460
|
+
`
|
|
461
|
+
}
|
|
467
462
|
|
|
468
463
|
function unexpandNav() {
|
|
469
464
|
document.documentElement.classList.add('unexpand-nav')
|
|
@@ -503,7 +498,7 @@ function NavHeadLeftFullWidthBackground() {
|
|
|
503
498
|
)
|
|
504
499
|
}
|
|
505
500
|
|
|
506
|
-
function NavHeadLogo({
|
|
501
|
+
function NavHeadLogo({ isNavLeft }: { isNavLeft?: true }) {
|
|
507
502
|
const pageContext = usePageContext()
|
|
508
503
|
|
|
509
504
|
const { navLogo } = pageContext.globalContext.config.docpress
|
|
@@ -537,12 +532,17 @@ function NavHeadLogo({ className }: { className?: string }) {
|
|
|
537
532
|
|
|
538
533
|
return (
|
|
539
534
|
<a
|
|
540
|
-
className={cls(['nav-head-logo', className])}
|
|
541
535
|
style={{
|
|
542
536
|
display: 'flex',
|
|
543
537
|
alignItems: 'center',
|
|
544
538
|
height: '100%',
|
|
545
539
|
color: 'inherit',
|
|
540
|
+
...(!isNavLeft
|
|
541
|
+
? {
|
|
542
|
+
paddingLeft: 'var(--main-view-padding)',
|
|
543
|
+
paddingRight: 'var(--padding-side)',
|
|
544
|
+
}
|
|
545
|
+
: {}),
|
|
546
546
|
}}
|
|
547
547
|
href="/"
|
|
548
548
|
onContextMenu={!navLogo ? undefined : onContextMenu}
|
|
@@ -28,7 +28,9 @@ function installSectionUrlHashs() {
|
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
function assertNavLink(urlHash: string, heading: HTMLHeadingElement) {
|
|
31
|
-
const
|
|
31
|
+
const navigationContainerEl = document.querySelector('#nav-left')
|
|
32
|
+
if (!navigationContainerEl) return
|
|
33
|
+
const navigationEl = navigationContainerEl.querySelector('.navigation-content')!
|
|
32
34
|
{
|
|
33
35
|
const { pathname } = window.location
|
|
34
36
|
const parentNavLinkMatch = Array.from(navigationEl.querySelectorAll(`a[href="${pathname}"]`))
|