See English version below.
نحوه استفاده
این ریپازیتوری را به دو طریق میتوانید استفاده کنید. روش اول اینست که مستقیما این ریپازیتوری را فورک کنید. روش دوم استفاده از جم روبی این قالب است. هر دو را شرح میدهم.
استفاده به روش فورک
فورک کنید و بعد کلون کنید و اسم و رسم سایت و محتوا را تغییر بدهید و به عنوان یک سایت جدید استفاده کنید. در این روش باید بعد از فورک در ریپازیتوری جدید داخل اکانت خودتان GitHub Pages را فعال کنید و برنج gp-pages را بعنوان برنچ حاوی سایت استاتیک انتخاب کنید (جایی که خروجی بیلد جکیل قرار دارد).
بدون هیچ تغییر دیگری همینکه تغییرات خودتان را پوش کنید سایت بیلد میشود. توجه داشته باشید که اگر از دامنه شخصی بجای دامنهی گیتهاب استفاده میکنید بخش Patch Jekyll config را از فایل گیتهاب اکشنز حذف کنید.
حسن این روش اینست که ساده و سرراست است. لازم نیست با پیچیدگیهای جکیل و تنظیمات قالب را بدانید. عیبش هم اینست که تغییرات جدید در تم را دریافت نمیکند که به نظرم اهمیت چندانی ندارد.
استفاده از طریق روبی جم
ساختار جکیل بکار رفته در این ریپازیتوری به صورت یک جم روبی در دسترسی است. در اینصورت باید یک وبسایت جکیل ساخت و در فایل _config.yml
قالب را تغییر داد. این کاری است که در ریپازیتوری وبسایت خودم انجام دادهام. این روش را در شرح انگلیسی نوشتهام.
حسن این روش اینست که میتوان نسخههای جدیدتر تم را به صورت نصب نسخههای جدیتر جم روبی دریافت کرد. عیبش آنست که قالب جکیل به صورت تم محدود است. مثلا جکیل صفحه ۴۰۴ را از داخل جم قالب نمیخواند، همینطور برخی فایلها مانند فایلهای تولید فید را. در ضمن باید تمام تنظیمات بیلد سایت را هم جداگانه انجام داد.
برخی سوالات رایج
- تقویم شمسی روی گیتهاب کار نمیکنه. پلاگینها کار نمیکنند!
بیلدر پیشفرض گیتهاب نمیتواند این سایت را بیلد کند چون پلاگینها را ندارد. از تنظیمات بیلد همین وبسایت استفاده کنید که بالاتر شرح دادم.
- وبسایت اصلا روی گیتهاب کار نمیکند! گیتهاب برنج gh-pages را اصلا برای وبسایت بکار نمیبرد!
اگر اسم ریپازیتوری همان یوزرنیم شما باشد گیتهاب سایت را از برنج مستر خواهد ساخت. گیتهاب به این سایتها User page میگوید و در غیر اینصورت Project page. روشهایی که برای بیلد توضیح دادم فقط برای Project page کار میکند. یعنی یوزرنیم و نام ریپازیتوری سایت نباید یکسان باشد. برای یوزرپیج احتمالا باید سورس را در یک برنج غیر از مستر ذخیره کنید و خروجی بیلد وبسایت را پوش کنید در برنج مستر. امتحان نکردهام.
- کامنتهای استاتیک کار نمیکند!
روی گیتهاب اصلا نمیشود. من روی نتلیفای این کار را انجام دادهام و در مقالهای روش کار را شرح دادهام.
- چگونه شکل و شمایل صورتی سایت را عوض کنم؟
متغیرهای CSS داخل فایل main.scss
را عوض کن.
English Guide
This is the jekyll theme used for my personal Persian website. Persian aka Farsi is written right-to-left, however some people use Roman script to write Persian language in messaging applications and social networks.
During the last few years people have reached out to me asking how to setup a persian Jekyll website with Jalali calendar support. Since Jekyll now supports themes, I created this theme based on my website to help others to bootstrap their own websites.
This repository can be of use to anybody willing to build a new right to left website. I gradually fix issues which I came across while writing new posts in my website. This website is produced using Jekyll static site generator.
Installation
Take the following steps to make your own website based on this theme. First of all, create your website if you have not already:
$ jekyll create mywebsite
Then add this line to your Jekyll site's Gemfile:
gem "jekyll-theme-mehdix-rtl", "~> 3.0"
And add this line to your Jekyll site's _config.yml
:
theme: jekyll-theme-mehdix-rtl
And then execute:
$ bundle install
Or install it yourself as:
$ gem install jekyll-theme-mehdix-rtl
You can override theme style by creating matching files with the same structure inside your Jekyll source tree. See Jekyll Themes docs for more information on that.
Further customization
Styles
You can create a _sass
folder and put a file named custom.scss
in it. This theme will load it by default.
Layouts
The following layouts are available for your homepage:
- home: post titles along with an excerpt and pagination
- minimal: only post titles
Comments
This theme supports three comment systems. First one is disqus.
In order to enalbe disqus comments add comment_system:disqus
and disqus_shortname:DISQUS_USERNAME
to your _config.yml
file.
The second approach is static comments. In order to enable static comments add comment_system:static
to the config
file. This will load commends from _data/comments
folder. There should be one YAML file per post. Name of the file
should be the uuid
of the post (each post must have a uuid
in its front matter). The following sample defines two
comments for post with uuid
0b64d07f-6c08-475b-a509-463df5458039:
- date: 20171220
name: تقی
email: john@doe.com
url: https://johndoe.com
text: >
نوکرتم دادا!
کوجایی تو؟
- date: 20171221
name: تقی ۲
email: john@doe.com
url: https://johndoe.com
text: >
[۲] دادا خبری نیت ازت
For the time being I am using Netlify to handle custom comment forms on each post page and add them to the
comments using the netlify_comments.py
script.
Forcing RTL code blocks
If you put code blocks and they appear incorrectly, you can use Markright gem. First add it to your Gemfile:
gem "jekyll-markright"
And change your config.yml respectively:
markdown: Markright
Footer
If any of the following ids is present in the config a corresponding item will be added to the footer:
- github_username
- twitter_username
- feedburner_id
Analytics
In order to send pageviews to Google Analytics set your ID in the _config.yml
: google_analytics_id: YOUR_ID
SEO
Make sure to fill entries in the config file correctly to get a better search engine experience.
Specially fill the SEO section with your Github and Twitter usernames. Don't forget to add lang
and logo
entries. See jekyll-seo-tag
for further
information.
License
در مورد فارسینویسی
در هنگام گزارش مشکلات یا شرح تغییرات، فارسی نوشتن خیلی هم خوب است. فقط یک شرط دارد! متن را درون تگ راست به چپ شده بنویسید که درست نمایش داده بشود. اگر هم دوست دارید انگلیسی بنویسید هیچ اشکالی ندارد.
<div dir="rtl" lang="fa">مطلب مورد نظر</div>