3

将Pelican版本更新到3.3

 2 years ago
source link: https://www.linuxzen.com/jiang-pelicanban-ben-geng-xin-dao-33.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

用Pelican有一段时间了, 由于重装了系统, 所以安装Pelican的最新版本,最新版本为 3.3, 顺便也升级模板和插件.

Pelican特别喜欢更改配置文件, 而且错误提示非常烂, 完全不知道在说什么, 而且没有安装markdown包的话根本不提示, 仅仅就错误退出, 下面就这次升级越到的问题做个记录.

Makefile

Pelican升级后会有很多莫名奇妙的问题, 首先之前的Makefile不能使用, 所以需要重新生成一份:

pelican-quickstart .

当然上面操作会更改配置文件, 我用git管理, 所以很方便的checkout, 如果你的不是, 先备份下配置文件吧.

ATOM Feed

然后make html的时候失败提示

File /path/to/project/output/feeds/all.atom.xml is to be overwritten!

看了 pelican上的issue 原来是更改了FEED_ATOM的配置项, 使用了 FEED_ALL_ATOM配置项, 将FEED_ATOM配置项改为FEED_ALL_ATOM配置即可

但是改完之后页面的ATOM FEED链接没有指向正确的地址, 查看模板文件, 发现模板还在引用FEED_ATOM, 改成FEED_ALL_ATOM即可.

Markdown

如果莫名奇妙的错误, 没有错误信息, 也没有输出HTML, 那么可能就是markdown包没装, Pelican的错误提示真心无语.

easy_install -U markdown

Markdown 代码高亮

Markdown 是通过指定 MD_EXTENSIONS 选项类配置代码高亮的之前配置这样就可以

MD_EXTENSIONS =  (['codehilite', 'extra', 'fenced_code', 'tables', 'sane_lists'])

但是发现现在无法高亮代码, 查看了源码原来要手动指定高亮 css, 不然css会设置成 codhilite python MD_EXTENSIONS = (['codehilite(css_class=highlight)', 'extra', 'fenced_code', 'tables', 'sane_lists'])

Pelican去掉了FILE\_TO\_COPY项, 所以之前拷贝robots.txt之类的文件, 就会失效, 使用STATIC_PATHS即可

STATIC_PATHS = [u"upload", "extra/robots.txt",
                "extra/404.html",
            ]

如果想指定静态文件位置, 可以使用STATIC_SAVE_AS, 会将静态文件存到另外一个目录, 而且对所有STATIC_PATHS项生效

STATIC_SAVE_AS = "static/"

也可以使用 EXTRA_PATH_METADATA来为每一项指定路径

EXTRA_PATH_METADATA = {
    "extra/robots.txt":{"path":"robots.txt"},
    "extra/404.html": {"path":"404.html"},
}

至此, Pelican升级完毕


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK