Write the first (clumsy) pass at a mkd-callbacks manpage, and .Xr

it the other manpages as appropriate.
This commit is contained in:
David Parsons
2010-02-16 20:11:54 -08:00
parent 3aa4343255
commit 9131d15a85
5 changed files with 77 additions and 1 deletions
+3 -1
View File
@@ -15,6 +15,8 @@ OBJS=mkdio.o markdown.o dumptree.o generate.o \
resource.o docheader.o version.o toc.o css.o \
xml.o Csio.o xmlpage.o basename.o emmatch.o @AMALLOC@
MAN3PAGES=mkd-callbacks.3 mkd-functions.3 markdown.3 mkd-line.3
all: $(PGMS) $(SAMPLE_PGMS)
install: $(PGMS)
@@ -31,7 +33,7 @@ install.samples: $(SAMPLE_PGMS) install
install.man:
@INSTALL_DIR@ $(DESTDIR)/$(MANDIR)/man3
@INSTALL_DATA@ mkd-functions.3 markdown.3 mkd-line.3 $(DESTDIR)/$(MANDIR)/man3
@INSTALL_DATA@ $(MAN3PAGES) $(DESTDIR)/$(MANDIR)/man3
for x in mkd_line mkd_generateline; do \
( echo '.\"' ; echo ".so man3/mkd-line.3" ) > $(DESTDIR)/$(MANDIR)/man3/$$x.3;\
done
+1
View File
@@ -103,6 +103,7 @@ and
functions return a MMIOT* on success, null on failure.
.Sh SEE ALSO
.Xr markdown 1 ,
.Xr mkd-callbacks 3 ,
.Xr mkd-functions 3 ,
.Xr mkd-line 3 ,
.Xr markdown 7 ,
+1
View File
@@ -1001,6 +1001,7 @@ John Gruber
.Sh SEE ALSO
.Xr markdown 1 ,
.Xr markdown 3 ,
.Xr mkd-callbacks 3 ,
.Xr mkd-functions 3 ,
.Xr mkd-extensions 7 .
.Pp
+71
View File
@@ -0,0 +1,71 @@
.\"
.Dd January 18, 2008
.Dt MKD_CALLBACKS 3
.Os Mastodon
.Sh NAME
.Nm mkd_callbacks
.Nd functions that modify link targets
.Sh LIBRARY
Markdown
.Pq libmarkdown , -lmarkdown
.Sh SYNOPSIS
.Fd #include <mkdio.h>
.Ft char*
.Fn (*mkd_callback_t) "const char*" "const int" "void*"
.Ft void
.Fn (*mkd_free_t) "char *" "void*"
.Ft void
.Fn mkd_e_url "MMIOT *document" "mkd_callback_t edit"
.Ft void
.Fn mkd_e_flags "MMIOT *document" "mkd_callback_t edit"
.Ft void
.Fn mkd_e_free "MMIOT *document" "mkd_free_t dealloc"
.Ft void
.Fn mkd_e_data "MMIOT *document" "void *data"
.Sh DESCRIPTION
.Pp
.Nm Discount
provides a small set of data access functions to let a
library user modify the targets given in a `[]' link, and to
add additional flags to the generated link.
.Pp
The data access functions are passed a character pointer to
the url being generated, the size of the url, and a data pointer
pointing to a user data area (set by the
.Fn mkd_e_data
function.) After the callback function is called (either
.Fn mkd_e_url
or
.Fn mkd_e_flags )
the data freeing function (if supplied) is called and passed the
character pointer and user data pointer.
.Sh EXAMPLE
The
.Fn mkd_basename
function (in the module basename.c) is implemented by means of
mkd callbacks; it modifies urls that start with a `/' so that
they begin with a user-supplied url base by allocating a new
string and filling it with the base + the url. Discount plugs
that url in in place of the original, then calls the basename
free function (it only does this when
.Fn mkd_e_url
or
.Fn mkd_e_flags
returns nonzero) to deallocate this memory.
.Pp
Note that only one level of callbacks are supported; if you
wish to do multiple callbacks, you need to write your own
code to handle them all.
.Sh SEE ALSO
.Xr markdown 1 ,
.Xr markdown 3 ,
.Xr mkd-line 3 ,
.Xr markdown 7 ,
.Xr mkd-extensions 7 ,
.Xr mmap 2 .
.Pp
basename.c
.Pp
http://daringfireball.net/projects/markdown/syntax
.Sh BUGS
Error handling is minimal at best.
+1
View File
@@ -169,6 +169,7 @@ David Parsons
.Sh SEE ALSO
.Xr markdown 1 ,
.Xr markdown 3 ,
.Xr mkd-callbacks 3 ,
.Xr mkd-functions 3 ,
.Xr mkd-line 3 ,
.Xr mkd-extensions 7 .