Bläddra i källkod

use ui.restructured_text for search results

Falko Schindler 1 år sedan
förälder
incheckning
7f212a366b
2 ändrade filer med 8 tillägg och 1 borttagningar
  1. 2 0
      website/documentation/search.py
  2. 6 1
      website/search.py

+ 2 - 0
website/documentation/search.py

@@ -24,6 +24,7 @@ def build_search_index() -> None:
         {
         {
             'title': f'{documentation.heading.replace("*", "")}: {part.title}',
             'title': f'{documentation.heading.replace("*", "")}: {part.title}',
             'content': part.description or '',
             'content': part.description or '',
+            'format': part.description_format,
             'url': f'/documentation/{documentation.name}#{part.link_target}',
             'url': f'/documentation/{documentation.name}#{part.link_target}',
         }
         }
         for documentation in registry.values()
         for documentation in registry.values()
@@ -33,6 +34,7 @@ def build_search_index() -> None:
         {
         {
             'title': f'Example: {example.title}',
             'title': f'Example: {example.title}',
             'content': example.description,
             'content': example.description,
+            'format': 'md',
             'url': example.url,
             'url': example.url,
         }
         }
         for example in examples
         for example in examples

+ 6 - 1
website/search.py

@@ -64,7 +64,12 @@ class Search:
                                 with ui.link(target=result['item']['url']):
                                 with ui.link(target=result['item']['url']):
                                     ui.item_label(result['item']['title'])
                                     ui.item_label(result['item']['title'])
                                     with ui.item_label().props('caption'):
                                     with ui.item_label().props('caption'):
-                                        ui.markdown(result['item']['content'][:200] + '...').classes('text-grey')
+                                        intro = result['item']['content'].split(':param')[0]
+                                        if result['item']['format'] == 'md':
+                                            element = ui.markdown(intro)
+                                        else:
+                                            element = ui.restructured_text(intro)
+                                        element.classes('text-grey line-clamp-1')
         background_tasks.create_lazy(handle_input(), name='handle_search_input')
         background_tasks.create_lazy(handle_input(), name='handle_search_input')
 
 
     def open_url(self, url: str) -> None:
     def open_url(self, url: str) -> None: