1234567891011121314151617181920212223242526272829303132333435363738394041 |
- from pathlib import Path
- from typing import Dict, List
- from fastapi.responses import JSONResponse
- from nicegui import app
- from ..examples import examples
- from .content import registry
- PATH = Path(__file__).parent.parent / 'static' / 'search_index.json'
- search_index: List[Dict[str, str]] = []
- @app.get('/static/search_index.json')
- def _get_search_index() -> JSONResponse:
- return JSONResponse(search_index)
- def build_search_index() -> None:
- """Build search index."""
- search_index.clear()
- search_index.extend([
- {
- 'title': f'{documentation.heading.replace("*", "")}: {part.title}',
- 'content': part.description or part.search_text or '',
- 'format': part.description_format,
- 'url': f'/documentation/{documentation.name}#{part.link_target}',
- }
- for documentation in registry.values()
- for part in documentation.parts
- ])
- search_index.extend([
- {
- 'title': f'Example: {example.title}',
- 'content': example.description,
- 'format': 'md',
- 'url': example.url,
- }
- for example in examples
- ])
|