From e361357df49c0517f66fb6393d326f752a5b7321 Mon Sep 17 00:00:00 2001 From: Gustavo Ocanto Date: Tue, 15 Jul 2025 11:08:28 +0800 Subject: [PATCH 01/11] start working on data --- .../images/recommendation/dawid-makowski.jpeg | Bin 0 -> 3110 bytes .../images/recommendation/jarek-tkaczyk.jpeg | Bin 0 -> 3133 bytes public/images/recommendation/kong-kw.jpg | Bin 0 -> 9748 bytes public/images/recommendation/ross-riley.jpeg | Bin 0 -> 4203 bytes src/stores/users/response.ts | 61 ++++++++++++++++++ src/stores/users/userType.ts | 17 +++++ 6 files changed, 78 insertions(+) create mode 100644 public/images/recommendation/dawid-makowski.jpeg create mode 100644 public/images/recommendation/jarek-tkaczyk.jpeg create mode 100644 public/images/recommendation/kong-kw.jpg create mode 100644 public/images/recommendation/ross-riley.jpeg diff --git a/public/images/recommendation/dawid-makowski.jpeg b/public/images/recommendation/dawid-makowski.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..fa9c72ffd62b52a2e87ed2c9919613f562c9b0f5 GIT binary patch literal 3110 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 d%GFpm%ST0W`v#WaABqSE;To#0-yBk?b8kSx< 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 Date: Tue, 15 Jul 2025 11:23:14 +0800 Subject: [PATCH 02/11] close aspire --- .../recommendation/claudio-reggiani.jpeg | Bin 0 -> 3496 bytes .../recommendation/damien-passavent.jpeg | Bin 0 -> 3860 bytes src/stores/users/response.ts | 61 +++++++++++++++++- 3 files changed, 58 insertions(+), 3 deletions(-) create mode 100644 public/images/recommendation/claudio-reggiani.jpeg create mode 100644 public/images/recommendation/damien-passavent.jpeg diff --git a/public/images/recommendation/claudio-reggiani.jpeg b/public/images/recommendation/claudio-reggiani.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..1946ea84a84bc85525bec17ca3495a4ad38fb894 GIT binary patch literal 3496 zcmb7BX*kpk`~A&~N!A%-NOoq*E=x+bv1FK$ZLBfM77wzHkW@pK?Aur>I};O9vPMF( z7R69P*=5bXd%XJa|6kYp@jdtXcJ6cTb6xlG_v3K@j>qD#00;yCppyZPM*tlF0tWx( z2^dZYJq?92FhH3Z8Bd*NWoBh%VP;`rV@JT**g4o)Sm4}n4o)N&7Z)q+3=cPw2Z7{5 z{tW>^PCN`yCMc8%$;QHl{GV~$3~-zVoB?MDNE85bfFK;8<2FFxq$dO9Z{7a`BXH6X z3^~R0S5|`qAP5A^zyM)jfAd5$6!v!4v8Qsa@9VuWq7*1vDTiRb5 zNC$d0lN+M0?0UBp>~$lfnd=wu9vDe_{5ylvdu0XpG(iV9Y1Kg~cws0d-w1(xXRRutLLvwDLUn!rsLZV% zMXIsbPL7eXT661+<1R`>lIb=cA?R#tv6uM9TF9%;OUdk+-2%-$Qli6NtU-n}>1)_* z-=FuHQxxlutWAF9b$G5DYU&04>C@No{LLo*s6^rl>V>9Buig+%k7;A^ad`%`-kqH8 zRCb7WcvUSU5YfYMLW!N_a~B_k{@kJP|7t ztj@_SXoP38B1f<=MJl_}mwv_SlqWm-)dU@L+u!3hY-%r59rR0J-^y`QsWOi{%h_45 zThM+7`To3O+=gsn6u)ccd=`_t?rU%U{CGH^Gug0Jhy(puFE%XtfK zy4Js*yBz}`MvUB5zEQZ)Qoz1T5#h2jW`8JaN72y&Q=KdHu;#K<*=&!tXE!o{H&Cq2 zvnuTjaQ2rN7U&@0cHJv})P;F-`Aiow9Rq^4p*SX2LN#oxSAKcVRP_ieqd3@BQ@;>5 zIi*I?ahTp5X7Tl$U%^S3Yz)j}-@kD^FEd&(GghNk!*^LP^ICMQO`vQU*lZ~){7B+~ zrEq%?T<(q9UZdYYOh(aruz`G`2QMWhdq~T4N4fpyoo(2#M<#zuda+G){rFq|v`!Vy z;wz|!YA|YWu3xpyN|5%r!nz;VTSikGyE||Kyv;cuwPRLoDg9yPCh?zpoS*OQe7~7k zzS_TZOD-bMRh!s*L|!JQs+ChR`%Qx#;B{ei3a|?7E|>kbb!S{7>kA7GR}j3;0817@ zWL7Y)UEbnM+^)ywF`%TJR2MeN6VRUh5BeAwy1O;sw;q{xB-KNSEbzirEp*wNh7Nxw zI_Tg?ZD|Ztrf3Zwb_wQw&T&kW5713)pK_`j&1klgqSsuc6$@2KQ#Dwl?!0IE#JUn( z6F5?m_b8EAXLJmRg3@itRAf*rP6g{*_e*2&+v+b4%s-j*9`#<S5F_jHmN_TVWnswuncMq>O!L;VLGw38(XkEPq zKf83b3bj<hO-&!s-+{7iO!S9kiM!%pS5$S39E#p0@=Nj}(+h1B6fUjwiE-+egy zB74DYmaS)+6qxlex*1$q56Yv3Q(D&XwNQ=rysd`SR#9c!21LWg z`&2V!4~q_58XLaZCnV?kdcFWH-SZoPUNB#aGveT;EtwC*6o31%^_6F9SsT z7H3uAJX%r77V1H@fwDn*#=UoAzAJJ~a{?I`J1M&oIyl_njeAbj#14w&!6&O{Mt-k0 zqt5dwJJL(N*+x*b8=}c)&stlSUyV!6B@V0)7Y{{BFI3Aj5Bopxe=OghcAj_>Xbew` zZeJ}Npy68D5B|gvz31^gvf9_#qTN<+4G>&xE~4bRE|xxcG#6vB5SHQfy@2@@(*_ew zB!v`V?pcnO&}&j%-ZM`KS<4L`6r6SWr(RecOh76`T&$v$-03zXyi_<4?a1{bJ`RZV zO6>H1J3aDj&%j;mzBnXreY2EGQt|AkP*QZ5d#Z7DE{`=m+p3z;YsPi|@aNBn3tQ>~k zK&0iOYK*J(*Sysn{Z_iT&WK~RvphbUy@W-0<vmQSiL5)< z@YLoz1jqDa)!pBdc)7ZoL>_Nma_SD-Bjh;Xx;1fQk{zTZt$%riZCzhl)HPP8aHb|o zhSwNREWTiC*^7-1ypszud}~3mPtgE;%<4x?w%8U*Oxw~Uu>27tPqW5ak*+IWUdHKO zMHe83o+ruS2WhWYROk-Q0MtLD*!JNEhbT4k%e&cM;9Lo0u}VFM#Z;3OIX(C7i$BiU zJt%VR1aB4;`K2~prW&g$s1OS1*ByzrzPr(#n=9^GXbC&beKQufG3)P6Gkj);G;1E^ z?Q;1iE%g21EM(TU#EYKKUZ(?e7j7ffs<4iDXR7$Z^Nuz+Ca?5znpkfX@ly@Amz-B9 zL)9#*p;l-8UnkVO`5m|S0{>!zS&O-EZd(qGHj!lScPoAVPCR?NM&I0e$*v&3OHtdF znZ59OdziU=B5KC8Z?&<3uk(@n)bGUI{DREo79FxXquA+Ah_HQ5M~Fq-z>?{=O7c;O z#Jv>WBtHBxz@!YBy+S>^gyBd)2wc0cijFMST&3gIxDi@gFWD#TSxHebF1rtD(YyjR zk`17V-QLi{UNNOBJ*qMBt*EQsrKU91gIgn8U7v;BQ{L2u+=fjq$=mR0c~O5@w6Y#*VPpC5t}v$*@a@uf?UOjJvHG(y5J$F7OE1w;EuIimYON5AC#onClW1hv_nKI6aV%6}u z{=(7aeB`jp&V8lt=yMDr}PffYRdoxk`E$^VwLJ-)GEU}`1+ne&<2x1i0k z)i>0h?!6Uc&1)5RSLzt3Hrk8r8M&=r(d{fzOn)Z~`I)@1SF@cA$pPEu=*C(gUZW!9RgBZyT$W2SiZ!kjOa2=VW_x0Sfrz;?|S?h*TzW(0s znAUCCsX0uu>fHk??>=^sD5sfQ`&X%C9T6F+*)=>_OR)ap0gft@nDeRYE}PAM(=VD` z2LIDto^}r@r6KigUZGn$%*#J>)8$mGa`_xR%dVuENlx4Kpc+9l_#%zvWqdv%P+I2Q zIrl53eEwXbUz8Ufs+iM;SHw8cVGkVDX{QdR`>Dk2xC=5-o}~WrfpO`nd5fsbHD2FM z5giH1!9*f~idPzYd<=Ztwm&)``c%cArRQfIeEmitvN%0)O;jMBnpK%fh`-=W72#=T zG!B_flcW`z43kAKu3zgRrzx@Wt4nk^?9SXo(2M3FO!@+VK!nxF8;$|E;Su!1_Uf!? z=hLYKG_1{5vtPZk;Qksu&HYtKTkGs@CgXVQ(#V~URh4UBsDMd%OJS9pfmuG)K}XZF f@SE>b^A``UvSpYABLb6!(9S1C-=u0`j)(sPvm!!0 literal 0 HcmV?d00001 diff --git a/public/images/recommendation/damien-passavent.jpeg b/public/images/recommendation/damien-passavent.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..e48ebcf70c203c6263b1604d029c90dccfa8fd5d GIT binary patch literal 3860 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 Date: Tue, 15 Jul 2025 11:34:43 +0800 Subject: [PATCH 03/11] close perx --- public/images/recommendation/amrith-g.jpeg | Bin 0 -> 2551 bytes .../images/recommendation/bhupesh-pathak.jpeg | Bin 0 -> 5231 bytes .../recommendation/victory-sometime.jpeg | Bin 0 -> 3935 bytes src/stores/users/response.ts | 49 ++++++++++++++++++ 4 files changed, 49 insertions(+) create mode 100644 public/images/recommendation/amrith-g.jpeg create mode 100644 public/images/recommendation/bhupesh-pathak.jpeg create mode 100644 public/images/recommendation/victory-sometime.jpeg diff --git a/public/images/recommendation/amrith-g.jpeg b/public/images/recommendation/amrith-g.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..d8e5ad1530b6266b36cad3aa62f6402317ff6cba GIT binary patch literal 2551 zcmbW0dpOf?AIHBt*_dH$!jBH-FiB#=WX{KlG+};}%4uaqkyt-eLu#QG`h|#zgehut zP!gq4awtQ{DXdZ(kxK1Zzu$8`&viY2J0vs-fP*hMlLh2!aMl+kiDP zpD@s00{$rwSmsdcv zJR*|5cVAT8;rJs7iOi#^Y3V03PMv0-&&kcZ@aM(+0&dxr@`|gK*Q)Ao-r_ej-oA79 zQES`dC+$xK9ld=oU-b(I28YHcCa2y`&&-P6N#++mFD`vq{`&0~7YKm-jV0^<2Kx^# zw2TW3g+ie4UtAz?f-E6uC~TdXoT?)gzUPpduK5WB#)(r}*CLN2_=>Tiu{{dvdc<*k z$uG3O$o@Mp*8fHJFR*`e4FQS}knHjxXuuv=xi{kBZDnwtZ+_!LZ}gSg>hV_(vMuuC zP2w+jTX~(GGo?4097%u$K1rP7Tv~b|S6Y95Qw`DE*`LNR{;iO|HLyjEw5t}54f)tL z(c!GqruzCe$ygV=_NT?j@|lT#-UJg>V_<9Ly}>15n_IQ^?j?{PXj!4J?*VFgCa8UY zi2N>!@TyU1pC+bil9R0$E90okBUw24tt;#$as^u`vCBAA5*5RUk2q8@Y!q?6SL7*B zgRl_f>=A}8kGSYU?9X(jI1;z3P+c*Ko<@61!qXe-lUu}P0g}davi%#IVaJZ1v zK9z!Ql%!PeGq@O%aO}fkM58Lcqbz>Mq<%7pq*MLj^5C(Fyr0$MHp`!{mF7@cxTW{T zr>EFP>*)IRVZYU5w8OL~IsHwUw9V99zQ-4FamRcnvH9(Q_}J@R0ja^u-KMb2yV0cv ze@4a3O|4@+^ShkadmitqGx8|rZDjZKs6kkoIp@O>rf7BK(!x3(+w|vre8k4r=A6TG&vgSR%xLa5^B^ND-|%kSmey}5 zDZq}ur-SoqWbmAp{7-7ovYz?GCPMBQ9tRmb=)cvUf=GE`2Q6$71`$JSC77x*zh))s z#@Z7Cw*3U!Em6>pBbl7D+b-UCcNEe6$)YfHm0uJ6CM#OpR;A@@i@cCU5H%%OJR2Cc zc(r^Xw$Ed0Y`dZLbLSmTdZHA5_{2yQSFc{qySjr?Hp>|Qx=l?Rc`(v%X}FcND6lK5 zFn+pXJBj*Z{OYN)m$yuuk_p=zLW}o%vuyn{oRmw)gq4Zvqk-A8MYMxm{ZLl&d-%kk zY4SI7w%w!(lQ>mVm*}{w{xfSnq>2J2)oY&RP8Ic$iR0r;HbvC{vhv8=zlEKw2){@u54L_Uwy0$7PZtm_bUeK#>TJJ4afYs2Y z{6h-lN`auVNZOp)Cp`lut`@)Hi?SSHOJuzxd2OYDrtkSZ@_J&(9KUcR`jKd!GmOo; zy_=-{bGOz^5_o?BmNOH7;9e4!0zHZqz2*gp7l)6etbh5ltNkhSbwey=X7M>Sf4bOK z+#~M4r?a)D%@x zY9!D5q?AaYN-RT0HSM};XwL#WZ{EI^1D4cRM6*!L@Fv zr>_+|Dw1&XH7CWwQ)RBXqJ&5b=<&K@TMGDQ?+aglf2PMOS)kfHhK9P&H7Es-5x=7&5snb+Pc(JdjgksWi_ulECnQ+uZ87XP zUjMR-sF7h()yZjanM!T9$Q!pGGU$AG4B512tcB~67N8O@?Ln3!tl4*)VaW zr#0SicM0}>N#mu#ks(Eu^6W83c!TX`+F8c_;NP1~j(fMIP5zjq;*F|3dh;m038!Z} zCBhx4kLD^0XNu|0Y7K2j-8GwvRwA+|vWl0j-^IOM@a*fDx3scRw{d_Nb}PZm+2vTY z=honK4Asv=_R#_V`|F(FHF&nJr#m=)T9BO$YG(?)Nn%dE8b>}DE(KoeRcU21lq%mf z0q*l$_GaX@IG^;0bH+-D>rOo;+*>Slwnf1H@Go38v}?4b7V?C+8c4zZ`S<& YMhZ9)sm|ac4As%m6|)T_OSp9K9~V@5!vFvP literal 0 HcmV?d00001 diff --git a/public/images/recommendation/bhupesh-pathak.jpeg b/public/images/recommendation/bhupesh-pathak.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..87023e348cdef51e558347e36ef9e95c258631e9 GIT binary patch literal 5231 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 F{{zv^2mk;8 literal 0 HcmV?d00001 diff --git a/src/stores/users/response.ts b/src/stores/users/response.ts index 3371507f..df6935d0 100644 --- a/src/stores/users/response.ts +++ b/src/stores/users/response.ts @@ -284,6 +284,55 @@ export const Response: User = { }, ], recommendations: [ + { + uuid: "7dc74d20-42e1-4f09-9c8d-20ecfc6caad7", + relation: "fellow colleague reporting to the C-Level.", + text: "Gus and I were peers at Perx during his time as Head of Engineering, he led several key initiatives — from scaling the engineering team and aligning cross-functional efforts across DevOps, backend, frontend, and data, to driving projects around infrastructure modernization, performance optimization, and cloud cost efficiency.\n" + + "\n" + + "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", + }, + created_at: '2025-03-26', + updated_at: '2025-03-26', + }, + { + uuid: "86fa5273-4e21-45e0-80de-5ec908cf6f81", + relation: "Bhupesh reported directly to me.", + 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.\n" + + "\n" + + "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.\n" + + "\n" + + "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", + }, + created_at: '2025-02-26', + updated_at: '2025-02-26', + }, + { + uuid: "dec7e524-34cc-405c-9b3a-01999852c9bb", + relation: "Victory reported directly to me.", + 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. \n" + + "\n" + + "Despite the challenges posed by an unclear structure and team dynamics, Gus has been dedicated to making processes smoother and more consistent across departments. \n" + + "\n" + + "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", + }, + created_at: '2025-02-19', + updated_at: '2025-02-19', + }, { uuid: "e4626228-99fa-4778-9a22-783174e7ab60", relation: "was senior to me, but did not manage me directly.", From 8b4b6575164d78513ef3a4754558e3fc8579e63b Mon Sep 17 00:00:00 2001 From: Gustavo Ocanto Date: Tue, 15 Jul 2025 11:56:18 +0800 Subject: [PATCH 04/11] add education --- public/images/education/iut_valencia.jpeg | Bin 0 -> 3647 bytes public/images/education/uah_logo.jpeg | Bin 0 -> 5251 bytes src/stores/users/response.ts | 26 ++++++++++++++++++++++ src/stores/users/userType.ts | 12 ++++++++++ 4 files changed, 38 insertions(+) create mode 100644 public/images/education/iut_valencia.jpeg create mode 100644 public/images/education/uah_logo.jpeg diff --git a/public/images/education/iut_valencia.jpeg b/public/images/education/iut_valencia.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..922e78bd3084a60f181bd63e4a92848cbd8753ee GIT binary patch literal 3647 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 literal 0 HcmV?d00001 diff --git a/src/stores/users/response.ts b/src/stores/users/response.ts index df6935d0..389481fc 100644 --- a/src/stores/users/response.ts +++ b/src/stores/users/response.ts @@ -447,5 +447,31 @@ export const Response: User = { created_at: '2019-07-16', updated_at: '2019-07-16', }, + ], + education: [ + { + 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. \n" + + "\n" + + "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. \n"+ + "\n" + + "For me, computer science means using both theory and practical skills to tackle real‑world challenges and bring new tech ideas to life.\n", + graduated_at: "2007", + issuing_country: "Venezuela" + } ] }; diff --git a/src/stores/users/userType.ts b/src/stores/users/userType.ts index f00ddc16..c3cb5753 100644 --- a/src/stores/users/userType.ts +++ b/src/stores/users/userType.ts @@ -62,6 +62,17 @@ export interface RecommendationPerson { designation: string; } +export interface Education { + uuid: string; + icon: string; + school: string; + degree: string; + field: string; + description: string; + graduated_at: string; + issuing_country: string; +} + export interface User { nickname: string; handle: string; @@ -69,6 +80,7 @@ export interface User { email: string; profession: string; salt: string; + education: Education[]; social: Social[]; experience: Experience[]; projects: Project[]; From 5950cbccfc9a9c2c7e2c8f20436ea618e2b29a2a Mon Sep 17 00:00:00 2001 From: Gustavo Ocanto Date: Tue, 15 Jul 2025 12:09:32 +0800 Subject: [PATCH 05/11] start working on recommendations component --- src/pages/ResumePage.vue | 2 +- src/partials/RecommendationPartial.vue | 40 +++++++++++--------------- 2 files changed, 18 insertions(+), 24 deletions(-) diff --git a/src/pages/ResumePage.vue b/src/pages/ResumePage.vue index 23504e48..c5415060 100644 --- a/src/pages/ResumePage.vue +++ b/src/pages/ResumePage.vue @@ -18,7 +18,7 @@

My resume

- + diff --git a/src/partials/RecommendationPartial.vue b/src/partials/RecommendationPartial.vue index 2589b36d..4cef718f 100644 --- a/src/partials/RecommendationPartial.vue +++ b/src/partials/RecommendationPartial.vue @@ -3,37 +3,22 @@

Recommendations

    -
  • +
  • - Testimonial 03 + Testimonial 03
    -
    Mary Christopher
    -
    Designer Lead at Inventa Inc.
    -
    - “ Working with James on projects is a breath of fresh air. He is an extremely talented dev, with an outstanding work ethic, eye for detail, and speed. James doesn't just - execute and deliver incredible codes but works with you to challenge the product or flow at hand to create the best possible solution. ” +
    {{ item.person.full_name }}
    +
    {{ item.person.company }}
    +
    +
    {{ item.relation }}
    +
    {{ item.created_at }}
    -
    -
    -
  • - -
  • -
    -
    - Testimonial 04 -
    -
    -
    Harry Kastelli
    -
    CEO & Founder Mark Corp.
    - “ James is an excellent developer. He is not just quick to evaluate and translate ideas into high-fidelity codes, but he's also well-versed in UX strategy. While working - together, James handled our external partnership with Design Agencies, and delivered weekly progress reports with fresh ideas. ” + {{ item.text }}
    @@ -41,3 +26,12 @@
+ + From 2e2529eaf53b28c31e4e48eb714df59ad50ac9d2 Mon Sep 17 00:00:00 2001 From: Gustavo Ocanto Date: Tue, 15 Jul 2025 13:05:43 +0800 Subject: [PATCH 06/11] format texts --- package-lock.json | 27 +++++++ package.json | 2 + src/partials/RecommendationPartial.vue | 31 ++++++-- src/stores/users/response.ts | 104 +++++++++++-------------- 4 files changed, 98 insertions(+), 66 deletions(-) diff --git a/package-lock.json b/package-lock.json index b73d6d0f..4baecc35 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,6 +8,8 @@ "name": "gocanto-web", "version": "0.0.0", "dependencies": { + "dompurify": "^3.2.6", + "marked": "^16.0.0", "pinia": "^3.0.2", "vue": "^3.5.13", "vue-router": "^4.5.0" @@ -1591,6 +1593,12 @@ "undici-types": "~6.21.0" } }, + "node_modules/@types/trusted-types": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", + "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", + "optional": true + }, "node_modules/@typescript-eslint/eslint-plugin": { "version": "8.31.1", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.31.1.tgz", @@ -2229,6 +2237,14 @@ "node": ">=8" } }, + "node_modules/dompurify": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.2.6.tgz", + "integrity": "sha512-/2GogDQlohXPZe6D6NOgQvXLPSYBqIWMnZ8zzOhn09REE4eyAzb+Hed3jhoM9OkuaJ8P6ZGTTVWQKAi8ieIzfQ==", + "optionalDependencies": { + "@types/trusted-types": "^2.0.7" + } + }, "node_modules/electron-to-chromium": { "version": "1.5.140", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.140.tgz", @@ -3228,6 +3244,17 @@ "@jridgewell/sourcemap-codec": "^1.5.0" } }, + "node_modules/marked": { + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/marked/-/marked-16.0.0.tgz", + "integrity": "sha512-MUKMXDjsD/eptB7GPzxo4xcnLS6oo7/RHimUMHEDRhUooPwmN9BEpMl7AEOJv3bmso169wHI2wUF9VQgL7zfmA==", + "bin": { + "marked": "bin/marked.js" + }, + "engines": { + "node": ">= 20" + } + }, "node_modules/merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", diff --git a/package.json b/package.json index 1998a408..2e68d716 100644 --- a/package.json +++ b/package.json @@ -11,6 +11,8 @@ "preview": "vite preview" }, "dependencies": { + "dompurify": "^3.2.6", + "marked": "^16.0.0", "pinia": "^3.0.2", "vue": "^3.5.13", "vue-router": "^4.5.0" diff --git a/src/partials/RecommendationPartial.vue b/src/partials/RecommendationPartial.vue index 4cef718f..5f2d2f58 100644 --- a/src/partials/RecommendationPartial.vue +++ b/src/partials/RecommendationPartial.vue @@ -3,7 +3,7 @@

Recommendations

    -
  • +
  • {{ item.relation }}
    {{ item.created_at }}
    -
    - {{ item.text }} -
    +
  • @@ -28,10 +26,31 @@ diff --git a/src/stores/users/response.ts b/src/stores/users/response.ts index 389481fc..e9bebbe3 100644 --- a/src/stores/users/response.ts +++ b/src/stores/users/response.ts @@ -287,9 +287,9 @@ export const Response: User = { { uuid: "7dc74d20-42e1-4f09-9c8d-20ecfc6caad7", relation: "fellow colleague reporting to the C-Level.", - text: "Gus and I were peers at Perx during his time as Head of Engineering, he led several key initiatives — from scaling the engineering team and aligning cross-functional efforts across DevOps, backend, frontend, and data, to driving projects around infrastructure modernization, performance optimization, and cloud cost efficiency.\n" + - "\n" + - "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.", + 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", @@ -302,10 +302,10 @@ export const Response: User = { { uuid: "86fa5273-4e21-45e0-80de-5ec908cf6f81", relation: "Bhupesh reported directly to me.", - 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.\n" + - "\n" + - "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.\n" + - "\n" + + 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", @@ -319,10 +319,10 @@ export const Response: User = { { uuid: "dec7e524-34cc-405c-9b3a-01999852c9bb", relation: "Victory reported directly to me.", - 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. \n" + - "\n" + - "Despite the challenges posed by an unclear structure and team dynamics, Gus has been dedicated to making processes smoother and more consistent across departments. \n" + - "\n" + + 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", @@ -335,11 +335,11 @@ export const Response: User = { }, { uuid: "e4626228-99fa-4778-9a22-783174e7ab60", - relation: "was senior to me, but did not manage me 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. \n" + - "\n" + - "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. \n" + - "\n" + + relation: "was senior to me, but did not manage Gus 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", @@ -352,12 +352,8 @@ export const Response: User = { }, { uuid: "fa5c4084-e1b4-45dd-a314-e8d9f589f67e", - relation: "managed me directly.", - text: "Gustavo's blend of strong technical skills, problem-solving, and warm personality make him stand out.\n" + - "\n" + - "He's not only great at leading projects but also shines in teamwork, often stepping beyond his role to help others.\n" + - "\n" + - "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.", + relation: "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", @@ -370,15 +366,11 @@ export const Response: User = { { uuid: "0e587fa2-b678-4ca5-9eed-0f115c4a092d", relation: "was senior to me, but did not manage me directly.", - text: "I have worked with Gustavo as a Sr Engineer in my department at Aspire. \n"+ - "\n" + - "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.\n" + - "\n" + - "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. \n" + - "\n" + - "He constantly demonstrated ambition and drive to learn and improve each stage of the engineering process.\n" + - "\n" + - "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.", + 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", @@ -390,13 +382,13 @@ export const Response: User = { }, { uuid: "a5029b3e-3ad2-45a4-8e98-2599cdf21697", - relation: "managed me directly.", - text: "I had the pleasure of working alongside Gustavo for more than three years during his time at BeMyGuest.\n" + - "\n" + - "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.\n" + - "\n" + - "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.\n" + - "\n" + + relation: "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.", person: { avatar: "recommendation/ross-riley.jpeg", @@ -410,15 +402,11 @@ export const Response: User = { { uuid: "1ca2026d-9d52-4da9-bbe2-5adba175d4c4", relation: "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.\n" + - "\n" + - "His software development skill, whether its backend, full stack, is of exceptional high quality.\n" + - "\n" + - "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.\n" + - "\n" + - "He always has a positive attitude and a desire to produce quality work.\n" + - "\n" + - "Gus is as great a person as he was a colleague, a team lead and his next employer will be lucky to have him", + 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", @@ -430,14 +418,10 @@ export const Response: User = { }, { uuid: "1ca2026d-9d52-4da9-bbe2-5adba175d4c4", - relation: "managed me 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. \n" + - "\n" + - "He's not afraid of approaching the most complex problems and testing new waters to find the best solutions. \n" + - "\n" + - "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. \n" + - "\n" + - "He's got that deep internal drive to learn every day and test new ideas in real life, which I always find very valuable.", + relation: "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", @@ -455,8 +439,8 @@ export const Response: User = { 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. \n" + - "\n" + + 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" @@ -467,9 +451,9 @@ export const Response: User = { 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. \n"+ - "\n" + - "For me, computer science means using both theory and practical skills to tackle real‑world challenges and bring new tech ideas to life.\n", + 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 fe85f4b1e9736a09c18d130f54888f4127d546db Mon Sep 17 00:00:00 2001 From: Gustavo Ocanto Date: Tue, 15 Jul 2025 14:04:51 +0800 Subject: [PATCH 07/11] legend --- src/partials/RecommendationPartial.vue | 9 +++++---- src/public.ts | 12 ++++++++++++ src/stores/users/response.ts | 18 +++++++++--------- 3 files changed, 26 insertions(+), 13 deletions(-) diff --git a/src/partials/RecommendationPartial.vue b/src/partials/RecommendationPartial.vue index 5f2d2f58..9073832d 100644 --- a/src/partials/RecommendationPartial.vue +++ b/src/partials/RecommendationPartial.vue @@ -13,9 +13,9 @@
    {{ item.person.full_name }}
    {{ item.person.company }}
    -
    +
    {{ item.relation }}
    -
    {{ item.created_at }}
    +
    {{ item.formattedDate }}
    @@ -29,7 +29,7 @@ import { computed } from 'vue'; import { marked } from 'marked'; import DOMPurify from 'dompurify'; -import { image } from '@/public.ts'; +import { image, date } from '@/public.ts'; import type { Recommendation } from '@stores/users/userType.ts'; @@ -48,7 +48,8 @@ const processedRecommendations = computed(() => { return { ...item, - html: sanitisedHtml + html: sanitisedHtml, + formattedDate: date().format(new Date(item.created_at)), }; }); }); diff --git a/src/public.ts b/src/public.ts index d0b031ea..d66897db 100644 --- a/src/public.ts +++ b/src/public.ts @@ -3,3 +3,15 @@ const IMAGES_DIR = 'images'; export function image(filename: string): string { return `/${IMAGES_DIR}/${filename}`; } + +export function date(language?: string, options?: object): Intl.DateTimeFormat { + const lang = language || "en-US"; + + const ops = options || { + year: "numeric", + month: "long", + day: "numeric" + } + + return new Intl.DateTimeFormat(lang, ops) +} diff --git a/src/stores/users/response.ts b/src/stores/users/response.ts index e9bebbe3..a9b4baaa 100644 --- a/src/stores/users/response.ts +++ b/src/stores/users/response.ts @@ -286,7 +286,7 @@ export const Response: User = { recommendations: [ { uuid: "7dc74d20-42e1-4f09-9c8d-20ecfc6caad7", - relation: "fellow colleague reporting to the C-Level.", + 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.", @@ -301,7 +301,7 @@ export const Response: User = { }, { uuid: "86fa5273-4e21-45e0-80de-5ec908cf6f81", - relation: "Bhupesh reported directly to me.", + 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." + @@ -318,7 +318,7 @@ export const Response: User = { }, { uuid: "dec7e524-34cc-405c-9b3a-01999852c9bb", - relation: "Victory reported directly to me.", + 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." + @@ -335,7 +335,7 @@ export const Response: User = { }, { uuid: "e4626228-99fa-4778-9a22-783174e7ab60", - relation: "was senior to me, but did not manage Gus directly.", + 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." + @@ -352,7 +352,7 @@ export const Response: User = { }, { uuid: "fa5c4084-e1b4-45dd-a314-e8d9f589f67e", - relation: "managed Gus directly.", + 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", @@ -365,7 +365,7 @@ export const Response: User = { }, { uuid: "0e587fa2-b678-4ca5-9eed-0f115c4a092d", - relation: "was senior to me, but did not manage me directly.", + 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." + @@ -382,7 +382,7 @@ export const Response: User = { }, { uuid: "a5029b3e-3ad2-45a4-8e98-2599cdf21697", - relation: "managed Gus directly.", + 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." + @@ -401,7 +401,7 @@ export const Response: User = { }, { uuid: "1ca2026d-9d52-4da9-bbe2-5adba175d4c4", - relation: "fellow software engineer", + 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." + @@ -418,7 +418,7 @@ export const Response: User = { }, { uuid: "1ca2026d-9d52-4da9-bbe2-5adba175d4c4", - relation: "managed Gus directly.", + 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.", From a54dc3ef19ca2715d9f516f35d925b84b34503a4 Mon Sep 17 00:00:00 2001 From: Gustavo Ocanto Date: Tue, 15 Jul 2025 14:20:09 +0800 Subject: [PATCH 08/11] education --- src/pages/ResumePage.vue | 4 +- src/partials/EducationPartial.vue | 75 +++++++++++++++----------- src/partials/RecommendationPartial.vue | 2 +- src/stores/users/response.ts | 2 +- 4 files changed, 46 insertions(+), 37 deletions(-) diff --git a/src/pages/ResumePage.vue b/src/pages/ResumePage.vue index c5415060..a192ce66 100644 --- a/src/pages/ResumePage.vue +++ b/src/pages/ResumePage.vue @@ -19,8 +19,7 @@
    - - +
    @@ -46,7 +45,6 @@ diff --git a/src/partials/RecommendationPartial.vue b/src/partials/RecommendationPartial.vue index 9073832d..4d8e9027 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 }}
    diff --git a/src/stores/users/response.ts b/src/stores/users/response.ts index a9b4baaa..c9cf2085 100644 --- a/src/stores/users/response.ts +++ b/src/stores/users/response.ts @@ -436,7 +436,7 @@ export const Response: User = { { uuid: "a0fde63b-016b-4121-959f-18a950b8bc81", icon: "education/uah_logo.jpeg", - school: "Universidad 'Alejandro de Humboldt", + 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." + From 62d4f9816d231392e514b15a48f50c6d3b0c723e Mon Sep 17 00:00:00 2001 From: Gustavo Ocanto Date: Tue, 15 Jul 2025 14:27:55 +0800 Subject: [PATCH 09/11] format --- src/partials/RecommendationPartial.vue | 2 +- src/public.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/partials/RecommendationPartial.vue b/src/partials/RecommendationPartial.vue index 4d8e9027..bcd62198 100644 --- a/src/partials/RecommendationPartial.vue +++ b/src/partials/RecommendationPartial.vue @@ -8,7 +8,7 @@
    - Testimonial 03 +
    {{ item.person.full_name }}
    diff --git a/src/public.ts b/src/public.ts index d66897db..b12283ce 100644 --- a/src/public.ts +++ b/src/public.ts @@ -4,7 +4,7 @@ export function image(filename: string): string { return `/${IMAGES_DIR}/${filename}`; } -export function date(language?: string, options?: object): Intl.DateTimeFormat { +export function date(language?: string, options?: Intl.DateTimeFormatOptions): Intl.DateTimeFormat { const lang = language || "en-US"; const ops = options || { From 720beebf0016f57611bd28dae4b451715540a4ee Mon Sep 17 00:00:00 2001 From: Gustavo Ocanto Date: Tue, 15 Jul 2025 14:33:41 +0800 Subject: [PATCH 10/11] skip newsletter for now --- src/pages/AboutPage.vue | 4 ++-- src/pages/HomePage.vue | 4 ++-- src/pages/PostPage.vue | 4 ++-- src/pages/ProjectsPage.vue | 4 ++-- src/partials/SideNavPartial.vue | 13 ------------- 5 files changed, 8 insertions(+), 21 deletions(-) diff --git a/src/pages/AboutPage.vue b/src/pages/AboutPage.vue index e1eb9b14..1c0f3a12 100644 --- a/src/pages/AboutPage.vue +++ b/src/pages/AboutPage.vue @@ -67,7 +67,7 @@
    @@ -88,7 +88,7 @@ import FooterPartial from '@partials/FooterPartial.vue'; import HeaderPartial from '@partials/HeaderPartial.vue'; import SideNavPartial from '@partials/SideNavPartial.vue'; import WidgetSocialPartial from '@partials/WidgetSocialPartial.vue'; -import WidgetNewsletterPartial from '@partials/WidgetNewsletterPartial.vue'; +import WidgetSkillsPartial from '@partials/WidgetSkillsPartial.vue'; const userStore = useUserStore(); const user = ref(null); diff --git a/src/pages/HomePage.vue b/src/pages/HomePage.vue index 20357534..b3997690 100644 --- a/src/pages/HomePage.vue +++ b/src/pages/HomePage.vue @@ -25,7 +25,7 @@ @@ -47,7 +47,7 @@ import SideNavPartial from '@partials/SideNavPartial.vue'; import ArticlesListPartial from '@partials/ArticlesListPartial.vue'; import WidgetSponsorPartial from '@partials/WidgetSponsorPartial.vue'; import FeaturedProjectsPartial from '@partials/FeaturedProjectsPartial.vue'; -import WidgetNewsletterPartial from '@partials/WidgetNewsletterPartial.vue'; +import WidgetSkillsPartial from '@partials/WidgetSkillsPartial.vue'; import { useUserStore } from '@stores/users/user.ts'; import { onMounted } from 'vue'; diff --git a/src/pages/PostPage.vue b/src/pages/PostPage.vue index 11006a97..86dd651d 100644 --- a/src/pages/PostPage.vue +++ b/src/pages/PostPage.vue @@ -198,7 +198,7 @@