Tematizando aplicaciones Gatsby con Theme UI

Rate this content
Bookmark

Hay muchas bibliotecas CSS-in-JS para que elijamos. Imagina poder tomar tus partes favoritas de esas bibliotecas y usarlas en una sola. Aprende sobre el poder de Theme UI.

This talk has been presented at React Summit 2020, check out the latest edition of this React Conference.

FAQ

Gatsby es un marco basado en React que permite a los desarrolladores construir rápidamente sitios web y aplicaciones estáticas. Su instalación es sencilla: primero, instalas la CLI de Gatsby, luego creas un proyecto de Gatsby y inicias tu sitio con 'Gatsby develop'. Finalmente, puedes acceder a tu nuevo sitio en localhost 8000.

Theme UI es una biblioteca de estilos que permite a los desarrolladores configurar diseños para componentes a través de valores predefinidos en un objeto compartido. Se utiliza para construir sistemas de estilos configurables y reutilizables para proyectos, facilitando la personalización y el mantenimiento del diseño.

Para configurar Theme UI en Gatsby, primero debes instalar el complemento Theme UI de Gatsby, agregarlo a tu matriz de complementos, crear una carpeta 'src' y dentro de ella, una carpeta de tema. Dentro de esta carpeta, crea un archivo 'index.js' donde exportarás tu objeto Theme UI.

La propiedad Sx en Theme UI es una forma de acceder a los valores de tu objeto de tema para aplicar estilos directamente en los componentes. Utiliza claves de objeto que se refieren a las claves en tu objeto de tema, permitiendo una gran flexibilidad y control sobre el diseño.

Las variantes en Theme UI te permiten definir variaciones de estilos para componentes comunes como botones. Para aplicar una variante, utilizas la propiedad 'variant' en los componentes, seleccionando entre los objetos de estilos definidos como primarios o secundarios según el diseño deseado.

Los modos de color en Theme UI permiten crear esquemas de colores alternativos, como el modo oscuro. Se configuran agregando un objeto de modo anidado a tu objeto de colores, donde defines los estilos para cada modo. Esto te permite cambiar fácilmente entre estilos predeterminados y secundarios.

Pariss Athena
Pariss Athena
6 min
17 Jun, 2021

Comments

Sign in or register to post your comment.

Video Summary and Transcription

Bienvenido a la tematización de aplicaciones Gatsby con Theme UI. Gatsby es un marco de trabajo basado en React para construir sitios web y aplicaciones estáticas. Theme UI es una biblioteca de estilos que permite a los desarrolladores configurar diseños para componentes utilizando valores predefinidos. En Theme UI, puedes hacer referencia fácilmente a tu objeto de tema en todo tu proyecto. Las variantes te permiten definir estilos para componentes comunes como botones.
Available in English: Theming Gatsby Apps with Theme UI

1. Introducción a Gatsby y Theme UI

Short description:

Bienvenido a la personalización de aplicaciones Gatsby con Theme UI. Gatsby es un marco basado en React para construir sitios web y aplicaciones estáticas. Theme UI es una biblioteca de estilos que permite a los desarrolladores configurar diseños para componentes utilizando valores predefinidos. Proporciona una plantilla para estilos configurables y reutilizables y es fácil de instalar. Puedes acceder a los valores en tu objeto de tema utilizando la propiedad Sx.

[♪ comienza la música instrumental suave ♪ [♪ la música instrumental suave continúa ♪ [♪ la música instrumental suave continúa ♪ [♪ la música instrumental suave continúa ♪ [♪ la música instrumental suave continúa ♪ [♪ la música instrumental suave continúa ♪ [♪ la música instrumental suave continúa ♪ [♪ la música instrumental suave continúa ♪ [♪ la música instrumental suave continúa ♪ [♪ la música instrumental suave continúa ♪ [♪ la música instrumental suave continúa ♪ [♪ la música instrumental suave continúa ♪ [♪ la música instrumental suave continúa ♪ [♪ la música instrumental suave continúa ♪ [♪ la música instrumental suave termina ♪ Hola a todos. Bienvenidos a la personalización de aplicaciones Gatsby con Theme UI. Soy Paris Chandler. Soy parte del equipo de Éxito del Desarrollador en G2I. Soy un desarrollador front-end, creador de BlackTech Twitter, y fundador de BlackTech Pipeline. Entonces, para empezar, lo primero, ¿qué es Gatsby? Gatsby es un marco basado en React que permite a los desarrolladores construir rápidamente sitios web y aplicaciones estáticas. Y su instalación es muy sencilla, solo toma tres comandos. Instalas la CLI de Gatsby, creas un proyecto de Gatsby, inicias tu sitio con Gatsby develop, y luego puedes acceder a tu nuevo sitio en localhost 8000. Es tan sencillo como eso. Lo primero que verás es esta página de inicio. Y lo genial de esto es que estas páginas están optimizadas para un rendimiento y accesibilidad ideales. Viene con muchas configuraciones bajo el capó que no necesitarás configurar tú mismo. Ahora, entrando en materia, ¿qué es Theme UI? Theme UI es una biblioteca de estilos que permite a los desarrolladores configurar diseños para componentes dándoles valores predefinidos en un objeto compartido. Los desarrolladores de Theme UI llaman a esto principios de diseño basados en restricciones. En mis propias palabras, Theme UI es una plantilla para estilos configurables, reutilizables que ayudarán a construir sistemas de estilos para tus proyectos. Estos, una vez más, son muy fáciles de instalar. Solo tienes que instalar el complemento Theme UI de Gatsby, agregarlo a tu matriz de complementos, crear una carpeta src, y dentro de ella, crear la carpeta de tema del complemento Gatsby, y dentro de esa carpeta, crear un archivo index.js. Luego puedes exportar tu objeto Theme UI en ese archivo. Ah, disculpa. Bien, este es un ejemplo de un objeto Theme UI. Tienes tus colores, tus fuentes, tus tamaños de fuente y espaciado, y estos son los estilos que se definen en toda tu aplicación. Y si no quieres construir un objeto Theme UI desde cero, Theme UI tiene una herramienta de tema personalizado que te permite construir tu objeto haciendo clic, arrastrando y soltando. Creará tu objeto de tema por ti, y luego puedes copiarlo y pegarlo desde allí en tu proyecto. Hay dos formas de acceder a los valores en tu objeto de tema. Puedes usar los componentes que vienen con Theme UI y estilizarlos con la propiedad Sx. Y si no quieres usar componentes, necesitarás usar el JSX Pragma para usar la propiedad Sx, y la propiedad Sx es la única forma de acceder a los valores de tu objeto de tema. Aquí, esta es la propiedad Sx y cómo accederías a los estilos dentro de tu objeto. Te darás cuenta de que dentro de la propiedad Sx hay claves de objeto que son cadenas y eso se debe a que se refieren a las claves en tu objeto de tema. Se refieren a las claves en tu objeto de tema. Solo para darte una idea de cómo usar la propiedad Sx a un nivel básico, aquí tengo un objeto de tema con un color primario de Rebecca purple y un color secundario de coral.

2. Usando Theme UI en tu proyecto

Short description:

En Theme UI, puedes hacer referencia fácilmente a tu objeto de tema en todo tu proyecto. Las variantes te permiten definir estilos para componentes comunes como botones. Puedes anular los puntos de interrupción predefinidos y crear modos de color. Los objetos de tema son donde residen los valores de estilo para toda tu aplicación. Recuerda agregar e importar tu pragma JSX y usar la propiedad SX para acceder a tus estilos. Theme UI ofrece muchas características como variantes, puntos de interrupción y modos de color.

A continuación, en mi componente cuadrado, estoy estableciendo el color de fondo como primario y el otro como secundario. Y así de fácil es hacer referencia a tu objeto de tema en todo tu proyecto. Y este es un ejemplo de tus valores primarios y secundarios.

Luego, hay variantes que te permiten definir variaciones de estilos para componentes comunes como botones. Entonces tienes un objeto de botón con dos objetos dentro de ellos. Uno es un objeto primario con un conjunto de estilos y el otro es un objeto secundario con un conjunto de estilos. Puedes aplicar cualquiera de las variantes usando la propiedad de variante y esto funciona muy bien para cosas como botones o enlaces.

Theme UI también tiene puntos de interrupción predefinidos pero puedes anularlos con tus propios valores de puntos de interrupción. Y también hay modos de color. Los modos de color te permiten crear cosas como el modo oscuro en tu objeto de tema. Creas esos modos agregando un objeto de modo anidado a tu objeto de colores y definiendo tus estilos de modo allí. Algo importante a tener en cuenta es que todos los colores definidos en tu objeto de colores son tus colores predeterminados, y todos los colores definidos en tus modos son tus estilos secundarios.

Entonces, aunque eso fue muy rápido, repasemos lo que hemos aprendido. Los objetos de tema son donde residen los valores de estilo para toda tu aplicación. Es una herramienta personalizada que construirá tu, hay una herramienta personalizada que construirá tu objeto de tema para que lo copies y pegues. Y recuerda agregar e importar tu pragma JSX y usar la propiedad SX para acceder a tus estilos. Y Theme UI viene con muchas características geniales como variantes, puntos de interrupción, modos de color y más. Y nuevamente, soy Paris Athena. Trabajo en G2Y y soy fundadora de Blacktech Pipeline. Y espero conocerte pronto. [♪ música reproduciéndose ♪

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Rethinking CSS - Introducing Stylex
React Finland 2021React Finland 2021
25 min
Rethinking CSS - Introducing Stylex
Top Content
CSS + superpowers - bloat. How Stylex creates a zero-cost abstraction that gives CSS superpowers.
Estilos y Tematización con Restyle en React Native
React Summit Remote Edition 2020React Summit Remote Edition 2020
8 min
Estilos y Tematización con Restyle en React Native
Top Content
Today's Talk focuses on styles and theming in React Native, specifically from the perspective of the arrive app. The challenges faced with managing colors and font styles are addressed by Restyle, which provides a type-enforced system for building UI components with themability. The implementation of color palettes, spacing, and dark mode is discussed, along with the benefits of using Restyle's predefined components. TypeScript's autocompletion and other advantages are highlighted, and listeners are encouraged to explore the project on GitHub for more features.
Zero-runtime CSS-in-TypeScript with vanilla-extract
React Finland 2021React Finland 2021
29 min
Zero-runtime CSS-in-TypeScript with vanilla-extract
Can we have themeable CSS-in-TypeScript without the runtime cost? In this talk we'll have a quick look at how this can be achieved with vanilla-extract.
Estilo Seguro para Paquetes de Componentes React: Vanilla Extract CSS
React Advanced Conference 2023React Advanced Conference 2023
19 min
Estilo Seguro para Paquetes de Componentes React: Vanilla Extract CSS
Today's Talk introduces Vanilla Extract CSS, a type-safe styling method for React applications. It combines the benefits of scoped styling, zero runtime overhead, and a great developer experience. Vanilla Extract generates a static CSS file at build time, resulting in better performance. It is framework agnostic and offers a powerful toolkit, including Sprinkles for utility classes and CSS utils for calculations. With type safety and the ability to define themes and variants, Vanilla Extract makes it easy to create efficient, scalable, and maintainable design system component packages.
Pasando de Css-In-Js en tiempo de ejecución a gran escala
React Summit 2023React Summit 2023
29 min
Pasando de Css-In-Js en tiempo de ejecución a gran escala
This Talk explores the evolution of styling architecture, dynamic theming with style components, and optimizing style updates. It discusses the challenges of CSS migration and the choice between JavaScript and CSS native tooling. The Talk also touches on CSS tools and libraries, including Tailwind CSS and CSS in JS major libraries like MUI. The importance of picking a stack based on team members' strengths and the use of namespacing CSS for conflict-free dependency trees are highlighted.
Nuevos modos de renderizado en Gatsby v4
React Advanced Conference 2021React Advanced Conference 2021
24 min
Nuevos modos de renderizado en Gatsby v4
Gatsby V4 introduces deferred static generation (DSG), combining the benefits of static site generation (SSG) and server-side rendering (SSR). This approach allows for faster builds and a more deterministic cache. Gatsby V4 also includes features such as parallel query running and LMDB for enhanced performance. The focus is on integrations and improving the developer experience (DX) in the future.

Workshops on related topic

Masterclass Intermedio Gatsby
React Summit Remote Edition 2021React Summit Remote Edition 2021
207 min
Masterclass Intermedio Gatsby
Workshop
Sid Chatterjee
Sid Chatterjee
Con Gats v3 recién lanzado, aprende a construir sitios web modernos, eficientes y accesibles desde uno de los mantenedores del proyecto, Sid Chatterjee.