پیشگفتار
مدتها قبل وبلاگهایی1 با وردپرس داشتم که متروکه شدند. آنها روی وردپرس قرار داشتند و امکان شخصی سازی در اختیارم نمیگذاشتند. اخیرا دوباره علاقهمند شدم که یک وبلاگ شخصی داشته باشم اما نه روی وردپرس بلکه روی یک دامنه شخصی. این کار از منظر مارکتینگ شخصی برای من به عنوان یک برنامهنویس و یک هکر تازهکار مهم است. بنابراین دامنه جدیدی ثبت کردم و وبلاگی مبتنی بر وردپرس راهاندازی کردم. از جایی که قصد دارم گاهی مطالبی به انگلیسی یا آلمانی منتشر کنم وردپرس را به کمک پلاگینی به نام polylang به وبلاگی چندزبانه تبدیل کردم. اما به زودی دریافتم که با اینکار «سادگی» را که برایم بسیار مهم است از دست میدهم و تصمیم گرفتم که این روش را کنار بگذارم. در جستجوی یک روش ساده و هکرپسند به جکیل رسیدم. وبلاگی که در پیشرو دارید با جِکیل ساخته شده است.
اهمیت وبسایت شخصی
از دیرباز بین هکرها رسم بوده است که سایتی2 شخصی برای خودشان داشته باشند و آنجا خودشان را معرفی کرده و در مورد نظرات و پروژههایشان بنویسند. در کتاب تائوی برنامهنویسان که دوست خوبم آیدین غریبنواز ترجمه کرده است میتوانید بیشتر با رفتار و عقاید هکرها آشنا شوید. داشتن یک وبسایت شخصی هم محلی است برای نوشتن مطالب شخصی و هم جایی است که میشود پروژههایی را آنجا بارگذاری کرد. گذشته از اینها وبسایت شخصی مثل محلی برای تمرین دانستههای من است. علاوه بر این ممکن است من بخواهم برنامهای بنویسم و آنرا در سایت خودم «نصب» کنم یا با متصل شدن به هاست شخصیام به کدها و برنامههایم دسترسی داشته باشم. به هر ترتیب داشتن یک سایت شخصی هم مزایای فنی و آموزشی دارد و هم مانند یک رزومه آنلاین در دنیای اینترنتی امروز است.
سادگی
بسیاری وبسایتشان را خودشان نوشتهاند و بسیاری هم از سیستمهای مدیریت محتوا استفاده کردهاند که قابلیتهای زیادتری را به راحتی در اختیار میگذارند. من دوست دارم وبسایتی ساده داشته باشم ولی در عین حال نمیخواهم از فنآوریهای مدرن چشمپوشی کنم. سادگی یکی از اصولی است که اواخر یاد گرفتهام. سادگی برای من یعنی انتخاب راهحلی که کاری کوچک را به شیوهای درست و موثر انجام بدهد. سادگی در ارتباط مستیم با «بهرهوری» قرار دارد. هرچه راهحل سادهتر باشد، ماندگاری و دوام آن هم بیشتر است و توسعه آن نیز راحتتر است.
تکنولوژی
با این اوصاف من از فیچرهایی که یک سیستم مدیریت محتوا به من میدهد در حال حاضر چشمپوشی میکنم و یک وبلاگ استاتیک که فقط از HTML و CSS و JavaScript تشکیل شده است ایجاد میکنم. منتها نوشتههای من روی گیتهاب قرار خواهند داشت و من از آن برای کنترل نسخههای نوشتههایم و نیز به عنوان سکوی انتشار مطالبم استفاده میکنم. اما برای ایجاد ساختار سایت چه میکنم؟ من از یک پروژه آزاد بنام Jekyll استفاده میکنم (بخوانید جِکیل). جکیل این امکان را به من میدهد که ساختار یک وبلاگ را روی کامپیوتر شخصیام بسازم و امکاناتی دارد که تولید یک وبلاگ را ساده میکند. جکیل از چند نوع زبان نشانهگذاری از جمله زبان محبوبی مانند Markdown برای نوشتن مطالب پشتیبانی میکند. همچنین دارای پردازشگر قالبی (Template Processor) است که امکان ساختاردهی پویا را فراهم میکند. به طور کلی روش کار من خیلی ساده است، من وبلاگم رو روی کامپیوترم تغییر میدهم (مثلا با نگارش این پست) بعد آنرا در گیتهاب «پوش» میکنم و وبلاگ من به طور خودکار بروز میشود. من روش اینکار را در مقاله دیگری به تفصیل شرح دادهام که به زودی منتشر میکنم.
به این ترتیب من با استفاده از جکیل وبلاگم را ساختم که ساختار پروژه روی گیتهاب قابل مشاهده و دریافت است.
این دیدگاه صرفا یک دیدگاه آزمایشی است. وبسایت استاتیک دردسر دارد ولی آموزنده است.
کامنتدونی استاتیک ساختن مشکلات خودش را دارد که شاید هیچوقت کاملا حل نشود. ولی از جایی که دیسکاس سنگین است و تراکر دارد و بدون قندشکن هم در ایران باز نمیشود فعلا با همین نسخه دستساز جایگزینش میکنم. البته میدانم که مشکلات زیادی دارد ولی اینجا هم برو بیای خاصی در کار نیست و استاتیک «کول»تر است.
تا اینجای کار که ظاهرا مشکل رفع شده است. منظور اینکه الان با ثبت این کامنت یک بیلد تریگر میشود و به تبع آن کامنتها از نو ساخته شده و سایت بروز میشود. کمی پیچیده است اما کار میکند! مهمترین چیزی که باقی مانده است انتقال کامنتهای قدیمی به سیستم جدید است.
بعد از چند سال کامنتدونی باز هم تغییر کرد و اینبار تبدیل شده است به یک
CGI Script
. این هم تستی است تا ببنیم که چه میشود!در ضمن، اسم اسب رستم دستان را هم باید دانست!
مطلب آزمایشی ۲۰۲۲