Skip to content

zspitz/hackeru-docs-building-proposal

Repository files navigation

הצעת ייעול בניית מאגרי חומר HackerU

מבנה החומר

נכון לעכשיו החומר מכיל 3 רכיבים:

  • החומר העיקרי: קבצי PPTX להצגה בזמן ההרצאה (עבור המרצה)
  • דוגמאות קוד מורחבות בקבצי HTML ו-JS
  • קבצי פתרון לדוגמא עבור התרגילים

מבנה קבצי PPTX

כל קובץ PPTX מכיל שקף התחלה, ושלשה שקפי סיום: "זמן שאלות", "בדיקת רמת ידע", ו-"סוף".

עיקר החומר מחולק למקטעים, אשר כל מקטע יש לו:

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

תהליך הכנת יחידת חומר כיום

הכנת החומר במצגות:

  • גל/יהונתן מכינים מצגת
  • גל מעלה ל-tools-plan
  • יהונתן מעתיק צילומי מסך לקובץ PPTX
  • זאב כותב הגהות בתוך קובץ ה-PPTX בהערות
  • זאב כותב הערות בקובץ נפרד על סמך המצגת ב-tools-plan
  • יהונתן עובר על ההערות, מוריד/מוסיף הערות נוספות
  • יהונתן וגל נפגשים כדי לשלב את הכל לקובץ הסופי
  • גל מעדכן את הקובץ ומעלה שוב ל-tools-plan

יהונתן וזאב סיכמו שמכיוון שגל מעדכן את ה-tools-plan מדי פעם ואין ליהונתן דיווח מתי זה קורה, זאב יכתוב הערות בקובץ נפרד, במקום להסתמך על קובץ PPTX שיכין יהונתן.

הכנת קוד ופתרונות לדוגמא:

  • גל/יונתן מכינים קוד ופתרונות לדוגמא
  • זאב מגיה את החומר. את הגירסא הישנה מעביר לתיקיה X ומעלה גירסה חדשה.

בעיות

  • ההתייחסות לשיקופית/שורה טעונת תיקון ב-PPTX מורכבת: יש לציין את מס' השיקופית + כותרת וכן את מס' השורה אליה מתייחסים. במידה ונדרש תיקון ניסוח יש לציין גם את הטקסט המקורי וגם את הטקסט החדש.
  • מחזיקים 2 תהליכי ניהול גרסאות התלויים בהרבה פעולות ידניות. למשל, תיקון שגיאה בפתרונות לדוגמא דורש לזכור קודם כל להעביר את הגרסא הקודמת לתיקיה X.
  • שגיאות בקוד המוטמע בשקופיות דורש תיקון פעמיים: גם בשקף עצמו, וגם בקבצים הנלווים. מיותר ועלול לגרום לאי תאימויות.
  • כל דרישה לפעולה ידנית שחוזרת על עצמה שוב ושוב, מגדילה את הסיכון שהיא תשכח. למשל, חלק מהשקפים חסר להם תמונת רקע, וחלק מהמקטעים אין להם שקף הקדמה.

עקרונות ההצעה

  1. מערכת אחת לניהול גרסאות של כל הקבצים
  2. שימוש במערכת ייעודית לניהול גרסאות, כדי לנהל גרסאות גם של קבצי החומר וגם של הקבצים הנלווים (ולא מערכת עיצוב קבצים אשר ניהול גרסות הוברגה עליה כלאחר יד).
  3. קבצי החומר כולו יהיו קבצי טקסט. מהם ייבנו אוטומטית קבצי הסוף, ה-PPTX.
  4. קוד לדוגמא יישאב מקבצי מקור בזמן בניית קבצי הסוף.

תהליך מוצע

החומר והקבצים הנלווים יישמרו כקבצי טקסט (עם תוספת תמונות כפי הצורך) ב-GitHub. רק לגל תהיה אפשרות לבצע commit על ה-branch הראשי.

  1. גל/יהונתן יכתבו חומר, ויעלו למאגר ב-branch נפרד (ע"פ הנחיות Git Flow)
  2. זאב ויהונתן יגישו PR
  3. גל עובר על ה-PR ומגיש ביקורת (חוזר חלילה ל-2 אם יש צורך)
  4. פגישה אם יש צורך
  5. גל ממזג את ה-PR לתוך ה-branch הראשי
  6. מתבצעת יצירה אוטומטית של ה-PPTX (ובהמשך אולי גם העלאה ל- tools-plan)

רכיבי תכנות/פיתוח

רכיבים מוכנים

כלי תאור ותכונות אתר
git מערכת ניהול גרסאות
GitHub מאפשר עבודת צוות משותפת עם כלים חזקים נוספים:
נושאים (Issues) שכל משתמש רשום ב-GitHub יכול לפתוח
בקשה למשיכת קוד לתוך ההמאגר/הענף המרכזי (Pull Request)
כלי ניהול פרוייקט ומשימות
פעולות אוטונטיות לאחר commit או אירוע אחר (Actions)
Markdown שפת markup קריאה גם לאנשים
markdown-it ספריית JS לפירוק ופיענוח Markdown https://markdown-it.github.io/
remark ספריית JS לפירוק ופיענוח Markdown https://remark.js.org
remarkable ספריית JS לפירוק ופיענוח Markdown https://github.com/jonschlinkert/remarkable
marked ספריית JS לפירוק ופיענוח Markdown https://marked.js.org
PptxGenJS ספרית JS ליצירת PPTX https://gitbrent.github.io/PptxGenJS/

רכיבים לפיתוח

תאור
קוד המשתמש באחת הספריות הנ"ל לפירוק Markdown ומייצר PPTX בהתאם
קריאה ליצירת PPTX כנ"ל מתוך Github Actions
מערכת בדיקות, לדוגמא שכל קישור לקוד מוטמע מוביל לאנשהו

נושאים לבדיקה/פתרון

  • תחביר קוד מוטמע
  • בחירת ספריה לפירוק Markdown
  • תמיכה ב-RTL
  • תמיכה ב-RTL בעורך Markdown
  • אבטחת מידע של החומר

הערות נוספות

ה-repository מכיל קוד שממיר קבצי Markdown ל-PPTX. יש להריץ את index.ts, ויווצר קובץ PPTX בתיקיית dist.

המאגר מכיל גם קובץ לדוגמא output.pptx בתיקיית השורש.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published