#blogdown
#blogdown
Вопрос:
В blogdown
книге предполагается, что локальный предварительный просмотр работает с использованием
blogdown::build_site(local=TRUE)
Если я правильно понимаю, предполагается, что это временно изменит config.toml
файл, чтобы установить значение baseurl
/
, перезаписав все имеющиеся у вас настройки. Однако, когда я пытаюсь это сделать, это на самом деле не работает, и он продолжает показывать оригинал baseurl
в результирующей public
папке.
Есть ли способ создать «локальную» версию результирующего сайта, которая сохраняла бы ссылки (или большинство из них, во всяком случае) правильными (вместо того, чтобы указывать на baseurl
и онлайн-версию, которая отлично работает, кстати)?
Я видел несколько сообщений, предполагающих, что некоторые темы могут не подходить для этого, поскольку авторы, возможно, не написали исходный код, на который нужно указать relativeurls
(я знаю, что я здесь расплывчатый, но я думаю, что это так), но есть ли способ обойти это?
Спасибо
Комментарии:
1. Извините, но документация по адресу bookdown.org/yihui/blogdown/local-preview.html в настоящее время устарел. Я скоро обновлю его и опубликую ответ позже (если кто-то еще не сделает это раньше меня). Спасибо за ваше терпение!
2. Спасибо @YihuiXie и, конечно, не нужно извиняться 🙂 Оценено по достоинству!
Ответ №1:
Это должно быть возможно с версией разработчика blogdown сейчас:
remotes::install_github('rstudio/blogdown')
Затем перезапустите R и запустите:
blogdown::build_site(baseURL = '/')
Это должно временно переопределить baseURL
настройку в вашем файле конфигурации. Аналогичным образом, вы можете попытаться создать сайт с relativeURLs = true
:
blogdown::build_site(relativeURLs = TRUE)
Комментарии:
1. Спасибо тебе, @YihuiXie! Теперь это работает. Я хотел использовать это, чтобы предоставить копию
public
папки своим ученикам, чтобы они могли использовать ее в автономном режиме. Теперь все ссылки работают, хотя автоматическое перенаправление сsite/folder
наsite/folder/index.html
, конечно, больше не работает… Я могу работать с ними вручную, хотя — я не думаю, что есть автоматизированный способ сделать это (за исключением «обслуживания» сайта локально каким-то образом)? Еще раз спасибо, что исправили это так быстро!2. Без веб-сервера это невозможно. Самое большее, что я мог бы предложить
servr::httd()
, это чистая функция R, которая не полагается на Hugo. Если у ваших учащихся установлен R, они могут запустить эту функцию в папке сайта.3. Еще раз спасибо — я проверю это! Очень признателен! 🙂