feat: migrate progressively to full name instead of nickname

This commit is contained in:
theoludwig committed 2023-05-30 21:51:27 +02:00
1 parent 7c0f11ab7d
commit 61172d59e3
29 files changed
+61 -68

No files matched your search

+1 -1
View File
@@ -1,5 +1,5 @@
{
"name": "Divlo",
"name": "theoludwig",
"dockerComposeFile": "./docker-compose.yml",
"service": "workspace",
"workspaceFolder": "/workspace",
+1 -1
View File
@@ -1,2 +1,2 @@
COMPOSE_PROJECT_NAME=divlo
COMPOSE_PROJECT_NAME=theoludwig
PORT=3000
+1 -1
View File
@@ -60,7 +60,7 @@ representative at an online or offline event.
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the community leaders responsible for enforcement at
<contact@divlo.fr>.
<contact@theoludwig.fr>.
All complaints will be reviewed and investigated promptly and fairly.
All community leaders are obligated to respect the privacy and security of the
+4 -4
View File
@@ -1,10 +1,10 @@
# 💡 Contributing
Thanks a lot for your interest in contributing to **divlo.fr**! 🎉
Thanks a lot for your interest in contributing to **theoludwig.fr**! 🎉
## Code of Conduct
**divlo.fr** adopted the [Contributor Covenant](https://www.contributor-covenant.org/) as its Code of Conduct, and we expect project participants to adhere to it. Please read [the full text](./CODE_OF_CONDUCT.md) so that you can understand what actions will and will not be tolerated.
**theoludwig.fr** adopted the [Contributor Covenant](https://www.contributor-covenant.org/) as its Code of Conduct, and we expect project participants to adhere to it. Please read [the full text](./CODE_OF_CONDUCT.md) so that you can understand what actions will and will not be tolerated.
## Types of contributions
@@ -21,7 +21,7 @@ Thanks a lot for your interest in contributing to **divlo.fr**! 🎉
- Make sure your **code passes the tests**.
If you're adding new features to **divlo.fr**, please include tests.
If you're adding new features to **theoludwig.fr**, please include tests.
## Commits
@@ -68,4 +68,4 @@ docker compose up --build
### Services started
- website: `http://127.0.0.1:3000`
- `website`: <http://127.0.0.1:3000>
+1 -1
View File
@@ -1,6 +1,6 @@
MIT License
Copyright (c) Divlo
Copyright (c) Théo LUDWIG
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
+4 -4
View File
@@ -1,4 +1,4 @@
<h1 align="center"><a href="https://divlo.fr/">Théo LUDWIG (Divlo)</a></h1>
<h1 align="center"><a href="https://theoludwig.fr/">Théo LUDWIG</a></h1>
<p align="center">
<strong>Developer Full Stack • Open-Source enthusiast</strong>
@@ -11,8 +11,8 @@
<a href="https://twitter.com/Divlo_FR"><img alt="Twitter" src="https://img.shields.io/badge/-Twitter-1ca0f1?style=flat&labelColor=1ca0f1&logo=twitter&logoColor=white"/></a>
<a href="https://www.youtube.com/channel/UCfEKQzI3c8vmZOrsTOi5spA"><img alt="YouTube" src="https://img.shields.io/badge/-YouTube-c4302b?style=flat&labelColor=c4302b&logo=youtube&logoColor=white"/></a>
<a href="https://www.twitch.tv/divlo"><img alt="Twitch" src="https://img.shields.io/badge/-Twitch-9147FF?style=flat&labelColor=9147FF&logo=twitch&logoColor=white"/></a>
<a href="https://www.divlo.fr"><img alt="Website" src="https://img.shields.io/badge/-Website-181818?style=flat&labelColor=181818&logo=Google-Chrome&logoColor=white"/></a>
<a href="mailto:contact@divlo.fr"><img alt="Email" src="https://img.shields.io/badge/-contact@divlo.fr-2F7EBE?style=flat&labelColor=2F7EBE&logo=minutemailer&logoColor=white"/></a>
<a href="https://theoludwig.fr/"><img alt="Website" src="https://img.shields.io/badge/-Website-181818?style=flat&labelColor=181818&logo=Google-Chrome&logoColor=white"/></a>
<a href="mailto:contact@theoludwig.fr"><img alt="Email" src="https://img.shields.io/badge/-contact@theoludwig.fr-2F7EBE?style=flat&labelColor=2F7EBE&logo=minutemailer&logoColor=white"/></a>
</p>
<hr />
@@ -21,7 +21,7 @@
```json
{
"name": "Théo LUDWIG (Divlo)",
"name": "Théo LUDWIG",
"pronouns": "He/Him",
"birthDate": "31/03/2003",
"nationality": "Alsace, France",
+1 -1
View File
@@ -21,7 +21,7 @@ export const Footer: React.FC<FooterProps> = (props) => {
href='/'
className='text-yellow hover:underline dark:text-yellow-dark'
>
Théo LUDWIG (Divlo)
Théo LUDWIG
</Link>{' '}
| {t('common:all-rights-reserved')}
</p>
+4 -4
View File
@@ -9,10 +9,10 @@ interface HeadProps {
export const Head: React.FC<HeadProps> = (props) => {
const {
title = 'Théo LUDWIG (Divlo)',
image = 'https://divlo.fr/images/icon-96x96.png',
description = 'Théo LUDWIG (Divlo) - Developer Full Stack • Passionate about High-Tech',
url = 'https://divlo.fr/'
title = 'Théo LUDWIG',
image = 'https://theoludwig.fr/images/icon-96x96.png',
description = 'Théo LUDWIG - Developer Full Stack • Passionate about High-Tech',
url = 'https://theoludwig.fr/'
} = props
return (
+2 -2
View File
@@ -20,11 +20,11 @@ export const Header: React.FC<HeaderProps> = (props) => {
width={60}
height={60}
src='/images/divlo_icon_small.png'
alt='Divlo'
alt='Théo LUDWIG'
priority
/>
<strong className='ml-1 hidden font-headline font-semibold text-yellow dark:text-yellow-dark xs:block'>
Théo LUDWIG (Divlo)
Théo LUDWIG
</strong>
</div>
</Link>
+1 -1
View File
@@ -6,7 +6,7 @@ export const ProfileInformation: React.FC = () => {
return (
<div className='mb-6 border-b-2 border-gray-600 pb-2 font-headline dark:border-gray-400'>
<h1 className='mb-2 text-4xl font-semibold text-yellow dark:text-yellow-dark'>
Théo LUDWIG (Divlo)
Théo LUDWIG
</h1>
<h2 className='mb-3 text-base'>{t('home:about.description')}</h2>
</div>
+5 -7
View File
@@ -1,7 +1,7 @@
import useTranslation from 'next-translate/useTranslation'
import { useMemo } from 'react'
import { DIVLO_BIRTH_DATE, DIVLO_BIRTH_DATE_STRING, getAge } from 'utils/getAge'
import { BIRTH_DATE, BIRTH_DATE_STRING, getAge } from 'utils/getAge'
import { ProfileItem } from './ProfileItem'
@@ -9,7 +9,7 @@ export const ProfileList: React.FC = () => {
const { t } = useTranslation('home')
const age = useMemo(() => {
return getAge(DIVLO_BIRTH_DATE)
return getAge(BIRTH_DATE)
}, [])
return (
@@ -20,15 +20,13 @@ export const ProfileList: React.FC = () => {
/>
<ProfileItem
title={t('home:about.birth-date')}
value={`${DIVLO_BIRTH_DATE_STRING} (${age} ${t(
'home:about.years-old'
)})`}
value={`${BIRTH_DATE_STRING} (${age} ${t('home:about.years-old')})`}
/>
<ProfileItem title={t('home:about.nationality')} value='Alsace, France' />
<ProfileItem
title='Email'
value='contact@divlo.fr'
link='mailto:contact@divlo.fr'
value='contact@theoludwig.fr'
link='mailto:contact@theoludwig.fr'
/>
</ul>
)
+2 -2
View File
@@ -1,11 +1,11 @@
import Image from 'next/image'
import DivloLogo from 'public/images/divlo_logo.png'
import Logo from 'public/images/divlo_logo.png'
export const ProfileLogo: React.FC = () => {
return (
<div className='max-h-[370px] max-w-[370px] px-2 py-6'>
<Image quality={100} src={DivloLogo} alt='Divlo' priority />
<Image quality={100} src={Logo} alt='Théo LUDWIG' priority />
</div>
)
}
+1 -1
View File
@@ -31,7 +31,7 @@ export const SocialMediaList: React.FC = () => {
<SocialMediaItem link='https://www.twitch.tv/divlo' ariaLabel='Twitch'>
<TwitchIcon />
</SocialMediaItem>
<SocialMediaItem link='mailto:contact@divlo.fr' ariaLabel='Email'>
<SocialMediaItem link='mailto:contact@theoludwig.fr' ariaLabel='Email'>
<EmailIcon />
</SocialMediaItem>
</ul>
+1 -5
View File
@@ -88,16 +88,12 @@ export const skills = {
},
'Visual Studio Code': {
link: 'https://code.visualstudio.com/',
image: '/images/skills/Visual_Studio_Code.png'
image: '/images/skills/VisualStudioCode.png'
},
Git: {
link: 'https://git-scm.com/',
image: '/images/skills/Git.png'
},
Hyper: {
link: 'https://hyper.is/',
image: '/images/skills/Hyper.svg'
},
Ubuntu: {
link: 'https://ubuntu.com/',
image: '/images/skills/Ubuntu.png'
+1 -1
View File
@@ -4,7 +4,7 @@ describe('<Footer />', () => {
it('should render with appropriate link tag version', () => {
const version = '1.0.0'
cy.mount(<Footer version={version} />)
cy.contains('Divlo')
cy.contains('Théo LUDWIG')
.get('[data-cy=version-link]')
.should('have.text', version)
.should(
+2 -2
View File
@@ -38,7 +38,7 @@ describe('Common > Header', () => {
describe('Switch Language', () => {
it('should switch language from EN (default) to FR', () => {
cy.get('h1').contains('Divlo')
cy.get('h1').contains('Théo LUDWIG')
cy.get('[data-cy=language-flag-text]').contains('EN')
cy.get('[data-cy=languages-list]').should('not.be.visible')
cy.get('[data-cy=language-click]').click()
@@ -46,7 +46,7 @@ describe('Common > Header', () => {
cy.get('[data-cy=languages-list] > li:first-child').contains('FR').click()
cy.get('[data-cy=languages-list]').should('not.be.visible')
cy.get('[data-cy=language-flag-text]').contains('FR')
cy.get('h1').contains('Divlo')
cy.get('h1').contains('Théo LUDWIG')
})
it('should close the language list menu when clicking outside', () => {
+2 -2
View File
@@ -1,7 +1,7 @@
services:
divlo:
theoludwig:
container_name: ${COMPOSE_PROJECT_NAME}
image: 'divlo'
image: 'theoludwig'
build:
context: './'
ports:
+2 -2
View File
@@ -1,5 +1,5 @@
import { DIVLO_BIRTH_DATE, getAge } from '../../utils/getAge.ts'
import { BIRTH_DATE, getAge } from '../../utils/getAge.ts'
const yearOld = document.getElementById('year-old')
yearOld.textContent = getAge(DIVLO_BIRTH_DATE).toString()
yearOld.textContent = getAge(BIRTH_DATE).toString()
+2 -2
View File
@@ -1,11 +1,11 @@
{
"name": "divlo",
"name": "theoludwig",
"version": "2.7.3",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "divlo",
"name": "theoludwig",
"version": "2.7.3",
"hasInstallScript": true,
"dependencies": {
+1 -1
View File
@@ -1,5 +1,5 @@
{
"name": "divlo",
"name": "theoludwig",
"version": "2.7.3",
"private": true,
"repository": {
+1 -1
View File
@@ -13,7 +13,7 @@ const Error404: NextPage<Error404Props> = (props) => {
return (
<>
<Head title='404 | Théo LUDWIG (Divlo)' />
<Head title='404 | Théo LUDWIG' />
<ErrorPage
statusCode={404}
message={t('errors:not-found')}
+1 -1
View File
@@ -13,7 +13,7 @@ const Error500: NextPage<Error500Props> = (props) => {
return (
<>
<Head title='500 | Théo LUDWIG (Divlo)' />
<Head title='500 | Théo LUDWIG' />
<ErrorPage
statusCode={500}
message={t('errors:server-error')}
+1 -1
View File
@@ -25,7 +25,7 @@ const BlogPostPage: NextPage<BlogPostPageProps> = (props) => {
return (
<>
<Head
title={`${post.frontmatter.title} | Théo LUDWIG (Divlo)`}
title={`${post.frontmatter.title} | Théo LUDWIG`}
description={post.frontmatter.description}
/>
+1 -1
View File
@@ -21,7 +21,7 @@ const BlogPage: NextPage<BlogPageProps> = (props) => {
return (
<>
<Head title='Blog | Divlo' description={blogDescription} />
<Head title='Blog | Théo LUDWIG' description={blogDescription} />
<Header />
<main className='flex flex-1 flex-col flex-wrap items-center'>
+6 -6
View File
@@ -7,13 +7,13 @@ publishedOn: '2022-04-11T10:24:55.206Z'
Hello! 👋
After months of hard work, [Thream v1.0.0](https://www.thream.divlo.fr/) has been released! 🎉
After months of hard work, [Thream v1.0.0](https://thream.divlo.fr/) has been released! 🎉
[**Thream**](https://www.thream.divlo.fr/) is your open-source platform to stay close with your friends and communities, talk, chat, collaborate, share and have fun.
[**Thream**](https://thream.divlo.fr/) is your open-source platform to stay close with your friends and communities, talk, chat, collaborate, share and have fun.
## Presentation
[**Thream**](https://www.thream.divlo.fr/) is a social network to stay close with your friends and communities to talk, chat, collaborate and share.
[**Thream**](https://thream.divlo.fr/) is a social network to stay close with your friends and communities to talk, chat, collaborate and share.
The project is largely inspired by [Discord](https://discord.com), a proprietary instant messaging service, but differentiates itself by its **non-profit open source philosophy** and will integrate special features.
@@ -23,11 +23,11 @@ The idea is that a user can create an account to authenticate with an email addr
![The Thream app on a community page](../public/images/posts/thream-v1-0-0/thream-ui.png)
[**Thream**](https://www.thream.divlo.fr/) is a website that works on any recent browser, accessible on [thream.divlo.fr](https://www.thream.divlo.fr/).
[**Thream**](https://thream.divlo.fr/) is a website that works on any recent browser, accessible on [thream.divlo.fr](https://thream.divlo.fr/).
## History
The idea for the project has existed since May 13, 2020, symbolized by a [publication on Twitter](https://twitter.com/Divlo_FR/status/1260638175246135296) by the creator: Divlo.
The idea for the project has existed since May 13, 2020, symbolized by a [publication on Twitter](https://twitter.com/Divlo_FR/status/1260638175246135296) by the creator: Théo LUDWIG.
The main goal is to put into **practice knowledge in web development** and computer science in general on a concrete project that can **easily evolve over time** where you can add many features.
@@ -116,4 +116,4 @@ The other interest of the project is that it is completely **open-source**, and
Feel free to give feebacks and suggestions to improve the project, and to report any bug you find.
**Thream** is available: [**thream.divlo.fr**](https://www.thream.divlo.fr/).
**Thream** is available: [**thream.divlo.fr**](https://thream.divlo.fr/).
-1
View File
@@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" class="hero_logo__2EG65" width="63" height="60" fill="none"><mask id="a" fill="#fff"><path d="M62.22 40.97v2.18L62.19 45a26.32 26.32 0 0 1-.36 3.99 12.77 12.77 0 0 1-6.92 9.38 13.71 13.71 0 0 1-3.83 1.26c-1.34.23-2.7.31-4.04.35-2.6.03-3.33.03-4.07.03H19.25c-2.82 0-3.44-.01-4.06-.03-1.35-.04-2.71-.12-4.04-.35a13.71 13.71 0 0 1-3.85-1.26A12.9 12.9 0 0 1 .4 48.98a26.33 26.33 0 0 1-.36-4 81.1 81.1 0 0 1-.02-1.83L0 40.97V19.03v-2.18l.03-1.84c.04-1.33.12-2.67.36-4A12.76 12.76 0 0 1 7.3 1.64 13.71 13.71 0 0 1 11.14.39c1.33-.23 2.69-.31 4.04-.35C17.78 0 18.52 0 19.25 0H42.37h-8.95 9.55c2.83 0 3.45.01 4.07.03 1.34.04 2.7.12 4.04.35 1.35.24 2.61.64 3.84 1.26a12.89 12.89 0 0 1 6.91 9.38c.24 1.32.32 2.66.36 4 .02.6.02 1.22.03 1.83v24.12z"></path></mask><path d="M62.22 40.97v2.18L62.19 45a26.32 26.32 0 0 1-.36 3.99 12.77 12.77 0 0 1-6.92 9.38 13.71 13.71 0 0 1-3.83 1.26c-1.34.23-2.7.31-4.04.35-2.6.03-3.33.03-4.07.03H19.25c-2.82 0-3.44-.01-4.06-.03-1.35-.04-2.71-.12-4.04-.35a13.71 13.71 0 0 1-3.85-1.26A12.9 12.9 0 0 1 .4 48.98a26.33 26.33 0 0 1-.36-4 81.1 81.1 0 0 1-.02-1.83L0 40.97V19.03v-2.18l.03-1.84c.04-1.33.12-2.67.36-4A12.76 12.76 0 0 1 7.3 1.64 13.71 13.71 0 0 1 11.14.39c1.33-.23 2.69-.31 4.04-.35C17.78 0 18.52 0 19.25 0H42.37h-8.95 9.55c2.83 0 3.45.01 4.07.03 1.34.04 2.7.12 4.04.35 1.35.24 2.61.64 3.84 1.26a12.89 12.89 0 0 1 6.91 9.38c.24 1.32.32 2.66.36 4 .02.6.02 1.22.03 1.83v24.12z" fill="#000"></path><path d="M62.22 43.15l-3.5-.02 3.5.02zM62.19 45l-3.5-.1 3.5.1zm-.36 3.99l-3.44-.63 3.44.63zm-1.26 3.8l-3.11-1.6 3.1 1.6zm-2.38 3.23l2.46 2.5L58.2 56zm-3.27 2.35l-1.57-3.12 1.57 3.12zm-3.84 1.26l-.61-3.45.6 3.45zm-4.04.35l.04 3.5h.05l-.1-3.5zM19.25 60l-.01 3.5h.01V60zm-4.06-.03l.1-3.5-.1 3.5zm-4.04-.35l.6-3.45-.6 3.45zM7.3 58.36l1.58-3.12-1.58 3.12zm-3.27-2.35l-2.46 2.5L4.03 56zm-2.38-3.23l-3.1 1.6 3.1-1.6zM.4 48.98l-3.45.63 3.45-.63zm-.36-4l3.5-.09-3.5.1zm-.02-1.83l3.5-.02-3.5.02zm0-26.3l3.5.03v-.01L0 16.85zm.02-1.84l3.5.1-3.5-.1zm.36-4l-3.45-.62 3.45.63zm1.26-3.79l-3.1-1.6 3.1 1.6zm2.38-3.23L6.5 6.48l-2.46-2.5zM7.3 1.64l1.58 3.12L7.3 1.64zM11.15.38l.6 3.45-.6-3.45zm4.04-.35l-.04-3.5h-.06l.1 3.5zM42.37 0v3.5-7V0zm-8.95 0v-3.5 7V0zm9.55 0l.01-3.5V0zm4.07.03l-.1 3.5.1-3.5zm4.04.35l-.61 3.45.6-3.45zm3.84 1.26l-1.58 3.12 1.58-3.12zm3.27 2.35l-2.46 2.48L58.2 4zm2.38 3.23l-3.11 1.6 3.1-1.6zm1.26 3.8l-3.44.62 3.44-.62zm.36 4l-3.5.09 3.5-.1zm.03 1.83l-3.5.02 3.5-.02zm-3.5 24.12v2.16l7 .04v-2.2h-7zm0 2.16c0 .6-.01 1.18-.03 1.76l7 .2.03-1.92-7-.04zm-.03 1.76c-.03 1.27-.1 2.41-.3 3.46l6.89 1.26c.29-1.58.37-3.14.4-4.53l-6.99-.19zm-.3 3.47a9.84 9.84 0 0 1-.93 2.82l6.22 3.2c.8-1.56 1.3-3.14 1.6-4.77l-6.89-1.25zm-.93 2.82a9.27 9.27 0 0 1-1.73 2.35l4.92 4.97c1.22-1.2 2.25-2.6 3.03-4.12l-6.22-3.2zm-1.73 2.35c-.7.69-1.5 1.27-2.38 1.7l3.14 6.26a16.42 16.42 0 0 0 4.16-2.99l-4.92-4.97zm-2.39 1.7c-.88.46-1.81.75-2.87.94l1.22 6.9a17.2 17.2 0 0 0 4.8-1.58l-3.15-6.25zm-2.87.94c-1.08.2-2.24.27-3.53.3l.19 7c1.4-.04 2.97-.12 4.56-.4l-1.22-6.9zm-3.48.3c-2.58.03-3.3.03-4.02.03v7c.75 0 1.5 0 4.1-.03l-.08-7zm-4.02.03H27.7v7h15.28v-7zm-15.28 0h-8.44v7h8.44v-7zm-8.43 0c-2.84 0-3.41-.01-3.98-.03l-.19 7c.67.02 1.34.02 4.15.03l.02-7zm-3.98-.03c-1.29-.03-2.45-.1-3.52-.3l-1.23 6.9c1.6.28 3.16.36 4.56.4l.2-7zm-3.52-.3a10.22 10.22 0 0 1-2.88-.93l-3.15 6.25a17.2 17.2 0 0 0 4.8 1.57l1.23-6.89zm-2.88-.93a9.4 9.4 0 0 1-2.39-1.71L1.57 58.5a16.4 16.4 0 0 0 4.16 3l3.15-6.26zm-2.39-1.71a9.3 9.3 0 0 1-1.73-2.35l-6.22 3.2a16.3 16.3 0 0 0 3.03 4.12l4.92-4.97zm-1.72-2.35a9.9 9.9 0 0 1-.94-2.83l-6.89 1.26c.3 1.63.8 3.21 1.6 4.77l6.23-3.2zm-.94-2.83c-.19-1.05-.26-2.18-.3-3.46l-7 .2c.04 1.38.13 2.94.41 4.52l6.9-1.26zm-.3-3.46l-.02-1.76-7 .04c0 .63 0 1.27.02 1.91l7-.2zm-.02-1.77l-.01-2.15h-7v2.2l7-.05zm-.01-2.15v-7.23h-7v7.23h7zm0-7.23v-7.48h-7v7.48h7zm0-7.48v-7.23h-7v7.23h7zm0-7.23v-2.15l-7-.06v2.21h7zm0-2.16c0-.6.02-1.18.03-1.76l-7-.2-.02 1.92 7 .04zm.03-1.76c.04-1.28.11-2.41.3-3.47l-6.89-1.25a29.75 29.75 0 0 0-.4 4.53l7 .19zm.3-3.46a9.9 9.9 0 0 1 .94-2.83l-6.23-3.2c-.8 1.56-1.3 3.14-1.6 4.77l6.9 1.26zm.94-2.83a9.26 9.26 0 0 1 1.72-2.34L1.57 1.49a16.26 16.26 0 0 0-3.03 4.13l6.23 3.2zm1.72-2.35c.7-.69 1.5-1.26 2.39-1.7L5.73-1.5A16.37 16.37 0 0 0 1.57 1.5l4.92 4.97zm2.39-1.7c.89-.46 1.81-.75 2.88-.94l-1.23-6.9c-1.64.3-3.23.79-4.8 1.58l3.15 6.25zm2.88-.94c1.07-.2 2.23-.27 3.52-.3l-.19-7c-1.4.04-2.97.12-4.56.4l1.23 6.9zm3.47-.3c2.58-.03 3.3-.03 4.02-.03v-7c-.75 0-1.5 0-4.1.03l.08 7zm4.02-.03h8.44v-7h-8.44v7zm8.44 0h14.68v-7H27.7v7zm14.68-7h-8.95v7h8.95v-7zm-8.95 7h9.55v-7h-9.55v7zm9.54 0c2.84 0 3.41.01 3.98.03l.2-7c-.68-.02-1.35-.02-4.16-.03l-.02 7zm3.98.03c1.3.03 2.45.1 3.53.3l1.22-6.9a30.67 30.67 0 0 0-4.56-.4l-.19 7zm3.53.3c1.06.19 1.99.48 2.87.93l3.15-6.25a17.2 17.2 0 0 0-4.8-1.57l-1.22 6.89zm2.88.93a9.39 9.39 0 0 1 2.38 1.71l4.92-4.97a16.39 16.39 0 0 0-4.16-3l-3.14 6.26zm2.38 1.72c.7.68 1.28 1.48 1.73 2.34l6.22-3.2a16.23 16.23 0 0 0-3.03-4.13l-4.92 4.99zm1.73 2.34c.45.87.74 1.78.93 2.82l6.89-1.25c-.3-1.63-.8-3.21-1.6-4.77l-6.Line truncated

Before

Width:  |  Height:  |  Size: 5.7 KiB

+4 -4
View File
@@ -6,14 +6,14 @@
"basics": {
"name": "Théo LUDWIG",
"label": "Développeur Full Stack • Étudiant",
"image": "https://divlo.fr/images/logo_orange.png",
"email": "contact@divlo.fr",
"image": "https://theoludwig.fr/images/logo_orange.png",
"email": "contact@theoludwig.fr",
"age": "31/03/2003",
"location": {
"address": "Alsace, France"
},
"url": "https://divlo.fr",
"summary": "Je suis étudiant à l'université suivant la formation \"BUT Informatique\" et me forme en autodidacte dans l'informatique en suivant des formations en ligne. <br/> Je mets en pratique tout ce que j'apprends et réalise de nombreux projets (disponible sur <a href=\"https://divlo.fr\">divlo.fr</a>)."
"url": "https://theoludwig.fr",
"summary": "Je suis étudiant à l'université suivant la formation \"BUT Informatique\" et me forme en autodidacte dans l'informatique en suivant des formations en ligne. <br/> Je mets en pratique tout ce que j'apprends et réalise de nombreux projets (disponible sur <a href=\"https://theoludwig.fr\">theoludwig.fr</a>)."
},
"education": [
{
+8 -8
View File
@@ -1,11 +1,11 @@
export const DIVLO_BIRTH_DATE_DAY = '31' as const
export const DIVLO_BIRTH_DATE_MONTH = '03' as const
export const DIVLO_BIRTH_DATE_YEAR = '2003' as const
export const DIVLO_BIRTH_DATE_STRING =
`${DIVLO_BIRTH_DATE_DAY}/${DIVLO_BIRTH_DATE_MONTH}/${DIVLO_BIRTH_DATE_YEAR}` as const
export const DIVLO_BIRTH_DATE_ISO_8601 =
`${DIVLO_BIRTH_DATE_YEAR}-${DIVLO_BIRTH_DATE_MONTH}-${DIVLO_BIRTH_DATE_DAY}` as const
export const DIVLO_BIRTH_DATE = new Date(DIVLO_BIRTH_DATE_ISO_8601)
export const BIRTH_DATE_DAY = '31' as const
export const BIRTH_DATE_MONTH = '03' as const
export const BIRTH_DATE_YEAR = '2003' as const
export const BIRTH_DATE_STRING =
`${BIRTH_DATE_DAY}/${BIRTH_DATE_MONTH}/${BIRTH_DATE_YEAR}` as const
export const BIRTH_DATE_ISO_8601 =
`${BIRTH_DATE_YEAR}-${BIRTH_DATE_MONTH}-${BIRTH_DATE_DAY}` as const
export const BIRTH_DATE = new Date(BIRTH_DATE_ISO_8601)
/**
* Calculates the age of a person based on their birth date