Skip to content

Y-PLONI/siduron_plugin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

סידורון — תוסף "סידור חכם" לאוצריא (v2)

סידור חול חכם (שחרית · מנחה · מעריב · ספירת העומר · תוספות וברכות) בנוסחי עדות המזרח · ספרד · אשכנז. התוסף מזהה אוטומטית מה התאריך העברי, אילו חגים/תוספות חלים, ומציג בכל יום את הנוסח הנכון — יעלה ויבוא, על הנסים, טל/גשם, עשי"ת, תחנון, הלל, מוסף ראש-חודש, ספירת העומר, קריאת התורה ועוד — לפי פרופיל המשתמש (נוסח / מגדר / ארץ-ישראל / מניין).

ארכיטקטורה (v2)

שכבות מופרדות, נטענות כ-<script> (אוצריא טוען מ-file:// שבו fetch חסום):

קובץ תפקיד
vendor/hebcal.js חבילת הדפדפן הרשמית של @hebcal/core (לוח עברי + זמנים, offline). חושף window.hebcal.
data/siddur-data.js נוצר אוטומטית — קורפוס שחרית/מנחה/מעריב (window.SIDDUR_DATA, מ-smart-siddur).
data/extras-data.js נוצר אוטומטית — תוספות וברכות (window.SIDDUR_EXTRAS, מ-tfilon).
js/extras.js תפריט התוספות + רינדור, עם מעריך-תנאים שממיר תגי-תנאי של tfilon ל-flags (כך שיעלה-ויבוא בברכת המזון מופיע רק בר"ח, על-הנסים רק בחנוכה/פורים וכו').
js/calendar.js מנוע ה-flags ההלכתי. ניוד נאמן של halachic_calendar_service.dart מ-smart-siddur מעל hebcal → flagsFor(date, ctx).
js/assembler.js הרכבת התפילה: gate של condition_flags/exclude_flags ברמת template וברמת section, רקורסיה ל-sub-templates, ו-post-processors (עומר, קרבנות, קריאת שני/חמישי, ר"ח טבת, שיר-של-יום גר"א).
js/render.js המרת הקטעים המורכבים ל-HTML: כותרות-קטעים, אקורדיונים לתוכן רשות/מקובץ (חזרת הש"ץ), שימור <b>.
js/app.js אורקסטרציה + UI: טאבי שירותים, כותרת הלכתית עם badges, פאנל הגדרות/זמנים/ניווט, גודל גופן, צנזור שם ה'.

עיקרון: הטקסטים נושאי-flags בלבד; אין לוגיקה הלכתית בנתונים. המנוע (hebcal) מחשב את ה-flags של היום, וה-assembler בורר את הקטעים שמתאימים. כך התוסף מציג בכברירת-מחדל את הנוסח הנכון, ומסתיר חלופות נדירות באקורדיון.

בנייה מחדש של הנתונים

הקורפוס מנויד מ-smart-siddur/assets/prayers (חייב להיות נוכח באותה תיקייה):

node tools/build-data.js     # → data/siddur-data.js   (~1.9MB, מ-smart-siddur)
node tools/build-extras.js   # → data/extras-data.js   (~0.5MB, מ-tfilon)

vendor/hebcal.js הופק מ-@hebcal/core@5.10.1 (dist/bundle.min.js).

בדיקות

node tools/test-calendar.js      # flags על תאריכים מייצגים
node tools/test-assemble.js      # הרכבה מקצה-לקצה
node tools/test-fuzz.js          # שנתיים × 3 נוסחים × 4 שירותים × א"י/חו"ל (17,520 הרכבות)
node tools/test-extras.js        # תוספות: רינדור בכל נוסח + תנאים (יעלה-ויבוא/על-הנסים)
node tools/test-dom.js           # טעינת התוסף המלא ב-jsdom (ללא אוצריא)
node tools/test-interactions.js  # חיווט ה-UI (נוסח/צנזור/ניווט/טאבים/תוספות)
node tools/make-preview.js [YYYY-MM-DD] [nusach] [service]   # → preview.html לתצוגה בדפדפן

מצב נוכחי: כל הבדיקות עוברות — 0 קריסות, 0 placeholders גולמיים, 0 accordions לא-מאוזנים.

תצוגה ללא אוצריא

פתח את index.html בדפדפן — התוסף עולה במצב standalone עם סרגל-תאריך לסימולציה. או הפק snapshot סטטי עם tools/make-preview.js.

מגבלות וטעון-בירור

  • סידור חול בלבד. הקורפוס של smart-siddur אינו כולל עמידת שבת/יו"ט מלאה, קבלת שבת, או מוסף יו"ט. בחירת תאריך שבת/יו"ט תזהה נכון את ה-flags ותציג מוסף ר"ח/חוה"מ, אך לא תפילת שבת מלאה.
  • 3 נוסחים (עדות-המזרח / ספרד / אשכנז). אין נוסח תימן (לא קיים במקור).
  • רישוי: @hebcal/core מופץ תחת GPLv2 — שילובו בתוסף מצריך תאימות-רישיון. טקסטי התפילה מ-smart-siddur. יש לוודא תנאי-שימוש לפני הפצה ציבורית.
  • מיפוי שיר-של-יום של הגר"א (gra_ssy) ממומש best-effort לפי מבנה המיפוי; כדאי לאמת מול ימי חוה"מ בפועל.
  • יום כיפור קטן: היום מזוהה אוטומטית (hebcal) ומוצג כ-badge בכותרת, אך אין טקסט מלא לתפילה — לא קיים באף אחד מהמקורות.
  • הגדרות: נוסח · מתפלל/ת · מניין · פורים · צנזור שם ה' · גופן (עוקב אחר אוצריא כברירת מחדל, עם בורר וחזרה לברירת מחדל) · רוחב הטקסט. בגלילה הכותרת מתכווצת ושם התפילה עולה לראש המסך.
  • מיקום (ארץ-ישראל/חו"ל): אינו הגדרה ידנית — נגזר אוטומטית מהעיר שנבחרה באוצריא (settings.get על key-selected-city) דרך טבלת ערים→מדינה ב-data/locations.js (משוקפת מ-calendar_location.dart של אוצריא). העיר מוצגת בראש פאנל זמני-היום (למשל "בני ברק, ישראל") למניעת טעויות-זמנים, ומתעדכנת חיה באירוע settings.changed. יש לחולל מחדש את הטבלה אם רשימת הערים באוצריא משתנה.
  • קיצור דרך לשולחן העבודה: בהגדרות (בדסקטופ בלבד) יש כפתור "צור קיצור דרך" שקורא ל-shortcut.create (הרשאת ui.create_shortcut). אוצריא בונה את ה-deep-link בעצמו (otzaria://open/plugin/<id>) ומציג דיאלוג אישור; הכפתור מוסתר במובייל ובתצוגת standalone לפי platform מתוך plugin.boot.

מקורות

מבוסס על המחקר ב-ai.txt: קורפוס וטקסטים מ-RefaelGamliel/smart-siddur, מנוע הלוח מ-@hebcal/core (בהשראת relbns/siddur-plus), והצלבה מול אפליקציית "תפילון".

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors