|
#ifndef _MKDIO_D
|
|
#define _MKDIO_D
|
|
|
|
#include <stdio.h>
|
|
|
|
typedef void MMIOT;
|
|
|
|
/* line builder for markdown()
|
|
*/
|
|
MMIOT *mkd_in(FILE*,int); /* assemble input from a file */
|
|
MMIOT *mkd_string(char*,int,int); /* assemble input from a buffer */
|
|
|
|
void mkd_basename(MMIOT*,char*);
|
|
|
|
/* compilation, debugging, cleanup
|
|
*/
|
|
int mkd_compile(MMIOT*, int);
|
|
int mkd_generatehtml(MMIOT*,FILE*);
|
|
int mkd_generatetoc(MMIOT*,FILE*);
|
|
int mkd_xhtmlpage(MMIOT*,int,FILE*);
|
|
int mkd_cleanup(MMIOT*);
|
|
|
|
/* markup functions
|
|
*/
|
|
int mkd_text(char *, int, FILE*, int);
|
|
int mkd_style(MMIOT*, FILE*);
|
|
int mkd_dump(MMIOT*, FILE*, int, char*);
|
|
int markdown(MMIOT*, FILE*, int);
|
|
void mkd_basename(MMIOT*,char*);
|
|
void mkd_string_to_anchor(char *, int, int (*)(int,void*), void*);
|
|
|
|
/* header block access
|
|
*/
|
|
char* mkd_doc_title(MMIOT*);
|
|
char* mkd_doc_author(MMIOT*);
|
|
char* mkd_doc_date(MMIOT*);
|
|
|
|
/* compiled data access
|
|
*/
|
|
int mkd_document(MMIOT*, char**);
|
|
|
|
/* version#.
|
|
*/
|
|
extern char markdown_version[];
|
|
|
|
/* special flags for markdown() and mkd_text()
|
|
*/
|
|
#define MKD_NOLINKS 0x0001 /* don't do link processing, block <a> tags */
|
|
#define MKD_NOIMAGE 0x0002 /* don't do image processing, block <img> */
|
|
#define MKD_NOPANTS 0x0004 /* don't run smartypants() */
|
|
#define MKD_NOHTML 0x0008 /* don't allow raw html through AT ALL */
|
|
#define MKD_STRICT 0x0010 /* disable SUPERSCRIPT, RELAXED_EMPHASIS */
|
|
#define MKD_TAGTEXT 0x0020 /* don't expand `_` and `*` */
|
|
#define MKD_NO_EXT 0x0040 /* don't allow pseudo-protocols */
|
|
#define MKD_CDATA 0x0080 /* generate code for xml ![CDATA[...]] */
|
|
#define MKD_TOC 0x1000 /* do table-of-contents processing */
|
|
#define MKD_1_COMPAT 0x2000 /* compatability with MarkdownTest_1.0 */
|
|
#define MKD_EMBED MKD_NOLINKS|MKD_NOIMAGE|MKD_TAGTEXT
|
|
|
|
/* special flags for mkd_in() and mkd_string()
|
|
*/
|
|
#define MKD_NOHEADER 0x0100 /* don't process header blocks */
|
|
#define MKD_TABSTOP 0x0200 /* expand tabs to 4 spaces */
|
|
|
|
|
|
#endif/*_MKDIO_D*/
|