grav, plugins

Plugins

Grav fue diseñado para ser simple y enfocado, tratando solo con páginas. La idea es que Grav en sí mismo sea súper liviano, proporcionando solo la funcionalidad suficiente para hacer lo básico: enrutamiento, compilación de Markdown a HTML, plantillas Twig y almacenamiento en caché.

Sin embargo, sabíamos que queríamos asegurarnos de que Grav pudiera crecer y proporcionar funcionalidad poderosa cuando fuera necesario, por lo que construimos ganchos de eventos en todo el sistema para que todo pudiera ser extendido con plugins.

¡Poderoso!

Todos los objetos clave en Grav son accesibles a través de un Contenedor de Inyección de Dependencias poderoso. Con los ganchos de eventos de Grav a lo largo de todo el ciclo de vida, puedes acceder a todo lo que Grav conoce y manipularlo según sea necesario. Con este sistema tienes control completo para agregar tanta funcionalidad como necesites.

Los plugins han resultado ser tan fáciles de escribir, tan flexibles y poderosos, ¡que no podemos dejar de crearlos! Ya tenemos más de 300 plugins descargables gratuitos que hacen de todo, desde mostrar un mapa del sitio, proporcionar migas de pan, mostrar archivos de blog, un motor de búsqueda simple, hasta proporcionar un carrito de compras totalmente funcional impulsado por JavaScript.

La mejor manera de aprender qué se puede hacer con los plugins es descargar algunos de estos y ver qué hacen y cómo lo hacen. ¡En el próximo capítulo crearemos un plugin simple desde cero!

Elementos Esenciales

Todos los plugins se encuentran en tu carpeta user/plugins. Con la instalación básica de Grav, solo se proporcionan dos plugins: error y problems.

El plugin error se utiliza para manejar errores HTTP, como 404 Página no encontrada.

El plugin problems es útil para nuevas instalaciones de Grav porque detecta cualquier problema con la configuración de alojamiento, carpetas faltantes o permisos que podrían causar problemas con Grav. Solo el plugin error es realmente esencial para un funcionamiento adecuado.

Cada plugin en la carpeta user/plugins debe tener un nombre único, y ese nombre debe definir de cerca la función del plugin. Por favor, no uses espacios, guiones bajos o letras mayúsculas en el nombre del plugin.

Acceder a los Valores de Configuración del Plugin a través de Twig

Para acceder a la configuración del plugin mediante Twig (es decir, dentro de un Tema), el formato general es:

config.plugins.pluginname.pluginproperty

Si el nombre del plugin contiene guiones, debes referirte a sus propiedades usando:

config.plugins['plugin-name'].pluginproperty

Usando Flex en los Plugins

La forma recomendada de comenzar a usar flex en un plugin es usar las herramientas de desarrollo y crear un plugin con soporte básico de Flex generado para ti: https://learn.getgrav.org/17/basics/installation#option-1-install-from-zip-package

Consulta la sección de plugins Flex para más información.