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>
This commit is contained in:
1 parent
cca6fd18aa
commit
f7f297bd65
214 files changed
+876
No files matched your search
@@ -0,0 +1 @@
|
||||
[{"u":"/mk/about-us/","t":"Нашиот тим, мисија, визија и вредности - МСОС","h":"Нашиот тим, мисија, визија и вредности - МСОС","x":"Нашиот тим, мисија, визија и вредности - МСОС. МСОС е повеќе од организација - тоа е енергијата на тимот зад неа. Нашите членови се срцето и движечката сила што нè инспирира, пишувајќи ја оваа приказна и…","lang":"mk"},{"u":"/mk/about-us/","t":"Нашиот тим, мисија, визија и вредности - МСОС","h":"Нашите основни вредности","x":"Нашите основни вредности. Нашите заеднички вредности нè држат поврзани и нè водат како еден тим.","lang":"mk"},{"u":"/mk/about-us/","t":"Нашиот тим, мисија, визија и вредности - МСОС","h":"Волонтерски дух","x":"Волонтерски дух. Силата на МСОС доаѓа од несебичното давање на нашето време и енергија. Секој проект, настан и идеја во МСОС е изградена врз напорната работа на нашите неверојатни волонтери. Нашиот волонтерски дух е доказ за посветеноста, страста и заедничката енергија на нашата заедница и причината зошто заедно стануваме посилни.","lang":"mk"},{"u":"/mk/about-us/","t":"Нашиот тим, мисија, визија и вредности - МСОС","h":"Солидарност и грижа еден за друг","x":"Солидарност и грижа еден за друг. Ние сме повеќе од група студенти, ние сме семејство. Се грижиме еден за друг и се поддржуваме меѓусебно не само со студиите, туку и со секојдневните предизвици. Тука сме да слушаме, помагаме и да ги славиме успесите заедно. Станува збор за давање без да очекуваме ништо за возврат и создавање на безбедна, топла и охрабрувачка средина каде што секој се чувствува дека припаѓа.","lang":"mk"},{"u":"/mk/about-us/","t":"Нашиот тим, мисија, визија и вредности - МСОС","h":"Љубов кон нашите корени и амбиција за иднината","x":"Љубов кон нашите корени и амбиција за иднината. Гордеемe се со тоа од каде доаѓаме и го носиме нашето македонско наследство со нас, додека се стремиме кон посветла иднина. Нашите корени ни даваат сила, а нашата амбиција нè турка напред. Нашата амбиција нè тера да бидеме професионални, иновативни и влијателни лидери и примери за углед во нашата земја домаќин.","lang":"mk"},{"u":"/mk/about-us/","t":"Нашиот тим, мисија, визија и вредности - МСОС","h":"Имате какви било прашања?","x":"Имате какви било прашања?. Не можете да го најдете одговорот што го барате? Разговарајте со нашиот пријателски тим.","lang":"mk"},{"u":"/mk/become-a-member/","t":"Стани член","h":"Стани член","x":"Стани член. Придружете се на МСОС и најдете ги вашите луѓе во Словенија. Запознајте студенти, посетувајте настани, добијте поддршка и создавајте проекти во македонската студентска заедница.","lang":"mk"},{"u":"/mk/become-a-member/","t":"Стани член","h":"Зошто да станеш член?","x":"Зошто да станеш член?. Вистински настани, вистински пријателства Најди ги своите луѓе Запознај македонски студенти низ Словенија и создади пријателства надвор од предавалната. Почувствувај поддршка Добиј практична помош, локално знаење и заедница што разбира што значи студирање во странсLine truncated
|
||||
Reference in new issue
Block a user