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.
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"
And add this line to your Jekyll site's _config.yml
:
theme: jekyll-theme-mehdix-rtl
And then execute:
$ bundle
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.
This theme uses some jekyll plugins. Enable them by adding them to the plugins
section in the config file:
plugins:
- jekyll-jalali
- jekyll-sitemap
- jekyll-paginate
- jekyll-hinduarabic
- jekyll-seo-tag
You can create a _sass
folder and put a file named custom.scss
in it. This theme will load it by default.
The following layouts are available for your homepage:
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: [email protected]
url: https://johndoe.com
text: >
نوکرتم دادا!
کوجایی تو؟
- date: 20171221
name: تقی ۲
email: [email protected]
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.
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
If any of the following ids is present in the config a corresponding item will be added to the footer:
In order to send pageviews to Google Analytics set your ID in the _config.yml
: google_analytics_id: YOUR_ID
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.
در هنگام گزارش مشکلات یا شرح تغییرات، فارسی نوشتن خیلی هم خوب است. فقط یک شرط دارد! متن را درون تگ راست به چپ شده بنویسید که درست نمایش داده بشود. اگر هم دوست دارید انگلیسی بنویسید هیچ اشکالی ندارد.
<div dir="rtl" lang="fa">مطلب مورد نظر</div>