Extra Block Types (EBT) - Nueva experiencia con Layout Builder❗

Extra Block Types (EBT): tipos de bloques con estilo y personalizables: Presentaciones de diapositivas, Pestañas, Tarjetas, Acordeones y muchos más. Configuraciones integradas para fondo, DOM Box y plugins de JavaScript. Experimenta hoy el futuro de la construcción de diseños.

Módulos de demostración EBT Descargar módulos EBT

❗Extra Paragraph Types (EPT) - Nueva experiencia con Paragraphs

Extra Paragraph Types (EPT): conjunto de módulos basado en párrafos de forma análoga.

Módulos de demostración EPT Descargar módulos EPT

Scroll

7.2. Creación de temas basados en Bootstrap. Compilación de SASS mediante Gulp

04/05/2025, by Ivan

En la lección anterior, vimos cómo compilar LESS usando el observador integrado de PhpStorm. En este tutorial, crearemos un tema basado en Bootstrap con SASS. Si no puedes manejar LESS y su compilación a través de PhpStorm, puedes probar usar Gulp y SASS. En esta etapa de las lecciones, no importa si usas LESS o SASS. Pero recomendaría usar SASS y Gulp, ya que la compilación es más rápida y la configuración de Gulp es más sencilla.

Gulp es un gestor de tareas para JavaScript. Lo usaremos para agregar dos tareas: una para rastrear cambios en la carpeta sass cuando agreguemos estilos y otra para compilar SASS a CSS.

Pasa a la instalación. Ya tengo Drupal instalado. Ahora necesitas descargar el tema de Bootstrap y colocarlo en la carpeta /themes:

https://www.drupal.org/project/bootstrap

Para usar SASS en los subtemas de Bootstrap, debemos usar este kit llamado sass:

sass

Copia esta carpeta sass a la carpeta /themes por separado de bootstrap y renómbrala con el nombre de tu tema. En mi caso será drupalbook:

bootstrap

Ahora necesitas renombrar todos los archivos que tengan THEMENAME al nombre de tu tema. Por ejemplo, THEMENAME.starterkit.yml debe cambiarse a drupalbook.info.yml. THEMENAME.libraries.yml se convertirá en drupalbook.libraries.yml, etc. No olvides renombrar los archivos en la carpeta config, ya que también tienen THEMENAME:

settings

Dentro de los archivos también puede haber menciones de THEMENAME, por ejemplo, en sass/config/schema/THEMENAME.schema.yml:

themename

Para asegurarte de no haber olvidado nada, busca "THEMENAME" en toda la carpeta del subtema usando PhpStorm:

find

find a path

Ahora descarga Bootstrap y colócalo en /themes/drupalbook/bootstrap:

https://getbootstrap.com/docs/4.3/getting-started/download/

Nos interesa la versión SASS de Bootstrap:

download

Asegúrate que la carpeta bootstrap esté en la ruta /themes/drupalbook/bootstrap/assets:

assets

Ahora incluiremos Gulp para compilar SASS.

Primero, instala Node.js:

https://nodejs.org/en/

npm

Tras instalar Node.js, reinicia PhpStorm o la consola CMD si estaba abierta. Verifica que Node.js se haya instalado correctamente escribiendo node -v:

cmd

Luego navega con la consola hasta la carpeta de tu tema usando el comando cd y ejecuta:

npm init

isc

Ejecuta los siguientes comandos para instalar Gulp y gulp-sass:

npm install --save-dev gulp
npm install --save-dev gulp-sass

npm install

Si usas Gulp 4.x, tu archivo Gulpfile.js será:

var gulp = require('gulp'),
    sass = require('gulp-sass'),
    concat = require('gulp-concat'),
    uglify = require('gulp-uglify');

var paths = {
  styles: {
    src: 'scss/**/*.scss',
    dest: 'css'
  }
};

function styles() {
  return gulp
   .src(paths.styles.src, { sourcemaps: true })
   .pipe(sass())
   .pipe(gulp.dest(paths.styles.dest));
}

function watch() {
  gulp.watch(paths.styles.src, styles);
}

var build = gulp.parallel(styles, watch);
gulp.task(build);
gulp.task('default', build);

Crea también la carpeta css y dentro un archivo style.css:

style

Luego, en PhpStorm, haz clic derecho sobre Gulpfile.js y selecciona "Show Gulp Tasks", elige la tarea "default":

themes

default

Ahora, cada vez que cambies archivos SASS, Gulp recompilará automáticamente en CSS.

css

El CSS compilado aparecerá en style.css y, por ejemplo, cambiará el fondo del sitio a amarillo:

yellow

Parece complejo al principio, pero si ya tienes Node.js, solo necesitas agregar Gulpfile.js e instalar dos paquetes. Si tienes problemas, comenta para obtener ayuda.