跳转到主要内容

NTI Nikola Chameleon

项目描述

nti.nikola_chameleon

Latest release Supported Python versions https://travis-ci.org/NextThought/nti.nikola_chameleon.svg?branch=master https://coveralls.io/repos/github/NextThought/nti.nikola_chameleon/badge.svg?branch=master Documentation Status

这是一个极灵活的模板系统,用于Nikola静态博客系统,它使用Chameleonz3c.ptz3c.macro

使用此系统的一个基本模板可在base-chameleon中找到,而一个基于bootstrap3的扩展则可在bootstrap3-chameleon中找到。

文档托管在https://ntinikola_chameleon.readthedocs.io/

安装

Nikola 使用一种 自定义机制 来查找插件,而不是使用通常的 pkg_resources 系统。这使得安装插件变得非常困难;仅仅在 PyPI 上 pip install 一个包是不够的。相反,您还必须将一个 .plugin 文件复制到磁盘上的特定位置。这可以是

  • ~/.nikola/plugins/

  • 您的 Nikola 网站的插件目录。

除了那个 ‘.plugin’ 文件之外,还必须有一个同名的 ‘.py’ 文件,该插件将其列为一个模块(是的,即使插件文件明确请求一个 Python 模块,yapsy 也要求它位于插件文件旁边的一个文件或目录——所以实际上不是模块)。

要求每个人都将插件复制到他们的插件文件夹(它们甚至没有正确地位于 sys.path 中,这意味着 zope.configuration 和许多其他工具将无法工作),我们也不打算让 Nikola 自动执行此操作(我们不在 Nikola 插件索引中,并且直到他们允许我们进行标准安装之前都不会),所以我们能做到的最佳事情就是尝试绕过 yapsy 的限制。

将以下 .py 文件放置到您网站的插件目录中

# nti_nikola_chameleon.py
from nti.nikola_chameleon import *

除此之外,您还需要一个 nti.nikola_chameleon.plugin 文件

# -*- 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 = Template

更改

1.0.0 (2018-05-26)

  • has_math 具有真实值时,现在将实现 IMathJaxPost 接口。

  • 使用 MathJax 的任何帖子都将有一个实现 IMathJaxPostList 的上下文对象。

  • 添加获取 CSS 数据的视图。目前它具有 context/@@post_css/pagekind_class

  • 更新到 Nikola 8;停止支持 Python 2.7。

  • 添加 interfaces.IRootPage,并将其添加到 nti-extra-page-kind 元数据字段设置为 root 的页面。

  • 使 featured 列表对所有页面都可用,而不仅仅是索引页面。结合 IRootPage,这可以用来将博客帖子提升到根 index.html。

  • embedded_content 添加到 @@post_text 视图。

  • 对基于模板的短代码提供初始支持。请参阅 https://github.com/NextThought/nti.nikola_chameleon/issues/5

0.0.1a2 (2017-10-14)

  • 将 Nikola 的 messages 函数映射到 Chamleon 的本地 i18n 功能。尽可能使用像 i18n:translate 这样的属性,而不是显式调用 options/messages

  • 添加对视图小部件的支持。提供了几个默认视图小部件管理器,并提供了 ZCML 指令 <browser:newViewletManager>,以便主题可以创建新的视图小部件管理器

    <browser:newViewletManager id="ILeftColumn" />
    <browser:viewletManager
        name="left_column"
        provides=".viewlets.ILeftColumn" />
  • 添加路径适配器,可以轻松地从帖子中获取格式化的日期,无论是静态格式(post/formatted_date:webiso)还是从变量中动态获取(post/formatted_date:?date_format)。

  • 添加一个视图,以获取帖子的文本,同时尊重预告片设置:post/@@post_text/content

  • 将订阅支持移动到 @@feeds 视图以获取标题,并为正文提供视图小部件

    <browser:viewlet
       name="feed_content_header"
       manager=".interfaces.IHtmlBodyContentHeaderViewletManager"
       class=".feeds.HTMLFeedLinkViewlet"
       layer=".interfaces.IAuthorPageKind"
       permission="zope.Public"
       weight="1"
       classification_name="author"
       />
  • 为评论系统添加视图接口(ICommentKind)。目前仅支持 Disqus。请注意,这可能在将来移动到层。

0.0.1a1 (2017-10-09)

  • 初步 PyPI 发布。虽然此包是功能性的,但它尚未充分文档化,无法供普遍使用。它也不太可能完全稳定。

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码分布

nti.nikola_chameleon-1.0.0.tar.gz (685.6 kB 查看散列值)

上传时间 源代码

构建分布

nti.nikola_chameleon-1.0.0-py2.py3-none-any.whl (700.3 kB 查看散列值)

上传时间 Python 2 Python 3

支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页