@@ -6,20 +6,12 @@ func renderMarkdownHTML(markdown: String) -> String? {
66 guard let parser = cmark_parser_new ( CMARK_OPT_FOOTNOTES) else { return nil }
77 defer { cmark_parser_free ( parser) }
88
9- if let ext = cmark_find_syntax_extension ( " table " ) {
10- cmark_parser_attach_syntax_extension ( parser, ext)
11- }
12-
13- if let ext = cmark_find_syntax_extension ( " autolink " ) {
14- cmark_parser_attach_syntax_extension ( parser, ext)
15- }
16-
17- if let ext = cmark_find_syntax_extension ( " strikethrough " ) {
18- cmark_parser_attach_syntax_extension ( parser, ext)
19- }
20-
21- if let ext = cmark_find_syntax_extension ( " tasklist " ) {
22- cmark_parser_attach_syntax_extension ( parser, ext)
9+ // 附加常见的 GFM 扩展
10+ let extensions = [ " table " , " autolink " , " emoji " , " footnotes " , " strikethrough " , " tasklist " ]
11+ for extName in extensions {
12+ if let ext = cmark_find_syntax_extension ( extName) {
13+ cmark_parser_attach_syntax_extension ( parser, ext)
14+ }
2315 }
2416
2517 cmark_parser_feed ( parser, markdown, markdown. utf8. count)
@@ -29,5 +21,6 @@ func renderMarkdownHTML(markdown: String) -> String? {
2921 if UserDefaultsManagement . editorLineBreak == " Github " {
3022 res = String ( cString: cmark_render_html ( node, CMARK_OPT_UNSAFE | CMARK_OPT_NOBREAKS, nil ) )
3123 }
24+
3225 return res
3326}
0 commit comments