Jekyll logo

چند وقت پیش تصمیم گرفتم جایی برای نوشتن ایجاد کنم تا بتوانم در مورد موضوعاتی که برایم جذاب بود٬ بنویسم شاید برای بعضی از دوستان جالب باشد. هیچ وقت در نوشتن آدم منظمی نبودم و همیشه راه‌اندازی بلاگ به خاطر وسواسی که روی بحث طراحی داشتم٬ زمان بسیار زیادی را طلب می‌کرد که من هیچ وقت در اختیار نداشتم. جدا از این مسئله اگر بخواهید پادکست داشته باشید٬ فایل ویدیویی ضبط کنید و در کل فایل‌های حجیم داشته باشید باید هزینه‌ای هم برای هوست «نگویید هاست :)»‌ در نظر بگیرید. به همین خاطر وقتی با Jekyll آشنا شدم به نظر گزینه جالبی آمد.

Jekyll یک نرم افزار سایت ساز است که تمامی صفحات شما را به شکل استاتیک ایجاد می‌کند. ساختاری بسیار ساده دارد و شما برای نوشتن پست هیچ احتیاجی به ادیتور خاص و یا لاگین کردن در صفحه ای خاص ندارید. تنها کاری که باید انجام بدهید این است که متن خود را با فرمت markdown داخل یک فایل با پسوند md یا markdown ذخیره کنید و آن را در پوشه _post قرار دهید. Jekyll این پوشه را شناسایی کرده و محتوای داخل آن را می‌شناسد و پستی را برای شما با استفاده از همان فایل ایجاد می‌کند.

با استفاده از Jekyll چند مشکل برای من برطرف شد. اول اینکه دیگر نیازی به هوست ندارم و با صرف هزینه ثبت یک دومین ir و اتصال آن به صفحات گیت از طریق سرویس های مدیریت DNS رایگان مثل namecheap.com می‌توانم تمامی فایل‌های استاتیک خود را با هر حجمی روی سرورهای گیت‌ هاب قرار دهم. سرورهای گیت هاب سرعت فوق‌العاده‌ای دارند و مطمئنا از هر server ای که شما در ایران در اختیار دارید٬ سریعتر و مطمئن‌تراند. دوم اینکه قالب جکیل کاملا HTML و CSS و JS است و شما برای ساخت بلاگ حتی یک خط کدنویسی server-side انجام نمی‌دهید. البته می‌دانم که وردپرس CMS بسیار مناسب و راحتی است و زحمت ترجمه و پشیبانی‌اش را نیز دوستان به دوش می‌کشند ولی واقعا برای اغلب بلاگ‌های موجود وردپرس بیش از حد قوی و بزرگ است. در حال حاضر بلاگ‌هایی داریم که بعد از ۵ سال فعالیت٬ مجموع پست‌هایشان به ۵۰۰ پست نرسیده. واقعا این بلاگ‌ها اینقدر بزرگ نیستند که بخواهند از سیستمی مثل وردپرس استفاده کنند و خیلی راحت می‌شود از سیستم‌های ساده تر برای راه‌اندازیشان استفاده کرد. بلاگ من هم از این دست بلاگ‌های کم پست محسوب می‌شود. به همین خاطر جکیل را انتخاب کردم.

مزایای جکیل این موارد است:

  1. سرعت بالاتر به خاطر استاتیک بودن صفحات
  2. ساختار ساده تر
  3. راه اندازی ساده تر برای کسانی که به HTML و CSS تسلط دارند.
  4. امنیت بیشتر به خاطر دارا نبودن بخش back-end و نبود دیتابیس

البته معایبی هم دارد:

  1. از دست دادن تمامی قابلیت‌هایی که از طریق پردازش server-side ممکن بود مثل بخش کامنت و فرم تماس و قابلیت جستجو در سایت
  2. جدید بودن و در دسترس نبودن پلاگین های فراوان مثل وردپرس
  3. سخت بودن برای کسانی که به HTML, CSS مسلط نیستند.

برخی از معایب را می‌توان برطرف کرد. مثلا برای بخش کامنت می‌توان از سرویس‌های جانبی مثل DISQUS استفاده کرد که من هم از همین سرویس استفاده کردم. برای فرم تماس هم سرویس‌های بسیاری وجود دارد از جمله WuFoo, 123contactform و یا jotform که هم به شما این اجازه را می‌دهند که یک فرم تماس را در صفحات استاتیک خود بگنجانید. مورد آخر که مربوط به search است را نیز می‌توان به شیوه‌های مختلف حل کرد. اول اینکه با داشتن sitemap و به کمک گوگل این شانس وجود دارد که مطالب شما خیلی زود index شده و در گوگل قابل جستجو باشد. به نظرم استفاده از Google Custom Search کفایت می‌کند ولی می‌توان از سرویس‌های دیگر نیز استفاده کرد از جمله Tapir که آدرس feed شما را گرفته و مطالب شما را برایتان در server خودش index می‌کند و شما از طریق یک API می‌توانید به سرچ دسترسی داشته باشید. ابزارهای دیگری نیز وجود دارد که مطالب شما را بر روی همان سیستم local شما با فرمت JSON برایتان index می‌کند و شما عملا یک دیتابیس لوکال از نوع JSON خواهید داشت که حاوی همه مطالب سایت شماست. در هر صورت برای شروع کار حجم مطالب بلاگ اینقدر زیاد نیست که اصلا احتیاجی به جستجو داشته باشد.

حال سوالی که پیش می‌آید این است که وردپرس بهتر است یا جکیل؟ سوال نابجایی است :) هر کدام از این ابزارها برای هدفی خاص ایجاد شده‌اند. همه چیز بستگی به شرایط دارد. اگر قصد راه‌اندازی سایتی را دارید که افراد مختلفی باید بر روی آن مطلب بنویسند٬ امکانات ویژه نیاز دارید و کسانی که مطلب را می‌نویسند افراد فنی و با‌تجربه نیستند٬ قطعا وردپرس بهترین انتخاب است. ولی اگر قصد دارید که بلاگ کوچکی داشته باشید و یا برای پروژه‌ای که روی آن کار می‌کنید٬ مستندات تهیه می‌کنید و قصد دارید مطالب را بر روی گیت هاب قرار دهید به نظرم جکیل گزینه مناسبی می‌آید.

اگرفرصتی شد درباره نصب جکیل بر روی ویندوز و استفاده ساده از آن در آینده می‌نویسم.