You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Pelican中Markdown图片插入语法困惑求助

解决Pelican中Markdown插入图片不显示的问题

你遇到的这个问题,核心原因大概率是没启用Pelican为Markdown专门提供的路径解析扩展——毕竟reStructuredText的图片语法是Pelican默认支持的,但Markdown要识别{filename}这类占位符,得额外配置扩展才行。我给你一步步梳理排查方案:

  • 第一步:启用pelican_markdown_extensions.path扩展
    打开你的pelicanconf.py配置文件,找到MARKDOWN配置块,确保里面包含这个扩展。修改后的配置大概是这样:

    MARKDOWN = {
        'extension_configs': {
            'markdown.extensions.codehilite': {'css_class': 'highlight'},
            'markdown.extensions.extra': {},
            'markdown.extensions.meta': {},
            'pelican_markdown_extensions.path': {},  # 这行是关键!
        },
        'output_format': 'html5',
    }
    

    这个扩展的作用就是让Pelican能识别并解析{filename}、{attach}这类路径占位符,否则Markdown渲染器只会把它们当成普通文本输出。

  • 第二步:确认图片路径的正确性
    检查你的图片是否确实放在content/images/Rugby-Tackle.jpg这个位置——因为{filename}对应的是Pelican项目根目录下的content文件夹。如果图片位置不对,哪怕扩展启用了也找不到资源。

  • 第三步:用基础语法先测试
    先抛开点击放大的嵌套链接,用最基础的Markdown图片语法测试:

    ![About to make the tackle, Yale Alumni Game 2017]({filename}/images/Rugby-Tackle.jpg)
    

    等这个能正常显示后,再尝试添加点击放大的嵌套版本:

    [![About to make the tackle, Yale Alumni Game 2017]({filename}/images/Rugby-Tackle.jpg)]({filename}/images/Rugby-Tackle.jpg)
    
  • 额外排查:清理缓存重新生成
    如果改了配置还是没效果,试试清空Pelican的输出目录(默认是output)和缓存目录(__pycache__),然后重新生成站点:

    rm -rf output __pycache__
    pelican content
    

简单来说,reStructuredText的路径处理是Pelican默认支持的,但Markdown需要额外开启扩展才能实现相同的路径解析能力,这就是你两种语法表现不一样的核心原因。

内容的提问来源于stack exchange,提问作者AZhao

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 08:11:00