Медиа и изображения

Как резолвятся медиа-ссылки в режимах serve и build.

Notepub переписывает ссылки на изображения из markdown и Obsidian-embed синтаксиса.

Актуальные версии движка поддерживают Obsidian-синтаксис нативно в serve/build, поэтому pre-build rewrite-скрипты для markdown обычно нужны только в legacy-пайплайнах.

Поддерживаемые синтаксисы

  • Markdown image: ![alt](https://cookiespooky.github.io/np/media/path/to/image.png)
  • Obsidian embed: !\[\[image.png\]\]
  • Obsidian embed с подписью: !\[\[image.png|Cover image\]\]
  • Video embed: !\[\[demo.mp4\]\] (рендерится как <video ...> для поддерживаемых расширений)

Поведение в serve

  • Относительные медиа-ссылки преобразуются в /media/..., если не задан site.media_base_url.
  • /media/* по умолчанию отдает только медиа, найденные в индексированном markdown.
  • media.expose_all_under_prefix: true открывает все медиа под заданным prefix.

Поведение в build

  • Для статических хостов медиа должны резолвиться в абсолютную базу.
  • Используйте site.media_base_url (CDN/bucket URL).
  • Без site.media_base_url ссылки /media/* на чисто статическом хосте обычно не работают.

Безопасность

  • Внешние URL (http, https, data, protocol-relative) не переписываются.
  • Небезопасные traversal-пути отбрасываются.
  • Пути экранируются перед выводом в URL.
Все результаты