mirror of
https://github.com/ArthurDanjou/website-old.git
synced 2026-01-14 12:14:42 +01:00
Fixing many errors and importing many new icons
This commit is contained in:
12
package.json
12
package.json
@@ -10,7 +10,7 @@
|
||||
"dependencies": {
|
||||
"@nuxt/content": "^1.14.0",
|
||||
"@nuxtjs/axios": "^5.13.6",
|
||||
"@nuxtjs/composition-api": "0.24.6",
|
||||
"@nuxtjs/composition-api": "0.23.4",
|
||||
"@nuxtjs/dotenv": "^1.4.1",
|
||||
"@nuxtjs/redirect-module": "^0.3.1",
|
||||
"@nuxtjs/robots": "^2.5.0",
|
||||
@@ -22,18 +22,14 @@
|
||||
"nuxt-i18n": "^6.27.1",
|
||||
"prism-themes": "^1.7.0",
|
||||
"sass": "^1.35.1",
|
||||
"windicss": "^3.1.4"
|
||||
"windicss": "^3.1.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@nuxt/types": "^2.15.7",
|
||||
"@nuxt/typescript-build": "^2.1.0",
|
||||
"@nuxtjs/color-mode": "^2.0.10",
|
||||
"markdown-it-prism": "^2.1.6",
|
||||
"nuxt-vite": "^0.1.1",
|
||||
"nuxt-windicss": "0.8.3",
|
||||
"sass-loader": "10.1.1",
|
||||
"vite-plugin-components": "^0.12.0",
|
||||
"vite-plugin-md": "^0.6.7",
|
||||
"vite-plugin-windicss": "^1.0.4"
|
||||
"nuxt-windicss": "1.0.3",
|
||||
"sass-loader": "10.1.1"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,5 @@
|
||||
// Modules for dev and build (recommended): https://go.nuxtjs.dev/config-modules
|
||||
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 = {
|
||||
preference: 'system',
|
||||
@@ -37,39 +32,9 @@ 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 [
|
||||
'@nuxt/typescript-build',
|
||||
'@nuxtjs/composition-api/module',
|
||||
['nuxt-windicss', windicss],
|
||||
['@nuxtjs/color-mode', color_mode],
|
||||
//['nuxt-vite', vite]
|
||||
] as NuxtOptionsModule[]
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
|
||||
<script lang="ts">
|
||||
import {defineComponent, useAsync, useContext} from "@nuxtjs/composition-api";
|
||||
import {InfoData} from "../../types/types";
|
||||
import {InfoData} from "~/types/types";
|
||||
|
||||
export default defineComponent({
|
||||
name: "AboutHome",
|
||||
@@ -32,7 +32,7 @@ export default defineComponent({
|
||||
.fetch<InfoData>()
|
||||
.catch((error) => {
|
||||
$sentry.captureEvent(error)
|
||||
})
|
||||
});
|
||||
})
|
||||
|
||||
return {
|
||||
|
||||
@@ -68,7 +68,7 @@
|
||||
|
||||
<script lang="ts">
|
||||
import {computed, defineComponent, ref, useContext} from "@nuxtjs/composition-api";
|
||||
import {Form} from "../../types/types";
|
||||
import {Form} from "~/types/types";
|
||||
|
||||
export default defineComponent({
|
||||
name: "ContactForm",
|
||||
|
||||
@@ -9,7 +9,3 @@ export default {
|
||||
name: "EnvGroup"
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
|
||||
@@ -9,7 +9,3 @@ export default {
|
||||
name: "EnvList"
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
|
||||
@@ -24,7 +24,3 @@ export default {
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
|
||||
@@ -16,7 +16,3 @@ export default {
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
|
||||
@@ -77,6 +77,3 @@ export default defineComponent({
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
</style>
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
|
||||
<script lang="ts">
|
||||
import {defineComponent, useAsync, useContext} from "@nuxtjs/composition-api";
|
||||
import {Experience} from "../../types/types";
|
||||
import {Experience} from "~/types/types";
|
||||
|
||||
export default defineComponent({
|
||||
name: "ExperiencesAbout",
|
||||
@@ -39,7 +39,3 @@ export default defineComponent({
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
|
||||
@@ -71,7 +71,3 @@ export default defineComponent({
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
|
||||
<script lang="ts">
|
||||
import {defineComponent, useAsync, useContext} from "@nuxtjs/composition-api";
|
||||
import {Formation} from "../../types/types";
|
||||
import {Formation} from "~/types/types";
|
||||
|
||||
export default defineComponent({
|
||||
name: "FormationsHome",
|
||||
@@ -39,7 +39,3 @@ export default defineComponent({
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
|
||||
@@ -15,7 +15,3 @@ export default {
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
|
||||
<script lang="ts">
|
||||
import {defineComponent, useAsync, useContext} from "@nuxtjs/composition-api";
|
||||
import {Post} from "../../types/types";
|
||||
import {Post} from "~/types/types";
|
||||
|
||||
export default defineComponent({
|
||||
name: "PostsHome",
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
|
||||
<script lang="ts">
|
||||
import {defineComponent, useAsync, useContext} from "@nuxtjs/composition-api";
|
||||
import {Project} from "../../types/types";
|
||||
import {Project} from "~/types/types";
|
||||
|
||||
export default defineComponent({
|
||||
name: "ProjectsHome",
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
|
||||
<script lang="ts">
|
||||
import {defineComponent, useAsync, useContext} from "@nuxtjs/composition-api";
|
||||
import {Skill} from "../../types/types";
|
||||
import {Skill} from "~/types/types";
|
||||
|
||||
export default defineComponent({
|
||||
name: "SkillsAbout",
|
||||
|
||||
14
src/components/icons/ArrowUpIcon.vue
Normal file
14
src/components/icons/ArrowUpIcon.vue
Normal file
@@ -0,0 +1,14 @@
|
||||
<template>
|
||||
<svg class="inline" width="1em" height="1em" viewBox="0 0 24 24" focusable="false">
|
||||
<path
|
||||
d="M13 18h-2v-8l-3.5 3.5l-1.42-1.42L12 6.16l5.92 5.92l-1.42 1.42L13 10v8M12 2a10 10 0 0 1 10 10a10 10 0 0 1-10 10A10 10 0 0 1 2 12A10 10 0 0 1 12 2m0 2a8 8 0 0 0-8 8a8 8 0 0 0 8 8a8 8 0 0 0 8-8a8 8 0 0 0-8-8z"
|
||||
fill="currentColor"
|
||||
/>
|
||||
</svg>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "ArrowUpIcon"
|
||||
}
|
||||
</script>
|
||||
14
src/components/icons/BackSpaceIcon.vue
Normal file
14
src/components/icons/BackSpaceIcon.vue
Normal file
@@ -0,0 +1,14 @@
|
||||
<template>
|
||||
<svg class="inline" width="1em" height="1em" viewBox="0 0 24 24" fill="false">
|
||||
<path
|
||||
d="M19 15.59L17.59 17L14 13.41L10.41 17L9 15.59L12.59 12L9 8.41L10.41 7L14 10.59L17.59 7L19 8.41L15.41 12L19 15.59M22 3a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H7c-.69 0-1.23-.36-1.59-.89L0 12l5.41-8.12C5.77 3.35 6.31 3 7 3h15m0 2H7l-4.72 7L7 19h15V5z"
|
||||
fill="currentColor"
|
||||
/>
|
||||
</svg>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "BackSpaceIcon"
|
||||
}
|
||||
</script>
|
||||
14
src/components/icons/BookmarkIcon.vue
Normal file
14
src/components/icons/BookmarkIcon.vue
Normal file
@@ -0,0 +1,14 @@
|
||||
<template>
|
||||
<svg class="inline" width="1em" height="1em" viewBox="0 0 24 24" focusable="false">
|
||||
<path
|
||||
d="M17 3H7c-1.1 0-2 .9-2 2v16l7-3l7 3V5c0-1.1-.9-2-2-2zm0 15l-5-2.18L7 18V5h10v13z"
|
||||
fill="currentColor"
|
||||
/>
|
||||
</svg>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "BookmarkIcon"
|
||||
}
|
||||
</script>
|
||||
14
src/components/icons/BundleIcon.vue
Normal file
14
src/components/icons/BundleIcon.vue
Normal file
@@ -0,0 +1,14 @@
|
||||
<template>
|
||||
<svg class="inline" width="1em" height="1em" viewBox="0 0 36 36" focusable="false">
|
||||
<path
|
||||
d="M32.43 8.35l-13-6.21a1 1 0 0 0-.87 0l-15 7.24a1 1 0 0 0-.57.9v16.55a1 1 0 0 0 .6.92l13 6.19a1 1 0 0 0 .87 0l15-7.24a1 1 0 0 0 .57-.9V9.25a1 1 0 0 0-.6-.9zM19 4.15l10.93 5.22l-5.05 2.44l-10.67-5.35zm-2 11.49L6 10.41l5.9-2.85l10.7 5.35zM5 12.13l11 5.27v14.06L5 26.2zm13 19.32V17.36l13-6.29v14.1z"
|
||||
fill="currentColor"
|
||||
/>
|
||||
</svg>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "BundleIcon"
|
||||
}
|
||||
</script>
|
||||
14
src/components/icons/CheckIcon.vue
Normal file
14
src/components/icons/CheckIcon.vue
Normal file
@@ -0,0 +1,14 @@
|
||||
<template>
|
||||
<svg class="inline" width="1em" height="1em" viewBox="0 0 24 24" focusable="false">
|
||||
<path
|
||||
d="M21 7L9 19l-5.5-5.5l1.41-1.41L9 16.17L19.59 5.59L21 7z"
|
||||
fill="currentColor"
|
||||
/>
|
||||
</svg>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "CheckIcon"
|
||||
}
|
||||
</script>
|
||||
14
src/components/icons/CopyIcon.vue
Normal file
14
src/components/icons/CopyIcon.vue
Normal file
@@ -0,0 +1,14 @@
|
||||
<template>
|
||||
<svg class="inline" width="1em" height="1em" viewBox="0 0 24 24" focusable="false">
|
||||
<path
|
||||
d="M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm-1 4H8c-1.1 0-1.99.9-1.99 2L6 21c0 1.1.89 2 1.99 2H19c1.1 0 2-.9 2-2V11l-6-6zM8 21V7h6v5h5v9H8z"
|
||||
fill="currentColor"
|
||||
/>
|
||||
</svg>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "CopyIcon"
|
||||
}
|
||||
</script>
|
||||
14
src/components/icons/ErrorIcon.vue
Normal file
14
src/components/icons/ErrorIcon.vue
Normal file
@@ -0,0 +1,14 @@
|
||||
<template>
|
||||
<svg class="inline" width="1em" height="1em" viewBox="0 0 24 24" focusable="false">
|
||||
<path
|
||||
d="M11 15h2v2h-2v-2zm0-8h2v6h-2V7zm.99-5C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8s8 3.58 8 8s-3.58 8-8 8z"
|
||||
fill="currentColor"
|
||||
/>
|
||||
</svg>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "ErrorIcon"
|
||||
}
|
||||
</script>
|
||||
20
src/components/icons/HeartIcon.vue
Normal file
20
src/components/icons/HeartIcon.vue
Normal file
@@ -0,0 +1,20 @@
|
||||
<template>
|
||||
<svg class="inline" width="1em" height="1em" viewBox="0 0 24 24" focusable="false">
|
||||
<path
|
||||
d="M12.1 18.55l-.1.1l-.11-.1C7.14 14.24 4 11.39 4 8.5C4 6.5 5.5 5 7.5 5c1.54 0 3.04 1 3.57 2.36h1.86C13.46 6 14.96 5 16.5 5c2 0 3.5 1.5 3.5 3.5c0 2.89-3.14 5.74-7.9 10.05M16.5 3c-1.74 0-3.41.81-4.5 2.08C10.91 3.81 9.24 3 7.5 3C4.42 3 2 5.41 2 8.5c0 3.77 3.4 6.86 8.55 11.53L12 21.35l1.45-1.32C18.6 15.36 22 12.27 22 8.5C22 5.41 19.58 3 16.5 3z"
|
||||
:class="liked ? 'fill-heart': 'fill-current'"
|
||||
/>
|
||||
</svg>
|
||||
</template>
|
||||
|
||||
<script lang="ts">
|
||||
export default {
|
||||
name: "HeartIcon",
|
||||
props: {
|
||||
liked: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
14
src/components/icons/LampIcon.vue
Normal file
14
src/components/icons/LampIcon.vue
Normal file
@@ -0,0 +1,14 @@
|
||||
<template>
|
||||
<svg class="inline" width="1em" height="1em" viewBox="0 0 256 256" focusable="false">
|
||||
<path
|
||||
d="M238.25 136.122l-41.142-96A19.979 19.979 0 0 0 178.725 28H77.275a19.978 19.978 0 0 0-18.383 12.122l-41.142 96A20 20 0 0 0 36.132 164H116v40H96a12 12 0 0 0 0 24h64a12 12 0 0 0 0-24h-20v-40h40v20a12 12 0 0 0 24 0v-20h15.868a20 20 0 0 0 18.382-27.878zM42.2 140l37.714-88h96.174l37.714 88z"
|
||||
fill="currentColor"
|
||||
/>
|
||||
</svg>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "LampIcon"
|
||||
}
|
||||
</script>
|
||||
14
src/components/icons/TwitterBlogIcon.vue
Normal file
14
src/components/icons/TwitterBlogIcon.vue
Normal file
@@ -0,0 +1,14 @@
|
||||
<template>
|
||||
<svg class="inline" width="1em" height="1em" viewBox="0 0 24 24" focusable="false">
|
||||
<path
|
||||
d="M15.3 5.55a2.9 2.9 0 0 0-2.9 2.847l-.028 1.575a.6.6 0 0 1-.68.583l-1.561-.212c-2.054-.28-4.022-1.226-5.91-2.799c-.598 3.31.57 5.603 3.383 7.372l1.747 1.098a.6.6 0 0 1 .034.993L7.793 18.17c.947.059 1.846.017 2.592-.131c4.718-.942 7.855-4.492 7.855-10.348c0-.478-1.012-2.141-2.94-2.141zm-4.9 2.81a4.9 4.9 0 0 1 8.385-3.355c.711-.005 1.316.175 2.669-.645c-.335 1.64-.5 2.352-1.214 3.331c0 7.642-4.697 11.358-9.463 12.309c-3.268.652-8.02-.419-9.382-1.841c.694-.054 3.514-.357 5.144-1.55C5.16 15.7-.329 12.47 3.278 3.786c1.693 1.977 3.41 3.323 5.15 4.037c1.158.475 1.442.465 1.973.538z"
|
||||
class="fill-twitter-light dark:fill-twitter-dark"
|
||||
/>
|
||||
</svg>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "TwitterBlogIcon"
|
||||
}
|
||||
</script>
|
||||
@@ -5,8 +5,3 @@
|
||||
<Footer />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -4,9 +4,7 @@
|
||||
<div class="flex flex-col items-center md:mb-20">
|
||||
<div class="flex">
|
||||
<div class="h-16 w-16 mr-4">
|
||||
<svg class="icon inline" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z" />
|
||||
</svg>
|
||||
<ErrorIcon class="w-full h-full"/>
|
||||
</div>
|
||||
<div class="mb-12 lining-nums">
|
||||
<div class="mb-2">
|
||||
@@ -29,11 +27,9 @@
|
||||
</div>
|
||||
<div>
|
||||
<div class="home-btn" @click="next">
|
||||
<div class="w-full py-4 px-8 md:py-8 md:px-16 font-bold hover:bg-red-500 duration-500 rounded">
|
||||
<div class="cursor-pointer w-full py-4 px-4 md:py-4 md:px-4 font-bold hover:bg-indigo-600 duration-500 rounded">
|
||||
<BackSpaceIcon class="arrow-img text-xl"/>
|
||||
{{ $t('error.back') }}
|
||||
<svg class="inline arrow-img" height="32" width="32" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 14l-7 7m0 0l-7-7m7 7V3" />
|
||||
</svg>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -62,13 +58,8 @@ export default defineComponent({
|
||||
|
||||
<style scoped lang="scss">
|
||||
.error {
|
||||
|
||||
.home-btn:hover .arrow-img {
|
||||
transform: translate(3px, 0);
|
||||
}
|
||||
|
||||
.arrow-img {
|
||||
transform: translate(3px, -3px);
|
||||
transform: translate(0, -2px);
|
||||
transition: .4s;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,9 +5,7 @@
|
||||
<div class="mb-4 flex">
|
||||
<nuxt-link to="/blog" class="back-arrow flex">
|
||||
<div class="duration-300 arrow">
|
||||
<svg height="25" width="25" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 19l-7-7m0 0l7-7m-7 7h18" />
|
||||
</svg>
|
||||
<BackSpaceIcon />
|
||||
</div>
|
||||
<div class="ml-2">
|
||||
{{ $t('blog.read.back') }}
|
||||
@@ -53,49 +51,46 @@
|
||||
<div class="flex items-center mb-2 md:mb-0">
|
||||
<div
|
||||
@click="handleLike"
|
||||
class="h-16 end-blog flex flex-row justify-center items-center cursor-pointer duration-300 text-3xl p-3 border-solid border mr-2"
|
||||
class="end-blog flex flex-row justify-center items-center cursor-pointer duration-300 text-lg p-1 border-solid border mr-2"
|
||||
:class="liked ? 'border-red-500 dark:border-red-500 hover:border-gray-400 dark:hover:border-dark-200' : 'border-gray-400 dark:border-dark-200 hover:border-red-500 dark:hover:border-red-500'"
|
||||
>
|
||||
<div class="mr-2 lining-nums">
|
||||
<div class="mr-2 lining-nums leading-3">
|
||||
{{ likes }}
|
||||
</div>
|
||||
<div class="icon-hover inline" :class="liked ? 'animate-bounce ease duration-500':''">❤️</div>
|
||||
<div class="icon-hover inline leading-6" :class="{'heartbeat': liked}">
|
||||
<HeartIcon :liked="liked"/>
|
||||
</div>
|
||||
</div>
|
||||
<a
|
||||
target="_blank"
|
||||
: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="mr-2 end-blog cursor-pointer duration-300 text-2xl p-1 border-solid border border-gray-400 dark:border-dark-200 hover:border-cyan-500 dark:hover:border-cyan-400 flex justify-center items-center"
|
||||
>
|
||||
<TwitterIcon />
|
||||
<TwitterBlogIcon />
|
||||
</a>
|
||||
<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">
|
||||
<svg class="inline icon-hover" width="40" height="40" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 10l7-7m0 0l7 7m-7-7v18" />
|
||||
</svg>
|
||||
<div
|
||||
@click="scrollToTop"
|
||||
class="mr-2 end-blog cursor-pointer duration-300 text-2xl p-1 border-solid border border-gray-400 dark:border-dark-200 hover:border-dark-800 dark:hover:border-white flex justify-center items-center"
|
||||
>
|
||||
<ArrowUpIcon />
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex items-center">
|
||||
<nuxt-link to="/contact"
|
||||
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"
|
||||
<nuxt-link
|
||||
to="/contact"
|
||||
class="mr-2 end-blog cursor-pointer duration-300 text-2xl p-1 border-solid border border-gray-400 dark:border-dark-200 hover:border-dark-800 dark:hover:border-white flex justify-center items-center"
|
||||
>
|
||||
<svg class="inline icon-hover" width="40" height="40" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 5a2 2 0 012-2h10a2 2 0 012 2v16l-7-3.5L5 21V5z" />
|
||||
</svg>
|
||||
<BookmarkIcon />
|
||||
</nuxt-link>
|
||||
<div
|
||||
@click="copyToClipboard"
|
||||
class="h-16 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="nd-blog cursor-pointer duration-300 text-2xl p-1 border-solid border border-gray-400 dark:border-dark-200 hover:border-dark-800 dark:hover:border-white flex justify-center items-center"
|
||||
>
|
||||
<svg class="inline icon-hover" height="40" width="40" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 7v8a2 2 0 002 2h6M8 7V5a2 2 0 012-2h4.586a1 1 0 01.707.293l4.414 4.414a1 1 0 01.293.707V15a2 2 0 01-2 2h-2M8 7H6a2 2 0 00-2 2v10a2 2 0 002 2h8a2 2 0 002-2v-2" />
|
||||
</svg>
|
||||
<CopyIcon />
|
||||
</div>
|
||||
<div v-if="isCopied" class="p-3 relative text-sm flex justify-center items-center text-green-500">
|
||||
<div v-if="isCopied" class="p-2 relative text-sm flex justify-center items-center text-green-500">
|
||||
{{ $t('copied') }}
|
||||
<svg class="inline icon" width="25" height="25" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7" />
|
||||
</svg>
|
||||
<CheckIcon />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -112,7 +107,7 @@ import {
|
||||
useMeta,
|
||||
useRoute, useStatic, watch
|
||||
} from "@nuxtjs/composition-api";
|
||||
import {Post} from "../../../types/types";
|
||||
import {Post} from "~/types/types";
|
||||
|
||||
export default defineComponent({
|
||||
name: "blog",
|
||||
@@ -246,5 +241,21 @@ export default defineComponent({
|
||||
.end-blog:hover .icon-hover {
|
||||
@apply transform scale-105;
|
||||
}
|
||||
|
||||
.heartbeat {
|
||||
animation: 3s ease heartbeat infinite;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes heartbeat {
|
||||
0% {
|
||||
@apply transform scale-100;
|
||||
}
|
||||
50% {
|
||||
@apply transform scale-75;
|
||||
}
|
||||
100% {
|
||||
@apply transform scale-100;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -4,9 +4,7 @@
|
||||
<p class="text-gray-700 dark:text-gray-400 text-xl my-8">{{ $t('env.title.description') }}</p>
|
||||
<EnvGroup>
|
||||
<EnvTitle title="env.title.ide">
|
||||
<svg class="inline icon" height="32" width="32" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 20l4-16m4 4l4 4-4 4M6 16l-4-4 4-4" />
|
||||
</svg>
|
||||
<DevelopmentIcon />
|
||||
</EnvTitle>
|
||||
<EnvList>
|
||||
<EnvListItem title="env.ide.java" content="Intellij Idea Ultimate" link="https://www.jetbrains.com/fr-fr/idea/"/>
|
||||
@@ -21,9 +19,7 @@
|
||||
</EnvGroup>
|
||||
<EnvGroup>
|
||||
<EnvTitle title="env.title.apps">
|
||||
<svg class="inline icon" height="32" width="32" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9.75 17L9 20l-1 1h8l-1-1-.75-3M3 13h18M5 17h14a2 2 0 002-2V5a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z" />
|
||||
</svg>
|
||||
<BundleIcon />
|
||||
</EnvTitle>
|
||||
<EnvList>
|
||||
<EnvListItem title="env.email_client" content="Apple Mail" link="https://apps.apple.com/fr/app/mail/id1108187098"/>
|
||||
@@ -38,9 +34,7 @@
|
||||
</EnvGroup>
|
||||
<EnvGroup>
|
||||
<EnvTitle title="env.title.hosting">
|
||||
<svg class="inline icon" height="32" width="32" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 12h14M5 12a2 2 0 01-2-2V6a2 2 0 012-2h14a2 2 0 012 2v4a2 2 0 01-2 2M5 12a2 2 0 00-2 2v4a2 2 0 002 2h14a2 2 0 002-2v-4a2 2 0 00-2-2m-2-4h.01M17 16h.01" />
|
||||
</svg>
|
||||
<ServerIcon />
|
||||
</EnvTitle>
|
||||
<EnvList>
|
||||
<EnvListItem title="env.hosting.ndd" content="OVH" link="https://ovh.com/"/>
|
||||
@@ -49,9 +43,7 @@
|
||||
</EnvGroup>
|
||||
<EnvGroup>
|
||||
<EnvTitle title="env.title.setup">
|
||||
<svg class="inline icon" height="25" width="25" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9.663 17h4.673M12 3v1m6.364 1.636l-.707.707M21 12h-1M4 12H3m3.343-5.657l-.707-.707m2.828 9.9a5 5 0 117.072 0l-.548.547A3.374 3.374 0 0014 18.469V19a2 2 0 11-4 0v-.531c0-.895-.356-1.754-.988-2.386l-.548-.547z" />
|
||||
</svg>
|
||||
<LampIcon />
|
||||
</EnvTitle>
|
||||
<EnvList>
|
||||
<EnvListItem title="env.setup.desk" content="Ikea"/>
|
||||
@@ -64,7 +56,6 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
export default {
|
||||
name: "env",
|
||||
head() {
|
||||
|
||||
@@ -1,33 +1,100 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"target": "ES2018",
|
||||
"module": "ESNext",
|
||||
"moduleResolution": "Node",
|
||||
"lib": ["ESNext", "ESNext.AsyncIterable", "DOM"],
|
||||
"esModuleInterop": true,
|
||||
"allowJs": true,
|
||||
"sourceMap": true,
|
||||
"strict": true,
|
||||
"noEmit": true,
|
||||
"experimentalDecorators": true,
|
||||
"baseUrl": "./artsite",
|
||||
/* Visit https://aka.ms/tsconfig.json to read more about this file */
|
||||
|
||||
/* ==> Basic Options <== */
|
||||
|
||||
"incremental": true /* Enable incremental compilation */,
|
||||
"target": "ES2018" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */,
|
||||
"module": "ESNext" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */,
|
||||
"lib": [
|
||||
"ESNext",
|
||||
"DOM",
|
||||
"ESNext.AsyncIterable"
|
||||
], /* Specify library files to be included in the compilation. */
|
||||
"allowJs": true, /* Allow javascript files to be compiled. */
|
||||
// "checkJs": true, /* Report errors in .js files. */
|
||||
// "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */
|
||||
"declaration": true /* Generates corresponding '.d.ts' file. */,
|
||||
// "declarationMap": true /* Generates a sourcemap for each corresponding '.d.ts' file. */
|
||||
"sourceMap": true, /* Generates corresponding '.map' file. */
|
||||
// "outFile": "./", /* Concatenate and emit output to single file. */
|
||||
//"outDir": "" /* Redirect output structure to the directory. */,
|
||||
//"rootDir": "", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */
|
||||
// "composite": true, /* Enable project compilation */
|
||||
// "tsBuildInfoFile": "./", /* Specify file to store incremental compilation information */
|
||||
// "removeComments": true, /* Do not emit comments to output. */
|
||||
"noEmit": true, /* Do not emit outputs. */
|
||||
// "importHelpers": true, /* Import emit helpers from 'tslib'. */
|
||||
// "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */
|
||||
// "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */
|
||||
|
||||
/* ==> Strict Type-Checking Options <== */
|
||||
|
||||
"strict": true /* Enable all strict type-checking options. */,
|
||||
"noImplicitAny": false, /* Raise error on expressions and declarations with an implied 'any' type. */
|
||||
// "strictNullChecks": true, /* Enable strict null checks. */
|
||||
// "strictFunctionTypes": true, /* Enable strict checking of function types. */
|
||||
// "strictBindCallApply": true, /* Enable strict 'bind', 'call', and 'apply' methods on functions. */
|
||||
// "strictPropertyInitialization": true, /* Enable strict checking of property initialization in classes. */
|
||||
// "noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */
|
||||
// "alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */
|
||||
|
||||
/* ==> Additional Checks <== */
|
||||
// "noUnusedLocals": true, /* Report errors on unused locals. */
|
||||
// "noUnusedParameters": true, /* Report errors on unused parameters. */
|
||||
// "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */
|
||||
// "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */
|
||||
|
||||
/* ==> Module Resolution Options <== */
|
||||
|
||||
"moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */
|
||||
"baseUrl": ".", /* Base directory to resolve non-absolute module names. */
|
||||
"paths": {
|
||||
"~/*": ["./*"],
|
||||
"@/*": ["./src/*"]
|
||||
},
|
||||
} , /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */
|
||||
// "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */
|
||||
// "typeRoots": [], /* List of folders to include type definitions from. */
|
||||
"types": [
|
||||
"@types/node",
|
||||
"@nuxt/content",
|
||||
"@nuxt/types",
|
||||
"@nuxtjs/axios",
|
||||
"@nuxtjs/sentry",
|
||||
"@nuxtjs/composition-api",
|
||||
"nuxt-i18n"
|
||||
]
|
||||
] /* Type declaration files to be included in compilation. */,
|
||||
// "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */
|
||||
"esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */,
|
||||
// "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */
|
||||
// "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */
|
||||
|
||||
/* ==> Source Map Options <== */
|
||||
|
||||
// "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */
|
||||
// "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */
|
||||
// "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */
|
||||
// "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */
|
||||
|
||||
/* Experimental Options */
|
||||
|
||||
"experimentalDecorators": true /* Enables experimental support for ES7 decorators. */,
|
||||
"emitDecoratorMetadata": true /* Enables experimental support for emitting type metadata for decorators. */,
|
||||
|
||||
/* ==> Advanced Options <== */
|
||||
|
||||
"skipLibCheck": true /* Skip type checking of declaration files. */,
|
||||
"forceConsistentCasingInFileNames": true, /* Disallow inconsistently-cased references to the same file. */
|
||||
"resolveJsonModule": true /* Allows importing modules with a ‘.json’ extension, which is a common practice in node projects */
|
||||
},
|
||||
"include": [
|
||||
"src",
|
||||
"settings",
|
||||
"types"
|
||||
],
|
||||
"exclude": [
|
||||
"node_modules",
|
||||
".nuxt",
|
||||
"dist",
|
||||
"build"
|
||||
]
|
||||
}
|
||||
|
||||
9482
tsconfig.tsbuildinfo
Normal file
9482
tsconfig.tsbuildinfo
Normal file
File diff suppressed because it is too large
Load Diff
@@ -283,7 +283,10 @@ module.exports = defineConfig({
|
||||
fill: theme => ({
|
||||
current: 'currentColor',
|
||||
'adonis-dark': theme('colors.purple.500'),
|
||||
'adonis-light': theme('colors.purple.800')
|
||||
'adonis-light': theme('colors.purple.800'),
|
||||
'twitter-dark': theme('colors.cyan.400'),
|
||||
'twitter-light': theme('colors.cyan.500'),
|
||||
'heart': theme('colors.red.500')
|
||||
}),
|
||||
flex: {
|
||||
1: '1 1 0%',
|
||||
@@ -813,6 +816,6 @@ module.exports = defineConfig({
|
||||
},
|
||||
},
|
||||
plugins: [
|
||||
require('windicss/plugin/typography'),
|
||||
require('windicss/plugin/typography')
|
||||
],
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user