背景:
我在{YihuiXie的R套餐blogdown
上建立blog。
问题:
当我render_site()
时,所有源文件(* .Rmd)都会呈现 - 即使未更改的源文件也会被重新重新保存。
这种完全重新渲染非常耗时且不必要(我认为)。
问题/所需解决方案:
如何防止blogdown重新呈现未更改的源文件?我希望blogdown只呈现新的或更改的源文件。
我已尝试过的内容:
我读过blogdown book; Yihui似乎提出了"rebuild-all" approach。
我已阅读render_site()
和hugo_build()
的帮助文件。第一个声明它将呈现所有rmd文件。相反,hugo_build()
不编织rmd文件(即,rmd文件未编译为md文件)。
我已经检查了SO和Google,但似乎以前没有问过这个问题。
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
>
答案 0 :(得分:7)
我认为答案在您引用的页面上 - Section 1.7 of the blogdown book(“推荐的工作流程”)。看起来对你来说还不够清楚,所以让我重新说一下:
您应该很少需要bookdown::render_site()
。你可以看到我甚至没有在1.7节中提到这个功能。
使用blogdown::serve_site()
,如果您的网站在Netlify上发布,或者任何可以运行hugo
的服务器,则需要调用仅功能命令在服务器端构建您的网站。
如果您不使用Netlify,或者不在服务器端调用hugo
,但想在本地构建网站并手动发布public/
文件夹,请致电{{1}在您发布网站之前。
由于您使用的是Netlify,答案基本上是blogdown::hugo_build()
。这就是你所需要的一切。它不会重新呈现尚未更改的Rmd文件。请参阅Appendix D.3。
答案 1 :(得分:0)
127.0.0.1 localhost
127.0.1.1 Serevya
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
104.20.26.217 assets.windscribe.com #ws-dns
104.20.26.217 api.windscribe.com #ws-dns
尝试在我重置计算机并从github重新下载代码后重新呈现我的一些旧博客文章。
通过使用blogdown::serve_site()
,我可以将单个Rmd文件呈现为html。要检查结果,我在终端窗口中运行blogdown:::build_rmds("content/post/{file_name}.Rmd")
。