Estructura de carpetas
Debido a que Grav es un CMS basado en archivos planos, lo que significa que no tiene base de datos, la estructura de carpetas de su sitio es muy importante. En el nivel superior de tu instalación de Grav, la estructura de carpetas se ve así:
/assets
/backup
/bin
/cache
/images
/logs
/system
/tmp
/vendor
/user
Así que profundicemos un poco más en cada una de estas carpetas de nivel superior y expliquemos para qué sirven:
/assets
La carpeta assets
es utilizada por el nuevo sistema de gestión de activos dentro de Grav para almacenar archivos .css
y .js
procesados.
Esta carpeta no debe usarse para almacenar datos de usuario, ya que se eliminan todos los datos de forma rutinaria.
/backup
La carpeta backup
es la ubicación predeterminada para las copias de seguridad de Grav.
/bin
La carpeta bin
contiene la aplicación Grav CLI que se puede utilizar para realizar algunas tareas útiles desde la línea de comandos. Esta es una característica relativamente avanzada destinada principalmente a desarrolladores, por lo que dejaremos este tema a un lado para una discusión posterior.
/cache
La carpeta cache
se utiliza para almacenar archivos temporales en caché que Grav genera automáticamente para mejorar el rendimiento. De forma predeterminada, Grav maneja el almacenamiento en caché automáticamente y selecciona la mejor opción disponible para su entorno de alojamiento para garantizar que su sitio se ejecute lo más rápido posible.
Si Grav decide que el sistema de archivos es el mejor método de almacenamiento en caché, los archivos en caché que genera se almacenarán aquí. El motor de plantillas Twig también utiliza esta ubicación para almacenar sus archivos de plantillas precompilados. Nuevamente, esto se hace para garantizar que Grav funcione a su velocidad óptima.
Esta carpeta no debe usarse para almacenar datos de usuario, ya que se eliminan todos los datos de forma rutinaria.
/images
Grav viene con una potente biblioteca de manipulación de imágenes fácil de usar. Esto significa que puedes cambiar fácilmente el tamaño de una imagen sobre la marcha desde tu contenido o incluso desde un complemento. Estas imágenes se almacenan en la carpeta imágenes
para que puedan reutilizarse si se vuelve a solicitar la misma imagen con el mismo tamaño.
Esta carpeta actúa como un caché de imágenes y está destinada a archivos generados automáticamente. Los medios proporcionados por el usuario deben almacenarse en la carpeta usuario/pages/
, usuario/themes/
o incluso en una carpeta personalizada user/images/
.
Esta carpeta no debe usarse para almacenar datos de usuario, ya que se eliminan todos los datos de forma rutinaria.
/logs
Cuando Grav detecta un error, o si tiene activado el registro o la creación de perfiles adicionales, almacena los archivos de registro relevantes en la carpeta "logs".
/system
La carpeta system
es donde se encuentran los archivos que hacen que Grav realmente funcione. No debes editar nada en esta carpeta porque una actualización de Grav podría sobrescribir tus cambios. Si necesita cambiar algo relacionado con el funcionamiento de Grav, puede utilizar complementos como se explica en capítulos posteriores.
/tmp
Grav y los complementos utilizan la carpeta tmp
para almacenar archivos temporales.
Esta carpeta no debe usarse para almacenar datos de usuario, ya que se eliminan todos los datos de forma rutinaria.
/vendor
La carpeta vendor
contiene bibliotecas importantes en las que se basa Grav. Esta carpeta es similar a la carpeta system
en el sentido de que su contenido no debe editarse a menos que esté absolutamente seguro de lo que está haciendo.
Si instaló Grav desde GitHub, la carpeta vendor
no se habrá instalado con él. Para crear y completar la carpeta del proveedor, deberá ejecutar bin/grav install
o composer install
desde la raíz de su instancia de Grav. Se pueden encontrar más detalles en el artículo sobre instalación.
/user
Esta es la carpeta más importante para la mayoría de los usuarios de Grav. Esta carpeta es donde pasarás tu tiempo creando contenido, usando complementos y editando tus temas. Profundicemos un poco más en esta carpeta:
/cuentas de usuario
/usuario/planos
/usuario/config
/datos del usuario
/usuario/imágenes
/usuario/idiomas
/usuario/páginas
/usuario/complementos
/usuario/temas
/user/accounts
La carpeta "accounts" es donde definirá las cuentas de usuario si se requieren restricciones de acceso a ciertas partes de su sitio.
/user/blueprints
La carpeta blueprints
contiene sus planos personalizados para el sitio.
/user/config
Los archivos en el directorio de configuración se utilizan para configurar el sitio web y se analizaron en el capítulo anterior.
/user/data
Los complementos pueden utilizar la carpeta data
para almacenar datos a los que podrá hacer referencia más adelante. Un buen ejemplo de un complemento que utiliza esta carpeta es el complemento Formularios que puede tomar un formulario web y almacenar los datos enviados en un archivo de texto en esta carpeta. También puedes almacenar otras cosas, como cargas de usuarios o cualquier cosa que realmente desees.
De forma predeterminada, no se puede acceder a esta carpeta a través de un navegador.
/user/images
La carpeta imágenes
se puede utilizar para almacenar sus imágenes. Se puede acceder mediante image://
.
/user/languages
La carpeta languages
contiene las distintas traducciones a otros idiomas.
/user/pages
Este es el corazón de Grav. La carpeta pages
es donde creas y editas tu contenido. Profundizaremos mucho más en el artículo sobre páginas.
/user/plugins
Un plugin puede ampliar el núcleo rápido de Grav con características particulares que pueda necesitar para su sitio web. Los plugins se pueden descargar desde GetGrav.org/downloads/plugins, o puedes desarrollar el tuyo propio.
/user/themes
Un tema convierte su contenido en un verdadero sitio web. Convierte el contenido que ha creado en HTML que un navegador comprende y muestra a su audiencia. Hay un tema base que se proporciona con Grav, pero también puedes descargar otros desde GetGrav.org/downloads/themes o incluso crear el tuyo propio.