@@ -14,6 +14,7 @@ static const unichar HtmlLessThanChar = '<';
1414static const unichar HtmlGreaterThanChar = ' >' ;
1515static const unichar HtmlAmpersandChar = ' &' ;
1616
17+ static const char *NewLine = " \n " ;
1718static const char *NewlineOpenTag = " \n <" ;
1819
1920static const char *OpenTagStart = " <" ;
@@ -35,6 +36,12 @@ static const char *HtmlTagBR = "br";
3536static const char *HtmlTagHTML = " html" ;
3637static const char *HtmlTagBlockquote = " blockquote" ;
3738static const char *HtmlTagCodeblock = " codeblock" ;
39+ static const char *HtmlHRTag = " hr" ;
40+ static const char *HtmlChecklistTag = " checklist" ;
41+ static const char *HtmlContentTag = " content" ;
42+ static const char *HtmlParagraphTag = " p" ;
43+
44+ static NSString *const DefaultHtmlValue = @" <html>\n <p></p>\n </html>" ;
3845
3946static inline void appendC (NSMutableData *buf, const char *c) {
4047 if (!c)
@@ -109,7 +116,9 @@ static inline BOOL isBlockTag(const char *t) {
109116 case ' p' :
110117 return t[1 ] == ' \0 ' ;
111118 case ' h' :
112- return t[2 ] == ' \0 ' && (t[1 ] == ' 1' || t[1 ] == ' 2' || t[1 ] == ' 3' );
119+ return t[2 ] == ' \0 ' &&
120+ (t[1 ] == ' 1' || t[1 ] == ' 2' || t[1 ] == ' 3' || t[1 ] == ' 4' ||
121+ t[1 ] == ' 5' || t[1 ] == ' 6' || t[1 ] == ' r' );
113122 case ' u' :
114123 return strcmp (t, HtmlTagUL) == 0 ;
115124 case ' o' :
@@ -119,7 +128,8 @@ static inline BOOL isBlockTag(const char *t) {
119128 case ' b' :
120129 return strcmp (t, HtmlTagBR) == 0 || strcmp (t, HtmlTagBlockquote) == 0 ;
121130 case ' c' :
122- return strcmp (t, HtmlTagCodeblock) == 0 ;
131+ return strcmp (t, HtmlTagCodeblock) == 0 || strcmp (t, HtmlContentTag) ||
132+ strcmp (t, HtmlChecklistTag);
123133 default :
124134 return NO ;
125135 }
0 commit comments