From 11259190aca775d9864022d8dd9fbb58e43f167c Mon Sep 17 00:00:00 2001 From: bnewbold Date: Tue, 30 Dec 2014 04:40:22 +0100 Subject: initial sphinx skeleton --- Makefile | 177 +++++++++++++ README.txt | 4 + _better_theme/__init__.py | 3 + _better_theme/layout.html | 95 +++++++ _better_theme/relbar.html | 52 ++++ _better_theme/searchbox.html | 11 + _better_theme/static/better.css_t | 324 +++++++++++++++++++++++ _better_theme/static/better_basic.css_t | 455 ++++++++++++++++++++++++++++++++ _better_theme/theme.conf | 28 ++ _static/img/novena_logo.png | Bin 0 -> 4351 bytes _static/pygments-solarized-dark.css | 70 +++++ _static/style.css | 143 ++++++++++ _templates/layout.html | 9 + _templates/sidebarresources.html | 16 ++ conf.py | 274 +++++++++++++++++++ index.rst | 13 + 16 files changed, 1674 insertions(+) create mode 100644 Makefile create mode 100644 README.txt create mode 100644 _better_theme/__init__.py create mode 100644 _better_theme/layout.html create mode 100644 _better_theme/relbar.html create mode 100644 _better_theme/searchbox.html create mode 100644 _better_theme/static/better.css_t create mode 100644 _better_theme/static/better_basic.css_t create mode 100644 _better_theme/theme.conf create mode 100644 _static/img/novena_logo.png create mode 100644 _static/pygments-solarized-dark.css create mode 100644 _static/style.css create mode 100644 _templates/layout.html create mode 100644 _templates/sidebarresources.html create mode 100644 conf.py create mode 100644 index.rst diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..7806604 --- /dev/null +++ b/Makefile @@ -0,0 +1,177 @@ +# Makefile for Sphinx documentation +# + +# You can set these variables from the command line. +SPHINXOPTS = +SPHINXBUILD = sphinx-build +PAPER = +BUILDDIR = _build + +# User-friendly check for sphinx-build +ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1) +$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/) +endif + +# Internal variables. +PAPEROPT_a4 = -D latex_paper_size=a4 +PAPEROPT_letter = -D latex_paper_size=letter +ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . +# the i18n builder cannot share the environment and doctrees with the others +I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . + +.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext + +help: + @echo "Please use \`make ' where is one of" + @echo " html to make standalone HTML files" + @echo " dirhtml to make HTML files named index.html in directories" + @echo " singlehtml to make a single large HTML file" + @echo " pickle to make pickle files" + @echo " json to make JSON files" + @echo " htmlhelp to make HTML files and a HTML help project" + @echo " qthelp to make HTML files and a qthelp project" + @echo " devhelp to make HTML files and a Devhelp project" + @echo " epub to make an epub" + @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" + @echo " latexpdf to make LaTeX files and run them through pdflatex" + @echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx" + @echo " text to make text files" + @echo " man to make manual pages" + @echo " texinfo to make Texinfo files" + @echo " info to make Texinfo files and run them through makeinfo" + @echo " gettext to make PO message catalogs" + @echo " changes to make an overview of all changed/added/deprecated items" + @echo " xml to make Docutils-native XML files" + @echo " pseudoxml to make pseudoxml-XML files for display purposes" + @echo " linkcheck to check all external links for integrity" + @echo " doctest to run all doctests embedded in the documentation (if enabled)" + +clean: + rm -rf $(BUILDDIR)/* + +html: + $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html + @echo + @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." + +dirhtml: + $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml + @echo + @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." + +singlehtml: + $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml + @echo + @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." + +pickle: + $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle + @echo + @echo "Build finished; now you can process the pickle files." + +json: + $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json + @echo + @echo "Build finished; now you can process the JSON files." + +htmlhelp: + $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp + @echo + @echo "Build finished; now you can run HTML Help Workshop with the" \ + ".hhp project file in $(BUILDDIR)/htmlhelp." + +qthelp: + $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp + @echo + @echo "Build finished; now you can run "qcollectiongenerator" with the" \ + ".qhcp project file in $(BUILDDIR)/qthelp, like this:" + @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/novena-guide.qhcp" + @echo "To view the help file:" + @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/novena-guide.qhc" + +devhelp: + $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp + @echo + @echo "Build finished." + @echo "To view the help file:" + @echo "# mkdir -p $$HOME/.local/share/devhelp/novena-guide" + @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/novena-guide" + @echo "# devhelp" + +epub: + $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub + @echo + @echo "Build finished. The epub file is in $(BUILDDIR)/epub." + +latex: + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex + @echo + @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex." + @echo "Run \`make' in that directory to run these through (pdf)latex" \ + "(use \`make latexpdf' here to do that automatically)." + +latexpdf: + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex + @echo "Running LaTeX files through pdflatex..." + $(MAKE) -C $(BUILDDIR)/latex all-pdf + @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." + +latexpdfja: + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex + @echo "Running LaTeX files through platex and dvipdfmx..." + $(MAKE) -C $(BUILDDIR)/latex all-pdf-ja + @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." + +text: + $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text + @echo + @echo "Build finished. The text files are in $(BUILDDIR)/text." + +man: + $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man + @echo + @echo "Build finished. The manual pages are in $(BUILDDIR)/man." + +texinfo: + $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo + @echo + @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo." + @echo "Run \`make' in that directory to run these through makeinfo" \ + "(use \`make info' here to do that automatically)." + +info: + $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo + @echo "Running Texinfo files through makeinfo..." + make -C $(BUILDDIR)/texinfo info + @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo." + +gettext: + $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale + @echo + @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale." + +changes: + $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes + @echo + @echo "The overview file is in $(BUILDDIR)/changes." + +linkcheck: + $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck + @echo + @echo "Link check complete; look for any errors in the above output " \ + "or in $(BUILDDIR)/linkcheck/output.txt." + +doctest: + $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest + @echo "Testing of doctests in the sources finished, look at the " \ + "results in $(BUILDDIR)/doctest/output.txt." + +xml: + $(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml + @echo + @echo "Build finished. The XML files are in $(BUILDDIR)/xml." + +pseudoxml: + $(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml + @echo + @echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml." diff --git a/README.txt b/README.txt new file mode 100644 index 0000000..de34731 --- /dev/null +++ b/README.txt @@ -0,0 +1,4 @@ + +This is sphinx documentation. Build with ``make html``. + +The web version is hosted on readthedocs using git hooks for autogeneration. diff --git a/_better_theme/__init__.py b/_better_theme/__init__.py new file mode 100644 index 0000000..010d4ac --- /dev/null +++ b/_better_theme/__init__.py @@ -0,0 +1,3 @@ +import os +better_theme_path = os.path.split(os.path.dirname(__file__))[0] +__version__ = '0.1.5' diff --git a/_better_theme/layout.html b/_better_theme/layout.html new file mode 100644 index 0000000..31c6675 --- /dev/null +++ b/_better_theme/layout.html @@ -0,0 +1,95 @@ +{%- extends "basic/layout.html" %} +{%- from "relbar.html" import relbar_top with context %} +{%- from "relbar.html" import relbar_bottom with context %} + +{#- ### head ### -#} + +{%- block extrahead %} + + {#- make mobile reasonable #} + + + {%- for css_file in theme_cssfiles %} + {%- if css_file.startswith('http') %} + + {%- else %} + + {%- endif %} + {%- endfor %} + + {%- for js_file in theme_scriptfiles %} + + {%- endfor %} + + {%- if theme_inlinecss %} + + {%- endif %} + + {%- block userhead %} + {%- endblock %} +{%- endblock %} + +{#- ### content ### -#} + +{%- block header %} + {%- if theme_showheader|tobool %} + + {%- endif %} +{%- endblock %} + +{%- block relbar1 -%}{{ relbar_top() }}{%- endblock -%} +{%- block relbar2 -%}{{ relbar_bottom() }}{%- endblock -%} + +{%- block footer %} +
+ + {%- if show_copyright %} + {%- if hasdoc('copyright') %} + {% trans path=pathto('copyright'), copyright=copyright|e %} + © {{ copyright }} . + {% endtrans %} + {%- else %} + {%- trans copyright=copyright|e -%} + © {{ copyright }}. + {%- endtrans %} + {%- endif %} + {%- endif %} + + {%- if last_updated %} + {%- trans last_updated=last_updated|e -%} + Last updated on {{ last_updated }}. + {%- endtrans %} + {%- endif %} + + {%- if show_sphinx %} + Created using Sphinx + {{ sphinx_version }} + {%- if theme_linktotheme|tobool %} + with the + better theme + {%- endif %}. + {%- else %} + {%- if theme_linktotheme %} + This site uses the + + “better” + theme for Sphinx. + {%- endif %} + {%- endif %} + +
+ + {% if theme_ga_ua %} + + {% endif %} +{%- endblock %} diff --git a/_better_theme/relbar.html b/_better_theme/relbar.html new file mode 100644 index 0000000..6dc8b46 --- /dev/null +++ b/_better_theme/relbar.html @@ -0,0 +1,52 @@ +{%- macro rellink_markup() %} + +{%- endmacro %} + +{%- macro breadcrumbs_markup() %} + +{%- endmacro %} + +{%- macro relbar_top() %} + {%- if theme_showrelbartop|tobool %} + + {%- endif %} +{%- endmacro %} + +{%- macro relbar_bottom() %} + {%- if theme_showrelbarbottom|tobool %} + + {%- endif %} +{%- endmacro %} diff --git a/_better_theme/searchbox.html b/_better_theme/searchbox.html new file mode 100644 index 0000000..f761ce8 --- /dev/null +++ b/_better_theme/searchbox.html @@ -0,0 +1,11 @@ +{%- if pagename != "search" %} + + +{%- endif %} diff --git a/_better_theme/static/better.css_t b/_better_theme/static/better.css_t new file mode 100644 index 0000000..a697182 --- /dev/null +++ b/_better_theme/static/better.css_t @@ -0,0 +1,324 @@ +@import url("better_basic.css"); + +{% set theme_headtextcolor = theme_headtextcolor or theme_textcolor %} +{% set theme_footertextcolor = theme_footertextcolor or theme_textcolor %} + +/* main styles */ + +body { + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 100%; + color: {{ theme_textcolor }}; + margin: 0; + padding: 0; + line-height: 135%; +} + +a { + color: #008; + text-decoration: none; +} + +a:visited { + color: #208; + text-decoration: none; +} + +a:hover { + text-decoration: underline; +} + +a.toc-backref { + color: {{ theme_headtextcolor }}; +} + +p { + margin: 1rem 0; +} + +h1, h2, h3, h4, h5, h6 { + margin-top: 1em; + margin-bottom: 0.5em; + color: {{ theme_headtextcolor }}; + line-height: 135%; +} + +.body .section:first-child > :first-child, +.sphinxsidebarwrapper > :first-child, +.sphinxsidebar .search:first-child +{ + margin-top: 1rem; +} + +h1 { font-size: 1.5rem; font-weight: bold; } +h2 { font-size: 1.5rem; font-weight: normal; } +h3 { font-size: 1.25rem; font-weight: bold; } +h4 { font-size: 1.25rem; font-weight: normal; } +h5 { font-size: 1rem; font-weight: bold; } +h6 { font-size: 1rem; font-weight: normal; } + +/* page-level layout of containers */ + +header#pageheader, footer#pagefooter, .related, .document { + width: 100%; + max-width: 60rem; + margin: auto; +} + +.documentwrapper { + float: left; + width: 100%; +} + +.bodywrapper { + {% if theme_rightsidebar|tobool -%} + margin: 0 {{ theme_sidebarwidth }} 0 0; + {%- else -%} + margin: 0 0 0 {{ theme_sidebarwidth }}; + {%- endif %} +} + +footer#pagefooter, footer#pagefooter a { + color: {{ theme_footertextcolor }}; +} + + +footer#pagefooter { + padding-top: 2rem; + padding-bottom: 2rem; + text-align: center; +} + +footer#pagefooter a { + text-decoration: underline; +} + +/* header styles */ + +body > header h1 a, body > header h1 a:visited { + color: {{ theme_headtextcolor }}; +} + +a.headerlink { + font-size: 0.8em; + padding: 0 4px 0 4px; + text-decoration: none; +} + +/* code styles */ + +pre, tt { + background-color: #eee; + color: #333; +} + +pre { + font-family: Monaco, Consolas, "Lucida Console", monospace; + margin: 1rem -5px; + padding: 5px; + border-left: none; + border-right: none; + font-size: 0.8rem; + line-height: 1rem; +} + +tt { + padding: 0 1px 0 1px; + font-family: Consolas, Monaco, monospace; +} + +/* API doc styles */ + +dl.function, +dl.class, +dl.method, +dl.attribute, +dl.data, +dl.classmethod { + margin-bottom: 2rem; +} + +/* relbar */ + +.related { + line-height: 30px; + width: 100%; + font-size: 0.9rem; +} + +.related.top { + border-bottom: 1px solid #aaa; +} + +.related.bottom { + border-top: 1px solid #aaa; +} + +.related ul { + padding: 0; + margin: 0; + list-style: none; +} + +.related li { + display: inline; +} + +nav#rellinks { + float: right; +} + +nav#rellinks li+li:before { + content: "|"; +} + +nav#breadcrumbs li+li:before { + content: "\00BB"; +} + +/* sidebar */ + +.sphinxsidebarwrapper { + padding: 0 1rem 0 0; +} + +.sphinxsidebar { + width: {{ theme_sidebarwidth }}; + margin-left: -100%; + font-size: 0.9rem; + {%- if theme_rightsidebar|tobool %} + float: right; + {%- else %} + float: left; + {%- endif %} +} + +.sphinxsidebar h3 a { + color: {{ theme_headtextcolor }}; +} + +.sphinxsidebar p.topless { + margin: 5px 10px 10px 10px; +} + +.sphinxsidebar ul { + margin: 0; + padding: 0; + margin-bottom: 1rem; + list-style: none; +} + +.sphinxsidebar ul ul, +.sphinxsidebar ul.want-points { + margin-left: 20px; + list-style: square; +} + +.sphinxsidebar ul ul { + margin-top: 0; + margin-bottom: 0; +} + +.sphinxsidebar input { + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + height: 1.5rem; + font-size: 0.9rem; + margin: 0; + + background-color: white; + border: 1px solid #ccc; + color: #555; +} + +.sphinxsidebar .search { + margin-top: 2rem; +} + +.sphinxsidebar .search input[type=text] { + {#- width: calc({{ theme_sidebarwidth }} - 5rem); #} + {#- width: -webkit-calc({{ theme_sidebarwidth }} - 5rem); #} + width: 90%; + display: inline-block; +} + +.sphinxsidebar .search input[type=submit] { + width: 4rem; + display: inline-block; +} + +/* paragraph-level markup */ + +.admonition p.admonition-title + p { + display: inline; +} + +.admonition p { + margin-bottom: 5px; +} + +.admonition pre { + margin-bottom: 5px; +} + +.admonition ul, .admonition ol { + margin-bottom: 5px; +} + +p.admonition-title { + display: inline; + margin-right: 0; +} + +p.admonition-title:after { + content: ":"; +} + +.note { + background-color: #eee; + border: 1px solid #ccc; +} + +.seealso { + background-color: #ffc; + border: 1px solid #ff6; +} + +.topic { + background-color: #eee; +} + +.warning { + background-color: #ffe4e4; + border: 1px solid #f66; +} + +.warning tt { + background: #efc2c2; +} + +.note tt { + background: #d6d6d6; +} + +.viewcode-block:target { + background-color: #f4debf; + border-top: 1px solid #ac9; + border-bottom: 1px solid #ac9; +} + +/* responsive styles */ + +@media (max-width: 820px) { + /* kill the sidebar */ + .bodywrapper { margin: 0; } + .sphinxsidebar { + display: none; + } + header#pageheader, footer#pagefooter, .related, .document { + margin: 0 1rem; + width: calc(100% - 2rem); + width: -webkit-calc(100% - 2rem); + } +} diff --git a/_better_theme/static/better_basic.css_t b/_better_theme/static/better_basic.css_t new file mode 100644 index 0000000..e06e6e9 --- /dev/null +++ b/_better_theme/static/better_basic.css_t @@ -0,0 +1,455 @@ +/* basic.css_t from Sphinx project modified for sphinx-better-theme */ + +/* -- main layout ----------------------------------------------------------- */ + +div.clearer { + clear: both; +} + +/* -- search page ----------------------------------------------------------- */ + +ul.search { + margin: 10px 0 0 20px; + padding: 0; +} + +ul.search li { + padding: 5px 0 5px 20px; + background-image: url(file.png); + background-repeat: no-repeat; + background-position: 0 7px; +} + +ul.search li a { + font-weight: bold; +} + +ul.search li div.context { + color: #888; + margin: 2px 0 0 30px; + text-align: left; +} + +ul.keywordmatches li.goodmatch a { + font-weight: bold; +} + +/* -- index page ------------------------------------------------------------ */ + +table.contentstable { + width: 90%; +} + +table.contentstable p.biglink { + line-height: 150%; +} + +a.biglink { + font-size: 1.3em; +} + +span.linkdescr { + font-style: italic; + padding-top: 5px; + font-size: 90%; +} + +/* -- general index --------------------------------------------------------- */ + +table.indextable { + width: 100%; +} + +table.indextable td { + text-align: left; + vertical-align: top; +} + +table.indextable dl, table.indextable dd { + margin-top: 0; + margin-bottom: 0; +} + +table.indextable tr.pcap { + height: 10px; +} + +table.indextable tr.cap { + margin-top: 10px; + background-color: #f2f2f2; +} + +img.toggler { + margin-right: 3px; + margin-top: 3px; + cursor: pointer; +} + +div.modindex-jumpbox { + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + margin: 1em 0 1em 0; + padding: 0.4em; +} + +div.genindex-jumpbox { + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + margin: 1em 0 1em 0; + padding: 0.4em; +} + +/* -- general body styles --------------------------------------------------- */ + +a.headerlink { + visibility: hidden; +} + +h1:hover > a.headerlink, +h2:hover > a.headerlink, +h3:hover > a.headerlink, +h4:hover > a.headerlink, +h5:hover > a.headerlink, +h6:hover > a.headerlink, +dt:hover > a.headerlink { + visibility: visible; +} + +div.body p.caption { + text-align: inherit; +} + +div.body td { + text-align: left; +} + +.field-list ul { + padding-left: 1em; +} + +.first { + margin-top: 0 !important; +} + +p.rubric { + margin-top: 30px; + font-weight: bold; +} + +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 { + text-align: center; +} + +.align-right { + text-align: right; +} + +/* -- sidebars -------------------------------------------------------------- */ + +div.sidebar { + margin: 0 0 0.5em 1em; + border: 1px solid #ddb; + padding: 7px 7px 0 7px; + background-color: #ffe; + width: 40%; + float: right; +} + +p.sidebar-title { + font-weight: bold; +} + +/* -- topics ---------------------------------------------------------------- */ + +div.topic { + border: 1px solid #ccc; + padding: 7px 7px 0 7px; + margin: 10px 0 10px 0; +} + +p.topic-title { + font-size: 1.1em; + font-weight: bold; + margin-top: 10px; +} + +/* -- admonitions ----------------------------------------------------------- */ + +div.admonition { + margin-top: 10px; + margin-bottom: 10px; + padding: 7px; +} + +div.admonition dt { + font-weight: bold; +} + +div.admonition dl { + margin-bottom: 0; +} + +p.admonition-title { + margin: 0px 10px 5px 0px; + font-weight: bold; +} + +div.body p.centered { + text-align: center; + margin-top: 25px; +} + +/* -- tables ---------------------------------------------------------------- */ + +table.docutils { + border: 0; + border-collapse: collapse; +} + +table.docutils td, table.docutils th { + padding: 1px 8px 1px 5px; + border-top: 0; + border-left: 0; + border-right: 0; + border-bottom: 1px solid #aaa; +} + +table.field-list td, table.field-list th { + border: 0 !important; +} + +table.footnote td, table.footnote th { + border: 0 !important; +} + +th { + text-align: left; + padding-right: 5px; +} + +table.citation { + border-left: solid 1px gray; + margin-left: 1px; +} + +table.citation td { + border-bottom: none; +} + +/* -- other body styles ----------------------------------------------------- */ + +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; +} + +dl { + margin-bottom: 15px; +} + +dd p { + margin-top: 0px; +} + +dd ul, dd table { + margin-bottom: 10px; +} + +dd { + margin-top: 3px; + margin-bottom: 10px; + margin-left: 30px; +} + +dt:target, .highlighted { + background-color: #fbe54e; +} + +dl.glossary dt { + font-weight: bold; + font-size: 1.1em; +} + +.field-list ul { + margin: 0; + padding-left: 1em; +} + +.field-list p { + margin: 0; +} + +.refcount { + color: #060; +} + +.optional { + font-size: 1.3em; +} + +.versionmodified { + font-style: italic; +} + +.system-message { + background-color: #fda; + padding: 5px; + border: 3px solid red; +} + +.footnote:target { + background-color: #ffa; +} + +.line-block { + display: block; + margin-top: 1em; + margin-bottom: 1em; +} + +.line-block .line-block { + margin-top: 0; + margin-bottom: 0; + margin-left: 1.5em; +} + +.guilabel, .menuselection { + font-family: sans-serif; +} + +.accelerator { + text-decoration: underline; +} + +.classifier { + font-style: oblique; +} + +abbr, acronym { + border-bottom: dotted 1px; + cursor: help; +} + +/* -- code displays --------------------------------------------------------- */ + +pre { + overflow: auto; + overflow-y: hidden; /* fixes display issues on Chrome browsers */ +} + +td.linenos pre { + padding: 5px 0px; + border: 0; + background-color: transparent; + color: #aaa; +} + +table.highlighttable { + margin-left: 0.5em; +} + +table.highlighttable td { + padding: 0 0.5em 0 0.5em; +} + +tt.descname { + background-color: transparent; + font-weight: bold; + font-size: 1.2em; +} + +tt.descclassname { + background-color: transparent; +} + +tt.xref, a tt { + background-color: transparent; + font-weight: bold; +} + +h1 tt, h2 tt, h3 tt, h4 tt, h5 tt, h6 tt { + background-color: transparent; +} + +.viewcode-link { + float: right; +} + +.viewcode-back { + float: right; + font-family: sans-serif; +} + +div.viewcode-block:target { + margin: -1px -10px; + padding: 0 10px; +} + +/* -- math display ---------------------------------------------------------- */ + +img.math { + vertical-align: middle; +} + +div.body div.math p { + text-align: center; +} + +span.eqno { + float: right; +} + +/* -- printout stylesheet --------------------------------------------------- */ + +@media print { + div.document, + div.documentwrapper, + div.bodywrapper { + margin: 0 !important; + width: 100%; + } + + div.sphinxsidebar, + div.related, + div.footer, + #top-link { + display: none; + } +} diff --git a/_better_theme/theme.conf b/_better_theme/theme.conf new file mode 100644 index 0000000..32bf173 --- /dev/null +++ b/_better_theme/theme.conf @@ -0,0 +1,28 @@ +[theme] +inherit = basic +stylesheet = better.css +pygments_style = sphinx + +[options] +rightsidebar = false +inlinecss = +cssfiles = +scriptfiles = +ga_ua = +ga_domain = + +showrelbartop = true +showrelbarbottom = true +showheader = true +linktotheme = true + +# css shortcuts that should decrease as the markup improves + +## page width is determined by CSS +sidebarwidth = 15rem + +## headtextcolor (color of h* tags) and footertextcolor default to the value +## of textcolor +textcolor = #000000 +headtextcolor = +footertextcolor = diff --git a/_static/img/novena_logo.png b/_static/img/novena_logo.png new file mode 100644 index 0000000..d026fb2 Binary files /dev/null and b/_static/img/novena_logo.png differ diff --git a/_static/pygments-solarized-dark.css b/_static/pygments-solarized-dark.css new file mode 100644 index 0000000..45421a3 --- /dev/null +++ b/_static/pygments-solarized-dark.css @@ -0,0 +1,70 @@ +/* From: https://gist.github.com/tdreyno/1125708 */ +.highlight .hll { background-color: #ffffcc } +.highlight .c { color: #586E75 } /* Comment */ +.highlight .err { color: #93A1A1 } /* Error */ +.highlight .g { color: #93A1A1 } /* Generic */ +.highlight .k { color: #859900 } /* Keyword */ +.highlight .l { color: #93A1A1 } /* Literal */ +.highlight .n { color: #93A1A1 } /* Name */ +.highlight .o { color: #859900 } /* Operator */ +.highlight .x { color: #CB4B16 } /* Other */ +.highlight .p { color: #93A1A1 } /* Punctuation */ +.highlight .cm { color: #586E75 } /* Comment.Multiline */ +.highlight .cp { color: #859900 } /* Comment.Preproc */ +.highlight .c1 { color: #586E75 } /* Comment.Single */ +.highlight .cs { color: #859900 } /* Comment.Special */ +.highlight .gd { color: #2AA198 } /* Generic.Deleted */ +.highlight .ge { color: #93A1A1; font-style: italic } /* Generic.Emph */ +.highlight .gr { color: #DC322F } /* Generic.Error */ +.highlight .gh { color: #CB4B16 } /* Generic.Heading */ +.highlight .gi { color: #859900 } /* Generic.Inserted */ +.highlight .go { color: #93A1A1 } /* Generic.Output */ +.highlight .gp { color: #93A1A1 } /* Generic.Prompt */ +.highlight .gs { color: #93A1A1; font-weight: bold } /* Generic.Strong */ +.highlight .gu { color: #CB4B16 } /* Generic.Subheading */ +.highlight .gt { color: #93A1A1 } /* Generic.Traceback */ +.highlight .kc { color: #CB4B16 } /* Keyword.Constant */ +.highlight .kd { color: #268BD2 } /* Keyword.Declaration */ +.highlight .kn { color: #859900 } /* Keyword.Namespace */ +.highlight .kp { color: #859900 } /* Keyword.Pseudo */ +.highlight .kr { color: #268BD2 } /* Keyword.Reserved */ +.highlight .kt { color: #DC322F } /* Keyword.Type */ +.highlight .ld { color: #93A1A1 } /* Literal.Date */ +.highlight .m { color: #2AA198 } /* Literal.Number */ +.highlight .s { color: #2AA198 } /* Literal.String */ +.highlight .na { color: #93A1A1 } /* Name.Attribute */ +.highlight .nb { color: #B58900 } /* Name.Builtin */ +.highlight .nc { color: #268BD2 } /* Name.Class */ +.highlight .no { color: #CB4B16 } /* Name.Constant */ +.highlight .nd { color: #268BD2 } /* Name.Decorator */ +.highlight .ni { color: #CB4B16 } /* Name.Entity */ +.highlight .ne { color: #CB4B16 } /* Name.Exception */ +.highlight .nf { color: #268BD2 } /* Name.Function */ +.highlight .nl { color: #93A1A1 } /* Name.Label */ +.highlight .nn { color: #93A1A1 } /* Name.Namespace */ +.highlight .nx { color: #93A1A1 } /* Name.Other */ +.highlight .py { color: #93A1A1 } /* Name.Property */ +.highlight .nt { color: #268BD2 } /* Name.Tag */ +.highlight .nv { color: #268BD2 } /* Name.Variable */ +.highlight .ow { color: #859900 } /* Operator.Word */ +.highlight .w { color: #93A1A1 } /* Text.Whitespace */ +.highlight .mf { color: #2AA198 } /* Literal.Number.Float */ +.highlight .mh { color: #2AA198 } /* Literal.Number.Hex */ +.highlight .mi { color: #2AA198 } /* Literal.Number.Integer */ +.highlight .mo { color: #2AA198 } /* Literal.Number.Oct */ +.highlight .sb { color: #586E75 } /* Literal.String.Backtick */ +.highlight .sc { color: #2AA198 } /* Literal.String.Char */ +.highlight .sd { color: #93A1A1 } /* Literal.String.Doc */ +.highlight .s2 { color: #2AA198 } /* Literal.String.Double */ +.highlight .se { color: #CB4B16 } /* Literal.String.Escape */ +.highlight .sh { color: #93A1A1 } /* Literal.String.Heredoc */ +.highlight .si { color: #2AA198 } /* Literal.String.Interpol */ +.highlight .sx { color: #2AA198 } /* Literal.String.Other */ +.highlight .sr { color: #DC322F } /* Literal.String.Regex */ +.highlight .s1 { color: #2AA198 } /* Literal.String.Single */ +.highlight .ss { color: #2AA198 } /* Literal.String.Symbol */ +.highlight .bp { color: #268BD2 } /* Name.Builtin.Pseudo */ +.highlight .vc { color: #268BD2 } /* Name.Variable.Class */ +.highlight .vg { color: #268BD2 } /* Name.Variable.Global */ +.highlight .vi { color: #268BD2 } /* Name.Variable.Instance */ +.highlight .il { color: #2AA198 } /* Literal.Number.Integer.Long */ diff --git a/_static/style.css b/_static/style.css new file mode 100644 index 0000000..bf279d8 --- /dev/null +++ b/_static/style.css @@ -0,0 +1,143 @@ +/* Intended to be applied over the "better" theme's defaults */ + +/* TODO: http://practicaltypography.com/rules-and-borders.html */ + +body { + font-family: serif; + font-size: 16px; +} + +.body { + font-size: 120%; + line-height: 135%; + color: rgb(72, 72, 72); +} + +h1, h2, h3, h4, h5, h6 { + color: #000; + font-family: "Helvetica", sans-serif; +} + +h1 { font-size: 1.6em; font-weight: bold; } +h2 { font-size: 1.3em; font-weight: normal; } +h3 { font-size: 1.05em; font-weight: normal; } +h4 { font-size: 0.9em; font-weight: normal; } +h5 { font-size: 0.9em; font-weight: normal; } + +header h1 { + opacity: 0.65; + margin-top: 0.3em; + font-size: 1.2em; + margin-left: 240px; + font-family: "Helvetica", sans-serif; + font-weight: bold; + text-transform: uppercase; + font-variant: small-caps; + font-weight: normal; +} + +header h1:hover { + opacity: 0.9; +} + +header h1 a, header h1 a:visited { + color: #000; +} + +.rubric { + text-align: center; + text-transform: uppercase; +} + +a.toc-backref { + color: #000; +} + +a.internal em { + font-style: normal; +} + +footer#pagefooter, footer#pagefooter a { + color: #777; +} + +.contents .topic-title { + font-weight: normal; +} +pre, tt { + font-family: "Source Code Pro", "Monaco", "Consolas", "Lucida Console", monospace; +} + +tt { + font-size: 80%; + background: #f4f4f4; +} + +.note tt { + background: #ececec; +} + +a tt { + font-weight: normal; +} + +.sphinxsidebar { + padding-top: 10em; + opacity: 0.65; + font-size: 0.9rem; +} + +.sphinxsidebar:hover { + opacity: 0.9; +} + +.sphinxsidebar .search input { + padding-left: 0.25rem; + margin-bottom: 2em; +} + +.sphinxsidebar h3 a { + color: #222; +} + +.highlight pre { + color: #ddd; + background-color: #333; + padding: 0.75em; + margin-bottom: 2em; + margin-left: 0px; + margin-right: 0px; + border-radius: 2px; + font-size: 0.9rem; + line-height: 120%; +} + +a:hover { + text-decoration: none; +} + +tt.descname { + font-size: 0.8em; +} + +dl.function > dt, dl.class > dt, dl.method > dt, dl.attribute > dt, dl.data > dt, dl.classmethod > dt, dl.enum > dt { + margin-bottom: 0.5em; + background: #f4f4f4; +} + +dl li > p { + display: inline; +} + +.related.bottom { + margin-top: 2em; +} + +div.admondition, div.topic, div.warning, div.note { + border-left: none; + border-right: none; +} + +div.note, div.topic { + background-color: #f4f4f4; +} diff --git a/_templates/layout.html b/_templates/layout.html new file mode 100644 index 0000000..7d9b9a4 --- /dev/null +++ b/_templates/layout.html @@ -0,0 +1,9 @@ +{% extends "!layout.html" %} + + +{% block header %} + +{% endblock %} diff --git a/_templates/sidebarresources.html b/_templates/sidebarresources.html new file mode 100644 index 0000000..32b6a42 --- /dev/null +++ b/_templates/sidebarresources.html @@ -0,0 +1,16 @@ +

Project Resources

+ + + + +

Sutajio Ko-Usagi

+ + diff --git a/conf.py b/conf.py new file mode 100644 index 0000000..f04c647 --- /dev/null +++ b/conf.py @@ -0,0 +1,274 @@ +# -*- coding: utf-8 -*- +# +# novena-guide documentation build configuration file, created by +# sphinx-quickstart on Tue Dec 30 02:49:41 2014. +# +# This file is execfile()d with the current directory set to its +# containing dir. +# +# Note that not all possible configuration values are present in this +# autogenerated file. +# +# All configuration values have a default; values that are commented out +# serve to show the default. + +import sys +import os + +# If extensions (or modules to document with autodoc) are in another directory, +# add these directories to sys.path here. If the directory is relative to the +# documentation root, use os.path.abspath to make it absolute, like shown here. +#sys.path.insert(0, os.path.abspath('.')) + +# -- General configuration ------------------------------------------------ + +# If your documentation needs a minimal Sphinx version, state it here. +#needs_sphinx = '1.0' + +# Add any Sphinx extension module names here, as strings. They can be +# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom +# ones. +extensions = [ + #'sphinx.ext.intersphinx', + 'sphinx.ext.todo', + 'sphinx.ext.mathjax', +] + +# Add any paths that contain templates here, relative to this directory. +templates_path = ['_templates'] + +# The suffix of source filenames. +source_suffix = '.rst' + +# The encoding of source files. +#source_encoding = 'utf-8-sig' + +# The master toctree document. +master_doc = 'index' + +# General information about the project. +project = u'novena-guide' +copyright = u'2015, Sutajio Ko-Usagi and contributors' + +# The version info for the project you're documenting, acts as replacement for +# |version| and |release|, also used in various other places throughout the +# built documents. +# +# The short X.Y version. +version = 'PVT' +# The full version, including alpha/beta/rc tags. +release = 'PVT1' + +# The language for content autogenerated by Sphinx. Refer to documentation +# for a list of supported languages. +#language = None + +# There are two options for replacing |today|: either, you set today to some +# non-false value, then it is used: +#today = '' +# Else, today_fmt is used as the format for a strftime call. +today_fmt = '%B %d, %Y' + +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +exclude_patterns = ['_build'] + +# The reST default role (used for this markup: `text`) to use for all +# documents. +#default_role = None + +# If true, '()' will be appended to :func: etc. cross-reference text. +#add_function_parentheses = True + +# If true, the current module name will be prepended to all description +# unit titles (such as .. function::). +#add_module_names = True + +# If true, sectionauthor and moduleauthor directives will be shown in the +# output. They are ignored by default. +#show_authors = False + +# The name of the Pygments (syntax highlighting) style to use. +pygments_style = 'native' + +# A list of ignored prefixes for module index sorting. +#modindex_common_prefix = [] + +# If true, keep warnings as "system message" paragraphs in the built documents. +keep_warnings = False + +# Warn about all references where the target cannot be found. +nitpicky = True + + +# -- Options for HTML output ---------------------------------------------- + +# Add any paths that contain custom themes here, relative to this directory. +html_theme_path = ['.'] + +# The theme to use for HTML and HTML Help pages. See the documentation for +# a list of builtin themes. +html_theme = '_better_theme' + +# Theme options are theme-specific and customize the look and feel of a theme +# further. For a list of options available for each theme, see the +# documentation. +html_theme_options = { + 'showrelbartop': False, + 'showrelbarbottom': True, + 'cssfiles': ['_static/style.css', ] +} + +# The name for this set of Sphinx documents. If None, it defaults to +# " v documentation". +#html_title = None + +# A shorter title for the navigation bar. Default is the same as html_title. +html_short_title = 'novena-guide' + +# The name of an image file (relative to this directory) to place at the top +# of the sidebar. +html_logo = '_static/img/novena_logo.png' + +# The name of an image file (within the static path) to use as favicon of the +# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 +# pixels large. +#html_favicon = None + +# Add any paths that contain custom static files (such as style sheets) here, +# relative to this directory. They are copied after the builtin static files, +# so a file named "default.css" will overwrite the builtin "default.css". +html_static_path = ['_static'] + +# Add any extra paths that contain custom files (such as robots.txt or +# .htaccess) here, relative to this directory. These files are copied +# directly to the root of the documentation. +#html_extra_path = [] + +# If not '', a 'Last updated on:' timestamp is inserted at every page bottom, +# using the given strftime format. +html_last_updated_fmt = '%b %d, %Y' + +# If true, SmartyPants will be used to convert quotes and dashes to +# typographically correct entities. +#html_use_smartypants = True + +# Custom sidebar templates, maps document names to template names. +html_sidebars = { + '**': ['globaltoc.html', 'sidebarresources.html', 'searchbox.html'], +} + +# Additional templates that should be rendered to pages, maps page names to +# template names. +#html_additional_pages = {} + +# If false, no module index is generated. +#html_domain_indices = True + +# If false, no index is generated. +html_use_index = False + +# If true, the index is split into individual pages for each letter. +#html_split_index = False + +# If true, links to the reST sources are added to the pages. +#html_show_sourcelink = True + +# If true, "Created using Sphinx" is shown in the HTML footer. Default is True. +#html_show_sphinx = True + +# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. +#html_show_copyright = True + +# If true, an OpenSearch description file will be output, and all pages will +# contain a tag referring to it. The value of this option must be the +# base URL from which the finished HTML is served. +#html_use_opensearch = '' + +# This is the file name suffix for HTML files (e.g. ".xhtml"). +#html_file_suffix = None + +# Output file base name for HTML help builder. +htmlhelp_basename = 'novena-guide' + + +# -- Options for LaTeX output --------------------------------------------- + +latex_elements = { +# The paper size ('letterpaper' or 'a4paper'). +#'papersize': 'letterpaper', + +# The font size ('10pt', '11pt' or '12pt'). +#'pointsize': '10pt', + +# Additional stuff for the LaTeX preamble. +#'preamble': '', +} + +# Grouping the document tree into LaTeX files. List of tuples +# (source start file, target name, title, +# author, documentclass [howto, manual, or own class]). +latex_documents = [ + ('index', 'novena-guide.tex', u'novena-guide Documentation', + u'contributors like you', 'manual'), +] + +# The name of an image file (relative to this directory) to place at the top of +# the title page. +#latex_logo = None + +# For "manual" documents, if this is true, then toplevel headings are parts, +# not chapters. +#latex_use_parts = False + +# If true, show page references after internal links. +#latex_show_pagerefs = False + +# If true, show URL addresses after external links. +#latex_show_urls = False + +# Documents to append as an appendix to all manuals. +#latex_appendices = [] + +# If false, no module index is generated. +#latex_domain_indices = True + + +# -- Options for manual page output --------------------------------------- + +# One entry per manual page. List of tuples +# (source start file, name, description, authors, manual section). +man_pages = [ + ('index', 'novena-guide', u'novena-guide Documentation', + [u'contributors like you'], 1) +] + +# If true, show URL addresses after external links. +#man_show_urls = False + + +# -- Options for Texinfo output ------------------------------------------- + +# Grouping the document tree into Texinfo files. List of tuples +# (source start file, target name, title, author, +# dir menu entry, description, category) +texinfo_documents = [ + ('index', 'novena-guide', u'novena-guide Documentation', + u'contributors like you', 'novena-guide', 'One line description of project.', + 'Miscellaneous'), +] + +# Documents to append as an appendix to all manuals. +#texinfo_appendices = [] + +# If false, no module index is generated. +#texinfo_domain_indices = True + +# How to display URL addresses: 'footnote', 'no', or 'inline'. +#texinfo_show_urls = 'footnote' + +# If true, do not generate a @detailmenu in the "Top" node's menu. +#texinfo_no_detailmenu = False + +# Example configuration for intersphinx: refer to the Python standard library. +intersphinx_mapping = {'http://docs.python.org/': None} diff --git a/index.rst b/index.rst new file mode 100644 index 0000000..f5519e9 --- /dev/null +++ b/index.rst @@ -0,0 +1,13 @@ + +Novena +============ + +Contents: + +.. toctree:: + :maxdepth: 2 + +About This Document +--------------------- + +.. include:: README.txt -- cgit v1.2.3