Медиа и изображения
Как резолвятся медиа-ссылки в режимах serve и build.
Notepub переписывает ссылки на изображения из markdown и Obsidian-embed синтаксиса.
В шаблонных репозиториях и CI обычно используется pre-build скрипт нормализации Obsidian embed-ссылок.
Этот же скрипт может нормализовать и hub-викиссылки во frontmatter для стабильной фильтрации хабов на клиенте.
Поддерживаемые синтаксисы
- Markdown image:
 - Obsidian embed:
!\[\[image.png\]\] - Obsidian embed с подписью:
!\[\[image.png|Cover image\]\]
Поведение в 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.