Conversion of User Guide to the SHH stack (#2781)

This commit is contained in:
Adam Hopkins
2023-09-06 15:44:00 +03:00
committed by GitHub
parent 47215d4635
commit d255d1aae1
332 changed files with 51495 additions and 2013 deletions

View File

View File

@@ -0,0 +1,29 @@
# from urllib.parse import unquote
from webapp.display.page import Page
from webapp.display.search.renderer import SearchRenderer
from webapp.display.search.search import Document, Searcher, Stemmer
from sanic import Blueprint, Request, Sanic, html
bp = Blueprint("search", url_prefix="/<language>/search")
@bp.get("")
async def _search(request: Request, language: str, searcher: Searcher):
full = not bool(request.headers.get("HX-Request"))
renderer = SearchRenderer("Sanic Documentation Search")
builder = renderer.render(request, language, searcher, full)
return html(str(builder))
@bp.after_server_start
async def setup_search(app: Sanic):
stemmer = Stemmer()
pages: list[Page] = app.ctx.pages
documents = [
Document(page=page, language=page.meta.language).process(stemmer)
for page in pages
]
app.ext.dependency(Searcher(stemmer, documents))

View File

@@ -0,0 +1,5 @@
from sanic import Blueprint
from .search import bp as search_bp
bp = Blueprint.group(search_bp)