如果我使用R Studio Addins > Serve Site
,或者使用blogdown::serve_site()
,是否要设置Apache / Python / etc。我的本地计算机上的服务器?还是发生了其他事情? R Studio和/或Blogdown如何设置此本地Web服务器?
我试图重新创建此设置,而不必使用R Studio > Addins > Serve Site
,只是对事情的工作方式感到好奇。
[EDIT]-我应该提到我主要使用Ubuntu和Windows PC。
答案 0 :(得分:2)
它运行hugo,这是blogdown
,bookdown
和相关项目的要求。 hugo是它自己的(嵌入式)网络服务器。
这实际上非常方便-我经常直接在命令行上运行hugo server
。同样,它还允许您仅通过hugo
工具链,与R包混合或在它们之间切换来创建站点。
根据您的编辑,这是我当前在Ubuntu上用于网站的脚本:
#!/bin/bash
hugo server --destination docs --renderToDisk
当我使用GitHub的嵌入式服务器时,它具有--destination docs
目录。
编辑:我所描述的内容本身是正确的,而且是一种简单的替代方法,但不能回答怡辉提出的问题。与Rmarkdown相比,我倾向于写更多的markdown,因此我所描述的更适合我。
答案 1 :(得分:1)
在博客书的the preface中,我建议所有读者至少阅读本书的第1章和第3.1节。该书的Section 1.2回答了这个问题:
LiveReload是通过
blogdown::serve_site()
实现的,它基于R包servr。
servr 包依次调用R包httpuv以启动本地HTTP服务器(您可以使用servr::httd()
对其进行测试以在浏览器中提供任何本地目录) 。它不使用Apache,Python或其他系统。 blogdown 中的默认服务器也不基于hugo server
。
在第1.2节中的那句话之后,我插入了一个脚注(#7),在其中我说,如果您希望利用Hugo的内置服务器(即hugo server
),则需要查看{{ 3}}。
如果您的网站项目中有任何R Markdown文档,则不能简单地运行hugo server
。来自博客书的Appendix D.2:
尽管我们认为Hugo是一个出色的静态网站生成器,但实际上确实只有一个主要缺失功能:对R Markdown的支持。这基本上就是 blogdown 软件包的重点。此缺失的功能意味着您只能使用静态Markdown文档,因此无法在网页上使用R代码轻松生成结果。
基本上,blogdown::serve_site()
有两件事:编译R Markdown文档(如果有),并提供输出页面。可以通过两种方式启动服务器。默认方式是通过 httpuv ,而另一种方式是hugo server
,如果您通过R选项请求 blogdown (同样,请参见附录D.2)。 )。通过两种方式,R Markdown文档都会在更新时自动重新编译。
请注意,博客登录也(部分)支持Section 2.1,Jekyll和Hexo。 blogdown::serve_site()
启动的服务器也已将它们考虑在内。尽管我猜绝大多数 blogdown 用户都使用Hugo,但这不仅与Hugo有关。