پلاگین تاریخ جلالی برای جکیل
همونطور که قبلا نوشته بودم بهترین روش مشارکت در عالم متنباز رو در نوشتن برنامههایی دیدم که شخصا بهشون نیاز پیدا کردیم. من هم در راه اندازی این وبلاگ به زبان فارسی مشکلاتی با جکیل داشتم. یکی از این موارد پشتیبانی از تاریخ هجری شمسی بود.
جکیل به صورت پیشفرض امکانی برای اینکار نداره اما نوشتن پلاگین براش کار سادهایه. پلاگینهای جکیل به زبان روبی نوشته میشن و در فولدر _plugins
ذخیره میشن. ابتدا جستجویی انجام دادم که در عالم روبی چه کتابخانههایی برای پشتیبانی از تقویم جلالی نوشته شده، خوشبختانه قبلا اینکار انجام شده بود.کتابخانه ظاهرا جامعی بنام jalalidate روی گیتهاب پیدا کردم. از این کتابخانه در پروژه سایت nerdnews.ir هم استفاده شده بود. بنابراین کار من ساده شد. یک فیلتر کوچک بنام Jekyll-jalali برای جکیل نوشتم و با اضافه کردنش به جکیل روی ماشین خودم تاریخهای سایتم رو شمسی کردم. برای اینکار بجای date
از فیلتر jdate
که نوشته بودم استفاده کردم.
الانه که بپرسید پس کو این تقویم شمسی؟ این پست که تاریخش هنوز میلادیه؟ خب، پلاگین بدون مشکل روی دستگاه من کارش رو انجام میده اما مساله اینجاست که وقتی از گیتهاب برای تولید خروجی جکیل استفاده میکنیم در استفاده از پلاگینها محدودیت داریم و فقط امکان استفاده از تعداد محدودی از اونها وجود داره. بنابراین فعلا نتونستم از تقویم شمسی در وبلاگم استفاده کنم.
نکته دیگر اینکه من بعد از نوشتن پلاگینم اون رو به فهرست پلاگینهای جکیل اضافه کردم و برای پلاگین هم یک مخزن روی گیتهاب درست کردم و مجوز استفاده و حداقل مستندات لازم رو اونجا نوشتم. اینکار حتی برای پروژههای کوچک هم مفیده و اگر کسی قصد استفاده یا توسعه داشته باشه حتما بهش کمک میکنه.
خلاصه همین!
خیلی ممنونم. خیلی وقته که به شروع یه وبلاگ فارسی با جکیل فکر می کنم. این پلاگ-این حتماً به دردم خواهد خورد.
الان برای درست کردن وبلاگ استاتیک چندین مولد دیگه هم نوشته شده، میتونی اونها رو هم ببینی. اما جکیل روی هم رفته ساده است.
ممنونم. از جکیل به خاطر یکپارچگی اش با گیت-هاب-پیجز خوشم میاد. ولی از مولدهای دیگه تا حالا استفاده نکردم. اگه پستی در موردشون داشته باشی خیلی خوشحال میشم که بخونم. تازه با بلاگ شما آشنا شدم و اضافه اش کردم به فیدهام.
درود . راستش من نگاه که به کد های سایت شما میکنم دقیقا مثل خودم هستش منتهی شما تایم مشکلی نداره و به خوبی نشون داده میشه . میشه بگید چجور ؟ تو قسمت –site هم به خوبی ساخته میشن
فایل کانفیگ سایتها را با هم مقایسه کن و تنظیمات روبی رو ببین. در مقاله wercker توضیح دادم چطور بلید میکنم.
با ورکر ست کردم . ولی بازم تاریخ رو میلادی نشون میده . صفحه gh-page تولید شده تو فایل html هم تاریخ صحیح . حتی وقتی با جکیل هم بیلد میکردم درست بود فایل سایت رو هم حذف کردم ولی درست نشد
با ورکر یا بدون اون مهم نیست. باید روی کامپیوتر خودت بیلد کنی (اگر اونجا مشکل داری بحثش جداست) و بعد محتوای دایرکتوری _site رو کلا بریزی روی برنچ gh_pages ریپوزیتوری گیتهابت. در ضمن پلاگینها باید در دایرکتوری پلاگینها موجود باشند. بازم اگر نشد بیا رو irc یا جای مشابه بهت بگم.
علت رو برات در گیتر نوشتم. باید اسم ریپوزیتوریت رو عوض کنی.
سلام آقا من موقع بیلد کردن به مشکل میخورم.این اررور رو بهم میده. 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/!
به نظر میرسه روبیجم jalalidate رو نداری. اگر از باندل استفاده میکنی دستور زیر رو وارد کن: bundle install اگر تک تک جمها رو نصب میکنی دستور زیر رو وارد کن: gem install jalalidate البته در اینصورت باید برای تک تک جمهای داخل Gemfile اینکار رو تکرار کنی. اطلاعات بیشتر در مورد باندل: http://bundler.io/bundle_in…
نه مشکل از اینا نبود ظاهرا روبی پیشفرضی که روی مک هست مشکل داشت.rvm نصب کردم و اخرین ورژن روبی رو گرفتم مشکلم حل شد. ممنون
الان خاطرم آمد که من هم اواخر همین مشکل روی یک ماشین داشتم که با بازی با rvm حل شد.
سلام می توانم سوال الان تاریخ جلالی چه طوری روی سایت شما فعال است ؟
سایت من روی یک ریپوزیتوری قرار داره که اسمش با یوزر گیتهابم فرق داره. یک پلاگین هم داخل فولدر پلاگینهاست. یک بیلدر ورکر هم سایت رو بیلد میکنه و پوش میکنه روی گیتهاب. همه اینها رو در چند مقاله نوشتم. اطلاعات دقیق بدی بهتر میتونم راهنمایی کنم.
ممنون از پاسختون ، بنده ابتدا jalalidate را روی سیستمم نصب کردم و بعد هم پلاگین که شما برای تاریخ شمسی ایجاد کرده بودید را داخل پلاگین ها قرار دادم الان روی سیستم خودم همه چیز اوکی است و تاریخ شمسی می گیرم اما روی گیت هاب این طوری نیست، برای همین هم توی wercker یک اکانت ایجاد کردم و از فایل کانفیگ wercker شما استفاده کردم اما موقع بیلدچنین خطایی می گیریم Could not locate Gemfile or .bundle/ directory
من مشکل باندل و عدم بیلدش در wercker را هم حل کردم اما کماکان تاریخ جلالی نمایش داده نمی شود روی گیت هاب اما روی سیستم خودم درست است، اگر فرصت داشتید به نگاهی بهش بندارید http://safeith.github.io
لینک بیلد رو برام بفرست تا نگاه کنم. در ضمن مطمئن شو که پلاگین و همه فایلها که روی کامپیوتر خودت وجود دارند درون ریپازیتری گیتهابت هم وجود داشته باشند.
سلام مجدد من مشکل باندل ها را هم حل کردم و الان روی سیستم شخصی همه چی اوکی است و wecker هم بیلد می شود اما تاریخ روی گیت هاب جلالی نمی شه http://safeith.github.io https://raw.githubuserconte…
تست
جالبه فیلتر نیست دیسکاس شما!
jsj
نه تنها با استفاده از مستندات این پلاگین نتونستم روی بلاگ خودم پیادش کنم ، بلکه سورس بلاگ شمام کاملا گشتم ولی مثل اینکه اینهارو توی تم اختصاصی بلاگتون قرار دادید و نتونستم اون بخشی که لازم دارم رو پیدا کنم. اگر ممکنه توضیحات بیشتری ارایه کنید. سپاسگزارم
درسته، من این چیزها رو به تم منتقل کردم. ولی تم وبلاگ اختصاصی نیست، خودش یک وبسایت جکیله. ریپازیتوری زیر رو ببین:
https://github.com/mehdisadeghi/jekyll-theme-mehdix-rtl
عالی بود :) بنده هم برای وبلاگم از Hugo استفاده می کنم و کاملا راضی هستم.
ممنونم https://www.zmim.ir/simorq