diff --git a/.gitignore b/.gitignore index dfcf93b..229f88f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,2 @@ +.gitignore makefile - -Scripts/* \ No newline at end of file diff --git a/Scripts/index.js b/Scripts/index.js new file mode 100644 index 0000000..d38abf1 --- /dev/null +++ b/Scripts/index.js @@ -0,0 +1,43 @@ +"use strict"; +const techDescription = document.getElementById('techDescription'); +const techs = [ + { iconId: 'inoTechIcon', description: 'Arduino: Proyectos de electrónica y prototipos' }, + { iconId: 'cTechIcon', description: 'C: Mi lenguaje de programación principal' }, + { iconId: 'gitTechIcon', description: 'Git: Control de versiones de mis proyectos' }, + { iconId: 'linuxTechIcon', description: 'Linux: Uso diario y administración' }, + { iconId: 'rpiTechIcon', description: 'Raspberry Pi: Servidores caseros y homelabs' } +]; +if (!techDescription) { + alert('ERROR: No se ha encontrado el elemento "techDescription"'); +} +else { + techs.forEach(tech => { + const icon = document.getElementById(tech.iconId); + if (!icon) { + alert('ERROR: elemento con ID ${tech.iconID} no encontrado'); + return; + } + icon.addEventListener('mouseenter', () => { + techDescription.innerText = tech.description; + switch (tech.iconId) { + case 'inoTechIcon': + techDescription.style.color = 'aqua'; + break; + case 'cTechIcon': + techDescription.style.color = '#1578fa'; + break; + case 'gitTechIcon': + techDescription.style.color = 'orangered'; + break; + case 'linuxTechIcon': + techDescription.style.color = 'yellow'; + break; + case 'rpiTechIcon': + techDescription.style.color = '#FB266A'; + break; + default: + break; + } + }); + }); +} diff --git a/Scripts/index_en.js b/Scripts/index_en.js new file mode 100644 index 0000000..3430fb0 --- /dev/null +++ b/Scripts/index_en.js @@ -0,0 +1,43 @@ +"use strict"; +const techDescription_en = document.getElementById('techDescription'); +const techs_en = [ + { iconId: 'inoTechIcon', description: 'Arduino: Electronics projects and prototyping' }, + { iconId: 'cTechIcon', description: 'C: My main programming language' }, + { iconId: 'gitTechIcon', description: 'Git: Version control for all my projects' }, + { iconId: 'linuxTechIcon', description: 'Linux: Daily use and administration' }, + { iconId: 'rpiTechIcon', description: 'Raspberry Pi: Home servers and homelabs' } +]; +if (!techDescription_en) { + alert('ERROR: No se ha encontrado el elemento "techDescription"'); +} +else { + techs_en.forEach(tech => { + const icon = document.getElementById(tech.iconId); + if (!icon) { + alert('ERROR: elemento con ID ${tech.iconID} no encontrado'); + return; + } + icon.addEventListener('mouseenter', () => { + techDescription_en.innerText = tech.description; + switch (tech.iconId) { + case 'inoTechIcon': + techDescription_en.style.color = 'aqua'; + break; + case 'cTechIcon': + techDescription_en.style.color = '#1578fa'; + break; + case 'gitTechIcon': + techDescription_en.style.color = 'orangered'; + break; + case 'linuxTechIcon': + techDescription_en.style.color = 'yellow'; + break; + case 'rpiTechIcon': + techDescription_en.style.color = '#FB266A'; + break; + default: + break; + } + }); + }); +}