1.9 KiB
Suche
One field for all of diora: a section of its own in the navigation (static/js/nav.js,
section and group suche, flag side):
- phone (the apps' tab bar, the web page's narrow bar): beside Home · Lesen · Hören;
- the apps' sidebar and the web page's wide bar: at the foot, above Abos & Quellen.
It's never the section the app opens in next time (transient: diora_nav_section isn't written for it).
What is searched where
| Area | Where | Opens |
|---|---|---|
| Bücher, Zeitschriften | on the device (_lastBookListData / bookMetaCache): titles are encrypted, the server never sees them; title, author, series, file name, folders; editions of one work once |
openBook(id) |
| Hörbücher, Podcasts (Abos) | server: title, author | __dioraAudiobookOpen(id) / __dioraPodcastOpenFeed(id) |
| Folgen | server: the full-text index (podcasts/discover.py, titles and shownotes, podcasts only) |
__dioraPodcastOpenEpisode(row) if the podcast UI has it, else the podcast's page; ▶ plays (podcastPlayEpisode) |
| Artikel | server: titles and authors of news and blog items not expired | __dioraFeedsOpenItem(id) |
| Nachrichtenquellen, Blogs | server: title, address, category | the news / blogs |
| Radio | server: saved stations, name, tags, country | playStation() |
Every word has to be there as the start of a word ("plattf" finds "Plattform"); case and
diacritics don't count. "Darüber hinaus" hands the query to Abos & Quellen (new podcasts,
YouTube, feeds) or the radio directory search. The last eight queries (Enter or a hit opened)
are kept on the device. DioraSearch.open(q) opens it from anywhere.
API
GET /search/?q=… (signed in) →
{q, podcasts, podcasts_total, audiobooks, audiobooks_total, episodes, sources, articles, articles_total, stations}; {q, empty: true} for less than two letters. Episodes come as the
episode lists give them (_episode_list_data). Eight per area (articles sixteen).