Go to file
popovskik f7f297bd65 feat: offline in-browser "Ask MSOS" assistant (no API, zero cost)
A privacy-friendly help widget that answers visitor questions from the
site's own content and links to the full page — runs 100% in the browser,
no API, no server, no per-token cost.

- tools/build_search_index.py: parses every EN/MK/SI page into ~720
  heading-level chunks per language -> assistant/index-<lang>.json
  (lazy-loaded only when the chat is opened; gzips to ~80 KB).
- assistant.js: dependency-free BM25 search + multilingual stopword
  filtering + a curated short-answer layer for common questions, plus an
  accessible chat widget (role=dialog, keyboard, aria). CSP-safe (self only).
- assistant.css: scoped .msa-* styles in the site's teal palette;
  responsive (full-screen panel on mobile).
- Injected on 208 pages (blog WIP excluded; picks it up when that lands).

Verified in a headless browser across EN/MK/SI: curated answers, search
fallback with correct ranking (rare terms win), correct deep links,
Cyrillic + Slovene diacritics, and zero console errors. Curated MK/SI
answers are machine-drafted — proofread before launch.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-08-04 01:29:22 +02:00
.gitea/workflows security: harden static site (headers, exposed-file cleanup, privacy) 2026-08-03 23:56:48 +02:00
assistant feat: offline in-browser "Ask MSOS" assistant (no API, zero cost) 2026-08-04 01:29:22 +02:00
css health: fix broken pages, add image dimensions, a11y & SEO wins 2026-08-04 00:31:27 +02:00
docs a11y: make mobile menu toggle keyboard & screen-reader accessible 2026-08-04 00:57:27 +02:00
en feat: offline in-browser "Ask MSOS" assistant (no API, zero cost) 2026-08-04 01:29:22 +02:00
images Hub redesign, per-language logos, partner carousel, footer + menu fixes 2026-08-03 14:06:53 +02:00
mk feat: offline in-browser "Ask MSOS" assistant (no API, zero cost) 2026-08-04 01:29:22 +02:00
si feat: offline in-browser "Ask MSOS" assistant (no API, zero cost) 2026-08-04 01:29:22 +02:00
templates Add Student Welcome Guide, legal pages, and working newsletter 2026-07-30 02:17:35 +02:00
tools feat: offline in-browser "Ask MSOS" assistant (no API, zero cost) 2026-08-04 01:29:22 +02:00
.gitignore security: harden static site (headers, exposed-file cleanup, privacy) 2026-08-03 23:56:48 +02:00
.htaccess security: harden static site (headers, exposed-file cleanup, privacy) 2026-08-03 23:56:48 +02:00
404.html feat: offline in-browser "Ask MSOS" assistant (no API, zero cost) 2026-08-04 01:29:22 +02:00
README.md test za actions 2025-08-21 12:22:10 +02:00
apple-touch-icon.png Popravki za homepage 2025-09-09 13:25:10 +02:00
assistant.css feat: offline in-browser "Ask MSOS" assistant (no API, zero cost) 2026-08-04 01:29:22 +02:00
assistant.js feat: offline in-browser "Ask MSOS" assistant (no API, zero cost) 2026-08-04 01:29:22 +02:00
blog-filter.js Pagination fixes, blog page chooser, Events & Projects redesign 2026-08-01 20:30:47 +02:00
consent.js Add GDPR cookie-consent banner (Consent Mode v2) 2026-08-02 18:30:35 +02:00
export_code.sh Posodobljen mobilni meni 2025-09-04 20:43:28 +02:00
favicon-96x96.png Popravki za homepage 2025-09-09 13:25:10 +02:00
favicon.ico Popravki za homepage 2025-09-09 13:25:10 +02:00
favicon.svg Popravki za homepage 2025-09-09 13:25:10 +02:00
guide-feedback.js Feedback: space/bottom-align Send button; submit No + comment as one row 2026-07-31 12:03:07 +02:00
main.js a11y: make mobile menu toggle keyboard & screen-reader accessible 2026-08-04 00:57:27 +02:00
member-form.js Become a Member: bento benefits, merged/redesigned join form, floating CTA, fixes 2026-08-01 13:14:36 +02:00
my-route.js security: harden static site (headers, exposed-file cleanup, privacy) 2026-08-03 23:56:48 +02:00
news-filter.js News hub: add working pagination that respects the type filter 2026-07-31 23:56:42 +02:00
optimize_images.py Popravki za timeline 2025-09-09 14:21:55 +02:00
robots.txt Add technical SEO foundation, MK/SI about-us + timeline, content fixes 2026-08-02 11:43:10 +02:00
site.webmanifest Popravki za homepage 2025-09-09 13:25:10 +02:00
sitemap.xml Add Gallery page (per-event albums + lightbox); remove video-thumbnail blur 2026-08-03 14:28:53 +02:00
student-guide.js Upgrade Build My Route into a personal report generator with export and data hook 2026-07-31 12:58:45 +02:00
style.css Prvotna verzija spletne strani 2025-08-21 11:06:11 +02:00
update_html.py 2 nova članka 2025-08-25 15:43:46 +02:00
web-app-manifest-192x192.png Popravki za homepage 2025-09-09 13:25:10 +02:00
web-app-manifest-512x512.png Popravki za homepage 2025-09-09 13:25:10 +02:00

README.md

msos spletna stran