11ty
נכתב ב31 ביולי 2020.
המעבר לשרת חדש גרם לי לחשוב שוב על WordPress והאם הוא עדיין מתאים לבלוגים ב-2020. כאשר התחלתי את האתר, PHP הייתה אחת משתי שפות התכנות המובילות לווב (יחד עם העולה החדש דאז Ruby on Rails). מאוחר יותר זו גם הייתה שפת התכנות בה עבדתי, וזה נראה לי טבעי להמשיך איתה. מאז עברתי לסביבה חדשה מבוססת NodeJS, ו-PHP נראית לי כמו עוף מוזר (שלא לאמר דינוזאור).
אחרי בחינה של מספר אפשרויות, הגעתי למסקנה שהנתיב הטבעי להמשך הוא Static Site Generators (SSG). הרעיון כאן הוא ליצר את קבצי ה HTML של האתר מתוך התכנים הדינמיים, ומכאן והלאה ההגשה לדפדפן נעשית של קבצים סטטיים בלבד. מתוך המגוון הגדול של האפשרויות, בחרתי את Eleventy (או בקיצור 11ty). הוא מבוסס NodeJS, ויחסית לאחיו הוותיק יותר (Gatsby), הוא פחות אפליקציה ויותר SSG טהור.
ייצור האתר נעשה ע"י הגדרת תבניות והפעלה שלהן על תוכן האתר שהוא קבצי Markdown. את קבצי התוכן שומרים ב git יחד עם הקוד של האתר, כך שנוצר סוג של בלבול בינהם. כדי לבצע את ההפרדה בצורה טובה יותר וגם בגלל התמיכה הבעייתית של Markdown בעברית, בחרתי להשתמש ב Headless CMS: מערכת ניהול תוכן, שבה כתיבה התכנים מנותקת מההצגה שלהן (בניגוד ל WordPress שבה העריכה והתצוגה נעשים באותה מערכת). הרעיון כאן הוא לאפשר לכותבי תוכן שאינם מכירים קוד או אפילו Markdown לערוך את התוכן דרך עורך יעודי (סטייל WordPress), כאשר הקבצים נשלחים מהעורך אל ה git-repo. יתרון משמעותי ליושבים בציון (ובשאר המזרח התיכון) הוא האפשרות לתמיכה הרבה יותר טובה בעריכה ב-RTL.
ל Headless CMS בחרתי את Forestry (ישנן אלטרנטיבות נוספות כמו: Contentful, Netlify CMS), שנראית לי הנקייה ביותר לשימוש. בניגוד ל Contentful, אין לה תמיכה מובנית ב-RTL, אבל באמצעות תפריט "הפוך כוון כתיבה" של Firefox, אפשר לערוך את התוכן בקלות. ל Forestry יש גם תמיכה נוחה בעריכת ה meta-data של הפוסטים (כותרת, קטגוריות וכד'), כך שמקבלים כמעט חוויה מלאה של עורך תוכן משולב, כמו שניתן לראות כאן:
לצורך השוואה, כך נראה ה Markdown של אותו הפוסט ב GitHub:
אז איך עושים את המעבר? על כך בפוסט הבא.
הבא
הקודם
תגובות:-
-
חתול (5 באוקטובר 2020 בשעה 21:23):
אם המטרה של קבצים סטטיים היא מהירות אז וורדפרס עם תוסף מטמון תגיש גם קבצים סטטיים ותהיה קלה יותר להקמה ותחזוקה.
יהודה (6 באוקטובר 2020 בשעה 6:08):
אתה צודק בעניין ההקמה והתחזוקה, אבל מבחינת המהירות וורדפרס אף פעם לא תגיע לזמנים של אתר סטטי. לא שזה כזה קריטי לבלוג כמו שלי. מטרת התרגיל שלי כאן הייתה בעיקר להראות שזה אפשר, וגם לעבור לטכנולוגיה שאני אוהב יותר.