(פוסטים בתיוג SSG.)

11ty

💬 2 31 ביולי 2020 SSG11tyבלוג

המעבר לשרת חדש גרם לי לחשוב שוב על 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:

אז איך עושים את המעבר? על כך בפוסט הבא.

ie8‏ (2) מיקרוסופט‏ (2) דפדפנים‏ (11) כללי‏ (6) אורנג'‏ (1) אתרים בארץ‏ (1) שמישות‏ (5) BlogDay2008‏ (1) habari‏ (1) הבארי‏ (1) CSS‏ (3) פיירפוקס‏ (10) נגנים‏ (4) Flip4Mac‏ (1) מק‏ (4) אופרה‏ (2) ספארי‏ (3) גראצ'ו מרקס‏ (1) ogg‏ (1) video‏ (1) שטויות שמוצאים באתרים‏ (5) אתרים תומכי פיירפוקס‏ (1) לאומי-קארד‏ (1) ie6‏ (1) וורדפרס‏ (13) acid2‏ (1) אינטרנט אקספלורר‏ (1) Google wave‏ (2) בלוגיה‏ (1) תפוז‏ (1) gps‏ (2) ביקורת מוצרים‏ (1) garmin‏ (2) ווידג'טים‏ (10) רכבת ישראל‏ (2) speedtraps‏ (1) מזג אויר‏ (2) קוד פתוח ותוכנה חופשית‏ (14) חלונות‏ (1) wordpress‏ (1) שעון קיץ‏ (1) חולצה‏ (1) סקראץ׳‏ (1) לינוקס‏ (5) אישי‏ (1) iPhone‏ (2) זמן‏ (2) מכוניות‏ (1) nano‏ (1) php‏ (1) vi‏ (1) SSG‏ (1) 11ty‏ (3) בלוג‏ (1) Docker‏ (1) Hosting‏ (1) Nunjucks‏ (1) Comments‏ (1) staticman‏ (1) Geotagging‏ (1) שביל ישראל‏ (8) postsAndPagesWithoutDrafts‏ (74)