Top Banner
PostCSS Herramientas modernas para el desarrollo de temas de WordPress
29

LPA - PostCSS€¦ · Lo que NO es PostCSS Un pre-processor Un post-procesador La sintaxis del futuro Una herramienta de limpieza u optimización

Apr 05, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: LPA - PostCSS€¦ · Lo que NO es PostCSS Un pre-processor Un post-procesador La sintaxis del futuro Una herramienta de limpieza u optimización

PostCSSHerramientas modernas para el desarrollo de temas de WordPress

Page 2: LPA - PostCSS€¦ · Lo que NO es PostCSS Un pre-processor Un post-procesador La sintaxis del futuro Una herramienta de limpieza u optimización

Diseñador UI/UXFormador

Dev especializado en WordPressActualidadBlog

dariobf.com/podcast@DarioBF

Page 3: LPA - PostCSS€¦ · Lo que NO es PostCSS Un pre-processor Un post-procesador La sintaxis del futuro Una herramienta de limpieza u optimización

Lo que NO es PostCSSUn pre-processor

Un post-procesadorLa sintaxis del futuro

Una herramienta de limpieza u optimización

Page 4: LPA - PostCSS€¦ · Lo que NO es PostCSS Un pre-processor Un post-procesador La sintaxis del futuro Una herramienta de limpieza u optimización

Lo que SI es PostCSSUna herramienta que nos permite transformar

CSS a través de JavaScript

Page 5: LPA - PostCSS€¦ · Lo que NO es PostCSS Un pre-processor Un post-procesador La sintaxis del futuro Una herramienta de limpieza u optimización

Gulp vs Grunt vs WebpackVs Broccoli vs Brunch vs ENB vs Fly vs Stylus vs

Meteor vs Duo vs Connect/Express

Page 6: LPA - PostCSS€¦ · Lo que NO es PostCSS Un pre-processor Un post-procesador La sintaxis del futuro Una herramienta de limpieza u optimización

Crédito

Page 7: LPA - PostCSS€¦ · Lo que NO es PostCSS Un pre-processor Un post-procesador La sintaxis del futuro Una herramienta de limpieza u optimización
Page 8: LPA - PostCSS€¦ · Lo que NO es PostCSS Un pre-processor Un post-procesador La sintaxis del futuro Una herramienta de limpieza u optimización

VentajasCSS Simple

VersátilModularización (lo mejor y lo peor de PostCSS)

ComunidadVelocidad

Page 9: LPA - PostCSS€¦ · Lo que NO es PostCSS Un pre-processor Un post-procesador La sintaxis del futuro Una herramienta de limpieza u optimización

Tiempos de ejecuciónPostCSS: 35 ms Rework: 38 ms (1.1 times slower) LibSass sync: 82 ms (2.3 times slower) Stylus: 87 ms (2.5 times slower) LibSass: 90 ms (2.5 times slower) Less: 91 ms (2.6 times slower) Dart Sass sync: 103 ms (2.9 times slower) Dart Sass: 169 ms (4.8 times slower) Stylecow: 199 ms (5.6 times slower)

Page 10: LPA - PostCSS€¦ · Lo que NO es PostCSS Un pre-processor Un post-procesador La sintaxis del futuro Una herramienta de limpieza u optimización

Instalación con Gulp

$ npm install --save-dev gulp-postcss

Page 11: LPA - PostCSS€¦ · Lo que NO es PostCSS Un pre-processor Un post-procesador La sintaxis del futuro Una herramienta de limpieza u optimización

gulpfile.jsvar postcss = require('gulp-postcss');

var gulp = require('gulp');

gulp.task('magiapotagia', function () {

var processors = [

//Aquí irán los diferentes plugins que vamos añadiendo

];

return gulp.src('./src/*.css')

.pipe(postcss(processors))

.pipe(gulp.dest('./dist'));

});

Page 12: LPA - PostCSS€¦ · Lo que NO es PostCSS Un pre-processor Un post-procesador La sintaxis del futuro Una herramienta de limpieza u optimización

Activamos sourcemapsvar postcss = require('gulp-postcss');

var gulp = require('gulp');

gulp.task('magiapotagia', function () {

var processors = [

//Aquí irán los diferentes plugins que vamos añadiendo

];

return gulp.src('./src/*.css')

.pipe(sourcemaps.init())

.pipe(postcss(processors))

.pipe(sourcemaps.write('.'))

.pipe(gulp.dest('./dist'));

});

Page 13: LPA - PostCSS€¦ · Lo que NO es PostCSS Un pre-processor Un post-procesador La sintaxis del futuro Una herramienta de limpieza u optimización

Pluginspostcss.parts

Page 14: LPA - PostCSS€¦ · Lo que NO es PostCSS Un pre-processor Un post-procesador La sintaxis del futuro Una herramienta de limpieza u optimización
Page 15: LPA - PostCSS€¦ · Lo que NO es PostCSS Un pre-processor Un post-procesador La sintaxis del futuro Una herramienta de limpieza u optimización

atImportUtilizar @import tanto con archivos localhost como node o web modules

Using PostCSS for Minification and Optimizationhttps://webdesign.tutsplus.com/tutorials/using-postcss-for-minification-and-optimization--cms-24568

PostCSS-import Repositoryhttps://github.com/postcss/postcss-import

Page 16: LPA - PostCSS€¦ · Lo que NO es PostCSS Un pre-processor Un post-procesador La sintaxis del futuro Una herramienta de limpieza u optimización

atImport

Page 17: LPA - PostCSS€¦ · Lo que NO es PostCSS Un pre-processor Un post-procesador La sintaxis del futuro Una herramienta de limpieza u optimización

preCSSSintaxis al estilo SASS

https://github.com/jonathantneal/precss

Page 18: LPA - PostCSS€¦ · Lo que NO es PostCSS Un pre-processor Un post-procesador La sintaxis del futuro Una herramienta de limpieza u optimización

PreCSS

Page 19: LPA - PostCSS€¦ · Lo que NO es PostCSS Un pre-processor Un post-procesador La sintaxis del futuro Una herramienta de limpieza u optimización

Nested & NestingAnidamiento de SASS

https://github.com/postcss/postcss-nested

Nesting al estilo W3C: http://tabatkins.github.io/specs/css-nesting/

Page 20: LPA - PostCSS€¦ · Lo que NO es PostCSS Un pre-processor Un post-procesador La sintaxis del futuro Una herramienta de limpieza u optimización

autoprefixerPrefijos para navegadores

https://github.com/postcss/autoprefixer

Page 21: LPA - PostCSS€¦ · Lo que NO es PostCSS Un pre-processor Un post-procesador La sintaxis del futuro Una herramienta de limpieza u optimización

Algunos máspostcss-mixins

pxtoremstylelint + reporter

cssnanocssnext

Page 22: LPA - PostCSS€¦ · Lo que NO es PostCSS Un pre-processor Un post-procesador La sintaxis del futuro Una herramienta de limpieza u optimización

@apply/* input */:root {

--toolbar-theme: {background-color: rebeccapurple;color: white;border: 1px solid green;

};--toolbar-title-theme: {

color: green;};

}

.toolbar {@apply --toolbar-theme;

}

.toolbar-title {@apply --toolbar-title-theme;

}

/* output */.toolbar {

background-color: rebeccapurple;color: white;border: 1px solid green;

}

.toolbar-title {color: green;

}

https://github.com/pascalduez/postcss-apply

Page 23: LPA - PostCSS€¦ · Lo que NO es PostCSS Un pre-processor Un post-procesador La sintaxis del futuro Una herramienta de limpieza u optimización

@custom-selector

@custom-selector :--ctas button, .button, .cta;

:--ctas { /* styles for all ctas */ }:--ctas + p { /* more styles */ }/* etc */

https://github.com/postcss/postcss-custom-selectors

Page 24: LPA - PostCSS€¦ · Lo que NO es PostCSS Un pre-processor Un post-procesador La sintaxis del futuro Una herramienta de limpieza u optimización

¿Y con WordPress?

Page 25: LPA - PostCSS€¦ · Lo que NO es PostCSS Un pre-processor Un post-procesador La sintaxis del futuro Una herramienta de limpieza u optimización

Modularizar

https://github.com/Wakkos/Wakkos-CSS-Framework

Page 26: LPA - PostCSS€¦ · Lo que NO es PostCSS Un pre-processor Un post-procesador La sintaxis del futuro Una herramienta de limpieza u optimización

AutomatizarMinificación CSS y JS: gulp-concat + gulp-uglify + gulp-rename

Pre procesado CSSOptimización imágenes: gulp-imagemin

Page 27: LPA - PostCSS€¦ · Lo que NO es PostCSS Un pre-processor Un post-procesador La sintaxis del futuro Una herramienta de limpieza u optimización

StylelintCumplir con los WordPress CSS Coding Standards

http://bit.ly/WP-CSS-Standard

https://stylelint.io/

Page 28: LPA - PostCSS€¦ · Lo que NO es PostCSS Un pre-processor Un post-procesador La sintaxis del futuro Una herramienta de limpieza u optimización
Page 29: LPA - PostCSS€¦ · Lo que NO es PostCSS Un pre-processor Un post-procesador La sintaxis del futuro Una herramienta de limpieza u optimización

dariobf.com/podcast@DarioBF

¿Preguntas?