Revision: 5379
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=5379&view=rev
Author: jdh2358
Date: 2008-06-03 13:57:02 -0700 (Tue, 03 Jun 2008)
Log Message:
-----------
added sphinx template for doc unit
Added Paths:
-----------
trunk/py4science/examples/sphinx_template/
trunk/py4science/examples/sphinx_template/README.txt
trunk/py4science/examples/sphinx_template/_static/
trunk/py4science/examples/sphinx_template/_templates/
trunk/py4science/examples/sphinx_template/build/
trunk/py4science/examples/sphinx_template/conf.py
trunk/py4science/examples/sphinx_template/index.rst
trunk/py4science/examples/sphinx_template/make.py
trunk/py4science/examples/sphinx_template/model/
trunk/py4science/examples/sphinx_template/model/index.rst
trunk/py4science/examples/sphinx_template/model/introduction.rst
trunk/py4science/examples/sphinx_template/model/next_steps.rst
trunk/py4science/examples/sphinx_template/model/sphinx_helpers.rst
trunk/py4science/examples/sphinx_template/simulations/
trunk/py4science/examples/sphinx_template/simulations/code/
trunk/py4science/examples/sphinx_template/simulations/code/elegant.py
trunk/py4science/examples/sphinx_template/simulations/code/hairy.py
trunk/py4science/examples/sphinx_template/simulations/code/make.py
trunk/py4science/examples/sphinx_template/simulations/finale.rst
trunk/py4science/examples/sphinx_template/simulations/index.rst
trunk/py4science/examples/sphinx_template/simulations/introduction.rst
trunk/py4science/examples/sphinx_template/simulations/preliminary.rst
Added: trunk/py4science/examples/sphinx_template/README.txt
===================================================================
--- trunk/py4science/examples/sphinx_template/README.txt
(rev 0)
+++ trunk/py4science/examples/sphinx_template/README.txt 2008-06-03
20:57:02 UTC (rev 5379)
@@ -0,0 +1,26 @@
+sphinx template sampledoc
+=========================
+
+This is the top level build directory for the sphinx sampledoc
+documentation. All of the documentation is written using sphinx, a
+python documentation system built on top of ReST. This directory
+contains
+
+
+* model - A document describing a model
+
+* simulations - A document describing the simulations -- contains a
+ code subdir with python scripts and a make.py file to build them
+ into PNGs
+
+* make.py - the build script to build the html or PDF docs. Do
+ `python make.py html` or `python make.py latex` for PDF
+
+* index.rst - the top level include document for sampledocs document
+
+* conf.py - the sphinx configuration
+
+* _static - used by the sphinx build system
+
+* _templates - used by the sphinx build system
+
Added: trunk/py4science/examples/sphinx_template/conf.py
===================================================================
--- trunk/py4science/examples/sphinx_template/conf.py
(rev 0)
+++ trunk/py4science/examples/sphinx_template/conf.py 2008-06-03 20:57:02 UTC
(rev 5379)
@@ -0,0 +1,161 @@
+# -*- coding: utf-8 -*-
+#
+# sampledoc documentation build configuration file, created by
+# sphinx-quickstart on Tue Jun 3 12:40:24 2008.
+#
+# This file is execfile()d with the current directory set to its containing
dir.
+#
+# The contents of this file are pickled, so don't put values in the namespace
+# that aren't pickleable (module imports are okay, they're removed
automatically).
+#
+# All configuration values have a default value; values that are commented out
+# serve to show the default value.
+
+import sys, os
+
+# If your extensions are in another directory, add it here. If the directory
+# is relative to the documentation root, use os.path.abspath to make it
+# absolute, like shown here.
+#sys.path.append(os.path.abspath('some/directory'))
+
+# General configuration
+# ---------------------
+
+# Add any Sphinx extension module names here, as strings. They can be
extensions
+# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
+#extensions = []
+
+# Add any paths that contain templates here, relative to this directory.
+templates_path = ['_templates']
+
+# The suffix of source filenames.
+source_suffix = '.rst'
+
+# The master toctree document.
+master_doc = 'index'
+
+# General substitutions.
+project = 'sampledoc'
+copyright = '2008, John D. Hunter, Cast of Thousands'
+
+# The default replacements for |version| and |release|, also used in various
+# other places throughout the built documents.
+#
+# The short X.Y version.
+version = '0.1'
+# The full version, including alpha/beta/rc tags.
+release = '0.1'
+
+# 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 documents that shouldn't be included in the build.
+#unused_docs = []
+
+# List of directories, relative to source directories, that shouldn't be
searched
+# for source files.
+#exclude_dirs = []
+
+# 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'
+
+
+# Options for HTML output
+# -----------------------
+
+# The style sheet to use for HTML and HTML Help pages. A file of that name
+# must exist either in Sphinx' static/ path, or in one of the custom paths
+# given in html_static_path.
+html_style = 'default.css'
+
+# The name for this set of Sphinx documents. If None, it defaults to
+# "<project> v<release> documentation".
+#html_title = None
+
+# The name of an image file (within the static path) to place at the top of
+# the sidebar.
+#html_logo = 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']
+
+# 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 = {}
+
+# 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_use_modindex = True
+
+# If true, the reST sources are included in the HTML build as _sources/<name>.
+#html_copy_source = True
+
+# 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 = ''
+
+# If nonempty, this is the file name suffix for HTML files (e.g. ".xhtml").
+#html_file_suffix = ''
+
+# Output file base name for HTML help builder.
+htmlhelp_basename = 'sampledoc'
+
+
+# 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, document class
[howto/manual]).
+latex_documents = [
+ ('index', 'sampledoc.tex', 'sampledoc Documentation', 'John D. Hunter, Cast
of Thousands', '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
+
+# 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_use_modindex = True
Added: trunk/py4science/examples/sphinx_template/index.rst
===================================================================
--- trunk/py4science/examples/sphinx_template/index.rst
(rev 0)
+++ trunk/py4science/examples/sphinx_template/index.rst 2008-06-03 20:57:02 UTC
(rev 5379)
@@ -0,0 +1,23 @@
+.. sampledoc documentation master file, created by sphinx-quickstart on Tue
Jun 3 12:40:24 2008.
+ You can adapt this file completely to your liking, but it should at least
+ contain the root `toctree` directive.
+
+Welcome to sampledoc's documentation!
+=====================================
+
+Contents:
+
+.. toctree::
+ :maxdepth: 2
+
+ model/index.rst
+ simulations/index.rst
+
+
+Indices and tables
+==================
+
+* :ref:`genindex`
+* :ref:`modindex`
+* :ref:`search`
+
Added: trunk/py4science/examples/sphinx_template/make.py
===================================================================
--- trunk/py4science/examples/sphinx_template/make.py
(rev 0)
+++ trunk/py4science/examples/sphinx_template/make.py 2008-06-03 20:57:02 UTC
(rev 5379)
@@ -0,0 +1,71 @@
+#!/usr/bin/env python
+import fileinput
+import glob
+import os
+import shutil
+import sys
+
+def check_build():
+ build_dirs = ['build', 'build/doctrees', 'build/html', 'build/latex',
+ '_static', '_templates']
+ for d in build_dirs:
+ try:
+ os.mkdir(d)
+ except OSError:
+ pass
+
+def figs():
+ os.system('cd simulations/code/ && python make.py')
+
+def html():
+ check_build()
+ figs()
+ os.system('sphinx-build -b html -d build/doctrees . build/html')
+
+def latex():
+ check_build()
+ figs()
+ if sys.platform != 'win32':
+ # LaTeX format.
+ os.system('sphinx-build -b latex -d build/doctrees . build/latex')
+
+ # Produce pdf.
+ os.chdir('build/latex')
+
+ # Copying the makefile produced by sphinx...
+ os.system('pdflatex sampledoc.tex')
+ os.system('pdflatex sampledoc.tex')
+ os.system('makeindex -s python.ist sampledoc.idx')
+ os.system('makeindex -s python.ist modsampledoc.idx')
+ os.system('pdflatex sampledoc.tex')
+
+ os.chdir('../..')
+ else:
+ print 'latex build has not been tested on windows'
+
+def clean():
+ shutil.rmtree('build')
+
+def all():
+ figs()
+ html()
+ latex()
+
+
+funcd = {'figs':figs,
+ 'html':html,
+ 'latex':latex,
+ 'clean':clean,
+ 'all':all,
+ }
+
+
+if len(sys.argv)>1:
+ for arg in sys.argv[1:]:
+ func = funcd.get(arg)
+ if func is None:
+ raise SystemExit('Do not know how to handle %s; valid args are'%(
+ arg, funcd.keys()))
+ func()
+else:
+ all()
Added: trunk/py4science/examples/sphinx_template/model/index.rst
===================================================================
--- trunk/py4science/examples/sphinx_template/model/index.rst
(rev 0)
+++ trunk/py4science/examples/sphinx_template/model/index.rst 2008-06-03
20:57:02 UTC (rev 5379)
@@ -0,0 +1,14 @@
+.. _model-index:
+
+##############
+My Fancy Model
+##############
+
+:Release: |version|
+:Date: |today|
+
+.. toctree::
+
+ introduction.rst
+ next_steps.rst
+ sphinx_helpers.rst
Added: trunk/py4science/examples/sphinx_template/model/introduction.rst
===================================================================
--- trunk/py4science/examples/sphinx_template/model/introduction.rst
(rev 0)
+++ trunk/py4science/examples/sphinx_template/model/introduction.rst
2008-06-03 20:57:02 UTC (rev 5379)
@@ -0,0 +1,23 @@
+.. _model-introduction:
+
+******************
+Model Introduction
+******************
+
+Wherein I describe my fancy model
+
+.. _other-models:
+
+Other Models
+============
+
+Where in I describe
+
+* model A
+
+* model B
+
+* model C
+
+and why they all suck
+
Added: trunk/py4science/examples/sphinx_template/model/next_steps.rst
===================================================================
--- trunk/py4science/examples/sphinx_template/model/next_steps.rst
(rev 0)
+++ trunk/py4science/examples/sphinx_template/model/next_steps.rst
2008-06-03 20:57:02 UTC (rev 5379)
@@ -0,0 +1,8 @@
+.. _next-steps:
+
+**********
+Next steps
+**********
+
+Wherein I describe my next steps
+
Added: trunk/py4science/examples/sphinx_template/model/sphinx_helpers.rst
===================================================================
--- trunk/py4science/examples/sphinx_template/model/sphinx_helpers.rst
(rev 0)
+++ trunk/py4science/examples/sphinx_template/model/sphinx_helpers.rst
2008-06-03 20:57:02 UTC (rev 5379)
@@ -0,0 +1,127 @@
+.. _sphinx_helpers:
+
+******************
+Sphinx Cheat Sheet
+******************
+
+Wherein I show by example how to do some things in Sphinx (you can see
+a literal version of this file below in :ref:`sphinx-literal`)
+
+
+.. _making-a-list:
+
+Making a list
+=============
+
+It is easy to make lists in rest
+
+Bullet points
+-------------
+
+This is a subsection making bullet points
+
+* point A
+
+* point B
+
+* point C
+
+
+Enumerated points
+------------------
+
+This is a subsection making numbered points
+
+#. point A
+
+#. point B
+
+#. point C
+
+
+.. _making-a-table:
+
+Making a table
+==============
+
+This shows you how to make a table -- if you only want to make a list see
:ref:`making-a-list`.
+
+================== ============
+Name Age
+================== ============
+John D Hunter 40
+Cast of Thousands 41
+And Still More 42
+================== ============
+
+.. _making-links:
+
+Making links
+============
+
+It is easy to make a link to `yahoo <http://yahoo.com>`_ or to some
+section inside this document (see :ref:`making-a-table`) or another
+document (see :ref:`final-results`).
+
+.. _formatting-text:
+
+Formatting text
+===============
+
+You use inline markup to make text *italics*, **bold**, or ``monotype``.
+
+You can represent code blocks fairly easily::
+
+ import numpy as np
+ x = np.random.rand(12)
+
+Or literally include code:
+
+.. literalinclude:: ../simulations/code/elegant.py
+
+
+.. _emacs-helpers:
+
+Emacs helpers
+=============
+
+There is an emacs mode `rst.el
+<http://docutils.sourceforge.net/tools/editors/emacs/rst.el>`_ which
+automates many important ReST tasks like building and updateing
+table-of-contents, and promoting or demoting section headings. Here
+is the basic ``.emacs`` configuration::
+
+ (require 'rst)
+ (setq auto-mode-alist
+ (append '(("\\.txt$" . rst-mode)
+ ("\\.rst$" . rst-mode)
+ ("\\.rest$" . rst-mode)) auto-mode-alist))
+
+
+Some helpful functions::
+
+ C-c TAB - rst-toc-insert
+
+ Insert table of contents at point
+
+ C-c C-u - rst-toc-update
+
+ Update the table of contents at point
+
+ C-c C-l rst-shift-region-left
+
+ Shift region to the left
+
+ C-c C-r rst-shift-region-right
+
+ Shift region to the right
+
+
+.. _sphinx-literal:
+
+This file
+=========
+
+.. literalinclude:: sphinx_helpers.rst
+
+
Added: trunk/py4science/examples/sphinx_template/simulations/code/elegant.py
===================================================================
--- trunk/py4science/examples/sphinx_template/simulations/code/elegant.py
(rev 0)
+++ trunk/py4science/examples/sphinx_template/simulations/code/elegant.py
2008-06-03 20:57:02 UTC (rev 5379)
@@ -0,0 +1,4 @@
+import matplotlib.pyplot as plt
+plt.plot([1,2,3], [4,5,6])
+plt.ylabel('some more numbers')
+
Added: trunk/py4science/examples/sphinx_template/simulations/code/hairy.py
===================================================================
--- trunk/py4science/examples/sphinx_template/simulations/code/hairy.py
(rev 0)
+++ trunk/py4science/examples/sphinx_template/simulations/code/hairy.py
2008-06-03 20:57:02 UTC (rev 5379)
@@ -0,0 +1,4 @@
+import matplotlib.pyplot as plt
+plt.plot([1,2,3])
+plt.ylabel('some numbers')
+
Added: trunk/py4science/examples/sphinx_template/simulations/code/make.py
===================================================================
--- trunk/py4science/examples/sphinx_template/simulations/code/make.py
(rev 0)
+++ trunk/py4science/examples/sphinx_template/simulations/code/make.py
2008-06-03 20:57:02 UTC (rev 5379)
@@ -0,0 +1,58 @@
+#!/usr/bin/env python
+import sys, os, glob
+import matplotlib
+import IPython.Shell
+matplotlib.rcdefaults()
+matplotlib.use('Agg')
+
+mplshell = IPython.Shell.MatplotlibShell('mpl')
+
+def figs():
+ print 'making figs'
+ import matplotlib.pyplot as plt
+ for fname in glob.glob('*.py'):
+ if fname==__file__: continue
+ basename, ext = os.path.splitext(fname)
+ outfile = '%s.png'%basename
+
+ if os.path.exists(outfile):
+ print ' already have %s'%outfile
+ continue
+ else:
+ print ' building %s'%fname
+ plt.close('all') # we need to clear between runs
+ mplshell.magic_run(basename)
+ plt.savefig('%s.png'%basename)
+ print 'all figures made'
+
+
+def clean():
+ patterns = ['#*', '*~', '*.png', '*pyc']
+ for pattern in patterns:
+ for fname in glob.glob(pattern):
+ os.remove(fname)
+ print 'all clean'
+
+
+
+def all():
+ figs()
+
+funcd = {'figs':figs,
+ 'clean':clean,
+ 'all':all,
+ }
+
+if len(sys.argv)>1:
+ for arg in sys.argv[1:]:
+ func = funcd.get(arg)
+ if func is None:
+ raise SystemExit('Do not know how to handle %s; valid args are'%(
+ arg, funcd.keys()))
+ func()
+else:
+ all()
+
+
+
+
Added: trunk/py4science/examples/sphinx_template/simulations/finale.rst
===================================================================
--- trunk/py4science/examples/sphinx_template/simulations/finale.rst
(rev 0)
+++ trunk/py4science/examples/sphinx_template/simulations/finale.rst
2008-06-03 20:57:02 UTC (rev 5379)
@@ -0,0 +1,17 @@
+.. _final-results:
+
+*************
+Final Results
+*************
+
+
+After much head scratching, I wrote this big elegant piece of code
+
+.. literalinclude:: code/elegant.py
+
+which produced this elegant figure
+
+.. image:: code/elegant.png
+ :scale: 50
+
+
Added: trunk/py4science/examples/sphinx_template/simulations/index.rst
===================================================================
--- trunk/py4science/examples/sphinx_template/simulations/index.rst
(rev 0)
+++ trunk/py4science/examples/sphinx_template/simulations/index.rst
2008-06-03 20:57:02 UTC (rev 5379)
@@ -0,0 +1,15 @@
+.. _simulations-index:
+
+#########################
+My Stupendous Simulations
+#########################
+
+:Release: |version|
+:Date: |today|
+
+.. toctree::
+
+ introduction.rst
+ preliminary.rst
+ finale.rst
+
Added: trunk/py4science/examples/sphinx_template/simulations/introduction.rst
===================================================================
--- trunk/py4science/examples/sphinx_template/simulations/introduction.rst
(rev 0)
+++ trunk/py4science/examples/sphinx_template/simulations/introduction.rst
2008-06-03 20:57:02 UTC (rev 5379)
@@ -0,0 +1,24 @@
+.. _simulations-introduction:
+
+********************
+Simulations overview
+********************
+
+Wherein I describe my fancy code and libraries to implement my fancy model
(:ref:`model-introduction`)
+
+.. _python-libraries:
+
+The python libraries
+====================
+
+Why `matplotlib <http://matplotlib.sf.net>`_ rules
+
+.. _data-sources:
+
+The data sources
+====================
+
+Now how much would you pay?
+
+
+
Added: trunk/py4science/examples/sphinx_template/simulations/preliminary.rst
===================================================================
--- trunk/py4science/examples/sphinx_template/simulations/preliminary.rst
(rev 0)
+++ trunk/py4science/examples/sphinx_template/simulations/preliminary.rst
2008-06-03 20:57:02 UTC (rev 5379)
@@ -0,0 +1,17 @@
+.. _preliminary-tests:
+
+*****************
+Preliminary tests
+*****************
+
+I wrote this big hairy piece of code
+
+.. literalinclude:: code/hairy.py
+
+
+which produced this lovely figure
+
+.. image:: code/hairy.png
+ :scale: 50
+
+
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
Matplotlib-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/matplotlib-checkins