diff --git a/generate.c b/generate.c
index 93159bd..8048d1a 100644
--- a/generate.c
+++ b/generate.c
@@ -445,9 +445,9 @@ typedef struct linkytype {
} linkytype;
static linkytype imaget = { 0, 0, "
", DENY_IMG|INSIDE_TAG, IS_URL };
+ 1, " alt=\"", "\" />", MKD_NOIMAGE|MKD_TAGTEXT, IS_URL };
static linkytype linkt = { 0, 0, "", "", DENY_A, IS_URL };
+ 0, ">", "", MKD_NOLINKS, IS_URL };
/*
* pseudo-protocols for [][];
@@ -458,7 +458,7 @@ static linkytype linkt = { 0, 0, "", "", 0, 0 },
- { "raw:", 4, 0, 0, 0, 0, 0, DENY_HTML, 0 },
+ { "raw:", 4, 0, 0, 0, 0, 0, MKD_NOHTML, 0 },
{ "lang:", 5, "", "", 0, 0 },
{ "abbr:", 5, "", "", 0, 0 },
{ "class:", 6, "", "", 0, 0 },
@@ -503,7 +503,7 @@ printlinkyref(MMIOT *f, linkytype *tag, char *link, int size)
puturl(link + tag->szpat, size - tag->szpat, f, 0);
}
else
- ___mkd_reparse(link + tag->szpat, size - tag->szpat, INSIDE_TAG, f);
+ ___mkd_reparse(link + tag->szpat, size - tag->szpat, MKD_TAGTEXT, f);
Qstring(tag->link_sfx, f);
@@ -525,13 +525,13 @@ linkyformat(MMIOT *f, Cstring text, int image, Footnote *ref)
if ( image )
tag = &imaget;
else if ( tag = pseudo(ref->link) ) {
- if ( f->flags & (NO_PSEUDO_PROTO|SAFELINK) )
+ if ( f->flags & (MKD_NO_EXT|MKD_SAFELINK) )
return 0;
}
- else if ( (f->flags & SAFELINK) && T(ref->link)
- && (T(ref->link)[0] != '/')
- && !isautoprefix(T(ref->link), S(ref->link)) )
- /* if SAFELINK, only accept links that are local or
+ else if ( (f->flags & MKD_SAFELINK) && T(ref->link)
+ && (T(ref->link)[0] != '/')
+ && !isautoprefix(T(ref->link), S(ref->link)) )
+ /* if MKD_SAFELINK, only accept links that are local or
* a well-known protocol
*/
return 0;
@@ -553,7 +553,7 @@ linkyformat(MMIOT *f, Cstring text, int image, Footnote *ref)
if ( S(ref->title) ) {
Qstring(" title=\"", f);
- ___mkd_reparse(T(ref->title), S(ref->title), INSIDE_TAG, f);
+ ___mkd_reparse(T(ref->title), S(ref->title), MKD_TAGTEXT, f);
Qchar('"', f);
}
@@ -751,19 +751,19 @@ codespan(MMIOT *f, int size)
/* before letting a tag through, validate against
- * DENY_A and DENY_IMG
+ * MKD_NOLINKS and MKD_NOIMAGE
*/
static int
forbidden_tag(MMIOT *f)
{
int c = toupper(peek(f, 1));
- if ( f->flags & DENY_HTML )
+ if ( f->flags & MKD_NOHTML )
return 1;
- if ( c == 'A' && (f->flags & DENY_A) && !isthisalnum(f,2) )
+ if ( c == 'A' && (f->flags & MKD_NOLINKS) && !isthisalnum(f,2) )
return 1;
- if ( c == 'I' && (f->flags & DENY_IMG)
+ if ( c == 'I' && (f->flags & MKD_NOIMAGE)
&& strncasecmp(cursor(f)+1, "MG", 2) == 0
&& !isthisalnum(f,4) )
return 1;
@@ -810,7 +810,7 @@ process_possible_link(MMIOT *f, int size)
int mailto = 0;
char *text = cursor(f);
- if ( f->flags & DENY_A ) return 0;
+ if ( f->flags & MKD_NOLINKS ) return 0;
if ( (size > 7) && strncasecmp(text, "mailto:", 7) == 0 ) {
/* if it says it's a mailto, it's a mailto -- who am
@@ -857,7 +857,7 @@ maybe_tag_or_link(MMIOT *f)
int c, size;
int maybetag = 1;
- if ( f->flags & INSIDE_TAG )
+ if ( f->flags & MKD_TAGTEXT )
return 0;
for ( size=0; (c = peek(f, size+1)) != '>'; size++) {
@@ -1020,7 +1020,7 @@ smartypants(int c, int *flags, MMIOT *f)
{
int i;
- if ( f->flags & (DENY_SMARTY|INSIDE_TAG|IS_LABEL) )
+ if ( f->flags & (MKD_NOPANTS|MKD_TAGTEXT|IS_LABEL) )
return 0;
for ( i=0; i < NRSMART; i++)
@@ -1088,7 +1088,7 @@ tickhandler(MMIOT *f, int tickchar, int minticks, spanhandler spanner)
return 0;
}
-#define tag_text(f) (f->flags & INSIDE_TAG)
+#define tag_text(f) (f->flags & MKD_TAGTEXT)
static void
@@ -1099,7 +1099,7 @@ text(MMIOT *f)
int smartyflags = 0;
while (1) {
- if ( (f->flags & AUTOLINK) && isalpha(peek(f,1)) && !tag_text(f) )
+ if ( (f->flags & MKD_AUTOLINK) && isalpha(peek(f,1)) && !tag_text(f) )
maybe_autolink(f);
c = pull(f);
@@ -1139,7 +1139,7 @@ text(MMIOT *f)
Qchar(c, f);
break;
/* A^B -> AB */
- case '^': if ( (f->flags & (MKD_NOSUPERSCRIPT|STRICT|INSIDE_TAG))
+ case '^': if ( (f->flags & (MKD_NOSUPERSCRIPT|MKD_STRICT|MKD_TAGTEXT))
|| isthisspace(f,-1)
|| isthisspace(f,1) )
Qchar(c,f);
@@ -1157,7 +1157,7 @@ text(MMIOT *f)
break;
case '_':
/* Underscores don't count if they're in the middle of a word */
- if ( (f->flags & (MKD_NORELAXED|STRICT))
+ if ( (f->flags & (MKD_NORELAXED|MKD_STRICT))
&& isthisalnum(f,-1)
&& isthisalnum(f,1) ) {
Qchar(c, f);
@@ -1180,7 +1180,7 @@ text(MMIOT *f)
}
break;
- case '~': if ( (f->flags & (NOSTRIKETHROUGH|INSIDE_TAG|STRICT)) || !tickhandler(f,c,2,delspan) )
+ case '~': if ( (f->flags & (MKD_NOSTRIKETHROUGH|MKD_TAGTEXT|MKD_STRICT)) || !tickhandler(f,c,2,delspan) )
Qchar(c, f);
break;
@@ -1236,7 +1236,7 @@ static void
printheader(Paragraph *pp, MMIOT *f)
{
Qprintf(f, "hnumber);
- if ( f->flags & TOC ) {
+ if ( f->flags & MKD_TOC ) {
Qprintf(f, " id=\"", pp->hnumber);
mkd_string_to_anchor(T(pp->text->text), S(pp->text->text), Qchar, f, 1);
Qchar('"', f);
diff --git a/markdown.c b/markdown.c
index 1d0154f..d61da74 100644
--- a/markdown.c
+++ b/markdown.c
@@ -938,7 +938,7 @@ compile_document(Line *ptr, MMIOT *f)
int eaten;
while ( ptr ) {
- if ( !(f->flags & DENY_HTML) && (tag = isopentag(ptr)) ) {
+ if ( !(f->flags & MKD_NOHTML) && (tag = isopentag(ptr)) ) {
/* If we encounter a html/style block, compile and save all
* of the cached source BEFORE processing the html/style.
*/
@@ -1028,7 +1028,7 @@ compile(Line *ptr, int toplevel, MMIOT *f)
p = Pp(&d, ptr, HDR);
ptr = headerblock(p, hdr_type);
}
- else if ( istable(ptr) && !(f->flags & (STRICT|NOTABLES)) ) {
+ else if ( istable(ptr) && !(f->flags & (MKD_STRICT|MKD_NOTABLES)) ) {
p = Pp(&d, ptr, TABLE);
ptr = tableblock(p);
}
diff --git a/markdown.h b/markdown.h
index fa8251e..b083e2c 100644
--- a/markdown.h
+++ b/markdown.h
@@ -77,29 +77,28 @@ typedef struct mmiot {
int isp;
STRING(Footnote) *footnotes;
DWORD flags;
-#define DENY_A 0x00000001
-#define DENY_IMG 0x00000002
-#define DENY_SMARTY 0x00000004
-#define DENY_HTML 0x00000008
-#define STRICT 0x00000010
-#define INSIDE_TAG 0x00000020
-#define NO_PSEUDO_PROTO 0x00000040
-#define CDATA_OUTPUT 0x00000080
+#define MKD_NOLINKS 0x00000001
+#define MKD_NOIMAGE 0x00000002
+#define MKD_NOPANTS 0x00000004
+#define MKD_NOHTML 0x00000008
+#define MKD_STRICT 0x00000010
+#define MKD_TAGTEXT 0x00000020
+#define MKD_NO_EXT 0x00000040
+#define MKD_CDATA 0x00000080
#define MKD_NOSUPERSCRIPT 0x00000100
#define MKD_NORELAXED 0x00000200
-#define NOTABLES 0x00000400
-#define NOSTRIKETHROUGH 0x00000800
-#define TOC 0x00001000
+#define MKD_NOTABLES 0x00000400
+#define MKD_NOSTRIKETHROUGH 0x00000800
+#define MKD_TOC 0x00001000
#define MKD_1_COMPAT 0x00002000
-#define AUTOLINK 0x00004000
-#define SAFELINK 0x00008000
+#define MKD_AUTOLINK 0x00004000
+#define MKD_SAFELINK 0x00008000
#define MKD_NOHEADER 0x00010000
-#define STD_TABSTOP 0x00020000
+#define MKD_TABSTOP 0x00020000
#define IS_LABEL 0x08000000
#define USER_FLAGS 0x0FFFFFFF
-#define INPUT_MASK (MKD_NOHEADER|STD_TABSTOP)
+#define INPUT_MASK (MKD_NOHEADER|MKD_TABSTOP)
-#define EMBEDDED DENY_A|DENY_IMG|NO_PSEUDO_PROTO|CDATA_OUTPUT
Callback_data *cb;
} MMIOT;
diff --git a/mkdio.c b/mkdio.c
index 044cdee..f0ef413 100644
--- a/mkdio.c
+++ b/mkdio.c
@@ -94,7 +94,7 @@ populate(getc_func getc, void* ctx, int flags)
if ( !a ) return 0;
- a->tabstop = (flags & STD_TABSTOP) ? 4 : TABSTOP;
+ a->tabstop = (flags & MKD_TABSTOP) ? 4 : TABSTOP;
CREATE(line);
@@ -118,7 +118,7 @@ populate(getc_func getc, void* ctx, int flags)
DELETE(line);
- if ( (pandoc == 3) && !(flags & (MKD_NOHEADER|STRICT)) ) {
+ if ( (pandoc == 3) && !(flags & (MKD_NOHEADER|MKD_STRICT)) ) {
/* the first three lines started with %, so we have a header.
* clip the first three lines out of content and hang them
* off header.
@@ -186,7 +186,7 @@ mkd_generatehtml(Document *p, FILE *output)
int szdoc;
if ( (szdoc = mkd_document(p, &doc)) != EOF ) {
- if ( p->ctx->flags & CDATA_OUTPUT )
+ if ( p->ctx->flags & MKD_CDATA )
mkd_generatexml(doc, szdoc, output);
else
fwrite(doc, szdoc, 1, output);
@@ -292,7 +292,7 @@ mkd_generateline(char *bfr, int size, FILE *output, DWORD flags)
MMIOT f;
mkd_parse_line(bfr, size, &f, flags);
- if ( flags & CDATA_OUTPUT )
+ if ( flags & MKD_CDATA )
mkd_generatexml(T(f.out), S(f.out), output);
else
fwrite(T(f.out), S(f.out), 1, output);
diff --git a/toc.c b/toc.c
index b0b8e74..62826dd 100644
--- a/toc.c
+++ b/toc.c
@@ -26,7 +26,7 @@ mkd_toc(Document *p, char **doc)
*doc = 0;
if ( !(p && p->ctx) ) return -1;
- if ( ! (p->ctx->flags & TOC) ) return 0;
+ if ( ! (p->ctx->flags & MKD_TOC) ) return 0;
CREATE(res);
RESERVE(res, 100);