Package: nti.nikola-chameleon
nti.nikola_chameleonAn extremely flexible template system for theNikolastatic blog system usingChameleon,z3c.ptandz3c.macroA basic template using this system is available inbase-chameleon,
and an extension of that using bootstrap3 is available inbootstrap3-chameleon.Documentation is hosted athttps://ntinikola_chameleon.readthedocs.io/InstallationNikola uses acustom mechanismto find plugins instead of using the usualpkg_resourcessystem.
That makes itincrediblydifficult to install plugins; it’s not enough
just topip installa package from PyPI. Instead, you mustalsocopy a.pluginfile to a particular location on disk. This can be:~/.nikola/plugins/Thepluginsdirectory of your Nikola site.Beside that ‘.plugin’ file there must also be a ‘.py’ file of the same
name that the plugin lists as a module (yes, even though the plugin file
specifically requests a Python module, yapsy requires that it be a
file or directory beside the plugin file—so not really a module).It’s ridiculous to require everyone to copy plugins into their plugin
folder (they’re not even correctly onsys.path, meaning that
zope.configuration and many other tools won’t work) and we don’t plan
to let Nikola do that automatically (we’re not on the Nikola plugin
index and won’t be until they let us do standard installs), so the
best we can do is attempt to workaround yapsy’s limitations.Into your site’s plugin directory, place the following .py file:# nti_nikola_chameleon.py
from nti.nikola_chameleon import *Beside that, you’ll need anti.nikola_chameleon.pluginfile:# -*- mode: conf; -*-
[Core]
Name = nti.nikola_chameleon
Module = nti_nikola_chameleon

[Documentation]
Author = NextThought
Version = 1.0
Website = https://github.com/NextThought/nti.nikola_chameleon
Description = Support for Chameleon ZPT templates.

[Nikola]
PluginCategory = TemplateChanges1.0.0 (2018-05-26)Posts that have a true value forhas_mathwill now implement
theIMathJaxPostinterface when used as the context.Index pages that have any posts using MathJax will now have a
context object that implementsIMathJaxPostList.Add a view for getting CSS data. Currently it hascontext/@@post_css/pagekind_class.Update to Nikola 8; drop support for Python 2.7.Addinterfaces.IRootPagewhich is added to pages for which the
metadata fieldnti-extra-page-kindis set toroot.Make thefeaturedlist available to all pages, not just index
pages. Together with the IRootPage this can be used to promote blog
posts to the root index.html.Addembedded_contentto the@@post_textview.Initial support for template-based shortcodes. Seehttps://github.com/NextThought/nti.nikola_chameleon/issues/50.0.1a2 (2017-10-14)Map the Nikolamessagesfunction onto the nativei18nfunctionality of Chamleon. Attributes likei18n:translateare
now preferred to explicit calls tooptions/messageswhen
possible.Add support for viewlets. Several default viewlet managers are
supplied, and a ZCML directive<browser:newViewletManager>is
provided so themes can create new viewlet managers:<browser:newViewletManager id="ILeftColumn" />
<browser:viewletManager
    name="left_column"
    provides=".viewlets.ILeftColumn" />Add a path adapter to easily get formatted dates from a post, either
a static format (post/formatted_date:webiso) or dynamically from
a variable (post/formatted_date:?date_format).Add a view to get the text of a post, respecting teaser settings:post/@@post_text/content.Move feed support to a@@feedsview for headers, and a viewlet
for body:<browser:viewlet
   name="feed_content_header"
   manager=".interfaces.IHtmlBodyContentHeaderViewletManager"
   class=".feeds.HTMLFeedLinkViewlet"
   layer=".interfaces.IAuthorPageKind"
   permission="zope.Public"
   weight="1"
   classification_name="author"
   />Add a view interface (ICommentKind) for comment systems. Only Disqus is
currently supported. Note that this may move in the future to be a layer.0.0.1a1 (2017-10-09)Preliminary PyPI release. While this package is functional, it is
not yet documented sufficiently to be of general use. It is also not
expected to be fully stable.