Редактирование уцененных файлов с изображениями для сайта Pelican

Есть ли способ ссылаться на изображения в файле Markdown таким образом, чтобы они 1) правильно просматривались при редактировании и 2) правильно генерировались при обработке с помощью Pelican?

Вся причина, по которой я пробую Pelican, заключается в том, чтобы максимально упростить редактирование файлов локально/в автономном режиме с помощью различных редакторов без необходимости запуска локального сервера. Эти редакторы понимают общий синтаксис изображений следующим образом:

![Pelican](images/pelican.jpg)

Но чтобы Pelican сгенерировал правильные пути, я должен использовать:

![Pelican]({filename}/images/pelican.jpg)

Какие редакторы не понимают, и поэтому превью просто показывает битые изображения. Это далеко не идеально. Ссылки на изображения с полными адресами не работают, потому что я часто работаю в автономном режиме.

Есть ли какая-то комбинация настроек - за исключением запуска локального сервера, который ничуть не помогает мне, когда я редактирую файлы на ipad/и т. д. - что позволило бы мне редактировать и правильно публиковать, используя ту же разметку для изображений?


person Chris    schedule 19.02.2014    source источник


Ответы (3)


Учитывая описанный вами вариант использования, я считаю, что единственным решением является то, в котором пути 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" />

Пока относительные позиции между:

  • исходный документ ‹-> изображение
  • сгенерированный HTML ‹-> изображение

... одинаковы, описанная выше техника должна позволить вам достичь ваших целей.

Конечно, в зависимости от выбранной вами структуры рабочего URL-адреса это может быть или не быть осуществимым. Если вы не хотите изменять структуру URL-адреса в соответствии со структурой организации исходного контента, будет сложно отобразить изображение в обеих средах без запуска локального сервера.

person Justin Mayer    schedule 23.02.2014

Подход {filename} не работает для изображений в текущей версии Pelican.

Вот как это сделать:

Начиная с Pelican 3.5, вы можете использовать тег {attach}, чтобы прикрепить любой тип файла к своему статическому сайту. Соглашение об относительных путях для папки content остается прежним.

![MyImage]({attach}images/MyImage.jpg)

Просто вставьте приведенную выше фразу в свою статью Markdown везде, где вы собираетесь разместить ссылку на изображение, и все будет готово.

Дайте мне знать, как это получается!

person Siddhant    schedule 16.02.2015
comment
Это работает, но неправильно предварительно просматривает в редакторе md, что является исходным вопросом. - person zlr; 20.04.2020

Вы можете использовать переменную Jinja {{ SITEURL }} в сообщениях Markdown для ссылки на изображения:

![Pelican]({{SITEURL}}/images/pelican.jpg)

Это должно решить (2). Однако без дополнительной информации о том, какие редакторы вы используете и как они превращают пути изображений в визуализированные изображения, невозможно узнать, решит ли это проблему (1).

person charlesreid1    schedule 15.06.2015