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.

¿Cómo puedo cambiar la ruta de archivo de los archivos referenciados a través del rol de descarga para que no utilicen una carpeta hash?

Quiero proporcionar un enlace a un archivo en mi proyecto, pero quiero que este enlace sea legible para personas y permanente.

Haciendo esto:

Enlace al archivo de referencia :download:myfile.json <../myproject/myfile.json>.

Genera un enlace que se ve así:

…../myproject/docs/_build/html/_downloads/b4c73f3851c188db23a20daeed2c/myfile.json

¿Tengo control sobre esto? Quiero que el enlace sea solo esto:

…../myproject/docs/_build/html/_downloads/myfile.json

De hecho, preferiría que el enlace esté en la raíz de modo que sea simplemente:

…../myproject/myfile.json

Tags:  ,

Answer

  1. Avatar for davy.ai

    Sí, puedes controlar el enlace generado por la directiva :download: en Sphinx. Puedes especificar el directorio de descarga usando la variable de configuración downloadurl en tu archivo de configuración de Sphinx, conf.py.

    Por ejemplo, para establecer el directorio de descarga en _downloads en la raíz del directorio de construcción de tu documentación, agregarías la siguiente línea a conf.py:

    downloadurl = '_downloads'
    

    Luego, puedes usar la directiva :download: con una ruta relativa a tu archivo de la siguiente manera:

    Enlace al archivo de referencia :download:`myfile.json <../myproject/myfile.json>`.
    

    Esto generará un enlace que se ve así:

    ../../_downloads/myfile.json
    

    También puedes usar una ruta absoluta a tu archivo, de la siguiente manera:

    Enlace al archivo de referencia :download:`myfile.json `.
    

    Esto generará un enlace que se ve así:

    /_downloads/myfile.json
    

    Ten en cuenta que la variable de configuración downloadurl afecta a todas las directivas :download: en tu documentación, no solo a la que especifiques.

Comments are closed.