From 0f86b45918bc68821905f6ac0894874eef564fed Mon Sep 17 00:00:00 2001 From: Francois Chollet Date: Sun, 13 Dec 2015 12:14:54 -0800 Subject: [PATCH] Add links to source code in documentation --- docs/autogen.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/docs/autogen.py b/docs/autogen.py index f83bd7a3a..c62df2f9f 100644 --- a/docs/autogen.py +++ b/docs/autogen.py @@ -87,7 +87,7 @@ def get_method_signature(method): return st + ')' -def class_to_link(cls): +def class_to_docs_link(cls): module_name = cls.__module__ assert module_name[:6] == 'keras.' module_name = module_name[6:] @@ -95,6 +95,16 @@ def class_to_link(cls): return link +def class_to_source_link(cls): + module_name = cls.__module__ + assert module_name[:6] == 'keras.' + path = module_name.replace('.', '/') + path += '.py' + line = inspect.getsourcelines(cls)[-1] + link = 'https://github.com/fchollet/keras/blob/master/' + path + '#L' + str(line) + return '[[source]](' + link + ')' + + def code_snippet(snippet): result = '```python\n' result += snippet + '\n' @@ -191,6 +201,7 @@ for module, module_name in MODULES: methods_not_defined_here.append((method, defined_by)) blocks = [] + blocks.append('' + class_to_source_link(cls) + '') blocks.append('# ' + cls.__name__ + '\n') blocks.append(code_snippet(class_signature)) docstring = cls.__doc__ @@ -211,7 +222,7 @@ for module, module_name in MODULES: signature = get_method_signature(method) method_module_name = method.__module__ signature = signature.replace(method_module_name + '.', '') - link = '[' + defined_by.__name__ + '](' + class_to_link(defined_by) + ')' + link = '[' + defined_by.__name__ + '](' + class_to_docs_link(defined_by) + ')' blocks.append(code_snippet(signature)) blocks.append('Defined by ' + link + '.\n')