deb-python-misaka/src/sundown.pxd

98 lines
3.3 KiB
Cython

from libc.stdint cimport uint8_t
cdef extern from 'sundown/buffer.h':
struct buf:
uint8_t *data
size_t size
size_t asize
size_t unit
buf* bufnew(size_t)
int bufgrow(buf *, size_t)
void bufcstr(buf *)
void bufrelease(buf *)
void bufputs(buf *, char *)
cdef extern from 'sundown/html.h':
struct _toc_data_st:
int header_count
int current_level
struct html_renderopt:
_toc_data_st toc_data
unsigned int flags
void (*link_attributes)(buf *ob, buf *url, void *self)
void sdhtml_renderer(
sd_callbacks *callbacks,
html_renderopt *options_ptr,
unsigned int render_flags)
void sdhtml_toc_renderer(
sd_callbacks *callbacks,
html_renderopt *options_ptr)
void sdhtml_smartypants(
buf *ob,
uint8_t *text,
size_t size)
cdef extern from 'sundown/markdown.h':
enum mkd_autolink:
pass
struct sd_callbacks:
# Block level callbacks - NULL skips the block
void (*blockcode)(buf *ob, buf *text, buf *lang, void *opaque)
void (*blockquote)(buf *ob, buf *text, void *opaque)
void (*blockhtml)(buf *ob, buf *text, void *opaque)
void (*header)(buf *ob, buf *text, int level, void *opaque)
void (*hrule)(buf *ob, void *opaque)
void (*list)(buf *ob, buf *text, int flags, void *opaque)
void (*listitem)(buf *ob, buf *text, int flags, void *opaque)
void (*paragraph)(buf *ob, buf *text, void *opaque)
void (*table)(buf *ob, buf *header, buf *body, void *opaque)
void (*table_row)(buf *ob, buf *text, void *opaque)
void (*table_cell)(buf *ob, buf *text, int flags, void *opaque)
# Span level callbacks - NULL or return 0 prints the span verbatim
int (*autolink)(buf *ob, buf *link, mkd_autolink type, void *opaque)
int (*codespan)(buf *ob, buf *text, void *opaque)
int (*double_emphasis)(buf *ob, buf *text, void *opaque)
int (*emphasis)(buf *ob, buf *text, void *opaque)
int (*image)(buf *ob, buf *link, buf *title, buf *alt, void *opaque)
int (*linebreak)(buf *ob, void *opaque)
int (*link)(buf *ob, buf *link, buf *title, buf *content, void *opaque)
int (*raw_html_tag)(buf *ob, buf *tag, void *opaque)
int (*triple_emphasis)(buf *ob, buf *text, void *opaque)
int (*strikethrough)(buf *ob, buf *text, void *opaque)
int (*superscript)(buf *ob, buf *text, void *opaque)
# Low level callbacks - NULL copies input directly into the output
void (*entity)(buf *ob, buf *entity, void *opaque)
void (*normal_text)(buf *ob, buf *text, void *opaque)
# Header and footer
void (*doc_header)(buf *ob, void *opaque)
void (*doc_footer)(buf *ob, void *opaque)
enum mkd_autolink:
pass
struct sd_markdown:
pass
sd_markdown *sd_markdown_new(
unsigned int extensions,
size_t max_nesting,
sd_callbacks *callbacks,
html_renderopt *opaque)
void sd_markdown_render(
buf *ob,
uint8_t *document,
size_t doc_size,
sd_markdown *md)
void sd_markdown_free(sd_markdown *md)
void sd_version(int *major, int *minor, int *revision)