Changeset 5f47671 in Klonkt for src/routes/search.js


Ignore:
Timestamp:
06/20/2026 02:37:34 AM (3 months ago)
Author:
roboburr <roboburr@…>
Branches:
main
Children:
16b0c00
Parents:
1720482
Message:

fix: tablet opens full-player + clean search snippet

  • audio-player: the mini-player click only jumps to the post on true desktop (≥1200, no full-player). Tablet + phone now open the full-player (sheet), like mobile. (Was: ≥768 counted as desktop → tablet jumped to the post.) buster audio-player.js?v=20.
  • search: FTS snippet is cleaned up — shortcodes ([[playlist:…]]) and markdown removed, <mark> highlights kept; falls back to the excerpt if nothing readable remains.

Co-Authored-By: Claude <noreply@…>

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/routes/search.js

    r1720482 r5f47671  
    3737function likeArg(q) {
    3838  return '%' + q.replace(/[%_\\]/g, '\\$&') + '%';
     39}
     40
     41// Maak de FTS-snippet leesbaar: shortcodes ([[...]]) en markdown-tekens eruit.
     42// De <mark>…</mark>-highlights van FTS blijven staan. Valt terug op de excerpt
     43// (geëscaped) als er na het schoonmaken niets leesbaars overblijft.
     44function cleanSnippet(html, excerpt) {
     45  const esc = (s) => s.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;');
     46  const s = (html || '')
     47    .replace(/!\[[^\]]*\]\([^)]*\)/g, ' ')   // markdown-afbeeldingen
     48    .replace(/\[\[[^\]]*?\]\]/g, ' ')         // shortcodes (incl. <mark> erin)
     49    .replace(/\[\[|\]\]/g, ' ')               // losse haakjes door truncatie
     50    .replace(/[#>*_`~]+/g, ' ')               // markdown-opmaaktekens
     51    .replace(/\s+/g, ' ')
     52    .trim();
     53  if (!s || /^[…\s]*$/.test(s)) return esc((excerpt || '').slice(0, 160));
     54  return s;
    3955}
    4056
     
    85101        LIMIT 50
    86102      `).all(ftsQuery, site.id);
     103      results = results.map((r) => ({ ...r, snippet: cleanSnippet(r.snippet, r.excerpt) }));
    87104    } catch (err) {
    88105      queryError = err.message;
Note: See TracChangeset for help on using the changeset viewer.