חזרה
Grubby מייצר אתרים סטטיים ממאגרי Git גולמיים
SiTech AI Team2 דק׳ קריאה

Grubby מייצר אתרים סטטיים ממאגרי Git גולמיים

Grubby הוא מחולל אתרים סטטיים הכתוב ב-Ruby עבור מאגרי Git גולמיים. הוא משתמש ב-Kramdown, תומך בעדכונים מבוססי hooks ויוצר אינדקס ראשי ואתר נפרד עבור כל מאגר.

אתרים סטטיים ממאגרי Git גולמיים

Grubby הוא מחולל אתרים סטטיים הכתוב ב-Ruby עבור מאגרי Git. הוא פורק מ-RepoRat ומושפע ממנו מאוד. Grubby יוצר אתר עבור כל מאגר Git גולמי ומייצר אינדקס ראשי של מאגרים.

הפרויקט דורש Git, Ruby 3.0 או גרסה חדשה יותר ו-Kramdown. הוא נוצר כפתרון עצמאי עם תצורה מינימלית. Kramdown הוא מפענח Markdown ברירת מחדל, אך ניתן להחליף אותו, אם כי אין ערבות שמפענחים חלופיים יעבדו ללא באגים.

תצורה ופלט

Grubby מניח שתיקיות מאגרי Git הגולמיים מסתיימות בסיומת .git. ייצור האינדקס הראשי של המאגרים עשוי שלא לעבוד כראוי ללא כלל שמות זה. קובץ התצורה הראשי הוא _config.yml, המשמש להגדרת הדומיין הראשי והנתיבים.

כברירת מחדל, אינדקס המאגרים ממוקם בשורש התיקייה הראשית ונקרא index.html. ניתן לשנות את שם קובץ הפלט ב-_config.yml. משתמשים שרוצים לשנות את העיצוב או הניווט של האתרים המיוצרים יכולים לשנות את style.css, _header.html ו-_footer.html.

ייצור אתרים עם Git Hooks

מדריך השימוש מניח שעובדים עם אירוח משותף של NearlyFreeSpeech.NET, אך התהליך מתואר בדומה ל-VPS פרטי. בדוגמה שלו, מאגרים גולמיים מאוחסנים ב-/home/public/git.sitename.org. עצמו Grubby משוכפל לתיקייה פרטית, והתהליך מופעל מתוך מאגר גולמי.

בתיקיית hooks של המאגר נוצר hook בשם post-update ומוענקת לו הרשאת הפעלה. הסקריפט מאפס את GIT_DIR, מפעיל את git update-server-info, משכפל את המאגר הנוכחי לתיקייה זמנית, מעתיק את קובץ ה-description שלו ומפעיל את מחולל Ruby על checkout זמני. לאחר מכן התיקייה הזמנית נמחקת.

הפעלת ה-hook עבור כל מאגר יוצרת אתר נפרד בתיקייה המתאימה ומעדכנת את index.html בשורש. ניתן גם למקם את אותה קריאה ב-hook בשם post-receive. ניתן להשתמש ב-hook גלובלי בשם post-update כדי להפעיל את התהליך מבלי להטמיע אותו בכל מאגר.

מגבלות נוכחיות

Grubby לא יוצר דפים נפרדים עבור commit-ים בודדים, branch-ים או שינויים בודדים אחרים במאגר. התוצר המיוצר שלו מכוון לאתרי מאגרים ולאינדקס המאגרים הראשי.

SSiTech

SiTech — פיתוח אתרים בכוח ה-AI

אנחנו בונים אתרים מהירים ומודרניים ומשלבים AI בתהליכי עבודה אמיתיים. יש לכם פרויקט או שאלה? נשמח לעזור.