Como `String::from()` y `.to_string()` son equivalentes, se sustituyen
todas las ocurrencias de `String::from()` por `to_string()` para mayor
coherencia y legibilidad.
- Implementa un nuevo *layout* en el tema `Basic` para crear una
plantilla de páginas de introducción.
- Añade nuevo fichero CSS `intro.css` para los estilos globales de la
página de introducción.
- Incorpora nuevos recursos gráficos para la cabecera de la página de
introducción en varios formatos (AVIF, WebP, JPEG).
- Revisa los ficheros de localización.
Renombra los tipos para atributos HTML `Id`, `Name`, `Value` (`String`),
`L10n` (`Translate`) y `Classes`. Y mueve `OptionComponent` al *core* de
componentes como `TypedSlot`.
- Amplía la documentación del componente.
- Aplica la nueva funcionalidad en la página de bienvenida usando el
nuevo renderizado dinámico con contexto.
- Añade pruebas unitarias para el componente.
- Añade nueva hoja de estilos (normalize.css) al tema básico.
- Activa la extensión de la página de bienvenida por defecto en el
registro de extensiones.
- Añade traducciones en inglés y español para el contenido de la página
de bienvenida.
- Incluye estilos CSS y recursos gráficos para el diseño y disposición
de la página de bienvenida.
- Amplia la estructura "Page" para trabajar el renderizado con regiones
de componentes para componer la página.
- Añade acciones "BeforeRenderBody" y "AfterRenderBody" para alterar el
contenido de la página antes y después del renderizado.
- Actualiza "Context" para admitir parámetros dinámicos y mejorar la
gestión de temas.
- Implementa el manejo de errores HTTP respondiendo páginas.
- Mejora la documentación y reorganiza el código en varios módulos.
- Añade acciones BeforeRender y AfterRender para ejecutar código
personalizado antes y después de renderizar un componente.
- Introduce la acción PrepareRender para personalizar totalmente el
renderizado de un componente.
- Se actualizan las definiciones de acciones para utilizar el nuevo
"trait" ActionDispatcher.
- Se crea un nuevo trait ComponentTrait para definir componentes
renderizables.
- Se implementan las estructuras Children y Child para gestionar
componentes hijos dentro de un componente padre.
- Se añade OptionComponent para encapsular de forma segura componentes
opcionales y poder usarlos en otros componentes.
Añade el interfaz común que debe implementar cualquier extensión de
PageTop para añadir nuevas funcionalidades a la aplicación en forma de
servicios web y API de uso.