Removed nuxt/image
35
@types/index.d.ts
vendored
@@ -1,35 +0,0 @@
|
|||||||
import { NuxtAxiosInstance } from '@nuxtjs/axios'
|
|
||||||
import VueI18n, {IVueI18n} from "vue-i18n";
|
|
||||||
import {ColorModeInstance} from "@nuxtjs/color-mode/types/color-mode";
|
|
||||||
import {NuxtApp} from "@nuxt/types/app";
|
|
||||||
import {NuxtStorage} from "@nuxtjs/universal-storage";
|
|
||||||
|
|
||||||
declare module 'vue/types/vue' {
|
|
||||||
|
|
||||||
interface Vue {
|
|
||||||
$axios: NuxtAxiosInstance,
|
|
||||||
i18n: VueI18n & IVueI18n
|
|
||||||
}
|
|
||||||
}
|
|
||||||
declare module '@nuxt/types' {
|
|
||||||
|
|
||||||
interface NuxtAppOptions {
|
|
||||||
$axios: NuxtAxiosInstance,
|
|
||||||
i18n: VueI18n & IVueI18n
|
|
||||||
}
|
|
||||||
|
|
||||||
interface Context {
|
|
||||||
$axios: NuxtAxiosInstance,
|
|
||||||
i18n: VueI18n & IVueI18n
|
|
||||||
$colorMode: ColorModeInstance,
|
|
||||||
$app: NuxtApp,
|
|
||||||
$storage: NuxtStorage
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
declare module 'vuex/types/index' {
|
|
||||||
interface Store<S> {
|
|
||||||
$axios: NuxtAxiosInstance,
|
|
||||||
i18n: VueI18n & IVueI18n
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,64 +0,0 @@
|
|||||||
interface Form {
|
|
||||||
email: string,
|
|
||||||
name: string,
|
|
||||||
content: string,
|
|
||||||
subject: string
|
|
||||||
}
|
|
||||||
|
|
||||||
interface InfoData {
|
|
||||||
age: number
|
|
||||||
hiring: {
|
|
||||||
status: string,
|
|
||||||
color: string
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
interface Skill {
|
|
||||||
title: string,
|
|
||||||
color: string,
|
|
||||||
cover: string,
|
|
||||||
slug: string
|
|
||||||
}
|
|
||||||
|
|
||||||
interface Experience {
|
|
||||||
slug: string,
|
|
||||||
title: string,
|
|
||||||
company: string,
|
|
||||||
location: string,
|
|
||||||
begin_date: string,
|
|
||||||
end_date: string
|
|
||||||
}
|
|
||||||
|
|
||||||
interface Formation {
|
|
||||||
slug: string,
|
|
||||||
title: string,
|
|
||||||
description: string,
|
|
||||||
location: string,
|
|
||||||
begin_date: string,
|
|
||||||
end_date: string
|
|
||||||
}
|
|
||||||
|
|
||||||
interface Tag {
|
|
||||||
slug: string
|
|
||||||
}
|
|
||||||
|
|
||||||
interface Post {
|
|
||||||
slug: string,
|
|
||||||
title: string,
|
|
||||||
description: string,
|
|
||||||
reading_time: number,
|
|
||||||
tags: Array<Tag>,
|
|
||||||
cover: string,
|
|
||||||
date: string
|
|
||||||
}
|
|
||||||
|
|
||||||
interface Project {
|
|
||||||
slug: string,
|
|
||||||
title: string,
|
|
||||||
description: string,
|
|
||||||
url: string,
|
|
||||||
cover: string,
|
|
||||||
tags: Array<Tag>,
|
|
||||||
}
|
|
||||||
|
|
||||||
export { Form, InfoData, Skill, Experience, Formation, Post, Tag, Project }
|
|
||||||
4
@types/vue-shim.d.ts
vendored
@@ -1,4 +0,0 @@
|
|||||||
declare module '*.vue' {
|
|
||||||
import Vue from 'vue'
|
|
||||||
export default Vue
|
|
||||||
}
|
|
||||||
26
package.json
@@ -10,26 +10,32 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@nuxt/content": "^1.14.0",
|
"@nuxt/content": "^1.14.0",
|
||||||
"@nuxtjs/axios": "^5.13.1",
|
"@nuxtjs/axios": "^5.13.5",
|
||||||
"@nuxtjs/composition-api": "0.23.4",
|
"@nuxtjs/composition-api": "0.23.4",
|
||||||
"@nuxtjs/dotenv": "^1.4.1",
|
"@nuxtjs/dotenv": "^1.4.1",
|
||||||
"@nuxtjs/redirect-module": "^0.3.1",
|
"@nuxtjs/redirect-module": "^0.3.1",
|
||||||
"@nuxtjs/robots": "^2.5.0",
|
"@nuxtjs/robots": "^2.5.0",
|
||||||
"@nuxtjs/sentry": "^5.0.3",
|
"@nuxtjs/sentry": "^5.1.0",
|
||||||
"@nuxtjs/sitemap": "^2.4.0",
|
"@nuxtjs/sitemap": "^2.4.0",
|
||||||
"@nuxtjs/universal-storage": "^0.5.9",
|
"@nuxtjs/universal-storage": "^0.5.9",
|
||||||
"core-js": "^3.12.1",
|
"core-js": "^3.13.1",
|
||||||
"nuxt": "^2.15.5",
|
"ipx": "^0.6.1",
|
||||||
|
"nuxt": "^2.15.6",
|
||||||
"nuxt-i18n": "^6.27.0",
|
"nuxt-i18n": "^6.27.0",
|
||||||
"prism-themes": "^1.7.0",
|
"prism-themes": "^1.7.0",
|
||||||
"sass": "^1.32.12",
|
"sass": "^1.34.0",
|
||||||
"windicss": "^2.5.14"
|
"windicss": "^3.0.12"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@nuxt/types": "^2.15.5",
|
"@nuxt/types": "^2.15.6",
|
||||||
"@nuxt/typescript-build": "^2.1.0",
|
"@nuxt/typescript-build": "^2.1.0",
|
||||||
"@nuxtjs/color-mode": "^2.0.5",
|
"@nuxtjs/color-mode": "^2.0.9",
|
||||||
"nuxt-windicss": "^0.6.0",
|
"markdown-it-prism": "^2.1.6",
|
||||||
"sass-loader": "10.1.1"
|
"nuxt-vite": "^0.1.1",
|
||||||
|
"nuxt-windicss": "^0.8.2",
|
||||||
|
"sass-loader": "10.1.1",
|
||||||
|
"vite-plugin-components": "^0.10.4",
|
||||||
|
"vite-plugin-md": "^0.6.7",
|
||||||
|
"vite-plugin-windicss": "^0.16.7"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,10 @@
|
|||||||
// Modules for dev and build (recommended): https://go.nuxtjs.dev/config-modules
|
// Modules for dev and build (recommended): https://go.nuxtjs.dev/config-modules
|
||||||
import {NuxtOptionsModule} from "@nuxt/types/config/module";
|
import {NuxtOptionsModule} from "@nuxt/types/config/module";
|
||||||
|
import {resolve} from 'path'
|
||||||
|
import ViteComponents from 'vite-plugin-components'
|
||||||
|
import WindiCSS from 'vite-plugin-windicss'
|
||||||
|
import Markdown from 'vite-plugin-md'
|
||||||
|
import Prism from 'markdown-it-prism'
|
||||||
|
|
||||||
const color_mode = {
|
const color_mode = {
|
||||||
preference: 'system',
|
preference: 'system',
|
||||||
@@ -32,9 +37,39 @@ const windicss = {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const vite = {
|
||||||
|
vue: {
|
||||||
|
include: [/\.vue$/, /\.md$/],
|
||||||
|
},
|
||||||
|
plugins: [
|
||||||
|
ViteComponents({
|
||||||
|
dirs: [
|
||||||
|
resolve('./components'),
|
||||||
|
],
|
||||||
|
extensions: ['vue', 'md'],
|
||||||
|
customLoaderMatcher: path => path.endsWith('.md'),
|
||||||
|
}),
|
||||||
|
WindiCSS({
|
||||||
|
scan: {
|
||||||
|
dirs: [
|
||||||
|
resolve('./pages'),
|
||||||
|
resolve('./components'),
|
||||||
|
],
|
||||||
|
},
|
||||||
|
}),
|
||||||
|
Markdown({
|
||||||
|
markdownItSetup(md) {
|
||||||
|
md.use(Prism)
|
||||||
|
},
|
||||||
|
}),
|
||||||
|
],
|
||||||
|
ssr: true
|
||||||
|
}
|
||||||
|
|
||||||
export default [
|
export default [
|
||||||
'@nuxt/typescript-build',
|
'@nuxt/typescript-build',
|
||||||
'@nuxtjs/composition-api/module',
|
'@nuxtjs/composition-api/module',
|
||||||
['nuxt-windicss', windicss],
|
['nuxt-windicss', windicss],
|
||||||
['@nuxtjs/color-mode', color_mode],
|
['@nuxtjs/color-mode', color_mode],
|
||||||
|
//['nuxt-vite', vite]
|
||||||
] as NuxtOptionsModule[]
|
] as NuxtOptionsModule[]
|
||||||
|
|||||||
@@ -99,5 +99,5 @@ export default [
|
|||||||
['@nuxtjs/sitemap', sitemap],
|
['@nuxtjs/sitemap', sitemap],
|
||||||
['@nuxtjs/redirect-module', redirect],
|
['@nuxtjs/redirect-module', redirect],
|
||||||
['@nuxtjs/dotenv', env],
|
['@nuxtjs/dotenv', env],
|
||||||
['@nuxtjs/sentry', sentry]
|
['@nuxtjs/sentry', sentry],
|
||||||
] as NuxtOptionsModule[]
|
] as NuxtOptionsModule[]
|
||||||
|
|||||||
@@ -1,4 +1,9 @@
|
|||||||
// Plugins to run before rendering page: https://go.nuxtjs.dev/config-plugins
|
// Plugins to run before rendering page: https://go.nuxtjs.dev/config-plugins
|
||||||
export default [
|
export default [
|
||||||
{ src: '~/plugins/i18n.ts' }
|
{
|
||||||
|
src: '~/plugins/i18n.ts'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
src: '~/plugins/main.ts',
|
||||||
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -21,7 +21,6 @@ body {
|
|||||||
@apply dark:(bg-dark-800 text-white) border dark:border-white border-black border-solid;
|
@apply dark:(bg-dark-800 text-white) border dark:border-white border-black border-solid;
|
||||||
}
|
}
|
||||||
|
|
||||||
//TODO remove with windicss/typography
|
|
||||||
.nuxt-content-container, .nuxt-content {
|
.nuxt-content-container, .nuxt-content {
|
||||||
p {
|
p {
|
||||||
@apply text-gray-700 dark:text-gray-400
|
@apply text-gray-700 dark:text-gray-400
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 89 KiB After Width: | Height: | Size: 89 KiB |
|
Before Width: | Height: | Size: 125 KiB After Width: | Height: | Size: 125 KiB |
@@ -1,9 +1,8 @@
|
|||||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||||
viewBox="-92.4 101 489.5 512" enable-background="new -92.4 101 489.5 512" xml:space="preserve">
|
viewBox="-92.4 101 489.5 512" enable-background="new -92.4 101 489.5 512" xml:space="preserve">
|
||||||
<g>
|
<g>
|
||||||
<path fill="#65459B" d="M263.6,546.1H163.4L96.7,613H30v-66.9H-92.4v-356l33.3-89.1h456.2v311.6L263.6,546.1z M352.7,390.5V145.5
|
<path fill="#65459B" d="M263.6,546.1H163.4L96.7,613H30v-66.9H-92.4v-356l33.3-89.1h456.2v311.6L263.6,546.1z M352.7,390.5V145.5H-14.6v322.7H85.6V535l66.7-66.7h122.4L352.7,390.5z"/>
|
||||||
H-14.6v322.7H85.6V535l66.7-66.7h122.4L352.7,390.5z"/>
|
<g id="Solo_Glitch_136_">
|
||||||
<g id="Solo_Glitch_136_">
|
|
||||||
<g>
|
<g>
|
||||||
<path fill="#65459B" d="M230.2,234.6v133.6h44.5V234.6H230.2z M107.8,368.1h44.5V234.6h-44.5V368.1z"/>
|
<path fill="#65459B" d="M230.2,234.6v133.6h44.5V234.6H230.2z M107.8,368.1h44.5V234.6h-44.5V368.1z"/>
|
||||||
</g>
|
</g>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 573 B After Width: | Height: | Size: 578 B |
@@ -1 +1,2 @@
|
|||||||
<svg id="twitter" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 126.24 102.59"><defs><style>.cls-1{fill:#1da1f2;}</style></defs><title>twitter-original</title><path id="original" class="cls-1" d="M40.58,115.3c47.64,0,73.69-39.47,73.69-73.69,0-1.12,0-2.24-.07-3.35a52.7,52.7,0,0,0,12.92-13.41,51.7,51.7,0,0,1-14.87,4.08A26,26,0,0,0,123.63,14.6a51.9,51.9,0,0,1-16.45,6.29A25.92,25.92,0,0,0,63.05,44.51,73.53,73.53,0,0,1,9.67,17.45a25.92,25.92,0,0,0,8,34.58A25.71,25.71,0,0,1,6,48.78c0,.11,0,.22,0,.33A25.91,25.91,0,0,0,26.73,74.5a25.86,25.86,0,0,1-11.7.44,25.93,25.93,0,0,0,24.2,18A52,52,0,0,1,7.06,104a52.72,52.72,0,0,1-6.18-.36,73.32,73.32,0,0,0,39.7,11.63" transform="translate(-0.88 -12.7)"/></svg>
|
<svg id="twitter" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 126.24 102.59">
|
||||||
|
<defs><style>.cls-1{fill:#1da1f2;}</style></defs><path id="original" class="cls-1" d="M40.58,115.3c47.64,0,73.69-39.47,73.69-73.69,0-1.12,0-2.24-.07-3.35a52.7,52.7,0,0,0,12.92-13.41,51.7,51.7,0,0,1-14.87,4.08A26,26,0,0,0,123.63,14.6a51.9,51.9,0,0,1-16.45,6.29A25.92,25.92,0,0,0,63.05,44.51,73.53,73.53,0,0,1,9.67,17.45a25.92,25.92,0,0,0,8,34.58A25.71,25.71,0,0,1,6,48.78c0,.11,0,.22,0,.33A25.91,25.91,0,0,0,26.73,74.5a25.86,25.86,0,0,1-11.7.44,25.93,25.93,0,0,0,24.2,18A52,52,0,0,1,7.06,104a52.72,52.72,0,0,1-6.18-.36,73.32,73.32,0,0,0,39.7,11.63" transform="translate(-0.88 -12.7)"/></svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 702 B After Width: | Height: | Size: 675 B |
@@ -2,7 +2,7 @@
|
|||||||
<section v-if="info && info.age" class="w-full flex items-center justify-center my-12">
|
<section v-if="info && info.age" class="w-full flex items-center justify-center my-12">
|
||||||
<div class="flex flex-col md:flex-row justify-between items-center">
|
<div class="flex flex-col md:flex-row justify-between items-center">
|
||||||
<div class="mb-12 md:mb-0 w-full md:w-1/2 flex justify-center">
|
<div class="mb-12 md:mb-0 w-full md:w-1/2 flex justify-center">
|
||||||
<img src="@/assets/images/memojies/Hat.png" alt="It's me !" class="xl:w-1/2">
|
<img src="~/assets/images/memojies/Hat.png" alt="It's me !" class="xl:w-1/2" />
|
||||||
</div>
|
</div>
|
||||||
<div class="md:w-1/2 text-justify">
|
<div class="md:w-1/2 text-justify">
|
||||||
<h2 class="text-4xl font-bold text-center md:text-justify">
|
<h2 class="text-4xl font-bold text-center md:text-justify">
|
||||||
@@ -21,7 +21,7 @@
|
|||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import {defineComponent, useAsync, useContext} from "@nuxtjs/composition-api";
|
import {defineComponent, useAsync, useContext} from "@nuxtjs/composition-api";
|
||||||
import {InfoData} from "../../@types/types";
|
import {InfoData} from "../../types/types";
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
name: "AboutPreview",
|
name: "AboutPreview",
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="rounded-3xl p-2 lg:p-8 text-center" :class="getColor">
|
<div class="rounded-3xl p-2 lg:p-8 text-center h-full block" :class="getColor">
|
||||||
<slot />
|
<slot />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
<template>
|
<template>
|
||||||
<section class="w-full my-12">
|
<section class="w-full my-12 h-full">
|
||||||
<div class="md:space-x-12 space-y-8 md:space-y-0 flex flex-col md:flex-row items-center justify-around h-full">
|
<div class="md:space-x-12 space-y-8 md:space-y-0 flex flex-col md:flex-row items-center justify-around h-full">
|
||||||
<nuxt-link to="/env" class="h-full md:w-2/5">
|
<nuxt-link to="/env" class="block h-auto md:w-2/5">
|
||||||
<Ad color="rose" class="w-full flex flex-col justify-between items-center">
|
<Ad color="rose" class="w-full flex flex-col justify-between items-center">
|
||||||
<div>
|
<div>
|
||||||
<img class="h-48" src="~/assets/images/memojies/Dev.png" alt="Dev Memoji" />
|
<img class="h-48" src="~/assets/images/memojies/Dev.png" alt="Dev Memoji" />
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<h1 class="font-bold text-black text-4xl">
|
<h1 class="font-bold text-black text-4xl">
|
||||||
@@ -16,7 +16,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</Ad>
|
</Ad>
|
||||||
</nuxt-link>
|
</nuxt-link>
|
||||||
<nuxt-link to="/contact" class="h-full md:w-2/5">
|
<nuxt-link to="/contact" class="min-h-full md:w-2/5">
|
||||||
<Ad color="blue" class="w-full flex flex-col justify-between items-center">
|
<Ad color="blue" class="w-full flex flex-col justify-between items-center">
|
||||||
<div>
|
<div>
|
||||||
<img class="h-48" src="~/assets/images/memojies/Fiesta.png" alt="Fiesta Memoji" />
|
<img class="h-48" src="~/assets/images/memojies/Fiesta.png" alt="Fiesta Memoji" />
|
||||||
|
|||||||
@@ -68,7 +68,7 @@
|
|||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import {computed, defineComponent, ref, useContext} from "@nuxtjs/composition-api";
|
import {computed, defineComponent, ref, useContext} from "@nuxtjs/composition-api";
|
||||||
import {Form} from "../../@types/types";
|
import {Form} from "../../types/types";
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
name: "ContactForm",
|
name: "ContactForm",
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import {defineComponent, useAsync, useContext} from "@nuxtjs/composition-api";
|
import {defineComponent, useAsync, useContext} from "@nuxtjs/composition-api";
|
||||||
import {Experience} from "../../@types/types";
|
import {Experience} from "../../types/types";
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
name: "ExperiencesAbout",
|
name: "ExperiencesAbout",
|
||||||
|
|||||||
@@ -6,16 +6,16 @@
|
|||||||
<p class="inline">{{ $t('footer.find_me') }}
|
<p class="inline">{{ $t('footer.find_me') }}
|
||||||
<br class="md:hidden"/>
|
<br class="md:hidden"/>
|
||||||
<a class="font-semibold" href="https://twitch.com/ArthurDanjou" target="_blank" rel="noopener noreferrer">
|
<a class="font-semibold" href="https://twitch.com/ArthurDanjou" target="_blank" rel="noopener noreferrer">
|
||||||
<img class="inline" src="@/assets/images/socials/twitch.svg" alt="Twitch logo" height="20" width="20" />
|
<img class="inline" src="~/assets/images/socials/twitch.svg" alt="Twitch logo" height="20" width="20" />
|
||||||
<span class="link">Twitch</span>
|
<span class="link">Twitch</span>
|
||||||
</a>,
|
</a>,
|
||||||
<a class="font-semibold" href="https://github.com/ArthurDanjou" target="_blank" rel="noopener noreferrer">
|
<a class="font-semibold" href="https://github.com/ArthurDanjou" target="_blank" rel="noopener noreferrer">
|
||||||
<img v-if="!isDarkMode" class="inline" src="@/assets/images/socials/github-black.svg" alt="Github logo" height="20" width="20" />
|
<img v-if="!isDarkMode" class="inline" src="~/assets/images/socials/github-black.svg" alt="Github logo" height="20" width="20" />
|
||||||
<img v-else class="inline" src="@/assets/images/socials/github-white.svg" alt="Github logo" height="20" width="20" />
|
<img v-else class="inline" src="~/assets/images/socials/github-white.svg" alt="Github logo" height="20" width="20" />
|
||||||
<span class="link">Github</span>
|
<span class="link">Github</span>
|
||||||
</a> &
|
</a> &
|
||||||
<a class="font-semibold" href="https://twitter.com/ArthurDanj" target="_blank" rel="noopener noreferrer">
|
<a class="font-semibold" href="https://twitter.com/ArthurDanj" target="_blank" rel="noopener noreferrer">
|
||||||
<img class="inline" src="@/assets/images/socials/twitter.svg" alt="Twitter logo" height="20" width="20" />
|
<img class="inline" src="/socials/twitter.svg" alt="Twitter logo" height="" width="20" />
|
||||||
<span class="link">Twitter</span>
|
<span class="link">Twitter</span>
|
||||||
</a>
|
</a>
|
||||||
<br class="md:hidden"/>
|
<br class="md:hidden"/>
|
||||||
@@ -35,7 +35,7 @@
|
|||||||
<p>
|
<p>
|
||||||
{{ $t('footer.credits') }}
|
{{ $t('footer.credits') }}
|
||||||
<a class="font-semibold" target="_blank" href="https://nuxtjs.org" rel="noopener noreferrer">
|
<a class="font-semibold" target="_blank" href="https://nuxtjs.org" rel="noopener noreferrer">
|
||||||
<img class="inline" src="@/assets/images/socials/nuxtjs.svg" alt="NuxtJs logo" height="20" width="20" />
|
<img class="inline" src="~/assets/images/socials/nuxtjs.svg" alt="NuxtJs logo" width="20" />
|
||||||
<span class="link">NuxtJs</span>
|
<span class="link">NuxtJs</span>
|
||||||
</a>
|
</a>
|
||||||
{{ $t('footer.credits_separator') }} <span>Arthur DANJOU</span>
|
{{ $t('footer.credits_separator') }} <span>Arthur DANJOU</span>
|
||||||
@@ -46,7 +46,7 @@
|
|||||||
</footer>
|
</footer>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script lang="ts">
|
||||||
import {computed, defineComponent, ref, useContext} from "@nuxtjs/composition-api";
|
import {computed, defineComponent, ref, useContext} from "@nuxtjs/composition-api";
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
@@ -54,7 +54,7 @@ export default defineComponent({
|
|||||||
setup() {
|
setup() {
|
||||||
const {$colorMode} = useContext()
|
const {$colorMode} = useContext()
|
||||||
const isDarkMode = computed(() => {
|
const isDarkMode = computed(() => {
|
||||||
return $colorMode.preference === 'dark' | undefined
|
return $colorMode.preference === 'dark'
|
||||||
})
|
})
|
||||||
|
|
||||||
const getDate = ref(new Date().getFullYear())
|
const getDate = ref(new Date().getFullYear())
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import {defineComponent, useAsync, useContext} from "@nuxtjs/composition-api";
|
import {defineComponent, useAsync, useContext} from "@nuxtjs/composition-api";
|
||||||
import {Formation} from "../../@types/types";
|
import {Formation} from "../../types/types";
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
name: "FormationsHome",
|
name: "FormationsHome",
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
<header class="dark:bg-black dark:text-white fixed z-50 top-0 left-0 bg-white w-full duration-400" :class="scrollPosition > 50 ? ' shadow-md dark:shadow-white h-16 lg:h-20' : 'h-20 lg:h-24'">
|
<header class="dark:bg-black dark:text-white fixed z-50 top-0 left-0 bg-white w-full duration-400" :class="scrollPosition > 50 ? ' shadow-md dark:shadow-white h-16 lg:h-20' : 'h-20 lg:h-24'">
|
||||||
<div class="header-container z-index-50 flex justify-between items-center h-full px-5 xl:px-32">
|
<div class="header-container z-index-50 flex justify-between items-center h-full px-5 xl:px-32">
|
||||||
<nuxt-link to="/">
|
<nuxt-link to="/">
|
||||||
<img src="@/assets/images/logo-header.png" alt="Logo Circle" class="h-10 left cursor-pointer duration-500" />
|
<img src="~/assets/images/logo-header.png" alt="Logo Circle" class="h-10 left cursor-pointer duration-500" />
|
||||||
</nuxt-link>
|
</nuxt-link>
|
||||||
<nav class="right">
|
<nav class="right">
|
||||||
<div class="flex flex-col md:flex-row items-center">
|
<div class="flex flex-col md:flex-row items-center">
|
||||||
@@ -161,7 +161,7 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
|
|
||||||
.nuxt-link-exact-active {
|
.nuxt-link-exact-active {
|
||||||
@apply text-black dark:text-white !important;
|
@apply text-black dark:text-white;
|
||||||
}
|
}
|
||||||
|
|
||||||
.navbar-bottom-items li {
|
.navbar-bottom-items li {
|
||||||
|
|||||||
@@ -31,7 +31,7 @@
|
|||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import {defineComponent, useAsync, useContext} from "@nuxtjs/composition-api";
|
import {defineComponent, useAsync, useContext} from "@nuxtjs/composition-api";
|
||||||
import {Post} from "../../@types/types";
|
import {Post} from "../../types/types";
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
name: "PostsHome",
|
name: "PostsHome",
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<section class="flex flex-col 2xl:flex-row justify-center items-center py-8">
|
<section class="flex flex-col 2xl:flex-row justify-center items-center py-8">
|
||||||
<div class="lg:mr-12">
|
<div class="lg:mr-12">
|
||||||
<img class="logo-img rounded-full my-5" src="@/assets/images/memojies/Hey.png" alt="It's me !" />
|
<img class="logo-img rounded-full my-5" src="~/assets/images/memojies/Hey.png" alt="It's me !" />
|
||||||
</div>
|
</div>
|
||||||
<div class="ml-2 text-lg leading-6 xl:w-2/3 text-justify dark:text-gray-400 text-gray-700">
|
<div class="ml-2 text-lg leading-6 xl:w-2/3 text-justify dark:text-gray-400 text-gray-700">
|
||||||
<p>{{ $t('about.banner.hello') }} <span class="text-indigo-600 font-bold">Arthur DANJOU</span> 👋.</p> <br/>
|
<p>{{ $t('about.banner.hello') }} <span class="text-indigo-600 font-bold">Arthur DANJOU</span> 👋.</p> <br/>
|
||||||
|
|||||||
@@ -29,7 +29,7 @@
|
|||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import {defineComponent, useAsync, useContext} from "@nuxtjs/composition-api";
|
import {defineComponent, useAsync, useContext} from "@nuxtjs/composition-api";
|
||||||
import {Project} from "../../@types/types";
|
import {Project} from "../../types/types";
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
name: "ProjectsHome",
|
name: "ProjectsHome",
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
<div class="mb-3 mr-2 p-1 md:p-2 h-32 w-32 border-gray-900 dark:border-dark-200 border-2 duration-300 rounded-3xl hover:bg-opacity-25" :class="getColor">
|
<div class="mb-3 mr-2 p-1 md:p-2 h-32 w-32 border-gray-900 dark:border-dark-200 border-2 duration-300 rounded-3xl hover:bg-opacity-25" :class="getColor">
|
||||||
<div class="w-full h-full flex flex-col justify-center items-center">
|
<div class="w-full h-full flex flex-col justify-center items-center">
|
||||||
<div>
|
<div>
|
||||||
<img class="rounded-sm" alt="Skill Img" :src="getCoverLink">
|
<img class="rounded-sm" alt="Skill Img" :src="getCoverLink" />
|
||||||
</div>
|
</div>
|
||||||
<h1 class="md:text-lg text-md font-bold text-center text-gray-700 dark:text-gray-400">{{ skill }}</h1>
|
<h1 class="md:text-lg text-md font-bold text-center text-gray-700 dark:text-gray-400">{{ skill }}</h1>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import {defineComponent, useAsync, useContext} from "@nuxtjs/composition-api";
|
import {defineComponent, useAsync, useContext} from "@nuxtjs/composition-api";
|
||||||
import {Skill} from "../../@types/types";
|
import {Skill} from "../../types/types";
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
name: "SkillsAbout",
|
name: "SkillsAbout",
|
||||||
|
|||||||
@@ -43,7 +43,7 @@
|
|||||||
<nuxt-content
|
<nuxt-content
|
||||||
:document="post"
|
:document="post"
|
||||||
class="my-6 md:my-10 w-full text-justify max-w-none
|
class="my-6 md:my-10 w-full text-justify max-w-none
|
||||||
prose prose-sm sm:prose lg:prose-lg lg:max-w-none sm:max-w-none
|
prose prose-sm lg:prose-lg lg:max-w-none sm:max-w-none
|
||||||
dark:prose-dark dark:max-w-none"
|
dark:prose-dark dark:max-w-none"
|
||||||
/>
|
/>
|
||||||
<p class="mb-3">
|
<p class="mb-3">
|
||||||
@@ -66,7 +66,7 @@
|
|||||||
:href="'https://twitter.com/intent/tweet?url=https%3A%2F%2Farthurdanjou.fr%2Fblog%2F' + this.post.slug + '&text=' + $t('blog.tweet') + ' ' + post.title"
|
:href="'https://twitter.com/intent/tweet?url=https%3A%2F%2Farthurdanjou.fr%2Fblog%2F' + this.post.slug + '&text=' + $t('blog.tweet') + ' ' + post.title"
|
||||||
class="h-16 mr-2 end-blog cursor-pointer duration-300 text-3xl p-3 border-solid border border-gray-400 dark:border-dark-200 hover:border-cyan-500 dark:hover:border-cyan-400 justify-center items-center"
|
class="h-16 mr-2 end-blog cursor-pointer duration-300 text-3xl p-3 border-solid border border-gray-400 dark:border-dark-200 hover:border-cyan-500 dark:hover:border-cyan-400 justify-center items-center"
|
||||||
>
|
>
|
||||||
<img class="inline img icon-hover" src="@/assets/images/socials/twitter.svg" alt="Twitter logo" height="40" width="40" />
|
<img class="inline img icon-hover" src="~/assets/images/socials/twitter.svg" alt="Twitter logo" height="40" width="40" />
|
||||||
</a>
|
</a>
|
||||||
<div @click="scrollToTop"
|
<div @click="scrollToTop"
|
||||||
class="h-16 mr-2 end-blog cursor-pointer duration-300 text-3xl p-3 border-solid border border-gray-400 dark:border-dark-200 hover:border-dark-800 dark:hover:border-white">
|
class="h-16 mr-2 end-blog cursor-pointer duration-300 text-3xl p-3 border-solid border border-gray-400 dark:border-dark-200 hover:border-dark-800 dark:hover:border-white">
|
||||||
@@ -113,7 +113,7 @@ import {
|
|||||||
useMeta,
|
useMeta,
|
||||||
useRoute, useStatic, watch
|
useRoute, useStatic, watch
|
||||||
} from "@nuxtjs/composition-api";
|
} from "@nuxtjs/composition-api";
|
||||||
import {Post} from "../../../@types/types";
|
import {Post} from "../../../types/types";
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
name: "blog",
|
name: "blog",
|
||||||
|
|||||||
@@ -31,7 +31,7 @@
|
|||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import {defineComponent, useAsync, useContext} from "@nuxtjs/composition-api";
|
import {defineComponent, useAsync, useContext} from "@nuxtjs/composition-api";
|
||||||
import {Post} from "../../../@types/types";
|
import {Post} from "../../../types/types";
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
name: "blog",
|
name: "blog",
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import {computed, useAsync, useContext} from "@nuxtjs/composition-api";
|
import {computed, useAsync, useContext} from "@nuxtjs/composition-api";
|
||||||
import {InfoData} from "../../@types/types";
|
import {InfoData} from "../../types/types";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "contact",
|
name: "contact",
|
||||||
|
|||||||
@@ -23,7 +23,7 @@
|
|||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import {useAsync, useContext, useMeta} from "@nuxtjs/composition-api";
|
import {useAsync, useContext, useMeta} from "@nuxtjs/composition-api";
|
||||||
import {Project} from "../../@types/types";
|
import {Project} from "../../types/types";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "index",
|
name: "index",
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
|
import {defineConfig} from "windicss/helpers";
|
||||||
|
|
||||||
const colors = require('windicss/colors')
|
const colors = require('windicss/colors')
|
||||||
|
|
||||||
module.exports = {
|
module.exports = defineConfig({
|
||||||
presets: [],
|
presets: [],
|
||||||
darkMode: 'class',
|
darkMode: 'class',
|
||||||
theme: {
|
theme: {
|
||||||
@@ -127,14 +129,8 @@ module.exports = {
|
|||||||
gray: colors.gray,
|
gray: colors.gray,
|
||||||
coolGray: colors.coolGray,
|
coolGray: colors.coolGray,
|
||||||
blueGray: colors.blueGray,
|
blueGray: colors.blueGray,
|
||||||
dark: {
|
dark: colors.dark,
|
||||||
100: 'rgb(150,150,150)',
|
light: colors.light
|
||||||
200: 'rgb(112,112,112)',
|
|
||||||
850: '#404040',
|
|
||||||
700: '#272727',
|
|
||||||
800: '#212121',
|
|
||||||
900: '#121212',
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
spacing: {
|
spacing: {
|
||||||
px: '1px',
|
px: '1px',
|
||||||
@@ -812,23 +808,7 @@ module.exports = {
|
|||||||
50: '50',
|
50: '50',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
variantOrder: [
|
|
||||||
'first',
|
|
||||||
'last',
|
|
||||||
'odd',
|
|
||||||
'even',
|
|
||||||
'visited',
|
|
||||||
'checked',
|
|
||||||
'group-hover',
|
|
||||||
'group-focus',
|
|
||||||
'focus-within',
|
|
||||||
'hover',
|
|
||||||
'focus',
|
|
||||||
'focus-visible',
|
|
||||||
'active',
|
|
||||||
'disabled',
|
|
||||||
],
|
|
||||||
plugins: [
|
plugins: [
|
||||||
require('windicss/plugin/typography')
|
require('windicss/plugin/typography'),
|
||||||
],
|
],
|
||||||
}
|
})
|
||||||