@brillout/docpress 0.6.6 → 0.6.7

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/+config.ts CHANGED
@@ -7,11 +7,11 @@ export default {
7
7
  client: 'import:@brillout/docpress/renderer/client:doesNotExist',
8
8
  meta: {
9
9
  Page: {
10
- env: { client: false, server: true }
10
+ env: { client: false, server: true },
11
11
  },
12
12
  // Vike already defines the setting 'name', but we redundantly define it here for older Vike versions (otherwise older Vike versions will complain that 'name` is an unknown config).
13
13
  name: {
14
- env: { config: true }
15
- }
16
- }
14
+ env: { config: true },
15
+ },
16
+ },
17
17
  } satisfies Config
package/MobileHeader.tsx CHANGED
@@ -11,7 +11,7 @@ function MobileHeader() {
11
11
  style={{
12
12
  height: 'var(--mobile-header-height)',
13
13
  width: '100%',
14
- position: 'relative'
14
+ position: 'relative',
15
15
  }}
16
16
  >
17
17
  <div
@@ -25,7 +25,7 @@ function MobileHeader() {
25
25
  left: 0,
26
26
  height: 'var(--mobile-header-height)',
27
27
  width: '100%',
28
- borderBottom: '1px solid #ddd'
28
+ borderBottom: '1px solid #ddd',
29
29
  }}
30
30
  >
31
31
  <MenuToggle />
@@ -37,7 +37,7 @@ function MobileHeader() {
37
37
  alignItems: 'center',
38
38
  justifyContent: 'left',
39
39
  textDecoration: 'none',
40
- ...pageContext.config.navHeaderMobileWrapperStyle
40
+ ...pageContext.config.navHeaderMobileWrapperStyle,
41
41
  }}
42
42
  >
43
43
  {pageContext.config.navHeaderMobile}
package/autoScrollNav.ts CHANGED
@@ -29,7 +29,7 @@ function autoScrollNav() {
29
29
  // @ts-ignore https://github.com/microsoft/TypeScript/issues/46654
30
30
  behavior: 'instant',
31
31
  block: 'center',
32
- inline: 'start'
32
+ inline: 'start',
33
33
  })
34
34
  // Avoid scrollIntoView() from scrolling the main view. Alternatively, we could use scrollIntoViewIfNeeded() (https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollIntoViewIfNeeded) which doesn't scroll the main view but Firefox doesn't support it.
35
35
  document.documentElement.scrollTop = scrollTopOriginal
@@ -11,7 +11,7 @@ type LineBreak = 'white-space' | 'break-word'
11
11
  function CodeBlockTransformer({ children, lineBreak }: { children: React.ReactNode; lineBreak: LineBreak }) {
12
12
  assert(
13
13
  lineBreak === 'white-space' || lineBreak === 'break-word',
14
- '`lineBreak` is currently the only use case for <CodeBlockTransformer>'
14
+ '`lineBreak` is currently the only use case for <CodeBlockTransformer>',
15
15
  )
16
16
  const className = `with-line-break_${lineBreak}` as const
17
17
  return <div className={className}>{children}</div>
@@ -54,7 +54,7 @@ function Maintainer({ maintainer }: { maintainer: (typeof maintainers)[0] }) {
54
54
  flexWrap: 'wrap',
55
55
  padding: 20,
56
56
  gap: 20,
57
- textAlign: 'left'
57
+ textAlign: 'left',
58
58
  }}
59
59
  >
60
60
  <a href={githubUrl}>
@@ -85,7 +85,7 @@ function Maintainer({ maintainer }: { maintainer: (typeof maintainers)[0] }) {
85
85
  backgroundColor: '#305090',
86
86
  padding: '1px 5px 2px 5px',
87
87
  verticalAlign: 'text-top',
88
- borderRadius: 3
88
+ borderRadius: 3,
89
89
  }}
90
90
  >
91
91
  consulting
@@ -10,7 +10,7 @@ function addTwitterWidgets() {
10
10
 
11
11
  function addFeatureClickHandlers() {
12
12
  const featureEls: HTMLElement[] = Array.from(
13
- document.getElementById('features')!.querySelectorAll('.feature.has-learn-more')
13
+ document.getElementById('features')!.querySelectorAll('.feature.has-learn-more'),
14
14
  )
15
15
  featureEls.forEach((featureEl) => {
16
16
  featureEl.onclick = () => {
@@ -36,13 +36,12 @@ function expandLearnMore(featureEl: HTMLElement) {
36
36
  if (getComputedStyle(rowEl, 'display') === 'grid') {
37
37
  ;[
38
38
  ...(rowEl.querySelectorAll('.learn-more') as any as HTMLElement[]),
39
- ...(rowEl.querySelectorAll('.feature') as any as HTMLElement[])
39
+ ...(rowEl.querySelectorAll('.feature') as any as HTMLElement[]),
40
40
  ].forEach((el) => {
41
41
  el.classList.remove(selectedClass)
42
42
  })
43
43
  }
44
44
  }
45
-
46
45
  ;[featureEl, learnEl].forEach((el) => {
47
46
  el.classList.toggle(selectedClass)
48
47
  })
@@ -57,7 +57,7 @@ function FeatureHead({
57
57
  name,
58
58
  hasLearnMore,
59
59
  isSecondaryFeature,
60
- className = ''
60
+ className = '',
61
61
  }: {
62
62
  className?: string
63
63
  name?: string
@@ -72,7 +72,7 @@ function FeatureHead({
72
72
  'feature',
73
73
  'colorize-on-hover',
74
74
  hasLearnMore && 'has-learn-more',
75
- isSecondaryFeature && 'secondary-feature'
75
+ isSecondaryFeature && 'secondary-feature',
76
76
  ]
77
77
  .filter(Boolean)
78
78
  .join(' ')}
@@ -93,7 +93,7 @@ function FeatureHead({
93
93
  fontSize: '10px',
94
94
  textTransform: 'uppercase',
95
95
  letterSpacing: '1px',
96
- fontWeight: 600
96
+ fontWeight: 600,
97
97
  }}
98
98
  >
99
99
  <span className="decolorize-5">Learn more</span>
@@ -0,0 +1,23 @@
1
+ export { FileRemoved }
2
+ export { FileAdded }
3
+
4
+ import React from 'react'
5
+
6
+ // Styling defined in src/css/code/diff.css
7
+ const classRemoved = [
8
+ //
9
+ 'diff-entire-file',
10
+ 'diff-entire-file-removed',
11
+ ].join(' ')
12
+ const classAdded = [
13
+ //
14
+ 'diff-entire-file',
15
+ 'diff-entire-file-added',
16
+ ].join(' ')
17
+
18
+ function FileRemoved({ children }: { children: React.ReactNode }) {
19
+ return <div className={classRemoved}> {children} </div>
20
+ }
21
+ function FileAdded({ children }: { children: React.ReactNode }) {
22
+ return <div className={classAdded}> {children} </div>
23
+ }
@@ -12,7 +12,7 @@ function HorizontalLine({ primary }: { primary?: true }) {
12
12
  border: 0,
13
13
  borderTop: '1px solid #eee',
14
14
  maxWidth: 500,
15
- width: '80%'
15
+ width: '80%',
16
16
  }}
17
17
  />
18
18
  </div>
@@ -13,7 +13,7 @@ function Link({
13
13
  text,
14
14
  noBreadcrumb,
15
15
  doNotInferSectionTitle,
16
- children
16
+ children,
17
17
  }: {
18
18
  href: string
19
19
  text?: string | JSX.Element
@@ -23,7 +23,7 @@ function Link({
23
23
  }) {
24
24
  assertUsage(
25
25
  href.startsWith('/') || href.startsWith('#'),
26
- `<Link href /> prop \`href==='${href}'\` but should start with '/' or '#'`
26
+ `<Link href /> prop \`href==='${href}'\` but should start with '/' or '#'`,
27
27
  )
28
28
  assertUsage(!text || !children, 'Cannot use both `text` or `children`')
29
29
 
@@ -41,7 +41,7 @@ function getLinkText({
41
41
  href,
42
42
  noBreadcrumb,
43
43
  pageContext,
44
- doNotInferSectionTitle
44
+ doNotInferSectionTitle,
45
45
  }: {
46
46
  href: string
47
47
  noBreadcrumb: true | undefined
@@ -81,7 +81,7 @@ function getLinkText({
81
81
  ...(heading.headingsBreadcrumb ?? [])
82
82
  .slice()
83
83
  .reverse()
84
- .map(({ title }) => title)
84
+ .map(({ title }) => title),
85
85
  )
86
86
  }
87
87
 
@@ -103,7 +103,7 @@ function getLinkText({
103
103
  if (!sectionTitle) {
104
104
  assertUsage(
105
105
  !doNotInferSectionTitle,
106
- `Page section title not found for <Link href="\`${href}\`" doNotInferSectionTitle={true} />.`
106
+ `Page section title not found for <Link href="\`${href}\`" doNotInferSectionTitle={true} />.`,
107
107
  )
108
108
  sectionTitle = determineSectionTitle(href)
109
109
  }
@@ -38,7 +38,7 @@ function NoteWithCustomIcon({ icon, children }: { children: React.ReactNode; ico
38
38
  function NoteGeneric({
39
39
  type,
40
40
  icon,
41
- children
41
+ children,
42
42
  }: {
43
43
  icon?: null | CustomIcon
44
44
  type?: 'danger' | 'warning' | 'construction'
@@ -26,7 +26,7 @@ function ReadingRecommendation({ tour, links }: { tour?: true; links?: string[]
26
26
  <ul
27
27
  style={{
28
28
  marginLeft: 18,
29
- marginTop: 11
29
+ marginTop: 11,
30
30
  }}
31
31
  >
32
32
  {tour && (
@@ -78,7 +78,7 @@ function CompanyDiv({ sponsor }: { sponsor: Sponsor }) {
78
78
  <a
79
79
  href={sponsor.website}
80
80
  style={{
81
- margin: `${marginHeight}px ${marginWidth}px`
81
+ margin: `${marginHeight}px ${marginWidth}px`,
82
82
  }}
83
83
  >
84
84
  <Label sponsor={sponsor} />
@@ -93,7 +93,7 @@ function CompanyDiv({ sponsor }: { sponsor: Sponsor }) {
93
93
  display: 'flex',
94
94
  alignItems: 'center',
95
95
  flexDirection: 'column',
96
- justifyContent: 'center'
96
+ justifyContent: 'center',
97
97
  }}
98
98
  >
99
99
  <SupporterImg {...{ imgSrc, imgAlt, width, height, padding }} />
@@ -115,7 +115,7 @@ function Label({ sponsor }: { sponsor: Sponsor }) {
115
115
  justifyContent: 'center',
116
116
  alignItems: 'center',
117
117
  position: 'relative',
118
- paddingBottom: 1
118
+ paddingBottom: 1,
119
119
  }}
120
120
  >
121
121
  {labelBg}
@@ -154,7 +154,7 @@ function getLabelText(sponsor: SponsorCompany) {
154
154
  top: 0,
155
155
  fontWeight: 500,
156
156
  color: '#666',
157
- letterSpacing
157
+ letterSpacing,
158
158
  }}
159
159
  >
160
160
  {capitalizeFirstLetter(sponsor.plan)}
@@ -11,7 +11,7 @@ function SupporterSection({ children }: { children?: Children }) {
11
11
  <div
12
12
  style={{
13
13
  textAlign: 'center',
14
- marginTop: 19
14
+ marginTop: 19,
15
15
  }}
16
16
  >
17
17
  {children}
@@ -26,7 +26,7 @@ function SectionDescription({ children }: { children?: Children }) {
26
26
  maxWidth: 400,
27
27
  display: 'inline-block',
28
28
  marginTop: 12,
29
- marginBottom: 12
29
+ marginBottom: 12,
30
30
  }}
31
31
  >
32
32
  {children}
@@ -43,7 +43,7 @@ function Individuals({ children }: { children?: Children }) {
43
43
  justifyContent: 'center',
44
44
  alignItems: 'end',
45
45
  margin: '17px auto',
46
- maxWidth: 700
46
+ maxWidth: 700,
47
47
  }}
48
48
  >
49
49
  {children}
@@ -62,7 +62,7 @@ function Supporter({ username, avatarUrl }: { username: string; avatarUrl?: stri
62
62
  <a
63
63
  href={website}
64
64
  style={{
65
- margin: `${marginHeight}px ${marginWidth}px`
65
+ margin: `${marginHeight}px ${marginWidth}px`,
66
66
  }}
67
67
  >
68
68
  <div
@@ -74,7 +74,7 @@ function Supporter({ username, avatarUrl }: { username: string; avatarUrl?: stri
74
74
  display: 'flex',
75
75
  alignItems: 'center',
76
76
  flexDirection: 'column',
77
- justifyContent: 'center'
77
+ justifyContent: 'center',
78
78
  }}
79
79
  >
80
80
  <SupporterImg {...{ username, avatarUrl, width, height }} />
@@ -90,7 +90,7 @@ function SupporterImg({
90
90
  imgAlt,
91
91
  width,
92
92
  height,
93
- padding = 0
93
+ padding = 0,
94
94
  }: {
95
95
  imgSrc?: string
96
96
  avatarUrl?: string
@@ -126,7 +126,7 @@ function CallToAction({ iconUrl, text, href }: { iconUrl: string; text: string;
126
126
  display: 'inline-flex',
127
127
  alignItems: 'center',
128
128
  padding: '5px 10px',
129
- marginBottom: 10
129
+ marginBottom: 10,
130
130
  }}
131
131
  href={href}
132
132
  >
@@ -12,4 +12,4 @@ export * from './Contributors'
12
12
  export * from './Consulting'
13
13
  export * from './CodeBlockTransformer'
14
14
  export * from './Comment'
15
- export * from './RemovedFile'
15
+ export * from './FileRemoved'
@@ -10,7 +10,7 @@ function getConfig(): Config {
10
10
  assertUsage(files.length >= 1, 'No DocPress config file found `docpress.config.(js|ts|tsx|...)`')
11
11
  assertUsage(
12
12
  files.length === 1,
13
- `Found multiple \`docpress.config.js\` files: ${files.map((f) => `\`${f}\``).join(', ')}. Define only one instead.`
13
+ `Found multiple \`docpress.config.js\` files: ${files.map((f) => `\`${f}\``).join(', ')}. Define only one instead.`,
14
14
  )
15
15
  const config = (Object.values(globResult)[0] as any).default as Config
16
16
  assert(config)
@@ -29,7 +29,7 @@ function resolvePageContext(pageContext: PageContextOriginal) {
29
29
  const { activeHeading, activeNavigationHeading } = findHeading(
30
30
  headingsProcessed,
31
31
  headingsDetachedProcessed,
32
- pageContext
32
+ pageContext,
33
33
  )
34
34
  let headingsOfDetachedPage: null | (Heading | HeadingDetached)[] = null
35
35
  let headingsAll = [...headingsProcessed, ...headingsDetachedProcessed]
@@ -43,7 +43,7 @@ function resolvePageContext(pageContext: PageContextOriginal) {
43
43
  headingsDetachedProcessed,
44
44
  activeNavigationHeading,
45
45
  pageContext,
46
- config
46
+ config,
47
47
  )
48
48
  const { faviconUrl, algolia, tagline, twitterHandle, bannerUrl, websiteUrl } = config
49
49
  const pageContextResolved = {}
@@ -56,7 +56,7 @@ function resolvePageContext(pageContext: PageContextOriginal) {
56
56
  bannerUrl,
57
57
  websiteUrl,
58
58
  tagline,
59
- algolia
59
+ algolia,
60
60
  },
61
61
  activeHeading,
62
62
  headingsAll,
@@ -65,7 +65,7 @@ function resolvePageContext(pageContext: PageContextOriginal) {
65
65
  headingsOfDetachedPage,
66
66
  isLandingPage,
67
67
  pageTitle,
68
- config
68
+ config,
69
69
  })
70
70
  return pageContextResolved
71
71
  }
@@ -74,7 +74,7 @@ function getMetaData(
74
74
  headingsDetachedProcessed: HeadingDetached[],
75
75
  activeNavigationHeading: Heading | null,
76
76
  pageContext: { urlOriginal: string; exports: Exports },
77
- config: Config
77
+ config: Config,
78
78
  ) {
79
79
  const url = pageContext.urlOriginal
80
80
 
@@ -103,7 +103,7 @@ function getMetaData(
103
103
  function findHeading(
104
104
  headingsProcessed: Heading[],
105
105
  headingsDetachedProcessed: HeadingDetached[],
106
- pageContext: { urlOriginal: string; exports: Exports }
106
+ pageContext: { urlOriginal: string; exports: Exports },
107
107
  ): { activeHeading: Heading | HeadingDetached; activeNavigationHeading: Heading | null } {
108
108
  let activeNavigationHeading: Heading | null = null
109
109
  let activeHeading: Heading | HeadingDetached | null = null
@@ -127,8 +127,8 @@ function findHeading(
127
127
  ...headingsProcessed
128
128
  .map((h) => ` ${h.url}`)
129
129
  .filter(Boolean)
130
- .sort()
131
- ].join('\n')
130
+ .sort(),
131
+ ].join('\n'),
132
132
  )
133
133
  }
134
134
  return { activeHeading, activeNavigationHeading }
@@ -137,7 +137,7 @@ function findHeading(
137
137
  function getHeadingsAll<T extends Heading | HeadingDetached>(
138
138
  headingsProcessed: T[],
139
139
  pageContext: { exports: Exports; urlOriginal: string },
140
- activeHeading: T
140
+ activeHeading: T,
141
141
  ): T[] {
142
142
  const headingsAll = headingsProcessed.slice()
143
143
 
@@ -154,7 +154,7 @@ function getHeadingsAll<T extends Heading | HeadingDetached>(
154
154
 
155
155
  function getHeadingsOfTheCurrentPage(
156
156
  pageContext: { exports: Exports; urlOriginal: string },
157
- currentHeading: Heading | HeadingDetached
157
+ currentHeading: Heading | HeadingDetached,
158
158
  ) {
159
159
  const headingsOfCurrentPage: Heading[] = []
160
160
 
@@ -169,7 +169,7 @@ function getHeadingsOfTheCurrentPage(
169
169
  title,
170
170
  headingsBreadcrumb: [currentHeading, ...(currentHeading.headingsBreadcrumb ?? [])],
171
171
  titleInNav: title,
172
- level: 3
172
+ level: 3,
173
173
  }
174
174
  headingsOfCurrentPage.push(heading)
175
175
  }
package/css/code/diff.css CHANGED
@@ -1,39 +1,44 @@
1
1
  /* Attributes generted by https://shiki.style/packages/transformers#transformernotationdiff */
2
2
 
3
3
  pre.has-diff .diff.remove,
4
- /* For <RemovedFile> */
5
- .diff-removed-file code {
4
+ /* For <FileRemoved> */
5
+ .diff-entire-file-removed code {
6
6
  background-color: #fbdcda !important;
7
7
  }
8
8
 
9
- pre.has-diff .diff.add {
9
+ pre.has-diff .diff.add,
10
+ /* For <FileAdded> */
11
+ .diff-entire-file-added code {
10
12
  background-color: #d7ecdf !important;
11
13
  }
12
14
 
13
15
  pre.has-diff [data-line].diff,
14
- .diff-removed-file [data-line] {
16
+ .diff-entire-file [data-line] {
15
17
  position: relative;
16
18
  }
19
+
17
20
  pre.has-diff .diff::before,
18
- /* For <RemovedFile> */
19
- .diff-removed-file [data-line]::before {
21
+ /* For <FileRemoved> / <FileAdded> */
22
+ .diff-entire-file [data-line]::before {
20
23
  position: absolute;
21
24
  font-weight: 500;
22
25
  }
23
26
 
24
- pre.has-diff .diff.add::before {
27
+ pre.has-diff .diff.add::before,
28
+ /* For <FileAdded> */
29
+ .diff-entire-file-added [data-line]::before {
25
30
  content: '+';
26
- color: #0c0;
31
+ color: #89d189;
27
32
  font-size: 1.2em;
28
33
  top: -1px;
29
34
  left: 3px;
30
35
  }
31
36
 
32
37
  pre.has-diff .diff.remove::before,
33
- /* For <RemovedFile> */
34
- .diff-removed-file [data-line]::before {
38
+ /* For <FileRemoved> */
39
+ .diff-entire-file-removed [data-line]::before {
35
40
  content: '-';
36
- color: #f77;
41
+ color: #f18383;
37
42
  font-size: 1.4em;
38
43
  top: -5px;
39
44
  left: 2px;
@@ -20,8 +20,8 @@ const maintainers: Maintainer[] = [
20
20
  </>,
21
21
  <>
22
22
  <code>vike-vue</code> (Contributor)
23
- </>
24
- ]
23
+ </>,
24
+ ],
25
25
  },
26
26
  {
27
27
  username: 'magne4000',
@@ -31,8 +31,8 @@ const maintainers: Maintainer[] = [
31
31
  <>
32
32
  <code>vike-solid</code> (Lead Maintainer, Creator)
33
33
  </>,
34
- <>Vike Core (Contributor)</>
35
- ]
34
+ <>Vike Core (Contributor)</>,
35
+ ],
36
36
  },
37
37
  {
38
38
  username: 'nitedani',
@@ -44,8 +44,8 @@ const maintainers: Maintainer[] = [
44
44
  <>
45
45
  <code>vike-angular</code> (Lead Maintainer, Creator)
46
46
  </>,
47
- <>Vike Core (Contributor)</>
48
- ]
47
+ <>Vike Core (Contributor)</>,
48
+ ],
49
49
  },
50
50
  {
51
51
  username: 'phonzammi',
@@ -59,8 +59,8 @@ const maintainers: Maintainer[] = [
59
59
  </>,
60
60
  <>
61
61
  <code>vike-react</code> (Contributor)
62
- </>
63
- ]
62
+ </>,
63
+ ],
64
64
  },
65
65
  {
66
66
  username: '4350pChris',
@@ -72,8 +72,8 @@ const maintainers: Maintainer[] = [
72
72
  <>
73
73
  <code>vike-vue</code> (Contributor)
74
74
  </>,
75
- <>Vike Core (Contributor)</>
76
- ]
75
+ <>Vike Core (Contributor)</>,
76
+ ],
77
77
  },
78
78
  {
79
79
  username: 'AurelienLourot',
@@ -85,8 +85,8 @@ const maintainers: Maintainer[] = [
85
85
  <>
86
86
  <code>vike-react</code> (Contributor)
87
87
  </>,
88
- <>Vike Core (Contributor)</>
89
- ]
88
+ <>Vike Core (Contributor)</>,
89
+ ],
90
90
  // consultingUrl: 'https://lourot.dev/'
91
- }
91
+ },
92
92
  ]
@@ -79,7 +79,7 @@ const individuals: Sponsor[] = [
79
79
  { username: 'stackblitz' },
80
80
  { username: 'codthing' },
81
81
  { username: 'Junaidhkn' },
82
- { username: 'zgfdev' }
82
+ { username: 'zgfdev' },
83
83
  ]
84
84
 
85
85
  const companies: Sponsor[] = [
@@ -88,28 +88,28 @@ const companies: Sponsor[] = [
88
88
  companyLogo: contraLogo,
89
89
  plan: 'silver',
90
90
  website: 'https://contra.com',
91
- github: 'contra'
91
+ github: 'contra',
92
92
  },
93
93
  {
94
94
  companyName: 'Inlang',
95
95
  companyLogo: inlangLogo,
96
96
  plan: 'silver',
97
97
  website: 'https://inlang.com/',
98
- github: 'opral'
98
+ github: 'opral',
99
99
  },
100
100
  {
101
101
  companyName: 'Alignable',
102
102
  companyLogo: alignableLogo,
103
103
  plan: 'silver',
104
104
  website: 'https://www.alignable.com/',
105
- github: 'AlignableUser'
105
+ github: 'AlignableUser',
106
106
  },
107
107
  {
108
108
  companyName: 'Sourcegraph',
109
109
  companyLogo: sourcegraphLogo,
110
110
  plan: 'bronze',
111
111
  website: 'https://sourcegraph.com',
112
- github: 'sourcegraph'
112
+ github: 'sourcegraph',
113
113
  },
114
114
  {
115
115
  companyName: 'Optimizers',
@@ -117,31 +117,31 @@ const companies: Sponsor[] = [
117
117
  plan: 'bronze',
118
118
  website: 'https://www.optimizers.nl/',
119
119
  divSize: {
120
- padding: 20
120
+ padding: 20,
121
121
  },
122
- github: 'OptimizersGroup'
122
+ github: 'OptimizersGroup',
123
123
  },
124
124
  {
125
125
  companyName: 'BurdaFoward',
126
126
  companyLogo: burdaforwardLogo,
127
127
  plan: 'bronze',
128
128
  website: 'https://www.burda-forward.de',
129
- github: 'BurdaForward'
129
+ github: 'BurdaForward',
130
130
  },
131
131
  {
132
132
  companyName: 'Ecosia',
133
133
  companyLogo: ecosiaLogo,
134
134
  plan: 'bronze',
135
135
  website: 'https://ecosia.org',
136
- github: 'ecosia'
136
+ github: 'ecosia',
137
137
  },
138
138
  {
139
139
  companyName: 'Bluefin',
140
140
  companyLogo: bluefinLogo,
141
141
  plan: 'indie',
142
142
  website: 'https://www.bluefin.one',
143
- github: 'bluefin-clinical'
144
- }
143
+ github: 'bluefin-clinical',
144
+ },
145
145
  ]
146
146
 
147
147
  const sponsorsList: Sponsor[] = [...companies, ...individuals]
@@ -21,7 +21,7 @@ var config = {
21
21
  noExtraDir: true
22
22
  },
23
23
  includeAssetsImportedByServer: true
24
- })
24
+ }),
25
25
  ],
26
26
  optimizeDeps: { include: ['@mdx-js/react', 'react-dom'] },
27
27
  // @ts-ignore
@@ -22,7 +22,7 @@ function markdownHeadingsVitePlugin() {
22
22
  }
23
23
  const codeNew = transform(code)
24
24
  return codeNew
25
- }
25
+ },
26
26
  }
27
27
  }
28
28
 
@@ -72,7 +72,7 @@ function parseMarkdownHeading(line: string): MarkdownHeading & { headingHtml: st
72
72
 
73
73
  const headingMdx = {
74
74
  title: titleMdx,
75
- anchor: titleMdx
75
+ anchor: titleMdx,
76
76
  }
77
77
  {
78
78
  // Support custom anchor like: `## title{#custom-anchor}`
@@ -9,7 +9,7 @@ import './Navigation.css'
9
9
  import { NavigationFullscreenClose } from './navigation-fullscreen/NavigationFullscreenButton'
10
10
 
11
11
  function Navigation({
12
- pageContext
12
+ pageContext,
13
13
  }: {
14
14
  pageContext: {
15
15
  headingsProcessed: Heading[]
@@ -76,7 +76,7 @@ function NavigationContent(props: {
76
76
  }
77
77
 
78
78
  function Heading({
79
- heading
79
+ heading,
80
80
  }: {
81
81
  heading: {
82
82
  level: number
@@ -100,8 +100,8 @@ function Heading({
100
100
  assertWarning(
101
101
  heading.url,
102
102
  `${jsxToTextContent(
103
- heading.titleInNav
104
- )} is missing a URL hash. Use \`<h2 id="url-hash">${sectionTitle}</h2>\` instead of \`## ${sectionTitle}\`.`
103
+ heading.titleInNav,
104
+ )} is missing a URL hash. Use \`<h2 id="url-hash">${sectionTitle}</h2>\` instead of \`## ${sectionTitle}\`.`,
105
105
  )
106
106
  }
107
107
  return (
@@ -113,7 +113,7 @@ function Heading({
113
113
  heading.computed.isActiveFirst && ' is-active-first',
114
114
  heading.computed.isActiveLast && ' is-active-last',
115
115
  heading.computed.isFirstOfItsKind && 'nav-item-first-of-its-kind',
116
- heading.computed.isLastOfItsKind && 'nav-item-last-of-its-kind'
116
+ heading.computed.isLastOfItsKind && 'nav-item-last-of-its-kind',
117
117
  ]
118
118
  .filter(Boolean)
119
119
  .join(' ')}
@@ -173,8 +173,8 @@ function getHeadingsWithComputedProps(headings: (Heading | HeadingDetached)[], c
173
173
  isActiveFirst,
174
174
  isActiveLast,
175
175
  isFirstOfItsKind,
176
- isLastOfItsKind
177
- }
176
+ isLastOfItsKind,
177
+ },
178
178
  }
179
179
  })
180
180
  }
@@ -191,7 +191,7 @@ function DetachedPageNote() {
191
191
  marginTop: 25,
192
192
  marginBottom: -5,
193
193
  borderRadius: 5,
194
- padding: 10
194
+ padding: 10,
195
195
  }}
196
196
  >
197
197
  <Emoji name="info" />{' '}
@@ -200,7 +200,7 @@ function DetachedPageNote() {
200
200
  </b>
201
201
  <span
202
202
  style={{
203
- opacity: 0.8
203
+ opacity: 0.8,
204
204
  }}
205
205
  >
206
206
  {' '}
@@ -18,7 +18,7 @@ function NavigationHeader() {
18
18
  display: 'flex',
19
19
  flexDirection: 'column',
20
20
  alignItems: 'center',
21
- marginBottom: -5
21
+ marginBottom: -5,
22
22
  }}
23
23
  >
24
24
  <a
@@ -31,7 +31,7 @@ function NavigationHeader() {
31
31
  textDecoration: 'none',
32
32
  paddingTop: 12,
33
33
  paddingBottom: 7,
34
- ...pageContext.config.navHeaderWrapperStyle
34
+ ...pageContext.config.navHeaderWrapperStyle,
35
35
  }}
36
36
  href="/"
37
37
  >
@@ -59,7 +59,7 @@ function Links() {
59
59
  display: 'flex',
60
60
  alignItems: 'center',
61
61
  paddingTop: 0,
62
- justifyContent: 'left'
62
+ justifyContent: 'left',
63
63
  }}
64
64
  >
65
65
  <LinkIcon className="decolorize-4" icon={iconGithub} href={projectInfo.githubRepository} />
@@ -85,7 +85,7 @@ function ChangelogButton() {
85
85
  padding: '1px 7px',
86
86
  marginLeft: 2,
87
87
  fontSize: '0.97em',
88
- color: 'inherit'
88
+ color: 'inherit',
89
89
  }}
90
90
  >
91
91
  <span id="version-number" className="decolorize-7">
@@ -15,7 +15,7 @@ function NavigationFullscreenButton() {
15
15
  cursor: 'pointer',
16
16
  height: '100vh',
17
17
  width: 20,
18
- overflow: 'hidden'
18
+ overflow: 'hidden',
19
19
  }}
20
20
  >
21
21
  <div></div>
@@ -16,7 +16,7 @@ function initNavigationFullscreen() {
16
16
  if (document.body.classList.contains('DocSearch--active')) return
17
17
  if (ev.key === 'Escape') toggleNavExpend()
18
18
  },
19
- false
19
+ false,
20
20
  )
21
21
  }
22
22
 
@@ -42,8 +42,8 @@ function updateColumnWidth() {
42
42
  const column = [
43
43
  {
44
44
  element: navH1Group,
45
- elementHeight: navH1Group.children.length
46
- }
45
+ elementHeight: navH1Group.children.length,
46
+ },
47
47
  ]
48
48
  return column
49
49
  })
@@ -83,7 +83,7 @@ function mergeColumns<T>(columns: { element: T; elementHeight: number }[][], max
83
83
 
84
84
  let mergeCandidate = {
85
85
  i: -1,
86
- mergeHeight: Infinity
86
+ mergeHeight: Infinity,
87
87
  }
88
88
  for (let i = 0; i <= columns.length - 2; i++) {
89
89
  const column1 = columns[i + 0]
@@ -94,7 +94,7 @@ function mergeColumns<T>(columns: { element: T; elementHeight: number }[][], max
94
94
  if (mergeCandidate.mergeHeight > mergeHeight) {
95
95
  mergeCandidate = {
96
96
  i,
97
- mergeHeight
97
+ mergeHeight,
98
98
  }
99
99
  }
100
100
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@brillout/docpress",
3
- "version": "0.6.6",
3
+ "version": "0.6.7",
4
4
  "scripts": {
5
5
  "// Build vite.config.ts and +config.ts": "",
6
6
  "build": "rm -rf dist/ && tsc --project tsconfig.config.json",
package/parseEmojis.ts CHANGED
@@ -10,7 +10,7 @@ const emojiList = {
10
10
  // https://emojipedia.org/trophy/
11
11
  ':trophy:': 0x1f3c6,
12
12
  // https://emojipedia.org/construction/
13
- ':construction:': 0x1f6a7
13
+ ':construction:': 0x1f6a7,
14
14
  /*
15
15
  // https://emojipedia.org/red-heart/
16
16
  ':heart:': 0x2764,
@@ -25,7 +25,7 @@ function parseEmojis(html: string) {
25
25
  const emojiStr = twemoji.convert.fromCodePoint(codepoint as any)
26
26
  let emojiImg: any = twemoji.parse(emojiStr, {
27
27
  folder: 'svg',
28
- ext: '.svg'
28
+ ext: '.svg',
29
29
  })
30
30
  const style = 'height: 1.275em; width: 1.275em; vertical-align: -20%'
31
31
  emojiImg = emojiImg.replace('<img class="emoji" ', `<img style="${style}" `)
package/parseTitle.ts CHANGED
@@ -27,10 +27,10 @@ function getHeadingsWithProcessedTitle(config: {
27
27
  const headingProcessed: Omit<Heading, 'headingsBreadcrumb'> = {
28
28
  ...heading,
29
29
  title: titleProcessed,
30
- titleInNav: titleInNavProcessed
30
+ titleInNav: titleInNavProcessed,
31
31
  }
32
32
  return headingProcessed
33
- }
33
+ },
34
34
  )
35
35
 
36
36
  const headingsProcessed: Heading[] = []
@@ -38,7 +38,7 @@ function getHeadingsWithProcessedTitle(config: {
38
38
  const headingsBreadcrumb = getHeadingsBreadcrumb(heading, headingsProcessed)
39
39
  headingsProcessed.push({
40
40
  ...heading,
41
- headingsBreadcrumb
41
+ headingsBreadcrumb,
42
42
  })
43
43
  })
44
44
 
@@ -46,7 +46,7 @@ function getHeadingsWithProcessedTitle(config: {
46
46
  const { url, title } = headingsDetached
47
47
  assert(
48
48
  headingsProcessed.find((heading) => heading.url === url) === undefined,
49
- `remove ${headingsDetached.url} from headingsDetached`
49
+ `remove ${headingsDetached.url} from headingsDetached`,
50
50
  )
51
51
  const titleProcessed = typeof title === 'string' ? parseTitle(title) : title
52
52
  return {
@@ -54,7 +54,7 @@ function getHeadingsWithProcessedTitle(config: {
54
54
  level: 2 as const,
55
55
  title: titleProcessed,
56
56
  titleInNav: titleProcessed,
57
- headingsBreadcrumb: null
57
+ headingsBreadcrumb: null,
58
58
  }
59
59
  })
60
60
 
@@ -119,8 +119,8 @@ function parseTitle(title: string): JSX.Element {
119
119
  React.Fragment,
120
120
  {},
121
121
  ...parts.map((part, i) =>
122
- React.createElement(part.nodeType === 'code' ? 'code' : React.Fragment, { key: i }, part.content)
123
- )
122
+ React.createElement(part.nodeType === 'code' ? 'code' : React.Fragment, { key: i }, part.content),
123
+ ),
124
124
  )
125
125
 
126
126
  return titleJsx
@@ -134,6 +134,6 @@ function withEmoji(name: EmojiName, title: string | JSX.Element): JSX.Element {
134
134
  { style },
135
135
  Emoji({ name }),
136
136
  ' ',
137
- React.createElement('span', { style: { fontSize: '1rem' } }, title)
137
+ React.createElement('span', { style: { fontSize: '1rem' } }, title),
138
138
  )
139
139
  }
@@ -49,7 +49,7 @@ async function onRenderHtml(pageContextOriginal: PageContextOriginal) {
49
49
 
50
50
  function getOpenGraphTags(
51
51
  url: string,
52
- meta: { title: string; tagline: string; websiteUrl: string; twitterHandle: string; bannerUrl?: string }
52
+ meta: { title: string; tagline: string; websiteUrl: string; twitterHandle: string; bannerUrl?: string },
53
53
  ) {
54
54
  const { title, tagline, websiteUrl, twitterHandle, bannerUrl } = meta
55
55
 
@@ -11,7 +11,7 @@ const Context = React.createContext<PageContextResolved>(undefined as any)
11
11
 
12
12
  function PageContextProvider({
13
13
  pageContext,
14
- children
14
+ children,
15
15
  }: {
16
16
  pageContext: PageContextResolved
17
17
  children: React.ReactNode
@@ -216,8 +216,8 @@ function Emoji({ name, style }: { name: EmojiName; style?: React.CSSProperties }
216
216
  verticalAlign: 'text-top',
217
217
  fontSize: '1em',
218
218
  width,
219
- ...style
220
- }
219
+ ...style,
220
+ },
221
221
  }
222
222
  return React.createElement('img', props)
223
223
  }
@@ -3,7 +3,7 @@ export { objectAssign }
3
3
  // Same as `Object.assign()` but with type inference
4
4
  function objectAssign<Obj extends Object, ObjAddendum>(
5
5
  obj: Obj,
6
- objAddendum: ObjAddendum
6
+ objAddendum: ObjAddendum,
7
7
  ): asserts obj is Obj & ObjAddendum {
8
8
  Object.assign(obj, objAddendum)
9
9
  }
package/vite.config.ts CHANGED
@@ -21,17 +21,17 @@ const config: UserConfig = {
21
21
  react(),
22
22
  vike({
23
23
  prerender: {
24
- noExtraDir: true
24
+ noExtraDir: true,
25
25
  },
26
- includeAssetsImportedByServer: true
27
- })
26
+ includeAssetsImportedByServer: true,
27
+ }),
28
28
  ],
29
29
  optimizeDeps: { include: ['@mdx-js/react', 'react-dom'] },
30
30
  // @ts-ignore
31
31
  ssr: {
32
- noExternal: ['@brillout/docpress']
32
+ noExternal: ['@brillout/docpress'],
33
33
  },
34
- clearScreen: false
34
+ clearScreen: false,
35
35
  }
36
36
 
37
37
  export default config
@@ -1,16 +0,0 @@
1
- export { RemovedFile }
2
-
3
- import React from 'react'
4
-
5
- function RemovedFile({ children }: { children: React.ReactNode }) {
6
- return (
7
- <div
8
- className={
9
- // Styling for .diff-removed-file is defined in src/css/code/diff.css
10
- 'diff-removed-file'
11
- }
12
- >
13
- {children}
14
- </div>
15
- )
16
- }