1

嗨,我昨天发表了一篇标题为“Oi”的帖子,现在我正在尝试用不同的标题发表新帖子,但它试图与旧帖子混淆,我是

收到此警告和错误消息:

WARNING: There are 2 variants of "oi" with lang en
WARNING: Development/web_projects/weeklyUpdate/content/2015_06_06_oi.md
WARNING: Development/web_projects/weeklyUpdate/content/2015_06_07_oi.md
CRITICAL: File Development/web_projects/weeklyUpdate/output/oi.html is to be overwritten
4

2 回答 2

5

假设您的内容目录中有两个帖子,

content/
├── post1.md
└── post2.md

标题相同但作者/内容不同。

post1.md

Title: Oi
Author: Dr. Jekyll
Date: 2015-07-15 10:30
Category: StackOverflow
Tags: pelican

"Well, I tell you so again," continued the lawyer. "I have been
learning something of young Hyde."

The large handsome face of Dr. Jekyll grew pale to the very lips,
and there came a blackness about his eyes. "I do not care to hear
more," said he. "This is a matter I thought we had agreed to drop."

post2.md

Title: Oi
Author: Mr. Hyde
Date: 2015-07-15 10:20
Category: StackOverflow
Tags: pelican

"We have common friends," said Mr. Utterson.

"Common friends?" echoed Mr. Hyde, a little hoarsely. "Who are
they?"

"Jekyll, for instance," said the lawyer.

因为 Pelican 使用帖子标题“处理”这些帖子,所以它会导致名称冲突,正如您所看到的。

解决方案是将Slug: my-slug-line元数据添加到每个帖子中,以强制帖子呈现到my-slug-line.html. 在我们的示例中:

post1.md

Title: Oi
Author: Dr. Jekyll
Date: 2015-07-15 10:30
Category: StackOverflow
Tags: pelican
Slug: oi-dr-jekyll

"Well, I tell you so again," continued the lawyer. "I have been
learning something of young Hyde."

The large handsome face of Dr. Jekyll grew pale to the very lips,
and there came a blackness about his eyes. "I do not care to hear
more," said he. "This is a matter I thought we had agreed to drop."

post2.md

Title: Oi
Author: Mr. Hyde
Date: 2015-07-15 10:20
Category: StackOverflow
Tags: pelican
Slug: oi-mr-hyde

"We have common friends," said Mr. Utterson.

"Common friends?" echoed Mr. Hyde, a little hoarsely. "Who are
they?"

"Jekyll, for instance," said the lawyer.

这会将 Jekyll 博士的第一个帖子输出到oi-dr-jekyll.html,Hyde 先生的第二个帖子输出到oi-mr-hyde.html

Slug:元数据是可选的,因此除非遇到命名冲突,否则您不必这样做但它有时会派上用场。

另请注意:

如果你想对非博客或“静态”页面做同样的事情,比如用 Markdown 编写的“About Me”页面,你可以使用save_as: my_page.html元数据来强制 Markdown 被渲染为my_page.html,无论页面标题如何是。

于 2015-06-15T07:15:26.280 回答
2

看起来,两个帖子都有相同的 slug(帖子 URL 的本地部分)。它可以通过您帖子中的“slug”元数据字段明确设置,或从日期、标题等生成)。在您的情况下,两个帖子都具有相同的 URL“/oi.html”,并且 pelican 拒绝用第二个帖子的内容覆盖第一个生成的文件。

于 2015-06-07T12:27:01.510 回答