Skip to content

Instantly share code, notes, and snippets.

@prykon
Last active September 4, 2019 15:46
Show Gist options
  • Save prykon/519f929703be3b9aa3fb3052fe2a19f5 to your computer and use it in GitHub Desktop.
Save prykon/519f929703be3b9aa3fb3052fe2a19f5 to your computer and use it in GitHub Desktop.
UDF para Google Sheets que permite categorizar gran cantidad de entradas
function categorizar(slug) {
//Escribí un array para cada categoría y llenalo de keywords
var keywords_tutoriales = [
"tutorial", "how-to", "guide", "step-by-step",
];
var keywords_links = [
"link", "anchor",
];
var keywords_contenido = [
"content", "text", "copywriting", "post", "blog",
];
var keywords_tecnicas = [
"core", "rankbrain", "penguin", "panda", "hummingbird", "diversity", "unnamed", "medic",
"maccabees", "fred", "possum", "mobilegeddon", "pigeon", "everflux", "pagerank", "page-rank",
"sandbox", "penalty", "penalties", "google-bot", "googlebot", "mobile", "phone", "301", "200",
"404", "403", "503", "302", "tag", "robots", "html", "javascript", "php", "keyword", "key-phrase",
"domain", "directory", "htaccess", "redirect", "tool",
];
var output = "";
//Cada array debe tener un loop que devuelva el nombre de la categoría
for (i=0; i <= keywords_tutoriales.length-1; i++)
{if (slug.toLowerCase().indexOf(keywords_tutoriales[i]) >= 0){output += "tutoriales" + ", ";}}
for (i=0; i <= keywords_links.length-1; i++)
{if (slug.toLowerCase().indexOf(keywords_links[i]) >= 0){output += "links" + ", ";}}
for (i=0; i<= keywords_contenido.length-1;i++)
{if (slug.toLowerCase().indexOf(keywords_contenido[i]) >= 0){output += "contenido" +", ";}}
for (i=0; i<= keywords_tecnicas.length-1;i++)
{if (slug.toLowerCase().indexOf(keywords_tecnicas[i]) >= 0){output += "técnico" + ", ";}}
//Si no encuentra una categoría, lo categoriza como 'otros'
if (!output){
output = "otros";
} else {
//sacarle el ', ' final
output = output.substring(0,output.length - 2);
output = output.split(", ");
//eliminar duplicados
var output_unique = [];
for (o=0; o <= output.length-1;o++){
if(output_unique.indexOf(output[o]) == -1) {
output_unique.push(output[o]);
}
}
//ordenar el array alfabéticamente
output = output_unique.sort();
output = output.toString();
}
return output;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment