mod_markdown is Markdown filter module for Apache HTTPD Server.
For Debian/Ubuntu:
# apt install build-essential libtool automake autoconf
# apt install libmarkdown2-dev apache2 apache2-dev
% autoreconf -f -i
% ./configure --with-apxs=<APXS_PATH> --with-discount=<DISCOUNT_DIR>
% make
% make install
Note: <DISCOUNT_DIR>
is the directory that contains the include directory that contains mkdio.h
Probably you need to specify --with-discount=/usr or --with-discount=/usr/local
in httpd.conf:
LoadModule markdown_module modules/mod_markdown.so
You need to specify full path on debian or ubuntu.
LoadModule markdown_module /usr/lib/apache2/modules/mod_markdown.so
<Location />
AddHandler markdown .md
# If you want to use stylesheet.
# MarkdownCss style.css
# MarkdownHeaderHtml "<p>Header</p>"
# MarkdownFooterHtml "<p>Footer</p>"
</Location>
Or:
<Directory /var/www>
AddHandler markdown .md
DirectoryIndex index.md
</Directory>
You can also disable HTML wrapper generation (basically <html><head></head><body>
and </body></html>
surrounding your actual markdown fragment) with this code :
<Directory /var/www>
AddHandler markdown .md
MarkdownWrapper Off
</Directory>
default: MKD_TOC | MKD_AUTOLINK | MKD_FENCEDCODE
Flag | Value | Description |
---|---|---|
MKD_FENCEDCODE | 0x02000000 | enabled fenced code blocks |
MKD_AUTOLINK | 0x00004000 | make http://foo.com link even without <>s |
MKD_TOC | 0x00001000 | do table-of-contents processing |
MKD_1_COMPAT | 0x00002000 | compatibility with MarkdownTest_1.0 |
MKD_CDATA | 0x00000080 | generate code for xml ![CDATA[...]] |
MKD_EMBED MKD_NOLINKS | MKD_NOIMAGE | MKD_TAGTEXT |
MKD_EXPLICITLIST | 0x80000000 | don't combine numbered/bulletted lists |
MKD_EXTRA_FOOTNOTE | 0x00200000 | enable markdown extra-style footnotes |
MKD_GITHUBTAGS | 0x08000000 | allow dash and underscore in element names |
MKD_IDANCHOR | 0x04000000 | use id= anchors for TOC links |
MKD_LATEX | 0x40000000 | handle embedded LaTeX escapes |
MKD_NOALPHALIST | 0x00080000 | forbid alphabetic lists |
MKD_NODIVQUOTE | 0x00040000 | forbid >%class% blocks |
MKD_NODLDISCOUNT | 0x00800000 | disable discount-style definition lists |
MKD_NODLIST | 0x00100000 | forbid definition lists |
MKD_NO_EXT | 0x00000040 | don't allow pseudo-protocols |
MKD_NOHEADER | 0x00010000 | don't process header blocks |
MKD_NOHTML | 0x00000008 | don't allow raw html through AT ALL |
MKD_NOIMAGE | 0x00000002 | don't do image processing, block <img> |
MKD_NOLINKS | 0x00000001 | don't do link processing, block <a> tags |
MKD_NOPANTS | 0x00000004 | don't run smartypants() |
MKD_NORELAXED | 0x00000200 | emphasis happens /everywhere/ |
MKD_NOSTRIKETHROUGH | 0x00000800 | forbid |
MKD_NOSTYLE | 0x00400000 | don't extract <style> blocks |
MKD_NOSUPERSCRIPT | 0x00000100 | no A^B |
MKD_NOTABLES | 0x00000400 | disallow tables |
MKD_SAFELINK | 0x00008000 | paranoid check for link protocol |
MKD_STRICT | 0x00000010 | disable SUPERSCRIPT, RELAXED_EMPHASIS |
MKD_TABSTOP | 0x00020000 | expand tabs to 4 spaces |
MKD_TAGTEXT | 0x00000020 | process text inside an html tag; no |
MKD_URLENCODEDANCHOR | 0x10000000 | urlencode non-identifier chars instead of replacing with dots |