شنبه 28 فروردین 1395

استفاده از Jekyll و Github Pages

استفاده از Jekyll و Github Pages

جکیل (Jekyll) یک سیستم سایت‌ساز و بلاگینگِ استتیک، بسیار سریع و ساده می‌باشد که با استفاده از زبان Ruby توسط Tom Preston Werner، موسس گیت‌هاب نوشته شده است و با استفاده از Markdown و تمپلیت انجین Liquid و ترکیب آنها در نهایت یک وب‌سایت آماده انتشار روی وب سرور مورد علاقه شما تولید میکند.

TL;DR : اگر تمایلی به خواندن مطالب طولانی ندارید بهتر است بدانید که در این پست در مورد برخی از مزایا و معایب جکیل و در پایان آموزش نصب روی مک و ویندوز و همچنین انتقال آن روی Github Pages توضیح داده خواهد شد.

جکیل برای چه افرادی مناسب است؟

جکیل در حالت کلی برای بلاگرها و وب‌مسترها مناسب است. برای استفاده از جکیل، مانند وردپرس نباید انتظار یک دکمه نصب سریع و صفحه مدیریت زیبا را داشته باشید. علاوه بر این که نصب جکیل ممکن است پر از چالش باشد برای تغییر ظاهر سایت به حالت‌های مورد نظرتان باید با HTML و CSS آشنایی داشته باشید. همچنین برای نوشتن پست باید با سینتکس‌های Markdown آشنا باشید و توانایی کار با ترمینال یا کامندلاین در حدی که بین فولدرها حرکت کنید و دستورات مورد نیاز را اجرا کنید نیز مورد نیاز است.

به دیتابیس و زبان سمت سرور نیاز ندارد

کدهای تولید شده توسط جکیل فقط HTML, CSS و در صورت نیاز خودتان جاوا اسکریپت است و در حالت عادی هیچ نیازی به استفاده از زبان‌های سمت سرور و دیتابیس ندارید. بنابراین علاوه بر امنیت، سرعت بسیار بالایی دارد.

برای اضافه کردن امکانات مختلف مانند سیستم نظردهی و فرم تماس میتوانید از پلاگین‌ها و یا سرویس‌هایی که برای جکیل ایجاد شده‌اند استفاده کنید.

همچنین برای تغییر ظاهر سایت میتوانید از پوسته‌های آماده استفاده کنید و یا یک پوسته طراحی کنید و با استفاده از مستندات جکیل آن را به پوسته جکیل تبدیل کنید.

میزبانی رایگان روی گیت‌هاب

برای استفاده از جکیل نیازی به خرید هاست ندارید و به راحتی میتوانید از Github Pages به عنوان هاستینگ استفاده کنید که علاوه بر رایگان بودن، بسیار امن و سریع است. برای اتصال دامنه هم میتوانید از سرویس‌های مدیریت DNS مثل cloudflare.com استفاده کنید. همچنین سورس کد وب سایتتان برای عموم قابل دسترس است و همه میتوانند از کدهای شما استفاده کنند.

مشکلی که برای بسیاری از کاربران ایجاد میشود عدم پشتیبانی گیت‌هاب از اکثر پلاگین‌های جکیل است و فقط چند پلاگین ضروری را پشتیبانی میکند. برای مثال به عنوان یک کاربر فارسی زبان اگر نیاز داشته باشید تا از پلاگین تاریخ جلالی استفاده کنید بعد از انتقال فایل‌ها روی سرور، گیت‌هاب این پلاگین را نادیده میگیرد و وب‌سایت را بدون این پلاگین اجرا میکند.

راه حلی که برای این مسئله وجود دارد جلوگیری از Build خودکار گیت‌هاب و Build گرفتن از وبلاگ به صورت لوکال و انتقال فایل‌های تولید شده نهایی روی سرور است.

همچنین از سرویس‌های دیگری مثل Gitlab Pages و حتی دراپ‌باکس هم برای هاستینگ میتوانید استفاده کنید.

نصب جکیل روی مک

نصب جکیل روی مک بدلیل از قبل نصب بودن روبی راحت‌تر از ویندوز است. در صورتی که نیاز به نصب مجدد روبی یا استفاده از نسخه‌های مختلف دارید از RVM یا روش‌های دیگر استفاده کنید. برای چک کردن نسخه روبی در حال استفاده از دستور ruby -v استفاده کنید.

قبل از نصب جکیل نیاز به نصب چند پیش‌نیاز دارید:

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

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

gem install jekyll

بعد از اتمام نصب به لوکیشن مورد نظر که میخواهید فولدر بلاگ یا وب‌سایتتان را بسازید بروید و دستور زیر را وارد کنید:

jekyll new my-awesome-site

بعد از اجرای دستور بالا جکیل در مکان مورد نظرتان یک فولدر به اسم my-awesome-site که دارای فایل‌های مورد نیاز است می سازد.

با دستور cd my-awesome-site وارد این فولدر شوید و سپس برای Build شدن و اجرای وب‌سایت دستور زیر را وارد کنید:

jekyll serve

در صورتی که با موفقیت اجرا شود میتوانید از طریق آدرس http://127.0.0.1:4000 وب‌سایت تولید شده را مشاهده کنید.

نصب جکیل روی ویندوز

روبی به صورت پیش فرض روی ویندوز نصب نیست و باید آن را نصب کنید. از طریق RubyInstaller میتوانید به راحتی روبی و آخرین نسخه DevKit را روی ویندوز نصب کنید.

بعد از دانلود شدن، پکیج DevKit را اکسترکت کنید و از طریق Command Prompt وارد فولدر آن شوید. سپس دستورات زیر را اجرا کنید:

ruby dk.rb init
ruby dk.rb install

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

gem install jekyll

در صورتی که با موفقیت اجرا شود میتوانید از طریق آدرس http://127.0.0.1:4000 وب‌سایت تولید شده را مشاهده کنید.

انتقال روی Github Pages

کافیست وارد گیت‌هاب شوید و یک ریپازیتوری جدید با نام username.github.io بسازید. البته به جای username نام کاربری خودتان را بنویسید.

به عنوان مثال نام کاربری من در گیت‌هاب rezaaa هست. بنابراین یک ریپازیتوری جدید با نام rezaaa.github.io میسازم (نام کاربری خودتون رو جایگزین کنید) و با استفاده از دستور زیر آن را Clone میکنم:

git clone https://github.com/rezaaa/rezaaa.github.io

سپس با استفاده از دستورات زیر وارد فولدر rezaaa.github.io میشوم و یک فایل به اسم index.html که داخل آن متن Hello World نوشته شده میسازم.

cd username.github.io
echo "Hello World" > index.html

حالا با استفاده از دستورات رایج گیت (اگر بلد نیستید در موردش سرچ کنید) فایل را کامیت و پوش میکنم.

git add --all
git commit -m "Initial commit"
git push -u origin master

بعد از اتمام انتقال فایل با استفاده از آدرس http://username.github.io فایل ساخته شده را مشاهده کنید.

برای انتقال فایل‌های جکیل کافیست آنها را داخل فولدر ساخته شده انتقال دهید و کامیت و پوش کنید.

در صورتی که در روند نصب جکیل روی هر کدام از سیستم عامل‌ها به مشکل برخورد کردید از لینک Installation استفاده و یا از بخش نظرات در پایان همین پست سوالاتتان را مطرح کنید.