Pelican - 并非所有参数都在字符串格式化期间转换

Pelican - not all arguments converted during string formatting

首先用 pelican 创建一个简单的静态页面。一切正常,直到我将主题更改为 basic theme。在本地 运行 没问题,但我尝试执行 make githubmake publish 我收到此错误:

CRITICAL: TypeError: not all arguments converted during string formatting Makefile:75: recipe for target 'publish' failed make: *** [publish] Error 1

我按照文档中的说明安装了主题,但它不起作用。 下面是我的 pelicanconf.py

 #!/usr/bin/env python
# -*- coding: utf-8 -*- #
from __future__ import unicode_literals

AUTHOR = 'Isaac'
SITENAME = 'Isaac's blog'
SITEURL = ''

PATH = 'content'

TIMEZONE = 'America/Los_Angeles'

DEFAULT_LANG = 'en'

# Feed generation is usually not desired when developing
FEED_ALL_ATOM = None
CATEGORY_FEED_ATOM = None
TRANSLATION_FEED_ATOM = None
AUTHOR_FEED_ATOM = None
AUTHOR_FEED_RSS = None

# Blogroll
LINKS = (('Pelican', 'http://getpelican.com/'),
         ('Python.org', 'http://python.org/'),
         ('Jinja2', 'http://jinja.pocoo.org/'),
         ('You can modify those links in your config file', '#'),)

# Social widget
SOCIAL = (('You can add links in your config file', '#'),
          ('Another social link', '#'),)

DEFAULT_PAGINATION = 10

THEME='basic'



# Uncomment following line if you want document-relative URLs when developing
RELATIVE_URLS = True

您需要转义 SITENAME 中的撇号 所以改变:

    SITENAME = 'Isaac's blog'

至:

    SITENAME = 'Isaac\'s blog'

或者,更简单

    SITENAME = "Isaac's blog"

转到base.html 文件,该文件通常位于任何主题的模板文件夹中。然后找到 '|format(' 并将其替换为不带引号的 '.format(slug='。这应该可以修复错误“TypeError:并非所有参数都在字符串格式化期间转换。”

也就是说,转

{{ CATEGORY_FEED_ATOM|format(category.slug) }}

进入

{{ CATEGORY_FEED_ATOM.format(slug='category.slug') }}