Skip to content

Directory Structure he

Marco edited this page Jun 7, 2026 · 1 revision

🇬🇧 English

מבנה התיקיות

NavAid הוא עדיין אתר סטטי ללא שלב בנייה. תיקיית docs/ היא האפליקציה המופצת, אך קוד המקור מקובץ כך שהשורש נשאר קטן וקל לסריקה.

docs/ במבט מהיר

docs/
├── index.html                 # מעטפת האפליקציה, מטא-נתוני SEO, DOM של סרגל הכלים
├── sw.js                      # Service worker, נשמר בשורש לצורך scope
├── manifest.json              # מניפסט PWA
├── favicon.svg
├── robots.txt
├── sitemap.xml
├── BingSiteAuth.xml
├── en/
│   └── index.html             # כניסת הפניה יציבה לאנגלית
├── he/
│   └── index.html             # כניסת הפניה יציבה לעברית
├── app/
│   ├── core.js                # גלובלים, מצב, מפת Leaflet, עזרי גאו
│   ├── draw.js                # רינדור קנבס
│   ├── interact.js            # בדיקת פגיעה, גרירה, חוצץ (inspector)
│   ├── io.js                  # שמירה/טעינה, תוכנית טיסה, ייצוא PNG/KML
│   ├── ui.js                  # חיווט סרגל הכלים ואתחול
│   └── style.css              # CSS של האפליקציה
├── data/
│   ├── airfields.json
│   ├── comm-change.json
│   ├── leg-altitude.json
│   ├── nav-waypoints.json
│   ├── route-templates.json
│   └── vor.json
├── i18n/
│   ├── en/strings.js
│   └── he/strings.js
├── assets/
│   ├── icon-192.png
│   ├── icon-512.png
│   └── og-preview.jpg
├── byop/                      # מפות PDF של שדות תעופה, גדולות ומשותפות לתצוגות
└── legacy/
    ├── build_map.py
    └── map.jpg

מה נשאר בשורש

שמרו את נקודות הכניסה של הדפדפן וקובצי הזחלן/PWA ישירות תחת docs/:

  • index.html — מעטפת האפליקציה, מטא-נתוני SEO קנוניים, ותגי script.
  • sw.js — ה-scope בשורש מכוון; הזזתו משנה את scope של ה-service worker.
  • manifest.json, favicon.svg, robots.txt, sitemap.xml, BingSiteAuth.xml.
  • en/index.html ו-he/index.html — דפי הפניה יציבים לפי שפה.
  • byop/ — חבילת PDF גדולה. הפריסה שומרת עותק אחד בשורש הייצור ומסירה עותקים כפולים מ-staging ומ-previews.

קוד האפליקציה

כל ה-JS וה-CSS של זמן הריצה יושבים ב-docs/app/.

סדר ה-script עדיין חשוב כי האפליקציה היא JavaScript גלובלי פשוט, לא מודולים:

i18n/<lang>/strings.js
app/core.js
app/draw.js
app/interact.js
app/io.js
app/ui.js

בעת שינוי JavaScript, הריצו node --check על כל קובץ .js שהשתנה לפני commit.

קובצי נתונים

מאגרי זמן הריצה יושבים ב-docs/data/. קוד האפליקציה אמור למשוך אותם בנתיבים יחסיים ל-index.html, לדוגמה:

data/nav-waypoints.json?v=3
data/airfields.json?v=3
data/leg-altitude.json?v=1

השתמשו בתיקייה זו ל-JSON שהדפדפן טוען בזמן ריצה:

  • nav-waypoints.json — נקודות דיווח CVFR.
  • airfields.json — מטא-נתונים, מסלולים, גבהים ומפות של שדות תעופה.
  • comm-change.json — קטלוג אותיות-קריאה ונקודות שינוי-תדר.
  • leg-altitude.json — זוגות גובה CVFR נלמדים.
  • route-templates.json — הגדרות מסלול מוכנות.
  • vor.json — נתוני תחנות VOR/DME.

קובצי שפה

מילוני השפה יושבים תחת docs/i18n/:

  • docs/i18n/en/strings.js — ברירות מחדל באנגלית.
  • docs/i18n/he/strings.js — דריסות בעברית.

הוסיפו מחרוזות ממשק חדשות לשני הקבצים ושמרו על בדיקות שוויון המחרוזות ירוקות.

נכסים (Assets)

תמונות סטטיות בשימוש מעטפת האפליקציה יושבות ב-docs/assets/.

השתמשו בתיקייה זו לאייקונים, תמונות Open Graph, צילומי מסך שהאפליקציה טוענת, או נכסי דפדפן קטנים אחרים. קובצי PDF תעופתיים גדולים נשארים ב-docs/byop/.

קבצים ישנים

docs/legacy/ מכיל קבצים מהמימוש הישן של המפה הסטטית. הם אינם חלק מאפליקציית ה-Leaflet הנוכחית ואין להשתמש בהם לתכונות חדשות.

תאימות פריסה

במהלך מעבר הפריסה, .github/workflows/deploy.yml יכול לשכתב מצייני ביטול-מטמון/גרסה בשני המבנים:

  • מבנה חדש: app/core.js, i18n/he/strings.js
  • מבנה ישן: core.js, he/strings.js

זה מאפשר ל-main, dev ו-previews של PR פתוחים להתקיים יחד בזמן שהענפים נעים למבנה החדש.

היכן להוסיף קבצים חדשים

צורך שימו כאן
JavaScript או CSS של האפליקציה docs/app/
מאגר JSON של זמן ריצה docs/data/
תרגומי ממשק docs/i18n/<lang>/strings.js
תמונות אפליקציה / תצוגה חברתית / אייקונים docs/assets/
מפות PDF של שדות תעופה docs/byop/
דף כניסה לפי שפה (הפניה בלבד) docs/<lang>/index.html
תוצר ייחוס ישן docs/legacy/

ראו גם Architecture, Deployment ו-Contributing.

Clone this wiki locally