Commits

Anonymous committed 3c3be05

Switch to Pyramid doc theme. Delete old doc templates and stylesheet.

Comments (0)

Files changed (14)

-
-# Automatically generated by `hgimportsvn`
 syntax:glob
-.svn
+.coverage
+*.egg
 *.pyc
 WebHelpers.egg-info
 build
 dist
 docs/_build
+docs/_themes
+env26
-WebHelpers ChangeLog
-====================
-
-1.3 (unreleased)
-----------------
+1.3b1 (2011-03-17)
+------------------
 
 * Documentation:
   
-WebHelpers TODO
-===============
+TODO
+%%%%
 
 WebHelpers 1.x is in a soft feature freeze, so only bugfixes and small changes
 are likely to be made in the foreseeable future.
 
 # You can set these variables from the command line.
 SPHINXOPTS    =
-SPHINXBUILD   = PYTHONPATH=.. sphinx-build
+SPHINXBUILD   = sphinx-build
 PAPER         =
 
 # Internal variables.
 PAPEROPT_letter = -D latex_paper_size=letter
 ALLSPHINXOPTS   = -d _build/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
 
-.PHONY: help clean html web htmlhelp latex changes linkcheck
+.PHONY: help clean html web pickle htmlhelp latex changes linkcheck
 
 help:
 	@echo "Please use \`make <target>' where <target> is one of"
 	@echo "  html      to make standalone HTML files"
-	@echo "  web       to make files usable by Sphinx.web"
+	@echo "  pickle    to make pickle files (usable by e.g. sphinx-web)"
 	@echo "  htmlhelp  to make HTML files and a HTML help project"
 	@echo "  latex     to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
 	@echo "  changes   to make an overview over all changed/added/deprecated items"
 clean:
 	-rm -rf _build/*
 
-html:
+html: _themes/
 	mkdir -p _build/html _build/doctrees
 	$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) _build/html
 	@echo
 	@echo "Build finished. The HTML pages are in _build/html."
 
-web:
-	mkdir -p _build/web _build/doctrees
-	$(SPHINXBUILD) -b web $(ALLSPHINXOPTS) _build/web
+text:
+	mkdir -p _build/text _build/doctrees
+	$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) _build/text
 	@echo
-	@echo "Build finished; now you can run"
-	@echo "  python -m sphinx.web _build/web"
-	@echo "to start the server."
+	@echo "Build finished. The HTML pages are in _build/text."
 
-htmlhelp:
+pickle:
+	mkdir -p _build/pickle _build/doctrees
+	$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) _build/pickle
+	@echo
+	@echo "Build finished; now you can process the pickle files or run"
+	@echo "  sphinx-web _build/pickle"
+	@echo "to start the sphinx-web server."
+
+web: pickle
+
+htmlhelp: _themes
 	mkdir -p _build/htmlhelp _build/doctrees
 	$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) _build/htmlhelp
 	@echo
 latex:
 	mkdir -p _build/latex _build/doctrees
 	$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) _build/latex
+	cp _static/*.png _build/latex
+	./convert_images.sh
+	cp _static/latex-warning.png _build/latex
+	cp _static/latex-note.png _build/latex
 	@echo
 	@echo "Build finished; the LaTeX files are in _build/latex."
 	@echo "Run \`make all-pdf' or \`make all-ps' in that directory to" \
 	@echo
 	@echo "Link check complete; look for any errors in the above output " \
 	      "or in _build/linkcheck/output.txt."
+
+epub:
+	$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) _build/epub
+	@echo
+	@echo "Build finished. The epub file is in _build/epub."
+
+_themes:
+	git clone git://github.com/Pylons/pylons_sphinx_theme.git _themes

docs/_static/default.css

-/**
- * Sphinx Doc Design
- *
- * Local changes: font size. text-align left.
- *
- */
-
-body {
-    font-family: sans-serif;
-    font-size: small;
-    background-color: #11303d;
-    color: #000;
-    margin: 0;
-    padding: 0;
-}
-
-/* :::: LAYOUT :::: */
-
-div.document {
-    background-color: #1c4e63;
-}
-
-div.documentwrapper {
-    float: left;
-    width: 100%;
-}
-
-div.bodywrapper {
-    margin: 0 0 0 230px;
-}
-
-div.body {
-    background-color: white;
-    padding: 0 20px 30px 20px;
-}
-
-div.sphinxsidebarwrapper {
-    padding: 10px 5px 0 10px;
-}
-
-div.sphinxsidebar {
-    float: left;
-    width: 230px;
-    margin-left: -100%;
-    font-size: 90%;
-}
-
-div.clearer {
-    clear: both;
-}
-
-div.footer {
-    color: #fff;
-    width: 100%;
-    padding: 9px 0 9px 0;
-    text-align: center;
-    font-size: 75%;
-}
-
-div.footer a {
-    color: #fff;
-    text-decoration: underline;
-}
-
-div.related {
-    background-color: #133f52;
-    color: #fff;
-    width: 100%;
-    line-height: 30px;
-    font-size: 90%;
-}
-
-div.related h3 {
-    display: none;
-}
-
-div.related ul {
-    margin: 0;
-    padding: 0 0 0 10px;
-    list-style: none;
-}
-
-div.related li {
-    display: inline;
-}
-
-div.related li.right {
-    float: right;
-    margin-right: 5px;
-}
-
-div.related a {
-    color: white;
-}
-
-/* ::: TOC :::: */
-div.sphinxsidebar h3 {
-    font-family: 'Trebuchet MS', sans-serif;
-    color: white;
-    font-size: 1.4em;
-    font-weight: normal;
-    margin: 0;
-    padding: 0;
-}
-
-div.sphinxsidebar h3 a {
-    color: white;
-}
-
-div.sphinxsidebar h4 {
-    font-family: 'Trebuchet MS', sans-serif;
-    color: white;
-    font-size: 1.3em;
-    font-weight: normal;
-    margin: 5px 0 0 0;
-    padding: 0;
-}
-
-div.sphinxsidebar p {
-    color: white;
-}
-
-div.sphinxsidebar p.topless {
-    margin: 5px 10px 10px 10px;
-}
-
-div.sphinxsidebar ul {
-    margin: 10px;
-    padding: 0;
-    list-style: none;
-    color: white;
-}
-
-div.sphinxsidebar ul ul,
-div.sphinxsidebar ul.want-points {
-    margin-left: 20px;
-    list-style: square;
-}
-
-div.sphinxsidebar ul ul {
-    margin-top: 0;
-    margin-bottom: 0;
-}
-
-div.sphinxsidebar a {
-    color: #98dbcc;
-}
-
-div.sphinxsidebar form {
-    margin-top: 10px;
-}
-
-div.sphinxsidebar input {
-    border: 1px solid #98dbcc;
-    font-family: sans-serif;
-    font-size: 1em;
-}
-
-/* :::: MODULE CLOUD :::: */
-div.modulecloud {
-    margin: -5px 10px 5px 10px;
-    padding: 10px;
-    line-height: 160%;
-    border: 1px solid #cbe7e5;
-    background-color: #f2fbfd;
-}
-
-div.modulecloud a {
-    padding: 0 5px 0 5px;
-}
-
-/* :::: SEARCH :::: */
-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;
-}
-
-/* :::: COMMON FORM STYLES :::: */
-
-div.actions {
-    padding: 5px 10px 5px 10px;
-    border-top: 1px solid #cbe7e5;
-    border-bottom: 1px solid #cbe7e5;
-    background-color: #e0f6f4;
-}
-
-form dl {
-    color: #333;
-}
-
-form dt {
-    clear: both;
-    float: left;
-    min-width: 110px;
-    margin-right: 10px;
-    padding-top: 2px;
-}
-
-input#homepage {
-    display: none;
-}
-
-div.error {
-    margin: 5px 20px 0 0;
-    padding: 5px;
-    border: 1px solid #d00;
-    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%;
-}
-
-/* :::: INDEX STYLES :::: */
-
-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;
-}
-
-form.pfform {
-    margin: 10px 0 20px 0;
-}
-
-/* :::: GLOBAL STYLES :::: */
-
-.docwarning {
-    background-color: #ffe4e4;
-    padding: 10px;
-    margin: 0 -20px 0 -20px;
-    border-bottom: 1px solid #f66;
-}
-
-p.subhead {
-    font-weight: bold;
-    margin-top: 20px;
-}
-
-a {
-    color: #355f7c;
-    text-decoration: none;
-}
-
-a:hover {
-    text-decoration: underline;
-}
-
-div.body h1,
-div.body h2,
-div.body h3,
-div.body h4,
-div.body h5,
-div.body h6 {
-    font-family: 'Trebuchet MS', sans-serif;
-    background-color: #f2f2f2;
-    font-weight: normal;
-    color: #20435c;
-    border-bottom: 1px solid #ccc;
-    margin: 20px -20px 10px -20px;
-    padding: 3px 0 3px 10px;
-}
-
-div.body h1 { margin-top: 0; font-size: 200%; }
-div.body h2 { font-size: 160%; }
-div.body h3 { font-size: 140%; }
-div.body h4 { font-size: 120%; }
-div.body h5 { font-size: 110%; }
-div.body h6 { font-size: 100%; }
-
-a.headerlink {
-    color: #c60f0f;
-    font-size: 0.8em;
-    padding: 0 4px 0 4px;
-    text-decoration: none;
-    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;
-}
-
-a.headerlink:hover {
-    background-color: #c60f0f;
-    color: white;
-}
-
-div.body p, div.body dd, div.body li {
-    text-align: left;
-    line-height: 130%;
-}
-
-div.body p.caption {
-    text-align: inherit;
-}
-
-div.body td {
-    text-align: left;
-}
-
-ul.fakelist {
-    list-style: none;
-    margin: 10px 0 10px 20px;
-    padding: 0;
-}
-
-.field-list ul {
-    padding-left: 1em;
-}
-
-.first {
-    margin-top: 0 !important;
-}
-
-/* "Footnotes" heading */
-p.rubric {
-    margin-top: 30px;
-    font-weight: bold;
-}
-
-/* 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 {
-    background-color: #eee;
-    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;
-}
-
-div.admonition p.admonition-title + p {
-    display: inline;
-}
-
-div.seealso {
-    background-color: #ffc;
-    border: 1px solid #ff6;
-}
-
-div.warning {
-    background-color: #ffe4e4;
-    border: 1px solid #f66;
-}
-
-div.note {
-    background-color: #eee;
-    border: 1px solid #ccc;
-}
-
-p.admonition-title {
-    margin: 0px 10px 5px 0px;
-    font-weight: bold;
-    display: inline;
-}
-
-p.admonition-title:after {
-    content: ":";
-}
-
-div.body p.centered {
-    text-align: center;
-    margin-top: 25px;
-}
-
-table.docutils {
-    border: 0;
-}
-
-table.docutils td, table.docutils th {
-    padding: 1px 8px 1px 0;
-    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;
-}
-
-.field-list ul {
-    margin: 0;
-    padding-left: 1em;
-}
-
-.field-list p {
-    margin: 0;
-}
-
-dl {
-    margin-bottom: 15px;
-    clear: both;
-}
-
-dd p {
-    margin-top: 0px;
-}
-
-dd ul, dd table {
-    margin-bottom: 10px;
-}
-
-dd {
-    margin-top: 3px;
-    margin-bottom: 10px;
-    margin-left: 30px;
-}
-
-.refcount {
-    color: #060;
-}
-
-dt:target,
-.highlight {
-    background-color: #fbe54e;
-}
-
-dl.glossary dt {
-    font-weight: bold;
-    font-size: 1.1em;
-}
-
-th {
-    text-align: left;
-    padding-right: 5px;
-}
-
-pre {
-    padding: 5px;
-    background-color: #efc;
-    color: #333;
-    border: 1px solid #ac9;
-    border-left: none;
-    border-right: none;
-    overflow: auto;
-}
-
-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 {
-    background-color: #ecf0f3;
-    padding: 0 1px 0 1px;
-    font-size: 0.95em;
-}
-
-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;
-}
-
-.footnote:target  { background-color: #ffa }
-
-h1 tt, h2 tt, h3 tt, h4 tt, h5 tt, h6 tt {
-    background-color: transparent;
-}
-
-.optional {
-    font-size: 1.3em;
-}
-
-.versionmodified {
-    font-style: italic;
-}
-
-form.comment {
-    margin: 0;
-    padding: 10px 30px 10px 30px;
-    background-color: #eee;
-}
-
-form.comment h3 {
-    background-color: #326591;
-    color: white;
-    margin: -10px -30px 10px -30px;
-    padding: 5px;
-    font-size: 1.4em;
-}
-
-form.comment input,
-form.comment textarea {
-    border: 1px solid #ccc;
-    padding: 2px;
-    font-family: sans-serif;
-    font-size: 100%;
-}
-
-form.comment input[type="text"] {
-    width: 240px;
-}
-
-form.comment textarea {
-    width: 100%;
-    height: 200px;
-    margin-bottom: 10px;
-}
-
-.system-message {
-    background-color: #fda;
-    padding: 5px;
-    border: 3px solid red;
-}
-
-img.math {
-    vertical-align: middle;
-}
-
-div.math p {
-    text-align: center;
-}
-
-span.eqno {
-    float: right;
-}
-
-img.logo {
-    border: 0;
-}
-
-/* :::: PRINT :::: */
-@media print {
-    div.document,
-    div.documentwrapper,
-    div.bodywrapper {
-        margin: 0;
-        width : 100%;
-    }
-
-    div.sphinxsidebar,
-    div.related,
-    div.footer,
-    div#comments div.new-comment-box,
-    #top-link {
-        display: none;
-    }
-}

docs/_templates/index.html

-{% extends "layout.html" %}
-{% set title = 'Overview' %}
-{% block body %}
-<h1>WebHelpers</h1>
-
-<img src="_static/webhelpers-logo.png" width="100" height="110"
-style="float:left; margin-right:1em" />
-  
-<p>WebHelpers is a wide variety of utility functions for web applications and
-other applications. It can be used with any web framework.  <strong>Version
-1.2</strong> was released 2010-08-18.  See <a href="{{ pathto('whats_new') }}">What's
-New</a> for a list of changes and upgrading hints.  (The helpers
-deprecated in 0.6 are removed in 1.0, including the entire rails suite.)</p>
-
-<p><strong>Security update in version 1.2:</strong> addresses a potential XSS
-attack. Users who use ' around HTML attributes (rather than ") are recommended
-to upgrade.  More in
-<a href="{{ pathto('whats_new') }}">What's New</a>.</p>
-
-<p>WebHelpers includes the widely-used HTML tag builder with smart escaping and
-convenience functions for common tags such as form fields. The common builder
-ensures the tags are syntactically correct and prevent cross-site scripting
-attacks and double-escaping.</p> 
-
-<p>Other helpers perform text processing, split a large number of records into
-pages, generate Atom/RSS feeds with geographical (GIS) data, handle MIME types,
-calculate numerica statistics, and more.  There are also high-level container
-types, including a value counter and accumulator.  There are lists of country
-names, country codes, US states, Canadian provinces, and UK counties.</p>
-
-<p>WebHelpers itself depends only on MarkupSafe, which has an optional C
-speedup for HTML escaping. However, a few individual helpers depend on 
-<a href="http://routes.groovie.org/">Routes</a>, 
-<a href="http://python.org/pypi/Unidecode/">unidecode</a>, 
-<a href="http://pythonpaste.org/webob/">WebOb</a>, or
-<a href="http://pylonshq.com/">Pylons</a>,
-as noted in their documentation.  WebHelpers requires Python 2.4 or higher,
-and has not yet been tested with Python 3. An extensive test suite for doctest
-and Nose is included.</p>
-
-<p>For support/question/patches, please use the
-<a href="http://groups.google.com/group/pylons-discuss">pylons-discuss</a>
-mailing list.</p>
-
-
-  <h2>Documentation</h2>
-  <table class="contentstable" align="center" style="margin-left: 30px"><tr>
-    <td width="50%">
-      <p class="biglink"><a class="biglink" href="{{ pathto("contents") }}">Contents</a><br/>
-         <span class="linkdescr">for a complete overview</span></p>
-      <p class="biglink"><a class="biglink" href="{{ pathto("whats_new") }}">What's New</a><br/>
-         <span class="linkdescr">new features, upgrading, and full changelog</span></p>
-      <p class="biglink"><a class="biglink" href="{{ pathto("todo") }}">TODO</a><br/>
-         <span class="linkdescr">future development plans</span></p>
-    </td><td width="50%">
-      <p class="biglink"><a class="biglink" href="{{ pathto("genindex") }}">General Index</a><br/>
-         <span class="linkdescr">all functions, classes, terms</span></p>
-      <p class="biglink"><a class="biglink" href="{{ pathto("modindex") }}">Module Index</a><br/>
-         <span class="linkdescr">quick access to all documented modules</span></p>
-      <p class="biglink"><a class="biglink" href="{{ pathto("search") }}">Search</a><br/>
-         <span class="linkdescr">search the documentation</span></p>
-    </td></tr>
-  </table>
-  
-  <p>Download <a href="http://webhelpers.groovie.org/webhelpers.pdf">WebHelpers PDF documentation</a>.</p>
-
-  <h2>Development</h2>
-
-  <p>WebHelpers source code is at BitBucket.</p>
-
-  <blockquote>
-    <a href="http://bitbucket.org/bbangert/webhelpers/">Overview</a> -
-    <a href="http://bitbucket.org/bbangert/webhelpers/wiki/">Wiki</a> -
-    <a href="http://bitbucket.org/bbangert/webhelpers/src/">Source code</a>  -
-    <a href="http://bitbucket.org/bbangert/webhelpers/issues/">Bug tracker</a>
-  </blockquote>
-
-  <p>To check out the Mercurial repository:</p>
-    
-  <pre>hg clone http://www.bitbucket.org/bbangert/webhelpers</pre>
-
-{% endblock %}

docs/_templates/indexsidebar.html

-{% if version.endswith('(hg)') %}
-<h3>Download WebHelpers</h3>
-<p>This documentation is for version <b>{{ version }}</b>, which is
-  not released yet.</p>
-<p>You can use it from the
-  <a href="http://bitbucket.org/bbangert/webhelpers/">Mercurial repo</a> or look for
-  released versions in the <a href="http://pypi.python.org/pypi/WebHelpers">Python
-    Package Index</a>.</p>
-{% else %}
-<h3>Download WebHelpers {{ version }}</h3>
-<p>Get WebHelpers from the <a href="http://pypi.python.org/pypi/WebHelpers">Python Package
-Index</a>, or install it with:</p>
-<pre>easy_install -U WebHelpers</pre>
-{% endif %}
-
-<h3>Bugs? Suggestions?</h3>
-
-<p>Report them at the Bitbucket 
-  <a href="http://www.bitbucket.org/bbangert/webhelpers/issues/">tracker</a>.</p>

docs/_templates/layout.html

-{% extends "!layout.html" %}
-
-{% block rootrellink %}
-        <li><a href="{{ pathto('index') }}">WebHelpers home</a>&nbsp;|&nbsp;</li>
-        <li><a href="{{ pathto('contents') }}">Documentation</a>&raquo;</li>
-{% endblock %}
-
-{% block header %}
-<div style="color: #D1361B; font-size: 70px; font-weight: bold; padding: 10px 0
-0 10px;">WebHelpers</div>
-</div>
-{% endblock %}

docs/changelog.rst

-:tocdepth: 2
-
-.. _changes:
+Full Changelog
+%%%%%%%%%%%%%%
 
 .. include:: ../CHANGELOG
 #
 # 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).
+# Note that not all possible configuration values are present in this
+# autogenerated file.
 #
-# All configuration values have a default value; values that are commented out
-# serve to show the default value.
+# All configuration values have a default; values that are commented out
+# serve to show the default.
 
 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.
+parent = os.path.dirname(os.path.dirname(__file__))
+sys.path.append(os.path.abspath(parent))
+wd = os.getcwd()
+os.chdir(parent)
+os.system('%s setup.py test -q' % sys.executable)
+os.chdir(wd)
+
+for item in os.listdir(parent):
+    if item.endswith('.egg'):
+        sys.path.append(os.path.join(parent, item))
+
+# 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.append(os.path.abspath('.'))
 
-# General configuration
-# ---------------------
+# -- 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.
 # The suffix of source filenames.
 source_suffix = '.rst'
 
+# The encoding of source files.
+#source_encoding = 'utf-8'
+
 # The master toctree document.
-master_doc = 'contents'
+master_doc = 'index'
 
 # General substitutions.
 project = 'WebHelpers'
-copyright = '2009-2010, Ben Bangert and Mike Orr'
+copyright = '2009-2011, Ben Bangert and Mike Orr'
 
-# The default replacements for |version| and |release|, also used in various
-# other places throughout the built documents.
+# 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 = '1.3'
 # The full version, including alpha/beta/rc tags.
-release = '1.3'
+release = '1.3b1'
+
+# 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'
+#today_fmt = '%B %d, %Y'
 
 # List of documents that shouldn't be included in the build.
 #unused_docs = []
 
+# List of directories, relative to source directory, that shouldn't be searched
+# for source files.
+exclude_trees = ['_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
 
 # 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 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'
+# -- Options for HTML output ---------------------------------------------------
+
+# The theme to use for HTML and HTML Help pages.  Major themes that come with
+# Sphinx are currently 'default' and 'sphinxdoc'.
+
+sys.path.append(os.path.abspath('_themes'))
+html_theme_path = ['_themes']
+html_theme = 'pyramid'
+
+#html_theme = 'default'
+
+# 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 = {"nosidebar": True}
+
+# 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 = None
+
+# The name of an image file (relative to this directory) to place at the top
+# of the sidebar.
+#html_logo = None
+
+# 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']
+#html_static_path = ['_static']
 
 # If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
 # using the given strftime format.
 # typographically correct entities.
 #html_use_smartypants = True
 
-html_index = 'index.html'
-
 # Custom sidebar templates, maps document names to template names.
-html_sidebars = {'index': 'indexsidebar.html'}
+#html_sidebars = {}
 
 # Additional templates that should be rendered to pages, maps page names to
 # template names.
-html_additional_pages = {'index': 'index.html'}
-
-html_theme_options = {
-    "bgcolor": "#fff",
-    "footertextcolor": "#666",
-    "relbarbgcolor": "#fff",
-    "relbarlinkcolor": "#590915",
-    "relbartextcolor": "#FFAA2D",
-    "sidebarlinkcolor": "#590915",
-    "sidebarbgcolor": "#fff",
-    "sidebartextcolor": "#333",
-    "footerbgcolor": "#fff",
-    "linkcolor": "#590915",
-    "bodyfont": "helvetica, 'bitstream vera sans', sans-serif",
-    "headfont": "georgia, 'bitstream vera sans serif', 'lucida grande', helvetica, verdana, sans-serif",
-    "headbgcolor": "#fff",
-    "headtextcolor": "#12347A",
-    "codebgcolor": "#fff",
-}
+#html_additional_pages = {}
 
 # If false, no module index is generated.
 #html_use_modindex = True
 # If true, the index is split into individual pages for each letter.
 #html_split_index = False
 
-# If true, the reST sources are included in the HTML build as _sources/<name>.
-#html_copy_source = True
+# If true, links to the reST sources are added to the pages.
+#html_show_sourcelink = 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 = 'http://webhelpers.groovie.org/'
+#html_use_opensearch = ''
 
 # If nonempty, this is the file name suffix for HTML files (e.g. ".xhtml").
 #html_file_suffix = ''
 htmlhelp_basename = 'WebHelpersdoc'
 
 
-# Options for LaTeX output
-# ------------------------
+# -- Options for LaTeX output --------------------------------------------------
 
 # The paper size ('letter' or 'a4').
 #latex_paper_size = 'letter'
 #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]).
+# (source start file, target name, title, author, documentclass [howto/manual]).
 latex_documents = [
   ('contents', 'WebHelpers.tex', u'WebHelpers Documentation',
    u'Ben Bangert', 'manual'),
 #latex_use_parts = False
 
 # Additional stuff for the LaTeX preamble.
-latex_preamble = '''
-\usepackage{palatino}
-\definecolor{TitleColor}{rgb}{0.7,0,0}
-\definecolor{InnerLinkColor}{rgb}{0.7,0,0}
-\definecolor{OuterLinkColor}{rgb}{0.8,0,0}
-\definecolor{VerbatimColor}{rgb}{0.985,0.985,0.985}
-\definecolor{VerbatimBorderColor}{rgb}{0.8,0.8,0.8}
-'''
+#latex_preamble = ''
 
 # Documents to append as an appendix to all manuals.
 #latex_appendices = []
 
 # If false, no module index is generated.
-latex_use_modindex = False
-
-# Added to handle docs in middleware.py
-autoclass_content = "both"
+#latex_use_modindex = True

docs/contents.rst

    modules/misc
    modules/number
    modules/paginate
+   modules/text
+   modules/util
+
+Pylons-specific subpackages
++++++++++++++++++++++++++++
+
+These work ONLY with the Pylons web framework and its derivatives (TurboGears 2).
+They are NOT compatible with Pyramid; see the submodule pages for
+alternatives.
+
+.. toctree::
+   :maxdepth: 1
+
    modules/pylonslib/__init__
    modules/pylonslib/flash
    modules/pylonslib/grid
    modules/pylonslib/minify
    modules/pylonslib/secure_form
-   modules/text
-   modules/util
-
-Metadata
-++++++++
-
-WebHelpers was originally created as a utility package for Pylons. Many of the
-helpers were ported from Ruby on Rails. Version 0.6 introduced the HTML tag
-builder and deprecated the rails helpers; new subpackages were added to replace
-the rails helpers. Version 1.0 builds on this with many additional helpers.
-
-.. toctree::
-   :maxdepth: 1
-
-   whats_new
-   changelog
-   third_party
-   development
-   todo
 
 Non-essential subpackages
 +++++++++++++++++++++++++
     modules/markdown
     modules/textile
 
-
-
-Indices and tables
-==================
-
-* :ref:`genindex`
-* :ref:`modindex`
-* :ref:`search`
+History
+%%%%%%%
+
+WebHelpers was originally created as a utility package for Pylons. Many of the
+helpers were ported from Ruby on Rails. Version 0.6 introduced the HTML tag
+builder and deprecated the rails helpers; new subpackages were added to replace
+the rails helpers. Version 1.0 builds on this with many additional helpers.
+
+WebHelpers has been in a soft feature freeze since 1.0. Only bugfixes, small
+enhancements, and compatibility with new Pylons Project frameworks are likely
+to be accepted. 
+WebHelpers
+%%%%%%%%%%
+:Version: 1.3b1, released 2011-03-17
+:PyPI: http://pypi.python.org/pypi/WebHelpers
+:Docs: http://sluggo.scrapping.cc/python/WebHelpers/index.html
+:Source: https://bitbucket.org/bbangert/webhelpers (Mercurial)
+
+.. image:: _static/webhelpers-logo.png
+   :width: 100px
+   :height: 100px
+   :alt: WebHelpers Logo
+   :align: right
+
+WebHelpers is a wide variety of utility functions for web applications and
+other applications. It can be used with any web framework.  See 
+`What's New`_ for a list of changes and upgrading hints.
+
+WebHelpers includes the widely-used HTML tag builder with smart escaping and
+convenience functions for common tags such as form fields. The common builder
+ensures the tags are syntactically correct and prevent cross-site scripting
+attacks and double-escaping. 
+
+Other helpers perform text processing, split a large number of records into
+pages, generate Atom/RSS feeds with geographical (GIS) data, handle MIME types,
+calculate numerica statistics, and more.  There are also high-level container
+types, including a value counter and accumulator.  There are lists of country
+names, country codes, US states, Canadian provinces, and UK counties.
+
+WebHelpers itself depends only on MarkupSafe_, which has an optional C
+speedup for HTML escaping. However, a few individual helpers depend on 
+Routes_, Unidecode_, WebOb_, or Pylons_
+as noted in their documentation.  WebHelpers requires Python 2.4 or higher,
+and has not yet been tested with Python 3. An extensive test suite for doctest
+and Nose is included.
+
+For support/questions/patches, please use the pylons-discuss_ mailing list.
+
+.. toctree::
+   :maxdepth: 2
+
+   contents
+
+.. toctree::
+   :maxdepth: 1
+
+   whats_new
+   changelog
+   third_party
+   todo
+   development
+   todo
+
+* :ref:`genindex`
+* :ref:`modindex`
+* :ref:`search`
+
+.. _What's New: whats_new.html
+.. _MarkupSafe: http://pypi.python.org/pypi/MarkupSafe
+.. _Routes: http://routes.groovie.org/
+.. _Unidecode: http://pypi.python.org/pypi/Unidecode/
+.. _WebOb: http://pythonpaste.org/webob/
+.. _Pylons: http://pylonshq.com/
+.. _pylons-discuss: http://groups.google.com/group/pylons-discuss
     use_setuptools()
     from setuptools import setup, find_packages
 
-version = '1.3'
+version = '1.3b1'
 
 setup(
     name="WebHelpers",
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.