Относительные пути к изображениям для карт Twitter в blogdown

Я пытаюсь настроить шаблон для создания карт Twitter в blogdown, Это положило следующее в layouts/partials/twitter-card.html:

<meta name="twitter:site" content="@myname">
<meta name="twitter:creator" content="@myname">
{{ if .IsPage }}
<meta name="twitter:description" content="{{ .Summary }}" />
<meta name="twitter:title" content="{{ .Title }}" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:image" content="{{ .Params.image }}" /> {{ else }}
<meta name="twitter:title" content="{{ .Site.Title }}" />
<meta name="twitter:description" content="{{ .Description }}" /> {{ end }}

И следующее в layouts/partials/head.html:

{{ partial "twitter-card" . }}

В данном блоге - foo.Rmd - я поместил это в YAML:

image: "static/post/foo/figure-html/some_image.png"

Когда я позволяю Хьюго создать сообщение, все работает нормально, и я получаю:

<meta name="twitter:image" content="static/post/fixed-points_files/figure-html/some_image.png" /> 

Однако, когда я предварительно просматриваю свою карточку в Твиттере, картинка не появляется. Я предполагаю, что мне пришлось бы установить другой путь во фронтальной части YAML, но я не могу найти никакой документации о том, каким должен быть формат пути, и все учебники используют абсолютные URL в своих примерах.

2 ответа

Решение

Карты Twitter не поддерживают относительные пути, и вы должны использовать полный URL-адрес HTTP(S) в теге изображения. Это описано в сообщении об устранении неполадок.

Я рекомендую вам использовать абсолютный URL в этом случае:

image: "/post/foo/figure-html/some_image.png"

Обратите внимание, вы должны удалить имя каталога static ( Почему?).

Другие вопросы по тегам