גו, הוגו, גו!

ארכיטקטורה כללית של מחולל האתרים הוגו

תוכן

הקדמה

בפוסט הקודם דיברתי על המעבר המורכב שהבלוג הזה עשה מפלטפורמת וורדפרס למחולל אתרים סטטי. בפוסט הזה נרד טיפטיפה יותר לעומק לגבי התכל'ס של העניין. אז... מוכנים, היכון, הוגו!

במה לבחור?

אז החלטתם להרוס לעצמכם את החיים ולהעביר את הבלוג שלכם למחולל סטטי. זה בסדר, אני לא הולך לשפוט אתכם (כלומר אני לגמרי הולך לשפוט אתכם, פשוט לא כאן). אבל כן כדאי להשקיע מחשבה על איזה מחולל הכי מתאים לנו.

יש דווקא מגוון לא קטן של כלים כאלה. אללה יסתור. הפופולארי הוא, ללא ספק, ג'קיל, מחולל פופולארי הכתוב בשפת רובי ונהנה ממגוון עצום של תוספים. מי משתמש בו? ספוטיפיי, למשל. דוגמאות מקומית חביבות עליי הן הבלוגים המצויינים של גדי אלכסנדרוביץ' ונעםר.

חוץ ממנו יש למשל גם את גטסבי ו-NextJS, המסתמכים בין היתר על NodeJS ו-React, פליקן המתבססת על שפת פייתון, ופולן המתבססת על שפת Racket. דרך אגב, דוגמא נפלאה לפולן היא הבלוג של יודה העושה שימוש מגניב לגמרי בכל הכלים שיש לפולן להציע.

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

אז למה דווקא הוגו?

אני מודה שבהתחלה ניסיתי את ג'קיל, אבל התייאשתי די מהר. גודש התוספים והתלות במנהל החבילות של רובי הכריעו אותי, מה גם שלא כל כך הסתדרתי עם התקנת התוספים עצמם - במיוחד נשברתי מהתקנת התוסף לחלוקת הבלוג לעמודים. מסתבר שאינני המטומטם היחיד.

ההחלטה נפלה, לאחר התלבטות, על הוגו מכמה סיבות: להוגו אין תוספים, כלומר אין את "המחלה" של וורדפרס בה תוסף פגום עלול לשבור לך את האתר. בנוסף, עקומת הלמידה של הוגו היא די מהירה (באופן יחסי), והכי חשוב: מדובר במחולל המהיר ביותר שקיים. האתר נבנה תוך שבריר שנייה. בג'קיל מדובר בכ-15-20 שניות לבלוג בגודל של כ-200 עמודים. לא הכי מהיר.

רגע, ולמה לא הוגו?

הוגו בנוי על שפת התכנות Go, כלומר יש צורך ללמוד שפה חדשה (לפחות את היסודות שלה) כדי להבין מה הולך שם. זה לא הדבר הנורא ביותר בעולם, אבל יש לשפת גו כמה כללים מעט מוזרים שהיה לי קשה להפנים אחרי שרוב התנסות הווב שלי היתה ב-PHP ו-Javascript.

לבסוף הסתדרתי תודות ללא מעט דוגמאות ברשת וכן מסמכולוגיה די מועילה.

אוקיי, אז הוגו. מה עכשיו?

מה זאת אומרת "מה"? מתקינים!

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

אני יוצא מנקודת הנחה שרוב מי שיוצא לו לקרוא את זה משתמש בחלונות. מדובר בארבעה רכיבים שיש להתקינם בנפרד: שפת גו, GIT (כבר אדבר על זה) והכלי Dart SASS המשמש ליצירת קבצי העיצוב (CSS). כל אחד מהם ניתן להורדה והתקנה בלחיצת כפתור.

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

אוקיי... אבל למה GIT?

אתם בטח שואלים את עצמכם למה צריך להתקין את GIT, נכון? אז בקצרה:

את ה"הוראות" שלפיהן הוגו ייצר לנו את האתר וכן את האתר הסופי עצמו נאחסן ב-Github שהוא מאגר ענקי וחינמי של פרוייקטי תוכנה מכל הסוגים.

בכל פעם שנרצה להוסיף דף חדש לאתר הסטטי שלנו, נשתמש ב-Git, שהוא כלי חכם וממזרי לניהול קוד, על מנת להעלות את השינויים ל-Github ולעדכן את האתר שלנו (זוכרים שאמרתי שהכלים האלה פחות אינטואיטיבים מוורדפרס? אז לזה התכוונתי).

מצד שני - כל התהליך ניתן לביצוע בצורה ממש פשוטה ע"י התקנת הכלי הגרפי של Github המאפשר לנו לעשות כל זה בלי פקודות מסובכות בטרמינל.

כמובן שכדי שכל היופי הזה יעבוד נצטרך גם לפתוח יוזר בגיטהאב, אבל זה באמת לא כזה סיפור.

בפרק הבא

אוקיי, נכון שהתכנון המקורי שלי היה לרדת יותר לתכל'ס, אבל בסוף דיברתי רק על סוגי מחוללים ואיך להתקין את הוגו. אתכם הסליחה. אתם מוזמנים לבקש את הכסף בחזרה, אשלח לכם אותו עם איגרת ברכה מנסיך ניגרי.

בפוסט הבא באמת אנסה לרדת יותר לתכל'ס. נשבע לכם. באימא.

פוסטים קודמים בסדרה


פוסטים קשורים