@brillout/docpress 0.16.12 → 0.16.13
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 +2 -2
- package/EditLink.tsx +3 -3
- package/ExternalLinks.tsx +1 -1
- package/Layout.tsx +15 -14
- package/MenuModal/Collapsible.tsx +1 -1
- package/MenuModal/NavigationWithColumnLayout.tsx +11 -11
- package/MenuModal/toggleMenuModal.ts +4 -4
- package/MenuModal.tsx +12 -8
- package/NavItemComponent.tsx +4 -3
- package/code-blocks/components/ChoiceGroup.css +6 -11
- package/code-blocks/components/ChoiceGroup.tsx +18 -19
- package/code-blocks/components/Pre.tsx +1 -1
- package/code-blocks/hooks/useSelectedChoice.ts +1 -1
- package/code-blocks/remarkChoiceGroup.ts +3 -5
- package/code-blocks/remarkDetype.ts +2 -3
- package/code-blocks/remarkPkgManager.ts +3 -1
- package/code-blocks/shikiTransformerAutoLinks.ts +2 -2
- package/code-blocks/utils/generateChoiceGroupCode.ts +40 -21
- package/components/Algolia/Hit.tsx +3 -3
- package/components/CodeBlockTransformer.tsx +1 -1
- package/components/Comment.tsx +1 -1
- package/components/HorizontalLine.tsx +1 -1
- package/components/ImportMeta.tsx +1 -1
- package/components/Link.tsx +5 -5
- package/components/Note.tsx +1 -1
- package/components/RepoLink.tsx +1 -1
- package/components/index.ts +10 -10
- package/css/index.css +1 -1
- package/determineNavItemsColumnLayout.spec.ts +2 -2
- package/determineNavItemsColumnLayout.ts +6 -6
- package/dist/+config.d.ts +2 -2
- package/dist/NavItemComponent.js +2 -2
- package/dist/code-blocks/rehypeMetaToProps.js +1 -1
- package/dist/code-blocks/remarkChoiceGroup.js +4 -6
- package/dist/code-blocks/remarkDetype.js +3 -3
- package/dist/code-blocks/remarkPkgManager.js +4 -2
- package/dist/code-blocks/utils/generateChoiceGroupCode.d.ts +2 -2
- package/dist/code-blocks/utils/generateChoiceGroupCode.js +35 -18
- package/dist/components/CodeBlockTransformer.js +1 -1
- package/dist/components/Comment.d.ts +1 -3
- package/dist/components/Comment.js +1 -1
- package/dist/components/HorizontalLine.js +1 -1
- package/dist/components/ImportMeta.js +1 -1
- package/dist/components/Link.d.ts +1 -1
- package/dist/components/Link.js +3 -3
- package/dist/components/Note.js +2 -2
- package/dist/components/RepoLink.js +1 -1
- package/dist/components/index.d.ts +10 -10
- package/dist/components/index.js +10 -10
- package/dist/determineNavItemsColumnLayout.d.ts +1 -1
- package/dist/determineNavItemsColumnLayout.js +3 -2
- package/dist/renderer/usePageContext.d.ts +3 -3
- package/dist/renderer/usePageContext.js +1 -1
- package/dist/resolvePageContext.d.ts +2 -2
- package/dist/resolvePageContext.js +5 -5
- package/dist/types/Config.d.ts +1 -1
- package/dist/utils/Emoji/Emoji.js +2 -2
- package/dist/utils/Emoji/index.d.ts +1 -1
- package/dist/utils/Emoji/index.js +1 -1
- package/dist/utils/client.d.ts +3 -3
- package/dist/utils/client.js +3 -3
- package/dist/utils/jsxToTextContent.js +1 -1
- package/dist/utils/server.d.ts +7 -7
- package/dist/utils/server.js +7 -7
- package/docsearch/DocSearchInstall.tsx +3 -3
- package/docsearch/SearchLink.tsx +2 -2
- package/docsearch/toggleDocsearchModal.ts +1 -1
- package/index.ts +10 -10
- package/initKeyBindings.ts +2 -2
- package/installSectionUrlHashs.ts +1 -1
- package/package.json +1 -1
- package/parsePageSections.ts +2 -2
- package/renderer/getHydrationPromise.ts +2 -2
- package/renderer/getPageElement.tsx +3 -3
- package/renderer/initOnNavigation.ts +3 -3
- package/renderer/onCreatePageContext.ts +1 -1
- package/renderer/onRenderClient.tsx +9 -9
- package/renderer/onRenderHtml.tsx +3 -3
- package/renderer/usePageContext.tsx +1 -1
- package/resolvePageContext.ts +10 -10
- package/tsconfig.json +20 -12
- package/types/Config.ts +1 -1
- package/utils/Emoji/Emoji.ts +2 -2
- package/utils/Emoji/index.ts +1 -1
- package/utils/addScript.ts +1 -1
- package/utils/client.ts +3 -3
- package/utils/determineSectionUrlHash.ts +2 -2
- package/utils/jsxToTextContent.ts +1 -1
- package/utils/server.ts +7 -7
package/docsearch/SearchLink.tsx
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export { SearchLink }
|
|
2
2
|
|
|
3
3
|
import React from 'react'
|
|
4
|
-
import { openDocsearchModal } from './toggleDocsearchModal'
|
|
5
|
-
import { iconMagnifyingGlass } from '../icons'
|
|
4
|
+
import { openDocsearchModal } from './toggleDocsearchModal.js'
|
|
5
|
+
import { iconMagnifyingGlass } from '../icons/index.js'
|
|
6
6
|
|
|
7
7
|
type PropsAnchor = React.HTMLProps<HTMLAnchorElement>
|
|
8
8
|
function SearchLink(props: PropsAnchor) {
|
package/index.ts
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
/**********/
|
|
2
2
|
/* PUBLIC */
|
|
3
3
|
/**********/
|
|
4
|
-
export { CodeBlockTransformer, Link, RepoLink, FileAdded, FileRemoved, ImportMeta, Emoji } from './components'
|
|
5
|
-
export { MenuToggle } from './Layout'
|
|
6
|
-
export * from './components/Note'
|
|
7
|
-
export * from './icons/index'
|
|
8
|
-
export { assert } from './utils/assert'
|
|
9
|
-
export { parseMarkdownMini } from './parseMarkdownMini'
|
|
10
|
-
export type { Config } from './types/Config'
|
|
11
|
-
export type { HeadingDefinition, HeadingDetachedDefinition } from './types/Heading'
|
|
4
|
+
export { CodeBlockTransformer, Link, RepoLink, FileAdded, FileRemoved, ImportMeta, Emoji } from './components/index.js'
|
|
5
|
+
export { MenuToggle } from './Layout.js'
|
|
6
|
+
export * from './components/Note.js'
|
|
7
|
+
export * from './icons/index.js'
|
|
8
|
+
export { assert } from './utils/assert.js'
|
|
9
|
+
export { parseMarkdownMini } from './parseMarkdownMini.js'
|
|
10
|
+
export type { Config } from './types/Config.js'
|
|
11
|
+
export type { HeadingDefinition, HeadingDetachedDefinition } from './types/Heading.js'
|
|
12
12
|
// The only place usePageContext() is used at:
|
|
13
13
|
// https://github.com/vikejs/vike/blob/0b1b109f64aafbed23a1c2ac2630e6146a270ec0/packages/vike.dev/components/CommunityNote.tsx#L4
|
|
14
|
-
export { usePageContext } from './renderer/usePageContext'
|
|
14
|
+
export { usePageContext } from './renderer/usePageContext.js'
|
|
15
15
|
|
|
16
16
|
// The following are used internally by DocPress — users (should) never use these exports
|
|
17
17
|
/************/
|
|
@@ -19,4 +19,4 @@ export { usePageContext } from './renderer/usePageContext'
|
|
|
19
19
|
/************/
|
|
20
20
|
// We provide our own `useMDXComponents()` to enable MDX component injection by setting `providerImportSource` to '@brillout/docpress'.
|
|
21
21
|
// https://mdxjs.com/guides/injecting-components/
|
|
22
|
-
export { useMDXComponents } from './code-blocks/hooks/useMDXComponents'
|
|
22
|
+
export { useMDXComponents } from './code-blocks/hooks/useMDXComponents.js'
|
package/initKeyBindings.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { initKeyBindings }
|
|
2
2
|
|
|
3
|
-
import { closeDocsearchModal } from './docsearch/toggleDocsearchModal'
|
|
4
|
-
import { closeMenuModal } from './MenuModal/toggleMenuModal'
|
|
3
|
+
import { closeDocsearchModal } from './docsearch/toggleDocsearchModal.js'
|
|
4
|
+
import { closeMenuModal } from './MenuModal/toggleMenuModal.js'
|
|
5
5
|
|
|
6
6
|
function initKeyBindings() {
|
|
7
7
|
window.addEventListener(
|
package/package.json
CHANGED
package/parsePageSections.ts
CHANGED
|
@@ -68,8 +68,8 @@ function transform(code: string) {
|
|
|
68
68
|
|
|
69
69
|
function parsePageSection(line: string): PageSection & { headingHtml: string } {
|
|
70
70
|
const [lineBegin, ...lineWords] = line.split(' ')
|
|
71
|
-
assert(lineBegin
|
|
72
|
-
const pageSectionLevel = lineBegin
|
|
71
|
+
assert(lineBegin!.split('#').join('') === '', { line, lineWords })
|
|
72
|
+
const pageSectionLevel = lineBegin!.length
|
|
73
73
|
|
|
74
74
|
const titleMdx = lineWords.join(' ')
|
|
75
75
|
assert(!titleMdx.startsWith(' '), { line, lineWords })
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export { getHydrationPromise }
|
|
2
2
|
export { setHydrationIsFinished }
|
|
3
3
|
|
|
4
|
-
import { getGlobalObject } from '../utils/client'
|
|
5
|
-
import { genPromise } from '../utils/genPromise'
|
|
4
|
+
import { getGlobalObject } from '../utils/client.js'
|
|
5
|
+
import { genPromise } from '../utils/genPromise.js'
|
|
6
6
|
|
|
7
7
|
const globalObject = getGlobalObject<{
|
|
8
8
|
hydrationPromise: Promise<void>
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
export { getPageElement }
|
|
2
2
|
|
|
3
3
|
import type { PageContext } from 'vike/types'
|
|
4
|
-
import { PageContextProvider } from './usePageContext'
|
|
4
|
+
import { PageContextProvider } from './usePageContext.js'
|
|
5
5
|
import React from 'react'
|
|
6
|
-
import { DocSearchInstall } from '../docsearch/DocSearchInstall'
|
|
7
|
-
import { Layout } from '../Layout'
|
|
6
|
+
import { DocSearchInstall } from '../docsearch/DocSearchInstall.js'
|
|
7
|
+
import { Layout } from '../Layout.js'
|
|
8
8
|
|
|
9
9
|
function getPageElement(pageContext: PageContext) {
|
|
10
10
|
const { Page } = pageContext
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export { initOnNavigation }
|
|
2
2
|
|
|
3
|
-
import { isBrowser } from '../utils/isBrowser'
|
|
4
|
-
import { closeMenuModal } from '../MenuModal/toggleMenuModal'
|
|
5
|
-
import { unexpandNav } from '../Layout'
|
|
3
|
+
import { isBrowser } from '../utils/isBrowser.js'
|
|
4
|
+
import { closeMenuModal } from '../MenuModal/toggleMenuModal.js'
|
|
5
|
+
import { unexpandNav } from '../Layout.js'
|
|
6
6
|
|
|
7
7
|
function onNavigation() {
|
|
8
8
|
closeMenuModal()
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { onCreatePageContext }
|
|
2
2
|
|
|
3
3
|
import type { PageContextServer } from 'vike/types'
|
|
4
|
-
import { resolvePageContext } from '../resolvePageContext'
|
|
4
|
+
import { resolvePageContext } from '../resolvePageContext.js'
|
|
5
5
|
|
|
6
6
|
function onCreatePageContext(pageContext: PageContextServer) {
|
|
7
7
|
pageContext.resolved = resolvePageContext(pageContext)
|
|
@@ -3,16 +3,16 @@ export { onRenderClient }
|
|
|
3
3
|
import React, { useEffect } from 'react'
|
|
4
4
|
import type { PageContextClient } from 'vike/types'
|
|
5
5
|
import ReactDOM from 'react-dom/client'
|
|
6
|
-
import { getPageElement } from './getPageElement'
|
|
7
|
-
import { closeMenuModal } from '../MenuModal/toggleMenuModal'
|
|
6
|
+
import { getPageElement } from './getPageElement.js'
|
|
7
|
+
import { closeMenuModal } from '../MenuModal/toggleMenuModal.js'
|
|
8
8
|
import '../css/index.css'
|
|
9
|
-
import { autoScrollNav } from '../autoScrollNav'
|
|
10
|
-
import { installSectionUrlHashs } from '../installSectionUrlHashs'
|
|
11
|
-
import { getGlobalObject } from '../utils/client'
|
|
12
|
-
import { initKeyBindings } from '../initKeyBindings'
|
|
13
|
-
import { initOnNavigation } from './initOnNavigation'
|
|
14
|
-
import { setHydrationIsFinished } from './getHydrationPromise'
|
|
15
|
-
import { addScript } from '../utils/addScript'
|
|
9
|
+
import { autoScrollNav } from '../autoScrollNav.js'
|
|
10
|
+
import { installSectionUrlHashs } from '../installSectionUrlHashs.js'
|
|
11
|
+
import { getGlobalObject } from '../utils/client.js'
|
|
12
|
+
import { initKeyBindings } from '../initKeyBindings.js'
|
|
13
|
+
import { initOnNavigation } from './initOnNavigation.js'
|
|
14
|
+
import { setHydrationIsFinished } from './getHydrationPromise.js'
|
|
15
|
+
import { addScript } from '../utils/addScript.js'
|
|
16
16
|
|
|
17
17
|
const globalObject = getGlobalObject<{
|
|
18
18
|
root?: ReactDOM.Root
|
|
@@ -2,10 +2,10 @@ export { onRenderHtml }
|
|
|
2
2
|
|
|
3
3
|
import ReactDOMServer from 'react-dom/server'
|
|
4
4
|
import { escapeInject, dangerouslySkipEscape } from 'vike/server'
|
|
5
|
-
import { assert, assertUsage } from '../utils/server'
|
|
6
|
-
import { getPageElement } from './getPageElement'
|
|
5
|
+
import { assert, assertUsage } from '../utils/server.js'
|
|
6
|
+
import { getPageElement } from './getPageElement.js'
|
|
7
7
|
import type { PageContextServer } from 'vike/types'
|
|
8
|
-
import type { Config } from '../types/Config'
|
|
8
|
+
import type { Config } from '../types/Config.js'
|
|
9
9
|
|
|
10
10
|
async function onRenderHtml(pageContext: PageContextServer): Promise<any> {
|
|
11
11
|
const page = getPageElement(pageContext)
|
|
@@ -4,7 +4,7 @@ export { usePageContextLegacy }
|
|
|
4
4
|
|
|
5
5
|
import React, { useContext } from 'react'
|
|
6
6
|
import type { PageContext } from 'vike/types'
|
|
7
|
-
import { getGlobalObject } from '../utils/getGlobalObject'
|
|
7
|
+
import { getGlobalObject } from '../utils/getGlobalObject.js'
|
|
8
8
|
|
|
9
9
|
const globalObject = getGlobalObject('usePageContext.ts', {
|
|
10
10
|
Ctx: React.createContext<PageContext>(undefined as any),
|
package/resolvePageContext.ts
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
export { resolvePageContext }
|
|
2
2
|
export type Resolved = ReturnType<typeof resolvePageContext>
|
|
3
3
|
|
|
4
|
-
import type { Config } from './types/Config'
|
|
5
|
-
import type { NavItem } from './NavItemComponent'
|
|
6
|
-
import type { LinkData } from './components'
|
|
4
|
+
import type { Config } from './types/Config.js'
|
|
5
|
+
import type { NavItem } from './NavItemComponent.js'
|
|
6
|
+
import type { LinkData } from './components/index.js'
|
|
7
7
|
import type { PageContextServer } from 'vike/types'
|
|
8
|
-
import type { PageSection } from './parsePageSections'
|
|
8
|
+
import type { PageSection } from './parsePageSections.js'
|
|
9
9
|
import type {
|
|
10
10
|
HeadingDefinition,
|
|
11
11
|
HeadingDetachedDefinition,
|
|
12
12
|
HeadingResolved,
|
|
13
13
|
HeadingDetachedResolved,
|
|
14
14
|
StringArray,
|
|
15
|
-
} from './types/Heading'
|
|
16
|
-
import { assert, assertUsage } from './utils/assert'
|
|
17
|
-
import { jsxToTextContent } from './utils/jsxToTextContent'
|
|
15
|
+
} from './types/Heading.js'
|
|
16
|
+
import { assert, assertUsage } from './utils/assert.js'
|
|
17
|
+
import { jsxToTextContent } from './utils/jsxToTextContent.js'
|
|
18
18
|
import pc from '@brillout/picocolors'
|
|
19
|
-
import { parseMarkdownMini } from './parseMarkdownMini'
|
|
20
|
-
import { determineNavItemsColumnLayout } from './determineNavItemsColumnLayout'
|
|
19
|
+
import { parseMarkdownMini } from './parseMarkdownMini.js'
|
|
20
|
+
import { determineNavItemsColumnLayout } from './determineNavItemsColumnLayout.js'
|
|
21
21
|
|
|
22
22
|
type PageSectionResolved = {
|
|
23
23
|
url: string | null
|
|
@@ -152,8 +152,8 @@ function getActiveHeading(
|
|
|
152
152
|
const URLs =
|
|
153
153
|
'\n' +
|
|
154
154
|
[...headingsResolved, ...headingsDetachedResolved]
|
|
155
|
-
.filter(Boolean)
|
|
156
155
|
.map((h) => h.url)
|
|
156
|
+
.filter(Boolean)
|
|
157
157
|
.sort()
|
|
158
158
|
.map((url) => ` ${url}`)
|
|
159
159
|
.join('\n')
|
package/tsconfig.json
CHANGED
|
@@ -1,17 +1,25 @@
|
|
|
1
1
|
{
|
|
2
2
|
"compilerOptions": {
|
|
3
|
-
|
|
4
|
-
"jsx": "react",
|
|
5
|
-
"module": "ES2022",
|
|
6
|
-
"target": "ES2022",
|
|
7
|
-
"moduleResolution": "Bundler",
|
|
8
|
-
"lib": ["DOM", "DOM.Iterable", "ESNext"],
|
|
9
|
-
"types": ["vite/client"],
|
|
10
|
-
"esModuleInterop": true,
|
|
3
|
+
// Misc
|
|
11
4
|
"skipLibCheck": true,
|
|
12
|
-
"
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
"
|
|
5
|
+
"noErrorTruncation": true,
|
|
6
|
+
// Strictness
|
|
7
|
+
"strict": true,
|
|
8
|
+
"noUncheckedIndexedAccess": true,
|
|
9
|
+
"noUnusedLocals": true,
|
|
10
|
+
"noUnusedParameters": true,
|
|
11
|
+
// Resolution
|
|
12
|
+
"esModuleInterop": true,
|
|
13
|
+
"moduleResolution": "Node16",
|
|
14
|
+
"jsx": "react",
|
|
15
|
+
// Libs
|
|
16
|
+
"lib": ["DOM", "DOM.Iterable", "ES2022"],
|
|
17
|
+
"types": ["node", "vite/client"],
|
|
18
|
+
// Output
|
|
19
|
+
"target": "ES2020",
|
|
20
|
+
"module": "Node16",
|
|
21
|
+
"outDir": "./dist/",
|
|
22
|
+
"rootDir": "./",
|
|
23
|
+
"declaration": true
|
|
16
24
|
}
|
|
17
25
|
}
|
package/types/Config.ts
CHANGED
package/utils/Emoji/Emoji.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
// Let's eventually remove this. Telefunc is still using this as of 2024-12.
|
|
2
2
|
|
|
3
3
|
import React from 'react'
|
|
4
|
-
import { assert } from '../assert'
|
|
4
|
+
import { assert } from '../assert.js'
|
|
5
5
|
|
|
6
|
-
import { iconMechanicalArm, iconShield, iconTypescript, iconEngine } from './assets'
|
|
6
|
+
import { iconMechanicalArm, iconShield, iconTypescript, iconEngine } from './assets.js'
|
|
7
7
|
|
|
8
8
|
export { Emoji }
|
|
9
9
|
export type { EmojiName }
|
package/utils/Emoji/index.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from './Emoji'
|
|
1
|
+
export * from './Emoji.js'
|
package/utils/addScript.ts
CHANGED
package/utils/client.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from './assert'
|
|
2
|
-
export * from './isBrowser'
|
|
3
|
-
export * from './getGlobalObject'
|
|
1
|
+
export * from './assert.js'
|
|
2
|
+
export * from './isBrowser.js'
|
|
3
|
+
export * from './getGlobalObject.js'
|
|
@@ -26,7 +26,7 @@ function removeAccentsAndDiacritics(str: string): string {
|
|
|
26
26
|
|
|
27
27
|
function determineSectionTitle(urlWithHash: string): string {
|
|
28
28
|
assert(urlWithHash.includes('#'), { urlWithHash })
|
|
29
|
-
const urlHash = urlWithHash.split('#')[1]
|
|
29
|
+
const urlHash = urlWithHash.split('#')[1]!
|
|
30
30
|
const title = urlHash
|
|
31
31
|
.split('-')
|
|
32
32
|
.map((word, i) => {
|
|
@@ -40,5 +40,5 @@ function determineSectionTitle(urlWithHash: string): string {
|
|
|
40
40
|
}
|
|
41
41
|
|
|
42
42
|
function capitalizeFirstLetter(word: string): string {
|
|
43
|
-
return word[0]
|
|
43
|
+
return word[0]!.toUpperCase() + word.slice(1)
|
|
44
44
|
}
|
package/utils/server.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export * from './client'
|
|
2
|
-
export * from './isBrowser'
|
|
3
|
-
export * from './filter'
|
|
4
|
-
export * from './determineSectionUrlHash'
|
|
5
|
-
export * from './jsxToTextContent'
|
|
6
|
-
export * from './objectAssign'
|
|
7
|
-
export * from './Emoji'
|
|
1
|
+
export * from './client.js'
|
|
2
|
+
export * from './isBrowser.js'
|
|
3
|
+
export * from './filter.js'
|
|
4
|
+
export * from './determineSectionUrlHash.js'
|
|
5
|
+
export * from './jsxToTextContent.js'
|
|
6
|
+
export * from './objectAssign.js'
|
|
7
|
+
export * from './Emoji/index.js'
|