🔹 Crea tu propio generador de verborrea y hazte rico
1. Crea un Google Sheet
Métele las frases o palabras a las columnas con los distintos valores que quiere que tenga el texto final.
Haz que sea público (desde el menú Archivo > Publicar en la web) para poder tener los datos en JSON a partir de una URL con el ID del sheet.
https://spreadsheets.google.com/feeds/cells/10YzWPoE9PKsDUU9xt6LoOe7W_Qc-9l4vzfkhQ7JUW3o/1/public/values?alt=json-in-script&callback=doData1
2. Código HTML donde mostrar el generador
Mete este código HTML en tu contenido (si es un WordPress, en la pestaña «HTML») para mostrar el generador de texto y el botón que lo va generando cada vez que se hace clic en él.
<div id="plantilla1"></div> <button id="button1" type="submit">Clic aquí</button>
3. Código JavaScript en tu web
Meterlo en apartados que traiga la plantilla por defecto para ello o usando algún plugin como este https://es.wordpress.org/plugins/simple-embed-code/.
<script type="text/javascript">
var spData1 = null;
var matriz1 = [];
var divPlantilla1 = 'plantilla1';
var buttonPlantilla1 = 'button1';
function doData1(json) {
spData1 = json.feed.entry;
if(spData1){
readData(spData1, matriz1);
generaPlantilla(matriz1, divPlantilla1);
}
document.getElementById(buttonPlantilla1).addEventListener('click', function()
{
generaPlantilla(matriz1, divPlantilla1)
});
}
function readData(data, matriz) {
for(var r=0; r<data.length; r++) {
var cell = data[r]["gs$cell"];
var val = cell["$t"];
if (cell.row>1) {
if(matriz[cell.col-1]){
matriz[cell.col-1].push(val);
}
else {
matriz[cell.col-1] = [val];
}
}
}
}
String.prototype.format = function() {
a = this;
for (k in arguments) {
a = a.replace("{" + k + "}", arguments[k])
}
return a;
}
function generaPlantilla(matriz, divPlantilla) {
var plantilla = matriz[0][Math.floor(Math.random() * matriz[0].length)];
var argumentos = [];
for(var i=1; i<matriz.length; i++) {
argumentos.push(matriz[i][Math.floor(Math.random() * matriz[i].length)]);
}
var textoFinal = plantilla.format.apply(plantilla, argumentos);
if(document.getElementById(divPlantilla))
document.getElementById(divPlantilla).innerHTML = textoFinal;
}
</script>
<script src="https://spreadsheets.google.com/feeds/cells/10YzWPoE9PKsDUU9xt6LoOe7W_Qc-9l4vzfkhQ7JUW3o/1/public/values?alt=json-in-script&callback=doData1"></script>
Si además quieres que la gente pueda tuitear las frases de tu generador de texto, basta con que añadas este código (el que te marco con colores) dentro de la función generaPlantilla. Así, al hacer clic en el texto se abrirá una ventana de twitter para tuitearlo.
function generaPlantilla(matriz, divPlantilla) { var plantilla = matriz[0][Math.floor(Math.random() * matriz[0].length)]; var argumentos = []; for(var i=1; i<matriz.length; i++) { argumentos.push(matriz[i][Math.floor(Math.random() * matriz[i].length)]); } var textoFinal = plantilla.format.apply(plantilla, argumentos); if(document.getElementById(divPlantilla)) document.getElementById(divPlantilla).innerHTML = textoFinal; if(document.getElementById(divPlantilla)) document.getElementById(divPlantilla).addEventListener('click', function(){ window.open('https://twitter.com/intent/tweet?url=https%3A%2F%2Fmiposicionamientoweb.es%2Fclickseo%2F&via=rubenalonsoes&text='+textoFinal+'&hashtags=ClickSEO', '_blank', 'height=350,width=550,resizable=1,scrollbars=yes'); }); }
En ese código verás que puedes definir lo que quieras que tenga el tweet (además del texto generado):
- Una URL: como ves, tiene que estar codificada, pero puedes usar esta herramienta para codificar la URL que quieras poner. En mi caso he puesto https://miposicionamientoweb.es/clickseo/.
- Un usuario: aquí pon el «vía» del usuario de twitter que quieras mencionar en el tweet, como el tuyo. En mi caso he puesto rubenalonsoes.
- Un hashtag: también puedes usar un hashtag si quieres. En mi caso he puesto #ClickSEO.
🚩 Resultado
Este es el resultado de cómo quedaría. Como ves, le he añadido el «bonus» (y un poquito de «estilo») para que se pueda compartir la frase generada en Twitter. Ahora ya sabes lo que tienes que hacer…
¡Probarlo y tuitearlo! 💪