1
1
<script setup lang="ts">
2
+ import { defineAsyncComponent } from " vue"
2
3
import { defineNotionProps , useNotionBlock } from " @/lib/blockable"
3
4
import { availableType } from " @/lib/constant"
4
5
import NotionBookmark from " @/blocks/bookmark.vue"
5
6
import NotionCallout from " @/blocks/callout.vue"
6
- import NotionCode from " @/blocks/code.vue"
7
7
import NotionColumn from " @/blocks/column.vue"
8
8
import NotionEquation from " @/blocks/equation.vue"
9
9
import NotionFigure from " @/blocks/helpers/figure.vue"
@@ -18,6 +18,47 @@ import NotionTodo from "@/blocks/todo.vue"
18
18
import NotionToggle from " @/blocks/toggle.vue"
19
19
import NotionTableOfContents from " @/blocks/table-of-contents.vue"
20
20
21
+ const NotionCode = defineAsyncComponent (() =>
22
+ import (" @/blocks/code.vue" ).then (async (m ) => {
23
+ await Promise .all ([
24
+ import (" prismjs/components/prism-markup-templating" ),
25
+ import (" prismjs/components/prism-markup" ),
26
+ import (" prismjs/components/prism-bash" ),
27
+ import (" prismjs/components/prism-c" ),
28
+ import (" prismjs/components/prism-cpp" ),
29
+ import (" prismjs/components/prism-csharp" ),
30
+ import (" prismjs/components/prism-docker" ),
31
+ import (" prismjs/components/prism-java" ),
32
+ import (" prismjs/components/prism-js-templates" ),
33
+ import (" prismjs/components/prism-typescript" ),
34
+ import (" prismjs/components/prism-coffeescript" ),
35
+ import (" prismjs/components/prism-diff" ),
36
+ import (" prismjs/components/prism-git" ),
37
+ import (" prismjs/components/prism-go" ),
38
+ import (" prismjs/components/prism-graphql" ),
39
+ import (" prismjs/components/prism-handlebars" ),
40
+ import (" prismjs/components/prism-json" ),
41
+ import (" prismjs/components/prism-less" ),
42
+ import (" prismjs/components/prism-makefile" ),
43
+ import (" prismjs/components/prism-markdown" ),
44
+ import (" prismjs/components/prism-objectivec" ),
45
+ import (" prismjs/components/prism-ocaml" ),
46
+ import (" prismjs/components/prism-python" ),
47
+ import (" prismjs/components/prism-reason" ),
48
+ import (" prismjs/components/prism-rust" ),
49
+ import (" prismjs/components/prism-sass" ),
50
+ import (" prismjs/components/prism-scss" ),
51
+ import (" prismjs/components/prism-solidity" ),
52
+ import (" prismjs/components/prism-sql" ),
53
+ import (" prismjs/components/prism-stylus" ),
54
+ import (" prismjs/components/prism-swift" ),
55
+ import (" prismjs/components/prism-wasm" ),
56
+ import (" prismjs/components/prism-yaml" ),
57
+ ])
58
+ return m
59
+ })
60
+ )
61
+
21
62
const props = defineProps ({ ... defineNotionProps })
22
63
// @ts-ignore
23
64
const { pass, type, format, isType } = useNotionBlock (props )
0 commit comments