Относительные пути к изображениям для карточек 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" /> 

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


person user2987808    schedule 28.08.2017    source источник


Ответы (2)


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

person Andy Piper    schedule 29.08.2017

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

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

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

person Yihui Xie    schedule 28.08.2017
comment
с Hugo Academic serve_site() преобразует baseurl как "https://strimas.com/" в просто "/", что ломает карту Twitter. Учитывая это, как вы предлагаете нам получать абсолютные пути к изображениям в наших карточках Twitter, используя blogdown? - person Matt SM; 22.03.2020
comment
стоит отметить, что build_site() использует правильные baseurl и карточки Twitter работают, пока вы не используете serve_site(), что снова их сломает - person Matt SM; 22.03.2020
comment
сделал вопрос для этого здесь: stackoverflow.com/questions/60807293/ - person Matt SM; 23.03.2020