From 8010a6463f97d96b1b9e353ef0997d5c3dbeef24 Mon Sep 17 00:00:00 2001 From: Eric Holscher Date: Thu, 9 Apr 2015 16:52:28 -0700 Subject: [PATCH] Have nicer URL's --- autoapi/extension.py | 14 +++++++++++--- autoapi/templates/index.rst | 11 +++++++++++ 2 files changed, 22 insertions(+), 3 deletions(-) create mode 100644 autoapi/templates/index.rst diff --git a/autoapi/extension.py b/autoapi/extension.py index 13d91af..1bb5bcb 100644 --- a/autoapi/extension.py +++ b/autoapi/extension.py @@ -15,6 +15,7 @@ from sphinx.util.console import bold, darkgreen from .utils import classify from .dotnet import VirtualNamespace +from .settings import env from epyparse import parsed @@ -51,7 +52,7 @@ def load_yaml(app): top, mid, last = obj.name.split('.')[0:3] namespaces[top].append(obj) namespaces[top+'.'+mid].append(obj) - namespaces[top+'.'+mid+'.'+last].append(obj) + # namespaces[top+'.'+mid+'.'+last].append(obj) except: traceback.print_exc() pass @@ -80,9 +81,9 @@ def load_yaml(app): # for obj in objs: rst = obj.render() # Detail - detail_dir = os.path.join(app.config.autoapi_root, obj.obj['type']) + detail_dir = os.path.join(app.config.autoapi_root, *obj.name.split('.')) ensuredir(detail_dir) - path = os.path.join(detail_dir, '%s%s' % (obj.obj['name']['CSharp'], app.config.source_suffix[0])) + path = os.path.join(detail_dir, '%s%s' % ('index', app.config.source_suffix[0])) if rst: with open(path, 'w+') as detail_file: detail_file.write(rst) @@ -98,6 +99,13 @@ def load_yaml(app): if namespace_rst: index_file.write(namespace_rst) + # Write Index + top_level_index = os.path.join(app.config.autoapi_root, 'index.rst') + with open(top_level_index, 'w+') as top_level_file: + content = env.get_template('index.rst') + top_level_file.write(content.render()) + + elif app.config.autoapi_type == 'python': for root, dirnames, filenames in os.walk(app.config.autoapi_dir): for filename in fnmatch.filter(filenames, u'*.py'): diff --git a/autoapi/templates/index.rst b/autoapi/templates/index.rst new file mode 100644 index 0000000..ddc8933 --- /dev/null +++ b/autoapi/templates/index.rst @@ -0,0 +1,11 @@ +Sphinx AutoAPI Index +#################### + +This page is the top-level of your generated API documentation. +Below is a list of all items that are documented here. + +.. toctree:: + :includehidden: + :glob: + + * \ No newline at end of file