Skip to content

Commit 3e3f9d1

Browse files
authored
Merge pull request #5 from zedjarvis/release
Merge release branch
2 parents 987e77b + 633a0d5 commit 3e3f9d1

File tree

4 files changed

+577
-432
lines changed

4 files changed

+577
-432
lines changed

constants/index.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ const projects = ref<Project[]>([
8181
{
8282
title: "TaxManager",
8383
image: "/images/portfolio4.png",
84-
url: "https://digitax.tech",
84+
url: "https://docs.digitax.tech/docs/sage-online-plugin",
8585
body: "An Electron Desktop and web application that integrages Locally hosted ERP systems e.g Sage and Odoo to digitax for Tax Compliance with the new ETIMS API specifications. The frontend is Vue while the backend is Expressjs. It uses sequelize ORM to simplify DB access. Integrated for DXC Technology, Ngong Veg Ltd, Seweco Paints, Poa Internet and more.",
8686
techStack: ["Electron", "Express", "Vue.js", "Typescript", "SQL"],
8787
opensource: false,
@@ -94,6 +94,13 @@ const projects = ref<Project[]>([
9494
techStack: ["Vue.js", "Typescript", "unbuild", "pnpm"],
9595
opensource: true,
9696
},
97+
{
98+
title: "HaftStudio Website",
99+
image: "/images/portfolio.jpg",
100+
url: "https://haftstudio-website.vercel.app",
101+
body: "Simple, Modern, professional website made for a Design, Furniture and Build company. Still under developement.",
102+
techStack: ["Vue.js", "Vuetify", "SCSS", "Typecript"],
103+
},
97104
{
98105
title: "Pro-Manager.com",
99106
image: "/images/portfolio3.png",
@@ -113,13 +120,6 @@ const projects = ref<Project[]>([
113120
"Docker",
114121
],
115122
},
116-
{
117-
title: "HaftStudio Website",
118-
image: "/images/portfolio.jpg",
119-
url: "https://haftstudio-website.vercel.app",
120-
body: "Simple, Modern, professional website made for a Design, Furniture and Build company. Still under developement.",
121-
techStack: ["Vue.js", "Vuetify", "SCSS", "Typecript"],
122-
},
123123
]);
124124

125125
export { experiences, projects };

package.json

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,23 +12,23 @@
1212
"vue-rough-notation": "^1.0.4"
1313
},
1414
"devDependencies": {
15-
"@iconify-json/carbon": "^1.1.21",
16-
"@nuxt/content": "^2.8.5",
17-
"@nuxt/devtools": "latest",
18-
"@nuxt/ui": "^2.9.0",
15+
"@iconify-json/carbon": "^1.2.3",
16+
"@nuxt/content": "^2.13.4",
17+
"@nuxt/devtools": "1.6.0",
18+
"@nuxt/ui": "^2.18.7",
1919
"@nuxtjs/color-mode": "^3.3.0",
20-
"@nuxtjs/robots": "^4.1.7",
21-
"@nuxtjs/sitemap": "^6.1.0",
20+
"@nuxtjs/robots": "^4.1.9",
21+
"@nuxtjs/sitemap": "^6.1.2",
2222
"@vueuse/core": "^11.1.0",
23-
"@vueuse/motion": "^2.0.0",
23+
"@vueuse/motion": "^2.2.6",
2424
"@vueuse/nuxt": "^11.1.0",
2525
"gsap": "^3.12.2",
2626
"happy-dom": "^15.7.4",
2727
"nuxt": "^3.13.2",
2828
"nuxt-gtag": "^3.0.1",
29-
"nuxt-og-image": "^3.0.2",
30-
"nuxt-schema-org": "^3.0.1",
29+
"nuxt-og-image": "^3.0.6",
30+
"nuxt-schema-org": "^3.4.1",
3131
"nuxt-simple-robots": "4.0.1",
32-
"nuxt-typed-router": "^3.3.1"
32+
"nuxt-typed-router": "^3.7.0"
3333
}
3434
}

pages/index.vue

Lines changed: 48 additions & 145 deletions
Original file line numberDiff line numberDiff line change
@@ -45,192 +45,113 @@ onMounted(() => {
4545
<div class="lg:flex lg:justify-between lg:gap-4">
4646
<!-- HEADER -->
4747
<header
48-
class="font-space lg:sticky lg:top-0 lg:flex lg:max-h-screen lg:w-1/2 lg:flex-col lg:justify-between lg:py-24"
49-
>
48+
class="font-space lg:sticky lg:top-0 lg:flex lg:max-h-screen lg:w-1/2 lg:flex-col lg:justify-between lg:py-24">
5049
<div>
51-
<h1
52-
v-motion-slide-top
53-
ref="container"
54-
:style="headingStyle"
55-
class="text-4xl font-bold tracking-tight text-slate-200 sm:text-5xl transition-all"
56-
>
50+
<h1 v-motion-slide-top ref="container" :style="headingStyle"
51+
class="text-4xl font-bold tracking-tight text-slate-200 sm:text-5xl transition-all">
5752
<NuxtLink to="/"> Cedrouseroll Omondi </NuxtLink>
5853
</h1>
59-
<h2
60-
v-motion-pop
61-
class="font-medium mt-3 text-lg tracking-tight text-slate-200 sm:text-xl"
62-
>
54+
<h2 v-motion-pop class="font-medium mt-3 text-lg tracking-tight text-slate-200 sm:text-xl">
6355
<RoughNotation :is-show="true" type="highlight" color="#f4f169">
6456
<span class="text-slate-500">Fullstack Software Developer</span>
6557
</RoughNotation>
6658
</h2>
6759
<p v-motion-slide-left class="mt-4 max-w-xs leading-normal">
68-
<span class="font-thin"
69-
>"The code you write makes you a programmer. The code you delete
60+
<span class="font-thin">"The code you write makes you a programmer. The code you delete
7061
makes you a good one. The code you don't have to write makes you a
7162
great one."
7263
</span>
7364
</p>
7465
<nav class="nav hidden lg:block" aria-label="In-page jump links">
7566
<ul v-motion-slide-left class="mt-16 w-max">
7667
<li>
77-
<a
78-
class="group flex items-center py-3"
79-
:class="{ active: currentSection == 'about' }"
80-
href="#about"
81-
>
68+
<a class="group flex items-center py-3" :class="{ active: currentSection == 'about' }" href="#about">
8269
<span
83-
class="nav-indicator mr-4 h-px w-8 bg-slate-600 transition-all group-hover:w-16 group-hover:bg-slate-200 group-focus-visible:w-16 group-focus-visible:bg-slate-200 motion-reduce:transition-none"
84-
></span
85-
><span
86-
class="nav-text text-xs font-bold uppercase tracking-widest text-slate-500 group-hover:text-slate-200 group-focus-visible:text-slate-200"
87-
>About</span
88-
>
70+
class="nav-indicator mr-4 h-px w-8 bg-slate-600 transition-all group-hover:w-16 group-hover:bg-slate-200 group-focus-visible:w-16 group-focus-visible:bg-slate-200 motion-reduce:transition-none"></span><span
71+
class="nav-text text-xs font-bold uppercase tracking-widest text-slate-500 group-hover:text-slate-200 group-focus-visible:text-slate-200">About</span>
8972
</a>
9073
</li>
9174
<li>
92-
<a
93-
class="group flex items-center py-3"
94-
:class="{ active: currentSection == 'experience' }"
95-
href="#experience"
96-
>
75+
<a class="group flex items-center py-3" :class="{ active: currentSection == 'experience' }"
76+
href="#experience">
9777
<span
98-
class="nav-indicator mr-4 h-px w-8 bg-slate-600 transition-all group-hover:w-16 group-hover:bg-slate-200 group-focus-visible:w-16 group-focus-visible:bg-slate-200 motion-reduce:transition-none"
99-
></span
100-
><span
101-
class="nav-text text-xs font-bold uppercase tracking-widest text-slate-500 group-hover:text-slate-200 group-focus-visible:text-slate-200"
102-
>Experience</span
103-
>
78+
class="nav-indicator mr-4 h-px w-8 bg-slate-600 transition-all group-hover:w-16 group-hover:bg-slate-200 group-focus-visible:w-16 group-focus-visible:bg-slate-200 motion-reduce:transition-none"></span><span
79+
class="nav-text text-xs font-bold uppercase tracking-widest text-slate-500 group-hover:text-slate-200 group-focus-visible:text-slate-200">Experience</span>
10480
</a>
10581
</li>
10682
<li>
107-
<a
108-
class="group flex items-center py-3"
109-
:class="{ active: currentSection == 'projects' }"
110-
href="#projects"
111-
>
83+
<a class="group flex items-center py-3" :class="{ active: currentSection == 'projects' }"
84+
href="#projects">
11285
<span
113-
class="nav-indicator mr-4 h-px w-8 bg-slate-600 transition-all group-hover:w-16 group-hover:bg-slate-200 group-focus-visible:w-16 group-focus-visible:bg-slate-200 motion-reduce:transition-none"
114-
></span
115-
><span
116-
class="nav-text text-xs font-bold uppercase tracking-widest text-slate-500 group-hover:text-slate-200 group-focus-visible:text-slate-200"
117-
>Projects</span
118-
>
86+
class="nav-indicator mr-4 h-px w-8 bg-slate-600 transition-all group-hover:w-16 group-hover:bg-slate-200 group-focus-visible:w-16 group-focus-visible:bg-slate-200 motion-reduce:transition-none"></span><span
87+
class="nav-text text-xs font-bold uppercase tracking-widest text-slate-500 group-hover:text-slate-200 group-focus-visible:text-slate-200">Projects</span>
11988
</a>
12089
</li>
12190
<li>
122-
<a
123-
class="group flex items-center py-3"
124-
:class="{ active: currentSection == 'blog' }"
125-
href="#blog"
126-
>
91+
<a class="group flex items-center py-3" :class="{ active: currentSection == 'blog' }" href="#blog">
12792
<span
128-
class="nav-indicator mr-4 h-px w-8 bg-slate-600 transition-all group-hover:w-16 group-hover:bg-slate-200 group-focus-visible:w-16 group-focus-visible:bg-slate-200 motion-reduce:transition-none"
129-
></span
130-
><span
131-
class="nav-text text-xs font-bold uppercase tracking-widest text-slate-500 group-hover:text-slate-200 group-focus-visible:text-slate-200"
132-
>Blog</span
133-
>
93+
class="nav-indicator mr-4 h-px w-8 bg-slate-600 transition-all group-hover:w-16 group-hover:bg-slate-200 group-focus-visible:w-16 group-focus-visible:bg-slate-200 motion-reduce:transition-none"></span><span
94+
class="nav-text text-xs font-bold uppercase tracking-widest text-slate-500 group-hover:text-slate-200 group-focus-visible:text-slate-200">Blog</span>
13495
</a>
13596
</li>
13697
</ul>
13798
</nav>
13899
</div>
139100
<ul class="mt-8 flex items-center" aria-label="Social media">
140-
<li v-motion-slide-bottom class="mr-5">
141-
<SocialLink
142-
title="Github"
143-
url="https://github.com/zedjarvis"
144-
icon="i-carbon-logo-github"
145-
/>
101+
<li class="mr-5">
102+
<SocialLink title="Github" url="https://github.com/zedjarvis" icon="i-carbon-logo-github" />
146103
</li>
147-
<li v-motion-slide-bottom class="mr-5">
148-
<SocialLink
149-
title="Linkedin"
150-
url="https://linkedin.com/in/cedrouseroll-omondi-44b119252"
151-
icon="i-carbon-logo-linkedin"
152-
/>
104+
<li class="mr-5">
105+
<SocialLink title="Linkedin" url="https://linkedin.com/in/cedrouseroll-omondi-44b119252"
106+
icon="i-carbon-logo-linkedin" />
153107
</li>
154-
<li v-motion-slide-bottom class="mr-5">
155-
<SocialLink
156-
title="Twitter"
157-
url="https://twitter.com/cedrouseR"
158-
icon="i-carbon-logo-twitter"
159-
/>
108+
<li class="mr-5">
109+
<SocialLink title="Twitter" url="https://twitter.com/cedrouseR" icon="i-carbon-logo-twitter" />
160110
</li>
161-
<li v-motion-slide-bottom class="mr-5">
162-
<SocialLink
163-
title="Email"
164-
url="mailto:[email protected]"
165-
icon="i-carbon-email"
166-
/>
111+
<li class="mr-5">
112+
<SocialLink title="Email" url="mailto:[email protected]" icon="i-carbon-email" />
167113
</li>
168114
</ul>
169115
</header>
170116

171117
<!-- MAIN -->
172118
<main id="content" ref="root" class="pt-24 lg:w-1/2 lg:py-24 font-space">
173119
<!-- ABOUT SECTION -->
174-
<section
175-
id="about"
176-
class="mb-16 scroll-mt-16 md:mb-24 lg:mb-36 lg:scroll-mt-24"
177-
aria-label="About me"
178-
>
120+
<section id="about" class="mb-16 scroll-mt-16 md:mb-24 lg:mb-36 lg:scroll-mt-24" aria-label="About me">
179121
<SectionHeader title="About" />
180-
<About v-motion-pop />
122+
<About />
181123
</section>
182124

183125
<!-- <DesktopPC /> -->
184126

185127
<!-- EXPERIENCE SECTION -->
186-
<section
187-
id="experience"
188-
class="mb-16 scroll-mt-16 md:mb-24 lg:mb-36 lg:scroll-mt-24"
189-
aria-label="Work experience"
190-
>
128+
<section id="experience" class="mb-16 scroll-mt-16 md:mb-24 lg:mb-36 lg:scroll-mt-24"
129+
aria-label="Work experience">
191130
<SectionHeader title="Experience" />
192131
<div>
193132
<ol class="group/list">
194133
<li v-for="(exp, i) in experiences" :key="i" class="mb-12">
195-
<ExperienceCard
196-
:start-date="exp.startDate"
197-
:end-date="exp.endDate"
198-
:title="exp.title"
199-
:company="exp.company"
200-
:url="exp.url"
201-
:body="exp.body"
202-
:links="exp.links"
203-
:tech-stack="exp.techStack"
204-
/>
134+
<ExperienceCard :start-date="exp.startDate" :end-date="exp.endDate" :title="exp.title"
135+
:company="exp.company" :url="exp.url" :body="exp.body" :links="exp.links" :tech-stack="exp.techStack" />
205136
</li>
206137
</ol>
207138

208139
<!-- SECTION LINK -->
209-
<a
210-
class="inline-flex items-center font-medium leading-tight text-slate-200 group"
211-
aria-label="View Full Project Archive"
212-
href="/cedrouseroll_omondi_resume_full_stack_developer.pdf"
213-
target="_blank"
214-
>
140+
<a class="inline-flex items-center font-medium leading-tight text-slate-200 group"
141+
aria-label="View Full Project Archive" href="/cedrouseroll_omondi_resume_full_stack_developer.pdf"
142+
target="_blank">
215143
<span>
216144
<span
217-
class="border-b border-transparent pb-px transition group-hover:border-teal-300 motion-reduce:transition-none"
218-
>
145+
class="border-b border-transparent pb-px transition group-hover:border-teal-300 motion-reduce:transition-none">
219146
View Full Résumé
220147
</span>
221148
<span class="whitespace-nowrap">
222-
<svg
223-
xmlns="http://www.w3.org/2000/svg"
224-
viewBox="0 0 20 20"
225-
fill="currentColor"
149+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor"
226150
class="ml-1 inline-block h-4 w-4 shrink-0 -translate-y-px transition-transform group-hover:translate-x-2 group-focus-visible:translate-x-2 motion-reduce:transition-none"
227-
aria-hidden="true"
228-
>
229-
<path
230-
fill-rule="evenodd"
151+
aria-hidden="true">
152+
<path fill-rule="evenodd"
231153
d="M3 10a.75.75 0 01.75-.75h10.638L10.23 5.29a.75.75 0 111.04-1.08l5.5 5.25a.75.75 0 010 1.08l-5.5 5.25a.75.75 0 11-1.04-1.08l4.158-3.96H3.75A.75.75 0 013 10z"
232-
clip-rule="evenodd"
233-
></path>
154+
clip-rule="evenodd"></path>
234155
</svg>
235156
</span>
236157
</span>
@@ -239,28 +160,14 @@ onMounted(() => {
239160
</section>
240161

241162
<!-- PROJECTS SECTION -->
242-
<section
243-
id="projects"
244-
class="mb-16 scroll-mt-16 md:mb-24 lg:mb-36 lg:scroll-mt-24"
245-
aria-label="Selected projects"
246-
>
163+
<section id="projects" class="mb-16 scroll-mt-16 md:mb-24 lg:mb-36 lg:scroll-mt-24"
164+
aria-label="Selected projects">
247165
<SectionHeader title="Projects" />
248166
<div>
249167
<ul class="group/list">
250-
<li
251-
v-motion-pop-visible-once
252-
v-for="(project, i) in projects"
253-
:key="i"
254-
class="mb-12"
255-
>
256-
<ProjectCard
257-
:title="project.title"
258-
:image="project.image"
259-
:url="project.url"
260-
:body="project.body"
261-
:tech-stack="project.techStack"
262-
:opensource="project.opensource"
263-
/>
168+
<li v-motion-pop-visible-once v-for="(project, i) in projects" :key="i" class="mb-12">
169+
<ProjectCard :title="project.title" :image="project.image" :url="project.url" :body="project.body"
170+
:tech-stack="project.techStack" :opensource="project.opensource" />
264171
</li>
265172
</ul>
266173

@@ -270,11 +177,7 @@ onMounted(() => {
270177
</section>
271178

272179
<!-- BLOG SECTION -->
273-
<section
274-
id="blog"
275-
class="mb-16 scroll-mt-16 md:mb-24 lg:mb-36 lg:scroll-mt-24"
276-
aria-label="Blog posts"
277-
>
180+
<section id="blog" class="mb-16 scroll-mt-16 md:mb-24 lg:mb-36 lg:scroll-mt-24" aria-label="Blog posts">
278181
<SectionHeader title="Blog" />
279182
<div>
280183
<ul class="group/list">

0 commit comments

Comments
 (0)