-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 44c4409
Showing
40 changed files
with
17,130 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
.nuxt | ||
node_modules | ||
.idea | ||
.output |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
FROM node as build | ||
|
||
COPY . /app | ||
|
||
WORKDIR /app | ||
|
||
RUN npm i | ||
RUN npm run build | ||
|
||
FROM build | ||
|
||
RUN mkdir /app_built | ||
RUN cp -r /app/.output/* /app_built | ||
RUN rm -r /app | ||
|
||
WORKDIR /app_built | ||
|
||
CMD node server/index.mjs |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
# My personal site | ||
|
||
A small site to talk about me. | ||
|
||
## Setup | ||
|
||
```bash | ||
npm i | ||
``` | ||
|
||
## Development Server | ||
|
||
Start the development server on http://localhost:3000 | ||
|
||
```bash | ||
npm run dev | ||
``` | ||
|
||
## Production | ||
|
||
Build the application for production: | ||
|
||
```bash | ||
npm run build | ||
``` | ||
|
||
Locally preview production build: | ||
|
||
```bash | ||
npm run preview | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
@mixin phone-portrait { | ||
@media (max-width: 500px) { | ||
@content; | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
$font: #dcdcdc; | ||
$bg1: #303030; | ||
$bg2: #151515; | ||
$border: #424242; | ||
$border-clear: #d0d0d0; | ||
$gold: #55450d; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,67 @@ | ||
<template> | ||
<left-menu-item :page="item.page" :indent="indent"> | ||
<template v-slot:title> | ||
{{ item.title }} | ||
</template> | ||
<template v-slot:subtitle> | ||
<span class="start-date"> | ||
{{ months[item.startDate.getMonth()] }} {{ item.startDate.getFullYear() }} | ||
</span> | ||
<span class="end-date"> | ||
<font-awesome-icon class="caret-right" :icon="['fas', 'caret-right']"/> | ||
<template v-if="item.endDate !== null"> | ||
{{ months[item.endDate.getMonth()] }} {{ item.endDate.getFullYear() }} | ||
</template> | ||
<template v-else>Aujourd'hui</template> | ||
</span> | ||
</template> | ||
<template v-slot:children> | ||
<cvLeftMenuItemChild v-for="child in item.children" :key="child.title" :indent="indent+1" | ||
:item="child"/> | ||
</template> | ||
</left-menu-item> | ||
</template> | ||
|
||
<script setup lang="ts"> | ||
import LeftMenuItem from "~/components/share/leftMenu/leftMenuItem.vue"; | ||
import {defineAsyncComponent, PropType} from "vue"; | ||
import Experience from "~/ts/contracts/cv/Experience"; | ||
const cvLeftMenuItemChild = defineAsyncComponent(() => import('./cvLeftMenuItem.vue')) | ||
defineProps({ | ||
item: { | ||
type: Object as PropType<Experience>, | ||
required: true | ||
}, | ||
indent: { | ||
type: Number, | ||
required: false, | ||
default: 0 | ||
} | ||
}) | ||
const months = { | ||
0: 'janvier', | ||
1: 'février', | ||
2: 'mars', | ||
3: 'avril', | ||
4: 'mai', | ||
5: 'juin', | ||
6: 'juillet', | ||
7: 'août', | ||
8: 'septembre', | ||
9: 'octobre', | ||
10: 'novembre', | ||
11: 'décembre', | ||
} | ||
</script> | ||
|
||
<style scoped lang="scss"> | ||
@import "assets/colors.scss"; | ||
.caret-right { | ||
margin: 0 3px; | ||
} | ||
</style> | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
<template> | ||
<div class="experience-detail"> | ||
<h1> | ||
<slot name="title"/> | ||
</h1> | ||
<h2> | ||
<slot name="dates"/> | ||
</h2> | ||
<p> | ||
<slot name="intro"/> | ||
</p> | ||
<div> | ||
<slot name="content"/> | ||
</div> | ||
</div> | ||
</template> | ||
|
||
<script setup lang="ts"> | ||
</script> | ||
|
||
<style scoped lang="scss"> | ||
@import "assets/breakpoints"; | ||
$xpDetailsPaddingX: 15px; | ||
.experience-detail { | ||
padding: 0 $xpDetailsPaddingX; | ||
overflow-y: auto; | ||
@include phone-portrait{ | ||
width: calc(100vw - 10px - $xpDetailsPaddingX - $xpDetailsPaddingX - 5px); | ||
margin-left: 10px; | ||
} | ||
} | ||
</style> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,151 @@ | ||
<template> | ||
<table id="techno-badges"> | ||
<tr v-if="technoLanguage.length > 0" class="badges-row"> | ||
<th class="badges-label">Langages</th> | ||
<td> | ||
<techno-badge v-for="technoBadge in technoLanguage" :badge="technoBadge"/> | ||
</td> | ||
</tr> | ||
<tr v-if="technoFramework.length > 0" class="badges-row"> | ||
<th class="badges-label">Frameworks</th> | ||
<td> | ||
<techno-badge v-for="technoBadge in technoFramework" :badge="technoBadge"/> | ||
</td> | ||
</tr> | ||
<tr v-if="technoTemplating.length > 0" class="badges-row"> | ||
<th class="badges-label">Templating</th> | ||
<td> | ||
<techno-badge v-for="technoBadge in technoTemplating" :badge="technoBadge"/> | ||
</td> | ||
</tr> | ||
<tr v-if="technoOs.length > 0" class="badges-row"> | ||
<th class="badges-label">Systèmes d'exploitation</th> | ||
<td> | ||
<techno-badge v-for="technoBadge in technoOs" :badge="technoBadge"/> | ||
</td> | ||
</tr> | ||
<tr v-if="technoLibraries.length > 0" class="badges-row"> | ||
<th class="badges-label">Librairies</th> | ||
<td> | ||
<techno-badge v-for="technoBadge in technoLibraries" :badge="technoBadge"/> | ||
</td> | ||
</tr> | ||
<tr v-if="technoDb.length > 0" class="badges-row"> | ||
<th class="badges-label">Base de données</th> | ||
<td> | ||
<techno-badge v-for="technoBadge in technoDb" :badge="technoBadge"/> | ||
</td> | ||
</tr> | ||
<tr v-if="technoVersioning.length > 0" class="badges-row"> | ||
<th class="badges-label">Versioning</th> | ||
<td> | ||
<techno-badge v-for="technoBadge in technoVersioning" :badge="technoBadge"/> | ||
</td> | ||
</tr> | ||
<tr v-if="technoCi.length > 0" class="badges-row"> | ||
<th class="badges-label">Conteneurisation, CI/CD...</th> | ||
<td> | ||
<techno-badge v-for="technoBadge in technoCi" :badge="technoBadge"/> | ||
</td> | ||
</tr> | ||
<tr v-if="technoRouting.length > 0" class="badges-row"> | ||
<th class="badges-label">Routage</th> | ||
<td> | ||
<techno-badge v-for="technoBadge in technoRouting" :badge="technoBadge"/> | ||
</td> | ||
</tr> | ||
<tr v-if="technoAuthentication.length > 0" class="badges-row"> | ||
<th class="badges-label">Authentification</th> | ||
<td> | ||
<techno-badge v-for="technoBadge in technoAuthentication" :badge="technoBadge"/> | ||
</td> | ||
</tr> | ||
</table> | ||
</template> | ||
|
||
<script setup lang="ts"> | ||
import {PropType} from "vue"; | ||
import { | ||
Badge, BadgeAuthentication, | ||
BadgeCi, | ||
BadgeDb, | ||
BadgeFramework, | ||
BadgeLanguage, | ||
BadgeLibraries, | ||
BadgeOs, BadgeRouting, | ||
BadgeTemplating, BadgeVersioning | ||
} from "~/ts/contracts/cv/Badge"; | ||
import TechnoBadge from "~/components/share/technoBadge.vue"; | ||
defineProps({ | ||
technoLanguage: { | ||
type: Array as PropType<BadgeLanguage[]>, | ||
required: false, | ||
default: () => [] | ||
}, | ||
technoFramework: { | ||
type: Array as PropType<BadgeFramework[]>, | ||
required: false, | ||
default: () => [] | ||
}, | ||
technoTemplating: { | ||
type: Array as PropType<BadgeTemplating[]>, | ||
required: false, | ||
default: () => [] | ||
}, | ||
technoOs: { | ||
type: Array as PropType<BadgeOs[]>, | ||
required: false, | ||
default: () => [] | ||
}, | ||
technoLibraries: { | ||
type: Array as PropType<BadgeLibraries[]>, | ||
required: false, | ||
default: () => [] | ||
}, | ||
technoDb: { | ||
type: Array as PropType<BadgeDb[]>, | ||
required: false, | ||
default: () => [] | ||
}, | ||
technoVersioning: { | ||
type: Array as PropType<BadgeVersioning[]>, | ||
required: false, | ||
default: () => [] | ||
}, | ||
technoCi: { | ||
type: Array as PropType<BadgeCi[]>, | ||
required: false, | ||
default: () => [] | ||
}, | ||
technoRouting: { | ||
type: Array as PropType<BadgeRouting[]>, | ||
required: false, | ||
default: () => [] | ||
}, | ||
technoAuthentication: { | ||
type: Array as PropType<BadgeAuthentication[]>, | ||
required: false, | ||
default: () => [] | ||
} | ||
}) | ||
</script> | ||
|
||
<style scoped lang="scss"> | ||
@import "assets/breakpoints.scss"; | ||
@import "assets/colors.scss"; | ||
@include phone-portrait { | ||
.badges-row:not(:last-of-type) { | ||
th, td { | ||
border-bottom: 1px solid rgba(0, 0, 0, 0.3); | ||
} | ||
} | ||
} | ||
.badges-label { | ||
padding-right: 15px; | ||
text-align: left; | ||
font-weight: 500; | ||
} | ||
</style> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
<template> | ||
<left-menu-item :page="item.page" :indent="0"> | ||
<template v-slot:title> | ||
{{item.title}} | ||
</template> | ||
<template v-slot:subtitle> | ||
{{item.subtitle}} | ||
</template> | ||
</left-menu-item> | ||
</template> | ||
|
||
<script setup lang="ts"> | ||
import LeftMenuItem from "~/components/share/leftMenu/leftMenuItem.vue"; | ||
import LeftMenuItemObject from '~/ts/contracts/components/leftMenu/LeftMenuItem'; | ||
import {PropType} from "vue"; | ||
const props = defineProps({ | ||
item: { | ||
type: Object as PropType<LeftMenuItemObject>, | ||
required: true | ||
} | ||
}) | ||
</script> | ||
|
||
<style scoped> | ||
</style> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
<template> | ||
<div class="github-badge"> | ||
<font-awesome-icon :icon="['fab', 'github']"/> | ||
<a target="_blank" :href="'https://github.com/' + link">Voir sur Github</a> | ||
</div> | ||
</template> | ||
|
||
<script setup lang="ts"> | ||
defineProps({ | ||
link: { | ||
type: String, | ||
required: true | ||
} | ||
}) | ||
</script> | ||
|
||
<style scoped lang="scss"> | ||
@import "assets/colors.scss"; | ||
.github-badge { | ||
padding: 3px; | ||
border: 1px solid $font; | ||
border-radius: 3px; | ||
display: inline-block; | ||
a { | ||
text-decoration: none; | ||
padding-left: 3px; | ||
} | ||
} | ||
</style> |
Oops, something went wrong.