added language selector

This commit is contained in:
becarta
2025-02-05 00:15:23 +01:00
parent 5bf817e29f
commit 216554ce5f
9 changed files with 1117 additions and 417 deletions

View File

@@ -1,412 +1,23 @@
---
import Layout from '~/layouts/PageLayout.astro';
// List the supported language codes.
const supportedLangs = ['en', 'fr', 'es'];
import Header from '~/components/widgets/Header.astro';
import Hero from '~/components/widgets/Hero.astro';
import Content from '~/components/widgets/Content.astro';
import Features3 from '~/components/widgets/Features3.astro';
import Testimonials from '~/components/widgets/Testimonials.astro';
import Steps from '~/components/widgets/Steps.astro';
import BlogLatestPosts from '~/components/widgets/BlogLatestPosts.astro';
import { getPermalink } from '~/utils/permalinks';
import HomePageImage from '../assets/images/richardbergsma.png'
import MicrosoftAssociate from '../assets/images/microsoft-certified-associate-badge.webp'
import NexthinkAssociate from '../assets/images/NexthinkAssociate.webp'
import NexthinkAdministrator from '../assets/images/NexthinkAdministrator.webp'
import pcep from '../assets/images/PCEP.webp'
import MicrosoftFundamentals from '../assets/images/microsoft-certified-fundamentals-badge.webp'
// Default language
let chosenLang = 'en';
// Get the user's Accept-Language header from the incoming request.
const acceptLang = Astro.request.headers.get('accept-language');
const metadata = {
title: 'About me',
};
if (acceptLang) {
// The header may look like: "fr-CH,fr;q=0.9,en-US;q=0.8,en;q=0.7"
// Extract the first language code and simplify (e.g., "fr-CH" becomes "fr")
const preferredLang = acceptLang.split(',')[0].trim().split('-')[0];
if (supportedLangs.includes(preferredLang)) {
chosenLang = preferredLang;
}
}
const fixedYear = 2010; // Replace with your desired year
const currentYear = new Date().getFullYear();
const yearsSince = currentYear - fixedYear;
---
<Layout metadata={metadata}>
<Fragment slot="announcement"></Fragment>
<Fragment slot="header">
<Header
links={[
{ text: 'Home', href: '#hero' },
{ text: 'About', href: '#about' },
{ text: 'Resume', href: '#resume' },
{ text: 'Skills', href: '#skills' },
{ text: 'Porfolio', href: '#porfolio' },
{ text: 'Blog', href: '#blog' },
]}
actions={[
{
text: 'Contact me',
href: getPermalink('/contact#form'),
},
]}
isSticky
showToggleTheme
/>
</Fragment>
<!-- Hero2 Widget ******************* -->
<Hero
id="hero"
title="Simplifying Systems, Amplifying Results"
>
<Fragment slot="subtitle">
<strong class="text-4xl">Hi! I am Richard Bergsma.</strong></br></br>I automate workflows with Power Automate, build smart chatbots in Copilot Studio, and connect systems through seamless API integrations. From optimizing IT infrastructure and managing global environments to enhancing collaboration with SharePoint and Azure, I streamline processes to make technology work smarter—all while leveling up my Python skills.
</Fragment>
</Hero>
<!-- Content Widget **************** -->
<Content
id="about"
columns={2}
items={[
]}
image={{
src: HomePageImage,
alt: 'Richard Bergsma smiling in the mountains of Switzerland holding Revella',
loading: 'eager',
}}
>
<Fragment slot="content">
<h2 class="text-2xl font-bold tracking-tight dark:text-white sm:text-3xl mb-2">About me</h2>
With over 15 years of IT experience, I am a passionate IT Systems and Automation Manager who thrives on delivering optimal solutions for complex cloud and on-premise systems. I focus on driving automation with Power Automate, building intelligent chatbots in Copilot Studio, and integrating APIs to streamline workflows. I also manage the Microsoft 365 environment, support 3rd line requests, and enhance efficiency with tools like Power Apps, Nexthink, and TOPdesk.
</br></br>Previously, I led Microsoft 365 and SharePoint Online implementations, migrated mail systems, and improved automation with SCCM. Additionally, I founded Bergsma IT, helping small businesses move to the cloud and managing tailored WordPress websites.
</br></br>I hold certifications in Microsoft Teams Administration, Azure Fundamentals, and Nexthink Administration. My mission is to drive IT excellence by optimizing cloud solutions, automating processes, and providing outstanding technical support.
</Fragment>
<Fragment slot="bg">
<div class="absolute inset-0 bg-blue-50 dark:bg-transparent"></div>
</Fragment>
</Content>
<!-- Steps Widget ****************** -->
<Steps
id="resume"
title="Work experience"
items={[
{
title:
'IT Systems and Automation Manager<br /> <span class="font-normal">COFRA Holding C.V. - Amsterdam</span> <br /> <span class="text-sm font-normal">02-2025 - Present</span>',
description: `As the IT Systems and Automation Manager at COFRA Holding, I focus on driving automation through Power Automate and building advanced chatbots in Copilot Studio to streamline processes and enhance operational efficiency. My work involves integrating APIs to create seamless workflows, automating recurring tasks, and supporting digital transformation initiatives. In addition to my automation responsibilities, I continue to manage our Microsoft 365 environment, support 3rd line requests, develop Power Apps, oversee our Nexthink environment, manage TOPdesk, and contribute to various IT projects as needed.`,
icon: 'tabler:automation',
},
{
title:
'Office 365 Professional <br /> <span class="font-normal">COFRA Holding C.V. - Amsterdam</span> <br /> <span class="text-sm font-normal">08-2020 - 01-2025</span>',
description: `As the Microsoft 365 expert within COFRA Holding, I ensure that the environment is managed, new features are communicated, and colleagues are supported with 3rd line requests. New requests that come to me range from new Power Automate flows to Power Apps. Additionally, I focus on the setup and management of our Nexthink environment, manage TopDesk, and support other projects as required. Lately, Ive been concentrating on leveraging Power Automate to enhance automation across various areas.`,
icon: 'tabler:brand-office',
},
{
title:
'Cloud systems and Application Engineer<br /> <span class="font-normal">Hyva - Alphen aan den Rijn</span> <br /> <span class="text-sm font-normal">09-2018 - 04-2020</span>',
description: `Managed global IT infrastructure across 35 countries, driving the implementation and integration of Office 365 and SharePoint Online to enhance collaboration. Led seamless migrations from diverse mail systems to Office 365, improving communication efficiency and reliability. Spearheaded the consolidation of global IT operations by replacing two data centers, setting up and optimizing Azure environments, and managing costs effectively. Implemented SCCM to automate key processes, boosting service desk efficiency. Provided third-line support via TOPdesk, resolving complex IT issues and ensuring high service quality.`,
icon: 'tabler:car-crane',
},
{
title:
'IT Consultant<br /> <span class="font-normal">Bergsma.IT - Zoetermeer</span> <br /> <span class="text-sm font-normal">01-2018 - 07-2019</span>',
description: `Founded the company to help small businesses modernize their IT infrastructure through cloud-based solutions, focusing on Microsoft technologies to enhance efficiency, scalability, and collaboration. Successfully executed email and file server migrations to Microsoft cloud platforms, provided ongoing technical support, and designed tailored WordPress websites. Streamlined workflows with Microsoft 365 and delivered customized IT solutions aligned with clients business goals.`,
icon: 'tabler:binary-tree-2',
},
{
title:
'Technical Application Engineer SharePoint<br /> <span class="font-normal">Allseas - Delft</span> <br /> <span class="text-sm font-normal">04-2018 - 09-2018</span>',
description: `Managed and optimized SharePoint 2013 and SharePoint Online environments to support collaboration and productivity. Created and customized SharePoint sites, implemented workflows, and provided expert support for Cadac Organice. Worked closely with stakeholders to deliver tailored solutions, ensuring secure, up-to-date, and high-performing SharePoint systems.`,
icon: 'tabler:cloud-share',
},
{
title:
'IT System Administrator<br /> <span class="font-normal">OZ Export - De Kwakel</span> <br /> <span class="text-sm font-normal">10-2015 - 12-2017</span>',
description: `Managed and maintained the organizations IT infrastructure to ensure system reliability and seamless operations. Oversaw servers, client PCs, portable scanners, and printers, optimizing performance and minimizing downtime. Configured VoIP systems, managed network switches, and administered Citrix environments for secure remote access. Installed and supported on-premise SharePoint environments to enhance collaboration. Designed and maintained the organizations surveillance system and helpdesk platform, streamlining IT support and strengthening security. Provided hands-on troubleshooting for hardware, software, and network issues to support daily operations.`,
icon: 'tabler:server',
},
]}
classes={{ container: 'max-w-3xl' }}
/>
<!-- Steps Widget ****************** -->
<Steps
id="resume"
title="Education"
items={[
{
title: `Bachelor of Applied Science - BASc, Mechatronics, Robotics, and Automation Engineering<br /> <span class="font-normal">De Haagse Hogeschool / The Hague University of Applied Sciences</span> <br /> <span class="text-sm font-normal">2011 - 2013</span>`,
icon: 'tabler:school',
},
{
title: `Bachelor of Applied Science - BASc, Information Technology<br /> <span class="font-normal">De Haagse Hogeschool / The Hague University of Applied Sciences</span> <br /> <span class="text-sm font-normal">2011 - 2011</span>`,
icon: 'tabler:school',
},
{
title: `Associate's degree, Information Technology<br /> <span class="font-normal">ID College</span> <br /> <span class="text-sm font-normal">2007 - 2011</span>`,
icon: 'tabler:books',
},
]}
classes={{ container: 'max-w-3xl' }}
/>
<!-- Testimonials Widget *********** -->
<Testimonials
title="Certifications"
subtitle="Where Knowledge Meets Recognition"
testimonials={[
{
name: 'Certified Nexthink Administrator',
description: 'Earning the Nexthink Platform Administration certification demonstrates proficiency in configuring and customizing the Nexthink Platform to meet organizational needs. ',
linkUrl: 'https://learn.nexthink.com/courses/nexthink-platform-administration',
image: {
src: NexthinkAdministrator,
alt: 'Nexthink Administrator badge',
},
},
{
name: 'Certified Nexthink Associate',
description: 'Earning the Nexthink Infinity Fundamentals certification validates your understanding of the Nexthink Infinity platform and its role in enhancing digital employee experience.',
linkUrl: 'https://learn.nexthink.com/courses/nexthink-infinity-fundamentals',
image: {
src: NexthinkAssociate,
alt: 'Nexthink Associate badge',
},
},
{
name: 'Teams Administrator Associate',
description: 'Earning the Teams Administrator Associate certification demonstrates your ability to plan, deploy, configure, and manage Microsoft Teams to facilitate efficient collaboration and communication within a Microsoft 365 environment.',
linkUrl: 'https://learn.microsoft.com/en-us/credentials/certifications/m365-teams-administrator-associate/?practice-assessment-type=certification',
image: {
src: MicrosoftAssociate,
alt: 'Microsoft Certified Associate badge',
},
},
{
name: 'Modern Desktop Administrator Associate',
description: 'Earning the Modern Desktop Administrator Associate certification demonstrates proficiency in deploying, configuring, securing, managing, and monitoring devices and client applications within an enterprise environment.',
linkUrl: 'https://learn.nexthink.com/courses/nexthink-platform-administration',
image: {
src: MicrosoftAssociate,
alt: 'Microsoft Certified Associate badge',
},
},
{
name: 'Certified Entry-Level Python Programmer',
description: 'Earning the PCEP™ certification demonstrates proficiency in fundamental Python programming concepts, including data types, control flow, data collections, functions, and exception handling.',
linkUrl: 'https://pythoninstitute.org/pcep',
image: {
src: pcep,
alt: 'PCEP™ Certified Entry-Level Python Programmer badge',
},
},
{
name: 'Microsoft 365 Fundamentals',
description: 'Earning the Microsoft 365 Certified: Fundamentals certification demonstrates foundational knowledge of cloud-based solutions, including productivity, collaboration, security, compliance, and Microsoft 365 services.',
linkUrl: 'https://learn.microsoft.com/en-us/credentials/certifications/microsoft-365-fundamentals/?practice-assessment-type=certification',
image: {
src: MicrosoftFundamentals,
alt: 'Microsoft 365 Fundamentals badge',
},
},
{
name: 'Azure Fundamentals',
description: 'Earning the Microsoft Certified: Azure Fundamentals certification demonstrates foundational knowledge of cloud concepts, core Azure services, and Azure management and governance features and tools.',
linkUrl: 'https://learn.microsoft.com/en-us/credentials/certifications/azure-fundamentals/?practice-assessment-type=certification',
image: {
src: MicrosoftFundamentals,
alt: 'Azure Fundamentals badge',
},
},
]}
/>
<!-- Features3 Widget ************** -->
<Features3
id="skills"
title="Skills"
subtitle="Discover the proficiencies that allow me to bring imagination to life through design."
columns={3}
defaultIcon="tabler:point-filled"
items={[
{
title: 'Power Automate',
description: 'Expertise in designing and implementing advanced automation workflows using Microsoft Power Automate to streamline business processes, reduce manual effort, and enhance operational efficiency.',
},
{
title: 'Copilot Studio',
description: 'Proficiency in developing intelligent chatbots within Copilot Studio, enabling enhanced user interactions and support through natural language processing and automated responses.',
},
{
title: 'API Integrations',
description: 'Skilled in creating custom connectors and integrating various applications and services via APIs to facilitate seamless data exchange and process automation across platforms.',
},
{
title: 'Microsoft 365 Administration',
description: 'Comprehensive experience in managing Microsoft 365 environments, including user management, security configurations, and service optimization to support global collaboration and productivity.',
},
{
title: 'SharePoint Online & On-Premise',
description: 'Adept at setting up, managing, and optimizing both SharePoint Online and on-premise deployments, ensuring effective document management, collaboration, and information sharing within organizations.',
},
{
title: 'Nexthink Platform Administration',
description: 'Proficient in administering the Nexthink platform, utilizing its capabilities for IT infrastructure monitoring, executing remote actions, and developing workflows to enhance IT service delivery and user experience.',
},
{
title: 'Microsoft Power Apps',
description: 'Proficient in utilizing Microsoft Power Apps to design and develop custom business applications with minimal coding. Experienced in creating both canvas and model-driven apps that connect to various data sources.',
},
{
title: 'IT Infrastructure Management',
description: 'Extensive experience overseeing global IT infrastructures, managing servers, networks, and end-user devices across multiple countries to ensure reliable and efficient IT operations.',
},
{
title: 'ITSM (TOPDesk)',
description: 'Experienced in managing ITSM processes using TOPdesk. Proficient in core functionalities such as Incident Management and Asset Management, while leveraging API usage for seamless integrations with other systems.',
},
]}
/>
<!-- Content Widget **************** -->
<!--
<Content
id="porfolio"
title="Elevating visual narratives"
subtitle="Embark on a design journey that surpasses pixels, entering a realm of imagination. Explore my portfolio, where passion and creativity converge to shape enthralling visual narratives."
isReversed
items={[
{
title: 'Description:',
description:
'Developed a comprehensive brand identity for a tech startup, Tech Innovators, specializing in disruptive innovations. The goal was to convey a modern yet approachable image that resonated with both corporate clients and tech enthusiasts.',
},
{
title: 'Role:',
description:
'Led the entire branding process from concept to execution. Created a dynamic logo that symbolized innovation, selected a vibrant color palette, and I designed corporate stationery, website graphics, and social media assets.',
},
]}
image={{
src: 'https://images.unsplash.com/photo-1658248165252-71e116af1b34?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=928&q=80',
alt: 'Tech Design Image',
}}
callToAction={{
target: '_blank',
text: 'Go to the project',
icon: 'tabler:chevron-right',
href: '#',
}}
>
<Fragment slot="content">
<h3 class="text-2xl font-bold tracking-tight dark:text-white sm:text-3xl mb-2">
Project 1: <br /><span class="text-2xl">Brand identity for tech innovators</span>
</h3>
</Fragment>
<Fragment slot="bg">
<div class="absolute inset-0 bg-blue-50 dark:bg-transparent"></div>
</Fragment>
</Content>
<!-- Content Widget ****************
<Content
isReversed
isAfterContent={true}
items={[
{
title: 'Description:',
description:
'Designed a captivating event poster for an art and music festival, "ArtWave Fusion," aiming to showcase the synergy between visual art and music genres.',
},
{
title: 'Role:',
description: `Translated the festival's creative theme into a visually striking poster. Used bold typography, vibrant colors, and abstract elements to depict the fusion of art and music. Ensured the design captured the festival's vibrant atmosphere.`,
},
]}
image={{
src: 'https://images.unsplash.com/photo-1619983081563-430f63602796?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=774&q=80',
alt: 'Art and Music Poster Image',
}}
callToAction={{
target: '_blank',
text: 'Go to the project',
icon: 'tabler:chevron-right',
href: '#',
}}
>
<Fragment slot="content">
<h3 class="text-2xl font-bold tracking-tight dark:text-white sm:text-3xl mb-2">
Project 2: <br /><span class="text-2xl">Event poster for art & music festival</span>
</h3>
</Fragment>
<Fragment slot="bg">
<div class="absolute inset-0 bg-blue-50 dark:bg-transparent"></div>
</Fragment>
</Content>
<!-- Content Widget ****************
<Content
isReversed
isAfterContent={true}
items={[
{
title: 'Description:',
description: `Redesigned the e-commerce website for an eco-conscious fashion brand, GreenVogue. The objective was to align the brand's online presence with its sustainable ethos and improve user experience.`,
},
{
title: 'Role:',
description: `Conducted a thorough analysis of the brand's values and customer base to inform the design direction. Created a visually appealing interface with intuitive navigation, highlighting sustainable materials, and integrating a user-friendly shopping experience.`,
},
]}
image={{
src: 'https://plus.unsplash.com/premium_photo-1683288295841-782fa47e4770?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=870&q=80',
alt: 'Fashion e-commerce Image',
}}
callToAction={{
target: '_blank',
text: 'Go to the project',
icon: 'tabler:chevron-right',
href: '#',
}}
>
<Fragment slot="content">
<h3 class="text-2xl font-bold tracking-tight dark:text-white sm:text-3xl mb-2">
Project 3: <br /><span class="text-2xl">E-commerce website redesign for fashion brand</span>
</h3>
</Fragment>
<Fragment slot="bg">
<div class="absolute inset-0 bg-blue-50 dark:bg-transparent"></div>
</Fragment>
</Content>
-->
<!-- BlogLatestPost Widget **************** -->
<BlogLatestPosts
id="blog"
title="Explore my insightful articles on my blog"
information={`Welcome to my blog, where I share insights, tips, and solutions on Microsoft 365, Nexthink, Power Automate, PowerShell, and other automation tools. Whether youre looking to streamline workflows, enhance productivity, or dive into technical problem-solving, youll find practical content to support your journey.`}
>
<Fragment slot="bg">
<div class="absolute inset-0"></div>
</Fragment>
</BlogLatestPosts>
</Layout>
// Redirect to the language-specific version.
// For example, if chosenLang is 'fr', then redirect to /fr/
return Astro.redirect(`/${chosenLang}`, 302);
---