Lo que sea de cada uno, pero personalmente no me gusta el nuevo editor de WordPress llamado Gutenberg, por lo que me puse a investigar cómo podemos desactivar Gutenberg en nuestra instalación fresca de WP.
Para la gente que es más de “arrastrar y soltar” (o para los “programadores web” de hoy en día) viene bien, pero si se está acostumbrado al viejo editor, no nos acostumbraremos tan rápido.
En fin, eso no importa mucho. Si te gusta, déjalo así. Si no, entonces ahorita verás cómo puedes desactivar el editor Gutenberg.
Esto es una opinión personal, puedes pasar al siguiente apartado y no te perderás de nada técnico.
No es que sea malo, de hecho ha sido bien recibido. Pero pasa que hoy iba a poner un fragmento de código usando Crayon (un plugin viejo que uso para resaltar el código, por cierto ya cambiaré por si en un futuro este truco ya no funciona) y no estaba el botón.
O sea, desapareció el botón que me permitía insertar un fragmento de código. Yo entiendo que es un plugin desactualizado, pero no porque no tenga soporte para nuevas versiones vas a dejarlo fuera.
Otra cosa: quería pegar un simple enlace, algo como
/**
Contar la frecuencia con la que ocurre una palabra dada una oración
Se utiliza una pila para poder tener palabras infinitas
@author parzibyte
Visita: https://parzibyte.me/blog
*/#include <stdio.h> // printf
#include <stdlib.h> // malloc y free
#include <string.h> // strcasecmp
#define MAXIMA_LONGITUD_PALABRA 100
struct DetalleDePalabra {
char palabra[MAXIMA_LONGITUD_PALABRA];
int frecuencia;
};
struct nodo {
struct DetalleDePalabra detalleDePalabra;
struct nodo *siguiente;
};
void agregar(struct DetalleDePalabra detalleDePalabra);
void agregarPalabra(char palabra[MAXIMA_LONGITUD_PALABRA]);
void imprimir(void);
// Todo comienza con el nodo superior :-)
struct nodo *superior = NULL;
int main() {
// Sin acentos, porque se imprime mal. El original es:
/*
Conocí a un viajero de una tierra antigua
quien dijo: «dos enormes piernas pétreas, sin su tronco
se yerguen en el desierto. A su lado, en la arena,
semihundido, yace un rostro hecho pedazos, cuyo ceño
y mueca en la boca, y desdén de frío dominio,
cuentan que su escultor comprendió bien esas pasiones
las cuales aún sobreviven, grabadas en estos inertes objetos,
a las manos que las tallaron y al corazón que las alimentó.
Y en el pedestal se leen estas palabras:
"Mi nombre es Ozymandias, rey de reyes:
¡Contemplad mis obras, poderosos, y desesperad!"
Nada queda a su lado. Alrededor de la decadencia
de estas colosales ruinas, infinitas y desnudas
se extienden, a lo lejos, las solitarias y llanas arenas»
*/ char granCadena[] =
"Conoci a un viajero de una tierra antigua quien dijo: dos enormes "
"piernas petreas, sin su tronco se yerguen en el desierto. A su lado, en "
"la arena, semihundido, yace un rostro hecho pedazos, cuyo cenio y mueca "
"en la boca, y desden de frio dominio, cuentan que su escultor "
"comprendio bien esas pasiones las cuales aun sobreviven, grabadas en "
"estos inertes objetos, a las manos que las tallaron y al corazon que "
"las alimento. Y en el pedestal se leen estas palabras: 'Mi nombre es "
"Ozymandias, rey de reyes: Contemplad mis obras, poderosos, y "
"desesperad' Nada queda a su lado. Alrededor de la decadencia de estas "
"colosales ruinas, infinitas y desnudas se extienden, a lo lejos, las "
"solitarias y llanas arenas";
char delimitador[] = ",;:. \n!\"'"; // coma, punto y coma, dos puntos, punto,
// espacios y saltos de línea
// Sacar el primer token
char *token = strtok(granCadena, delimitador);
// Y sacar todos los siguientes
// Por cada uno, agregar la palabra a la pila
while (token != NULL) {
agregarPalabra(token);
token = strtok(NULL, delimitador);
}
// Luego de agregar todas las palabras, imprimimos nuestra pila
imprimir();
}
void agregar(struct DetalleDePalabra detalleDePalabra) {
// El que se agregará; reservamos memoria
struct nodo *nuevoNodo = malloc(sizeof(struct nodo));
// Le ponemos el dato
nuevoNodo->detalleDePalabra = detalleDePalabra;
// Y ahora el nuevo nodo es el superior, y su siguiente
// es el que antes era superior
nuevoNodo->siguiente = superior;
superior = nuevoNodo;
}
void agregarPalabra(char palabra[MAXIMA_LONGITUD_PALABRA]) {
struct nodo *temporal = superior;
while (temporal != NULL) {
// Comprobar si la encontramos
int resultadoDeComparacion =
strcasecmp(temporal->detalleDePalabra.palabra, palabra);
// Si es 0, entonces sí
if (resultadoDeComparacion == 0) {
// Aumentar frecuencia y terminar ciclo y función
temporal->detalleDePalabra.frecuencia++;
return;
}
temporal = temporal->siguiente;
}
// Si no encontramos nada, agregamos una nueva
struct DetalleDePalabra detalleDePalabra;
strcpy(detalleDePalabra.palabra, palabra);
detalleDePalabra.frecuencia = 1; // La primera vez es 1
agregar(detalleDePalabra);
}
void imprimir(void) {
// Un simple encabezado, no hay que confundirse
char guiones[] = "--------------------";
printf("+%s+%s+\n", guiones, guiones);
printf("|%-20s|%-20s|\n", "PALABRA", "FRECUENCIA");
printf("+%s+%s+\n", guiones, guiones);
// A partir de aquí el código sí importa; simplemente recorremos la pila
struct nodo *temporal = superior;
while (temporal != NULL) {
printf("|%-20s|%-20d|\n", temporal->detalleDePalabra.palabra,
temporal->detalleDePalabra.frecuencia);
temporal = temporal->siguiente;
}
// El pie
printf("+%s+%s+\n", guiones, guiones);
}
y el editor me decía que no podía embeberlo, ¿en qué momento pedí embeberlo? sólo quería pegar un enlace y ya.
Así que bueno, el mayor problema fue que no pude encontrar una forma de pegar mi código de manera que se viera bien.
Ahora sí a lo que venimos. La historia corta es: instala este maravilloso plugin.
Puedes instalarlo desde la página dependiendo de tu versión de WP, o en tu panel de control ve a Plugins > Añadir nuevo y busca “disable gutenberg”
Una vez instalado, se debe activar y listo. Al ir a tu editor, verás el viejo confiable.
Como lo dije, no tengo nada en contra de este editor (pero no me gusta); es muy bueno y respeto la opinión de los demás, aquí sólo expongo cómo desactivarlo.
Hay que tener cuidado, presiento, y no sé por qué, que algún día este plugin no va a funcionar más. O aunque funcione, las demás cosas se actualizarán para ser compatibles con Gutenberg y dejarán el viejo editor en el olvido. En resumen, no te confíes.
Hoy te voy a presentar un creador de credenciales que acabo de programar y que…
Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…
En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…
En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…
Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…
En este artículo te voy a enseñar cómo usar un "top level await" esperando a…
Esta web usa cookies.
Ver comentarios
Comparto la opinión, no es un mal editor, pero tampoco me siento cómodo redactando por bloques, como tú, soy más de la vieja escuela.
No me gusta que sea por plugin, pero es lo que hay.
Saludos