File tree Expand file tree Collapse file tree 3 files changed +74
-2
lines changed Expand file tree Collapse file tree 3 files changed +74
-2
lines changed Original file line number Diff line number Diff line change
1
+ [
2
+ {
3
+ "id" : " 1" ,
4
+ "type" : " codeBlock" ,
5
+ "props" : {
6
+ "language" : " javascript"
7
+ },
8
+ "content" : [
9
+ {
10
+ "type" : " text" ,
11
+ "text" : " console.log(\" Should default to JS\" )" ,
12
+ "styles" : {}
13
+ }
14
+ ],
15
+ "children" : []
16
+ },
17
+ {
18
+ "id" : " 2" ,
19
+ "type" : " codeBlock" ,
20
+ "props" : {
21
+ "language" : " typescript"
22
+ },
23
+ "content" : [
24
+ {
25
+ "type" : " text" ,
26
+ "text" : " console.log(\" Should parse TS from data-language\" )" ,
27
+ "styles" : {}
28
+ }
29
+ ],
30
+ "children" : []
31
+ },
32
+ {
33
+ "id" : " 3" ,
34
+ "type" : " codeBlock" ,
35
+ "props" : {
36
+ "language" : " python"
37
+ },
38
+ "content" : [
39
+ {
40
+ "type" : " text" ,
41
+ "text" : " print(\" Should parse Python from language- class\" )" ,
42
+ "styles" : {}
43
+ }
44
+ ],
45
+ "children" : []
46
+ },
47
+ {
48
+ "id" : " 4" ,
49
+ "type" : " codeBlock" ,
50
+ "props" : {
51
+ "language" : " typescript"
52
+ },
53
+ "content" : [
54
+ {
55
+ "type" : " text" ,
56
+ "text" : " console.log(\" Should prioritize TS from data-language over language- class\" )" ,
57
+ "styles" : {}
58
+ }
59
+ ],
60
+ "children" : []
61
+ }
62
+ ]
Original file line number Diff line number Diff line change @@ -516,4 +516,13 @@ With Hard Break</p>
516
516
517
517
await parseHTMLAndCompareSnapshots ( html , "parse-google-docs-html" ) ;
518
518
} ) ;
519
+
520
+ it ( "Parse codeblocks" , async ( ) => {
521
+ const html = `<pre><code>console.log("Should default to JS")</code></pre>
522
+ <pre><code data-language="typescript">console.log("Should parse TS from data-language")</code></pre>
523
+ <pre><code class="language-python">print("Should parse Python from language- class")</code></pre>
524
+ <pre><code class="language-ruby" data-language="typescript">console.log("Should prioritize TS from data-language over language- class")</code></pre>` ;
525
+
526
+ await parseHTMLAndCompareSnapshots ( html , "parse-codeblocks" ) ;
527
+ } ) ;
519
528
} ) ;
Original file line number Diff line number Diff line change @@ -77,9 +77,10 @@ const CodeBlockContent = createStronglyTypedTiptapNode({
77
77
const languages = classNames
78
78
. filter ( ( className ) => className . startsWith ( "language-" ) )
79
79
. map ( ( className ) => className . replace ( "language-" , "" ) ) ;
80
- const [ classLanguage ] = languages ;
81
80
82
- language = classLanguage . toLowerCase ( ) ;
81
+ if ( languages . length > 0 ) {
82
+ language = languages [ 0 ] . toLowerCase ( ) ;
83
+ }
83
84
}
84
85
85
86
if ( ! language ) {
You can’t perform that action at this time.
0 commit comments