+
+
{{ proj.started_at | short_date }}
diff --git a/src/model/skills.ts b/src/model/skills.ts
index 6eebd73..3d7ae07 100644
--- a/src/model/skills.ts
+++ b/src/model/skills.ts
@@ -46,11 +46,12 @@ export enum tID {
RnD,
}
-interface tSkill {
+export interface tSkill {
icon: string|null;
name: string;
link: string;
tags: string[];
+ info: string;
}
export type tSkills = { [id in tID]: tSkill };
@@ -61,18 +62,21 @@ export const Skills: tSkills = {
link: 'https://mariadb.org',
icon: 'skills/mariadb.svg',
tags: ['web', 'storage'],
+ info: "",
},
[tID.Postgres]: {
name: 'PostgreSQL',
link: 'https://postgresql.org',
icon: 'skills/postgres.svg',
tags: ['web', 'storage'],
+ info: "",
},
[tID.Mongo]: {
name: 'MongoDB',
link: 'https://mongodb.com',
icon: 'skills/mongo.svg',
tags: ['web', 'storage'],
+ info: "",
},
[tID.Vue]: {
@@ -80,30 +84,35 @@ export const Skills: tSkills = {
link: 'https://vuejs.org',
icon: 'skills/vue.svg',
tags: ['web', 'UI'],
+ info: "I started learning Vue (.js) back in 2016, and never stopped practicing since then for personal and professional projects. I view it as a better alternative than angular which provides you with a strict framework that can lack flexibility among teams and projects.
Vue makes it your responsability to properly structure your project which I like to take care of myself, as it tends to provide a better workflow adjusted for every project.
It is my top choice when considering a web framework for rendering pages.",
},
[tID.Angular]: {
name: 'Angular
(7+)',
link: 'https://angular.io',
icon: 'skills/angular.svg',
tags: ['web', 'UI'],
+ info: "",
},
[tID.Parcel]: {
name: 'Parcel',
link: 'https://parceljs.org/',
icon: 'skills/parcel.svg',
tags: ['web'],
+ info: "",
},
[tID.Cordova]: {
name: 'Apache Cordova',
link: 'https://cordova.apache.org/',
icon: 'skills/cordova.svg',
tags: ['system', 'web', 'mobile'],
+ info: "",
},
[tID.Webpack]: {
name: 'Webpack',
link: 'https://webpack.js.org/',
icon: 'skills/webpack.svg',
tags: ['web'],
+ info: "",
},
[tID.WebGL]: {
@@ -111,18 +120,21 @@ export const Skills: tSkills = {
link: 'https://www.khronos.org/webgl/',
icon: null,
tags: ['web'],
+ info: "",
},
[tID.AudioAPI]: {
name: 'Audio API',
link: 'https://webaudio.github.io/web-audio-api/',
icon: null,
tags: ['web'],
+ info: "",
},
[tID.Websocket]: {
name: 'Websocket',
link: 'https://tools.ietf.org/html/rfc6455',
icon: null,
tags: ['web', 'networking', 'IoT'],
+ info: "",
},
[tID.Docker]: {
@@ -130,36 +142,42 @@ export const Skills: tSkills = {
link: 'https://docker.com',
icon: 'skills/docker.svg',
tags: ['web', 'system'],
+ info: "",
},
[tID.Bash]: {
name: 'bash',
link: 'https://www.gnu.org/software/bash/',
icon: null,
tags: ['system'],
+ info: "",
},
[tID.Linux]: {
name: 'GNU/Linux',
link: 'https://www.linux.org',
icon: 'skills/linux.svg',
tags: ['system'],
+ info: "",
},
[tID.Systemd]: {
name: 'systemd',
link: 'https://freedesktop.org/wiki/Software/systemd/',
icon: null,
tags: ['system'],
+ info: "",
},
[tID.Git]: {
name: 'Git',
link: 'https://git-scm.com/',
icon: 'skills/git.svg',
tags: ['system', 'organization'],
+ info: "",
},
[tID.Rpm]: {
name: 'RPM packaging',
link: 'https://rpm.org/',
icon: null,
tags: ['system'],
+ info: "",
},
[tID.RaspBerry]: {
@@ -167,12 +185,14 @@ export const Skills: tSkills = {
link: 'https://raspberrypi.org',
icon: 'skills/raspberry.svg',
tags: ['system', 'IoT'],
+ info: "",
},
[tID.Arduino]: {
name: 'Arduino',
link: 'https://arduino.cc',
icon: 'skills/arduino.svg',
tags: ['system', 'IoT'],
+ info: "",
},
[tID.Php]: {
@@ -180,60 +200,70 @@ export const Skills: tSkills = {
link: 'https://www.php.net',
icon: 'skills/php.svg',
tags: ['language', 'web', 'IoT'],
+ info: "",
},
[tID.Html]: {
name: 'HTML5',
link: 'https://www.w3.org/standards/webdesign/htmlcss',
icon: 'skills/html.svg',
tags: ['language', 'web', 'UI'],
+ info: "",
},
[tID.Css]: {
name: 'CSS3',
link: 'https://www.w3.org/standards/webdesign/htmlcss',
icon: 'skills/css.svg',
tags: ['language', 'web', 'UI'],
+ info: "",
},
[tID.Js]: {
name: 'Javascript',
link: 'http://www.ecma-international.org/publications-and-standards/standards/ecma-262/',
icon: 'skills/js.svg',
tags: ['language', 'web', 'UI'],
+ info: "",
},
[tID.Ajax]: {
name: 'AJAX',
link: 'https://www.w3schools.com/xml/ajax_intro.asp',
icon: null,
tags: ['web', 'networking'],
+ info: "",
},
[tID.Ts]: {
name: 'Typescript',
link: 'https://www.typescript.org/',
icon: 'skills/ts.svg',
tags: ['language', 'web', 'UI'],
+ info: "",
},
[tID.C]: {
name: 'C (lang)',
link: 'https://www.open-std.org/jtc1/sc22/wg14/',
icon: 'skills/c.svg',
tags: ['language', 'system'],
+ info: "",
},
[tID.Cpp]: {
name: 'C++',
link: 'https://isocpp.org/',
icon: 'skills/cpp.svg',
tags: ['language', 'system'],
+ info: "",
},
[tID.Python]: {
name: 'Python',
link: 'https://python.org/',
icon: 'skills/python.svg',
tags: ['language', 'system'],
+ info: "",
},
[tID.Go]: {
name: 'Go (lang)',
link: 'https://go.dev',
icon: 'skills/go.svg',
tags: ['language', 'system', 'IoT', 'networking'],
+ info: "",
},
[tID.Qt]: {
@@ -241,6 +271,7 @@ export const Skills: tSkills = {
link: 'https://qt.io',
icon: 'skills/qt.svg',
tags: ['language', 'system', 'IoT', 'networking'],
+ info: "",
},
[tID.OpenSource]: {
@@ -248,89 +279,104 @@ export const Skills: tSkills = {
link: 'https://opensource.org/',
icon: null,
tags: ['human'],
+ info: "",
},
[tID.Electronics]: {
name: 'Electronics',
link: 'https://en.wikipedia.org/wiki/Electronics',
icon: 'skills/electronics.svg',
tags: ['other', 'IoT'],
+ info: "",
},
[tID.Web]: {
name: 'Web',
link: 'https://en.wikipedia.org/wiki/World_Wide_Web',
icon: null,
tags: ['web'],
+ info: "",
},
[tID.Rest]: {
name: 'REST',
link: 'https://en.wikipedia.org/wiki/Representational_state_transfer',
icon: null,
tags: ['web', 'networking'],
+ info: "",
},
[tID.Crypto]: {
name: 'Security/crypto',
link: 'https://en.wikipedia.org/wiki/Cryptography',
icon: 'skills/security.svg',
tags: ['system', 'networking'],
+ info: "",
},
[tID.ImageProcessing]: {
name: 'Image processing',
link: 'https://en.wikipedia.org/wiki/Digital_image_processing',
icon: 'skills/image-processing.svg',
tags: ['system'],
+ info: "",
},
[tID.AI]: {
name: 'Artificial Intelligence',
link: 'https://en.wikipedia.org/wiki/Artificial_intelligence',
icon: null,
tags: ['other'],
+ info: "",
},
[tID.DeepLearning]: {
name: 'Deep Learning',
link: 'https://en.wikipedia.org/wiki/Deep_learning',
icon: null,
tags: ['other'],
+ info: "",
},
[tID.NeuralNetwork]: {
name: 'Neural Networks',
link: 'https://en.wikipedia.org/wiki/Artificial_neural_network',
icon: null,
tags: ['other'],
+ info: "",
},
[tID.Opti]: {
name: 'Program optimization',
link: 'https://en.wikipedia.org/wiki/Program_optimization',
icon: 'skills/opti.svg',
tags: ['system', 'networking'],
+ info: "",
},
[tID.Sockets]: {
name: 'Sockets',
link: 'https://en.wikipedia.org/wiki/Computer_network_programming',
icon: null,
tags: ['system', 'networking', 'IoT', 'web'],
+ info: "",
},
[tID.Concurrency]: {
name: 'Concurrency',
link: 'https://en.wikipedia.org/wiki/Concurrent_computing',
icon: null,
tags: ['system', 'networking'],
+ info: "",
},
[tID.UIUX]: {
name: 'UI/UX',
link: 'https://en.wikipedia.org/wiki/UX',
icon: null,
tags: ['system', 'web', 'IoT'],
+ info: "",
},
[tID.Inkscape]: {
name: 'Inkscape',
link: 'https://inkscape.org/',
icon: 'skills/inkscape.svg',
tags: ['UI', 'web', 'organization'],
+ info: "",
},
[tID.RnD]: {
name: 'R&D',
link: 'https://en.wikipedia.org/wiki/R&D',
icon: null,
tags: ['organization'],
+ info: "",
},
};