es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿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?

Tags:  ,

Answer

  1. Avatar for 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ón getAnywhere() en R. La función getAnywhere() busca la función en todos los paquetes y entornos accesibles desde el entorno actual. Puedes utilizarla de la siguiente manera:

    getAnywhere(generator)
    

    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.

Comments are closed.