A right-to-left theme for Jekyll with Jalali support and some other goodies.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
_data/comments Add reply-to sub comments. Jan 21, 2018
_includes Remove honey filed since it overrides the captcha. Apr 25, 2018
_layouts Noindex for tagpages. Apr 23, 2018
_locales First draft commit. Aug 28, 2017
_posts Update Blog “2018-01-03-dummy” Jan 7, 2018
_sass Change post img size+cap. v2.1.0 Feb 22, 2018
_templates Adopt FontAwesome. Make assets local. Jan 3, 2018
admin Add admin panel. Feb 8, 2018
assets Fix header color. Use color vars. Jan 20, 2018
scripts First draft commit. Aug 28, 2017
.gitignore Add basic reply-to Jan 21, 2018
.ruby-version Add Netlify config. Jan 6, 2018
404.md Add a placeholder for custom styles. Dec 18, 2017
CONTRIBUTING.md Add contrib guide. Dec 18, 2017
Gemfile Build faster. v2.0.0 Feb 5, 2018
Gemfile.lock Build faster. v2.0.0 Feb 5, 2018
_config.yml Fix site url generation. Feb 5, 2018
about.md First draft commit. Aug 28, 2017
feed.xml Add feed. Jan 6, 2018
index.html Remove unnecessary dep and configs. Aug 31, 2017
jekyll-theme-mehdix-rtl.gemspec Bump 2.2.0 Apr 23, 2018
jekyll-theme-mehdix-rtl.sublime-project Complete theme rework. v1.0.0 Jan 5, 2018
netlify.toml Add Netlify config. Jan 6, 2018
page.md Add dummy index and page Aug 31, 2017
screenshot.png Update the screenshot. Jan 18, 2018
travis.yml First draft commit. Aug 28, 2017
wercker.yml First draft commit. Aug 28, 2017


jekyll-theme-mehdix-rtl Gem Version

Deploy to Netlify

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.

Enable the Plugins

This theme uses some jekyll plugins. Enable them by adding them to the plugins section in the config file:

  - jekyll-jalali
  - jekyll-sitemap
  - jekyll-paginate
  - jekyll-hinduarabic
  - jekyll-seo-tag

Further customization


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:

  • home: post titles along with an excerpt and pagination
  • minimal: only post titles


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


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
  • email


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>