-
Notifications
You must be signed in to change notification settings - Fork 56
Library Browser
palmoni5 edited this page Jul 17, 2026
·
1 revision
מסך הספרייה (lib/library/) הוא נקודת הכניסה הראשית לספרים, יחד עם מסך הספרייה הריקה (lib/empty_library/) והקטלוג החיצוני (lib/external_catalog/).
-
Category— צומת עץ: title, subCategories, books, parent, path. עםgetAllBooksו־hasBooks. -
Library— השורש ("ספריית אוצריא"). -
findBookByTitle/findBookByTitleFlexible— איתור ספר. -
getCompanionBook— התאמת ה"בן זוג" PDF↔טקסט של אותו ספר (עם סינון בבלי↔ירושלמי) — הבסיס להמרת עמודים ולפתיחת בבלי כ־PDF.
-
LoadLibrary— טעינת העץ (עםdroppableושמירה מכפילות). נשלח מ־MainWindowScreen(ולא מ־AppBootstrap) משיקולי ביצועי עלייה. -
RefreshLibrary— רענון מלא: גיזום תיקיות מותאמות שנמחקו + זיהוי ספרים חדשים/שהשתנו לאינדוקס. -
UpdateLibraryPath— החלפת מיקום (כולל חילוץ ZIP במידת הצורך). -
SearchBooks— חיפוש ספרים עם מונה generation נגד תוצאות מיושנות; אפשרות לכלול אוצר החכמה / היברובוקס.
- עץ משוטח (
buildFlatLibraryRows) עם סדר קטגוריות עליון קבוע (תנ"ך, מדרש, משנה, תלמוד...). - מכסה של 500 ספרים לקטגוריה עם "הצג עוד".
- חלונית תצוגה מקדימה של הספר (
book_preview_panel.dart) עם רוחב מתכוונן. - דיאלוגים: מהדורות הספר (
book_versions_dialog), ספר אוצר החכמה (otzar_book_dialog), דף יומי (library_daf_yomi).
חיפוש הכותרות המרכזי (מהספרייה ומכל שדה "פתח ספר"):
- נרמול והתאמה fuzzy (מרחק עריכה תלוי־אורך) + ראשי תיבות (
AcronymsCache) + שם מחבר. - מיון: התאמה מדויקת ← הכלה ← ראשי תיבות ← fuzzy, בתוך כל שכבה לפי סדר הדורות (משדה
book_generationב־DB — המקור המוסמך היחיד). - רץ ב־isolate כדי לא לחסום את ה־UI.
EmptyLibraryBloc — שלוש דרכים לקבל ספרייה:
-
בחירת תיקייה קיימת — איתור
seforim.dbבתיקייה. - קובץ דחוס — ZIP/ZST מקומי.
-
הורדה מלאה מהרשת — ארבעה קבצים מ־GitHub Releases:
-
seforim.db.zst— הספרייה עצמה -
talmud_bavli_latest.tar.zst— PDF של התלמוד -
otzar-HB_catalog.db.zst— קטלוגים חיצוניים -
lexical.db— מילון החיפוש המקורב (אופציונלי)
-
ההורדה תומכת ב־resume (כותרות Range), פס התקדמות מאוחד עם ETA, פתרון redirect מראש, ובדיקת מקום פנוי. ב־Android — טיפול מלא ב־Scoped Storage (העתקת ה־DB לאחסון פנימי, keyDbEffectivePath).
הערה: חילוץ ה־ZST נעשה ב־streaming בכל פלטפורמות הדסקטופ (חילוץ into-memory גרם ל־OOM במכונות 8GB).
ExternalCatalogRepository מנהל את otzar-HB_catalog.db (~60 אלף רשומות בטבלאות otzar_hahochma ו־hebrew_books):
- קריאה ב־sqlite3 ישיר (read-only), מיפוי ל־
ExternalLibraryBook: oh:<id>← tablet.otzar.org, hb:<id>← hebrewbooks.org. - עדכון גרסת הקטלוג מ־GitHub (השוואת
version.txtמולdb_meta.version, החלפה אטומית עם גיבוי). - ספר היברובוקס שיש לו PDF מקומי מומר ל־
PdfBookרגיל ומוצג גם כשהספרים החיצוניים כבויים.
📖 מדריך למשתמש
- התחלת העבודה
- הספרייה
- קריאת ספר
- קריאת PDF
- חיפוש
- איתור מקורות
- טאבים ושולחנות
- סימניות והערות
- ספרים אישיים
- הגדרות
- גיבוי ושחזור
- עדכונים
- תוספים
- כלים
- קישורי עומק
🛠️ למפתחים — יסודות
נתונים וספרייה
קריאה
חיפוש
אישי ומערכת
עיצוב ו־UI