You can specify the permalinks for your site in _config.yml
or in the front-matter for each post.
Variables
Besides the following variables, you can use any attributes in the permalink.
Variable | Description |
---|---|
:year |
Published year of posts (4-digit) |
:month |
Published month of posts (2-digit) |
:i_month |
Published month of posts (Without leading zeros) |
:day |
Published day of posts (2-digit) |
:i_day |
Published day of posts (Without leading zeros) |
:title |
Filename |
:post_title |
Post title |
:id |
Post ID |
:category |
Categories. If the post is uncategorized, it will use the default_category value. |
You can define the default value of each variable in the permalink through the permalink_defaults
setting:
permalink_defaults: |
Examples
Given a post named hello-world.md
in the source/_posts
folder with the following content.
title: Hello World |
Setting | Result |
---|---|
:year/:month/:day/:title/ |
2013/07/14/hello-world |
:year-:month-:day-:title.html |
2013-07-14-hello-world.html |
:category/:title |
foo/bar/hello-world |
Multi-language Support
To create a multi-language site, you can modify the new_post_name
and permalink
settings like this:
new_post_name: :lang/:title.md |
When you create a new post, the post will be saved to:
$ hexo new "Hello World" --lang tw |
and the URL will be:
http://localhost:4000/tw/hello-world/ |