@@ -31,30 +31,30 @@ const renderLivecodeSection = (title, codeHtml) => `
3131 * ```html#たいとる 言語指定とタイトル指定 ```
3232 * みたいにすると、拡張したやつでレンダリングして返す
3333 *
34- * @param {string } code
35- * コード文字列
36- * @param {string } lang
37- * 言語指定文字列(`lang#タイトル` の形式を取る場合もある)
38- * @param {boolean } escaped
34+ * @param {object } token
35+ * marked v17 のトークンオブジェクト({type, raw, lang, text})
36+ * lang は `lang#タイトル` の形式を取る場合もある
3937 * @return {string }
4038 * HTML文字列
4139 *
4240 */
43- export default function ( code , lang , escaped ) {
41+ export default function ( token ) {
42+ const { lang } = token ;
43+
4444 // そもそも言語指定ないやつ
4545 if ( ! lang ) {
46- return origCodeRender . call ( this , code , lang , escaped ) ;
46+ return origCodeRender . call ( this , token ) ;
4747 }
4848
4949 const langArr = lang . split ( '#' ) . map ( ( t ) => t . trim ( ) ) ;
5050 // 言語の指定はあったが、タイトルがない = 今まで通り
5151 if ( langArr . length === 1 || langArr [ 1 ] . length === 0 ) {
52- return origCodeRender . call ( this , code , langArr [ 0 ] , escaped ) ;
52+ return origCodeRender . call ( this , { ... token , lang : langArr [ 0 ] } ) ;
5353 }
5454
5555 // 言語の指定もタイトル指定もちゃんとあるやつ
5656 return renderLivecodeSection (
5757 langArr [ 1 ] , // タイトル
58- origCodeRender . call ( this , code , langArr [ 0 ] , escaped ) // コード本体
58+ origCodeRender . call ( this , { ... token , lang : langArr [ 0 ] } ) // コード本体
5959 ) ;
6060}
0 commit comments