summaryrefslogtreecommitdiffstats
path: root/docs/theming.txt
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@unit193.net>2021-02-03 19:17:00 -0500
committerLibravatarUnit 193 <unit193@unit193.net>2021-02-03 19:17:00 -0500
commit3a0d66f07b112b6d2bdc2b57bbf717a89a351ce6 (patch)
treea7cf56282e54f05785243bc1e903d6594f2c06ba /docs/theming.txt
parent787b97a4cb24330b36f11297c6d3a7a473a907d0 (diff)
New upstream version 8.1.2.upstream/8.1.2
Diffstat (limited to 'docs/theming.txt')
-rw-r--r--docs/theming.txt229
1 files changed, 0 insertions, 229 deletions
diff --git a/docs/theming.txt b/docs/theming.txt
deleted file mode 100644
index 4b6b4a7..0000000
--- a/docs/theming.txt
+++ /dev/null
@@ -1,229 +0,0 @@
-.. title: Theming Nikola
-.. slug: theming
-.. date: 2012-03-13 12:00:00 UTC-03:00
-.. tags:
-.. link:
-.. description:
-
-Theming Nikola
-==============
-
-:Version: 7.6.4
-:Author: Roberto Alsina <ralsina@netmanagers.com.ar>
-
-.. class:: alert alert-info pull-right
-
-.. contents::
-
-.. class:: lead
-
-This document is a reference about themes. If you want a tutorial, please read
-`Creating a Theme <creating-a-theme.html>`_
-
-The Structure
--------------
-
-Themes are located in the ``themes`` folder where Nikola is installed, and in the ``themes`` folder
-of your site, one folder per theme. The folder name is the theme name.
-
-A Nikola theme consists of the following folders (they are *all* optional):
-
-assets
- This is where you would put your CSS, Javascript and image files. It will be copied
- into ``output/assets`` when you build the site, and the templates will contain
- references to them.
-
- The included themes use `Bootstrap <http://twitter.github.com/bootstrap/>`_
- and `Colorbox <http://www.jacklmoore.com/colorbox>`_ so they are in assets,
- along with CSS files for syntax highligting and reStructuredText, and a
- minified copy of jQuery.
-
- If you want to base your theme on other frameworks (or on no framework at all)
- just remember to put there everything you need for deployment.
-
-templates
- This contains the templates used to generate the pages. While Nikola will use a
- certain set of template names by default, you can add others for specific parts
- of your site.
-
-messages
- Nikola tries to be multilingual. This is where you put the strings for your theme
- so that it can be translated into other languages.
-
-less
- Files to be compiled into CSS using `LESS <http://lesscss.org/>`__
-
-sass
- Files to be compiled into CSS using `Sass <http://sass-lang.com/>`__
-
-This mandatory file:
-
-parent
- A text file that, on its first line, contains the name of the **parent theme**.
- Any resources missing on this theme, will be looked up in the parent theme
- (and then in the grandparent, etc).
-
- The ``parent`` is so you don't have to create a full theme each time: just create an
- empty theme, set the parent, and add the bits you want modified.
-
- I recommend this:
-
- * If your theme uses Bootstrap 3, inherit the ``bootstrap3`` theme.
- * If your theme uses Jinja as a template engine, inherit ``base-jinja``
- or ``bootstrap3-jinja``
- * In any other case, inherit ``base``.
-
-And these optional files:
-
-engine
- A text file which, on the first line, contains the name of the template engine
- this theme needs. Currently supported values are "mako" and "jinja".
-
-bundles
- A text file containing a list of files to be turned into bundles using WebAssets.
- For example::
-
- assets/css/all.css=bootstrap.css,rst.css,code.css,colorbox.css,custom.css
-
- This creates a file called "assets/css/all.css" in your output that is the
- combination of all the other file paths, relative to the output file.
- This makes the page much more efficient because it avoids multiple connections to the server,
- at the cost of some extra difficult debugging.
-
- WebAssets supports bundling CSS and JS files.
-
- Templates should use either the bundle or the individual files based on the ``use_bundles``
- variable, which in turn is set by the ``USE_BUNDLES`` option.
-
-Templates
----------
-
-In templates there is a number of files whose name ends in ``.tmpl``. Those are the
-theme's page templates. They are done using the `Mako <http://makotemplates.org>`_
-or `Jinja2 <http://jinja.pocoo.org>`_ template languages. If you want to do a theme, you
-should learn one first. What engine is used by the theme is declared in the ``engine`` file.
-
-The rest of this document explains Mako templates, but Jinja2 is fairly similar.
-
-Mako has a nifty concept of template inheritance. That means that, a
-template can inherit from another and only change small bits of the output. For example,
-``base.tmpl`` defines the whole layout for a page but has only a placeholder for content
-so ``post.tmpl`` only define the content, and the layout is inherited from ``base.tmpl``.
-
-These are the templates that come with the included themes:
-
-``base.tmpl``
- This template defines the basic page layout for the site. It's mostly plain HTML
- but defines a few blocks that can be re-defined by inheriting templates.
-
- It has some separate pieces defined in ``base_helper.tmpl``,
- ``base_header.tmpl`` and ``base_footer.tmpl`` so they can be
- easily overriden.
-
-``index.tmpl``
- Template used to render the multipost indexes. The posts are in a ``posts`` variable.
- Some functionality is in the ``index_helper.tmpl`` helper template.
-
-``archiveindex.tmpl``
- Used to display archives, if ``ARCHIVES_ARE_INDEXES`` is True.
- By default, it just inherits ``index.tmpl``.
-
-``comments_helper.tmpl``
- This template handles comments. You should probably never touch it :-)
- It uses a bunch of helper templates, one for each supported comment system
- (all of which start with ``comments_helper``)
-
-``crumbs.tmpl``, ``slides.tmpl``
- These templates help render specific UI items, and can be tweaked as needed.
-
-``gallery.tmpl``
- Template used for image galleries. Interesting data includes:
-
- * ``post``: A post object, containing descriptive ``post.text()`` for the gallery.
- * ``crumbs``: A list of ``link, crumb`` to implement breadcrumbs.
- * ``folders``: A list of folders to implement hierarchical gallery navigation.
- * ``enable_comments``: To enable/disable comments in galleries.
- * ``thumbnail_size``: The ``THUMBNAIL_SIZE`` option.
- * ``photo_array``: a list of dictionaries, each containing:
-
- + ``url``: URL for the full-sized image.
- + ``url_thumb``: URL for the thumbnail.
- + ``title``: The title of the image.
- + ``size``: A dict containing ``w`` and ``h``, the real size of the thumbnail.
-
- * ``photo_array_json``: a JSON dump of photo_array, used in the bootstrap theme by flowr.js
-
-``list.tmpl``
- Template used to display generic lists of links, which it gets in ``items``,
- a list of (text, link) elements.
-
-``list_post.tmpl``
- Template used to display generic lists of posts, which it gets in ``posts``.
-
-``listing.tmpl``
- Used to display code listings.
-
-``post.tmpl``
- Template used by default for blog posts, gets the data in a ``post`` object
- which is an instance of the Post class. Some functionality is in the
- ``post_helper.tmpl`` and ``post_header.tmpl`` templates.
-
-``post_list_directive.tmpl``
- Template used by the ``post_list`` reStructuredText directive.
-
-``story.tmpl``
- Used for pages that are not part of a blog, usually a cleaner, less
- intrusive layout than ``post.tmpl``, but same parameters.
-
-``tag.tmpl``
- Used to show the contents of a single tag or category.
-
-``tagindex.tmpl``
- Used to show the contents of a single tag or category, if ``TAG_PAGES_ARE_INDEXES`` is True.
- By default, it just inherits ``index.tmpl``.
-
-``tags.tmpl``
- Used to display the list of tags and categories.
-
-You can add other templates for specific pages, which the user can then use in his ``POSTS``
-or ``PAGES`` option in ``conf.py``. Also, keep in mind that your theme is yours,
-there is no reason why you would need to maintain the inheritance as it is, or not
-require whatever data you want.
-
-Also, you can specify a custom template to be used by a post or page via the ``template`` metadata,
-and custom templates can be added in the ``templates/`` folder of your site.
-
-Messages and Translations
--------------------------
-
-The included themes are translated into a variety of languages. You can add your own translation
-at https://www.transifex.com/projects/p/nikola/
-
-If you want to create a theme that has new strings, and you want those strings to be translatable,
-then your theme will need a custom ``messages`` folder.
-
-`LESS <http://lesscss.org/>`__ and `Sass <http://sass-lang.com/>`__
--------------------------------------------------------------------
-
-.. note::
- The LESS and Sass compilers were moved to the Plugins Index in
- Nikola v7.0.0.
-
-If you want to use those CSS extensions, you can — just store your files
-in the ``less`` or ``sass`` directory of your theme.
-
-In order to have them work, you need to create a list of ``.less`` or
-``.scss/.sass`` files to compile — the list should be in a file named
-``targets`` in the respective directory (``less``/``sass``).
-
-The files listed in the ``targets`` file will be passed to the respective
-compiler, which you have to install manually (``lessc`` which comes from
-the Node.js package named ``less`` or ``sass`` from a Ruby package aptly
-named ``sass``). Whatever the compiler outputs will be saved as a CSS
-file in your rendered site, with the ``.css`` extension.
-
-.. note::
- Conflicts may occur if you have two files with the same base name
- but a different extension. Pay attention to how you name your files
- or your site won’t build! (Nikola will tell you what’s wrong when
- this happens)