Pelican i18n 子站点菜单项覆盖

Pelican i18n subsites menu items override

我正在使用 Pelican and the i18n subsites plugin 构建静态站点。

根据我的理解,您可以使用此插件覆盖 pelicanconf.py 中的设置,但我认为我的做法不起作用。

Pelicanconf.py:

I18N_SUBSITES = {
    'nl': {
        'SITENAME': 'Robin Berghuijs Design',
        'INDEX_SAVE_AS': 'nieuws.html',
        'MENUITEMS': [
            ('Nieuws','nieuws.html'),
        ],
    },
    'en': {
        'SITENAME': 'Robin Berghuijs Design',
        'INDEX_SAVE_AS': 'news.html',
        'MENUITEMS': [
            ('News','news.html'),
        ],
    }
}

Index.html 输出:

<nav id="menu"><ul>
    <li><a href="./pages/contact.html">Contact</a></li>
</ul></nav><!-- /#menu -->

base.html 模板:

    {% for title, link in MENUITEMS %}
        <li><a href="{{ link }}">{{ title }}</a></li>
    {% endfor %}

我在网站生成时没有收到任何错误。 More detail here.

运行 鹈鹕与 --debug gives this.

事实证明,i18n 子站点插件正在创建两个新站点,旧站点留在输出文件夹中。所以在 output/ 中有一个站点,在 output/nl/ 中有一个站点,在 output/en/ 中有一个站点。在荷兰语 i18n 子站点设置中添加 DELETE_OUTPUT_DIRECTORY = True'OUTPUT_PATH': '', 解决了这个问题。