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*/