Inicio - page 2

Quitar javascript del tema padre en WordPress

Quitar javascript del tema padre en WordPress

He estado un buen rato probando diferentes ejemplos en los que había gente que conseguía quitar, desde un tema hijo, código Javascript del padre. Es algo que yo he necesitado porque no me interesaba ampliar la funcionalidad sino evitar que cierto código mal escrito se ejecutara. En lugar de «guarrear» el tema original y perder los cambios cuando el autor lo actualice (ya me ha pasado), al final he optado por hacer que el Javascript del padre no se cargue para, en su lugar, cargarse uno mío modificado.

Lo que he tenido que hacer entonces es, primero dejar que el tema haga sus cosas, luego eliminar la carga del archivo problemático y luego añadir el mío. Dejo aquí el código porque me ha costado un buen rato encontrarlo:

// Añado mi Javascript 
wp_enqueue_script( 
  "duranda_bbwp_custom_js",
  get_stylesheet_directory_uri()."/javascript/custom.js",
  array( 'triggeronview' ), '', true ); 

// Elimino el del padre
add_action(
  'wp_print_scripts',
  'duranda_theme_setup', 100 );

function duranda_theme_setup() { 
  wp_deregister_script( 'custom' ); 
} 

Con esto y un bizcocho, hasta mañana a las… bueno, hasta mañana a las «no antes de las 12 🙂

A cuidarse!

Compilador LALR en «El Día del Tentáculo»

Compilador LALR en «El Día del Tentáculo»

Hoy os dejo una curiosidad que me ha arrancado una buena sonrisa. Hace bastantes años que jugué al juego «El Día del Tentáculo» (Day of the Tentacle, en inglés). Me lo habré pasado unas 8 0 9 veces, a veces juego sólamente por recordar viejos tiempos.

El Día del Tentáculo

El Día del Tentáculo

Pues bien, hoy me he dado cuenta de algo en lo que hasta ahora no había caído. Si habéis jugado, sabréis que hay un momento en el que el «gordo heavy» Hoagie tiene que dormir a un caballo leyéndole un libro de texto.

Continue reading →

Notificaciones de escritorio desde la consola

Notificaciones de escritorio desde la consola

El comando notify-send permite lanzar notificaciones de escritorio para informar de determinados eventos. Son mensajes como los que vemos cuando recibimos un email, cuando una descarga termina, cuando la batería se acaba y similares.

En ocasiones puede interesarnos que un script que hemos escrito nos lance algún aviso visible aunque no tengamos abierta una consola. Si no queremos tener que estar revisando los logs contínuamente para saber si nuestro evento se ha producido el comando notify-send puede resultarnos de gran utilidad.

Aquí un ejemplo de como se utiliza, pero para ver toda la información lo mejor es acudir al manual.

notify-send "Lampa Backup" "Websites backup successful." -i /usr/share/pixmaps/transmission.png

El fragmento anterior es un mensaje que tengo puesto yo en un script que me descarga backups del servidor donde tengo alojadas las webs cada semana. En próximas entregas os lo enseñaré por si os puede resultar útil. Pero antes os hablaré del comando crontab, que permite programar tareas para que se ejecuten periódicamente.

Pero para todo eso habrá que esperar, que ahora me voy a dormir :-).

Acceder al scope de AngularJS desde la consola del navegador

Acceder al scope de AngularJS desde la consola del navegador

Hoy he necesitado hacer unas pruebas y correcciones en el código de un proyecto pero no tenía acceso a la VPN, así que no podía entrar ni a los entornos de pruebas ni al repositorio de código.

Se trataba de una aplicación hecha con AngularJS, así que se me ha ocurrido que, al ser Javascript, a lo mejor podía acceder a las variables desde la consola y hacer las pruebas directamente desde el navegador.

Un tal Michal hablaba de cómo obtener referencias al $scope en esta entrada de su blog. Siguiendo sus ejemplos he conseguido lo que necesitaba, así que lo dejo aquí por si a alguien le sirve:

Una cosa que no sabía es que AngularJS añade a jQuery algunas opciones y utilidades, como la que vais a ver a continuación. Podemos obtener el nodo jQuery del que queremos sacar el $scope, y luego llamar a su método scope, que ha sido añadido por Angular para facilitarnos la vida. Veamos:

var $scope = $('#nuestro_elemento').scope()

Otra forma de conseguir el $scope es utilizar la función element de AngularJS, que espera el nodo asociado. Este parámetro podemos pasarlo de distintas formas, como por ejemplo:

// Mediante el selector CSS
var nodo = '#nuestro_elemento';

// Mediante el nodo jQuery 
var nodo = $('#nuestro_elemento'); 

// Mediante el nodo del DOM
var nodo = document.getElementById('nuestro_elemento');

// Obtenemos el $scope 
var $scope = angular.element(nodo).scope();

Una vez lo tenemos podemos, por ejemplo, modificar una función de validación para que diga que los datos siempre son correctos:

$scope.nombre = 'Luis';
$scope.esNombreValido = function() { return true; }

// Notificamos a AngularJS para que se entere
// de los cambios 
$scope.$apply()

Leyendo la documentación seguro que hay muchas más cosas interesantes para contar, pero eso ya lo dejo para otro día.

Hasta la próxima! 🙂

Acceder por SSH sin utilizar la contraseña

Acceder por SSH sin utilizar la contraseña

Estos días me he visto en la necesidad de copiar archivos entre diferentes máquinas y he tenido que crear scripts para automatizar las tareas. Me he topado con un problema con el que no me había encontrado antes, y es que el comando scp pide al usuario que teclee la contraseña. ¿Cómo voy a programar una copia si no estoy delante del ordenador para introducir la contraseña?

En esta entrada voy a explicar cómo acceder a un servidor por SSH sin utilizar la contraseña. En su lugar, utilizaremos un par de claves pública y privada con el que nos identificaremos ante el servidor al que queremos conectarnos.

En primer lugar, generamos nuestras claves:

ssh-keygen -t rsa

Dejamos la contraseña en blanco. El programa generará una clave privada (que guardaremos en nuestra máquina) y una pública que daremos a diestro y siniestro. Estas claves se crean por defecto en la carpeta ~/.ssh.

Ahora hay que añadir nuestra clave pública al archivo authorized_keys del servidor remoto, que se encuentra también en la carpeta ~/.ssh del usuario que vamos a utilizar.

# Creamos la carpeta si no existe 
ssh usuario@10.0.1.23 mkdir -p .ssh
usuario@10.0.1.23's password:

# Vamos a nuestra home
cd

# Añadimos nuestra clave pública
cat $HOME/.ssh/id_rsa.pub | ssh usuario@10.0.1.23 "cat >> .ssh/authorized_keys" 
usuario@10.0.1.23's password:

Listo, si ahora accedemos de nuevo ya no nos volverá a pedir la contraseña.

Page 2 of 6 1 2 3 4 5 ... Last →