1
1
mirror of https://github.com/theoludwig/theoludwig.git synced 2024-11-08 22:31:30 +01:00

chore: use the right resume.json

This commit is contained in:
Divlo 2022-07-28 23:01:19 +02:00
parent 1f4aa54211
commit 9351edf626
No known key found for this signature in database
GPG Key ID: 8F9478F220CE65E9
8 changed files with 15 additions and 128 deletions

View File

@ -1,15 +1,15 @@
FROM node:16.15.1 AS dependencies FROM node:16.16.0 AS dependencies
WORKDIR /usr/src/app WORKDIR /usr/src/app
COPY ./package*.json ./ COPY ./package*.json ./
RUN npm install RUN npm install
FROM node:16.15.1 AS builder FROM node:16.16.0 AS builder
WORKDIR /usr/src/app WORKDIR /usr/src/app
COPY ./ ./ COPY ./ ./
COPY --from=dependencies /usr/src/app/node_modules ./node_modules COPY --from=dependencies /usr/src/app/node_modules ./node_modules
RUN npm run build RUN npm run build
FROM node:16.15.1 AS runner FROM node:16.16.0 AS runner
WORKDIR /usr/src/app WORKDIR /usr/src/app
ENV NODE_ENV=production ENV NODE_ENV=production
COPY --from=builder /usr/src/app/next.config.js ./next.config.js COPY --from=builder /usr/src/app/next.config.js ./next.config.js

View File

@ -4,7 +4,13 @@ import Image from 'next/image'
import { Language } from './Language' import { Language } from './Language'
import { SwitchTheme } from './SwitchTheme' import { SwitchTheme } from './SwitchTheme'
export const Header: React.FC = () => { export interface HeaderProps {
showLanguage?: boolean
}
export const Header: React.FC<HeaderProps> = (props) => {
const { showLanguage = false } = props
return ( return (
<header className='sticky top-0 z-50 flex w-full justify-between border-b-2 border-gray-600 bg-white px-6 py-2 dark:border-gray-400 dark:bg-black'> <header className='sticky top-0 z-50 flex w-full justify-between border-b-2 border-gray-600 bg-white px-6 py-2 dark:border-gray-400 dark:bg-black'>
<Link href='/'> <Link href='/'>
@ -34,7 +40,7 @@ export const Header: React.FC = () => {
</a> </a>
</Link> </Link>
</div> </div>
<Language /> {showLanguage && <Language />}
<SwitchTheme /> <SwitchTheme />
</div> </div>
</header> </header>

View File

@ -1 +0,0 @@
{}

View File

@ -1,118 +0,0 @@
{
"$schema": "https://raw.githubusercontent.com/jsonresume/resume-schema/v1.0.0/schema.json",
"meta": {
"theme": "custom"
},
"basics": {
"name": "Théo LUDWIG",
"label": "Développeur Full Stack Junior • Passionné de High-Tech",
"image": "https://divlo.fr/images/logo_orange.png",
"email": "contact@divlo.fr",
"location": {},
"url": "https://divlo.fr",
"summary": "Je me forme en autodidacte dans l'informatique en suivant des formations en ligne et je suis aussi un étudiant à l'université suivant la formation \"BUT Informatique\" (première année). <br/> Je mets en pratique tout ce que j'apprends et réalise de nombreux projets."
},
"education": [
{
"startDate": "2022",
"studyType": "Diplôme du Bachelor Universitaire de Technologie (BUT) Informatique",
"institution": "IUT Robert Schuman à Illkirch-Graffenstaden",
"score": "En cours"
},
{
"startDate": "2019",
"endDate": "2021",
"studyType": "Diplôme du Baccalauréat Général (Mathématiques et Numériques Sciences Informatiques)",
"institution": "Lycée Heinrich Nessel à Haguenau",
"score": "Mention Assez Bien"
},
{
"startDate": "2014",
"endDate": "2018",
"studyType": "Diplôme national du brevet",
"institution": "Collège Gustave Doré à Hochfelden",
"score": "Mention Bien"
}
],
"work": [
{
"summary": "Développement site web en React.js et Strapi afin de répondre <a href=\"https://www.nuitdelinfo.com/nuitinfo/_media/infos:la_nuit_de_l_info_2021_-_sujet.pdf\">au sujet de la Nuit de l'Info 2021</a>.<br /> TOP 1 France: Défi de l'entreprise <a href=\"https://www.nuitdelinfo.com/inscription/defis/300\">ToolPad</a>.",
"website": "https://www.nuitdelinfo.com/",
"name": "La Nuit de l'info 2021",
"position": "Participation avec l'équipe <a href=\"https://www.nuitdelinfo.com/inscription/equipes/46\">Who are We</a>",
"startDate": "2021-12-02",
"endDate": "2021-12-03"
},
{
"summary": "Agent administratif en vue de faire face au sucroît temporaire d'activités liés à la numérisation des plans des postes sources <br /> actuellement sous format papier calque suite à la libération des locaux des archives.",
"website": "https://www.es.fr/",
"name": "ÉS (Électricité de Strasbourg)",
"location": "5 Rue André Marie Ampère, 67450 Mundolsheim",
"position": "Emploi d'été en qualité d'agent administratif",
"startDate": "2021-07-07",
"endDate": "2021-07-30"
},
{
"summary": "Hackathon développement d'une landing page et web scraping.",
"website": "https://www.wildcodeschool.fr/",
"name": "Wild Code School",
"location": "32 Rue du Bass. d'Austerlitz, 67100 Strasbourg",
"position": "Stage initiation métier développeur web",
"startDate": "2019-06-24",
"endDate": "2019-06-28"
},
{
"summary": "Développement d'un site web pour trouver un restaurant à la pause repas.",
"website": "https://www.itpartners.fr/",
"name": "Tribe | IT Partners",
"location": "16 Rue du Parc, 67205 Oberhausbergen",
"position": "Stage initiation métier développeur web",
"startDate": "2019-06-17",
"endDate": "2019-06-21"
},
{
"summary": "Apprentissage du métier \"Chargé de communication\" et des logiciels de graphisme tels que \"Adobe Photoshop\".",
"website": "https://www.es.fr/",
"name": "ÉS (Électricité de Strasbourg)",
"location": "26 Bd du Président-Wilson, 67000 Strasbourg",
"position": "Stage de découverte (3ème)",
"startDate": "2018-02-19",
"endDate": "2018-02-23"
}
],
"interests": [
{
"name": "Développeur Full Stack Junior"
},
{
"name": "Passionné de High-Tech"
},
{
"name": "Enthousiaste de l'Open-Source"
}
],
"skills": [
{
"keywords": ["JavaScript", "TypeScript", "Python", "C/C++"],
"name": "Langages de programmation"
},
{
"keywords": ["HTML", "CSS", "Tailwind CSS", "React.js (+ Next.js)"],
"name": "Front-end"
},
{
"keywords": ["Node.js", "Fastify", "PostgreSQL", "MySQL"],
"name": "Back-end"
},
{
"keywords": [
"GNU/Linux",
"Ubuntu",
"Visual Studio Code",
"git",
"Docker"
],
"name": "Logiciels et outils"
}
]
}

View File

@ -4,7 +4,7 @@ import { defineConfig } from 'vite'
import { createHtmlPlugin } from 'vite-plugin-html' import { createHtmlPlugin } from 'vite-plugin-html'
import date from 'date-and-time' import date from 'date-and-time'
const jsonResumeURL = new URL('./resume.json', import.meta.url) const jsonResumeURL = new URL('../resume.json', import.meta.url)
const dataResumeStringJSON = await fs.promises.readFile(jsonResumeURL, { const dataResumeStringJSON = await fs.promises.readFile(jsonResumeURL, {
encoding: 'utf-8' encoding: 'utf-8'
}) })

View File

@ -16,7 +16,7 @@ const Error404: NextPage<Error404Props> = (props) => {
<> <>
<Head title='404 | Divlo' /> <Head title='404 | Divlo' />
<Header /> <Header showLanguage />
<main className='flex flex-col md:mx-auto md:max-w-4xl lg:max-w-7xl'> <main className='flex flex-col md:mx-auto md:max-w-4xl lg:max-w-7xl'>
<ErrorPage statusCode={404} message={t('errors:not-found')} /> <ErrorPage statusCode={404} message={t('errors:not-found')} />
</main> </main>

View File

@ -16,7 +16,7 @@ const Error500: NextPage<Error500Props> = (props) => {
<> <>
<Head title='500 | Divlo' /> <Head title='500 | Divlo' />
<Header /> <Header showLanguage />
<main className='flex flex-col md:mx-auto md:max-w-4xl lg:max-w-7xl'> <main className='flex flex-col md:mx-auto md:max-w-4xl lg:max-w-7xl'>
<ErrorPage statusCode={500} message={t('errors:server-error')} /> <ErrorPage statusCode={500} message={t('errors:server-error')} />
</main> </main>

View File

@ -23,7 +23,7 @@ const Home: NextPage<HomeProps> = (props) => {
<> <>
<Head /> <Head />
<Header /> <Header showLanguage />
<main className='flex flex-col md:mx-auto md:max-w-4xl lg:max-w-7xl'> <main className='flex flex-col md:mx-auto md:max-w-4xl lg:max-w-7xl'>
<Section isMain id='about'> <Section isMain id='about'>
<Profile /> <Profile />