jekyll-theme-dml¶ ↑
Welcome to jekyll-theme-dml!
jekyll-theme-dml is a simple dark theme based on minima with easy multilingual setup
Installation¶ ↑
Add this line to your Jekyll site's Gemfile
:
gem "jekyll-theme-dml"
And add this line to your Jekyll site's _config.yml
:
theme: jekyll-theme-dml
And then execute:
$ bundle
Or install it yourself as:
$ gem install jekyll-theme-dml
Usage¶ ↑
Layouts¶ ↑
Currently the following layouts are available: authors, blog, default, home, lang_blog, lang_chooser, page, post and projects:
-
authors
— automatically generates a list of site's authors using data from_data/authors.yml
-
default
— default layout used for every other layouts Use this if you want to create a new custom layout placing it inside_layouts
on your site's root directory -
lang_chooser
— generates a page with all languages available and a link for each one -
page
— the pages of your site -
post
— the posts of your site -
projects
— automatically generates a list of your projects using data from_data/projects.yml
The layouts blog, home and lang_blog are almost alike, with a few differences between them:
-
blog
: use this anywhere you want to place your post list. e.g:https://yourdomain/blog
-
home
: this layout is the same as blog. If you want to show your post list at home page you may want to use it -
lang_blog
: use this if you want to show only the posts on page language
Multilingual¶ ↑
jekyll-theme-dml was designed to be multi multilingual! You can specify a language on every page. All you have to do is include a lang
key on its front matter:
--- layout: post title: post_title lang: en ---
The best way to organize your multi multilingual site is setting subfolders for every language. And also inside _posts
. For example, a site with two languages: english and portuguese, should be as follows:
. ├── en ├── pt ├── _posts | └── en | └── pt
Where folders en
and pt
contains the pages in each language. Example:
. ├── en | └── about.md ├── pt | └── about.md
Here there is a page called about on each folder. Where https://example.com/en/about.html
will be the page in english, and https://example.com/pt/about.html
will be the page in portuguese. You can also choose a localized name to your pages by change its filename:
. ├── en | └── about.md ├── pt | └── sobre.md
Then address will be https://example.com/pt/sobre.html
Choosing Defaults¶ ↑
You can choose a default language (and everything else) for every path on your site. So you don't have to add lang
key to every page or post. It can be done by adding a defaults
key to your _config.yml
:
defaults: - scope: path: "en" value: lang: "en" - scope: path: "pt" value: lang: "pt" - scope: path: "_posts/en" value: lang: "en" - scope: path: "_posts/pt" value: lang: "pt"
For more info see Jekyll docs
Contributing¶ ↑
Bug reports and pull requests are welcome on GitHub at github.com/delsonlima/jekyll-theme-dml. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.
License¶ ↑
The theme is available as open source under the terms of the MIT License.