【问题标题】:Pelican image links break when viewing article through "categories"通过“类别”查看文章时鹈鹕图像链接中断
【发布时间】:2015-06-12 03:34:42
【问题描述】:

我确定我遗漏了一些明显的东西。我通过内容文件夹中的文件夹名称来定义类别。如果我在查看页面时单击content,我会看到文件夹名称(例如categ1、categ2)加上“misc”,这很好。当我单击categ1 时,我看到一篇完整的文章,但图像链接现在都已损坏。

localhost:8000/category/categ1.html

我希望看到的只是该类别中可点击的文章列表。或者至少,没有损坏的链接。

(如果我尝试使用标签,我也会有类似的行为,但一次只做一件事......)

.rst 文件中没有类别行。

除了名称、时区等。我在我的配置中使用这些。

更新:图像位于 Content 的 Images 文件夹中。我还在 categ1 中放了一个 Images 文件夹的副本,但没有帮助。

THEME = 'nmnlist' 

PATH = 'content'

# ARTICLE_PATHS = ['articles']    # have tried this also

STATIC_PATHS = ['images', 'pdfs']

RELATIVE_URLS = True  # have tried False also

PLUGINS = ["render_math"]

【问题讨论】:

  • 图片是如何插入到你的分类页面中的(即,是主题自动完成的,还是在 Markdown 中插入的)?破损图像的网址是什么样的?完整的图片网址应该是什么样的?

标签: python pelican


【解决方案1】:

听起来这可能是图像 URL 是相对的问题。

问题

如果是这种情况,假设您在 content/mypage.md 中有一个 Markdown 页面,该页面生成到 localhost:8000/mypage.html 中,并且它具有对图像的(工作)引用:

![Alt text](content/myimage.png)

渲染成html:

<img src="content/myimage.png" />

并指向localhost:8000/content/myimage.png。但是,如果您随后尝试将相同的 Markdown 处理为类别页面的 HTML,它将呈现相同的图像 Markdown:

![Alt text](content/myimage.png)

进入同一个html:

<img src="content/myimage.png" />

但由于这是在localhost:8000/categories/mycategory.html 的类别页面上,因此此相对图像 URL 现在指向 localhost:8000/categories/content/myimage.png,并且图像在类别和标签页面上已损坏。

解决方案

解决方案很简单:一个/。在 Markdown 中使用对图像的绝对引用,方法是在它们前面加上 /:而不是使用 content/myimage.png,而是使用 /content/myimage.png

![Alt text](/content/myimage.png)

这将始终在localhost:8000/content/myimage.png 处呈现图像,无论它位于哪个页面上。

【讨论】:

  • 好的!谢谢@charlesreid1 - 添加前导斜杠修复了图像的显示。也感谢您的解释。我仍然不确定这到底是如何工作的(pelicanconf.py 中static_pathsarticle_pathsrelative_urls 参数的目的和最佳用途)但你给了我一些线索,我可以进行实验。
【解决方案2】:

content-文件夹是输入端。应用pelican pelicanconfig.py-command 后,在output-文件夹中生成输出端。我认为任何渲染路径最终都必须适合输出端。我使用content/images-文件夹,它被pelican pelicanconfig.py-命令完全复制到output/images-文件夹。

我不得不修改建议的解决方案。使用我的文件夹结构,当我在 md 文件中设置时它适用于我:

![png5](../images/image5.png)

使用..,我们从 post-folder 到 output-folder 和从那里到 images-folder 的级别更高。

附录: 我已经详细阐述了一个不同的解决方案 here,它适用于 Pelican 3.5 及更高版本。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-26
    相关资源
    最近更新 更多