aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGanesh Viswanathan <dev@genotrance.com>2018-11-04 14:27:27 -0600
committerGanesh Viswanathan <dev@genotrance.com>2018-11-04 14:27:27 -0600
commit44fc30a9cb00f6cb2537cdc2a4fad9a091b7681c (patch)
tree0798d46ddf0d80927349829fbe28ca9c9142a2d3
parentae6d4aff28559b13cec28c878209591ea3b57314 (diff)
downloadnimgen-44fc30a9cb00f6cb2537cdc2a4fad9a091b7681c.tar.gz
nimgen-44fc30a9cb00f6cb2537cdc2a4fad9a091b7681c.zip
Add nimdoc.cfg
-rw-r--r--nimgen.nimble2
-rw-r--r--web/CNAME1
-rw-r--r--web/nimdoc.cfg1401
3 files changed, 1403 insertions, 1 deletions
diff --git a/nimgen.nimble b/nimgen.nimble
index c6a2625..085580a 100644
--- a/nimgen.nimble
+++ b/nimgen.nimble
@@ -7,7 +7,7 @@ license = "MIT"
bin = @["nimgen"]
srcDir = "src"
-skipDirs = @["nimgen", "tests"]
+skipDirs = @["tests", "web"]
# Dependencies
diff --git a/web/CNAME b/web/CNAME
new file mode 100644
index 0000000..2c6879b
--- /dev/null
+++ b/web/CNAME
@@ -0,0 +1 @@
+nimgen.genotrance.com \ No newline at end of file
diff --git a/web/nimdoc.cfg b/web/nimdoc.cfg
new file mode 100644
index 0000000..55c2827
--- /dev/null
+++ b/web/nimdoc.cfg
@@ -0,0 +1,1401 @@
+# This is the config file for the documentation generator.
+# (c) 2016 Andreas Rumpf
+# Feel free to edit the templates as you need. If you modify this file, it
+# might be worth updating the hardcoded values in packages/docutils/rstgen.nim
+
+split.item.toc = "20"
+# too long entries in the table of contents wrap around
+# after this number of characters
+
+doc.section = """
+<div class="section" id="$sectionID">
+<h1><a class="toc-backref" href="#$sectionID">$sectionTitle</a></h1>
+<dl class="item">
+$content
+</dl></div>
+"""
+
+doc.section.toc = """
+<li>
+ <a class="reference reference-toplevel" href="#$sectionID" id="$sectionTitleID">$sectionTitle</a>
+ <ul class="simple simple-toc-section">
+ $content
+ </ul>
+</li>
+"""
+
+# Chunk of HTML emitted for each entry in the HTML table of contents.
+# Available variables are:
+# * $desc: the actual docstring of the item.
+# * $header: the full version of name, including types, pragmas, tags, etc.
+# * $header_plain: like header but without HTML, for attribute embedding.
+# * $itemID: numerical unique entry of the item in the HTML.
+# * $itemSym: short symbolic name of the item for easier hyperlinking.
+# * $itemSymEnc: quoted version for URLs or attributes.
+# * $itemSymOrID: the symbolic name or the ID if that is not unique.
+# * $itemSymOrIDEnc: quoted version for URLs or attributes.
+# * $name: reduced name of the item.
+# * $seeSrc: generated HTML from doc.item.seesrc (if some switches are used).
+
+doc.item = """
+<dt id="$itemSym"><a name="$itemSymOrID"></a><pre>$header</pre></dt>
+<dd>
+$desc
+$seeSrc
+</dd>
+"""
+
+# Chunk of HTML emitted for each entry in the HTML table of contents.
+# See doc.item for available substitution variables.
+doc.item.toc = """
+ <li><a class="reference" href="#$itemSymOrID"
+ title="$header_plain">$name<span class="attachedType" style="visibility:hidden">$attype</span></a></li>
+"""
+
+# HTML rendered for doc.item's seeSrc variable. Note that this will render to
+# the empty string if you don't pass anything through --docSeeSrcURL. Available
+# substitutaion variables here are:
+# * $path: relative path to the file being processed.
+# * $line: line of the item in the original source file.
+# * $url: whatever you did pass through the --docSeeSrcUrl switch (which also
+# gets variables path/line replaced!)
+doc.item.seesrc = """&nbsp;&nbsp;<a
+href="${url}/${path}.html#L-${line}"
+class="link-seesrc" target="_blank">Source</a>
+"""
+
+doc.toc = """
+<ul class="simple simple-toc" id="toc-list">
+$content
+</ul>
+"""
+
+doc.body_toc = """
+<div class="row">
+ <div class="three columns">
+ <div>
+ Search: <input type="text" id="searchInput"
+ onkeyup="search()" />
+ </div>
+ $tableofcontents
+ </div>
+ <div class="nine columns" id="content">
+ <div id="tocRoot"></div>
+ <p class="module-desc">$moduledesc</p>
+ $content
+ </div>
+</div>
+"""
+
+@if boot:
+# This is enabled with the "boot" directive to generate
+# the compiler documentation.
+# As a user, tweak the block below instead.
+# You can add your own global-links entries
+doc.body_toc_group = """
+<div class="row">
+ <div class="three columns">
+ <div id="global-links">
+ <ul class="simple">
+ <li>
+ <a href="manual.html">Manual</a>
+ </li>
+ <li>
+ <a href="lib.html">Standard library</a>
+ </li>
+ <li>
+ <a href="theindex.html">Index</a>
+ </li>
+ </ul>
+ </div>
+ <div id="searchInputDiv">
+ Search: <input type="text" id="searchInput"
+ onkeyup="search()" />
+ </div>
+ <div class="search-groupby">
+ Group by:
+ <select onchange="groupBy(this.value)">
+ <option value="section">Section</option>
+ <option value="type">Type</option>
+ </select>
+ </div>
+ $tableofcontents
+ </div>
+ <div class="nine columns" id="content">
+ <div id="tocRoot"></div>
+ <p class="module-desc">$moduledesc</p>
+ $content
+ </div>
+</div>
+"""
+
+@else
+
+doc.body_toc_group = """
+<div class="row">
+ <div class="three columns">
+ <div id="global-links">
+ <ul class="simple">
+ </ul>
+ </div>
+ <div id="searchInputDiv">
+ Search: <input type="text" id="searchInput"
+ onkeyup="search()" />
+ </div>
+ <div>
+ Group by:
+ <select onchange="groupBy(this.value)">
+ <option value="section">Section</option>
+ <option value="type">Type</option>
+ </select>
+ </div>
+ $tableofcontents
+ </div>
+ <div class="nine columns" id="content">
+ <div id="tocRoot"></div>
+ <p class="module-desc">$moduledesc</p>
+ $content
+ </div>
+</div>
+"""
+@end
+
+doc.body_no_toc = """
+$moduledesc
+$content
+"""
+
+doc.listing_start = "<pre class=\"listing\">"
+doc.listing_end = "</pre>"
+
+# * $analytics: Google analytics location, includes <script> tags
+doc.file = """<?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">
+<!-- This file is generated by Nim. -->
+<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="viewport" content="width=device-width, initial-scale=1.0">
+
+<!-- Favicon -->
+<link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="/>
+
+<!-- Google fonts -->
+<link href='https://fonts.googleapis.com/css?family=Lato:400,600,900' rel='stylesheet' type='text/css'/>
+<link href='https://fonts.googleapis.com/css?family=Source+Code+Pro:400,500,600' rel='stylesheet' type='text/css'/>
+
+<!-- CSS -->
+<title>$title</title>
+<style type="text/css" >
+/*
+Stylesheet for use with Docutils/rst2html.
+
+See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
+customize this style sheet.
+
+Modified from Chad Skeeters' rst2html-style
+https://bitbucket.org/cskeeters/rst2html-style/
+
+Modified by Boyd Greenfield
+*/
+/* SCSS variables */
+/* Text weights */
+/* Body colors */
+/* Text colors */
+/* Link colors */
+/* Syntax highlighting colors */
+/* Pct changes */
+/* Mixins */
+/* Body/layout */
+html {
+ font-size: 100%;
+ -webkit-text-size-adjust: 100%;
+ -ms-text-size-adjust: 100%; }
+
+/* Where we want fancier font if available */
+h1, h2, h3, h4, h5, h6, p.module-desc, table.docinfo + blockquote p, table.docinfo blockquote p, h1 + blockquote p {
+ font-family: "Lato", "Helvetica Neue", "HelveticaNeue", Helvetica, Arial, sans-serif !important; }
+
+h1.title {
+ font-weight: 900; }
+
+body {
+ font-family: "Lato", "Helvetica Neue", "HelveticaNeue", Helvetica, Arial, sans-serif;
+ font-weight: 400;
+ font-size: 16px;
+ line-height: 20px;
+ color: #444;
+ letter-spacing: 0.15px;
+ background-color: #FDFBFA; }
+
+/* Skeleton grid */
+.container {
+ position: relative;
+ width: 100%;
+ max-width: 960px;
+ margin: 0 auto;
+ padding: 0 20px;
+ box-sizing: border-box; }
+
+.column,
+.columns {
+ width: 100%;
+ float: left;
+ box-sizing: border-box; }
+
+/* For devices larger than 400px */
+@media (min-width: 400px) {
+ .container {
+ width: 100%;
+ padding: 0; } }
+/* For devices larger than 650px */
+@media (min-width: 650px) {
+ .container {
+ width: 100%; }
+
+ .column,
+ .columns {
+ margin-left: 4%; }
+
+ .column:first-child,
+ .columns:first-child {
+ margin-left: 0; }
+
+ .one.column,
+ .one.columns {
+ width: 4.66666666667%; }
+
+ .two.columns {
+ width: 13.3333333333%; }
+
+ .three.columns {
+ width: 22%; }
+
+ .four.columns {
+ width: 30.6666666667%; }
+
+ .five.columns {
+ width: 39.3333333333%; }
+
+ .six.columns {
+ width: 48%; }
+
+ .seven.columns {
+ width: 56.6666666667%; }
+
+ .eight.columns {
+ width: 65.3333333333%; }
+
+ .nine.columns {
+ width: 74.0%; }
+
+ .ten.columns {
+ width: 82.6666666667%; }
+
+ .eleven.columns {
+ width: 91.3333333333%; }
+
+ .twelve.columns {
+ width: 100%;
+ margin-left: 0; }
+
+ .one-third.column {
+ width: 30.6666666667%; }
+
+ .two-thirds.column {
+ width: 65.3333333333%; } }
+/* Customer Overrides */
+.footer {
+ text-align: center;
+ color: #969696;
+ padding-top: 10%; }
+
+p.module-desc {
+ font-size: 1.1em;
+ color: #666666; }
+
+a.link-seesrc {
+ color: #aec7d2;
+ font-style: italic; }
+
+a.link-seesrc:hover {
+ color: #6c9aae; }
+
+#toc-list {
+ word-wrap: break-word; }
+
+ul.simple-toc {
+ list-style: none; }
+
+ul.simple-toc a.reference-toplevel {
+ font-weight: bold;
+ color: #0077b3; }
+
+ul.simple-toc-section {
+ list-style-type: circle;
+ color: #6c9aae; }
+
+ul.simple-toc-section a.reference {
+ color: #0077b3; }
+
+cite {
+ font-style: italic !important; }
+
+dt > pre {
+ border-color: rgba(0, 0, 0, 0.1);
+ background-color: rgba(255, 255, 255, 0.3);
+ margin: 15px 0px 5px; }
+
+dd > pre {
+ border-color: rgba(0, 0, 0, 0.1);
+ background-color: whitesmoke;
+ margin-top: 8px; }
+
+.item > dd {
+ margin-left: 10px;
+ margin-bottom: 30px; }
+
+/* Nim line-numbered tables */
+.line-nums-table {
+ width: 100%;
+ table-layout: fixed; }
+
+/* Nim search input */
+div#searchInputDiv {
+ margin-bottom: 8px;
+}
+div#searchInputDiv input#searchInput {
+ width: 10em;
+}
+div.search-groupby {
+ margin-bottom: 8px;
+}
+
+table.line-nums-table {
+ border-radius: 4px;
+ border: 1px solid #cccccc;
+ background-color: whitesmoke;
+ border-collapse: separate;
+ margin-top: 15px;
+ margin-bottom: 25px; }
+
+.line-nums-table tbody {
+ border: none; }
+
+.line-nums-table td pre {
+ border: none;
+ background-color: transparent; }
+
+.line-nums-table td.blob-line-nums {
+ width: 28px; }
+
+.line-nums-table td.blob-line-nums pre {
+ color: #b0b0b0;
+ -webkit-filter: opacity(75%);
+ text-align: right;
+ border-color: transparent;
+ background-color: transparent;
+ padding-left: 0px;
+ margin-left: 0px;
+ padding-right: 0px;
+ margin-right: 0px; }
+
+/* Docgen styles */
+/* Links */
+a {
+ color: #0077b3;
+ text-decoration: none; }
+
+a:hover,
+a:focus {
+ color: #00334d;
+ text-decoration: underline; }
+
+a:visited {
+ color: #00334d; }
+
+a:focus {
+ outline: thin dotted #2d2d2d;
+ outline: 5px auto -webkit-focus-ring-color;
+ outline-offset: -2px; }
+
+a:hover,
+a:active {
+ outline: 0; }
+
+sub,
+sup {
+ position: relative;
+ font-size: 75%;
+ line-height: 0;
+ vertical-align: baseline; }
+
+sup {
+ top: -0.5em; }
+
+sub {
+ bottom: -0.25em; }
+
+img {
+ width: auto;
+ height: auto;
+ max-width: 100%;
+ vertical-align: middle;
+ border: 0;
+ -ms-interpolation-mode: bicubic; }
+
+@media print {
+ * {
+ color: black !important;
+ text-shadow: none !important;
+ background: transparent !important;
+ box-shadow: none !important; }
+
+ a,
+ a:visited {
+ text-decoration: underline; }
+
+ a[href]:after {
+ content: " (" attr(href) ")"; }
+
+ abbr[title]:after {
+ content: " (" attr(title) ")"; }
+
+ .ir a:after,
+ a[href^="javascript:"]:after,
+ a[href^="#"]:after {
+ content: ""; }
+
+ pre,
+ blockquote {
+ border: 1px solid #999;
+ page-break-inside: avoid; }
+
+ thead {
+ display: table-header-group; }
+
+ tr,
+ img {
+ page-break-inside: avoid; }
+
+ img {
+ max-width: 100% !important; }
+
+ @page {
+ margin: 0.5cm; }
+
+ h1 {
+ page-break-before: always; }
+
+ h1.title {
+ page-break-before: avoid; }
+
+ p,
+ h2,
+ h3 {
+ orphans: 3;
+ widows: 3; }
+
+ h2,
+ h3 {
+ page-break-after: avoid; } }
+.img-rounded {
+ -webkit-border-radius: 6px;
+ -moz-border-radius: 6px;
+ border-radius: 6px; }
+
+.img-polaroid {
+ padding: 4px;
+ background-color: rgba(252, 248, 244, 0.75);
+ border: 1px solid #ccc;
+ border: 1px solid rgba(0, 0, 0, 0.2);
+ -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
+ -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); }
+
+p {
+ margin: 0 0 8px; }
+
+small {
+ font-size: 85%; }
+
+strong {
+ font-weight: 600; }
+
+em {
+ font-style: italic; }
+
+cite {
+ font-style: normal; }
+
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+ font-family: "Lato", "Helvetica Neue", "HelveticaNeue", Helvetica, Arial, sans-serif;
+ font-weight: 600;
+ line-height: 20px;
+ color: inherit;
+ text-rendering: optimizelegibility; }
+
+h1 {
+ font-size: 2em;
+ font-weight: 400;
+ padding-bottom: .15em;
+ border-bottom: 1px solid #aaaaaa;
+ margin-top: 1.0em;
+ line-height: 1.2em; }
+
+h1.title {
+ padding-bottom: 1em;
+ border-bottom: 0px;
+ font-size: 2.75em; }
+
+h2 {
+ font-size: 1.5em;
+ margin-top: 1.5em; }
+
+h3 {
+ font-size: 1.3em;
+ font-style: italic;
+ margin-top: 0.75em; }
+
+h4 {
+ font-size: 1.3em;
+ margin-top: 0.5em; }
+
+h5 {
+ font-size: 1.2em;
+ margin-top: 0.25em; }
+
+h6 {
+ font-size: 1.1em; }
+
+ul,
+ol {
+ padding: 0;
+ margin: 0 0 0px 15px; }
+
+ul ul,
+ul ol,
+ol ol,
+ol ul {
+ margin-bottom: 0; }
+
+li {
+ line-height: 20px; }
+
+dl {
+ margin-bottom: 20px; }
+
+dt,
+dd {
+ line-height: 20px; }
+
+dt {
+ font-weight: bold; }
+
+dd {
+ margin-left: 10px;
+ margin-bottom: 26px; }
+
+hr {
+ margin: 20px 0;
+ border: 0;
+ border-top: 1px solid #eeeeee;
+ border-bottom: 1px solid #ffffff; }
+
+abbr[title],
+abbr[data-original-title] {
+ cursor: help;
+ border-bottom: 1px dotted #999999; }
+
+abbr.initialism {
+ font-size: 90%;
+ text-transform: uppercase; }
+
+blockquote {
+ padding: 0 0 0 15px;
+ margin: 0 0 20px;
+ border-left: 5px solid #EFEBE0; }
+
+table.docinfo + blockquote, table.docinfo blockquote, h1 + blockquote {
+ border-left: 5px solid #c9c9c9;
+}
+
+table.docinfo + blockquote p, table.docinfo blockquote p, h1 + blockquote p {
+ margin-bottom: 0;
+ font-size: 15px;
+ font-weight: 200;
+ line-height: 1.5;
+ font-style: italic; }
+
+q:before,
+q:after,
+blockquote:before,
+blockquote:after {
+ content: ""; }
+
+address {
+ display: block;
+ margin-bottom: 20px;
+ font-style: normal;
+ line-height: 20px; }
+
+code,
+pre {
+ font-family: "Source Code Pro", Monaco, Menlo, Consolas, "Courier New", monospace;
+ padding: 0 3px 2px;
+ font-weight: 500;
+ font-size: 12px;
+ color: #444444;
+ -webkit-border-radius: 3px;
+ -moz-border-radius: 3px;
+ border-radius: 3px; }
+
+.pre {
+ font-family: "Source Code Pro", Monaco, Menlo, Consolas, "Courier New", monospace;
+ font-weight: 600;
+ /*color: #504da6;*/
+}
+
+code {
+ padding: 2px 4px;
+ color: #444444;
+ white-space: nowrap;
+ background-color: white;
+ border: 1px solid #777777; }
+
+pre {
+ display: inline-block;
+ box-sizing: border-box;
+ min-width: calc(100% - 19.5px);
+ padding: 9.5px;
+ margin: 0.25em 10px 10px 10px;
+ font-size: 15px;
+ line-height: 20px;
+ white-space: pre !important;
+ overflow-y: hidden;
+ overflow-x: visible;
+ background-color: rgba(0, 0, 0, 0.01);
+ border: 1px solid #cccccc;
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ border-radius: 4px; }
+
+pre.prettyprint {
+ margin-bottom: 20px; }
+
+pre code {
+ padding: 0;
+ color: inherit;
+ white-space: pre;
+ overflow-x: visible;
+ background-color: transparent;
+ border: 0; }
+
+.pre-scrollable {
+ max-height: 340px;
+ overflow-y: scroll; }
+
+table {
+ max-width: 100%;
+ background-color: transparent;
+ border-collapse: collapse;
+ border-spacing: 0; }
+
+table th, table td {
+ padding: 0px 8px 0px;
+}
+
+.table {
+ width: 100%;
+ margin-bottom: 20px; }
+
+.table th,
+.table td {
+ padding: 8px;
+ line-height: 20px;
+ text-align: left;
+ vertical-align: top;
+ border-top: 1px solid #444444; }
+
+.table th {
+ font-weight: bold; }
+
+.table thead th {
+ vertical-align: bottom; }
+
+.table caption + thead tr:first-child th,
+.table caption + thead tr:first-child td,
+.table colgroup + thead tr:first-child th,
+.table colgroup + thead tr:first-child td,
+.table thead:first-child tr:first-child th,
+.table thead:first-child tr:first-child td {
+ border-top: 0; }
+
+.table tbody + tbody {
+ border-top: 2px solid #444444; }
+
+.table .table {
+ background-color: rgba(252, 248, 244, 0.75); }
+
+.table-condensed th,
+.table-condensed td {
+ padding: 4px 5px; }
+
+.table-bordered {
+ border: 1px solid #444444;
+ border-collapse: separate;
+ *border-collapse: collapse;
+ border-left: 0;
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ border-radius: 4px; }
+
+.table-bordered th,
+.table-bordered td {
+ border-left: 1px solid #444444; }
+
+.table-bordered caption + thead tr:first-child th,
+.table-bordered caption + tbody tr:first-child th,
+.table-bordered caption + tbody tr:first-child td,
+.table-bordered colgroup + thead tr:first-child th,
+.table-bordered colgroup + tbody tr:first-child th,
+.table-bordered colgroup + tbody tr:first-child td,
+.table-bordered thead:first-child tr:first-child th,
+.table-bordered tbody:first-child tr:first-child th,
+.table-bordered tbody:first-child tr:first-child td {
+ border-top: 0; }
+
+.table-bordered thead:first-child tr:first-child > th:first-child,
+.table-bordered tbody:first-child tr:first-child > td:first-child,
+.table-bordered tbody:first-child tr:first-child > th:first-child {
+ -webkit-border-top-left-radius: 4px;
+ border-top-left-radius: 4px;
+ -moz-border-radius-topleft: 4px; }
+
+.table-bordered thead:first-child tr:first-child > th:last-child,
+.table-bordered tbody:first-child tr:first-child > td:last-child,
+.table-bordered tbody:first-child tr:first-child > th:last-child {
+ -webkit-border-top-right-radius: 4px;
+ border-top-right-radius: 4px;
+ -moz-border-radius-topright: 4px; }
+
+.table-bordered thead:last-child tr:last-child > th:first-child,
+.table-bordered tbody:last-child tr:last-child > td:first-child,
+.table-bordered tbody:last-child tr:last-child > th:first-child,
+.table-bordered tfoot:last-child tr:last-child > td:first-child,
+.table-bordered tfoot:last-child tr:last-child > th:first-child {
+ -webkit-border-bottom-left-radius: 4px;
+ border-bottom-left-radius: 4px;
+ -moz-border-radius-bottomleft: 4px; }
+
+.table-bordered thead:last-child tr:last-child > th:last-child,
+.table-bordered tbody:last-child tr:last-child > td:last-child,
+.table-bordered tbody:last-child tr:last-child > th:last-child,
+.table-bordered tfoot:last-child tr:last-child > td:last-child,
+.table-bordered tfoot:last-child tr:last-child > th:last-child {
+ -webkit-border-bottom-right-radius: 4px;
+ border-bottom-right-radius: 4px;
+ -moz-border-radius-bottomright: 4px; }
+
+.table-bordered tfoot + tbody:last-child tr:last-child td:first-child {
+ -webkit-border-bottom-left-radius: 0;
+ border-bottom-left-radius: 0;
+ -moz-border-radius-bottomleft: 0; }
+
+.table-bordered tfoot + tbody:last-child tr:last-child td:last-child {
+ -webkit-border-bottom-right-radius: 0;
+ border-bottom-right-radius: 0;
+ -moz-border-radius-bottomright: 0; }
+
+.table-bordered caption + thead tr:first-child th:first-child,
+.table-bordered caption + tbody tr:first-child td:first-child,
+.table-bordered colgroup + thead tr:first-child th:first-child,
+.table-bordered colgroup + tbody tr:first-child td:first-child {
+ -webkit-border-top-left-radius: 4px;
+ border-top-left-radius: 4px;
+ -moz-border-radius-topleft: 4px; }
+
+.table-bordered caption + thead tr:first-child th:last-child,
+.table-bordered caption + tbody tr:first-child td:last-child,
+.table-bordered colgroup + thead tr:first-child th:last-child,
+.table-bordered colgroup + tbody tr:first-child td:last-child {
+ -webkit-border-top-right-radius: 4px;
+ border-top-right-radius: 4px;
+ -moz-border-radius-topright: 4px; }
+
+table.docutils th {
+ background-color: #e8e8e8; }
+
+table.docutils tr:hover {
+ background-color: whitesmoke; }
+
+.table-striped tbody > tr:nth-child(odd) > td,
+.table-striped tbody > tr:nth-child(odd) > th {
+ background-color: rgba(252, 248, 244, 0.75); }
+
+.table-hover tbody tr:hover > td,
+.table-hover tbody tr:hover > th {
+ background-color: rgba(241, 222, 204, 0.75); }
+
+table td[class*="span"],
+table th[class*="span"],
+.row-fluid table td[class*="span"],
+.row-fluid table th[class*="span"] {
+ display: table-cell;
+ float: none;
+ margin-left: 0; }
+
+.hero-unit {
+ padding: 60px;
+ margin-bottom: 30px;
+ font-size: 18px;
+ font-weight: 200;
+ line-height: 30px;
+ color: inherit;
+ background-color: rgba(230, 197, 164, 0.75);
+ -webkit-border-radius: 6px;
+ -moz-border-radius: 6px;
+ border-radius: 6px; }
+
+.hero-unit h1 {
+ margin-bottom: 0;
+ font-size: 60px;
+ line-height: 1;
+ letter-spacing: -1px;
+ color: inherit; }
+
+.hero-unit li {
+ line-height: 30px; }
+
+/* rst2html default 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: #444444; }
+
+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.note, div.warning {
+ margin: 1.5em 0px;
+ border: none; }
+
+div.note p.admonition-title,
+div.warning p.admonition-title {
+ display: none; }
+
+/* Clearfix
+ * http://css-tricks.com/snippets/css/clear-fix/
+ */
+div.note:after,
+div.warning:after {
+ content: "";
+ display: table;
+ clear: both; }
+
+div.note p:before,
+div.warning p:before {
+ display: block;
+ float: left;
+ font-size: 4em;
+ line-height: 1em;
+ margin-right: 20px;
+ margin-left: 0em;
+ margin-top: -10px;
+ content: '\0270D';
+ /*handwriting*/ }
+
+div.warning p:before {
+ content: '\026A0';
+ /*warning*/ }
+
+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: "Lato", "Helvetica Neue", "HelveticaNeue", Helvetica, Arial, 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: #b30000;
+ font-weight: bold;
+ font-family: "Lato", "Helvetica Neue", "HelveticaNeue", Helvetica, Arial, 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: rgba(252, 248, 244, 0.75);
+ width: 40%;
+ float: right;
+ clear: right; }
+
+div.sidebar p.rubric {
+ font-family: "Lato", "Helvetica Neue", "HelveticaNeue", Helvetica, Arial, sans-serif;
+ font-size: medium; }
+
+div.system-messages {
+ margin: 5em; }
+
+div.system-messages h1 {
+ color: #b30000; }
+
+div.system-message {
+ border: medium outset;
+ padding: 1em; }
+
+div.system-message p.system-message-title {
+ color: #b30000;
+ 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 } */
+
+ul.simple > li {
+ margin-bottom: 0.5em }
+
+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: "Lato", "Helvetica Neue", "HelveticaNeue", Helvetica, Arial, sans-serif;
+ font-weight: bold;
+ font-size: larger; }
+
+p.sidebar-subtitle {
+ font-family: "Lato", "Helvetica Neue", "HelveticaNeue", Helvetica, Arial, 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: "Lato", "Helvetica Neue", "HelveticaNeue", Helvetica, Arial, sans-serif;
+ font-style: oblique; }
+
+span.classifier-delimiter {
+ font-family: "Lato", "Helvetica Neue", "HelveticaNeue", Helvetica, Arial, sans-serif;
+ font-weight: bold; }
+
+span.interpreted {
+ font-family: "Lato", "Helvetica Neue", "HelveticaNeue", Helvetica, Arial, sans-serif; }
+
+span.option {
+ white-space: nowrap; }
+
+span.pre {
+ white-space: pre; }
+
+span.problematic {
+ color: #b30000; }
+
+span.section-subtitle {
+ /* font-size relative to parent (h1..h6 element) */
+ font-size: 80%; }
+
+table.citation {
+ border-left: solid 1px #666666;
+ margin-left: 1px; }
+
+table.docinfo {
+ margin: 0em;
+ margin-top: 2em;
+ margin-bottom: 2em;
+ font-family: "Lato", "Helvetica Neue", "HelveticaNeue", Helvetica, Arial, sans-serif !important;
+ color: #444444; }
+
+table.docutils {
+ margin-top: 0.5em;
+ margin-bottom: 0.5em; }
+
+table.footnote {
+ border-left: solid 1px #2d2d2d;
+ 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: 700;
+ text-align: left;
+ white-space: nowrap;
+ padding-left: 0; }
+
+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; }
+
+span.DecNumber {
+ color: #252dbe; }
+
+span.BinNumber {
+ color: #252dbe; }
+
+span.HexNumber {
+ color: #252dbe; }
+
+span.OctNumber {
+ color: #252dbe; }
+
+span.FloatNumber {
+ color: #252dbe; }
+
+span.Identifier {
+ color: #3b3b3b; }
+
+span.Keyword {
+ font-weight: 600;
+ color: #5e8f60; }
+
+span.StringLit {
+ color: #a4255b; }
+
+span.LongStringLit {
+ color: #a4255b; }
+
+span.CharLit {
+ color: #a4255b; }
+
+span.EscapeSequence {
+ color: black; }
+
+span.Operator {
+ color: black; }
+
+span.Punctuation {
+ color: black; }
+
+span.Comment, span.LongComment {
+ font-style: italic;
+ font-weight: 400;
+ color: #484a86; }
+
+span.RegularExpression {
+ color: darkviolet; }
+
+span.TagStart {
+ color: darkviolet; }
+
+span.TagEnd {
+ color: darkviolet; }
+
+span.Key {
+ color: #252dbe; }
+
+span.Value {
+ color: #252dbe; }
+
+span.RawData {
+ color: #a4255b; }
+
+span.Assembler {
+ color: #252dbe; }
+
+span.Preprocessor {
+ color: #252dbe; }
+
+span.Directive {
+ color: #252dbe; }
+
+span.Command, span.Rule, span.Hyperlink, span.Label, span.Reference,
+span.Other {
+ color: black; }
+
+/* Pop type, const, proc, and iterator defs in nim def blocks */
+dt pre > span.Identifier, dt pre > span.Operator {
+ color: #155da4;
+ font-weight: 700; }
+
+dt pre > span.Identifier ~ span.Identifier, dt pre > span.Operator ~ span.Identifier {
+ color: inherit;
+ font-weight: inherit; }
+
+dt pre > span.Operator ~ span.Identifier {
+ color: inherit;
+ font-weight: inherit; }
+
+/* Nim sprite for the footer (taken from main page favicon) */
+.nim-sprite {
+ display: inline-block;
+ height: 12px;
+ width: 12px;
+ background-position: 0 0;
+ background-size: 12px 12px;
+ -webkit-filter: opacity(50%);
+ background-repeat: no-repeat;
+ background-image: url("data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA==");
+ margin-bottom: -5px; }
+div.pragma {
+ display: none;
+}
+span.pragmabegin {
+ cursor: pointer;
+}
+span.pragmaend {
+ cursor: pointer;
+}
+
+div.search_results {
+ background-color: antiquewhite;
+ margin: 3em;
+ padding: 1em;
+ border: 1px solid #4d4d4d;
+}
+
+div#global-links ul {
+ margin-left: 0;
+ list-style-type: none;
+}
+</style>
+
+<script type="text/javascript" src="../dochack.js"></script>
+
+<script type="text/javascript">
+function togglepragma(d) {
+ if (d.style.display != 'inline')
+ d.style.display = 'inline';
+ else
+ d.style.display = 'none';
+}
+
+function main() {
+ var elements = document.getElementsByClassName("pragmabegin");
+ for (var i = 0; i < elements.length; ++i) {
+ var e = elements[i];
+ e.onclick = function(event) {
+ togglepragma(event.target.nextSibling);
+ };
+ }
+ var elements = document.getElementsByClassName("pragmaend");
+ for (var i = 0; i < elements.length; ++i) {
+ var e = elements[i];
+ e.onclick = function(event) {
+ togglepragma(event.target.previousSibling);
+ };
+ }
+}
+</script>
+
+</head>
+<body onload="main()">
+<div class="document" id="documentId">
+ <div class="container">
+ <h1 class="title">$title</h1>
+ $content
+ <div class="row">
+ <div class="twelve-columns footer">
+ <span class="nim-sprite"></span>
+ <br/>
+ <small>Made with Nim. Generated: $date $time UTC</small>
+ </div>
+ </div>
+ </div>
+</div>
+$analytics
+</body>
+</html>
+"""