@@ -4,10 +4,43 @@ import PrismBlock from "./helpers/prism.vue"
4
4
import { useNotionBlock , defineNotionProps } from " @/lib/blockable"
5
5
import { computed } from " vue"
6
6
7
+ import " prismjs/components/prism-markup-templating"
8
+ import " prismjs/components/prism-markup"
9
+ import " prismjs/components/prism-bash"
10
+ import " prismjs/components/prism-c"
11
+ import " prismjs/components/prism-cpp"
12
+ import " prismjs/components/prism-csharp"
13
+ import " prismjs/components/prism-docker"
14
+ import " prismjs/components/prism-java"
15
+ import " prismjs/components/prism-js-templates"
16
+ import " prismjs/components/prism-typescript"
17
+ import " prismjs/components/prism-coffeescript"
18
+ import " prismjs/components/prism-diff"
19
+ import " prismjs/components/prism-git"
20
+ import " prismjs/components/prism-go"
21
+ import " prismjs/components/prism-graphql"
22
+ import " prismjs/components/prism-handlebars"
23
+ import " prismjs/components/prism-json"
24
+ import " prismjs/components/prism-less"
25
+ import " prismjs/components/prism-makefile"
26
+ import " prismjs/components/prism-markdown"
27
+ import " prismjs/components/prism-objectivec"
28
+ import " prismjs/components/prism-ocaml"
29
+ import " prismjs/components/prism-python"
30
+ import " prismjs/components/prism-reason"
31
+ import " prismjs/components/prism-rust"
32
+ import " prismjs/components/prism-sass"
33
+ import " prismjs/components/prism-scss"
34
+ import " prismjs/components/prism-solidity"
35
+ import " prismjs/components/prism-sql"
36
+ import " prismjs/components/prism-stylus"
37
+ import " prismjs/components/prism-swift"
38
+ import " prismjs/components/prism-wasm"
39
+ import " prismjs/components/prism-yaml"
40
+
7
41
const props = defineProps ({ overrideLang: String , overrideLangClass: String , ... defineNotionProps })
8
42
// @ts-ignore
9
43
const { properties } = useNotionBlock (props )
10
-
11
44
const lang = computed (() => {
12
45
return props .overrideLang || properties .value ?.language ?.[0 ]?.[0 ]?.toLowerCase ()
13
46
})
@@ -19,6 +52,8 @@ const langClass = computed(() => {
19
52
const supported = computed (() => {
20
53
return lang .value ? Prism ?.languages [lang .value ] : false
21
54
})
55
+
56
+ const computedSlot = computed (() => properties .value ?.title .map ((i ) => i ?.[0 ]).join (" " ))
22
57
</script >
23
58
24
59
<script lang="ts">
@@ -29,9 +64,9 @@ export default {
29
64
30
65
<template >
31
66
<div v-if =" supported" :class =" ['notion-code']" >
32
- <PrismBlock :language =" lang" >{{ properties?.title[0][0] }}</PrismBlock >
67
+ <PrismBlock :language =" lang" >{{ computedSlot }}</PrismBlock >
33
68
</div >
34
69
<div v-else :class =" ['notion-code']" >
35
- <pre ><code :class =" langClass" >{{ properties?.title[0][0] }}</code ></pre >
70
+ <pre ><div :class =" langClass" >{{ computedSlot }}</div ></pre >
36
71
</div >
37
72
</template >
0 commit comments