r blogdown - результат build_site не соответствует предварительному просмотру от serve_site - PullRequest
1 голос
/ 12 июля 2020

Я создаю новый блог с помощью blogdown, но почему-то я, кажется, совершаю ошибку, поскольку сайт, который я создал, не соответствует превью из serve_site.

dir.create("blog7")
setwd("blog7")
blogdown::new_site(theme = "shenoybr/hugo-goa")
blogdown::serve_site()
blogdown::build_site()
browseURL(url = "public/index.html")

Ссылки не работают должным образом и изображение не отображается. Изображение будет работать, если я изменю: /img/headshot.jpg на ./img/headshot.jpg. Ссылки не кажутся относительными.

Как избежать появления этих проблем и не редактировать результат в public вручную?

введите описание изображения здесь

1 Ответ

2 голосов
/ 12 июля 2020

Возможно, у вас проблемы с настройками baseURL в config.toml.

  • При запуске blogdown::serve_site() настройка baseURL отменяется на "/" для обслуживания локально под localhost.
  • Для blogdown::build_site() вам необходимо настроить реальный базовый URL-адрес вашего блога (например, "https://www.example.com/") или как минимум "/".

Обратите внимание, что если вы создадите свой сайт с blogdown::build_site() и некоторыми настройками, а затем попытаетесь открыть этот HTML из локальной папки public, он не будет работать должным образом. Просто потому, что URL-адреса построены из baseURL и указывают, например, на /img/headshot.jpg (что не имеет смысла локально, но хорошо работает в Интернете, например https://blog.example.com/img/headshot.jpg.

Итак:

  • , если вы хотите просмотреть свой сайт локально с помощью localhost, используйте blogdown::serve_site(),
  • для экспорта сайта в Интернет, используйте blogdown::build_site(), но учтите, что созданные файлы HTML не будут работать корректно при локальной работе.

См. более подробную информацию в книге о blogdown и некоторую информацию о config.toml.

...