שיבוץ תגובות מהפדיוורס בדף סטטי
הצעה ללוגו עבור הפדיוורס.(מקור)
1. הקדמה
האתר הזה הוא סטטי, ומופק בעזרת מערכת שנקראת Pollenאם תרצו לקרוא על הגלגולים השונים של האתר, כתבתי על זה קצת בעמוד האודות. בגדול האתר היה בנוי במקור על מערכת דינמית (WordPress), ומשם התגלגל בין מערכות סטטיות: ג׳קיל, פליקן ועכשיו פולן (עליה תוכלו לקרוא כאן)..
הסבר תמציתי שמבהיר את המשפט האחרון (אפשר לדלג אם את יודעתאתה יודע איך דפי אינטרנט פועלים ומה ההבדל בין אתר דינמי וסטטי). אתרים באינטרנט משתמשים בגדול בשלוש שפות כדי ליצור את מה שמוצג בדפדפן כדף: HTML בשביל המבנה והתוכן, CSS בשביל העיצוב, ו־JavaScriptאם תרצו ללמוד ג׳אווהסקריפט, אני ממליצהממליץ על הספר הזה מאת רן בר־זיק. בשביל אלמנטים תכנותיים שרצים בדפדפן. הארכיטקטורה הבסיסית היא של שרת ולקוח: אתן הלקוחהאתם הלקוח, ומבקשותומבקשים ממחשב אחר (השרת) מידע בעזרת הדפדפן; השרת שולח את המידע בצורת HTML, CSS ו־JavaScript (וקבצים מסוגים נוספים, כמו קבצי תמונה), והדפדפן מחבר הכל מציג לנו את התוצאה. כשאנחנו כותבותכותבים אתרים, לא נרצה לכתוב את כל התוכן ישירות כפי שהוא ישלח (כלומר ב־HTML גולמי), אלא נרצה לעשות את זה בכלים נוחים, ושהמחשב יעשה את הקסם שלו וימיר את מה שכתבנו למה שהדפדפן יודע לקרוא. יש שתי גישות איך לעשות את ההמרה הזאת:
- האחת היא דינמית. התוכן נשמר במסד נתונים, וכשיש בקשה לדף השרת קורא את הנתונים הרלוונטיים ומפיק מהם את הפלט לפי תבנית.
- האחרת היא סטטית. התוכן נשמר בדרך כלל בקבצים במחשב, וההמרה נעשית כל פעם שנרצה לעדכן את האתר (במחשב המקומי לפני העלאת הפלט הסטטי, או בשרת פעם אחת לכל עדכון). התוכנה שעושה את ההמרה נקראת static site generator. בגישה זו כשיש בקשה לדף השרת פשוט שולח את הקובץ המוכן.
2. הבעיה
שתי הדרכים טובות ולגיטימיות, והבחירה ביניהן תלויה בסוג האתר, בהרגלים ודרכי־עבודה ובטעם האישי. אני מעדיפהמעדיף לעבוד עם קבצי טקסט פשוט (עם סימונים מיוחדים בשפת סימון בשביל המבנה והעיצוב), וב־workflow של כתיבה/עריכה ← עיבוד סטטי (קימפול) ← תצוגהככה אני גם כותבתכותב מסמכים ומצגות (עם LaTeX) ותווים (עם LilyPond).. החסרון של השיטה הזאת היא — כמו שאפשר להסיק מהשם… — שהפלט שלה הוא סטטי: אי אפשר באופן ישיר לשנות משהו באתר בלי להעביר אותו קימפול מחדש. הבעיה העיקרית שזה יוצר באתרים כמו האתר הזה ובלוגים היא שאי אפשר בקלות להשתמש במנגנון תגובות לדף, שהרי התגובות מתעדכנות כל פעם שנכתבת תגובה חדשה, לא כל פעם שעולה או מתעדכן דף או פוסט.
3. פתרונות
יש לבעיה הזאת שני פתרונות:
- האחד הוא שמי שעורכותעורכים את האתר יוסיפו באופן חצי אוטומטי תגובות שמתקבלות בדרך אחרת (לדוגמה, על ידי טופס ששולח דואל לעורכתעורך). זאת שיטה קצת מסורבלת, שדורשת פעולה ידנית או אוטומטיזציה לא אלגנטית.
- האחר הוא להשתמש ב־JavaScript בשביל ליצור חלק דינמי בתוך הדף (ובאחריות הדפדפן, לא השרת), ולהשתמש בשירות צד שלישי שינהל את התגובותאחד השירותים הנפוצים למטרה הזאת הוא Disqus, שהוא למרבה הצער תוכנה קניינית סגורה..
החל מהיום, מהדף הזה, האתר הזה כולל תגובות בדרך השניה, עם הטוויסט המגניב שהתגובות לא משתמשות בשירות יעודי לתגובות (כמו Disqus), אלא ברשת החברתית הפדרטיבית, הפדיוורס (Fediverse). „מה זה ‚הפדיוורס’?” ודאי תשאלו; אז לאור זה שלא רק אתןאתם עכשיו תשאלו, אלא גם רוב מי שיתקלו במנגנון התגובות באתר בעתידכלומר, עד שהפדיוורס יהפוך לנפוץ ומוּכּר מאוד וההסבר שלי ישמע כמו שזה נשמע היום…, כתבתי הסבר שמצורף לחלק התגובות בכל דף שיהיה אפשר לכתוב לו תגובות, כמו כאן למטה.
מבחינה טכנית, המנגנון שמחבר שרשור מהפדיוורס עם הדף הוא זה שכתב Carl Schwan עם תוספות ושיפורים של Veronica Berglyd Olsen. הקוד הרלוונטי לאתרי Pollen עבריים נמצא בקומיט הזה.
אז, אה… מוזמנותמוזמנים להשאיר תגובה… 😛
תגובות
התגובות כאן מייצגות את השרשור הזה בפדיוורס; הסבר על הפדיוורס כתבתי כאן (במשפט אחד מזוקק: הפדיוורס הוא רשתות חברתיות כפי שהן צריכות להיות, ברוח של שיתוף פעולה, פתיחוּת, עצמאות וביזור). כדי להגיב כל מה שצריך לעשות הוא את הכתובת של השרשור ולהדביק אותה בשורת החיפוש באפליקציה (אני אוהבת את Fedilab, אבל כל אפליקציה תעבוד) או בממשק הווב של המערכת שבעזרתה אתן ניגשות לפדיוורס (קלקי, מסטודון או כל מערכת אחרת).
כדי לא להעמיס על השרתים בפדיוורס, התגובות לדף נטענות רק אחרי לחיצה על הכפתור הזה: