Warning, /education/cantor/thirdparty/discount-2.2.6-patched/mkdio.h.in is written in an unsupported language. File is not indexed.

0001 #ifndef _MKDIO_D
0002 #define _MKDIO_D
0003 
0004 #include <stdio.h>
0005 
0006 @SCALAR_HEADER_INCLUDE@
0007 
0008 typedef void MMIOT;
0009 
0010 typedef @DWORD@ mkd_flag_t;
0011 
0012 /* line builder for markdown()
0013  */
0014 MMIOT *mkd_in(FILE*,mkd_flag_t);                /* assemble input from a file */
0015 MMIOT *mkd_string(const char*,int,mkd_flag_t);  /* assemble input from a buffer */
0016 
0017 /* line builder for github flavoured markdown
0018  */
0019 MMIOT *gfm_in(FILE*,mkd_flag_t);                /* assemble input from a file */
0020 MMIOT *gfm_string(const char*,int,mkd_flag_t);  /* assemble input from a buffer */
0021 
0022 void mkd_basename(MMIOT*,char*);
0023 
0024 void mkd_initialize();
0025 void mkd_with_html5_tags();
0026 void mkd_shlib_destructor();
0027 
0028 /* compilation, debugging, cleanup
0029  */
0030 int mkd_compile(MMIOT*, mkd_flag_t);
0031 void mkd_cleanup(MMIOT*);
0032 
0033 /* markup functions
0034  */
0035 int mkd_dump(MMIOT*, FILE*, mkd_flag_t, char*);
0036 int markdown(MMIOT*, FILE*, mkd_flag_t);
0037 int mkd_line(char *, int, char **, mkd_flag_t);
0038 int mkd_xhtmlpage(MMIOT*,mkd_flag_t,FILE*);
0039 
0040 /* header block access
0041  */
0042 char* mkd_doc_title(MMIOT*);
0043 char* mkd_doc_author(MMIOT*);
0044 char* mkd_doc_date(MMIOT*);
0045 
0046 /* compiled data access
0047  */
0048 int mkd_document(MMIOT*, char**);
0049 int mkd_toc(MMIOT*, char**);
0050 int mkd_css(MMIOT*, char **);
0051 int mkd_xml(char *, int, char **);
0052 int mkd_latextext(MMIOT*, char **);
0053 
0054 /* write-to-file functions
0055  */
0056 int mkd_generatehtml(MMIOT*,FILE*);
0057 int mkd_generatetoc(MMIOT*,FILE*);
0058 int mkd_generatexml(char *, int,FILE*);
0059 int mkd_generatecss(MMIOT*,FILE*);
0060 #define mkd_style mkd_generatecss
0061 int mkd_generateline(char *, int, FILE*, mkd_flag_t);
0062 #define mkd_text mkd_generateline
0063 
0064 /* url generator callbacks
0065  */
0066 typedef char * (*mkd_callback_t)(const char*, const int, void*);
0067 typedef void   (*mkd_free_t)(char*, void*);
0068 
0069 void mkd_e_url(void *, mkd_callback_t);
0070 void mkd_e_flags(void *, mkd_callback_t);
0071 void mkd_e_anchor(void *, mkd_callback_t);
0072 void mkd_e_code_format(void*, mkd_callback_t);
0073 void mkd_e_free(void *, mkd_free_t );
0074 void mkd_e_data(void *, void *);
0075 
0076 /* version#.
0077  */
0078 extern char markdown_version[];
0079 void mkd_mmiot_flags(FILE *, MMIOT *, int);
0080 void mkd_flags_are(FILE*, mkd_flag_t, int);
0081 
0082 void mkd_ref_prefix(MMIOT*, char*);
0083 
0084 
0085 /* special flags for markdown() and mkd_text()
0086  */
0087 #define MKD_NOLINKS     0x00000001      /* don't do link processing, block <a> tags  */
0088 #define MKD_NOIMAGE     0x00000002      /* don't do image processing, block <img> */
0089 #define MKD_NOPANTS     0x00000004      /* don't run smartypants() */
0090 #define MKD_NOHTML      0x00000008      /* don't allow raw html through AT ALL */
0091 #define MKD_STRICT      0x00000010      /* disable SUPERSCRIPT, RELAXED_EMPHASIS */
0092 #define MKD_TAGTEXT     0x00000020      /* process text inside an html tag; no
0093                                          * <em>, no <bold>, no html or [] expansion */
0094 #define MKD_NO_EXT      0x00000040      /* don't allow pseudo-protocols */
0095 #define MKD_NOEXT       MKD_NO_EXT      /* ^^^ (aliased for user convenience) */
0096 #define MKD_CDATA       0x00000080      /* generate code for xml ![CDATA[...]] */
0097 #define MKD_NOSUPERSCRIPT 0x00000100    /* no A^B */
0098 #define MKD_NORELAXED   0x00000200      /* emphasis happens /everywhere/ */
0099 #define MKD_NOTABLES    0x00000400      /* disallow tables */
0100 #define MKD_NOSTRIKETHROUGH 0x00000800  /* forbid ~~strikethrough~~ */
0101 #define MKD_TOC         0x00001000      /* do table-of-contents processing */
0102 #define MKD_1_COMPAT    0x00002000      /* compatibility with MarkdownTest_1.0 */
0103 #define MKD_AUTOLINK    0x00004000      /* make http://foo.com link even without <>s */
0104 #define MKD_SAFELINK    0x00008000      /* paranoid check for link protocol */
0105 #define MKD_NOHEADER    0x00010000      /* don't process header blocks */
0106 #define MKD_TABSTOP     0x00020000      /* expand tabs to 4 spaces */
0107 #define MKD_NODIVQUOTE  0x00040000      /* forbid >%class% blocks */
0108 #define MKD_NOALPHALIST 0x00080000      /* forbid alphabetic lists */
0109 #define MKD_NODLIST     0x00100000      /* forbid definition lists */
0110 #define MKD_EXTRA_FOOTNOTE 0x00200000   /* enable markdown extra-style footnotes */
0111 #define MKD_NOSTYLE     0x00400000      /* don't extract <style> blocks */
0112 #define MKD_NODLDISCOUNT 0x00800000     /* disable discount-style definition lists */
0113 #define MKD_DLEXTRA     0x01000000      /* enable extra-style definition lists */
0114 #define MKD_FENCEDCODE  0x02000000      /* enabled fenced code blocks */
0115 #define MKD_IDANCHOR    0x04000000      /* use id= anchors for TOC links */
0116 #define MKD_GITHUBTAGS  0x08000000      /* allow dash and underscore in element names */
0117 #define MKD_URLENCODEDANCHOR 0x10000000 /* urlencode non-identifier chars instead of replacing with dots */
0118 #define MKD_LATEX       0x40000000      /* handle embedded LaTeX escapes */
0119 #define MKD_EXPLICITLIST 0x80000000     /* don't combine numbered/bulletted lists */
0120 
0121 #define MKD_EMBED       MKD_NOLINKS|MKD_NOIMAGE|MKD_TAGTEXT
0122 
0123 /* special flags for mkd_in() and mkd_string()
0124  */
0125 
0126 
0127 #endif/*_MKDIO_D*/