איך האתר שלי בנוי

2026-07-25 - פרוייקטים

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

חשבתי שזה יכול להיות נושא מעניין לדבר עליו כי אני חושב שהגישה קצת מצחיקה ולא הכי שגרתית.

התוכנה

האתר רץ על VPS מאחורי nginx. התוכנה שמריצה את הבקנד היא בערך 150 שורות הסקל שמקומפלים לבינארי סטטי שאני מריץ על השרת. התוכנה היא שרת HTTP שעושה שני דברים עיקריים:

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

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

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

התהליך

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

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

דף מתחת למנוע

מה התוכנה לא עושה

אחד הדברים שאולי יפתיעו אתכם הוא שאין לאתר מערכת של פיד (RSS/Atom). אין שום כלי שרץ על התוכן ומג'נרט פיד, ועדיין יש פיד לאתר.

אני פשוט כותב את הפיד בעצמי.

כן כן, כל פעם שאני כותב כתבה או עדכון, אני הולך ומעתיק את הרשומה האחרונה בפיד, מעדכן את ה-id, התאריך, הלינק, הכותרת והתקציר, ודוחף לגיט עם שאר הדפים. התהליך לוקח לי 2 דקות לכל עדכון, שלא קורה לעיתים תכופות מאוד (היי, 10 עדכונים מתחילת השנה!)

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

למה

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

סיכום

הסיבה שאני מספר את כל זה היא כדי להדגיש שלא צריך הרבה כדי לבנות אתר אישי. לא צריך לבנות מערכת שמזהה markdown ומתרגמת אותו ל-html, לא צריך להשתמש במג'נרט אתרים סטטי פופולרי או לכתוב אפליקציית React מסובכת, לא צריך תהליכים מורכבים כדי לתמוך ב-RSS באתר שלכם.

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

רוצים להגיב? בדקו מהי שאלת הסינון בעמוד הראשי.