Browse Source

use `ui.restructured_text` for rendering docstrings

Falko Schindler 1 year ago
parent
commit
7770ff01d0
2 changed files with 16 additions and 6 deletions
  1. 3 6
      website/documentation/rendering.py
  2. 13 0
      website/static/style.css

+ 3 - 6
website/documentation/rendering.py

@@ -1,5 +1,3 @@
-import docutils.core
-
 from nicegui import ui
 
 from ..header import add_head_html, add_header
@@ -40,11 +38,10 @@ def render_page(documentation: DocumentationPage, *, with_menu: bool = True) ->
                 subheading(part.title, link=part.link, major=part.reference is not None)
             if part.description:
                 if part.description_format == 'rst':
-                    description = part.description.replace('param ', '')
-                    html = docutils.core.publish_parts(description, writer_name='html5_polyglot')['html_body']
-                    ui.html(html).classes('bold-links arrow-links nicegui-markdown')
+                    element = ui.restructured_text(part.description.replace(':param ', ':'))
                 else:
-                    ui.markdown(part.description).classes('bold-links arrow-links')
+                    element = ui.markdown(part.description)
+                element.classes('bold-links arrow-links rst-param-tables')
             if part.ui:
                 part.ui()
             if part.demo:

+ 13 - 0
website/static/style.css

@@ -43,6 +43,19 @@ a:active:not(.browser-window *) {
   vertical-align: -10%;
 }
 
+.rst-param-tables table {
+  text-align: left;
+  table-layout: auto;
+}
+.rst-param-tables table th,
+.rst-param-tables table td {
+  border-width: 0;
+  padding: 0;
+}
+.rst-param-tables table th {
+  padding-right: 1em;
+}
+
 .q-header {
   height: 70px;
   background-color: #5898d4;