commit 3d57d39df1d4bc316c3f5a613e23f00719a00688 Author: Damian Johnson atagar@torproject.org Date: Mon Apr 11 19:42:32 2016 -0700
Initial docs
Barebones sphinx site based on Stem's. I plan for Nyx's to be unique but this gives a good foundation to start with. Besides, parts like the download page and changelog will be the same. --- .gitignore | 1 + docs/Makefile | 131 ++++++ docs/_static/buttons/bug_tracker.png | Bin 0 -> 28650 bytes docs/_static/buttons/change_log.png | Bin 0 -> 26676 bytes docs/_static/buttons/download.png | Bin 0 -> 27728 bytes docs/_static/buttons/resources/bug_tracker.xcf | Bin 0 -> 83732 bytes .../buttons/resources/button_background.xcf | Bin 0 -> 53014 bytes docs/_static/buttons/resources/change_log.xcf | Bin 0 -> 66972 bytes docs/_static/buttons/resources/download.xcf | Bin 0 -> 84072 bytes docs/_static/favicon.png | Bin 0 -> 1555 bytes docs/_static/haiku.css_t | 456 +++++++++++++++++++++ docs/_static/label/archlinux.png | Bin 0 -> 1618 bytes docs/_static/label/debian.png | Bin 0 -> 1339 bytes docs/_static/label/fedora.png | Bin 0 -> 1399 bytes docs/_static/label/freebsd.png | Bin 0 -> 1645 bytes docs/_static/label/gentoo.png | Bin 0 -> 1147 bytes docs/_static/label/osx.png | Bin 0 -> 1767 bytes docs/_static/label/python_package_index.png | Bin 0 -> 3106 bytes docs/_static/label/redhat.png | Bin 0 -> 1492 bytes docs/_static/label/resources/archlinux.xcf | Bin 0 -> 3573 bytes docs/_static/label/resources/debian.xcf | Bin 0 -> 3137 bytes docs/_static/label/resources/fedora.xcf | Bin 0 -> 3145 bytes docs/_static/label/resources/freebsd.xcf | Bin 0 -> 3611 bytes docs/_static/label/resources/gentoo.xcf | Bin 0 -> 2779 bytes docs/_static/label/resources/osx.xcf | Bin 0 -> 3820 bytes .../label/resources/python_package_index.xcf | Bin 0 -> 6285 bytes docs/_static/label/resources/redhat.xcf | Bin 0 -> 3504 bytes docs/_static/label/resources/slackware.xcf | Bin 0 -> 3567 bytes docs/_static/label/resources/source_repository.xcf | Bin 0 -> 5479 bytes docs/_static/label/resources/ubuntu.xcf | Bin 0 -> 3316 bytes docs/_static/label/slackware.png | Bin 0 -> 1783 bytes docs/_static/label/source_repository.png | Bin 0 -> 2757 bytes docs/_static/label/ubuntu.png | Bin 0 -> 1126 bytes docs/_static/logo.png | Bin 0 -> 6885 bytes docs/_static/logo_orig.png | Bin 0 -> 9536 bytes docs/_static/section/download/archlinux.png | Bin 0 -> 7144 bytes docs/_static/section/download/debian.png | Bin 0 -> 5646 bytes docs/_static/section/download/fedora.png | Bin 0 -> 4447 bytes docs/_static/section/download/freebsd.png | Bin 0 -> 18114 bytes docs/_static/section/download/gentoo.png | Bin 0 -> 16245 bytes docs/_static/section/download/git.png | Bin 0 -> 2273 bytes docs/_static/section/download/git_alt.png | Bin 0 -> 4749 bytes docs/_static/section/download/osx.png | Bin 0 -> 3660 bytes docs/_static/section/download/pypi.png | Bin 0 -> 3827 bytes docs/_static/section/download/redhat.png | Bin 0 -> 4944 bytes docs/_static/section/download/resources/fedora.svg | 74 ++++ docs/_static/section/download/slackware.png | Bin 0 -> 10938 bytes docs/_static/section/download/ubuntu.png | Bin 0 -> 4814 bytes docs/_static/style.css | 17 + docs/_templates/layout.html | 80 ++++ docs/change_log.rst | 41 ++ docs/conf.py | 239 +++++++++++ docs/contents.rst | 9 + docs/download.rst | 196 +++++++++ docs/index.rst | 32 ++ docs/republish | 7 + docs/republish.py | 89 ++++ docs/roles.py | 73 ++++ 58 files changed, 1445 insertions(+)
diff --git a/.gitignore b/.gitignore index e0ab993..ed86815 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ *.pyc src/stem/ build/ +docs/_build/ *.swp
diff --git a/docs/Makefile b/docs/Makefile new file mode 100644 index 0000000..e9ca020 --- /dev/null +++ b/docs/Makefile @@ -0,0 +1,131 @@ +# Makefile for Sphinx documentation +# + +# You can set these variables from the command line. +SPHINXOPTS = +SPHINXBUILD = sphinx-build +PAPER = +BUILDDIR = _build + +# Internal variables. +PAPEROPT_a4 = -D latex_paper_size=a4 +PAPEROPT_letter = -D latex_paper_size=letter +ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . + +.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest + +help: + @echo "Please use `make <target>' where <target> 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 " text to make text files" + @echo " man to make manual pages" + @echo " changes to make an overview of all changed/added/deprecated items" + @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)/* + @rm -f ./nyx.* ./modules.rst + +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/Nyx.qhcp" + @echo "To view the help file:" + @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/Nyx.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/Nyx" + @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/Nyx" + @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." + +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." + +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." diff --git a/docs/_static/buttons/bug_tracker.png b/docs/_static/buttons/bug_tracker.png new file mode 100644 index 0000000..64650cb Binary files /dev/null and b/docs/_static/buttons/bug_tracker.png differ diff --git a/docs/_static/buttons/change_log.png b/docs/_static/buttons/change_log.png new file mode 100644 index 0000000..e74fefc Binary files /dev/null and b/docs/_static/buttons/change_log.png differ diff --git a/docs/_static/buttons/download.png b/docs/_static/buttons/download.png new file mode 100644 index 0000000..55eb007 Binary files /dev/null and b/docs/_static/buttons/download.png differ diff --git a/docs/_static/buttons/resources/bug_tracker.xcf b/docs/_static/buttons/resources/bug_tracker.xcf new file mode 100644 index 0000000..f938a92 Binary files /dev/null and b/docs/_static/buttons/resources/bug_tracker.xcf differ diff --git a/docs/_static/buttons/resources/button_background.xcf b/docs/_static/buttons/resources/button_background.xcf new file mode 100644 index 0000000..3766bce Binary files /dev/null and b/docs/_static/buttons/resources/button_background.xcf differ diff --git a/docs/_static/buttons/resources/change_log.xcf b/docs/_static/buttons/resources/change_log.xcf new file mode 100644 index 0000000..70b243d Binary files /dev/null and b/docs/_static/buttons/resources/change_log.xcf differ diff --git a/docs/_static/buttons/resources/download.xcf b/docs/_static/buttons/resources/download.xcf new file mode 100644 index 0000000..14d3339 Binary files /dev/null and b/docs/_static/buttons/resources/download.xcf differ diff --git a/docs/_static/favicon.png b/docs/_static/favicon.png new file mode 100644 index 0000000..00dc124 Binary files /dev/null and b/docs/_static/favicon.png differ diff --git a/docs/_static/haiku.css_t b/docs/_static/haiku.css_t new file mode 100644 index 0000000..cd3b28d --- /dev/null +++ b/docs/_static/haiku.css_t @@ -0,0 +1,456 @@ +/* + * haiku.css_t + * ~~~~~~~~~~~ + * + * Sphinx stylesheet -- haiku theme. + * + * Adapted from http://haiku-os.org/docs/Haiku-doc.css. + * Original copyright message: + * + * Copyright 2008-2009, Haiku. All rights reserved. + * Distributed under the terms of the MIT License. + * + * Authors: + * Francois Revol revol@free.fr + * Stephan Assmus superstippi@gmx.de + * Braden Ewing brewin@gmail.com + * Humdinger humdingerb@gmail.com + * + * :copyright: Copyright 2007-2010 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +@import url("basic.css"); + +html { + margin: 0px; + padding: 0px; + background: #FFF url(bg-page.png) top left repeat-x; +} + +body { + line-height: 1.5; + margin: auto; + padding: 0px; + font-family: "DejaVu Sans", Arial, Helvetica, sans-serif; + min-width: 59em; + max-width: 70em; + color: {{ theme_textcolor }}; +} + +div.footer { + padding: 8px; + font-size: 11px; + text-align: center; + letter-spacing: 0.5px; +} + +/* link colors and text decoration */ + +a:link { + font-weight: bold; + text-decoration: none; + color: {{ theme_linkcolor }}; +} + +a:visited { + font-weight: bold; + text-decoration: none; + color: {{ theme_visitedlinkcolor }}; +} + +a:hover, a:active { + text-decoration: underline; + color: {{ theme_hoverlinkcolor }}; +} + +/* Some headers act as anchors, don't give them a hover effect */ + +h1 a:hover, a:active { + text-decoration: none; + color: {{ theme_headingcolor }}; +} + +h2 a:hover, a:active { + text-decoration: none; + color: {{ theme_headingcolor }}; +} + +h3 a:hover, a:active { + text-decoration: none; + color: {{ theme_headingcolor }}; +} + +h4 a:hover, a:active { + text-decoration: none; + color: {{ theme_headingcolor }}; +} + +a.headerlink { + color: #a7ce38; + padding-left: 5px; +} + +a.headerlink:hover { + color: #a7ce38; +} + +/* basic text elements */ + +div.content { + margin-top: 20px; + margin-left: 40px; + margin-right: 40px; + margin-bottom: 50px; + font-size: 0.9em; +} + +/* heading and navigation */ + +div.header { + position: relative; + left: 0px; + top: 0px; + height: 85px; + /* background: #eeeeee; */ + padding: 0 40px; +} +div.header h1 { + font-size: 1.6em; + font-weight: normal; + letter-spacing: 1px; + color: {{ theme_headingcolor }}; + border: 0; + margin: 0; + padding-top: 15px; +} +div.header h1 a { + font-weight: normal; + color: {{ theme_headingcolor }}; +} +div.header h2 { + font-size: 1.3em; + font-weight: normal; + letter-spacing: 1px; + text-transform: uppercase; + color: #aaa; + border: 0; + margin-top: -3px; + padding: 0; +} + +div.header img.rightlogo { + float: right; +} + + +div.title { + font-size: 1.3em; + font-weight: bold; + color: {{ theme_headingcolor }}; + border-bottom: dotted thin #e0e0e0; + margin-bottom: 25px; +} +div.topnav { + /* background: #e0e0e0; */ +} +div.topnav p { + margin-top: 0; + margin-left: 40px; + margin-right: 40px; + margin-bottom: 0px; + font-size: 0.8em; +} +div.bottomnav { + background: #eeeeee; +} +div.bottomnav p { + margin-right: 40px; + font-size: 0.8em; +} + +a.uplink { + font-weight: normal; +} + + +/* contents box */ + +table.index { + margin: 0px 0px 30px 30px; + padding: 1px; + border-width: 1px; + border-style: dotted; + border-color: #e0e0e0; +} +table.index tr.heading { + background-color: #e0e0e0; + text-align: center; + font-weight: bold; + font-size: 1.1em; +} +table.index tr.index { + background-color: #eeeeee; +} +table.index td { + padding: 5px 20px; +} + +table.index a:link, table.index a:visited { + font-weight: normal; + text-decoration: none; + color: {{ theme_linkcolor }}; +} +table.index a:hover, table.index a:active { + text-decoration: underline; + color: {{ theme_hoverlinkcolor }}; +} + + +/* Haiku User Guide styles and layout */ + +/* Rounded corner boxes */ +/* Common declarations */ +div.admonition { + -webkit-border-radius: 10px; + -khtml-border-radius: 10px; + -moz-border-radius: 10px; + border-radius: 10px; + border-style: dotted; + border-width: thin; + border-color: #dcdcdc; + padding: 10px 15px 10px 15px; + margin-bottom: 15px; + margin-top: 15px; +} +div.note { + padding: 10px 15px 10px 80px; + background: #e4ffde url(alert_info_32.png) 15px 15px no-repeat; + min-height: 42px; +} +div.warning { + padding: 10px 15px 10px 80px; + background: #fffbc6 url(alert_warning_32.png) 15px 15px no-repeat; + min-height: 42px; +} +div.seealso { + background: #e4ffde; +} + +/* More layout and styles */ +h1 { + font-size: 1.3em; + font-weight: bold; + color: {{ theme_headingcolor }}; + border-bottom: dotted thin #e0e0e0; + margin-top: 30px; +} + +h2 { + font-size: 1.2em; + font-weight: normal; + color: {{ theme_headingcolor }}; + border-bottom: dotted thin #e0e0e0; + margin-top: 30px; +} + +h3 { + font-size: 1.1em; + font-weight: normal; + color: {{ theme_headingcolor }}; + margin-top: 30px; +} + +h4 { + font-size: 1.0em; + font-weight: normal; + color: {{ theme_headingcolor }}; + margin-top: 30px; +} + +p { + text-align: justify; +} + +p.last { + margin-bottom: 0; +} + +ol { + padding-left: 20px; +} + +ul { + padding-left: 5px; + margin-top: 3px; +} + +li { + line-height: 1.3; +} + +div.content li { + -moz-background-clip:border; + -moz-background-inline-policy:continuous; + -moz-background-origin:padding; + background: transparent url(bullet_orange.png) no-repeat scroll left 0.45em; + list-style-image: none; + list-style-type: none; + padding: 0 0 0 1.666em; + margin-bottom: 3px; +} + +td { + vertical-align: top; +} + +tt { + background-color: #e2e2e2; + font-size: 1.0em; + font-family: monospace; +} + +pre { + border-color: #0c3762; + border-style: dotted; + border-width: thin; + margin: 0 0 12px 0; + padding: 0.8em; + background-color: #f0f0f0; +} + +hr { + border-top: 1px solid #ccc; + border-bottom: 0; + border-right: 0; + border-left: 0; + margin-bottom: 10px; + margin-top: 20px; +} + +/* printer only pretty stuff */ +@media print { + .noprint { + display: none; + } + /* for acronyms we want their definitions inlined at print time */ + acronym[title]:after { + font-size: small; + content: " (" attr(title) ")"; + font-style: italic; + } + /* and not have mozilla dotted underline */ + acronym { + border: none; + } + div.topnav, div.bottomnav, div.header, table.index { + display: none; + } + div.content { + margin: 0px; + padding: 0px; + } + html { + background: #FFF; + } +} + +.viewcode-back { + font-family: "DejaVu Sans", Arial, Helvetica, sans-serif; +} + +div.viewcode-block:target { + background-color: #f4debf; + border-top: 1px solid #ac9; + border-bottom: 1px solid #ac9; + margin: -1px -12px; + padding: 0 12px; +} + +/* Navbar */ + +#navbar { + list-style: none; + margin: 0; + padding: 0; + float: left; + position: relative; +} + +#navbar li { + float: left; + position: relative; +} + +/* top navbar items */ + +#navbar li a { + float: left; + display: block; + text-decoration: none; + color: #666; + font-weight: normal; + text-indent: 10px; + width: 130px; + font-size: 0.9em; +} + +#navbar li:hover a, +#navbar li a:hover { + font-weight: normal; + background: #999; + color: #fff; +} + +/* start child items as invisible, but make them visible on hover */ + +#navbar ul { + display: none; +} + +#navbar li:hover ul { + display: block; +} + +/* attributes for child navbar items */ + +#navbar ul { + float: none; + position: absolute; + list-style: none; + margin: 0; + padding: 0; + top: 1.1em; + left: 0; +} + +#navbar ul li { + float: none; + clear: none; + margin: 0; + padding: 0; + width: auto; + color: #666; +} + +#navbar li:hover ul li a, +#navbar ul li { + font-weight: normal; + text-indent: 5px; + line-height: 200%; + display: block; + padding: 0 0 0 0; + float: none; + color: #666; + background-color: #e0e0e0; +} + +#navbar li:hover ul li a:hover, +#navbar ul li a:hover { + font-weight: normal; + text-indent: 5px; + background-color: #c1c1c1; + color: #000; +} + diff --git a/docs/_static/label/archlinux.png b/docs/_static/label/archlinux.png new file mode 100644 index 0000000..c27a4f6 Binary files /dev/null and b/docs/_static/label/archlinux.png differ diff --git a/docs/_static/label/debian.png b/docs/_static/label/debian.png new file mode 100644 index 0000000..7f7b79d Binary files /dev/null and b/docs/_static/label/debian.png differ diff --git a/docs/_static/label/fedora.png b/docs/_static/label/fedora.png new file mode 100644 index 0000000..b9661f6 Binary files /dev/null and b/docs/_static/label/fedora.png differ diff --git a/docs/_static/label/freebsd.png b/docs/_static/label/freebsd.png new file mode 100644 index 0000000..7b2e0c4 Binary files /dev/null and b/docs/_static/label/freebsd.png differ diff --git a/docs/_static/label/gentoo.png b/docs/_static/label/gentoo.png new file mode 100644 index 0000000..164aed8 Binary files /dev/null and b/docs/_static/label/gentoo.png differ diff --git a/docs/_static/label/osx.png b/docs/_static/label/osx.png new file mode 100644 index 0000000..10e4180 Binary files /dev/null and b/docs/_static/label/osx.png differ diff --git a/docs/_static/label/python_package_index.png b/docs/_static/label/python_package_index.png new file mode 100644 index 0000000..e33ff2b Binary files /dev/null and b/docs/_static/label/python_package_index.png differ diff --git a/docs/_static/label/redhat.png b/docs/_static/label/redhat.png new file mode 100644 index 0000000..d2614db Binary files /dev/null and b/docs/_static/label/redhat.png differ diff --git a/docs/_static/label/resources/archlinux.xcf b/docs/_static/label/resources/archlinux.xcf new file mode 100644 index 0000000..7b8da17 Binary files /dev/null and b/docs/_static/label/resources/archlinux.xcf differ diff --git a/docs/_static/label/resources/debian.xcf b/docs/_static/label/resources/debian.xcf new file mode 100644 index 0000000..35a5ff7 Binary files /dev/null and b/docs/_static/label/resources/debian.xcf differ diff --git a/docs/_static/label/resources/fedora.xcf b/docs/_static/label/resources/fedora.xcf new file mode 100644 index 0000000..97e4c70 Binary files /dev/null and b/docs/_static/label/resources/fedora.xcf differ diff --git a/docs/_static/label/resources/freebsd.xcf b/docs/_static/label/resources/freebsd.xcf new file mode 100644 index 0000000..7dcfa98 Binary files /dev/null and b/docs/_static/label/resources/freebsd.xcf differ diff --git a/docs/_static/label/resources/gentoo.xcf b/docs/_static/label/resources/gentoo.xcf new file mode 100644 index 0000000..eee000e Binary files /dev/null and b/docs/_static/label/resources/gentoo.xcf differ diff --git a/docs/_static/label/resources/osx.xcf b/docs/_static/label/resources/osx.xcf new file mode 100644 index 0000000..5eab942 Binary files /dev/null and b/docs/_static/label/resources/osx.xcf differ diff --git a/docs/_static/label/resources/python_package_index.xcf b/docs/_static/label/resources/python_package_index.xcf new file mode 100644 index 0000000..4c9c30e Binary files /dev/null and b/docs/_static/label/resources/python_package_index.xcf differ diff --git a/docs/_static/label/resources/redhat.xcf b/docs/_static/label/resources/redhat.xcf new file mode 100644 index 0000000..2002d66 Binary files /dev/null and b/docs/_static/label/resources/redhat.xcf differ diff --git a/docs/_static/label/resources/slackware.xcf b/docs/_static/label/resources/slackware.xcf new file mode 100644 index 0000000..52fdc38 Binary files /dev/null and b/docs/_static/label/resources/slackware.xcf differ diff --git a/docs/_static/label/resources/source_repository.xcf b/docs/_static/label/resources/source_repository.xcf new file mode 100644 index 0000000..5a491c1 Binary files /dev/null and b/docs/_static/label/resources/source_repository.xcf differ diff --git a/docs/_static/label/resources/ubuntu.xcf b/docs/_static/label/resources/ubuntu.xcf new file mode 100644 index 0000000..18e1643 Binary files /dev/null and b/docs/_static/label/resources/ubuntu.xcf differ diff --git a/docs/_static/label/slackware.png b/docs/_static/label/slackware.png new file mode 100644 index 0000000..6888a15 Binary files /dev/null and b/docs/_static/label/slackware.png differ diff --git a/docs/_static/label/source_repository.png b/docs/_static/label/source_repository.png new file mode 100644 index 0000000..df29a1f Binary files /dev/null and b/docs/_static/label/source_repository.png differ diff --git a/docs/_static/label/ubuntu.png b/docs/_static/label/ubuntu.png new file mode 100644 index 0000000..9b66bcf Binary files /dev/null and b/docs/_static/label/ubuntu.png differ diff --git a/docs/_static/logo.png b/docs/_static/logo.png new file mode 100644 index 0000000..30f1b6c Binary files /dev/null and b/docs/_static/logo.png differ diff --git a/docs/_static/logo_orig.png b/docs/_static/logo_orig.png new file mode 100644 index 0000000..2844b0a Binary files /dev/null and b/docs/_static/logo_orig.png differ diff --git a/docs/_static/section/download/archlinux.png b/docs/_static/section/download/archlinux.png new file mode 100644 index 0000000..430d5db Binary files /dev/null and b/docs/_static/section/download/archlinux.png differ diff --git a/docs/_static/section/download/debian.png b/docs/_static/section/download/debian.png new file mode 100644 index 0000000..659dc8d Binary files /dev/null and b/docs/_static/section/download/debian.png differ diff --git a/docs/_static/section/download/fedora.png b/docs/_static/section/download/fedora.png new file mode 100644 index 0000000..30d2062 Binary files /dev/null and b/docs/_static/section/download/fedora.png differ diff --git a/docs/_static/section/download/freebsd.png b/docs/_static/section/download/freebsd.png new file mode 100644 index 0000000..cec7774 Binary files /dev/null and b/docs/_static/section/download/freebsd.png differ diff --git a/docs/_static/section/download/gentoo.png b/docs/_static/section/download/gentoo.png new file mode 100644 index 0000000..c96e01c Binary files /dev/null and b/docs/_static/section/download/gentoo.png differ diff --git a/docs/_static/section/download/git.png b/docs/_static/section/download/git.png new file mode 100644 index 0000000..529aa0f Binary files /dev/null and b/docs/_static/section/download/git.png differ diff --git a/docs/_static/section/download/git_alt.png b/docs/_static/section/download/git_alt.png new file mode 100644 index 0000000..88e399e Binary files /dev/null and b/docs/_static/section/download/git_alt.png differ diff --git a/docs/_static/section/download/osx.png b/docs/_static/section/download/osx.png new file mode 100644 index 0000000..bb9caca Binary files /dev/null and b/docs/_static/section/download/osx.png differ diff --git a/docs/_static/section/download/pypi.png b/docs/_static/section/download/pypi.png new file mode 100644 index 0000000..5fd55b7 Binary files /dev/null and b/docs/_static/section/download/pypi.png differ diff --git a/docs/_static/section/download/redhat.png b/docs/_static/section/download/redhat.png new file mode 100644 index 0000000..7300b91 Binary files /dev/null and b/docs/_static/section/download/redhat.png differ diff --git a/docs/_static/section/download/resources/fedora.svg b/docs/_static/section/download/resources/fedora.svg new file mode 100644 index 0000000..8c9cbd6 --- /dev/null +++ b/docs/_static/section/download/resources/fedora.svg @@ -0,0 +1,74 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) by Marsupilami --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + version="1.0" + width="1024" + height="324" + viewBox="-1.77184308 -1.77184308 197.90104616 62.60512216" + id="svg2870" + inkscape:version="0.48.1 r9760" + sodipodi:docname="Fedora_logo_and_wordmark.svg" + inkscape:export-filename="/home/atagar/Desktop/fedora.png" + inkscape:export-xdpi="57.099247" + inkscape:export-ydpi="57.099247"> + <metadata + id="metadata10"> + rdf:RDF + <cc:Work + rdf:about=""> + dc:formatimage/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + dc:title</dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <sodipodi:namedview + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1" + objecttolerance="10" + gridtolerance="10" + guidetolerance="10" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + inkscape:window-width="668" + inkscape:window-height="480" + id="namedview8" + showgrid="false" + inkscape:zoom="0.45996094" + inkscape:cx="801.51734" + inkscape:cy="162" + inkscape:window-x="0" + inkscape:window-y="25" + inkscape:window-maximized="0" + inkscape:current-layer="svg2870" /> + <defs + id="defs2872" /> + <path + inkscape:connector-curvature="0" + id="path3584" + style="fill:#072b61;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="M 194.35736,16.449737 C 194.35736,7.3649625 186.99245,0 177.90779,0 168.8271,0 161.46537,7.3587875 161.45876,16.43815 l -5e-4,-5.38e-4 0,12.729488 5e-4,5.37e-4 c 0.005,2.0615 1.67683,3.730388 3.73966,3.730388 l 0.0179,-5.25e-4 9.9e-4,5.25e-4 12.69702,0 c 9.08175,-0.0034 16.44297,-7.365788 16.44297,-16.448288" /> + <path + inkscape:connector-curvature="0" + id="path3562" + style="fill:#0a57a4;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="m 182.75,3.90625 c -4.26397,10e-8 -7.71875,3.4548375 -7.71875,7.71875 l 0,4.09375 -4.09375,0 c -4.26396,0 -7.71875,3.423888 -7.71875,7.6875 -1e-5,4.263838 3.45479,7.71875 7.71875,7.71875 4.26373,1e-6 7.71875,-3.454912 7.71875,-7.71875 l 0,-4.09375 4.09375,0 c 4.26369,1e-6 7.71875,-3.423663 7.71875,-7.6875 0,-4.263912 -3.45506,-7.71875 -7.71875,-7.71875 z m 0,3.625 c 2.25071,2e-7 4.09375,1.842775 4.09375,4.09375 0,2.250363 -1.84304,4.09375 -4.09375,4.09375 l -0.0312,0 -3.46875,0 c -0.31826,0 -0.59375,-0.276063 -0.59375,-0.59375 l 0,-3.5 c 0.004,-2.2480751 1.84598,-4.09375 4.09375,-4.09375 z m -11.8125,11.78125 3.5,0 c 0.31773,1e-6 0.59375,0.244663 0.59375,0.5625 l 0,3.53125 c -0.003,2.247326 -1.84571,4.09375 -4.09375,4.09375 -2.25041,1e-6 -4.09375,-1.843388 -4.09375,-4.09375 0,-2.25075 1.84334,-4.09375 4.09375,-4.09375 z" + sodipodi:nodetypes="sscsssscssscsscsscccssscsss" /> + <path + inkscape:connector-curvature="0" + id="path3588" + style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="m 175.01713,15.7113 0,-4.086387 0,-0.0053 c 0,-4.263913 3.45636,-7.720338 7.72033,-7.720338 0.64712,0 1.10663,0.072625 1.7058,0.2295625 0.87288,0.2287375 1.58589,0.9440625 1.58643,1.7769625 2.4e-4,1.00655 -0.73035,1.7381375 -1.82225,1.7381375 -0.5204,0 -0.70824,-0.099563 -1.47026,-0.099563 -2.24777,0 -4.07055,1.82045 -4.07449,4.0685245 l 0,3.522563 0,5.37e-4 c 0,0.317688 0.25716,0.575338 0.57542,0.575338 l 0.002,0 2.67567,0 c 0.99728,0 1.8022,0.797875 1.80304,1.797475 0,1.00045 -0.80603,1.7968 -1.80304,1.7968 l -3.25271,0 0,4.10385 0,0.0054 c 0,4.2633 -3.45661,7.720225 -7.72034,7.720225 -0.64685,0 -1.10662,-0.07299 -1.70525,-0.2295 -0.8732,-0.228425 -1.58673,-0.944325 -1.58698,-1.776925 0,-1.0065 0.73065,-1.738475 1.82252,-1.738475 0.51985,0 0.70849,0.09988 1.46971,0.09988 2.24804,0 4.07135,-1.82095 4.07505,-4.0688 l 0,-3.5408 c 0,-0.3173 -0.25771,-0.574338 -0.57545,-0.574338 l -0.002,0 -2.6757,-5.37e-4 c -0.99726,0 -1.80297,-0.795588 -1.80297,-1.795725 -5.7e-4,-1.006325 0.8 1415,-1.79855 1.82221,-1.79855 l 3.23323,0" /> +</svg> +<!-- version: 20080810, original size: 194.35736 59.061436, border: 3% --> + diff --git a/docs/_static/section/download/slackware.png b/docs/_static/section/download/slackware.png new file mode 100644 index 0000000..324e046 Binary files /dev/null and b/docs/_static/section/download/slackware.png differ diff --git a/docs/_static/section/download/ubuntu.png b/docs/_static/section/download/ubuntu.png new file mode 100644 index 0000000..90a9c6e Binary files /dev/null and b/docs/_static/section/download/ubuntu.png differ diff --git a/docs/_static/style.css b/docs/_static/style.css new file mode 100644 index 0000000..fe9db20 --- /dev/null +++ b/docs/_static/style.css @@ -0,0 +1,17 @@ +div.literal-block-wrapper { + padding: 0; +} + +span.caption-text { + float: right; +} + +span.red { + color: red; + font-weight: bold; +} + +span.green { + color: green; + font-weight: bold; +} diff --git a/docs/_templates/layout.html b/docs/_templates/layout.html new file mode 100644 index 0000000..6e428a5 --- /dev/null +++ b/docs/_templates/layout.html @@ -0,0 +1,80 @@ +{# + haiku/layout.html + ~~~~~~~~~~~~~~~~~ + + Sphinx layout template for the haiku theme. + + :copyright: Copyright 2007-2010 by the Sphinx team, see AUTHORS. + :license: BSD, see LICENSE for details. +#} +{% extends "basic/layout.html" %} + +{% set css_files = css_files + ['_static/style.css'] %} + +{# do not display relbars #} +{% block relbar1 %}{% endblock %} +{% block relbar2 %}{% endblock %} + +{% macro nav() %} + <p> + {%- block haikurel1 %} + {%- endblock %} + + <ul id="navbar"> + <li><a href="{{ pathto(master_doc) }}">Home</a></li> + <li><a href="{{ pathto('screenshots') }}">Screenshots</a></li> + <li><a href="https://trac.torproject.org/projects/tor/wiki/doc/nyx">Development</a> + <ul> + <li><a href="{{ pathto('faq') }}">FAQ</a></li> + <li><a href="{{ pathto('change_log') }}">Change Log</a></li> + <li><a href="https://trac.torproject.org/projects/tor/wiki/doc/nyx/bugs">Bug Tracker</a></li> + <li><a href="https://trac.torproject.org/projects/tor/wiki/doc/nyx">Wiki</a></li> + <li><a href="{{ pathto('download') }}">Download</a></li> + </ul> + </li> + <li><a href="{{ pathto('faq') }}#where-can-i-get-help">Contact</a> + <ul> + <li><a href="https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev">Email List</a></li> + <li><a href="https://www.torproject.org/about/contact.html.en#irc">IRC</a></li> + <li><a href="https://www.atagar.com/contact/">Author</a></li> + </ul> + </li> + </ul> + + {%- block haikurel2 %} + {%- endblock %} + </p> +{% endmacro %} + +{% block content %} + <div class="header"> + {%- block haikuheader %} + {%- if theme_full_logo != "false" %} + <a href="{{ pathto('index') }}"> + <img class="logo" src="{{ pathto('_static/' + logo, 1) }}" alt="Logo"/> + </a> + {%- else %} + {%- if logo -%} + <img class="rightlogo" src="{{ pathto('_static/' + logo, 1) }}" alt="Logo"/> + {%- endif -%} + <h1 class="heading"><a href="{{ pathto('index') }}"> + <span>{{ shorttitle|e }}</span></a></h1> + <h2 class="heading"><span>{{ title|striptags|e }}</span></h2> + {%- endif %} + {%- endblock %} + </div> + <div class="topnav"> + {{ nav() }} + </div> + <div class="content"> + {#{%- if display_toc %} + <div id="toc"> + <h3>Table Of Contents</h3> + {{ toc }} + </div> + {%- endif %}#} + {% block body %}{% endblock %} + </div> + <div class="bottomnav"> + </div> +{% endblock %} diff --git a/docs/change_log.rst b/docs/change_log.rst new file mode 100644 index 0000000..9613a87 --- /dev/null +++ b/docs/change_log.rst @@ -0,0 +1,41 @@ +Change Log +========== + +The following is a log of all user-facing changes to Nyx, both released and +unreleased. For a monthly report on work being done see my `development log +http://blog.atagar.com/`_. + +* :ref:`versioning` +* :ref:`unreleased` + +.. _versioning: + +Versioning +---------- + +As of the 2.x release Nyx uses `semantic versioning http://semver.org/`_, +which means that **versions consist of three numbers** (such as '**1.2.4**'). +These are used to convey the kind of backward compatibility a release has... + + * The first value is the **major version**. This changes infrequently, and + indicates that backward incompatible changes have been made (such as the + removal of deprecated functions). + + * The second value is the **minor version**. This is the most common kind of + release, and denotes that the improvements are backward compatible. + + * The third value is the **patch version**. When a Nyx release has a major + issue another release is made which fixes just that problem. These do not + contain substantial improvements or new features. This value is sometimes + left off to indicate all releases with a given major/minor version. + +Prior to version 2.x nyx did not follow any particular versioning scheme. + +.. _unreleased: + +Unreleased +---------- + +The following are only available within Nyx's `git repository +<download.html>`_. + diff --git a/docs/conf.py b/docs/conf.py new file mode 100644 index 0000000..5221073 --- /dev/null +++ b/docs/conf.py @@ -0,0 +1,239 @@ +# -*- coding: utf-8 -*- +# +# Nyx documentation build configuration file, created by +# sphinx-quickstart on Thu May 31 09:56:13 2012. +# +# 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, 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('..')) +sys.path.append(os.path.abspath('.')) +# -- General configuration ----------------------------------------------------- + +# If your documentation needs a minimal Sphinx version, state it here. +needs_sphinx = '1.1' # required for the sphinx-apidoc command + +# 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.autodoc', 'sphinx.ext.viewcode', 'roles'] + +autodoc_member_order = 'bysource' +autodoc_default_flags = ['members', 'show-inheritance', 'undoc-members'] + +# 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' + +from nyx import __version__, __author__, __contact__ + +# Ignore the '-dev' version suffix. + +if __version__.endswith('-dev'): + __version__ = __version__[:-4] + +# General information about the project. +project = 'Nyx' +copyright = '2009, %s' % __author__ + +# 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 = __version__[:__version__.rfind(".")] +# The full version, including alpha/beta/rc tags. +release = __version__ + +# 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 = 'sphinx' + +# A list of ignored prefixes for module index sorting. +#modindex_common_prefix = [] + + +# -- Options for HTML output --------------------------------------------------- + +# The theme to use for HTML and HTML Help pages. See the documentation for +# a list of builtin themes. +#html_theme = 'default' +html_theme = 'haiku' + +# 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 = {} + +# Add any paths that contain custom themes here, relative to this directory. +#html_theme_path = [] + +# The name for this set of Sphinx documents. If None, it defaults to +# "<project> v<release> documentation". +#html_title = None + +# A shorter title for the navigation bar. Default is the same as html_title. +html_short_title = 'Nyx' + +# The name of an image file (relative to this directory) to place at the top +# of the sidebar. + +html_logo = '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 = 'favicon.png' + +# 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'] + +# 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 = False + +# Custom sidebar templates, maps document names to template names. +#html_sidebars = {} + +# 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 = True + +# 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 = False + +# If true, "Created using Sphinx" is shown in the HTML footer. Default is True. +html_show_sphinx = False + +# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. +html_show_copyright = False + +# If true, an OpenSearch description file will be output, and all pages will +# contain a <link> 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 = 'Nyxdoc' + + +# -- Options for LaTeX output -------------------------------------------------- + +# The paper size ('letter' or 'a4'). +#latex_paper_size = 'letter' + +# The font size ('10pt', '11pt' or '12pt'). +#latex_font_size = '10pt' + +# Grouping the document tree into LaTeX files. List of tuples +# (source start file, target name, title, author, documentclass [howto/manual]). +latex_documents = [ + ('index', 'Nyx.tex', 'Nyx Documentation', + 'Damian Johnson', '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 + +# Additional stuff for the LaTeX preamble. +#latex_preamble = '' + +# 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', 'Nyx', 'Nyx Documentation', + ['%s (%s)' % (__author__, __contact__)], 1) +] + +trac_url = 'https://trac.torproject.org/%7Bslug%7D' + +def skip_members(app, what, name, obj, skip, options): + if name in ('ATTRIBUTES', 'PARSER_FOR_LINE'): + return True # skip the descriptor's parser constants + +def setup(app): + app.connect('autodoc-skip-member', skip_members) diff --git a/docs/contents.rst b/docs/contents.rst new file mode 100644 index 0000000..4f04878 --- /dev/null +++ b/docs/contents.rst @@ -0,0 +1,9 @@ +Contents +======== + +.. toctree:: + :maxdepth: 2 + + change_log + download + diff --git a/docs/download.rst b/docs/download.rst new file mode 100644 index 0000000..1673565 --- /dev/null +++ b/docs/download.rst @@ -0,0 +1,196 @@ +Download +======== + +.. Image Sources: + + * PyPI + Source: http://www.python.org/community/logos/ + License: http://www.python.org/psf/trademarks + + * OSX + Source: IconArchive (http://www.iconarchive.com/show/papercut-social-icons-by-graphicloads/Apple-...) + Author: GraphicLoads, Papercut Social Icons + License: Freeware + + * Debian + Source: NuoveXT (http://nuovext.pwsp.net/) + Author: Alexandre Moore (http://sa-ki.deviantart.com/) + License: GPL v2 + File: NuoveXT/128x128/apps/debian-logo.png + + * Ubuntu + Source: http://logonoid.com/ubuntu-logo/ + Not quite sure of the license, probably covered by... + http://design.ubuntu.com/brand/ubuntu-logo + + * Fedora + Source: https://en.wikipedia.org/wiki/File:Fedora_logo_and_wordmark.svg + Author: Unknown + + * Red Hat + Source: NuoveXT (http://nuovext.pwsp.net/) + Author: Alexandre Moore (http://sa-ki.deviantart.com/) + License: GPL v2 + File: NuoveXT/128x128/apps/fedora.png + + * Gentoo + Source: https://www.gentoo.org/main/en/name-logo.xml + + * Arch Linux + Source: https://en.wikipedia.org/wiki/File:Archlinux-official-fullcolour.svg + + * Slackware + Source: NuoveXT (http://nuovext.pwsp.net/) + Author: Alexandre Moore (http://sa-ki.deviantart.com/) + License: GPL v2 + File: NuoveXT/128x128/apps/slackware.png + + * FreeBSD + Source: https://en.wikipedia.org/wiki/File:Freebsd_logo.svg + Author: Anton Gural + + * Git + Source: https://en.wikipedia.org/wiki/File:Git-logo.svg + Author: Jason Long + License: CC v3 (A) + + * Git (Alternate) + Source: http://www.dylanbeattie.net/git_logo/ + Author: Dylan Beattie + License: CC v3 (A, SA) + +.. list-table:: + :widths: 1 10 + :header-rows: 0 + + * - .. image:: /_static/section/download/pypi.png + :target: https://pypi.python.org/pypi/stem/ + + - .. image:: /_static/label/python_package_index.png + :target: https://pypi.python.org/pypi/stem/ + + Signed releases and instructions for both Python 2.x and 3.x. You can + easily install from its `tarball + https://pypi.python.org/packages/source/s/stem/stem-1.4.1b.tar.bz2`_ + (`sig + https://pypi.python.org/packages/source/s/stem/stem-1.4.1b.tar.bz2.asc`_), + or with **pip**... + + :: + + % sudo easy_install pip + % sudo pip install stem + + * - .. image:: /_static/section/download/osx.png + + - .. image:: /_static/label/osx.png + + As of OSX 10.8 the platform bundles Python 2.7 by default. This makes + installation easy... + + :: + + % sudo easy_install pip + % sudo pip install stem + + * - .. image:: /_static/section/download/debian.png + :target: http://packages.debian.org/sid/python-stem + + - .. image:: /_static/label/debian.png + :target: http://packages.debian.org/sid/python-stem + + Package maintained by Dererk for Debian. + + :: + + % sudo apt-get install python-stem + + * - .. image:: /_static/section/download/ubuntu.png + :target: https://launchpad.net/ubuntu/+source/python-stem + + - .. image:: /_static/label/ubuntu.png + :target: https://launchpad.net/ubuntu/+source/python-stem + + Package derived from Debian for Ubuntu. + + :: + + % sudo apt-get install python-stem + + * - .. image:: /_static/section/download/fedora.png + :target: https://apps.fedoraproject.org/packages/python-stem + + - .. image:: /_static/label/fedora.png + :target: https://apps.fedoraproject.org/packages/python-stem + + Packages maintained by Juan for Fedora. These include **python-stem** + (Stem for Python 2.x), **python3-stem** (Stem for Python 3.x), and + **python-stem-doc** (this website). + + :: + + % sudo yum install python-stem + + * - .. image:: /_static/section/download/gentoo.png + :target: http://packages.gentoo.org/package/net-libs/stem + + - .. image:: /_static/label/gentoo.png + :target: http://packages.gentoo.org/package/net-libs/stem + + Package maintained by Anthony Basile for Gentoo. + + :: + + % sudo emerge stem + + * - .. image:: /_static/section/download/archlinux.png + :target: https://aur.archlinux.org/packages/stem/ + + - .. image:: /_static/label/archlinux.png + :target: https://aur.archlinux.org/packages/stem/ + + Package maintained by Sjon for `Arch Linux + https://wiki.archlinux.org/index.php/AUR#Installing_packages`_. + + :: + + % wget https://aur.archlinux.org/packages/st/stem/stem.tar.gz + % tar -xvf stem.tar.gz + % cd stem + % makepkg --install + + * - .. image:: /_static/section/download/slackware.png + :target: http://slackbuilds.org/repository/14.1/python/stem/ + + - .. image:: /_static/label/slackware.png + :target: http://slackbuilds.org/repository/14.1/python/stem/ + + Package maintained by Markus for `Slackware + http://slackbuilds.org/howto/`_. + + * - .. image:: /_static/section/download/freebsd.png + :target: http://www.freshports.org/security/py-stem/ + + - .. image:: /_static/label/freebsd.png + :target: http://www.freshports.org/security/py-stem/ + + Port maintained by Carlo for `FreeBSD + http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/ports.html`_. + + :: + + % pkg install security/py-stem + + * - .. image:: /_static/section/download/git.png + :target: https://gitweb.torproject.org/stem.git + + - .. image:: /_static/label/source_repository.png + :target: https://gitweb.torproject.org/stem.git + + For those wanting to live on the bleeding edge or contribute to Stem, + Stem's git repository can be fetched with... + + :: + + % git clone https://git.torproject.org/stem.git + diff --git a/docs/index.rst b/docs/index.rst new file mode 100644 index 0000000..6cf8d55 --- /dev/null +++ b/docs/index.rst @@ -0,0 +1,32 @@ +Welcome to Nyx! +=============== + +Nyx is a command line interface for `Tor https://www.torproject.org/`_, providing detailed real-time relaying information. With it you can view bandwidth usage, connections, logs, and much more. Nyx's latest version is **1.4.5** (released April 28th, 2012). + +.. Source: Nuovo (http://www.silvestre.com.ar/?p=5) + Author: Silvestre Herrera (http://www.silvestre.com.ar/) + License: GPL v2 + File: Nuovo/128x128/mimetypes/gnome-mime-text-log.png + +.. image:: /_static/buttons/change_log.png + :target: change_log.html + +.. Source: Crystal (http://www.everaldo.com/crystal/) + Author: Everaldo Coelho (http://www.everaldo.com/) + License: LGPL v2 + File: Crystal/64x64/apps/bug.png + +.. image:: /_static/buttons/bug_tracker.png + :target: https://trac.torproject.org/projects/tor/wiki/doc/nyx/bugs + +.. Source: ColorCons (http://mouserunner.com/Spheres_ColoCons1_Free_Icons.html) + Author: Ken Saunders (http://mouserunner.com/MRDS_Cell.html) + License: CC v2.5 (A, SA) + File: ColorCons/Blue/Download.png + +.. image:: /_static/buttons/download.png + :target: download.html + +.. toctree:: + :maxdepth: 1 + diff --git a/docs/republish b/docs/republish new file mode 100755 index 0000000..c3c683a --- /dev/null +++ b/docs/republish @@ -0,0 +1,7 @@ +#!/bin/sh + +export PATH=/home/nyx/bin:$PATH +export PYTHONPATH=/home/nyx/lib/python + +python /home/nyx/nyx/docs/republish.py $*& + diff --git a/docs/republish.py b/docs/republish.py new file mode 100644 index 0000000..f9e9d29 --- /dev/null +++ b/docs/republish.py @@ -0,0 +1,89 @@ +import getopt +import logging +import subprocess +import sys +import time + +LOGGER = logging.getLogger('republish') +LOGGER.setLevel(logging.INFO) + +handler = logging.FileHandler('/home/nyx/republish.log') +handler.setFormatter(logging.Formatter( + fmt = '%(asctime)s [%(levelname)s] %(message)s', + datefmt = '%m/%d/%Y %H:%M:%S', +)) +LOGGER.addHandler(handler) + +OPT = 'r:h' +OPT_EXPANDED = ['repeat=', 'help'] + +HELP_MSG = """\ +Republishes nyx's website. This can either be done or on a reoccurring basis. +If nyx's repository is unchanged then this is a no-op. + + -r, --repeat RATE tries to republish the site at a set rate, in minutes +""" + + +def run(command, cwd = None): + # Runs the given command. This returns the stdout if successful, and raises + # an OSError if it fails. + + cmd = subprocess.Popen(command.split(' '), stdout = subprocess.PIPE, stderr = subprocess.PIPE, cwd = cwd) + + if cmd.wait() == 0: + return cmd.communicate()[0] + else: + stdout, stderr = cmd.communicate() + raise OSError("'%s' failed\n stdout: %s\n stderr: %s" % (command, stdout.strip(), stderr.strip())) + + +def republish_site(): + # Checks if nyx's repository has changed, rebuilding the site if so. Ideally + # we'd use plumbing commands to check this but... meh. Patches welcome. + + if 'Already up-to-date.' not in run('git pull', cwd = '/home/nyx/nyx'): + start_time = time.time() + LOGGER.log(logging.INFO, "Nyx's repository has changed. Republishing...") + run('make html', cwd = '/home/nyx/nyx/docs') + run('sudo -u mirroradm static-master-update-component nyx.torproject.org') + + runtime = int(time.time() - start_time) + LOGGER.log(logging.INFO, ' site republished (took %s seconds)' % runtime) + + +if __name__ == '__main__': + try: + opts = getopt.getopt(sys.argv[1:], OPT, OPT_EXPANDED)[0] + except getopt.GetoptError as exc: + print('%s (for usage provide --help)' % exc) + sys.exit(1) + + repeat_rate = None + + for opt, arg in opts: + if opt in ('-r', '--repeat'): + if arg.isdigit(): + repeat_rate = int(arg) + else: + print("The --repeat argument must be an integer, got '%s'" % arg) + sys.exit(1) + elif opt in ('-h', '--help'): + print(HELP_MSG) + sys.exit() + + if repeat_rate: + LOGGER.log(logging.INFO, 'Starting nyx site republisher') + latest_run = 0 # unix timestamp for when we last ran + + while True: + while time.time() < (latest_run + repeat_rate * 60): + time.sleep(15) + + try: + latest_run = time.time() + republish_site() + except OSError as exc: + LOGGER.log(logging.WARN, str(exc)) + else: + republish_site() diff --git a/docs/roles.py b/docs/roles.py new file mode 100644 index 0000000..89db29a --- /dev/null +++ b/docs/roles.py @@ -0,0 +1,73 @@ +import re + +from docutils.utils import unescape +from docutils.nodes import reference +from docutils.parsers.rst.roles import set_classes + + +def role_trac(name, rawtext, text, lineno, inliner, options={}, content=[]): + """ + Aliases :trac:`1234` to 'https://trac.torproject.org/1234'. + + :param name: the role name used in the document + :param rawtext: the entire markup snippet, with role + :param text: the text marked with the role + :param lineno: the line number where rawtext appears in the input + :param inliner: the inliner instance that called us + :param options: directive options for customization + :param content: the directive content for customization + """ + + # checking if the number is valid + try: + ticket_num = int(text) + + if ticket_num <= 0: + raise ValueError + except ValueError: + msg = inliner.reporter.error('Invalid trac ticket: %s' % text, line=lineno) + prb = inliner.problematic(rawtext, rawtext, msg) + + return ([prb], [msg]) + + app = inliner.document.settings.env.app + link_text = 'ticket %s' % unescape(str(ticket_num)) + + return ( + [make_link_node(rawtext, app, 'trac_url', link_text, str(ticket_num), options)], + [], + ) + + +def make_link_node(rawtext, app, url_type, link_text, slug, options): + """ + Creates a link to a trac ticket. + + :param rawtext: text being replaced with link node + :param app: sphinx application context + :param url_type: base for our url + :param link_text: text for the link + :param slug: ID of the thing to link to + :param options: options dictionary passed to role func + """ + + base_url = getattr(app.config, url_type, None) + + if not base_url: + raise ValueError("'%s' isn't set in our config" % url_type) + + ref = base_url.format(slug = slug) + set_classes(options) + + return reference(rawtext, link_text, refuri = ref, **options) + + +def setup(app): + """ + Installs the plugin. + + :param app: sphinx application context + """ + + app.add_role('trac', role_trac) + app.add_config_value('trac_url', None, 'env')
tor-commits@lists.torproject.org