From cd9d9b10ff1a57255e411851f1fc5d8c5b0a7ebe Mon Sep 17 00:00:00 2001 From: Gustavo Ocanto Date: Wed, 23 Jul 2025 09:52:49 +0800 Subject: [PATCH 01/10] wip --- eslint.config.js | 53 +++++++----------------- package-lock.json | 23 +++++++--- package.json | 1 + src/partials/EducationPartial.vue | 2 +- src/partials/FeaturedProjectsPartial.vue | 4 +- src/partials/RecommendationPartial.vue | 2 +- src/partials/SideNavPartial.vue | 2 +- src/partials/TalksPartial.vue | 2 +- 8 files changed, 41 insertions(+), 48 deletions(-) diff --git a/eslint.config.js b/eslint.config.js index a2335365..8c3ba6d3 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -1,27 +1,21 @@ // eslint.config.js -import js from '@eslint/js'; // Standard ESLint recommended rules -import pluginVue from 'eslint-plugin-vue'; // Vue plugin (needed for rule references) -import parserVue from 'vue-eslint-parser'; // Parser for .vue files -// Import TypeScript parser and plugin +import js from '@eslint/js'; +import pluginVue from 'eslint-plugin-vue'; +import parserVue from 'vue-eslint-parser'; import parserTypeScript from '@typescript-eslint/parser'; import pluginTypeScript from '@typescript-eslint/eslint-plugin'; -// Import Babel parser (still needed for non-TS JS files if applicable) -import parserBabel from '@babel/eslint-parser'; // Parser for diff --git a/src/partials/FeaturedProjectsPartial.vue b/src/partials/FeaturedProjectsPartial.vue index 23741038..c85a65d4 100644 --- a/src/partials/FeaturedProjectsPartial.vue +++ b/src/partials/FeaturedProjectsPartial.vue @@ -6,7 +6,8 @@
- diff --git a/src/partials/ProjectCardPartial.vue b/src/partials/ProjectCardPartial.vue index d9c1f794..c53bae9c 100644 --- a/src/partials/ProjectCardPartial.vue +++ b/src/partials/ProjectCardPartial.vue @@ -9,12 +9,7 @@
- +
Open-Source
@@ -36,6 +31,5 @@ import type { Project } from '@stores/users/userType.ts'; const { item } = defineProps<{ item: Project; -}>() - +}>(); diff --git a/src/partials/RecommendationPartial.vue b/src/partials/RecommendationPartial.vue index 641c56ad..b8ab1fb5 100644 --- a/src/partials/RecommendationPartial.vue +++ b/src/partials/RecommendationPartial.vue @@ -13,7 +13,7 @@
{{ item.person.full_name }}
{{ item.person.company }}
-
+
{{ item.relation }}
{{ item.formattedDate }}
@@ -33,18 +33,17 @@ import DOMPurify from 'dompurify'; import { image, date } from '@/public.ts'; import type { Recommendation } from '@stores/users/userType.ts'; - marked.use({ breaks: true, gfm: true, }); const { recommendations } = defineProps<{ - recommendations: Recommendation[] -}>() + recommendations: Recommendation[]; +}>(); const processedRecommendations = computed(() => { - return recommendations.map(item => { + return recommendations.map((item) => { const sanitisedHtml = DOMPurify.sanitize(marked.parse(item.text) as string); return { @@ -54,5 +53,4 @@ const processedRecommendations = computed(() => { }; }); }); - diff --git a/src/partials/TalksPartial.vue b/src/partials/TalksPartial.vue index 1be3cdce..9132a6ac 100644 --- a/src/partials/TalksPartial.vue +++ b/src/partials/TalksPartial.vue @@ -4,7 +4,6 @@ -
@@ -42,7 +35,7 @@ import { useUserStore } from '@stores/users/user.ts'; import type { Talks, User } from '@stores/users/userType.ts'; const userStore = useUserStore(); -const talks: Talks[] = ref([]) +const talks: Talks[] = ref([]); onMounted(() => { userStore.onBoot((profile: User) => { diff --git a/src/public.ts b/src/public.ts index b12283ce..2aa52f86 100644 --- a/src/public.ts +++ b/src/public.ts @@ -4,14 +4,14 @@ export function image(filename: string): string { return `/${IMAGES_DIR}/${filename}`; } -export function date(language?: string, options?: Intl.DateTimeFormatOptions): Intl.DateTimeFormat { - const lang = language || "en-US"; +export function date(language?: string, options?: Intl.DateTimeFormatOptions): Intl.DateTimeFormat { + const lang = language || 'en-US'; const ops = options || { - year: "numeric", - month: "long", - day: "numeric" - } + year: 'numeric', + month: 'long', + day: 'numeric', + }; - return new Intl.DateTimeFormat(lang, ops) + return new Intl.DateTimeFormat(lang, ops); } diff --git a/src/stores/users/response.ts b/src/stores/users/response.ts index c9cf2085..7268ef22 100644 --- a/src/stores/users/response.ts +++ b/src/stores/users/response.ts @@ -147,7 +147,7 @@ export const Response: User = { excerpt: 'After experiencing the highs and lows of going into business with a family member, I reached a significant turning point in my life.', url: 'https://github.com/aurachakra', isOpenSource: false, - icon: "icons/icon-01.svg", + icon: 'icons/icon-01.svg', created_at: '2023-02-25', updated_at: '2023-10-05', }, @@ -158,7 +158,7 @@ export const Response: User = { excerpt: 'Gus is a full-stack Software Engineer who has been building web technologies for more two decades.', url: 'https://github.com/gocantodev/client', isOpenSource: true, - icon: "icons/icon-02.svg", + icon: 'icons/icon-02.svg', created_at: '2021-11-03', updated_at: '2024-09-29', }, @@ -169,7 +169,7 @@ export const Response: User = { excerpt: 'users server & client communications service.', url: 'https://github.com/gocanto/users-grpc-service', isOpenSource: true, - icon: "icons/icon-03.svg", + icon: 'icons/icon-03.svg', created_at: '2022-04-17', updated_at: '2025-04-22', }, @@ -180,7 +180,7 @@ export const Response: User = { excerpt: 'Simple laravel PDF generator.', url: 'https://github.com/gocanto/laravel-simple-pdf', isOpenSource: true, - icon: "icons/icon-04.svg", + icon: 'icons/icon-04.svg', created_at: '2019-06-11', updated_at: '2020-12-26', }, @@ -191,7 +191,7 @@ export const Response: User = { excerpt: 'The smallest Vue.js events handler.', url: 'https://github.com/gocanto/vuemit', isOpenSource: true, - icon: "icons/icon-05.svg", + icon: 'icons/icon-05.svg', created_at: '2017-02-01', updated_at: '2021-08-11', }, @@ -202,7 +202,7 @@ export const Response: User = { excerpt: 'Google Autocomplete Vue Component.', url: 'https://github.com/gocanto/google-autocomplete', isOpenSource: true, - icon: "icons/icon-06.svg", + icon: 'icons/icon-06.svg', created_at: '2016-07-02', updated_at: '2021-08-11', }, @@ -213,7 +213,7 @@ export const Response: User = { excerpt: "Currency converter that's data-agnostic.", url: 'https://github.com/gocanto/go-converter', isOpenSource: true, - icon: "icons/icon-07.svg", + icon: 'icons/icon-07.svg', created_at: '2021-09-02', updated_at: '2021-10-11', }, @@ -224,7 +224,7 @@ export const Response: User = { excerpt: 'Http client that handles retries, logging & dynamic headers.', url: 'https://github.com/gocanto/http-client', isOpenSource: true, - icon: "icons/icon-08.svg", + icon: 'icons/icon-08.svg', created_at: '2019-07-01', updated_at: '2022-12-22', }, @@ -235,7 +235,7 @@ export const Response: User = { excerpt: "Immutable PHP currency converter that's data-agnostic.", url: 'https://github.com/gocanto/converter', isOpenSource: true, - icon: "icons/icon-01.svg", + icon: 'icons/icon-01.svg', created_at: '2019-06-07', updated_at: '2019-06-11', }, @@ -246,7 +246,7 @@ export const Response: User = { excerpt: 'Contributions to the Laravel Framework.', url: 'https://github.com/laravel/framework/pulls?q=is%3Apr+is%3Aclosed+author%3Agocanto', isOpenSource: true, - icon: "icons/icon-02.svg", + icon: 'icons/icon-02.svg', created_at: '2017-07-06', updated_at: '2022-09-15', }, @@ -285,148 +285,156 @@ export const Response: User = { ], recommendations: [ { - uuid: "7dc74d20-42e1-4f09-9c8d-20ecfc6caad7", - relation: "Amrith was a fellow colleague reporting to the C-Level.", - text: "Gus and I were peers at Perx during his tenure as Head of Engineering. He led several key initiatives, including scaling the engineering team and aligning cross-functional efforts across DevOps, backend, frontend, and data. Additionally, he drove projects focused on infrastructure modernisation, performance optimisation, and cloud cost efficiency." + - "

" + + uuid: '7dc74d20-42e1-4f09-9c8d-20ecfc6caad7', + relation: 'Amrith was a fellow colleague reporting to the C-Level.', + text: + 'Gus and I were peers at Perx during his tenure as Head of Engineering. He led several key initiatives, including scaling the engineering team and aligning cross-functional efforts across DevOps, backend, frontend, and data. Additionally, he drove projects focused on infrastructure modernisation, performance optimisation, and cloud cost efficiency.' + + '

' + "He's a hands-on and technically strong leader who enjoys solving complex engineering problems. Outside of work, Gustavo is highly disciplined when it comes to health and fitness, always consistent and focused, which says a lot about his overall approach to life and work.", person: { - avatar: "recommendation/amrith-g.jpeg", - full_name: "Amrith G", - company: "Perx Technologies", - designation: "Head of Marketing", + avatar: 'recommendation/amrith-g.jpeg', + full_name: 'Amrith G', + company: 'Perx Technologies', + designation: 'Head of Marketing', }, created_at: '2025-03-26', updated_at: '2025-03-26', }, { - uuid: "86fa5273-4e21-45e0-80de-5ec908cf6f81", - relation: "Bhupesh reported directly to Gus.", - text: "I had the privilege of working under Gustavo as an Engineering Manager, and his leadership has been nothing short of inspiring. Not only does he bring exceptional technical expertise and strategic thinking, but he also leads with empathy—something that truly sets him apart." + - "

" + - "Gustavo doesn’t just manage a team; he genuinely cares about each individual’s growth, challenges, and well-being. He understands the personal and professional struggles employees face and goes above and beyond to support them. This ability to balance technical excellence with emotional intelligence creates a culture of trust, collaboration, and high performance." + - "

" + - "His problem-solving mindset, clear communication, and mentorship have had a lasting impact on both the team and the success of our projects. Working with him has been a learning experience, and I highly recommend him to any organization looking for a strong, people-focused engineering leader.", + uuid: '86fa5273-4e21-45e0-80de-5ec908cf6f81', + relation: 'Bhupesh reported directly to Gus.', + text: + 'I had the privilege of working under Gustavo as an Engineering Manager, and his leadership has been nothing short of inspiring. Not only does he bring exceptional technical expertise and strategic thinking, but he also leads with empathy—something that truly sets him apart.' + + '

' + + 'Gustavo doesn’t just manage a team; he genuinely cares about each individual’s growth, challenges, and well-being. He understands the personal and professional struggles employees face and goes above and beyond to support them. This ability to balance technical excellence with emotional intelligence creates a culture of trust, collaboration, and high performance.' + + '

' + + 'His problem-solving mindset, clear communication, and mentorship have had a lasting impact on both the team and the success of our projects. Working with him has been a learning experience, and I highly recommend him to any organization looking for a strong, people-focused engineering leader.', person: { - avatar: "recommendation/bhupesh-pathak.jpeg", - full_name: "Bhupesh Pathak", - company: "Perx Technologies", - designation: "Senior Software Engineer", + avatar: 'recommendation/bhupesh-pathak.jpeg', + full_name: 'Bhupesh Pathak', + company: 'Perx Technologies', + designation: 'Senior Software Engineer', }, created_at: '2025-02-26', updated_at: '2025-02-26', }, { - uuid: "dec7e524-34cc-405c-9b3a-01999852c9bb", - relation: "Victory reported directly to Gus.", - text: "I had a chance to work with Gus at Perx for the last 9 months. He consistently guided the team with clarity and supported our professional growth." + - "

" + - "Despite the challenges posed by an unclear structure and team dynamics, Gus has been dedicated to making processes smoother and more consistent across departments." + - "

" + - "His efforts to foster collaboration and improve workflows have had a meaningful impact on the team. I highly recommend Gus as a capable and inspiring engineering leader.", + uuid: 'dec7e524-34cc-405c-9b3a-01999852c9bb', + relation: 'Victory reported directly to Gus.', + text: + 'I had a chance to work with Gus at Perx for the last 9 months. He consistently guided the team with clarity and supported our professional growth.' + + '

' + + 'Despite the challenges posed by an unclear structure and team dynamics, Gus has been dedicated to making processes smoother and more consistent across departments.' + + '

' + + 'His efforts to foster collaboration and improve workflows have had a meaningful impact on the team. I highly recommend Gus as a capable and inspiring engineering leader.', person: { - avatar: "recommendation/victory-sometime.jpeg", - full_name: "Victory SOMETIME", - company: "Perx Technologies", - designation: "Senior Software Engineer", + avatar: 'recommendation/victory-sometime.jpeg', + full_name: 'Victory SOMETIME', + company: 'Perx Technologies', + designation: 'Senior Software Engineer', }, created_at: '2025-02-19', updated_at: '2025-02-19', }, { - uuid: "e4626228-99fa-4778-9a22-783174e7ab60", - relation: "Damien was a senior to Gus, but did not manage him directly.", - text: "Over the past two years, Gus has shown consistently high levels of technical skill and an innovative mindset, adapting through numerous changes and growth periods within our company." + - "

" + - "He is always eager to support the team in reaching its goals, displaying readiness to take action, and effective communication. His ability to think outside the box is a distinct strength." + - "

" + - "In this time, he also worked intentionally on his planning and leadership abilities, which have significantly complemented his already notable contributions to the team.", + uuid: 'e4626228-99fa-4778-9a22-783174e7ab60', + relation: 'Damien was a senior to Gus, but did not manage him directly.', + text: + 'Over the past two years, Gus has shown consistently high levels of technical skill and an innovative mindset, adapting through numerous changes and growth periods within our company.' + + '

' + + 'He is always eager to support the team in reaching its goals, displaying readiness to take action, and effective communication. His ability to think outside the box is a distinct strength.' + + '

' + + 'In this time, he also worked intentionally on his planning and leadership abilities, which have significantly complemented his already notable contributions to the team.', person: { - avatar: "recommendation/damien-passavent.jpeg", - full_name: "Damien Passavent", - company: "Aspire", - designation: "Chief Product Officer", + avatar: 'recommendation/damien-passavent.jpeg', + full_name: 'Damien Passavent', + company: 'Aspire', + designation: 'Chief Product Officer', }, created_at: '2024-04-10', updated_at: '2024-04-10', }, { - uuid: "fa5c4084-e1b4-45dd-a314-e8d9f589f67e", - relation: "Claudio managed Gus directly.", + uuid: 'fa5c4084-e1b4-45dd-a314-e8d9f589f67e', + relation: 'Claudio managed Gus directly.', text: "Gustavo's blend of strong technical skills, problem-solving, and warm personality make him stand out. He's not only great at leading projects but also shines in teamwork, often stepping beyond his role to help others. As a mentor, he'd be invaluable, and his ability to communicate and innovate positions him perfectly for roles that bridge technical teams and clients.", person: { - avatar: "recommendation/claudio-reggiani.jpeg", - full_name: "Claudio Reggiani", - company: "Aspire", - designation: "Engineering Manger", + avatar: 'recommendation/claudio-reggiani.jpeg', + full_name: 'Claudio Reggiani', + company: 'Aspire', + designation: 'Engineering Manger', }, created_at: '2024-04-10', updated_at: '2024-04-10', }, { - uuid: "0e587fa2-b678-4ca5-9eed-0f115c4a092d", - relation: "Jarek was a senior to Gus, but did not manage him directly.", - text: "I have worked with Gustavo as a Sr Engineer in my department at Aspire. It was the second time we worked together and it has been a great pleasure to see how far Gustavo progressed in the last few years." + - "

" + - "Gustavo has an exceptional depth of knowledge in software development and consistently expands his high-quality knowledge with new technologies to better fit scaling team and systems." + - "

" + - "He constantly demonstrated ambition and drive to learn and improve each stage of the engineering process. With his level of knowledge and skills I can wholeheartedly recommend Gustavo for senior technical roles, as well as leadership positions where he can leverage this experience even more.", + uuid: '0e587fa2-b678-4ca5-9eed-0f115c4a092d', + relation: 'Jarek was a senior to Gus, but did not manage him directly.', + text: + 'I have worked with Gustavo as a Sr Engineer in my department at Aspire. It was the second time we worked together and it has been a great pleasure to see how far Gustavo progressed in the last few years.' + + '

' + + 'Gustavo has an exceptional depth of knowledge in software development and consistently expands his high-quality knowledge with new technologies to better fit scaling team and systems.' + + '

' + + 'He constantly demonstrated ambition and drive to learn and improve each stage of the engineering process. With his level of knowledge and skills I can wholeheartedly recommend Gustavo for senior technical roles, as well as leadership positions where he can leverage this experience even more.', person: { - avatar: "recommendation/jarek-tkaczyk.jpeg", - full_name: "Jarek Tkaczyk", - company: "Aspire", - designation: "Head of Engineering", + avatar: 'recommendation/jarek-tkaczyk.jpeg', + full_name: 'Jarek Tkaczyk', + company: 'Aspire', + designation: 'Head of Engineering', }, created_at: '2023-02-27', updated_at: '2023-02-27', }, { - uuid: "a5029b3e-3ad2-45a4-8e98-2599cdf21697", - relation: "Ross managed Gus directly.", - text: "I had the pleasure of working alongside Gustavo for more than three years during his time at BeMyGuest." + - "

" + - "Working within a tech team at a startup can be a very challenging experience, there are competing pressures to deliver new features as quickly as possible, whilst at the same time we have to work hard to maintain stability and quality within the code we produce." + - "

" + + uuid: 'a5029b3e-3ad2-45a4-8e98-2599cdf21697', + relation: 'Ross managed Gus directly.', + text: + 'I had the pleasure of working alongside Gustavo for more than three years during his time at BeMyGuest.' + + '

' + + 'Working within a tech team at a startup can be a very challenging experience, there are competing pressures to deliver new features as quickly as possible, whilst at the same time we have to work hard to maintain stability and quality within the code we produce.' + + '

' + "Gustavo was an excellent and enthusiastic ambassador for this approach and led many initiatives to improve our systems, testing and architecture, leading to his work having a very positive impact on the overall quality of BeMyGuest's products." + - "

" + - "I would highly recommend Gustavo, his combination of attention to detail, with an irrepressible drive to continue learning makes him a valuable asset within any software engineering team.", + '

' + + 'I would highly recommend Gustavo, his combination of attention to detail, with an irrepressible drive to continue learning makes him a valuable asset within any software engineering team.', person: { - avatar: "recommendation/ross-riley.jpeg", - full_name: "Ross Riley", - company: "BeMyGuest - Tours & Activities", - designation: "CTO", + avatar: 'recommendation/ross-riley.jpeg', + full_name: 'Ross Riley', + company: 'BeMyGuest - Tours & Activities', + designation: 'CTO', }, created_at: '2021-11-27', updated_at: '2021-11-27', }, { - uuid: "1ca2026d-9d52-4da9-bbe2-5adba175d4c4", - relation: "Kong was a fellow software engineer", - text: "I have worked with Gus as a fellow Software Engineer since 2017. He is a highly adaptable, encouraging and supportive colleague and an effective team lead." + - "

" + - "His software development skill, whether its backend, full stack, is of exceptional high quality. During our stint in the company, he took the time to spearhead some of the initiatives to improve and updating the software development process and applications." + - "

" + - "He always has a positive attitude and a desire to produce quality work. Gus is as great a person as he was a colleague, a team lead and his next employer will be lucky to have him", + uuid: '1ca2026d-9d52-4da9-bbe2-5adba175d4c4', + relation: 'Kong was a fellow software engineer', + text: + 'I have worked with Gus as a fellow Software Engineer since 2017. He is a highly adaptable, encouraging and supportive colleague and an effective team lead.' + + '

' + + 'His software development skill, whether its backend, full stack, is of exceptional high quality. During our stint in the company, he took the time to spearhead some of the initiatives to improve and updating the software development process and applications.' + + '

' + + 'He always has a positive attitude and a desire to produce quality work. Gus is as great a person as he was a colleague, a team lead and his next employer will be lucky to have him', person: { - avatar: "recommendation/kong-kw.jpg", - full_name: "Kong KW", - company: "BeMyGuest - Tours & Activities", - designation: "Senior Software Engineer", + avatar: 'recommendation/kong-kw.jpg', + full_name: 'Kong KW', + company: 'BeMyGuest - Tours & Activities', + designation: 'Senior Software Engineer', }, created_at: '2021-10-20', updated_at: '2021-10-20', }, { - uuid: "1ca2026d-9d52-4da9-bbe2-5adba175d4c4", - relation: "Dawid managed Gus directly.", - text: "It was a pleasure to have an opportunity to work with Gustavo. He's a brilliant developer and analyst, with a head full of new ideas. He's not afraid of approaching the most complex problems and testing new waters to find the best solutions." + - "

" + + uuid: '1ca2026d-9d52-4da9-bbe2-5adba175d4c4', + relation: 'Dawid managed Gus directly.', + text: + "It was a pleasure to have an opportunity to work with Gustavo. He's a brilliant developer and analyst, with a head full of new ideas. He's not afraid of approaching the most complex problems and testing new waters to find the best solutions." + + '

' + "He's got a great personality and always fun to have around in your team. Always keen to share his knowledge thru training or giving public presentations. He's got that deep internal drive to learn every day and test new ideas in real life, which I always find very valuable.", person: { - avatar: "recommendation/dawid-makowski.jpeg", - full_name: "Dawid Makowski", - company: "BeMyGuest - Tours & Activities", - designation: "CTO", + avatar: 'recommendation/dawid-makowski.jpeg', + full_name: 'Dawid Makowski', + company: 'BeMyGuest - Tours & Activities', + designation: 'CTO', }, created_at: '2019-07-16', updated_at: '2019-07-16', @@ -434,28 +442,30 @@ export const Response: User = { ], education: [ { - uuid: "a0fde63b-016b-4121-959f-18a950b8bc81", - icon: "education/uah_logo.jpeg", - school: "Universidad Alejandro de Humboldt", + uuid: 'a0fde63b-016b-4121-959f-18a950b8bc81', + icon: 'education/uah_logo.jpeg', + school: 'Universidad Alejandro de Humboldt', degree: "Bachelor's degree", - field: "Computer Science", - description: "As a computer scientist, I see computer science as the study of computers and computational processes, covering their underlying principles, design, real‑world applications, and even their impact on society." + - "

" + - "My work spans both the theoretical side—think algorithms and data structures—and the hands‑on side, like building software and exploring artificial intelligence. At its core, computer science is about understanding how computers operate and using that insight to solve problems and develop new technologies.", - graduated_at: "2012", - issuing_country: "Venezuela" - }, - { - uuid: "606e8e34-f189-425c-bc1d-cb7f8ec30dd8", - icon: "education/iut_valencia.jpeg", - school: "IUT Valencia", + field: 'Computer Science', + description: + 'As a computer scientist, I see computer science as the study of computers and computational processes, covering their underlying principles, design, real‑world applications, and even their impact on society.' + + '

' + + 'My work spans both the theoretical side—think algorithms and data structures—and the hands‑on side, like building software and exploring artificial intelligence. At its core, computer science is about understanding how computers operate and using that insight to solve problems and develop new technologies.', + graduated_at: '2012', + issuing_country: 'Venezuela', + }, + { + uuid: '606e8e34-f189-425c-bc1d-cb7f8ec30dd8', + icon: 'education/iut_valencia.jpeg', + school: 'IUT Valencia', degree: "Associate's degree", - field: "Computer Science", - description: "Having completed my Associate’s in Computer Science, I’ve built a strong foundation in how computers work—learning the basics of algorithm design and data organization alongside hands‑on experience writing software and experimenting with entry‑level enterprise software."+ - "

" + - "For me, computer science means using both theory and practical skills to tackle real‑world challenges and bring new tech ideas to life.", - graduated_at: "2007", - issuing_country: "Venezuela" - } - ] + field: 'Computer Science', + description: + 'Having completed my Associate’s in Computer Science, I’ve built a strong foundation in how computers work—learning the basics of algorithm design and data organization alongside hands‑on experience writing software and experimenting with entry‑level enterprise software.' + + '

' + + 'For me, computer science means using both theory and practical skills to tackle real‑world challenges and bring new tech ideas to life.', + graduated_at: '2007', + issuing_country: 'Venezuela', + }, + ], }; From eca8d05b6caad97862198152d0d29f492a9349df Mon Sep 17 00:00:00 2001 From: Gustavo Ocanto Date: Wed, 23 Jul 2025 10:57:30 +0800 Subject: [PATCH 06/10] wip --- src/partials/TalksPartial.vue | 2 +- src/stores/users/userType.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/partials/TalksPartial.vue b/src/partials/TalksPartial.vue index 9132a6ac..5b68ef86 100644 --- a/src/partials/TalksPartial.vue +++ b/src/partials/TalksPartial.vue @@ -3,7 +3,7 @@

Popular Talks

-
+
Date: Wed, 23 Jul 2025 11:02:14 +0800 Subject: [PATCH 07/10] wip --- Makefile | 1 + src/partials/SideNavPartial.vue | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index d422be9f..5fd94def 100644 --- a/Makefile +++ b/Makefile @@ -5,6 +5,7 @@ ROOT_PATH := $(shell pwd) format: npx prettier --write '**/*.{json,js,ts,tsx,jsx,mjs,cjs,vue,html}' --ignore-path .prettierignore + make lint-fix env-fresh: rm -rf $(ROOT_PATH)/node_modules diff --git a/src/partials/SideNavPartial.vue b/src/partials/SideNavPartial.vue index 09b3b4c4..5d11b92a 100644 --- a/src/partials/SideNavPartial.vue +++ b/src/partials/SideNavPartial.vue @@ -86,7 +86,7 @@ const router: Router = useRouter(); const currentRoute: Ref = router.currentRoute; const isHome = computed(() => { - // TypeScript knows currentRoute.value is of type RouteLocationNormalizedLoaded + // TypeScript knows the currentRoute.value is of type RouteLocationNormalizedLoaded // The 'fullPath' property on RouteLocationNormalizedLoaded is typed as string. // The comparison 'string === string' results in a boolean. // The generic on computed explicitly states the return type of the computed ref. From d2a1442ec715638376f05cdc552a2735d1134c76 Mon Sep 17 00:00:00 2001 From: Gustavo Ocanto Date: Wed, 23 Jul 2025 11:10:49 +0800 Subject: [PATCH 08/10] hack --- eslint.config.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/eslint.config.js b/eslint.config.js index 8c3ba6d3..48086769 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -71,6 +71,13 @@ export default [ }, }, + { + files: ['src/partials/EducationPartial.vue', 'src/partials/RecommendationPartial.vue'], + rules: { + 'vue/no-v-html': 'off', + }, + }, + // --- Prettier Integration (must be last) --- configPrettier, ]; From 6ef9d9f3382e4019250881d885b5ab73de4e8eb2 Mon Sep 17 00:00:00 2001 From: Gustavo Ocanto Date: Wed, 23 Jul 2025 11:15:20 +0800 Subject: [PATCH 09/10] wip --- src/pages/ResumePage.vue | 2 +- src/partials/FeaturedProjectsPartial.vue | 2 +- src/partials/TalksPartial.vue | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/pages/ResumePage.vue b/src/pages/ResumePage.vue index a192ce66..2d7e4504 100644 --- a/src/pages/ResumePage.vue +++ b/src/pages/ResumePage.vue @@ -59,7 +59,7 @@ import type { User } from '@stores/users/userType'; import { useUserStore } from '@stores/users/user.ts'; const userStore = useUserStore(); -const user: User = ref(null); +const user = ref(null); onMounted(() => { userStore.onBoot((profile: User) => { diff --git a/src/partials/FeaturedProjectsPartial.vue b/src/partials/FeaturedProjectsPartial.vue index c85a65d4..d897b075 100644 --- a/src/partials/FeaturedProjectsPartial.vue +++ b/src/partials/FeaturedProjectsPartial.vue @@ -42,7 +42,7 @@ import { useUserStore } from '@stores/users/user.ts'; import type { Project, User } from '@stores/users/userType.ts'; const userStore = useUserStore(); -const projects: Project[] = ref([]); +const projects = ref([]); onMounted(() => { userStore.onBoot((profile: User) => { diff --git a/src/partials/TalksPartial.vue b/src/partials/TalksPartial.vue index 5b68ef86..805272c2 100644 --- a/src/partials/TalksPartial.vue +++ b/src/partials/TalksPartial.vue @@ -35,7 +35,7 @@ import { useUserStore } from '@stores/users/user.ts'; import type { Talks, User } from '@stores/users/userType.ts'; const userStore = useUserStore(); -const talks: Talks[] = ref([]); +const talks = ref([]); onMounted(() => { userStore.onBoot((profile: User) => { From 5d0aaf207b7066c15cfc93aea0dbc4aaf06e5256 Mon Sep 17 00:00:00 2001 From: Gustavo Ocanto Date: Wed, 23 Jul 2025 11:19:35 +0800 Subject: [PATCH 10/10] wip --- .prettierignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.prettierignore b/.prettierignore index b9185d85..e4f2bdca 100644 --- a/.prettierignore +++ b/.prettierignore @@ -4,3 +4,5 @@ src/images/ node_modules/ .idea/ .DS_Store/ +dist/ +docker/