@@ -23,28 +23,29 @@ const renderLivecodeSection = (title, codeHtml) => `
2323 * ```html#たいとる 言語指定とタイトル指定 ```
2424 * みたいにすると、拡張したやつでレンダリングして返す
2525 *
26- * @param {string } code
27- * @param {string } lang
28- * @param {string } escaped
26+ * @param {object } token
27+ * marked v17 のコードトークン ({type, raw, lang, text})
2928 * @return {string }
3029 * HTML文字列
3130 *
3231 */
33- export default function ( code , lang , escaped ) {
32+ export default function ( token ) {
33+ const { lang } = token ;
34+
3435 // そもそも言語指定ないやつ
3536 if ( ! lang ) {
36- return origCodeRender . apply ( this , [ code , lang , escaped ] ) ;
37+ return origCodeRender . call ( this , token ) ;
3738 }
3839
3940 const langArr = lang . split ( '#' ) . map ( ( t ) => t . trim ( ) ) ;
4041 // 言語の指定はあったが、タイトルがない = 今まで通り
4142 if ( langArr . length === 1 || langArr [ 1 ] . length === 0 ) {
42- return origCodeRender . apply ( this , [ code , langArr [ 0 ] , escaped ] ) ;
43+ return origCodeRender . call ( this , { ... token , lang : langArr [ 0 ] } ) ;
4344 }
4445
4546 // 言語の指定もタイトル指定もちゃんとあるやつ
4647 return renderLivecodeSection (
4748 langArr [ 1 ] , // タイトル
48- origCodeRender . apply ( this , [ code , langArr [ 0 ] , escaped ] ) // コード本体
49+ origCodeRender . call ( this , { ... token , lang : langArr [ 0 ] } ) // コード本体
4950 ) ;
5051}
0 commit comments