Author: ArcRiley Date: 2008-09-28 13:20:34 -0400 (Sun, 28 Sep 2008) New Revision: 1366
Added: trunk/pysoy/docs/html/ trunk/pysoy/docs/setup.py trunk/pysoy/docs/src/conf.py trunk/pysoy/docs/static/ trunk/pysoy/docs/templates/ trunk/pysoy/docs/templates/layout.html Removed: trunk/pysoy/docs/.static/ trunk/pysoy/docs/.templates/ Log: Ticket #964 : * revised directory layout * started sphinx-genshi integration Property changes on: trunk/pysoy/docs/html ___________________________________________________________________ Added: svn:ignore + * Copied: trunk/pysoy/docs/setup.py (from rev 1365, trunk/pysoy/setup.py) =================================================================== --- trunk/pysoy/docs/setup.py (rev 0) +++ trunk/pysoy/docs/setup.py 2008-09-28 17:20:34 UTC (rev 1366) @@ -0,0 +1,35 @@ +''' PySoy's documentation render tools ''' +__credits__ = '''Copyright (C) 2006,2007,2008 PySoy Group + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published + by the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program; if not, see http://www.gnu.org/licenses +''' +__author__ = 'PySoy Group' +__date__ = 'Last change on '+ \ + '$Date$'[7:-20]+ \ + 'by '+'$Author$'[9:-2] +__version__ = 'Trunk (r'+'$Rev$'[6:-2]+')' + +import sphinx +import genshi.template + +class TemplateBridgeGenshi (sphinx.application.TemplateBridge) : + def init(self, builder) : + self.loader = genshi.template.TemplateLoader(builder.config.templates_path, + auto_reload=True) + + #def newest_template_mtime(self) : + + def render(self, template, context) : + tmpl = self.loader.load(template) + return tmpl.generate(**context).render(method='html') Added: trunk/pysoy/docs/src/conf.py =================================================================== --- trunk/pysoy/docs/src/conf.py (rev 0) +++ trunk/pysoy/docs/src/conf.py 2008-09-28 17:20:34 UTC (rev 1366) @@ -0,0 +1,146 @@ +# -*- coding: utf-8 -*- +import sys, os +sys.path.append(os.path.abspath('../../')) +import config + +extensions = ['sphinx.ext.autodoc', 'sphinx.ext.doctest'] +templates_path = ['../templates'] +source_suffix = '.rst' +master_doc = 'index' + +project = 'PySoy' +copyright = config.__credits__[14:] +version = config.version +release = config.version + +# 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 = [] + +# 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' + + +# 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 + +# A shorter title for the navigation bar. Default is the same as html_title. +#html_short_title = None + +# The name of an image file (within the static path) 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'] + +# 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 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, 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 = 'PySoydoc' + + +# 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', 'PySoy.tex', 'PySoy Documentation', + 'PySoy Group', '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 Property changes on: trunk/pysoy/docs/static ___________________________________________________________________ Added: svn:mergeinfo + Property changes on: trunk/pysoy/docs/templates ___________________________________________________________________ Added: svn:mergeinfo + Added: trunk/pysoy/docs/templates/layout.html =================================================================== --- trunk/pysoy/docs/templates/layout.html (rev 0) +++ trunk/pysoy/docs/templates/layout.html 2008-09-28 17:20:34 UTC (rev 1366) @@ -0,0 +1,189 @@ +{%- block doctype -%} +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +{%- endblock %} +{%- set reldelim1 = reldelim1 is not defined and ' »' or reldelim1 %} +{%- set reldelim2 = reldelim2 is not defined and ' |' or reldelim2 %} +{%- macro relbar %} + <div class="related"> + <h3>Navigation</h3> + <ul> + {%- for rellink in rellinks %} + <li class="right" {% if loop.first %}style="margin-right: 10px"{% endif %}> + <a href="{{ pathto(rellink[0]) }}" title="{{ rellink[1]|striptags }}" + accesskey="{{ rellink[2] }}">{{ rellink[3] }}</a> + {%- if not loop.first %}{{ reldelim2 }}{% endif %}</li> + {%- endfor %} + {%- block rootrellink %} + <li><a href="{{ pathto('index') }}">{{ shorttitle }}</a>{{ reldelim1 }}</li> + {%- endblock %} + {%- for parent in parents %} + <li><a href="{{ parent.link|e }}" accesskey="U">{{ parent.title }}</a>{{ reldelim1 }}</li> + {%- endfor %} + {%- block relbaritems %}{% endblock %} + </ul> + </div> +{%- endmacro %} +{%- macro sidebar %} + {%- if builder != 'htmlhelp' %} + <div class="sphinxsidebar"> + <div class="sphinxsidebarwrapper"> + {%- block sidebarlogo %} + {%- if logo %} + <p class="logo"><img class="logo" src="{{ pathto('_static/' + logo, 1) }}" alt="Logo"/></p> + {%- endif %} + {%- endblock %} + {%- block sidebartoc %} + {%- if display_toc %} + <h3>Table Of Contents</h3> + {{ toc }} + {%- endif %} + {%- endblock %} + {%- block sidebarrel %} + {%- if prev %} + <h4>Previous topic</h4> + <p class="topless"><a href="{{ prev.link|e }}" title="previous chapter">{{ prev.title }}</a></p> + {%- endif %} + {%- if next %} + <h4>Next topic</h4> + <p class="topless"><a href="{{ next.link|e }}" title="next chapter">{{ next.title }}</a></p> + {%- endif %} + {%- endblock %} + {%- if sourcename %} + <h3>This Page</h3> + <ul class="this-page-menu"> + {%- if builder == 'web' %} + <li><a href="#comments">Comments ({{ comments|length }} so far)</a></li> + <li><a href="{{ pathto('@edit/' + sourcename)|e }}">Suggest Change</a></li> + <li><a href="{{ pathto('@source/' + sourcename)|e }}">Show Source</a></li> + {%- elif builder == 'html' %} + <li><a href="{{ pathto('_sources/' + sourcename, true)|e }}">Show Source</a></li> + {%- endif %} + </ul> + {%- endif %} + {%- if customsidebar %} + {{ rendertemplate(customsidebar) }} + {%- endif %} + {%- block sidebarsearch %} + {%- if pagename != "search" %} + <h3>{{ builder == 'web' and 'Keyword' or 'Quick' }} search</h3> + <form class="search" action="{{ pathto('search') }}" method="get"> + <input type="text" name="q" size="18" /> <input type="submit" value="Go" /> + <input type="hidden" name="check_keywords" value="yes" /> + <input type="hidden" name="area" value="default" /> + </form> + {%- if builder == 'web' %} + <p style="font-size: 90%">Enter a module, class or function name.</p> + {%- endif %} + {%- endif %} + {%- endblock %} + </div> + </div> + {%- endif %} +{%- endmacro -%} + +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> + {%- if builder != 'htmlhelp' %} + {%- set titlesuffix = " — " + docstitle %} + {%- endif %} + <title>{{ title|striptags }}{{ titlesuffix }}</title> + {%- if builder == 'web' %} + <link rel="stylesheet" href="{{ pathto('index') }}?do=stylesheet{% + if in_admin_panel %}&admin=yes{% endif %}" type="text/css" /> + {%- for link, type, title in page_links %} + <link rel="alternate" type="{{ type|e(true) }}" title="{{ title|e(true) }}" href="{{ link|e(true) }}" /> + {%- endfor %} + {%- else %} + <link rel="stylesheet" href="{{ pathto('_static/' + style, 1) }}" type="text/css" /> + <link rel="stylesheet" href="{{ pathto('_static/pygments.css', 1) }}" type="text/css" /> + {%- endif %} + {%- if builder != 'htmlhelp' %} + <script type="text/javascript"> + var DOCUMENTATION_OPTIONS = { + URL_ROOT: '{{ pathto("", 1) }}', + VERSION: '{{ release }}', + COLLAPSE_MODINDEX: false, + FILE_SUFFIX: '{{ file_suffix }}' + }; + </script> + <script type="text/javascript" src="{{ pathto('_static/jquery.js', 1) }}"></script> + <script type="text/javascript" src="{{ pathto('_static/interface.js', 1) }}"></script> + <script type="text/javascript" src="{{ pathto('_static/doctools.js', 1) }}"></script> + {%- if use_opensearch %} + <link rel="search" type="application/opensearchdescription+xml" + title="Search within {{ docstitle }}" + href="{{ pathto('_static/opensearch.xml', 1) }}"/> + {%- endif %} + {%- if favicon %} + <link rel="shortcut icon" href="{{ pathto('_static/' + favicon, 1) }}"/> + {%- endif %} + {%- endif %} +{%- block rellinks %} + {%- if hasdoc('about') %} + <link rel="author" title="About these documents" href="{{ pathto('about') }}" /> + {%- endif %} + <link rel="contents" title="Global table of contents" href="{{ pathto('contents') }}" /> + <link rel="index" title="Global index" href="{{ pathto('genindex') }}" /> + <link rel="search" title="Search" href="{{ pathto('search') }}" /> + {%- if hasdoc('copyright') %} + <link rel="copyright" title="Copyright" href="{{ pathto('copyright') }}" /> + {%- endif %} + <link rel="top" title="{{ docstitle }}" href="{{ pathto('index') }}" /> + {%- if parents %} + <link rel="up" title="{{ parents[-1].title|striptags }}" href="{{ parents[-1].link|e }}" /> + {%- endif %} + {%- if next %} + <link rel="next" title="{{ next.title|striptags }}" href="{{ next.link|e }}" /> + {%- endif %} + {%- if prev %} + <link rel="prev" title="{{ prev.title|striptags }}" href="{{ prev.link|e }}" /> + {%- endif %} +{%- endblock %} +{%- block extrahead %}{% endblock %} + </head> + <body> + +{%- block relbar1 %}{{ relbar() }}{% endblock %} + +{%- block sidebar1 %}{# possible location for sidebar #}{% endblock %} + +{%- block document %} + <div class="document"> + <div class="documentwrapper"> + {%- if builder != 'htmlhelp' %} + <div class="bodywrapper"> + {%- endif %} + <div class="body"> + {% block body %}{% endblock %} + </div> + {%- if builder != 'htmlhelp' %} + </div> + {%- endif %} + </div> +{%- endblock %} + +{%- block sidebar2 %}{{ sidebar() }}{% endblock %} + <div class="clearer"></div> + </div> + +{%- block relbar2 %}{{ relbar() }}{% endblock %} + +{%- block footer %} + <div class="footer"> + {%- if hasdoc('copyright') %} + <a href="{{ pathto('copyright') }}">Copyright</a> © {{ copyright }} + {%- else %} + © Copyright {{ copyright }}. + {%- endif %} + {%- if last_updated %} + Last updated on {{ last_updated }}. + {%- endif %} + {%- if show_sphinx %} + Created using <a href="http://sphinx.pocoo.org/">Sphinx</a>. + {%- endif %} + </div> +{%- endblock %} + </body> +</html> _______________________________________________ PySoy-SVN mailing list PySoy-SVN@pysoy.org http://www.pysoy.org/mailman/listinfo/pysoy-svn