Skip to content

Commit 8f69d96

Browse files
committedFeb 25, 2014
A much better pass at docs.
1 parent 713056d commit 8f69d96

File tree

7 files changed

+352
-4
lines changed

7 files changed

+352
-4
lines changed
 

‎.gitignore

+3-1
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,6 @@
22
*.csv
33
*.vim
44
*_bkup*
5-
_docs/*
5+
html/*
6+
_docs/_build/*
7+
_docs/index.rst

‎_docs/Makefile

+37
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# Makefile for Sphinx documentation
2+
#
3+
4+
# You can set these variables from the command line.
5+
SPHINXOPTS =
6+
SPHINXBUILD = sphinx-build
7+
PAPER =
8+
BUILDDIR = _build
9+
10+
# User-friendly check for sphinx-build
11+
ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1)
12+
$(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/)
13+
endif
14+
15+
# Internal variables.
16+
PAPEROPT_a4 = -D latex_paper_size=a4
17+
PAPEROPT_letter = -D latex_paper_size=letter
18+
ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
19+
# the i18n builder cannot share the environment and doctrees with the others
20+
I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
21+
22+
.PHONY: help clean html
23+
24+
help:
25+
@echo "Please use \`make <target>' where <target> is one of"
26+
@echo " html to make standalone HTML files"
27+
28+
clean:
29+
rm -rf $(BUILDDIR)/*
30+
31+
html:
32+
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
33+
@echo
34+
mv $(BUILDDIR)/html ..
35+
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
36+
@echo "This directory has been copied to the project root."
37+
@echo "Enjoy!"

‎_docs/conf.py

+258
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,258 @@
1+
# -*- coding: utf-8 -*-
2+
#
3+
# refactoring101 documentation build configuration file, created by
4+
# sphinx-quickstart on Mon Feb 24 22:03:28 2014.
5+
#
6+
# This file is execfile()d with the current directory set to its
7+
# containing dir.
8+
#
9+
# Note that not all possible configuration values are present in this
10+
# autogenerated file.
11+
#
12+
# All configuration values have a default; values that are commented out
13+
# serve to show the default.
14+
15+
import sys
16+
import os
17+
18+
# If extensions (or modules to document with autodoc) are in another directory,
19+
# add these directories to sys.path here. If the directory is relative to the
20+
# documentation root, use os.path.abspath to make it absolute, like shown here.
21+
#sys.path.insert(0, os.path.abspath('.'))
22+
23+
# -- General configuration ------------------------------------------------
24+
25+
# If your documentation needs a minimal Sphinx version, state it here.
26+
#needs_sphinx = '1.0'
27+
28+
# Add any Sphinx extension module names here, as strings. They can be
29+
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
30+
# ones.
31+
extensions = []
32+
33+
# Add any paths that contain templates here, relative to this directory.
34+
templates_path = ['_templates']
35+
36+
# The suffix of source filenames.
37+
source_suffix = '.rst'
38+
39+
# The encoding of source files.
40+
#source_encoding = 'utf-8-sig'
41+
42+
# The master toctree document.
43+
master_doc = 'index'
44+
45+
# General information about the project.
46+
project = u'refactoring101'
47+
copyright = u'2014, Serdar Tumgoren (AP) and Jeremy Bowers (NPR)'
48+
49+
# The version info for the project you're documenting, acts as replacement for
50+
# |version| and |release|, also used in various other places throughout the
51+
# built documents.
52+
#
53+
# The short X.Y version.
54+
version = '0.1'
55+
# The full version, including alpha/beta/rc tags.
56+
release = '0.1'
57+
58+
# The language for content autogenerated by Sphinx. Refer to documentation
59+
# for a list of supported languages.
60+
#language = None
61+
62+
# There are two options for replacing |today|: either, you set today to some
63+
# non-false value, then it is used:
64+
#today = ''
65+
# Else, today_fmt is used as the format for a strftime call.
66+
#today_fmt = '%B %d, %Y'
67+
68+
# List of patterns, relative to source directory, that match files and
69+
# directories to ignore when looking for source files.
70+
exclude_patterns = ['_build']
71+
72+
# The reST default role (used for this markup: `text`) to use for all
73+
# documents.
74+
#default_role = None
75+
76+
# If true, '()' will be appended to :func: etc. cross-reference text.
77+
#add_function_parentheses = True
78+
79+
# If true, the current module name will be prepended to all description
80+
# unit titles (such as .. function::).
81+
#add_module_names = True
82+
83+
# If true, sectionauthor and moduleauthor directives will be shown in the
84+
# output. They are ignored by default.
85+
#show_authors = False
86+
87+
# The name of the Pygments (syntax highlighting) style to use.
88+
pygments_style = 'sphinx'
89+
90+
# A list of ignored prefixes for module index sorting.
91+
#modindex_common_prefix = []
92+
93+
# If true, keep warnings as "system message" paragraphs in the built documents.
94+
#keep_warnings = False
95+
96+
97+
# -- Options for HTML output ----------------------------------------------
98+
99+
# The theme to use for HTML and HTML Help pages. See the documentation for
100+
# a list of builtin themes.
101+
html_theme = 'default'
102+
103+
# Theme options are theme-specific and customize the look and feel of a theme
104+
# further. For a list of options available for each theme, see the
105+
# documentation.
106+
#html_theme_options = {}
107+
108+
# Add any paths that contain custom themes here, relative to this directory.
109+
#html_theme_path = []
110+
111+
# The name for this set of Sphinx documents. If None, it defaults to
112+
# "<project> v<release> documentation".
113+
#html_title = None
114+
115+
# A shorter title for the navigation bar. Default is the same as html_title.
116+
#html_short_title = None
117+
118+
# The name of an image file (relative to this directory) to place at the top
119+
# of the sidebar.
120+
#html_logo = None
121+
122+
# The name of an image file (within the static path) to use as favicon of the
123+
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
124+
# pixels large.
125+
#html_favicon = None
126+
127+
# Add any paths that contain custom static files (such as style sheets) here,
128+
# relative to this directory. They are copied after the builtin static files,
129+
# so a file named "default.css" will overwrite the builtin "default.css".
130+
html_static_path = ['_static']
131+
132+
# Add any extra paths that contain custom files (such as robots.txt or
133+
# .htaccess) here, relative to this directory. These files are copied
134+
# directly to the root of the documentation.
135+
#html_extra_path = []
136+
137+
# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
138+
# using the given strftime format.
139+
#html_last_updated_fmt = '%b %d, %Y'
140+
141+
# If true, SmartyPants will be used to convert quotes and dashes to
142+
# typographically correct entities.
143+
#html_use_smartypants = True
144+
145+
# Custom sidebar templates, maps document names to template names.
146+
#html_sidebars = {}
147+
148+
# Additional templates that should be rendered to pages, maps page names to
149+
# template names.
150+
#html_additional_pages = {}
151+
152+
# If false, no module index is generated.
153+
#html_domain_indices = True
154+
155+
# If false, no index is generated.
156+
#html_use_index = True
157+
158+
# If true, the index is split into individual pages for each letter.
159+
#html_split_index = False
160+
161+
# If true, links to the reST sources are added to the pages.
162+
#html_show_sourcelink = True
163+
164+
# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
165+
#html_show_sphinx = True
166+
167+
# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
168+
#html_show_copyright = True
169+
170+
# If true, an OpenSearch description file will be output, and all pages will
171+
# contain a <link> tag referring to it. The value of this option must be the
172+
# base URL from which the finished HTML is served.
173+
#html_use_opensearch = ''
174+
175+
# This is the file name suffix for HTML files (e.g. ".xhtml").
176+
#html_file_suffix = None
177+
178+
# Output file base name for HTML help builder.
179+
htmlhelp_basename = 'refactoring101doc'
180+
181+
182+
# -- Options for LaTeX output ---------------------------------------------
183+
184+
latex_elements = {
185+
# The paper size ('letterpaper' or 'a4paper').
186+
#'papersize': 'letterpaper',
187+
188+
# The font size ('10pt', '11pt' or '12pt').
189+
#'pointsize': '10pt',
190+
191+
# Additional stuff for the LaTeX preamble.
192+
#'preamble': '',
193+
}
194+
195+
# Grouping the document tree into LaTeX files. List of tuples
196+
# (source start file, target name, title,
197+
# author, documentclass [howto, manual, or own class]).
198+
latex_documents = [
199+
('index', 'refactoring101.tex', u'refactoring101 Documentation',
200+
u'Serdar Tumgoren (AP) and Jeremy Bowers (NPR)', 'manual'),
201+
]
202+
203+
# The name of an image file (relative to this directory) to place at the top of
204+
# the title page.
205+
#latex_logo = None
206+
207+
# For "manual" documents, if this is true, then toplevel headings are parts,
208+
# not chapters.
209+
#latex_use_parts = False
210+
211+
# If true, show page references after internal links.
212+
#latex_show_pagerefs = False
213+
214+
# If true, show URL addresses after external links.
215+
#latex_show_urls = False
216+
217+
# Documents to append as an appendix to all manuals.
218+
#latex_appendices = []
219+
220+
# If false, no module index is generated.
221+
#latex_domain_indices = True
222+
223+
224+
# -- Options for manual page output ---------------------------------------
225+
226+
# One entry per manual page. List of tuples
227+
# (source start file, name, description, authors, manual section).
228+
man_pages = [
229+
('index', 'refactoring101', u'refactoring101 Documentation',
230+
[u'Serdar Tumgoren (AP) and Jeremy Bowers (NPR)'], 1)
231+
]
232+
233+
# If true, show URL addresses after external links.
234+
#man_show_urls = False
235+
236+
237+
# -- Options for Texinfo output -------------------------------------------
238+
239+
# Grouping the document tree into Texinfo files. List of tuples
240+
# (source start file, target name, title, author,
241+
# dir menu entry, description, category)
242+
texinfo_documents = [
243+
('index', 'refactoring101', u'refactoring101 Documentation',
244+
u'Serdar Tumgoren (AP) and Jeremy Bowers (NPR)', 'refactoring101', 'One line description of project.',
245+
'Miscellaneous'),
246+
]
247+
248+
# Documents to append as an appendix to all manuals.
249+
#texinfo_appendices = []
250+
251+
# If false, no module index is generated.
252+
#texinfo_domain_indices = True
253+
254+
# How to display URL addresses: 'footnote', 'no', or 'inline'.
255+
#texinfo_show_urls = 'footnote'
256+
257+
# If true, do not generate a @detailmenu in the "Top" node's menu.
258+
#texinfo_no_detailmenu = False

‎docs/_static

-1
This file was deleted.

‎docs/index.html

-1
This file was deleted.

‎fabfile.py

+50
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
import os
2+
3+
from fabric.api import *
4+
5+
def readme_to_rst():
6+
"""
7+
Convert README.md to _docs/index.rst for Sphinx.
8+
Convert the GitHub-friendly README.md to a Sphinx-friendly reStructured text file.
9+
"""
10+
11+
print "Converting markdown to reStructured text."
12+
13+
# Try to run the pandoc command to convert our file.
14+
test_pandoc = os.system('pandoc -s README.md -o _docs/index.rst')
15+
16+
# If this fails to run for any reason, assume it's not installed and send a nice message.
17+
if test_pandoc != 0:
18+
print "You don't have pandoc installed! Go get it!\nhttp://johnmacfarlane.net/pandoc/installing.html"
19+
20+
return False
21+
22+
return True
23+
24+
25+
def build_sphinx_html():
26+
"""
27+
Build HTML with Sphinx for our readme.
28+
Converts _docs/index.rst into a fancy HTML page with search and everything.
29+
"""
30+
os.system('rm -rf html')
31+
os.system('cd _docs && make html')
32+
33+
def serve_sphinx():
34+
"""
35+
Serve Sphinx HTML for Web browsers.
36+
Runs the Python SimpleHTTPServer on port 8000.
37+
"""
38+
print "Open a Web browser to http://127.0.0.1:8000/\n"
39+
os.system('cd html && python -m SimpleHTTPServer')
40+
41+
def bootstrap_docs():
42+
"""
43+
Setup docs.
44+
"""
45+
if readme_to_rst():
46+
build_sphinx_html()
47+
serve_sphinx()
48+
49+
else:
50+
print "Exiting so you can install pandoc."

‎requirements.txt

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
1+
Fabric==1.8.2
12
Jinja2==2.7.2
23
MarkupSafe==0.18
34
Pygments==1.6
45
Sphinx==1.2.1
56
docutils==0.11
6-
nose==1.3.0
7+
ecdsa==0.10
8+
paramiko==1.12.2
9+
pycrypto==2.6.1
710
wsgiref==0.1.2

0 commit comments

Comments
 (0)
Please sign in to comment.