Как предотвратить повторное рендеринг всех постов в Blogdown? - PullRequest
0 голосов
/ 28 мая 2018

Справочная информация:

Я показываю блог , созданный на основе пакета @ YihuiXie's R blogdown.

Проблема:

Когда I render_site(), , все исходные файлы (* .Rmd) отображаются - даже неизмененные исходные файлы повторно отображаются.

Этот полный повторный рендеринг занимает много времени и не нужен (я думаю).

Вопрос / Желаемое решение:

Как я могу предотвратить потерю блога изповторный рендеринг неизмененных исходных файлов?Я хочу, чтобы blogdown отображал только новые или измененные исходные файлы.

Что я уже пробовал:

  • Я прочитал книга в блоге ;Yihui, похоже, предлагает подход "перестроить все" .

  • Я прочитал файлы справки для render_site() и hugo_build().Первый утверждает, что он будет рендерить все файлы rmd.hugo_build() 1045

  • Я проверил SO и Google, но этот вопрос, похоже, не отвечает. *1045* не вяжет файлы rmd (т.е. файлы rmd не компилируются в файлы md).были заданы ранее.

SessionInfo () :

R version 3.4.4 (2018-03-15)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: macOS High Sierra 10.13.4

Matrix products: default
BLAS: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRlapack.dylib

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] shiny_1.1.0

loaded via a namespace (and not attached):
 [1] Rcpp_0.12.17    rstudioapi_0.7  knitr_1.20      magrittr_1.5    RcppTOML_0.1.3  xtable_1.8-2    R6_2.2.2        rlang_0.2.0     stringr_1.3.1   tools_3.4.4     xfun_0.1       
[12] miniUI_0.1.1.1  htmltools_0.3.6 yaml_2.1.19     rprojroot_1.3-2 digest_0.6.15   bookdown_0.7    later_0.7.2     promises_1.0.1  evaluate_0.10.1 mime_0.5        rmarkdown_1.9.4
[23] blogdown_0.6    stringi_1.2.2   compiler_3.4.4  backports_1.1.2 jsonlite_1.5    httpuv_1.4.3   
> 

1 Ответ

0 голосов
/ 29 мая 2018

Я думаю, что ответ находится на странице, на которую вы ссылались - Раздел 1.7 blogdown book («Рекомендуемый рабочий процесс»).Кажется, это недостаточно ясно для вас, поэтому позвольте мне перефразировать это:

  1. Вам редко нужно bookdown::render_site().Вы можете видеть, что я даже не упомянул эту функцию в Разделе 1.7.

  2. Используйте blogdown::serve_site(), и это функция only , которую вам нужно вызвать, есливаш сайт опубликован на Netlify или на любых серверах, которые могут запустить команду hugo для создания вашего сайта на стороне сервера.

  3. Если вы не используете Netlify или не звонитеhugo на стороне сервера, но вы хотите создать сайт локально и опубликовать папку public/ вручную, позвоните blogdown::hugo_build(), прежде чем публиковать свой сайт.

Поскольку вы используетеNetlify, ответ в основном blogdown::serve_site().Это все, что вам нужно.Он не перерисовывает файлы Rmd, которые не были изменены.См. Приложение D.3 .

...