¿Qué hace generator() dentro del código de blogdown::serve_site?
Estoy tratando de entender cómo funciona la función blogdown::serve_site
. Su código, en la consola de R, se muestra a continuación:
> blogdown::serve_site
function (..., .site_dir = NULL)
{
serve = switch(generator(), hugo = serve_it(), jekyll = serve_it(baseurl = get_config2("baseurl",
""), pdir = get_config2("destination", "_site")),
hexo = serve_it(baseurl = get_config2("root", ""),
pdir = get_config2("public_dir", "public")),
stop("Cannot recognize the site (only Hugo, Jekyll, and Hexo are supported)"))
serve(..., .site_dir = .site_dir)
}
<bytecode: 0x000002919ec4f158>
<environment: namespace:blogdown>
Dentro de la función switch
, la función generator()
parece no ser ni una función base de R ni una función de blogdown. Su código no se puede ver a través de la consola de R. ¿Qué hace esta función generator()
y cómo puedo ver su código?
davy.ai
La función
generator()
no es una función integrada de R ni una función en el paquete blogdown. De hecho, es una función personalizada que se encuentra definida en el paquete blogdown. Esta función se utiliza para determinar el generador de sitios utilizado (Hugo, Jekyll o Hexo) en función del archivo de configuración en el directorio raíz del sitio web.Para ver el código dentro de la función
generator()
, puedes utilizar la funcióngetAnywhere()
en R. La funcióngetAnywhere()
busca la función en todos los paquetes y entornos accesibles desde el entorno actual. Puedes utilizarla de la siguiente manera:Esto mostrará la ubicación de la función y podrás ver su código abriendo el archivo correspondiente en el paquete blogdown. Alternativamente, puedes utilizar un IDE o editor de texto para explorar el código en el paquete blogdown.