# Variables provided by Jekyll core
#
# name: : name of the variable
# description: : content returned by the variable
global:
- name: site
description: >-
Site wide information + configuration settings from _config.yml
.
See below for details.
- name: page
description: >-
Page specific information + the front matter.
Custom variables set via the front matter will be available here. See below for details.
- name: layout
description: >-
Layout specific information + the front matter.
Custom variables set via front matter in layouts will be available here.
- name: jekyll
description: >-
Jekyll-centric information will be available here. See below for details.
- name: theme
description: >-
Theme-gem specific information as defined in the theme's gemspec. Useful for rendering
information in the theme demo's "About" page, for example. See below for details.
- name: content
description: >-
In layout files, the rendered content of the Post or Page being wrapped.
Not defined in Post or Page files.
- name: paginator
description: >-
When the paginate
configuration option is set, this variable becomes available
for use. See Pagination for details.
site:
- name: site.time
description: >-
The current time (when you run the jekyll
command).
- name: site.pages
description: >-
A list of all Pages.
- name: site.posts
description: >-
A reverse chronological list of all Posts.
- name: site.related_posts
description: >-
If the page being processed is a Post, this contains a list of up to ten related Posts.
By default, these are the ten most recent posts. For high quality but slow to compute
results, run the jekyll
command with the --lsi
(latent semantic indexing)
option. Also note GitHub Pages does not support the
lsi
option when generating sites.
- name: site.static_files
description: >-
A list of all static files (i.e.
files not processed by Jekyll's converters or the Liquid renderer).
Each file has five properties: path
, modified_time
,
name
, basename
and extname
.
- name: site.html_pages
description: >-
A subset of site.pages
listing those which end in .html
.
- name: site.html_files
description: >-
A subset of site.static_files
listing those which end in .html
.
- name: site.collections
description: >-
A list of all the collections (including posts).
- name: site.data
description: >-
A list containing the data loaded from the YAML files located in the _data
directory.
- name: site.documents
description: >-
A list of all the documents in every collection.
- name: site.categories.CATEGORY
description: >-
The list of all Posts in category CATEGORY
.
- name: site.tags.TAG
description: >-
The list of all Posts with tag TAG
.
- name: site.url
description: >-
Contains the url of your site as it is configured in the _config.yml
.
For example, if you have url: http://mysite.com
in your configuration file,
then it will be accessible in Liquid as site.url
. For the development
environment there is an
exception, if you are running jekyll serve
in a development environment
site.url
will be set to the value of host
, port
,
and SSL-related options. This defaults to url: http://localhost:4000
.
- name: "site.[CONFIGURATION_DATA]"
description: >-
All the variables set via the command line and your _config.yml
are available
through the site
variable. For example, if you have foo: bar
in
your configuration file, then it will be accessible in Liquid as site.foo
.
Jekyll does not parse changes to _config.yml
in
watch
mode, you must restart Jekyll to see changes to variables.
page:
- name: page.content
description: >-
The content of the Page, rendered or un-rendered depending upon what Liquid is being processed
and what page
is.
- name: page.title
description: >-
The title of the Page or Document resource.
- name: page.excerpt
description: >-
The un-rendered excerpt of a Page or Document. Can be overridden in the
front matter and disabled atoomically by setting an empty
as excerpt_separator
key either in the front matter of desired resource or
disable site-wide by setting the same as a top-level key in the config file.
- name: page.url
description: >-
The URL of the Post without the domain, but with a leading slash, e.g.
/2008/12/14/my-post.html
- name: page.date
description: >-
The Date assigned to the Post. This can be overridden in a Post's front matter by specifying
a new date/time in the format YYYY-MM-DD HH:MM:SS
(assuming UTC), or
YYYY-MM-DD HH:MM:SS +/-TTTT
(to specify a time zone using an offset from UTC.
e.g. 2008-12-14 10:30:00 +0900
). Not applicable to Pages.
- name: page.id
description: >-
An identifier unique to a document in a Collection or a Post (useful in RSS feeds). e.g.
/2008/12/14/my-post
/my-collection/my-document
. Not applicable to
Pages.
- name: page.categories
description: >-
The list of categories to which this post belongs. Categories are derived from the directory
structure above the _posts
directory. For example, a post at
/work/code/_posts/2008-12-24-closures.md
would have this field set to
['work', 'code']
. These can also be specified in the
front matter. Note: Path-based categories may not work for
documents in user-defined collections.
- name: page.collection
description: >-
The label of the collection to which a Document belongs. e.g. posts
for a post, or
puppies
for a document at path _puppies/rover.md
. If not part of a
collection, an empty string is returned.
- name: page.tags
description: >-
The list of tags to which this post belongs. These can be specified in the
front matter.
- name: page.dir
description: >-
The path between the source directory and the file of a page, e.g. /pages/
when the page
is at path pages/about.md
relative to the source directory. This is derived from the
url
attribute of the page and can therefore be overridden via the permalink
key in the front matter. NOTE: This variable is not applicable to
posts and documents in user-defined collections. Use the categories
variable to get similar
info for posts.
- name: page.name
description: >-
The filename of the post or page, e.g. about.md
- name: page.path
description: >-
The path to the raw post or page, relative to the source directory. Example usage: Using a combination
of the repository's blob URL and this page variable to get the full URL to the file in the repository.
This can be overridden in the front matter.
- name: page.slug
description: >-
The filename of a Document resource without its extension (or date prefixes for a post). For example,
slug for a post at URL /2017/02/22/my-new-post.html
, would be my-new-post
.
Can be overridden in the front matter.
- name: page.ext
description: >-
The file extension of a Document resource. For example, .html
. Can be overridden in the
front matter.
- name: page.next
description: >-
The next post relative to the position of the current post in site.posts
.
Returns nil
for the last entry.
- name: page.previous
description: >-
The previous post relative to the position of the current post in site.posts
.
Returns nil
for the first entry.
jekyll:
- name: jekyll.version
description: Version of Jekyll used to build the site.
- name: jekyll.environment
description: Value assigned to environment variable JEKYLL_ENV
during a build.
theme:
- name: theme.root
description: Absolute path to the theme-gem.
- name: theme.authors
description: Comma separated string composed of the authors of the theme-gem.
- name: theme.description
description: Description or summary of the theme-gem as specified in the theme gemspec.
- name: theme.version
description: The version string of current theme.
- name: theme.dependencies
description: List of runtime dependencies of the theme.
- name: theme.metadata
description: A mapping of key-value pairs as defined in the theme gemspec.
paginator:
- name: paginator.page
description: The number of the current page
- name: paginator.per_page
description: Number of posts per page
- name: paginator.posts
description: Posts available for the current page
- name: paginator.total_posts
description: Total number of posts
- name: paginator.total_pages
description: Total number of pages
- name: paginator.previous_page
description: >-
The number of the previous page, or nil
if no previous page exists
- name: paginator.previous_page_path
description: >-
The path to the previous page, or nil
if no previous page exists
- name: paginator.next_page
description: >-
The number of the next page, or nil
if no subsequent page exists
- name: paginator.next_page_path
description: >-
The path to the next page, or nil
if no subsequent page exists