תיעוד לגבי הרחבת Discourse עם תוספים, ערכות נושא ורכיבי ערכות נושא, עבודה עם קוד הליבה ושימוש ב-API של Discourse.
מבוא
- מבוא: מבוא לפיתוח Discourse
סביבות פיתוח
- Dev Container: פיתוח Discourse באמצעות Dev Container
- GitHub Codespaces: פיתוח Discourse ב-GitHub Codespaces
- הגדרת Docker: התקנת Discourse לפיתוח באמצעות Docker
- הגדרת macOS: התקנת Discourse ב-macOS לפיתוח
- הגדרת Ubuntu/Debian: התקנת Discourse ב-Ubuntu או Debian לפיתוח
- הגדרת Windows: התקנת Discourse ב-Windows לפיתוח
- תוספים שאינם Docker: התקנת תוספים בסביבת הפיתוח שאינה Docker
- הגדרה מקומית: הגדרת סביבת פיתוח Discourse מקומית?
- הגדרת ריבוי אתרים: הגדרת סביבת פיתוח מרובת אתרים
- הגדרת Fedora: הגדרת Discourse לפיתוח ב-Fedora Linux
קוד ופנימיות
- רכיבי Ember: הוספת רכיבי Ember ל-Discourse
- בדיקת קוד (Lint) ועיצוב: בדיקה ועיצוב אוטומטיים של קוד לפני שליחה (commits)
- בדיקות קבלה (Acceptance tests): כתיבת בדיקות קבלה ובדיקות רכיבים לקוד Ember ב-Discourse
- הפעלת חבילות בדיקה: כיצד להפעיל את חבילות בדיקת ה-QUnit של ליבת Discourse, תוספים וערכות נושא
- תאימות גרסאות: נעילת גרסאות של תוספים וערכות נושא עבור התקנות Discourse ישנות יותר (.discourse-compatibility)
- בעלות על אובייקט Ember: בעלות על אובייקט Ember (getOwner, הזרקות שירות וכו’)
- ביצועי JS: שימוש ב-‘tachometer’ של גוגל למדידת שינויי ביצועי JS ב-Discourse
- CI עם GitHub Actions: הגדרת שילוב רציף (Continuous Integration) באמצעות GitHub Actions
- הרחבות Markdown: מדריך למפתחים להרחבות Markdown
- המרת מודלים: המרת מודלים מבקרי legacy ל-API רכיב DModal חדש
- DModal API: שימוש ב-DModal API לעיבוד חלונות מודאליים (Modal windows) (aka popups/dialogs) ב-Discourse
- JS API: שימוש ב-JS API
- מחברי נקודת יציאה של תוסף (Plugin outlet connectors): שימוש במחברי נקודת יציאה של תוסף מערכת נושא או תוסף
- modifyClass: שימוש ב-modifyClass לשינוי התנהגות ליבה
- יצירת נתיבים (routes): יצירת נתיבים ב-Discourse והצגת נתונים
- שיטת אימות: הוספת שיטת אימות ‘מנוהלת’ חדשה ל-Discourse
- סריאליזציה מקרית של מודלים של ActiveRecord: מניעת סריאליזציה מקרית של מודלים של ActiveRecord
- עקיפת תבניות: (לא מומלץ) עקיפת תבניות Discourse מערכת נושא או תוסף
- אובייקטי שירות: שימוש באובייקטי שירות ב-Discourse
- מפרטי מערכת: כתיבת מפרטי מערכת מקצה לקצה עבור ממשק המשתמש של Discourse
- FormKit: ערכת כלים של Discourse לעיבוד טפסים.
- טריגרים AppEvents: עיון בטריגרים של AppEvents
- שנאים (Transformers): שימוש בשנאים להתאמה אישית של ערכים והתנהגות בצד הלקוח
- התאמה אישית של רשימת הנושאים: התאמה אישית של רשימת הנושאים
- הנחיות CSS: הנחיות למחלקות CSS באמצעות BEM
- עיצוב למכשירים: עיצוב למכשירים שונים (גודל אזור תצוגה, מגע/ריחוף וכו’)
תוספים
- תוסף בסיסי: פיתוח תוספי Discourse - חלק 1 - יצירת תוסף בסיסי
- שקע תוסף: פיתוח תוספי Discourse - חלק 2 - התחברות לשקע תוסף
- הגדרות אתר: פיתוח תוספי Discourse - חלק 3 - הוספת הגדרות אתר מותאמות אישית
- הגדרת Git: פיתוח תוספי Discourse - חלק 4 - הגדרת git
- ממשק ניהול: פיתוח תוספי Discourse - חלק 5 - הוספת ממשק ניהול
- בדיקות קבלה: פיתוח תוספי Discourse - חלק 6 - הוספת בדיקות קבלה
- פרסום התוסף שלך: פיתוח תוספי Discourse - חלק 7 - פרסום התוסף שלך
- אזורים חדשים: הוספת אזור חדש מתוסף
- שילוב צ’אט: הוספת ספק חדש לשילוב צ’אט של Discourse
- הרחבת markdown-it: אריזה מחדש של הרחבת markdown-it כתוסף Discourse
- טעינה אוטומטית של Rails: מבנה תוסף לטעינה אוטומטית של Rails
ערכות נושא ורכיבים
- …