mirror of
https://github.com/LJ5O/website.git
synced 2026-08-11 22:54:46 +02:00
New route and schoolDisplay.vue
This commit is contained in:
@@ -100,6 +100,11 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"education": {
|
||||||
|
"title": "Education and certifications",
|
||||||
|
"subtitle": "The steps for my learning journey",
|
||||||
|
"introduction": "Before reaching my current level, I had a long time learning various concepts in some nice institutions who accepted me as a student. I'm really grateful towards all of them, as I wouldn't be like I am without their help."
|
||||||
|
},
|
||||||
"contact": {
|
"contact": {
|
||||||
"title": "Send me a message !",
|
"title": "Send me a message !",
|
||||||
"subtitle": "Thanks for your interest ! If you want to contact me, the easiest way is by Email.",
|
"subtitle": "Thanks for your interest ! If you want to contact me, the easiest way is by Email.",
|
||||||
|
|||||||
@@ -29,6 +29,10 @@ a:visited{
|
|||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.subtitle{
|
||||||
|
font-size: 1.3em;
|
||||||
|
}
|
||||||
|
|
||||||
#app{
|
#app{
|
||||||
height: 100%;
|
height: 100%;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
|
|||||||
84
src/components/education/schoolDisplay.vue
Normal file
84
src/components/education/schoolDisplay.vue
Normal file
@@ -0,0 +1,84 @@
|
|||||||
|
<template>
|
||||||
|
<div class="school_display">
|
||||||
|
<div class="school_picture">
|
||||||
|
<img :src="img"/>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="school_info">
|
||||||
|
<p class="school_name">{{ name }}</p>
|
||||||
|
<p class="school_about">{{ desc }}</p>
|
||||||
|
<a :href="link" v-if="link!=undefined"><button class="button">Website</button></a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
defineProps({
|
||||||
|
name:{
|
||||||
|
type:String,
|
||||||
|
required:true
|
||||||
|
},
|
||||||
|
desc:{
|
||||||
|
type:String,
|
||||||
|
required:true
|
||||||
|
},
|
||||||
|
img:{
|
||||||
|
type:String,
|
||||||
|
required:true
|
||||||
|
},
|
||||||
|
link:{
|
||||||
|
type:String,
|
||||||
|
required:false
|
||||||
|
}
|
||||||
|
})
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
.school_display{
|
||||||
|
width: 100%; /*Should be in a <article> covering 80% of vw*/
|
||||||
|
max-width: 1000px;
|
||||||
|
background-color: rgb(61, 61, 61);
|
||||||
|
margin: auto;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
/*align-items: center;*/
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.school_picture{
|
||||||
|
width: fit-content;
|
||||||
|
height: fit-content;
|
||||||
|
flex: 1 1 30%;
|
||||||
|
margin: 15px;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
.school_picture img{
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.school_info{
|
||||||
|
height: 80%;
|
||||||
|
width: 60%;
|
||||||
|
margin-left: 10px;
|
||||||
|
margin-right: 10px;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
.school_name{
|
||||||
|
font-size: 1.5em;
|
||||||
|
margin-top: 15px;
|
||||||
|
margin-bottom: 5px;
|
||||||
|
}
|
||||||
|
.school_about{
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
.school_info button{
|
||||||
|
margin-top: 15px;
|
||||||
|
margin-block: 15px;
|
||||||
|
background-color: rgb(51, 143, 230);
|
||||||
|
font-size: 1.1em;
|
||||||
|
width: 150px;
|
||||||
|
color:black;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -2,6 +2,7 @@ import { createRouter, createWebHistory } from 'vue-router'
|
|||||||
import HomeView from '../views/HomeView.vue'
|
import HomeView from '../views/HomeView.vue'
|
||||||
import BaseArticle from '@/views/BaseArticle.vue'
|
import BaseArticle from '@/views/BaseArticle.vue'
|
||||||
import SkillsView from '@/views/SkillsView.vue'
|
import SkillsView from '@/views/SkillsView.vue'
|
||||||
|
import EducationView from '@/views/EducationView.vue'
|
||||||
import ContactView from '@/views/ContactView.vue'
|
import ContactView from '@/views/ContactView.vue'
|
||||||
|
|
||||||
const router = createRouter({
|
const router = createRouter({
|
||||||
@@ -22,6 +23,11 @@ const router = createRouter({
|
|||||||
name: 'skills',
|
name: 'skills',
|
||||||
component: SkillsView
|
component: SkillsView
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
path: '/education',
|
||||||
|
name: 'education',
|
||||||
|
component: EducationView
|
||||||
|
},
|
||||||
{
|
{
|
||||||
path: '/contact',
|
path: '/contact',
|
||||||
name: 'contact',
|
name: 'contact',
|
||||||
|
|||||||
72
src/views/EducationView.vue
Normal file
72
src/views/EducationView.vue
Normal file
@@ -0,0 +1,72 @@
|
|||||||
|
<template>
|
||||||
|
<Header/>
|
||||||
|
<h1 class="center">{{ $t("education.title") }}</h1>
|
||||||
|
<p class="center content subtitle">{{ $t("education.subtitle") }}</p>
|
||||||
|
|
||||||
|
<article>
|
||||||
|
<p>{{ $t("education.introduction") }}</p>
|
||||||
|
|
||||||
|
<schoolDisplay name="My school" desc="Before reaching my current level, I had a long time learning various concepts in some nice institutions who accepted me as a student. I'm really grateful towards all of them, as I wouldn't be like I am without their help."
|
||||||
|
img="https://picsum.photos/600/400"/>
|
||||||
|
</article>
|
||||||
|
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import { useI18n } from 'vue-i18n';
|
||||||
|
|
||||||
|
import Header from '@/components/header.vue';
|
||||||
|
import schoolDisplay from '@/components/education/schoolDisplay.vue';
|
||||||
|
import SkillsList from '@/components/skills/skillsList.vue';
|
||||||
|
|
||||||
|
const i18n = useI18n();
|
||||||
|
|
||||||
|
/*const skills = [{
|
||||||
|
title: i18n.t("skills.skills.ai.title"),
|
||||||
|
desc: i18n.t("skills.skills.ai.desc"),
|
||||||
|
picture: aIsvg
|
||||||
|
},{
|
||||||
|
title: i18n.t("skills.skills.web.title"),
|
||||||
|
desc: i18n.t("skills.skills.web.desc"),
|
||||||
|
buttonText: "Click me",
|
||||||
|
picture: webSvg,
|
||||||
|
link: "google.com"
|
||||||
|
},{
|
||||||
|
title: i18n.t("skills.skills.low_level.title"),
|
||||||
|
desc: i18n.t("skills.skills.low_level.desc"),
|
||||||
|
buttonText: "Click me",
|
||||||
|
picture: lowlevelSvg,
|
||||||
|
link: "google.com"
|
||||||
|
},{
|
||||||
|
title: i18n.t("skills.skills.devops.title"),
|
||||||
|
desc: i18n.t("skills.skills.devops.desc"),
|
||||||
|
buttonText: "Click me",
|
||||||
|
picture: devopsSvg,
|
||||||
|
link: "google.com"
|
||||||
|
},{
|
||||||
|
title: i18n.t("skills.skills.data.title"),
|
||||||
|
desc: i18n.t("skills.skills.data.desc"),
|
||||||
|
buttonText: "Click me",
|
||||||
|
picture: analysisSvg,
|
||||||
|
link: "google.com"
|
||||||
|
}]*/
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
.center{
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content{
|
||||||
|
width:80%;
|
||||||
|
margin: auto;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
article{
|
||||||
|
width: 80%;
|
||||||
|
margin: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
||||||
|
|
||||||
Reference in New Issue
Block a user