def extract_summary(state: State, external_docs, path: List[str], doc: str) -> str:
# Prefer external docs, if available
path_str = '.'.join(path)
- if path_str in external_docs:
+ if path_str in external_docs and external_docs[path_str]['summary']:
return render_inline_rst(state, external_docs[path_str]['summary'])
if not doc: return '' # some modules (xml.etree) have that :(
<li class="m-doc-collapsible">
<a href="#" onclick="return toggle(this)">module</a> <a href="content.html" class="m-doc">content</a> <span class="m-doc">This overwrites the docstring for <code>content</code>.</span>
<ul class="m-doc">
+ <li>class <a href="content.AnotherClass.html" class="m-doc">AnotherClass</a> <span class="m-doc">This class has summary from the docstring</span></li>
<li>class <a href="content.Class.html" class="m-doc">Class</a> <span class="m-doc">This overwrites the docstring for <code>content.Class</code>.</span></li>
</ul>
</li>
--- /dev/null
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="UTF-8" />
+ <title>content.AnotherClass | My Python Project</title>
+ <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,400i,600,600i%7CSource+Code+Pro:400,400i,600" />
+ <link rel="stylesheet" href="m-dark+documentation.compiled.css" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+</head>
+<body>
+<header><nav id="navigation">
+ <div class="m-container">
+ <div class="m-row">
+ <a href="index.html" id="m-navbar-brand" class="m-col-t-8 m-col-m-none m-left-m">My Python Project</a>
+ </div>
+ </div>
+</nav></header>
+<main><article>
+ <div class="m-container m-container-inflatable">
+ <div class="m-row">
+ <div class="m-col-l-10 m-push-l-1">
+ <h1>
+ <span class="m-breadcrumb"><a href="content.html">content</a>.<wbr/></span>AnotherClass <span class="m-thin">class</span>
+ </h1>
+ <p>This class has summary from the docstring</p>
+<p>This class has external details but summary from the docstring.</p>
+ </div>
+ </div>
+ </div>
+</article></main>
+</body>
+</html>
<section id="classes">
<h2><a href="#classes">Classes</a></h2>
<dl class="m-doc">
+ <dt>class <a href="content.AnotherClass.html" class="m-doc">AnotherClass</a></dt>
+ <dd>This class has summary from the docstring</dd>
<dt>class <a href="content.Class.html" class="m-doc">Class</a></dt>
<dd>This overwrites the docstring for <code>content.Class</code>.</dd>
</dl>
class Class:
"""And this class summary, not shown either"""
+class AnotherClass:
+ """This class has summary from the docstring"""
+
CONSTANT: float = 3.14
This is detailed class docs. Here I *also* hate how it needs to be
indented.
+.. py:class:: content.AnotherClass
+
+ This class has external details but summary from the docstring.
+
.. py:data:: content.CONSTANT
:summary: This is finally a docstring for ``content.CONSTANT``
self.assertEqual(*self.actual_expected_contents('classes.html'))
self.assertEqual(*self.actual_expected_contents('content.html'))
self.assertEqual(*self.actual_expected_contents('content.Class.html'))
+ self.assertEqual(*self.actual_expected_contents('content.AnotherClass.html'))