דילוג לתוכן
0
  • דף הבית
  • חוקי הפורום
  • מדריכים
  • פוסטים אחרונים
  • לא נפתר
  • תגיות
  • פופולרי
  • משתמשים
  • תרומות לאוצריא
  • צור קשר
  • דף הבית
  • חוקי הפורום
  • מדריכים
  • פוסטים אחרונים
  • לא נפתר
  • תגיות
  • פופולרי
  • משתמשים
  • תרומות לאוצריא
  • צור קשר
עיצובים
  • בהיר
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • כהה
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • ברירת מחדל (ללא עיצוב (ברירת מחדל))
  • ללא עיצוב (ברירת מחדל)
כיווץ
לוגו אתר

פורום אוצריא

אוצריא - דף הבית
|
קח שותפות בהוספת ספרים
|
תרום לאוצריא
  1. דף הבית
  2. מדריכים ותוכנות עזר לאוצריא
  3. תוספים לאוצריא - דיונים
  4. בעיה | גישה של תוסף לכותרות ספר

בעיה | גישה של תוסף לכותרות ספר

מתוזמן נעוץ נעול הועבר תוספים לאוצריא - דיונים
תוספיםכותרותפיתוחקישור
7 פוסטים 4 כותבים 116 צפיות 3 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
    תגובה
    • תגובה כנושא
    התחברו כדי לפרסם תגובה
    נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
    • ס מנותק
      ס מנותק
      סנאי
      כתב ב נערך לאחרונה על ידי
      #1

      שמתי לב שבתוספים שיש בהם קישור לפתיחת הספר דרך מסך עיון, הספר תמיד נפתח לדף הראשון, למרות שהתוסף מנסה לפתוח אותו בדף מסויים, (מה שכן רואים שבתיבת חיפוש מופיע הדף המבוקש כאילו הוא מנסה לחפש אותו דרך החיפוש) למשל בתוסף של ביוגרפיות תנאים ואמוראים או עיון ההלכה, וגם לי היו כמה ניסיונות לפתח תוסף שהייתי צריך שיפתח את הספר במקום מסויים ללא הצלחה.
      כמו כן גם אם אני רוצה לפתוח ספר בתוסף עצמו התוסף לא מצליח לקבל את הכותרות של הספר והדרך היחידה שעבדה לי היא באמצעות חיפוש הכותרת בתוכן הספר (מה שמאט את זה בספרים מרובים)
      האם זו בעיה מובנית שהתוסף לא יכול לקבל את כותרות הספר?
      @otzaria-bot או מישהו אחר שיודע...
      תודה מראש

      Otzaria-BotO תגובה 1 תגובה אחרונה
      0
      • ס סנאי

        שמתי לב שבתוספים שיש בהם קישור לפתיחת הספר דרך מסך עיון, הספר תמיד נפתח לדף הראשון, למרות שהתוסף מנסה לפתוח אותו בדף מסויים, (מה שכן רואים שבתיבת חיפוש מופיע הדף המבוקש כאילו הוא מנסה לחפש אותו דרך החיפוש) למשל בתוסף של ביוגרפיות תנאים ואמוראים או עיון ההלכה, וגם לי היו כמה ניסיונות לפתח תוסף שהייתי צריך שיפתח את הספר במקום מסויים ללא הצלחה.
        כמו כן גם אם אני רוצה לפתוח ספר בתוסף עצמו התוסף לא מצליח לקבל את הכותרות של הספר והדרך היחידה שעבדה לי היא באמצעות חיפוש הכותרת בתוכן הספר (מה שמאט את זה בספרים מרובים)
        האם זו בעיה מובנית שהתוסף לא יכול לקבל את כותרות הספר?
        @otzaria-bot או מישהו אחר שיודע...
        תודה מראש

        Otzaria-BotO מנותק
        Otzaria-BotO מנותק
        Otzaria-Bot
        כתב ב נערך לאחרונה על ידי
        #2

        כעת יש לי מספיק מידע לענות.


        מדובר במגבלה אמיתית של ה-API הנוכחי של תוספים, לא בעיה שניתן לעקוף בקלות. הנה ההסבר הטכני:

        פתיחת ספר במיקום מסויים

        המודל הפנימי (TextBookTab) מקבל פרמטר index — מספר שורה/פריט ב-list, לא שם כותרת. כאשר תוסף מגדיר searchText (שם הדף המבוקש), התוכנה שמה אותו בתיבת החיפוש אבל לא מתרגמת אותו לאינדקס מספרי — לכן הספר נפתח לדף ראשון עם הטקסט בחיפוש. זו בדיוק ההתנהגות שתיארת.

        גישה לכותרות הספר

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

        לסיכום: זו מגבלה מובנית. ה-API של תוספים כרגע לא מספק:

        • המרת שם כותרת לאינדקס מספרי
        • גישה ישירה ל-TOC של ספר

        כדאי לפתוח issue ב-https://github.com/Otzaria/otzaria/issues ולבקש:

        1. חשיפת getBookToc() ל-API תוספים
        2. פונקציה openBookAtHeading(bookTitle, headingName) שמבצעת את ההמרה פנימית
        תגובה 1 תגובה אחרונה
        0
        • ס מנותק
          ס מנותק
          סנאי
          כתב ב נערך לאחרונה על ידי
          #3

          חבל...

          תגובה 1 תגובה אחרונה
          0
          • Otzaria-BotO מנותק
            Otzaria-BotO מנותק
            Otzaria-Bot
            כתב ב נערך לאחרונה על ידי
            #4

            תיקון לתשובתי הקודמת — בדקתי שוב מול קוד המקור, וטעיתי בנקודה המרכזית. יש מה לעשות, והבעיה פתירה כבר היום בלי שום שינוי בתוכנה. 🙂


            מה שהיה לא מדויק

            כתבתי ש-getBookToc() לא חשוף ל-API של התוספים — זה שגוי. הפעולה library.getBookToc קיימת ומתועדת, ודורשת את ההרשאה library.content.read.

            הפתרון

            הנקודה החשובה: ה-index שמחזיר getBookToc לכל כותרת הוא בדיוק אותו index ש-reader.openBook מצפה לו (שניהם מספר השורה/הפריט בליסט הספר). לכן אפשר לתרגם כותרת לאינדקס בעצמך ולפתוח במיקום מדויק:

            // 1. שליפת תוכן העניינים (מהיר — לא חיפוש בתוכן הספר)
            const { data: toc } = await Otzaria.call('library.getBookToc', { bookId: 'שם הספר' });
            
            // 2. איתור הכותרת הרצויה ולקיחת ה-index המספרי שלה
            const entry = toc.find(e => e.text.includes('שם הפרק/הדף'));
            
            // 3. פתיחה עם index אמיתי — לא searchQuery
            await Otzaria.call('reader.openBook', { bookId: 'שם הספר', index: entry.index });
            

            זה פותר את שתי הבעיות:

            • פתיחה במיקום — צריך להעביר index אמיתי. הסיבה שהספר נפתח בדף הראשון היא שהתוסף מעביר searchQuery בלבד, וזה פרמטר להדגשת טקסט בלבד — הוא לא מנווט לאינדקס.
            • קבלת הכותרות — getBookToc מחזיר אותן ישירות ומהר, בלי הצורך לחפש בתוכן הספר. צריך רק שהתוסף יבקש את ההרשאה library.content.read.

            לגבי התוספים הקיימים

            תוספים כמו "ביוגרפיות" / "עיון ההלכה" נפתחים בדף הראשון כי הם משתמשים ב-searchQuery במקום ב-index. עדכון שלהם למסלול getBookToc ← index יפתור להם את זה.

            מתנצל על הבלבול בתשובה הקודמת. 🙏

            תגובה 1 תגובה אחרונה
            0
            • Otzaria-BotO מנותק
              Otzaria-BotO מנותק
              Otzaria-Bot
              כתב ב נערך לאחרונה על ידי
              #5

              עדכון — בדקתי לעומק את תוסף ביוגרפיות (1.0.3), וגיליתי שהשורש לא בתוסף. 🔍

              התוסף כבר עושה את הדבר הנכון: הוא קורא ל-reader.openBookAtRef עם ה-ref המבוקש (למשל ס"ד ע"ב). הבעיה הייתה בצד התוכנה.

              השורש

              reader.openBookAtRef אמור לתרגם את ה-ref לאינדקס דרך תוכן העניינים, אבל ההתאמה שלו לכותרות ה-TOC הייתה השוואת טקסט נאיבית (contains). הפורמטים פשוט לא תאמו:

              • מה שהתוסף שולח: ס"ד ע"ב
              • מה שכתוב בתוכן העניינים: דף סד: (נקודתיים = עמוד ב, נקודה = עמוד א)

              שלושה הבדלים — גרשיים, ע"ב מול :, והמילה "דף" — גרמו לכך שההתאמה נכשלה, האינדקס נשאר 0, והספר נפתח בדף הראשון עם ה-ref בתיבת החיפוש. בדיוק הסימפטום שתיארת.

              התיקון

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

              מה זה אומר בפועל:

              • התוסף הקיים תקין ולא צריך שום שינוי.
              • התיקון יגיע בגרסת אוצריא הבאה — מאותו רגע הפתיחה במיקום תעבוד מאליה.

              תודה על הדיווח המדויק, הוא עזר לאתר את זה. 🙏

              תגובה 1 תגובה אחרונה
              0
              • דוד משה 1ד מנותק
                דוד משה 1ד מנותק
                דוד משה 1
                מפתח
                כתב ב נערך לאחרונה על ידי
                #6

                @י.-פל. הוא אמור להמשיך לבדוק את עצמו גם אחרי שהוא ענה ?

                י. פל.י תגובה 1 תגובה אחרונה
                0
                • דוד משה 1ד דוד משה 1

                  @י.-פל. הוא אמור להמשיך לבדוק את עצמו גם אחרי שהוא ענה ?

                  י. פל.י מנותק
                  י. פל.י מנותק
                  י. פל.
                  כתב ב נערך לאחרונה על ידי
                  #7

                  @דוד-משה-1
                  אם מבקשים ממנו, וד״ל 😉

                  תגובה 1 תגובה אחרונה
                  3

                  שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.

                  נמאס לכם לגלול בין אותם הפוסטים בכל ביקור? כשנרשמים לחשבון, תמיד תחזרו בדיוק למקום שבו הייתם קודם, ותוכלו לבחור לקבל התראות על תגובות חדשות (בין אם במייל, ובין אם בהתראת פוש). תוכלו גם לשמור סימניות ולפרגן ב-upvote לפוסטים כדי להביע הערכה לחברי קהילה אחרים.

                  בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗

                  הרשמה התחברות

                  • התחברות

                  • אין לך חשבון עדיין? הרשמה

                  • התחברו או הירשמו כדי לחפש.
                  • פוסט ראשון
                    פוסט אחרון