@brillout/docpress 0.15.10-commit-b6b1605 → 0.15.10-commit-36f361e
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/components/CodeSnippets/useSelectCodeLang.ts +61 -0
- package/components/CodeSnippets.css +47 -0
- package/components/CodeSnippets.tsx +80 -45
- package/css/tooltip.css +10 -2
- package/detypePlugin.ts +78 -68
- package/dist/+config.js +1 -1
- package/dist/NavItemComponent.js +38 -46
- package/dist/components/CodeBlockTransformer.js +2 -3
- package/dist/components/CodeSnippets/useSelectCodeLang.d.ts +7 -0
- package/dist/components/CodeSnippets/useSelectCodeLang.js +51 -0
- package/dist/components/CodeSnippets.d.ts +10 -6
- package/dist/components/CodeSnippets.js +66 -94
- package/dist/components/Comment.js +1 -2
- package/dist/components/FileRemoved.js +4 -6
- package/dist/components/HorizontalLine.js +1 -2
- package/dist/components/ImportMeta.js +2 -3
- package/dist/components/Link.js +34 -50
- package/dist/components/Note.js +17 -29
- package/dist/components/P.js +1 -12
- package/dist/components/RepoLink.js +7 -9
- package/dist/determineNavItemsColumnLayout.js +48 -63
- package/dist/detypePlugin.js +84 -136
- package/dist/parseMarkdownMini.js +5 -17
- package/dist/parsePageSections.js +41 -82
- package/dist/renderer/usePageContext.js +6 -7
- package/dist/resolvePageContext.js +91 -103
- package/dist/utils/Emoji/Emoji.js +13 -21
- package/dist/utils/assert.js +14 -16
- package/dist/utils/cls.js +1 -1
- package/dist/utils/determineSectionUrlHash.js +5 -5
- package/dist/utils/filter.js +2 -2
- package/dist/utils/getGlobalObject.js +3 -3
- package/dist/vite.config.js +7 -7
- package/package.json +1 -1
- package/tsconfig.json +2 -1
- package/dist/utils/contentMap.d.ts +0 -9
- package/dist/utils/contentMap.js +0 -22
- package/dist/utils/useSelectedLanguage.d.ts +0 -7
- package/dist/utils/useSelectedLanguage.js +0 -49
- package/utils/contentMap.ts +0 -34
- package/utils/useSelectedLanguage.ts +0 -61
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
export { useSelectedLanguage };
|
|
2
|
-
import { useState, useEffect, useCallback } from 'react';
|
|
3
|
-
var key = 'docpress:selectedLang';
|
|
4
|
-
var defaultSsrLang = 'ts';
|
|
5
|
-
var defaultClientLang = 'js';
|
|
6
|
-
function useSelectedLanguage() {
|
|
7
|
-
var _a = useState(defaultSsrLang), selectedLang = _a[0], setSelectedLang = _a[1];
|
|
8
|
-
var getValue = function () {
|
|
9
|
-
var _a;
|
|
10
|
-
try {
|
|
11
|
-
return (_a = localStorage.getItem(key)) !== null && _a !== void 0 ? _a : defaultClientLang;
|
|
12
|
-
}
|
|
13
|
-
catch (error) {
|
|
14
|
-
console.warn('Error reading from localStorage:', error);
|
|
15
|
-
return defaultClientLang;
|
|
16
|
-
}
|
|
17
|
-
};
|
|
18
|
-
var setValue = useCallback(function (value) {
|
|
19
|
-
try {
|
|
20
|
-
window.localStorage.setItem(key, value);
|
|
21
|
-
setSelectedLang(value);
|
|
22
|
-
window.dispatchEvent(new CustomEvent('lang-storage'));
|
|
23
|
-
}
|
|
24
|
-
catch (error) {
|
|
25
|
-
console.warn('Error setting localStorage:', error);
|
|
26
|
-
}
|
|
27
|
-
}, []);
|
|
28
|
-
useEffect(function () {
|
|
29
|
-
// Initial load from localStorage
|
|
30
|
-
setSelectedLang(getValue());
|
|
31
|
-
// Update language in current tab
|
|
32
|
-
var handleCustomEvent = function () {
|
|
33
|
-
setSelectedLang(getValue());
|
|
34
|
-
};
|
|
35
|
-
// Update language if changed in another tab
|
|
36
|
-
var handleNativeStorage = function (event) {
|
|
37
|
-
if (event.key === key) {
|
|
38
|
-
setSelectedLang(getValue());
|
|
39
|
-
}
|
|
40
|
-
};
|
|
41
|
-
window.addEventListener('lang-storage', handleCustomEvent);
|
|
42
|
-
window.addEventListener('storage', handleNativeStorage);
|
|
43
|
-
return function () {
|
|
44
|
-
window.removeEventListener('lang-storage', handleCustomEvent);
|
|
45
|
-
window.removeEventListener('storage', handleNativeStorage);
|
|
46
|
-
};
|
|
47
|
-
}, []);
|
|
48
|
-
return [selectedLang, setValue];
|
|
49
|
-
}
|
package/utils/contentMap.ts
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { createHash } from 'node:crypto'
|
|
2
|
-
|
|
3
|
-
export type ContentMap = {
|
|
4
|
-
/**
|
|
5
|
-
* @returns key
|
|
6
|
-
*/
|
|
7
|
-
add(title: string, sourceLength: number, content: string): string
|
|
8
|
-
get(key: string): string | undefined
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
export const createContentMap = (): ContentMap => {
|
|
12
|
-
const map = new Map<string, string>()
|
|
13
|
-
|
|
14
|
-
return {
|
|
15
|
-
add(title, length, content) {
|
|
16
|
-
const key = generateKey(`${title}_${length}`)
|
|
17
|
-
if (!map.has(key)) {
|
|
18
|
-
map.set(key, content)
|
|
19
|
-
}
|
|
20
|
-
return key
|
|
21
|
-
},
|
|
22
|
-
get(key) {
|
|
23
|
-
const val = map.get(key)
|
|
24
|
-
return val
|
|
25
|
-
},
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
const generateKey = (value: string) => {
|
|
30
|
-
const hash = createHash('md5').update(value).digest('hex')
|
|
31
|
-
return `#_#_${hash}_#_#`
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
export const contentMapKeyRE = /#_#_[0-9a-fA-F]{32}_#_#/g
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
export { useSelectedLanguage }
|
|
2
|
-
|
|
3
|
-
import { useState, useEffect, useCallback } from 'react'
|
|
4
|
-
|
|
5
|
-
const key = 'docpress:selectedLang'
|
|
6
|
-
const defaultSsrLang = 'ts'
|
|
7
|
-
const defaultClientLang = 'js'
|
|
8
|
-
|
|
9
|
-
declare global {
|
|
10
|
-
interface WindowEventMap {
|
|
11
|
-
'lang-storage': CustomEvent
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
function useSelectedLanguage() {
|
|
16
|
-
const [selectedLang, setSelectedLang] = useState(defaultSsrLang)
|
|
17
|
-
|
|
18
|
-
const getValue = () => {
|
|
19
|
-
try {
|
|
20
|
-
return localStorage.getItem(key) ?? defaultClientLang
|
|
21
|
-
} catch (error) {
|
|
22
|
-
console.warn('Error reading from localStorage:', error)
|
|
23
|
-
return defaultClientLang
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
const setValue = useCallback((value: string) => {
|
|
28
|
-
try {
|
|
29
|
-
window.localStorage.setItem(key, value)
|
|
30
|
-
setSelectedLang(value)
|
|
31
|
-
window.dispatchEvent(new CustomEvent('lang-storage'))
|
|
32
|
-
} catch (error) {
|
|
33
|
-
console.warn('Error setting localStorage:', error)
|
|
34
|
-
}
|
|
35
|
-
}, [])
|
|
36
|
-
|
|
37
|
-
useEffect(() => {
|
|
38
|
-
// Initial load from localStorage
|
|
39
|
-
setSelectedLang(getValue())
|
|
40
|
-
// Update language in current tab
|
|
41
|
-
const handleCustomEvent = () => {
|
|
42
|
-
setSelectedLang(getValue())
|
|
43
|
-
}
|
|
44
|
-
// Update language if changed in another tab
|
|
45
|
-
const handleNativeStorage = (event: StorageEvent) => {
|
|
46
|
-
if (event.key === key) {
|
|
47
|
-
setSelectedLang(getValue())
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
window.addEventListener('lang-storage', handleCustomEvent)
|
|
52
|
-
window.addEventListener('storage', handleNativeStorage)
|
|
53
|
-
|
|
54
|
-
return () => {
|
|
55
|
-
window.removeEventListener('lang-storage', handleCustomEvent)
|
|
56
|
-
window.removeEventListener('storage', handleNativeStorage)
|
|
57
|
-
}
|
|
58
|
-
}, [])
|
|
59
|
-
|
|
60
|
-
return [selectedLang, setValue] as const
|
|
61
|
-
}
|