Usar Font Awesome con Grunt

Parte de lo que ando haciendo últimamente con Laravel incluye el manejo de assets, y aunque hay algunos paquetes para el manejo de estos dentro de Laravel, la mejor opción parece ser usar Bower y Grunt, y la verdad es una maravilla.

En el proyecto con el que ando trabajando quiero usar Font Awesome para aprovechar la variedad de iconos que trae, y para eso necesitamos tanto el CSS (o SCSS en mi caso) como las fuentes que trae.

Primero que nada es instalar los assets con Bower, nuestro .bowerrc
es:

Y el bower.json:

Con esto corremos un bower install y esperamos que descargue los componentes. Para compilar el SCSS usamos el modulo grub-contrib-sass con la siguiente configuración:

En la pagina del plugin de grunt explica la configuración, pero básicamente le decimos que nos compile el archivo app.scss en app.css, y dependiendo del ambiente en que queramos, si lo compila expandido (para desarrollo) o minificado (para producción). La opcion de compass: true es debido a que estoy usando Foundation y con esto nos lee el archivo config.rb de Compass.

Dentro de mi app.scss solamente importo el SCSS de Font Awesome y listo, tenemos el CSS. ¿Y que pasa con las fuentes? Para esto uso el plugin grunt-contrib-copy, el cual como su nombre lo dice nos sirve para solamente copiar archivos. La configuración vendría siendo algo como esto:

¡Y listo! Con esto nos copia todos los archivos de la carpeta Font-Awesome/fonts a public/fonts que es la ruta por default que usa el CSS de Font Awesome (considerando que nuestro css default esta en public/css/app.css).

Espero les ayude 🙂

Filtro de palabras en PHP

A raíz de un tema que vi en un foro, se me ocurrió hacer una pequeña función en PHP para censurar ciertas palabras en un texto. En realidad es bastante simple lo que hace, y gracias al poder de las expresiones regulares tiene muchas posibilidades. Aqui dejo la función y después paso a comentarla.

Ahora la explicación:

  • Línea 3: Aquí se definen las palabras a buscar separadas por coma. Se puede hacer uso de comodines. Por ejemplo, “_p?uta_” censura “_puta_” y “_uta_”; “_pendej[ao]s?_” censura “_pendeja_”, “_pendejo_”, “_pendejos_”, “_pendejas_”.
  • Línea 5: Dividimos las palabras en un arreglo.
  • Línea 6: Limpiamos los posibles espacios en blanco alrededor de la palabra.
  • Línea 7: Las unimos con el caracter |.
  • Línea 9: El segundo parámetro es opcional. Si se pone, se retorna la cadena del primer parámetro con las palabras prohibidas reemplazadas por el texto que se haya pasado como segundo parámetro. Si no se especifica el segundo parámetro, entonces la función retorna verdadero en caso de que se haya encontrado alguna palabra en el texto o falso en caso de que la cadena este limpia.