پلاگین تاریخ جلالی برای جکیل

سه‌شنبه ۱۸ آذر ۱۳۹۳
۲ دقیقه مطالعه

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

جکیل به صورت پیش‌فرض امکانی برای اینکار نداره اما نوشتن پلاگین براش کار ساده‌ایه. پلاگین‌های جکیل به زبان روبی نوشته می‌شن و در فولدر _plugins ذخیره می‌شن. ابتدا جستجویی انجام دادم که در عالم روبی چه کتابخانه‌هایی برای پشتیبانی از تقویم جلالی نوشته شده، خوشبختانه قبلا اینکار انجام شده بود.کتابخانه ظاهرا جامعی بنام jalalidate روی گیت‌هاب پیدا کردم. از این کتابخانه در پروژه سایت nerdnews.ir هم استفاده شده بود. بنابراین کار من ساده شد. یک فیلتر کوچک بنام Jekyll-jalali برای جکیل نوشتم و با اضافه کردنش به جکیل روی ماشین خودم تاریخ‌های سایتم رو شمسی کردم. برای اینکار بجای date از فیلتر jdate که نوشته بودم استفاده کردم.

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

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

خلاصه همین!

سورس

دیدگاه‌ها

MajiD   ۲۳ اردیبهشت ۱۳۹۴   پاسخ 2023205682

خیلی ممنونم. خیلی وقته که به شروع یه وبلاگ فارسی با جکیل فکر می کنم. این پلاگ-این حتماً به دردم خواهد خورد.

Mehdi Sadeghi   ۲۴ اردیبهشت ۱۳۹۴   پاسخ 2023940836

الان برای درست کردن وبلاگ استاتیک چندین مولد دیگه هم نوشته شده، می‌تونی اونها رو هم ببینی. اما جکیل روی هم رفته ساده است.

MajiD   ۲۴ اردیبهشت ۱۳۹۴   پاسخ 2024497573

ممنونم. از جکیل به خاطر یکپارچگی اش با گیت-هاب-پیجز خوشم میاد. ولی از مولدهای دیگه تا حالا استفاده نکردم. اگه پستی در موردشون داشته باشی خیلی خوشحال میشم که بخونم. تازه با بلاگ شما آشنا شدم و اضافه اش کردم به فیدهام.

behroozam   ۰۴ شهریور ۱۳۹۴   پاسخ 2219731929

درود . راستش من نگاه که به کد های سایت شما میکنم دقیقا مثل خودم هستش منتهی شما تایم مشکلی نداره و به خوبی نشون داده میشه . میشه بگید چجور ؟ تو قسمت –site هم به خوبی ساخته میشن

Mehdi Sadeghi   ۰۷ شهریور ۱۳۹۴   پاسخ 2224646168

فایل کانفیگ سایتها را با هم مقایسه کن و تنظیمات روبی رو ببین. در مقاله wercker توضیح دادم چطور بلید میکنم.

behroozam   ۰۸ شهریور ۱۳۹۴   پاسخ 2226461766

با ورکر ست کردم . ولی بازم تاریخ رو میلادی نشون میده . صفحه gh-page تولید شده تو فایل html هم تاریخ صحیح . حتی وقتی با جکیل هم بیلد میکردم درست بود فایل سایت رو هم حذف کردم ولی درست نشد

Mehdi Sadeghi   ۰۸ شهریور ۱۳۹۴   پاسخ 2226483681

با ورکر یا بدون اون مهم نیست. باید روی کامپیوتر خودت بیلد کنی (اگر اونجا مشکل داری بحثش جداست) و بعد محتوای دایرکتوری _site رو کلا بریزی روی برنچ gh_pages ریپوزیتوری گیت‌هابت. در ضمن پلاگین‌ها باید در دایرکتوری پلاگین‌ها موجود باشند. بازم اگر نشد بیا رو irc یا جای مشابه بهت بگم.

Ali Haddad   ۱۰ فروردین ۱۳۹۵   پاسخ 2594437717

سلام آقا من موقع بیلد کردن به مشکل میخورم.این اررور رو بهم میده. Dependency Error: Yikes! It looks like you don’t have /Users/ali/Documents/Project/My Project/personal website/blog/_plugins/jdate.rb or one of its dependencies installed. In order to use Jekyll as currently configured, you’ll need to install this gem. The full error message from Ruby is: ‘cannot load such file – jalalidate’ If you run into trouble, you can find helpful resources at http://jekyllrb.com/help/!

Mehdi Sadeghi   ۱۰ فروردین ۱۳۹۵   پاسخ 2594617800

به نظر می‌رسه روبی‌جم jalalidate رو نداری. اگر از باندل استفاده می‌کنی دستور زیر رو وارد کن: bundle install اگر تک تک جم‌ها رو نصب می‌کنی دستور زیر رو وارد کن: gem install jalalidate البته در اینصورت باید برای تک تک جم‌های داخل Gemfile اینکار رو تکرار کنی. اطلاعات بیشتر در مورد باندل: http://bundler.io/bundle_in…

Ali Haddad   ۱۰ فروردین ۱۳۹۵   پاسخ 2595173008

نه مشکل از اینا نبود ظاهرا روبی پیشفرضی که روی مک هست مشکل داشت.rvm نصب کردم و اخرین ورژن روبی رو گرفتم مشکلم حل شد. ممنون

Mehdi Sadeghi   ۱۴ خرداد ۱۳۹۵   پاسخ 2709842507

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

safeith   ۱۴ خرداد ۱۳۹۵   پاسخ 2710431732

ممنون از پاسختون ، بنده ابتدا jalalidate را روی سیستمم نصب کردم و بعد هم پلاگین که شما برای تاریخ شمسی ایجاد کرده بودید را داخل پلاگین ها قرار دادم الان روی سیستم خودم همه چیز اوکی است و تاریخ شمسی می گیرم اما روی گیت هاب این طوری نیست، برای همین هم توی wercker یک اکانت ایجاد کردم و از فایل کانفیگ wercker شما استفاده کردم اما موقع بیلدچنین خطایی می گیریم Could not locate Gemfile or .bundle/ directory

safeith   ۱۵ خرداد ۱۳۹۵   پاسخ 2711483805

من مشکل باندل و عدم بیلدش در wercker را هم حل کردم اما کماکان تاریخ جلالی نمایش داده نمی شود روی گیت هاب اما روی سیستم خودم درست است، اگر فرصت داشتید به نگاهی بهش بندارید http://safeith.github.io

Mehdi Sadeghi   ۱۵ خرداد ۱۳۹۵   پاسخ 2711677332

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

safeith   ۱۵ خرداد ۱۳۹۵   پاسخ 2712155479

سلام مجدد من مشکل باندل ها را هم حل کردم و الان روی سیستم شخصی همه چی اوکی است و wecker هم بیلد می شود اما تاریخ روی گیت هاب جلالی نمی شه http://safeith.github.io https://raw.githubuserconte…

فرهاد   ۲۶ دی ۱۳۹۶   پاسخ 5a5e7a3bf5a58066cfaf8a53

نه تنها با استفاده از مستندات این پلاگین نتونستم روی بلاگ خودم پیادش کنم ، بلکه سورس بلاگ شمام کاملا گشتم ولی مثل اینکه اینهارو توی تم اختصاصی بلاگتون قرار دادید و نتونستم اون بخشی که لازم دارم رو پیدا کنم. اگر ممکنه توضیحات بیشتری ارایه کنید. سپاسگزارم

وبلاگ‌صاحاب   ۲۶ دی ۱۳۹۶   پاسخ 5a5e8773a8498f278d922d98

مثل اینکه اینهارو توی تم اختصاصی بلاگتون قرار دادید

درسته، من این چیزها رو به تم منتقل کردم. ولی تم وبلاگ اختصاصی نیست، خودش یک وبسایت جکیله. ریپازیتوری زیر رو ببین:

https://github.com/mehdisadeghi/jekyll-theme-mehdix-rtl

وبلاگ‌صاحاب   ۱۷ بهمن ۱۳۹۶   پاسخ 5a790400ea27131ee2458f0b

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