# הוראות להוספת סיפור לספר "גדולי ישראל לדורותיהם"

קובץ זה נועד להינתן לבוט בצ'אט חדש, שאין לו שום הקשר קודם. קרא אותו במלואו לפני שאתה נוגע בקובץ כלשהו.

---

## מה יש כאן

המאגר `yudataub/aaa`, בתיקייה `ספרי יהודה טאוב/`:

| קובץ | מה זה |
|---|---|
| `גדולי ישראל לדורותיהם.html` | **הספר.** 318 סיפורים ב‑79 פרקים, קובץ HTML אחד עצמאי (~8MB) |
| `tzadikim_catalog_with_52_learning_games.html` | **הקטלוג.** כרטיסים עם קישורים למצגות, משחקים וקריאה |
| `scripts/add_story.py` | מוסיף סיפור לספר |
| `scripts/check_book.py` | בודק שהספר תקין |

הספר חי כאן:
`https://yudataub.github.io/aaa/ספרי יהודה טאוב/גדולי ישראל לדורותיהם.html`

(הקובץ `gdolei_yisrael_ledorotam.html` באותה תיקייה הוא עותק מקביל שהיה
בשימוש לזמן קצר ונזנח — אל תערכו אותו.)
וכל סיפור נגיש ישירות: `...html#story-42`

---

## הכלל היחיד שאסור לשבור

> **אף מזהה סיפור קיים לא זז. לעולם.**

מספר סיפור הוא הבטחה — מישהו כבר שלח את הקישור הזה בוואטסאפ להורים או למורים. מיספור מחדש שובר את הקישור בשקט: הוא ימשיך להיפתח, פשוט ינחת בסיפור אחר. סיפור חדש מקבל את המספר הבא בתור, וזהו.

מאותה סיבה גם מזהי הפרקים הישנים (`ch-1-23` וכדומה) נשמרו כעוגן שני לצד השמות החדשים. אל תמחק אותם.

---

## מבנה הספר — מה חייב להסכים עם מה

הספר מחזיק **שישה** דברים שמתארים את אותם סיפורים. אם אחד מהם משתנה בלי האחרים, התקלה כמעט תמיד בלתי־נראית במבט מהיר:

1. כרטיסי הסיפורים בעמוד (`<article class="story-card" id="story-N">`)
2. תוכן העניינים בסרגל הצדדי (פריט לכל סיפור + כפתור העתקת קישור)
3. מונה הסיפורים בכותרת הפרק **ובסרגל**
4. מוני הסיפורים והדמויות בכותרת כל דור
5. שרשרת "הסיפור הקודם / הסיפור הבא" — לפי סדר הקריאה בכל הספר
6. מדד החיפוש `searchData` בסוף הקובץ

**לכן אל תערוך את ה‑HTML ביד.** הרץ את `add_story.py`, שמעדכן את כל השישה יחד.

---

## איך מוסיפים סיפור

### שלב 1 — כתוב את גוף הסיפור לקובץ נפרד

צור קובץ HTML שמכיל **רק את גוף הסיפור** — בלי `<article>`, בלי כותרת, בלי כפתורים. הסקריפט עוטף את זה בעצמו.

הסגנון של הבית (העתק את המבנה הזה):

```html
<ul class="story-list">
<li><strong>דְּמוּת הַגִּבּוֹר:</strong> מי הוא, מתי חי, במה הצטיין.</li>
<li><strong>הַקּוֹנְפְלִיקְט:</strong> הבעיה או המתח שבסיפור.</li>
<li><strong>נְקֻדַּת הַשִּׂיא:</strong> הרגע שהכל מתהפך בו.</li>
<li><strong>מוּסַר הַשְּׂכֵל:</strong> מה לוקחים מזה.</li>
</ul>

<hr class="story-sep">

<h3 class="section-heading">🔹 א. כותרת הפרק הראשון</h3>

<p>פסקת סיפור רגילה.</p>

<p class="bold-para">משפט שצריך לנחות חזק</p>

<p>עוד פסקה.</p>

<hr class="story-sep">

<h3 class="section-heading">💡 חִבּוּר עֶרְכִּי — ME · WE · YOU</h3>

<ul class="story-list">
<li><strong>ME (הוּא):</strong> מה הצדיק עשה.</li>
<li><strong>WE (אֲנַחְנוּ):</strong> איפה זה נוגע לילדים בכיתה.</li>
<li><strong>YOU (אַתָּה):</strong> מעשה קטן וקונקרטי למחר בבוקר.</li>
</ul>

<hr class="story-sep">

<h3 class="section-heading">📚 מְקוֹרוֹת</h3>

<ul class="story-list">
<li><strong>תַּלְמוּד בַּבְלִי, מַסֶּכֶת X, דַּף Y</strong> — מה בדיוק מופיע שם.</li>
</ul>
```

**כללי כתיבה:**

- **ניקוד מלא** בגוף הסיפור. זה ספר לילדים והוא נקרא בקול.
- קהל היעד: בנים בכיתות ב'–ד', חינוך דתי. שפה חמה, תיאורים חושיים, מתח דרמטי.
- אין לתאר את דמותו של הקב"ה — רק אור ואווירה רוחנית.
- מותר להשתמש רק במחלקות שכבר קיימות בספר: `story-list`, `section-heading`, `bold-para`, `story-sep`. אל תמציא מחלקות חדשות ואל תוסיף `<style>` — אין להן עיצוב.

### שלב 2 — אמת את המקורות

**אל תכתוב מראה מקום מהזיכרון.** חפש ברשת (ויקיטקסט, ספריא, ויקישיבה) ואמת שכל מרכיב בסיפור באמת מופיע במקור שאתה מצטט. אם המשתמש נתן מקור — בדוק אותו, אל תניח שהוא נכון.

אם מרכיב מסוים בסיפור אינו במקור החז"לי אלא בעיבוד מאוחר — אמור זאת למשתמש, אל תשתיק את זה.

### שלב 3 — הרץ את הסקריפט

```bash
cd "ספרי יהודה טאוב"
python3 scripts/check_book.py --list          # לראות את שמות הפרקים
python3 scripts/add_story.py \
    --chapter "ר' יהושע בן לוי" \
    --title "מֵעַל חוֹמוֹת גַּן עֵדֶן" \
    --subtitle "בַּעֲלֵי רָאתָן וְהַסַּכִּין שֶׁל מַלְאַךְ הַמָּוֶת" \
    --body /tmp/story.html
```

`--chapter` מקבל שם פרק, עוגן (`chapter-...`) או מזהה ישן (`ch-1-23`).
`--subtitle` הוא רשות — כותרת משנה קצרה שמתארת את הסיפור.

הסיפור נוסף בסוף הפרק. **אם הדמות עדיין אין לה פרק בספר** — עצור ושאל את המשתמש באיזה דור למקם אותה; פתיחת פרק חדש דורשת החלטה על מיקום כרונולוגי, אייקון וצבע.

### שלב 4 — בדוק

```bash
python3 scripts/check_book.py
```

**אל תעלה ספר שלא עבר את הבדיקה.** כל בדיקה שם מתאימה לתקלה שקרתה פעם.

אם משהו השתבש, שחזר ונסה שוב:

```bash
git checkout -- "ספרי יהודה טאוב/גדולי ישראל לדורותיהם.html"
```

---

## סדר הדורות

הספר מסודר כרונולוגית. אלה הדורות, לפי הסדר:

| דור | מה נכלל |
|---|---|
| 🕍 **תנאים א׳** | עד חורבן בית המקדש — מאנשי כנסת הגדולה, דרך הזוגות, הלל ושמאי, ועד החורבן |
| 📜 **תנאים ב׳** | עד סוף תקופת החורבן — מרבן יוחנן בן זכאי ביבנה ועד רבי יהודה הנשיא ובר קפרא |
| 🌊 **אמוראים** | אמוראי ארץ ישראל ואחריהם אמוראי בבל |
| 🕯 ⭐ 🌟 | ראשונים, אחרונים, גאונים וחסידות — שלושה ספרים שלא נגעו בהם |

סיפור נכנס לפרק של הדמות, והפרק כבר יושב בדור הנכון. אם אינך בטוח לאיזה דור שייכת דמות — הרבה מהסיפורים בספר פותחים ב"כרטיס זיהוי" שמציין את הדור במפורש; זה המקור האמין, לא ניחוש.

---

## פרסום

הספר עולה לאוויר דרך GitHub Pages מהענף `main`.

```bash
git fetch origin main
git checkout -B <שם-ענף> origin/main
# ... ההוספה והבדיקה ...
git add -A && git commit
git push -u origin <שם-ענף>
```

לאחר מכן פתח PR (טיוטה), ומזג אותו רק לאחר אישור המשתמש. **GitHub Pages מתעדכן תוך 2–5 דקות** — אל תסיק שנכשל אחרי ניסיון אחד. אמת שהעלייה הצליחה מול הכתובת החיה:

```bash
curl -s "https://yudataub.github.io/aaa/ספרי%20יהודה%20טאוב/גדולי%20ישראל%20לדורותיהם.html" \
  | grep -c '<article class="story-card"'
```

---

## קישור מהקטלוג (אם ביקשו)

לפעמים כדאי שכרטיס בקטלוג יפנה לסיפור החדש. הוסף בתוך ה‑`<div class="story-links">` של הכרטיס:

```html
<a href="https://yudataub.github.io/aaa/%D7%A1%D7%A4%D7%A8%D7%99%20%D7%99%D7%94%D7%95%D7%93%D7%94%20%D7%98%D7%90%D7%95%D7%91/%D7%92%D7%93%D7%95%D7%9C%D7%99%20%D7%99%D7%A9%D7%A8%D7%90%D7%9C%20%D7%9C%D7%93%D7%95%D7%A8%D7%95%D7%AA%D7%99%D7%94%D7%9D.html#story-N" target="_blank" rel="noopener">📖 קריאת הסיפור ↗</a>
```

שתי אזהרות:

- **אמת שהכרטיס והסיפור הם באמת אותו מעשה** — לא מספיק ששניהם על אותה דמות. לרבי עקיבא יש 16 סיפורים; "אותו תנא" אינו התאמה.
- אם לכרטיס כבר יש קישור קריאה, סמן את החדש אחרת (למשל "📖 גרסה מורחבת ↗"), כדי שלא ייראה כאילו שניהם מובילים לאותו מקום.

`check_book.py` בודק גם את קישורי הקטלוג ומתריע על קישור בלי יעד.

---

## מלכודות שכבר עלו ביוקר

- **מספרי סיפורים בין קבצים שונים אינם מתאימים.** לספר הזה, לקטלוג ולאתרים חיצוניים יש כל אחד מיספור משלו. `#story-1` באתר אחד הוא סיפור אחר לגמרי כאן. אם צריך למפות בין קבצים — התאם **לפי טקסט הסיפור**, לעולם לא לפי המספר.
- **הקובץ ענק (~8MB).** אל תקרא אותו במלואו לתוך ההקשר; חלץ ממנו רק את מה שצריך.
- **`<meta charset="UTF-8">` חייב להישאר בראש הקובץ.** בלעדיו שרת שלא שולח כותרת קידוד יפרש את העברית כלטינית — העמוד יתמלא ג'יבריש, וגם החיפוש יפסיק להתאים.
- **הצג את התוצאה בכנות.** אם בדיקה נכשלה, אמור זאת עם הפלט. אם דילגת על משהו, אמור מה ולמה.
