|
- =========
- Templates
- =========
-
- Creating Layouts
- ================
-
- Hyde is designed to support more than one template language for creating
- layouts, however, it currently only supports `Jinja2
- <http://jinja.pocoo.org>`_. This section of the documentation will focus on
- creating templates using Jinja2. If you are not familiar with Jinja2, it's a
- good idea to go through the `most excellent Jinja2 documentation
- <http://jinja.pocoo.org/docs/dev/templates/>`_.
-
-
- Site Structure
- ==============
-
- Hyde encourages separation of content from layout. The following shows a
- typical structure of a Hyde website::
-
- ├── content/
- │ ├── about.html
- │ ├── blog/
- │ ├── index.html
- │ ├── layout/
- │ │ ├── base.j2
- │ │ └── macros.j2
- │ ├── media/
- │ │ ├── css/
- │ │ ├── images/
- │ │ └── js/
- │ ├── portfolio/
- │ └── projects/
- └── site.yml
-
- good objective is to have all the files in content contain as little layout as
- possible and be written with a text oriented markup language like `markdown
- <https://daringfireball.net/projects/markdown/>`_. While its not always
- possible to achieve 100% separation, hyde provides several nice tools to get
- very close to that goal.
-
-
- Context Variables
- =================
-
- Hyde by default makes the following variables available for templates:
-
- - ``site``: Represents the container object of the entire site.
- - ``node``: The node (folder) where the current file resides.
- - ``resource``: The resource (file) that is currently being processed.
- - Context variables: all variables defined under the ``context`` section of the
- site configuration are available to the templates.
-
- Read more information about the ``site``, ``node``, and ``resource`` variables
- in the `site model documentation <#>`_.
-
- Read more information about context variables in the `configuration
- documentation <#config>`_.
|