Контекст:
У меня есть сайт, который я создал, используя blogdown и Hugo, развернутый на Netlify. В настоящее время я работаю над некоторыми сообщениями (файлы .Rmd) (в RStudio), которые все еще находятся в черновиках (draft: true
в заголовке YAML). Работая над черновиком, я люблю сохранять вещи по ходу дела.
Проблема:
Если я уже использовал команду blogdown::serve_site()
хотя бы один раз во время сеанса R, то каждый раз, когда я сохраняю черновик сообщения .Rmd, он «отображает» документ (т. Е. Нажатие на значок «сохранить» приводит к Rendering content/post/Post 1.Rmd
появляется в консоли, и - если это работает - в конечном итоге пост обновляется в средстве просмотра).
Это всегда занимает много времени (не менее 5 минут), и если в блоке кода есть какие-либо ошибки (опечатка, пропущенный аргумент и т. Д.), То он входит в цикл, в котором непрерывно пытается визуализировать документ и постоянно выходит из строя. Иногда я могу исправить ошибку кода, когда это происходит, и тогда следующая попытка рендеринга будет успешной.
Однако чаще, хотя я исправляю ошибку в коде, моя сессия полностью зависает; либо ничего не происходит (нет ошибки, но больше нет активности в консоли), но я больше ничего не могу использовать в RStudio, либо я получаю сообщение об ошибке от RStudio (выпадающее окно сообщения из приложения, а не ошибка кода в консоли), которое говорит: «Сохранить файл: невозможно установить соединение с R сессией». В обоих случаях мой единственный вариант - принудительно завершить RStudio, и я теряю все несохраненные изменения в своем файле .Rmd.
Этот бесконечный цикл ошибок выглядит следующим образом (в данном случае в аргументе функции legend () есть ошибка):
Quitting from lines 317-357 (Post 1.Rmd)
Error in legend("topleft", lables = unique(df.vis$PtType), pch = unique(df.vis$PtSym), :
unused argument (lables = unique(df.vis$PtType))
Calls: local ... handle -> withCallingHandlers -> withVisible -> eval -> eval
Execution halted
<simpleError in render_page(f): Failed to render 'content/post/Post 1.Rmd'>
* Retrying in 2 seconds...
Rendering content/post/Post 1.Rmd
.... и «2» секунды превращаются в 8 секунд и т. Д. До 32 секунд, а затем снова и снова повторяют 32, пока не распознают мои исправления или (гораздо чаще) зависают.
У меня никогда не возникало таких проблем, когда я вызываю blogdown::serve_site()
, который просто выдает ошибку и перестает пытаться, если в куске кода есть ошибка.
Вопрос:
Как я могу запретить блогдауну рендерить мои .Rmd почтовые документы каждый раз, когда я их сохраняю?
OR
Как я могу сделать так, чтобы, если при рендеринге при сохранении выдается ошибка, он просто прекращает попытки рендеринга (но, если возможно, сохраняет мой файл .Rmd)?
Я прочитал книгу блогов начала до конца, и я думаю, что это, вероятно, как-то связано с LiveReload , но я не совсем уверен, как применять эти инструкции на мой конкретный вопрос ...
Любая помощь будет принята с благодарностью! Спасибо!
Обновление - информация о сеансе
> xfun::session_info('blogdown')
R version 3.5.1 (2018-07-02)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: macOS 10.14, RStudio 1.2.1114
Locale: en_CA.UTF-8 / en_CA.UTF-8 / en_CA.UTF-8 / C / en_CA.UTF-8 / en_CA.UTF-8
Package version:
backports_1.1.2
base64enc_0.1.3
BH_1.66.0.1
blogdown_0.9
bookdown_0.7
digest_0.6.18
evaluate_0.12
glue_1.3.0
graphics_3.5.1
grDevices_3.5.1
highr_0.7
htmltools_0.3.6
httpuv_1.4.5
jsonlite_1.5
knitr_1.20
later_0.7.5
magrittr_1.5
markdown_0.8
methods_3.5.1
mime_0.6
promises_1.0.1
R6_2.3.0
Rcpp_1.0.0
rlang_0.3.0.1
rmarkdown_1.10
rprojroot_1.3.2
servr_0.11
stats_3.5.1
stringi_1.2.4
stringr_1.3.1
tinytex_0.9
tools_3.5.1
utils_3.5.1
xfun_0.4
yaml_2.2.0