有没有办法在Markdown文件中引用图像,以便1)在编辑时正确预览,2)在使用Pelican处理时正确生成?
我尝试Pelican的全部原因是尽可能简单地使用各种编辑器在本地/离线编辑文件,而无需运行本地服务器。这些编辑理解这样的常见图像语法:
![Pelican](images/pelican.jpg)
但是对于Pelican来说,我必须使用:
![Pelican]({filename}/images/pelican.jpg)
哪些编辑不理解,因此预览只会显示损坏的图像。这不太理想。链接到具有完整地址的图像并不起作用,因为我经常脱机工作。
是否存在某些设置组合 - 缺少运行本地服务器,这对我在ipad /等上编辑文件时的帮助不大 - 这将允许我使用相同的标记进行编辑和正确发布图象?
答案 0 :(得分:9)
根据您所描述的用例,我认为唯一的解决方案是本地和生产环境中的URL路径相同。例如,给定以下层次结构:
- content
- images
- dinosaur.jpg
- posts
- my-dinosaur.md
...您可以通过以下链接到my-dinosaur.md
内的图片:
Title: My Dinosaur
Date: 2013-03-28
URL: /posts/my-dinosaur.html
Save_as: posts/my-dinosaur.html
Here is an image of my dinosaur:
![Pelican](../images/dinosaur.jpg)
在这种情况下,生成的HTML将包含指向图像的链接:
<img src="../images/dinosaur.jpg" />
只要相对位置:
...是相同的,上述技术应该可以让你实现目标。
当然,根据您选择的生产网址结构,这可能是也可能不可行。如果您不想更改URL结构以匹配源内容组织结构,则在不运行本地服务器的情况下很难在两个环境中呈现图像。
答案 1 :(得分:5)
{filename} 方法似乎不适用于当前版本的Pelican中的图像。
以下是如何解决这个问题:
从Pelican 3.5开始,您可以使用 {attach} 标记将任何文件类型附加到静态网站。 content 文件夹的相对路径约定保持不变。
![MyImage]({attach}images/MyImage.jpg)
只需在您想要链接图片的 Markdown 文章中插入上述词组,就可以了。
让我知道结果如何!
答案 2 :(得分:4)
您可以在Markdown帖子中使用Jinja {{ SITEURL }}
变量来引用图片:
![Pelican]({{SITEURL}}/images/pelican.jpg)
这应解决(2)。但是,如果没有关于您正在使用哪些编辑器以及如何将图像路径转换为渲染图像的更多信息,则无法知道这是否会解决(1)。