Author: ArcRiley Date: 2008-09-28 16:25:21 -0400 (Sun, 28 Sep 2008) New Revision: 1367
Added: trunk/pysoy/docs/__init__.py trunk/pysoy/docs/templates/page.html Removed: trunk/pysoy/docs/setup.py trunk/pysoy/docs/templates/layout.html Modified: trunk/pysoy/docs/src/conf.py Log: Ticket #964 : * basic Sphinx doc generation using Genshi templates Copied: trunk/pysoy/docs/__init__.py (from rev 1366, trunk/pysoy/docs/setup.py) =================================================================== --- trunk/pysoy/docs/__init__.py (rev 0) +++ trunk/pysoy/docs/__init__.py 2008-09-28 20:25:21 UTC (rev 1367) @@ -0,0 +1,43 @@ +''' 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 os +import sphinx.application +import genshi.template + +class GenshiTemplateBridge (sphinx.application.TemplateBridge) : + def init(self, builder) : + tmpl_path = [os.path.abspath(builder.config.templates_path[0])] + self.loader = genshi.template.TemplateLoader(tmpl_path, auto_reload=True) + if builder.name == 'html' : + self.method = 'html' + else : + self.method = 'unknown' + + + def newest_template_mtime(self) : + return 0 + + + def render(self, template, context) : + tmpl = self.loader.load(template) + return tmpl.generate(**context).render(method=self.method).decode('utf-8') Deleted: trunk/pysoy/docs/setup.py =================================================================== --- trunk/pysoy/docs/setup.py 2008-09-28 17:20:34 UTC (rev 1366) +++ trunk/pysoy/docs/setup.py 2008-09-28 20:25:21 UTC (rev 1367) @@ -1,35 +0,0 @@ -''' 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') Modified: trunk/pysoy/docs/src/conf.py =================================================================== --- trunk/pysoy/docs/src/conf.py 2008-09-28 17:20:34 UTC (rev 1366) +++ trunk/pysoy/docs/src/conf.py 2008-09-28 20:25:21 UTC (rev 1367) @@ -1,10 +1,13 @@ # -*- coding: utf-8 -*- import sys, os sys.path.append(os.path.abspath('../../')) +import docs import config extensions = ['sphinx.ext.autodoc', 'sphinx.ext.doctest'] -templates_path = ['../templates'] +pygments_style = 'sphinx' +templates_path = ['templates'] +template_bridge = 'docs.GenshiTemplateBridge' source_suffix = '.rst' master_doc = 'index' @@ -40,25 +43,14 @@ # 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' +html_title = 'PySoy, a 3D Game Engine for Python' +html_short_title = 'PySoy' -# 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 Deleted: trunk/pysoy/docs/templates/layout.html =================================================================== --- trunk/pysoy/docs/templates/layout.html 2008-09-28 17:20:34 UTC (rev 1366) +++ trunk/pysoy/docs/templates/layout.html 2008-09-28 20:25:21 UTC (rev 1367) @@ -1,189 +0,0 @@ -{%- 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> Copied: trunk/pysoy/docs/templates/page.html (from rev 1366, trunk/pysoy/docs/templates/layout.html) =================================================================== --- trunk/pysoy/docs/templates/page.html (rev 0) +++ trunk/pysoy/docs/templates/page.html 2008-09-28 20:25:21 UTC (rev 1367) @@ -0,0 +1,22 @@ +<!DOCTYPE html + PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" + xmlns:py="http://genshi.edgewall.org/" + xmlns:xi="http://www.w3.org/2001/XInclude" + lang="en"> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> + <title>${pagename} - ${docstitle}</title> + <link rel="stylesheet" href="_static/pygments.css" type="text/css" /> + <link rel="stylesheet" href="_static/${style}" type="text/css" + py:if="style" /> + <link rel="shortcut icon" href="_static/${favicon}" type="image/x-icon" + py:if="favicon" /> + <link rel="icon" href="_static/${favicon}" type="image/x-icon" + py:if="favicon" /> + </head> + <body> +${Markup(body)} + </body> +</html> Property changes on: trunk/pysoy/docs/templates/page.html ___________________________________________________________________ Added: svn:mergeinfo + _______________________________________________ PySoy-SVN mailing list PySoy-SVN@pysoy.org http://www.pysoy.org/mailman/listinfo/pysoy-svn