@brillout/docpress 0.11.2 → 0.11.4

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 CHANGED
@@ -85,7 +85,8 @@ function Layout({ children }: { children: React.ReactNode }) {
85
85
 
86
86
  function LayoutDocsPage({ children }: { children: React.ReactNode }) {
87
87
  const pageContext = usePageContext()
88
- const hideNavLeftAlways = pageContext.navItemsDetached && pageContext.navItemsDetached.length <= 1
88
+ const hideNavLeftAlways =
89
+ pageContext.pageDesign?.hideMenuLeft || (pageContext.navItemsDetached && pageContext.navItemsDetached.length <= 1)
89
90
  return (
90
91
  <>
91
92
  <Style>{getStyle()}</Style>
@@ -158,6 +159,7 @@ function PageContent({ children }: { children: React.ReactNode }) {
158
159
  const pageTitleParsed = pageTitle && parseMarkdownMini(pageTitle)
159
160
  const { globalNote } = pageContext.config
160
161
  const ifDocPage = (style: React.CSSProperties) => (isLandingPage ? {} : style)
162
+ const contentMaxWidth = pageContext.pageDesign?.contentMaxWidth ?? mainViewWidthMax
161
163
  return (
162
164
  <div
163
165
  className="page-wrapper low-prio-grow"
@@ -176,14 +178,14 @@ function PageContent({ children }: { children: React.ReactNode }) {
176
178
  // Also define --main-view-padding for landing page because it's used by <Contributors> and <Sponsors>
177
179
  ['--main-view-padding']: `${mainViewPadding}px`,
178
180
  ...ifDocPage({
179
- width: `calc(${mainViewWidthMax}px + 2 * var(--main-view-padding))`,
181
+ width: `calc(${contentMaxWidth}px + 2 * var(--main-view-padding))`,
180
182
  maxWidth: '100%',
181
183
  padding: '20px var(--main-view-padding)',
182
184
  }),
183
185
  }}
184
186
  >
185
187
  {globalNote}
186
- {pageTitleParsed && (
188
+ {pageTitleParsed && !pageContext.pageDesign?.hideTitle && (
187
189
  <div>
188
190
  <EditLink className="show-only-on-desktop" style={{ float: 'right', marginTop: 6, padding: 10 }} />
189
191
  <h1 id={`${pageContext.urlPathname.replace('/', '')}`}>{pageTitleParsed}</h1>
@@ -92,6 +92,7 @@ function resolveHeadingsData(pageContext: PageContextOriginal) {
92
92
  const pageContextAddendum = {
93
93
  navItemsAll,
94
94
  navItemsDetached,
95
+ pageDesign: activeHeading.pageDesign,
95
96
  linksAll,
96
97
  isLandingPage,
97
98
  pageTitle,
@@ -11,6 +11,11 @@ type ActiveCategory = {
11
11
  declare function resolveHeadingsData(pageContext: PageContextOriginal): {
12
12
  navItemsAll: NavItem[];
13
13
  navItemsDetached: NavItem[] | undefined;
14
+ pageDesign: {
15
+ hideTitle?: true;
16
+ hideMenuLeft?: true;
17
+ contentMaxWidth?: number;
18
+ } | undefined;
14
19
  linksAll: LinkData[];
15
20
  isLandingPage: boolean;
16
21
  pageTitle: string | null;
@@ -64,6 +64,7 @@ function resolveHeadingsData(pageContext) {
64
64
  var pageContextAddendum = {
65
65
  navItemsAll: navItemsAll,
66
66
  navItemsDetached: navItemsDetached,
67
+ pageDesign: activeHeading.pageDesign,
67
68
  linksAll: linksAll,
68
69
  isLandingPage: isLandingPage,
69
70
  pageTitle: pageTitle,
@@ -12,6 +12,11 @@ type PageContextResolved = ReturnType<typeof resolvePageContext>;
12
12
  declare function resolvePageContext(pageContext: PageContextOriginal): {
13
13
  navItemsAll: import("../NavItemComponent").NavItem[];
14
14
  navItemsDetached: import("../NavItemComponent").NavItem[] | undefined;
15
+ pageDesign: {
16
+ hideTitle?: true;
17
+ hideMenuLeft?: true;
18
+ contentMaxWidth?: number;
19
+ } | undefined;
15
20
  linksAll: import("../components").LinkData[];
16
21
  isLandingPage: boolean;
17
22
  pageTitle: string | null;
@@ -10,11 +10,17 @@ type HeadingResolved = {
10
10
  linkBreadcrumb: string[];
11
11
  sectionTitles?: string[];
12
12
  menuModalFullWidth?: true;
13
+ pageDesign?: PageDesign;
13
14
  category?: string;
14
15
  color?: string;
15
16
  titleIcon?: string;
16
17
  titleIconStyle?: React.CSSProperties;
17
18
  } & Tmp;
19
+ type PageDesign = {
20
+ hideTitle?: true;
21
+ hideMenuLeft?: true;
22
+ contentMaxWidth?: number;
23
+ };
18
24
  type HeadingDetachedResolved = Omit<HeadingResolved, 'level' | 'linkBreadcrumb'> & {
19
25
  level: 2;
20
26
  linkBreadcrumb: null;
@@ -22,6 +28,7 @@ type HeadingDetachedResolved = Omit<HeadingResolved, 'level' | 'linkBreadcrumb'>
22
28
  type HeadingDefinitionCommon = {
23
29
  title: string;
24
30
  menuModalFullWidth?: true;
31
+ pageDesign?: PageDesign;
25
32
  };
26
33
  type HeadingDetachedDefinition = HeadingDefinitionCommon & {
27
34
  url: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@brillout/docpress",
3
- "version": "0.11.2",
3
+ "version": "0.11.4",
4
4
  "type": "module",
5
5
  "dependencies": {
6
6
  "@brillout/picocolors": "^1.0.10",
package/types/Heading.ts CHANGED
@@ -11,12 +11,19 @@ type HeadingResolved = {
11
11
  linkBreadcrumb: string[]
12
12
  sectionTitles?: string[]
13
13
  menuModalFullWidth?: true
14
+ pageDesign?: PageDesign
14
15
  category?: string
15
16
  color?: string
16
17
  titleIcon?: string
17
18
  titleIconStyle?: React.CSSProperties
18
19
  } & Tmp
19
20
 
21
+ type PageDesign = {
22
+ hideTitle?: true
23
+ hideMenuLeft?: true
24
+ contentMaxWidth?: number
25
+ }
26
+
20
27
  type HeadingDetachedResolved = Omit<HeadingResolved, 'level' | 'linkBreadcrumb'> & {
21
28
  level: 2
22
29
  linkBreadcrumb: null
@@ -25,6 +32,7 @@ type HeadingDetachedResolved = Omit<HeadingResolved, 'level' | 'linkBreadcrumb'>
25
32
  type HeadingDefinitionCommon = {
26
33
  title: string
27
34
  menuModalFullWidth?: true
35
+ pageDesign?: PageDesign
28
36
  }
29
37
 
30
38
  type HeadingDetachedDefinition = HeadingDefinitionCommon & {