Markdown – מצב מצומצם (קיפול כותרות ###) – אדמין בלבד
=====================================================
מטרת הפיצ'ר: לאפשר לעורכים לקפל מקומית סעיפים לפי כותרות ``###`` (H3) בתצוגת Markdown, בלי לשנות את קובץ ה־Markdown ובלי להשפיע על תצוגה ציבורית.
מאפיינים עיקריים
-----------------
- אדמין בלבד: הכפתור והקוד נטענים רק למשתמשי Admin.
- מקומי בלבד: הקיפול מתבצע בצד הלקוח (client‑side) בדפדפן.
- שימור מצב: נשמר ב‑localStorage פר‑מסמך (פתוח/סגור לכל סעיף).
- ברירת מחדל: כל הסעיפים סגורים, הראשון פתוח.
- ללא שינוי קובץ: לא נכתב תחביר ``::: details`` לקובץ ה‑.md.
- תצוגה ציבורית: שיתופים/ציבורי אינם מושפעים (הטוגל מוסתר ולא נטען קוד הקיפול).
הזרקת דגל הרשאה לתבנית
-----------------------
דוגמה להזרקת דגל אדמין מהשרת לתבנית Jinja לצורך גייט בצד הלקוח:
.. code-block:: python
# שרת (דוגמה): בעת רינדור התבנית
return render_template(
'md_preview.html',
is_admin=is_admin(user_id),
is_public=False, # בציבורי יש להגדיר True כדי להסתיר את הטוגל והקוד
)
בטמפלייט הוספת הטוגל רק לאדמין:
.. code-block:: html+jinja
{% if (is_admin|default(false)) and not (is_public|default(false)) %}
{% endif %}
עקרונות המימוש בצד הלקוח
-------------------------
- בחירה של כל כותרות H3 בתוך המכולה ``#md-content``.
- לכל כותרת H3 נוצרת מעטפת ```` עם ```` שמכיל את הכותרת, ותוכן הסעיף נאסף עד הכותרת הבאה ברמה H1/H2/H3.
- מצב פתיחה/סגירה נשמר ב‑localStorage לפי מזהה הכותרת (``id``), עם מפתח פר‑מסמך.
- ההחזרה למצב רגיל מסירה את מעטפות ה‑```` ומחזירה את הצמתים למבנה המקורי.
צ'ק‑ליסט לפיצ'רים מקומיים דומים
--------------------------------
- כבוי כברירת מחדל; הפעלה ידנית ע"י המשתמש.
- שימור מצב ב‑localStorage (פר‑מסמך/פר‑משתמש).
- אין שינוי לקובץ מקור/שרת.
- הסתרה מלאה בתצוגה ציבורית/שיתוף.
- גייט הרשאות ברור (למשל Admin בלבד).