dmarkdown 0.1.0
Markdown to HTML processor
To use this package, run the following command in your project's root directory:
Manual usage
Put the following dependency into your project's dependences section:
<?xml version="1.0" encoding="utf-8" ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="generator" content="Docutils 0.11: http://docutils.sourceforge.net/" /> <title>DMarkdown</title> <style type="text/css">
/* :Author: David Goodger ([email protected]) :Id: $Id: html4css1.css 7614 2013-02-21 15:55:51Z milde $ :Copyright: This stylesheet has been placed in the public domain.
Default cascading style sheet for the HTML output of Docutils.
See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to customize this style sheet. */
/ used to remove borders from tables and images / .borderless, table.borderless td, table.borderless th { border: 0 }
table.borderless td, table.borderless th { /* Override padding for "table.docutils td" with "! important".
The right padding separates the table cells. */
padding: 0 0.5em 0 0 ! important }
.first { / Override more specific margin styles with "! important". / margin-top: 0 ! important }
.last, .with-subtitle { margin-bottom: 0 ! important }
.hidden { display: none }
a.toc-backref { text-decoration: none ; color: black }
blockquote.epigraph { margin: 2em 5em ; }
dl.docutils dd { margin-bottom: 0.5em }
object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] { overflow: hidden; }
/ Uncomment (and remove this text!) to get bold-faced definition list terms dl.docutils dt { font-weight: bold } /
div.abstract { margin: 2em 5em }
div.abstract p.topic-title { font-weight: bold ; text-align: center }
div.admonition, div.attention, div.caution, div.danger, div.error, div.hint, div.important, div.note, div.tip, div.warning { margin: 2em ; border: medium outset ; padding: 1em }
div.admonition p.admonition-title, div.hint p.admonition-title, div.important p.admonition-title, div.note p.admonition-title, div.tip p.admonition-title { font-weight: bold ; font-family: sans-serif }
div.attention p.admonition-title, div.caution p.admonition-title, div.danger p.admonition-title, div.error p.admonition-title, div.warning p.admonition-title, .code .error { color: red ; font-weight: bold ; font-family: sans-serif }
/* Uncomment (and remove this text!) to get reduced vertical space in compound paragraphs. div.compound .compound-first, div.compound .compound-middle { margin-bottom: 0.5em }
div.compound .compound-last, div.compound .compound-middle { margin-top: 0.5em } */
div.dedication { margin: 2em 5em ; text-align: center ; font-style: italic }
div.dedication p.topic-title { font-weight: bold ; font-style: normal }
div.figure { margin-left: 2em ; margin-right: 2em }
div.footer, div.header { clear: both; font-size: smaller }
div.line-block { display: block ; margin-top: 1em ; margin-bottom: 1em }
div.line-block div.line-block { margin-top: 0 ; margin-bottom: 0 ; margin-left: 1.5em }
div.sidebar { margin: 0 0 0.5em 1em ; border: medium outset ; padding: 1em ; background-color: #ffffee ; width: 40% ; float: right ; clear: right }
div.sidebar p.rubric { font-family: sans-serif ; font-size: medium }
div.system-messages { margin: 5em }
div.system-messages h1 { color: red }
div.system-message { border: medium outset ; padding: 1em }
div.system-message p.system-message-title { color: red ; font-weight: bold }
div.topic { margin: 2em }
h1.section-subtitle, h2.section-subtitle, h3.section-subtitle, h4.section-subtitle, h5.section-subtitle, h6.section-subtitle { margin-top: 0.4em }
h1.title { text-align: center }
h2.subtitle { text-align: center }
hr.docutils { width: 75% }
img.align-left, .figure.align-left, object.align-left { clear: left ; float: left ; margin-right: 1em }
img.align-right, .figure.align-right, object.align-right { clear: right ; float: right ; margin-left: 1em }
img.align-center, .figure.align-center, object.align-center { display: block; margin-left: auto; margin-right: auto; }
.align-left { text-align: left }
.align-center { clear: both ; text-align: center }
.align-right { text-align: right }
/ reset inner alignment in figures / div.align-right { text-align: inherit }
/ div.align-center { / / text-align: left } */
ol.simple, ul.simple { margin-bottom: 1em }
ol.arabic { list-style: decimal }
ol.loweralpha { list-style: lower-alpha }
ol.upperalpha { list-style: upper-alpha }
ol.lowerroman { list-style: lower-roman }
ol.upperroman { list-style: upper-roman }
p.attribution { text-align: right ; margin-left: 50% }
p.caption { font-style: italic }
p.credits { font-style: italic ; font-size: smaller }
p.label { white-space: nowrap }
p.rubric { font-weight: bold ; font-size: larger ; color: maroon ; text-align: center }
p.sidebar-title { font-family: sans-serif ; font-weight: bold ; font-size: larger }
p.sidebar-subtitle { font-family: sans-serif ; font-weight: bold }
p.topic-title { font-weight: bold }
pre.address { margin-bottom: 0 ; margin-top: 0 ; font: inherit }
pre.literal-block, pre.doctest-block, pre.math, pre.code { margin-left: 2em ; margin-right: 2em }
pre.code .ln { color: grey; } / line numbers / pre.code, code { background-color: #eeeeee } pre.code .comment, code .comment { color: #5C6576 } pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold } pre.code .literal.string, code .literal.string { color: #0C5404 } pre.code .name.builtin, code .name.builtin { color: #352B84 } pre.code .deleted, code .deleted { background-color: #DEB0A1} pre.code .inserted, code .inserted { background-color: #A3D289}
span.classifier { font-family: sans-serif ; font-style: oblique }
span.classifier-delimiter { font-family: sans-serif ; font-weight: bold }
span.interpreted { font-family: sans-serif }
span.option { white-space: nowrap }
span.pre { white-space: pre }
span.problematic { color: red }
span.section-subtitle { / font-size relative to parent (h1..h6 element) / font-size: 80% }
table.citation { border-left: solid 1px gray; margin-left: 1px }
table.docinfo { margin: 2em 4em }
table.docutils { margin-top: 0.5em ; margin-bottom: 0.5em }
table.footnote { border-left: solid 1px black; margin-left: 1px }
table.docutils td, table.docutils th, table.docinfo td, table.docinfo th { padding-left: 0.5em ; padding-right: 0.5em ; vertical-align: top }
table.docutils th.field-name, table.docinfo th.docinfo-name { font-weight: bold ; text-align: left ; white-space: nowrap ; padding-left: 0 }
/ "booktabs" style (no vertical lines) / table.docutils.booktabs { border: 0px; border-top: 2px solid; border-bottom: 2px solid; border-collapse: collapse; } table.docutils.booktabs * { border: 0px; } table.docutils.booktabs th { border-bottom: thin solid; text-align: left; }
h1 tt.docutils, h2 tt.docutils, h3 tt.docutils, h4 tt.docutils, h5 tt.docutils, h6 tt.docutils { font-size: 100% }
ul.auto-toc { list-style-type: none }
</style> </head> <body> <div class="document" id="dmarkdown"> <h1 class="title">DMarkdown</h1>
<div class="section" id="introduction"> <h1>Introduction</h1> <p>DMarkdown is an open source <a class="reference external" href="http://en.wikipedia.org/wiki/Markdown">Markdown</a> to HTML processor for the <a class="reference external" href="http://dlang.org">D programming language</a>. It provides a simple, minimal API to generate HTML from markdown strings or ranges.</p> <p>DMarkdown code was originally written as a part of the <a class="reference external" href="http://vibed.org/">vibe.d</a> project and its API (and most of its implementation) is identical to the <tt class="docutils literal">vibe.textfilter.markdown</tt> module from vibe.d .</p> </div> <div class="section" id="getting-started"> <h1>Getting Started</h1> <p>Assuming you use <a class="reference external" href="http://code.dlang.org/about">dub</a>, add this line:</p> <pre class="literal-block"> "dmarkdown": { "version" : "~>0.1.0" } </pre> <p>to the <tt class="docutils literal">"dependencies"</tt> in your project's <tt class="docutils literal">dub.json</tt>/<tt class="docutils literal">package.json</tt>.</p> <ul> <li><p class="first">Basic example:</p> <pre class="code d literal-block"> <span class="keyword">import</span> <span class="name">dmarkdown</span><span class="punctuation">;</span>
<span class="name builtin">string</span> <span class="name">text</span> <span class="punctuation">=</span>
<span class="literal string">"=======\n"</span>
<span class="literal string">"Heading\n"</span>
<span class="literal string">"=======\n"</span>
<span class="literal string">"\n"</span>
<span class="literal string">"**bold** *italic*\n"</span>
<span class="literal string">"\n"</span>
<span class="literal string">"List:\n"</span>
<span class="literal string">"\n"</span>
<span class="literal string">" * a\n"</span>
<span class="literal string">" * b\n"</span>
<span class="literal string">" * c\n"</span><span class="punctuation">;</span>
<span class="name builtin">string</span> <span class="name">html</span> <span class="punctuation">=</span> <span class="name">filterMarkdown</span><span class="punctuation">(</span><span class="name">text</span><span class="punctuation">);</span> <span class="keyword">import</span> <span class="name">std</span><span class="punctuation">.</span><span class="name">stdio</span><span class="punctuation">;</span> <span class="name">writeln</span><span class="punctuation">(</span><span class="name">html</span><span class="punctuation">);</span> </pre> </li> </ul> <p>To see API details, see the <a class="reference external" href="https://github.com/kiith-sa/dmarkdown/blob/master/source/dmarkdown/markdown.d">dmarkdown.markdown</a> module.</p> <!-- Add this sections when there's something to talk about --> <!-- - - - - - - - - --> <!-- Features --> <!-- - - - - - - - - --> <!-- Can write into both strings and character ranges. -->