diff --git a/.dockerignore b/.dockerignore index 3c3629e..dd87e2d 100755 --- a/.dockerignore +++ b/.dockerignore @@ -1 +1,2 @@ node_modules +build diff --git a/.editorconfig b/.editorconfig old mode 100755 new mode 100644 diff --git a/.npmrc b/.npmrc deleted file mode 100755 index bac7fb0..0000000 --- a/.npmrc +++ /dev/null @@ -1,2 +0,0 @@ -shamefully-hoist=true -ignore-workspace-root-check=true diff --git a/Dockerfile b/Dockerfile index 9e63fe8..c025e9a 100755 --- a/Dockerfile +++ b/Dockerfile @@ -1,18 +1,15 @@ -FROM node:15.8.0-alpine3.10 +FROM node:16-alpine3.11 -RUN mkdir -p /usr/src/artsite -WORKDIR /usr/src/artsite +RUN mkdir -p /usr/src/ares -COPY . /usr/src/artsite +WORKDIR /usr/src/ares -RUN yarn install +COPY . /usr/src/ares + +RUN yarn install --production RUN yarn build -RUN cp .env build - EXPOSE 3333 -COPY . . - CMD ["yarn", "start"] diff --git a/README.md b/README.md index 4d42c48..0659ee2 100755 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# ArtSite 🌍 +# ArΓ¨s 🌍 This is my personnal website. Hosted version : [arthurdanjou.fr](https://arthurdanjou.fr) @@ -13,7 +13,7 @@ Hosted version : [arthurdanjou.fr](https://arthurdanjou.fr) - Automatic working state - Wonderfull Mobile-Header - Multi-Language site -- Connected to ArtApi (my personal api) +- Connected to [Athena](https://github.com/arthurdanjou/athena) (my personal api) ## Tech used βš™ @@ -30,4 +30,4 @@ Hosted version : [arthurdanjou.fr](https://arthurdanjou.fr) ## License πŸ“‘ Copyright Β© 2020 - [@ArthurDanj](https://arthurdanjou.fr) \ -This project is [MIT](https://github.com/ArthurDanjou/artsite/blob/master/License) Licensed. +This project is [MIT](https://github.com/ArthurDanjou/ares/blob/master/License) Licensed. diff --git a/nuxt.config.ts b/nuxt.config.ts index 056f307..4d103bb 100755 --- a/nuxt.config.ts +++ b/nuxt.config.ts @@ -6,6 +6,7 @@ import arch from './settings/Arch' import plugins from './settings/Plugins' import css from './settings/Style' import configs from './settings/RuntimeConfig' +import {NuxtConfig} from "@nuxt/types"; const config = { head, @@ -16,6 +17,6 @@ const config = { css, buildModules, ...configs, -} +} as NuxtConfig export default config diff --git a/package.json b/package.json index e9b858d..91f6393 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "artsite", + "name": "ares", "version": "1.0.0", "private": true, "scripts": { @@ -10,26 +10,27 @@ "dependencies": { "@nuxt/content": "^1.14.0", "@nuxtjs/axios": "^5.13.6", - "@nuxtjs/composition-api": "0.23.4", + "@nuxtjs/composition-api": "^0.27.0", "@nuxtjs/dotenv": "^1.4.1", + "@nuxtjs/i18n": "^7.0.2", + "@nuxtjs/proxy": "^2.1.0", "@nuxtjs/redirect-module": "^0.3.1", "@nuxtjs/robots": "^2.5.0", - "@nuxtjs/sentry": "^5.1.0", + "@nuxtjs/sentry": "^5.1.2", "@nuxtjs/sitemap": "^2.4.0", "@nuxtjs/universal-storage": "^0.5.9", - "core-js": "^3.14.0", - "nuxt": "^2.15.7", - "nuxt-i18n": "^6.27.1", - "prism-themes": "^1.7.0", - "sass": "^1.35.2", - "windicss": "^3.1.3" + "axios": "^0.21.1", + "core-js": "^3.16.2", + "nuxt": "^2.15.8", + "prism-themes": "^1.8.0", + "sass": "^1.38.0" }, "devDependencies": { - "@nuxt/types": "^2.15.7", + "@nuxt/types": "^2.15.8", "@nuxt/typescript-build": "^2.1.0", - "@nuxtjs/color-mode": "^2.0.10", - "markdown-it-prism": "^2.1.6", - "nuxt-windicss": "1.0.3", + "@nuxtjs/color-mode": "^2.1.1", + "markdown-it-prism": "^2.1.8", + "nuxt-windicss": "^1.2.3", "sass-loader": "10.1.1" } } diff --git a/settings/Arch.ts b/settings/Arch.ts index 7f1d3d6..7d6c692 100755 --- a/settings/Arch.ts +++ b/settings/Arch.ts @@ -34,4 +34,15 @@ const buildDir = 'build' const ssr = true -export default { srcDir, dir, build, pageTransition, target, server, buildDir, components, ssr } +const proxy = { + '/api': { + target: 'https://athena.arthurdanjou.fr', + pathRewrite: { "^/api": "" } + } +} + +const router = { + middleware: 'maintenance' +} + +export default { router, srcDir, dir, build, pageTransition, target, server, buildDir, components, ssr, proxy } diff --git a/settings/Build.ts b/settings/Build.ts index ba27e8f..f712d21 100755 --- a/settings/Build.ts +++ b/settings/Build.ts @@ -1,6 +1,15 @@ // Build Configuration: https://go.nuxtjs.dev/config-build export default { babel: { - plugins: [['@babel/plugin-proposal-private-methods', { loose: true }]], + plugins: [ + ['@babel/plugin-proposal-private-methods', { loose: true }] + ], }, + postcss: { + preset: { + features: { + "focus-within-pseudo-class": false + } + } + } } diff --git a/settings/Head.ts b/settings/Head.ts index bcde62a..4abaf6c 100755 --- a/settings/Head.ts +++ b/settings/Head.ts @@ -2,7 +2,7 @@ import {NuxtOptionsHead} from "@nuxt/types/config/head"; const params = { - title: 'artsite', + title: 'arthurdanjou.fr - Web & Software Developer', color: '#00a0ff', image: '/images/memojies/Hey.png', url: 'https://arthurdanjou.fr', diff --git a/settings/Modules.ts b/settings/Modules.ts index 820fe46..ec2e668 100755 --- a/settings/Modules.ts +++ b/settings/Modules.ts @@ -1,8 +1,9 @@ import {NuxtOptionsModule} from "@nuxt/types/config/module"; const axios = { + proxy: true, credentials: true, - baseURL: 'https://api.arthurdanjou.fr' + proxyHeaders: true } const i18n = { @@ -31,7 +32,6 @@ const i18n = { } const content = { - apiPrefix: 'api', nestedProperties: ['skills.slug'], markdown: { prism: { @@ -49,7 +49,7 @@ const content = { const storage = { cookie: { - prefix: 'artsite/', + prefix: 'arthurdanjou.fr/', options: { path: '/' } @@ -71,9 +71,7 @@ const robots = { } const redirect = [ - { from: '/source', to: 'https://github.com/arthurdanjou/artsite' }, - { from: '/twitter', to: 'https://twitter.com/arthurdanj' }, - { from: '/github', to: 'https://github.com/arthurdanjou/' }, + { from: '/source', to: 'https://github.com/arthurdanjou/ares' }, { from: '/shelf', to: '/blog' }, { from: '/posts', to: '/blog' }, { from: '/resume', to: '/cv' } @@ -84,15 +82,12 @@ const env = { } const sentry = { - dsn: process.env.SENTRY_DSN, - config: { - - } + dsn: process.env.SENTRY_DSN } export default [ ['@nuxtjs/axios', axios], - ['nuxt-i18n', i18n], + ['@nuxtjs/i18n', i18n], ['@nuxt/content', content], ['@nuxtjs/universal-storage', storage], ['@nuxtjs/robots', robots], diff --git a/settings/Plugins.ts b/settings/Plugins.ts index c8e40b7..5f9f369 100755 --- a/settings/Plugins.ts +++ b/settings/Plugins.ts @@ -2,8 +2,5 @@ export default [ { src: '~/plugins/i18n.ts' - }, - { - src: '~/plugins/main.ts', } ] diff --git a/settings/RuntimeConfig.ts b/settings/RuntimeConfig.ts index e1e8db5..37dd007 100755 --- a/settings/RuntimeConfig.ts +++ b/settings/RuntimeConfig.ts @@ -1,5 +1,4 @@ const publicRuntimeConfig = { - } const privateRuntimeConfig = { diff --git a/src/assets/css/style.scss b/src/assets/css/style.scss index 0f7711e..9005dde 100755 --- a/src/assets/css/style.scss +++ b/src/assets/css/style.scss @@ -1,4 +1,5 @@ @import url('https://fonts.googleapis.com/css2?family=Raleway:wght@500&display=swap'); +@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@900&display=swap'); .icon { transform: translate(3px, -3px); diff --git a/src/assets/images/logo-header.png b/src/assets/images/logo-header.png deleted file mode 100755 index 0f2ef24..0000000 Binary files a/src/assets/images/logo-header.png and /dev/null differ diff --git a/src/assets/images/maintenance.png b/src/assets/images/maintenance.png new file mode 100644 index 0000000..6c46e5b Binary files /dev/null and b/src/assets/images/maintenance.png differ diff --git a/src/assets/images/photo-rounded.png b/src/assets/images/photo-rounded.png new file mode 100644 index 0000000..14c4e0a Binary files /dev/null and b/src/assets/images/photo-rounded.png differ diff --git a/src/assets/images/posts/post-1.png b/src/assets/images/posts/post-1.png deleted file mode 100755 index 7d6b3c9..0000000 Binary files a/src/assets/images/posts/post-1.png and /dev/null differ diff --git a/src/assets/images/posts/post-2.png b/src/assets/images/posts/post-2.png deleted file mode 100755 index 20faab6..0000000 Binary files a/src/assets/images/posts/post-2.png and /dev/null differ diff --git a/src/assets/images/projects/artapi.png b/src/assets/images/projects/artapi.png deleted file mode 100755 index 563f7fb..0000000 Binary files a/src/assets/images/projects/artapi.png and /dev/null differ diff --git a/src/assets/images/projects/artsite.png b/src/assets/images/projects/artsite.png deleted file mode 100755 index 6500fcd..0000000 Binary files a/src/assets/images/projects/artsite.png and /dev/null differ diff --git a/src/assets/images/projects/erisium.png b/src/assets/images/projects/erisium.png deleted file mode 100755 index 9a01de3..0000000 Binary files a/src/assets/images/projects/erisium.png and /dev/null differ diff --git a/src/assets/images/projects/linkyjs.png b/src/assets/images/projects/linkyjs.png deleted file mode 100755 index 0fa9ae3..0000000 Binary files a/src/assets/images/projects/linkyjs.png and /dev/null differ diff --git a/src/assets/images/skills/AdonisJs.png b/src/assets/images/skills/AdonisJs.png deleted file mode 100755 index a69e42e..0000000 Binary files a/src/assets/images/skills/AdonisJs.png and /dev/null differ diff --git a/src/assets/images/skills/Css.png b/src/assets/images/skills/Css.png deleted file mode 100755 index 9e1dba7..0000000 Binary files a/src/assets/images/skills/Css.png and /dev/null differ diff --git a/src/assets/images/skills/Docker.png b/src/assets/images/skills/Docker.png deleted file mode 100755 index b5e30b5..0000000 Binary files a/src/assets/images/skills/Docker.png and /dev/null differ diff --git a/src/assets/images/skills/ElectronJs.png b/src/assets/images/skills/ElectronJs.png deleted file mode 100755 index 270da01..0000000 Binary files a/src/assets/images/skills/ElectronJs.png and /dev/null differ diff --git a/src/assets/images/skills/Git.png b/src/assets/images/skills/Git.png deleted file mode 100755 index 748591f..0000000 Binary files a/src/assets/images/skills/Git.png and /dev/null differ diff --git a/src/assets/images/skills/GoLang.png b/src/assets/images/skills/GoLang.png deleted file mode 100755 index 0dbf29b..0000000 Binary files a/src/assets/images/skills/GoLang.png and /dev/null differ diff --git a/src/assets/images/skills/Html.png b/src/assets/images/skills/Html.png deleted file mode 100755 index a52784e..0000000 Binary files a/src/assets/images/skills/Html.png and /dev/null differ diff --git a/src/assets/images/skills/Java.png b/src/assets/images/skills/Java.png deleted file mode 100755 index 2e3aba9..0000000 Binary files a/src/assets/images/skills/Java.png and /dev/null differ diff --git a/src/assets/images/skills/JavaScript.png b/src/assets/images/skills/JavaScript.png deleted file mode 100755 index 37b87db..0000000 Binary files a/src/assets/images/skills/JavaScript.png and /dev/null differ diff --git a/src/assets/images/skills/MariaDB.png b/src/assets/images/skills/MariaDB.png deleted file mode 100755 index 092a2d6..0000000 Binary files a/src/assets/images/skills/MariaDB.png and /dev/null differ diff --git a/src/assets/images/skills/NodeJs.png b/src/assets/images/skills/NodeJs.png deleted file mode 100755 index 83260e8..0000000 Binary files a/src/assets/images/skills/NodeJs.png and /dev/null differ diff --git a/src/assets/images/skills/NuxtJs.png b/src/assets/images/skills/NuxtJs.png deleted file mode 100755 index 4a55181..0000000 Binary files a/src/assets/images/skills/NuxtJs.png and /dev/null differ diff --git a/src/assets/images/skills/Python.png b/src/assets/images/skills/Python.png deleted file mode 100755 index 292e2a5..0000000 Binary files a/src/assets/images/skills/Python.png and /dev/null differ diff --git a/src/assets/images/skills/RabbitMQ.png b/src/assets/images/skills/RabbitMQ.png deleted file mode 100755 index e8f8bb3..0000000 Binary files a/src/assets/images/skills/RabbitMQ.png and /dev/null differ diff --git a/src/assets/images/skills/Redis.png b/src/assets/images/skills/Redis.png deleted file mode 100755 index 4850d5e..0000000 Binary files a/src/assets/images/skills/Redis.png and /dev/null differ diff --git a/src/assets/images/skills/Sass.png b/src/assets/images/skills/Sass.png deleted file mode 100755 index 3b768d4..0000000 Binary files a/src/assets/images/skills/Sass.png and /dev/null differ diff --git a/src/assets/images/skills/TailwindCss.png b/src/assets/images/skills/TailwindCss.png deleted file mode 100755 index 570b390..0000000 Binary files a/src/assets/images/skills/TailwindCss.png and /dev/null differ diff --git a/src/assets/images/skills/TypeScript.png b/src/assets/images/skills/TypeScript.png deleted file mode 100755 index b055e7c..0000000 Binary files a/src/assets/images/skills/TypeScript.png and /dev/null differ diff --git a/src/assets/images/skills/Vitejs.png b/src/assets/images/skills/Vitejs.png deleted file mode 100755 index 28a94eb..0000000 Binary files a/src/assets/images/skills/Vitejs.png and /dev/null differ diff --git a/src/assets/images/skills/VueJs.png b/src/assets/images/skills/VueJs.png deleted file mode 100755 index 1ae2074..0000000 Binary files a/src/assets/images/skills/VueJs.png and /dev/null differ diff --git a/src/assets/images/skills/Windicss.png b/src/assets/images/skills/Windicss.png deleted file mode 100755 index 85234b1..0000000 Binary files a/src/assets/images/skills/Windicss.png and /dev/null differ diff --git a/src/components/About.vue b/src/components/About.vue new file mode 100644 index 0000000..59fc6c0 --- /dev/null +++ b/src/components/About.vue @@ -0,0 +1,49 @@ + + + diff --git a/src/components/AboutHome.vue b/src/components/AboutHome.vue deleted file mode 100755 index cc25b6c..0000000 --- a/src/components/AboutHome.vue +++ /dev/null @@ -1,43 +0,0 @@ - - - diff --git a/src/components/AdHome.vue b/src/components/AdHome.vue index f4f30a1..94072c6 100755 --- a/src/components/AdHome.vue +++ b/src/components/AdHome.vue @@ -37,6 +37,6 @@ diff --git a/src/components/Announce.vue b/src/components/Announce.vue new file mode 100644 index 0000000..1f5f5f0 --- /dev/null +++ b/src/components/Announce.vue @@ -0,0 +1,64 @@ + + + diff --git a/src/components/Banner.vue b/src/components/Banner.vue index 0f2834e..a122e78 100755 --- a/src/components/Banner.vue +++ b/src/components/Banner.vue @@ -1,5 +1,5 @@ diff --git a/src/components/ContactForm.vue b/src/components/ContactForm.vue index 0728011..db9841e 100755 --- a/src/components/ContactForm.vue +++ b/src/components/ContactForm.vue @@ -1,9 +1,9 @@ diff --git a/src/components/icons/GlassIcon.vue b/src/components/icons/GlassIcon.vue new file mode 100644 index 0000000..2600680 --- /dev/null +++ b/src/components/icons/GlassIcon.vue @@ -0,0 +1,13 @@ + + + diff --git a/src/components/icons/GoogleIcon.vue b/src/components/icons/GoogleIcon.vue new file mode 100644 index 0000000..656d003 --- /dev/null +++ b/src/components/icons/GoogleIcon.vue @@ -0,0 +1,14 @@ + + + diff --git a/src/components/icons/HeartIcon.vue b/src/components/icons/HeartIcon.vue index d073a92..32da7fa 100644 --- a/src/components/icons/HeartIcon.vue +++ b/src/components/icons/HeartIcon.vue @@ -1,8 +1,14 @@ @@ -18,3 +24,9 @@ export default { } } + + diff --git a/src/components/icons/HomeIcon.vue b/src/components/icons/HomeIcon.vue index ecedc96..35ef348 100644 --- a/src/components/icons/HomeIcon.vue +++ b/src/components/icons/HomeIcon.vue @@ -1,9 +1,14 @@ diff --git a/src/components/icons/LanguageIcon.vue b/src/components/icons/LanguageIcon.vue new file mode 100644 index 0000000..98fcc17 --- /dev/null +++ b/src/components/icons/LanguageIcon.vue @@ -0,0 +1,14 @@ + + + diff --git a/src/components/icons/LightbulbIcon.vue b/src/components/icons/LightbulbIcon.vue index ebb9156..c18bb47 100644 --- a/src/components/icons/LightbulbIcon.vue +++ b/src/components/icons/LightbulbIcon.vue @@ -1,9 +1,15 @@ diff --git a/src/components/icons/MenuIcon.vue b/src/components/icons/MenuIcon.vue new file mode 100644 index 0000000..c929bd6 --- /dev/null +++ b/src/components/icons/MenuIcon.vue @@ -0,0 +1,63 @@ + + + diff --git a/src/components/icons/NetworkIcon.vue b/src/components/icons/NetworkIcon.vue new file mode 100644 index 0000000..17e19b8 --- /dev/null +++ b/src/components/icons/NetworkIcon.vue @@ -0,0 +1,14 @@ + + + diff --git a/src/components/icons/NuxtIcon.vue b/src/components/icons/NuxtIcon.vue index 7ec2329..2f22d31 100644 --- a/src/components/icons/NuxtIcon.vue +++ b/src/components/icons/NuxtIcon.vue @@ -10,7 +10,8 @@ /> + fill="#2f495e" + /> diff --git a/src/components/icons/PolyworkIcon.vue b/src/components/icons/PolyworkIcon.vue new file mode 100644 index 0000000..f1cef1f --- /dev/null +++ b/src/components/icons/PolyworkIcon.vue @@ -0,0 +1,13 @@ + + + diff --git a/src/components/icons/PresentationIcon.vue b/src/components/icons/PresentationIcon.vue index 16823dd..0e5db75 100644 --- a/src/components/icons/PresentationIcon.vue +++ b/src/components/icons/PresentationIcon.vue @@ -1,5 +1,5 @@ + + diff --git a/src/components/icons/TranslateIcon.vue b/src/components/icons/TranslateIcon.vue index a86a3e6..45c6d43 100644 --- a/src/components/icons/TranslateIcon.vue +++ b/src/components/icons/TranslateIcon.vue @@ -1,14 +1,40 @@ + diff --git a/src/components/icons/UserIcon.vue b/src/components/icons/UserIcon.vue index 292ceb0..fe3df1f 100644 --- a/src/components/icons/UserIcon.vue +++ b/src/components/icons/UserIcon.vue @@ -1,9 +1,14 @@ diff --git a/src/content/articles/en/how-i-start.md b/src/content/en/how-i-start.md similarity index 94% rename from src/content/articles/en/how-i-start.md rename to src/content/en/how-i-start.md index 252ee8d..3419056 100755 --- a/src/content/articles/en/how-i-start.md +++ b/src/content/en/how-i-start.md @@ -1,11 +1,5 @@ --- slug: how-i-start -title: How did I start development? -description: How did I start development? What am I capable of mastering? What will my future be? -reading_time: 5 -tags: ["tags.life"] -cover: post-2.png -date: 07-01-2021 --- ## Presentation diff --git a/src/content/articles/en/new-version-new-website.md b/src/content/en/new-version-new-website.md similarity index 92% rename from src/content/articles/en/new-version-new-website.md rename to src/content/en/new-version-new-website.md index 6e9a426..cb0994f 100755 --- a/src/content/articles/en/new-version-new-website.md +++ b/src/content/en/new-version-new-website.md @@ -1,11 +1,5 @@ --- slug: new-version-new-website -title: Opening of the new version of my site! -description: After long months of development, here is version 2 of my site! -reading_time: 2 -tags: ["tags.dev"] -cover: post-1.png -date: 13-12-2020 --- ## Presentation diff --git a/src/content/experiences.json b/src/content/experiences.json deleted file mode 100755 index 426e1ab..0000000 --- a/src/content/experiences.json +++ /dev/null @@ -1,34 +0,0 @@ -[ - { - "slug": "erisium", - "title": "experiences.erisium", - "company": "Erisium", - "location": "Remote", - "begin_date": "02-2019", - "end_date": "11-2020" - }, - { - "slug": "freelance", - "title": "experiences.freelance", - "company": "ArtDanjProduction", - "location": "France", - "begin_date": "09-2015", - "end_date": "Today" - }, - { - "slug": "idemia", - "title": "experiences.idemia", - "company": "Idemia, Courbevoie", - "location": "France", - "begin_date": "06-2019", - "end_date": "06-2019" - }, - { - "slug": "la-salle-a-manger", - "title": "experiences.lsam", - "company": "La Salle Γ  manger, Boulogne Billancourt", - "location": "France", - "begin_date": "04-2018", - "end_date": "04-2018" - } -] diff --git a/src/content/formations.json b/src/content/formations.json deleted file mode 100755 index 211b00a..0000000 --- a/src/content/formations.json +++ /dev/null @@ -1,26 +0,0 @@ -[ - { - "slug": "freelance", - "title": "formations.freelance.title", - "description": "formations.freelance.description", - "location": "Remote", - "begin_date": "04-2015", - "end_date": "Today" - }, - { - "slug": "dnb", - "title": "formations.dnb.title", - "description": "formations.dnb.description", - "location": "France", - "begin_date": "09-2017", - "end_date": "09-2018" - }, - { - "slug": "bac", - "title": "formations.bac.title", - "description": "formations.bac.description", - "location": "France", - "begin_date": "09-2020", - "end_date": "Today" - } -] diff --git a/src/content/articles/fr/how-i-start.md b/src/content/fr/how-i-start.md similarity index 94% rename from src/content/articles/fr/how-i-start.md rename to src/content/fr/how-i-start.md index 8774d73..8938fb8 100755 --- a/src/content/articles/fr/how-i-start.md +++ b/src/content/fr/how-i-start.md @@ -1,11 +1,5 @@ --- slug: how-i-start -title: Comment ai-je commencΓ© le dΓ©veloppement ? -description: Comment ai-je commencΓ© le dΓ©veloppement ? Que suis-je capable de maitriser ? Quel sera mon futur ? -reading_time: 5 -tags: ["tags.life"] -cover: post-2.png -date: 07-01-2021 --- ## PrΓ©sentation diff --git a/src/content/articles/fr/new-version-new-website.md b/src/content/fr/new-version-new-website.md similarity index 92% rename from src/content/articles/fr/new-version-new-website.md rename to src/content/fr/new-version-new-website.md index 86eaa40..efd5308 100755 --- a/src/content/articles/fr/new-version-new-website.md +++ b/src/content/fr/new-version-new-website.md @@ -1,11 +1,5 @@ --- slug: new-version-new-website -title: Ouverture de la nouvelle version de mon site ! -description: AprΓ¨s de long mois de dΓ©veloppement, voici la version 2 de mon site ! -reading_time: 2 -tags: ["tags.dev"] -cover: post-1.png -date: 13-12-2020 --- ## PrΓ©sentation diff --git a/src/content/infos.json b/src/content/infos.json deleted file mode 100755 index f892849..0000000 --- a/src/content/infos.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "age": 18, - "hiring": { - "status": "available", - "color": "green" - } -} diff --git a/src/content/projects.json b/src/content/projects.json deleted file mode 100755 index f75252a..0000000 --- a/src/content/projects.json +++ /dev/null @@ -1,34 +0,0 @@ -[ - { - "slug": "erisium", - "title": "Erisium", - "description": "works.erisium", - "url": "https://erisium.com", - "cover": "erisium.png", - "tags": ["tags.mc"] - }, - { - "slug": "artsite", - "title": "ArtSite", - "description": "works.artsite", - "url": "https://arthurdanjou.fr", - "cover": "artsite.png", - "tags": ["tags.web"] - }, - { - "slug": "artapi", - "title": "ArtApi", - "description": "works.artapi", - "url": "https://api.arthurdanjou.fr", - "cover": "artapi.png", - "tags": ["tags.api"] - }, - { - "slug": "linkyjs", - "title": "LinkyJs", - "description": "works.linkyjs", - "url": "https://github.com/linkyjs/", - "cover": "linkyjs.png", - "tags": ["tags.software", "tags.opensource"] - } -] diff --git a/src/content/skills.json b/src/content/skills.json deleted file mode 100755 index b2e1e0d..0000000 --- a/src/content/skills.json +++ /dev/null @@ -1,122 +0,0 @@ -[ - { - "title": "Java", - "color": "blueGray", - "cover": "Java.png", - "slug": "java" - }, - { - "title": "TypeScript", - "color": "cyan", - "cover": "TypeScript.png", - "slug": "typescript" - }, - { - "title": "JavaScript", - "color": "yellow", - "cover": "JavaScript.png", - "slug": "javascript" - }, - { - "title": "Go", - "color": "cyan", - "cover": "GoLang.png", - "slug": "golang" - }, - { - "title": "NuxtJs", - "color": "emerald", - "cover": "NuxtJs.png", - "slug": "nuxtjs" - }, - { - "title": "VueJs", - "color": "emerald", - "cover": "VueJs.png", - "slug": "vuejs" - }, - { - "title": "AdonisJs", - "color": "purple", - "cover": "AdonisJs.png", - "slug": "adonisjs" - }, - { - "title": "ViteJs", - "color": "amber", - "cover": "Vitejs.png", - "slug": "vitejs" - }, - { - "title": "WindiCss", - "color": "lightBlue", - "cover": "Windicss.png", - "slug": "windicss" - }, - { - "title": "Html", - "color": "orange", - "cover": "Html.png", - "slug": "html" - }, - { - "title": "Css", - "color": "lightBlue", - "cover": "Css.png", - "slug": "css" - }, - { - "title": "NodeJs", - "color": "lime", - "cover": "NodeJs.png", - "slug": "nodejs" - }, - { - "title": "ElectronJs", - "color": "teal", - "cover": "ElectronJs.png", - "slug": "electronjs" - }, - { - "title": "Git", - "color": "orange", - "cover": "Git.png", - "slug": "git" - }, - { - "title": "MariaDB", - "color": "blue", - "cover": "MariaDB.png", - "slug": "mariadb" - }, - { - "title": "RabbitMQ", - "color": "orange", - "cover": "RabbitMQ.png", - "slug": "rabbitmq" - }, - { - "title": "Redis", - "color": "red", - "cover": "Redis.png", - "slug": "redis" - }, - { - "title": "Sass", - "color": "rose", - "cover": "Sass.png", - "slug": "sass" - }, - { - "title": "TailwindCss", - "color": "teal", - "cover": "TailwindCss.png", - "slug": "tailwindcss" - }, - { - "title": "Docker", - "color": "cyan", - "cover": "Docker.png", - "slug": "docker" - } -] diff --git a/src/content/tags.json b/src/content/tags.json deleted file mode 100755 index b2d78fd..0000000 --- a/src/content/tags.json +++ /dev/null @@ -1,11 +0,0 @@ -[ - { - "slug": "tags.dev" - }, - { - "slug": "tags.tech" - }, - { - "slug": "tags.life" - } -] diff --git a/src/layouts/default.vue b/src/layouts/default.vue index c6d688e..04faa94 100755 --- a/src/layouts/default.vue +++ b/src/layouts/default.vue @@ -1,7 +1,54 @@ + + diff --git a/src/layouts/error.vue b/src/layouts/error.vue index 010620d..a01ac63 100755 --- a/src/layouts/error.vue +++ b/src/layouts/error.vue @@ -2,11 +2,11 @@
-
+
-
+

{{ $t('error.error').toUpperCase() }} 404 @@ -25,9 +25,9 @@

-
-
-
+
+
+
{{ $t('error.back') }}
@@ -48,10 +48,11 @@ export default defineComponent({ title: 'Error - Arthur Danjou' }, setup() { - const router = useRouter() - const next = () => router.back() - - return {next} + const $router = useRouter() + const back = () => $router.back() + return { + back + } } }) @@ -59,8 +60,7 @@ export default defineComponent({ diff --git a/src/layouts/maintenance.vue b/src/layouts/maintenance.vue new file mode 100644 index 0000000..324145a --- /dev/null +++ b/src/layouts/maintenance.vue @@ -0,0 +1,9 @@ + + + diff --git a/src/locales/en-EN.ts b/src/locales/en-EN.ts index 749ddbb..0022f26 100755 --- a/src/locales/en-EN.ts +++ b/src/locales/en-EN.ts @@ -1,28 +1,57 @@ -export default { +import axios from "axios"; + +const translations = { header: { + home: 'Home', about: 'About', blog: 'Blog', contact: 'Contact', projects: 'Projects', env: 'Tools', + newsletter: 'Newsletter', + services: 'Services' + }, + + sidebar: { + close: 'Close the menu' }, part: { about: 'About me', blog: 'My blog', - work: 'My work', + projects: 'My projects', contact: 'Contact me', - env: 'My environment' + env: 'My environment', + newsletter: 'My newsletter', + services: 'My services' + }, + + services: { + description: 'Je fourni tout ce dont vous avez besoin pour crΓ©er votre site internet parfait', + 1: { + title: "DΓ©veloppement d'application", + content: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam vulputate quam vel maximus pulvinar. Aliquam vitae risus at sem varius pulvinar. Vivamus pulvinar tortor sit amet condimentum aliquam. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Suspendisse finibus, metus eu dictum aliquet, tellus libero aliquam libero, eu lacinia dui mauris congue dolor. Nunc a lacinia ligula. Mauris bibendum orci eget pretium consequat. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Vivamus porttitor finibus odio.' + }, + 2: { + title: "Installation d'infrastructure", + content: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam vulputate quam vel maximus pulvinar. Aliquam vitae risus at sem varius pulvinar. Vivamus pulvinar tortor sit amet condimentum aliquam. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Suspendisse finibus, metus eu dictum aliquet, tellus libero aliquam libero, eu lacinia dui mauris congue dolor. Nunc a lacinia ligula. Mauris bibendum orci eget pretium consequat. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Vivamus porttitor finibus odio.' + }, + 3: { + title: "Conseil dans l'informatique", + content: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam vulputate quam vel maximus pulvinar. Aliquam vitae risus at sem varius pulvinar. Vivamus pulvinar tortor sit amet condimentum aliquam. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Suspendisse finibus, metus eu dictum aliquet, tellus libero aliquam libero, eu lacinia dui mauris congue dolor. Nunc a lacinia ligula. Mauris bibendum orci eget pretium consequat. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Vivamus porttitor finibus odio.' + }, + 4: { + title: "Revue de vos applications", + content: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam vulputate quam vel maximus pulvinar. Aliquam vitae risus at sem varius pulvinar. Vivamus pulvinar tortor sit amet condimentum aliquam. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Suspendisse finibus, metus eu dictum aliquet, tellus libero aliquam libero, eu lacinia dui mauris congue dolor. Nunc a lacinia ligula. Mauris bibendum orci eget pretium consequat. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Vivamus porttitor finibus odio.' + }, }, footer: { - find_me: 'Find me on :', - separator: 'et by', - links_click: '(Clic it\'s free πŸ”—)', - credits: 'Developed and designed with ❀ using', - credits_separator: 'by', - credits_separator_and: 'and', - copyrights: 'Β© Copyright {date} - All rights reserved' + description: "Web and Software Developer, but also student in Mathematics and Physics πŸŽ“. I live in Paris πŸ‡«πŸ‡·. I love to create more or less useful applications and software πŸ›. I use modern technologies to get the best possible result ✨ I also adore contributing to all types of Open-Source projects πŸ§ͺ", + links: 'Quick links', + credits: 'Developed with', + credits_separator: 'and', + copyrights: 'Β© {date} Arthur Danjou - All rights reserved' }, error: { @@ -45,12 +74,10 @@ export default { main: 'but also', strong: 'student' }, - contact: { - follow: 'You can follow me on', - and: 'and', - spacer: 'or simply by', - contact: 'Contacting', - me: 'me.' + color: { + develop: 'Develop.', + publish: 'Publish.', + improve: 'Improve.' } }, ad: { @@ -76,11 +103,6 @@ export default { tweet: 'I love a new post from @ArthurDanj, check it out here:', no_posts: 'Unfortunately there are no items available yet. Come back later πŸ˜‰', see_more: 'See more articles', - tags: { - search: 'Are you looking for a specific type of article? Test the search by tag 🏷', - back: 'Return to all articles', - current: 'List of articles with the tag \'{tag}\':' - }, pagination: { prev: 'Previous', next: 'Next' @@ -93,6 +115,7 @@ export default { 1: 'I am a young creative developer who loves to tinker and touch everything! I am very interested in new technologies, development and IT.', 2: 'I love sharing my knowledge and helping others through lives on Twitchs, technical articles on my blog, open-source projects or by reviewing community code. As long as I share my passions, I will continue to do this.', 3: 'I am able to quickly learn new technologies to meet the needs of different projects. I often identify the need for new systems or tools to improve workflow efficiency. I am always motivated by a challenge and like to be well organized to produce consistent results.', + 4: 'In parallel with the development, I am a student in Mathematics and Physics in the Paris-Saclay Faculty of Sciences. In addition, I am a big fan of motorcycles.' }, title: { skills: 'Skills', @@ -178,21 +201,29 @@ export default { subject: 'Why are you contacting me?', content: 'Tell me about your project', submit: 'Submit', - error: 'Error in the form!', - success: 'Form successfully sent!' + error: 'Error while sending the form ❌', + success: 'Thank you for your message πŸ˜‰' }, why: { title: 'Why contact me ? πŸ“©', - description: 'Please don\'t hesitate to contact me if you have any questions, think we could work together or if you just want to chat ✌️' - }, - available: { - title: 'Am I available? 🚩', - description: 'This status will be updated in real time to let you know if I am available for projects.', - start: 'I am currently', - end: 'for projects' + description: "Please don't hesitate to contact me if you have any questions, think we could work together or if you just want to chat ✌️" } }, + newsletter: { + description: 'My newsletter provides a behind-the-scenes look into what I\'m working on and writing about. I frequently share some of my favorite articles I\'ve read, as well as anything fascinating about technology.', + title: 'Subscribe to my newsletter', + subtitle: 'Get emails from me about web development, tech, and early access to new articles.', + placeholder: 'elon@tesla.com', + subscribe: 'Subscribe', + error: 'Error during your subscription ❌', + success: 'Thank you for your subscription πŸ˜‰', + count: '{count} subscriber(s)', + infos: 'Your information is only used to receive new emails from me.', + no_spam: 'No spam.', + exist: "The email address is already subscribed πŸ‘" + }, + date: { today: 'Today' }, @@ -214,50 +245,36 @@ export default { 12: 'December', }, - hiring: { - status: { - not_available: 'not available', - available: 'available' - } - }, - - tags: { - life: 'Life', - dev: 'Dev', - tech: 'Tech', - software: 'Software', - web: 'Web', - api: 'API', - mc: 'Minecraft', - opensource: 'Open-Source' - }, - - experiences: { - erisium: 'Junior Developer', - freelance: 'FullStack Software & Web Development', - idemia: 'Discovery of the IT sector & the data-center', - lsam: 'Room cleaning - Waiter - Taking orders - Welcoming customers' - }, - - formations: { - freelance: { - title: 'Self-learning', - description: 'Java, TypeScript, Go, etc...' - }, - dnb: { - title: 'DiplΓ΄me National du Brevet', - description: 'Obtention du Brevet mention TrΓ¨s Bien' - }, - bac: { - title: 'BaccalaurΓ©at', - description: 'General Baccalaureate Physics / Chemistry & Mathematics' - } - }, - works: { - artapi: 'ArtApi is my personal API connected to my various instances', - artsite: 'ArtSite is my personal website creating a single point of contact', + athena: 'Athena is my personal API connected to my various instances', + ares: 'Ares is my personal website creating a single point of contact', erisium: 'Erisium is a french minecraft mini-game server.', linkyjs: 'LinkyJS is my custom and Open-Source url shortener' + }, + + loading: 'Loading...', + + maintenance: { + back_soon: "We'll be back soon...", + title: 'Website under maintenance !', + progress: "To follow the progress: ", + separator: 'or' + } +} + +export default async function () { + let informations = {} + const response = await axios.get('https://athena.arthurdanjou.fr/translations', { + headers: { + authorization: `Bearer ${process.env.API_TOKEN}` + } + }) + response.data.translations.map(({ code, english }: any) => { + informations = { ...informations, [code]: english } + }) + + return { + ...informations, + ...translations } } diff --git a/src/locales/fr-FR.ts b/src/locales/fr-FR.ts index 7528d51..cb60532 100755 --- a/src/locales/fr-FR.ts +++ b/src/locales/fr-FR.ts @@ -1,10 +1,19 @@ -export default { +import axios from "axios"; + +const translations = { header: { + home: 'Accueil', about: 'A Propos', blog: 'Blog', contact: 'Contact', projects: 'Projets', - env: 'Outils' + env: 'Outils', + newsletter: 'Newsletter', + services: 'Services' + }, + + sidebar: { + close: 'Fermer le menu' }, part: { @@ -12,22 +21,42 @@ export default { contact: 'Me contacter', projects: 'Mes projets', blog: 'Mon blog', - env: 'Mon environnement' + env: 'Mon environnement', + newsletter: 'Ma newsletter', + services: 'Mes services' + }, + + services: { + description: 'Je fourni tout ce dont vous avez besoin pour crΓ©er votre site internet parfait', + 1: { + title: "DΓ©veloppement d'application", + content: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam vulputate quam vel maximus pulvinar. Aliquam vitae risus at sem varius pulvinar. Vivamus pulvinar tortor sit amet condimentum aliquam. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Suspendisse finibus, metus eu dictum aliquet, tellus libero aliquam libero, eu lacinia dui mauris congue dolor. Nunc a lacinia ligula. Mauris bibendum orci eget pretium consequat. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Vivamus porttitor finibus odio.' + }, + 2: { + title: "Installation d'infrastructure", + content: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam vulputate quam vel maximus pulvinar. Aliquam vitae risus at sem varius pulvinar. Vivamus pulvinar tortor sit amet condimentum aliquam. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Suspendisse finibus, metus eu dictum aliquet, tellus libero aliquam libero, eu lacinia dui mauris congue dolor. Nunc a lacinia ligula. Mauris bibendum orci eget pretium consequat. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Vivamus porttitor finibus odio.' + }, + 3: { + title: "Conseil dans l'informatique", + content: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam vulputate quam vel maximus pulvinar. Aliquam vitae risus at sem varius pulvinar. Vivamus pulvinar tortor sit amet condimentum aliquam. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Suspendisse finibus, metus eu dictum aliquet, tellus libero aliquam libero, eu lacinia dui mauris congue dolor. Nunc a lacinia ligula. Mauris bibendum orci eget pretium consequat. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Vivamus porttitor finibus odio.' + }, + 4: { + title: "Revue de vos applications", + content: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam vulputate quam vel maximus pulvinar. Aliquam vitae risus at sem varius pulvinar. Vivamus pulvinar tortor sit amet condimentum aliquam. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Suspendisse finibus, metus eu dictum aliquet, tellus libero aliquam libero, eu lacinia dui mauris congue dolor. Nunc a lacinia ligula. Mauris bibendum orci eget pretium consequat. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Vivamus porttitor finibus odio.' + }, }, footer: { - find_me: 'Retrouvez moi sur :', - separator: 'et par', - links_click: '(Clique c\'est gratuit πŸ”—)', - credits: 'DΓ©veloppΓ© et conΓ§u avec ❀ en utilisant', - credits_separator: 'par', - credits_separator_and: 'et', - copyrights: 'Β© Copyright {date} - Tous droits rΓ©servΓ©s' + description: "DΓ©veloppeur Web et Logiciel, mais aussi Γ©tudiant en MathΓ©matiques et Physique πŸŽ“. J'habite Γ  Paris πŸ‡«πŸ‡·. J'adore crΓ©er des applications et des logiciels plus ou moins utiles πŸ›. J'utilise les technologies modernes pour obtenir le meilleur rΓ©sultat possible ✨ J'adore Γ©galement contribuer Γ  tous types de projets Open-Source πŸ§ͺ", + links: 'Liens rapides', + credits: 'DΓ©veloppΓ© avec', + credits_separator: 'et', + copyrights: 'Β© {date} Arthur Danjou - Tous droits rΓ©servΓ©s' }, error: { back: 'Revenir en arriere', - no_page: 'La page demandΓ©e n\'existe pas', + no_page: "La page demandΓ©e n'existe pas", internal: 'Erreur interne', error: 'Erreur' }, @@ -36,7 +65,7 @@ export default { about: { title: 'Qui suis-je ?', about: 'DΓ©couvrir mon profil', - description: 'Je suis un jeune dΓ©veloppeur autodidacte de {age} ans. J\'habite Γ  Paris πŸ‡«πŸ‡·. J\'adore crΓ©er des applications et des logiciels plus ou moins utiles. J\'utilise des technologies modernes pour obtenir le meilleur rΓ©sultat possible ✨', + description: "Je suis un jeune dΓ©veloppeur autodidacte de {age} ans. J'habite Γ  Paris πŸ‡«πŸ‡·. J'adore crΓ©er des applications et des logiciels plus ou moins utiles. J'utilise des technologies modernes pour obtenir le meilleur rΓ©sultat possible ✨", }, banner: { role: 'DΓ©veloppeur Web et Logiciel', @@ -45,12 +74,10 @@ export default { main: 'Mais Γ©galement', strong: 'Γ©tudiant' }, - contact: { - follow: 'Vous pouvez me suivre sur', - and: 'et', - spacer: 'ou tout simplement en me', - contact: 'Contactant', - me: '.' + color: { + develop: 'DΓ©velopper.', + publish: 'Publier.', + improve: 'AmΓ©liorer.' } }, ad: { @@ -69,13 +96,13 @@ export default { latest: 'Derniers articles', read: { back: 'Retour en arriΓ¨re', - thanks: 'Merci d\'avoir lu jusqu\'au bout !', + thanks: "Merci d'avoir lu jusqu'au bout !", time: 'Lecture' }, description: 'Je rΓ©dige des articles concernant ma vie, le dΓ©veloppement et mes passions.', - tweet: 'J\'aime un nouvel article d\'@ArthurDanj, venez le dΓ©couvrir ici :', - no_posts: 'Malheureusement il n\'y a pas encore d\'articles disponibles. Reviens plus tard πŸ˜‰', - see_more: 'Voir plus d\'articles', + tweet: "J'aime un nouvel article d'@ArthurDanj, venez le dΓ©couvrir ici :", + no_posts: "Malheureusement il n'y a pas encore d'articles disponibles. Reviens plus tard πŸ˜‰", + see_more: "Voir plus d'articles", pagination: { prev: 'PrΓ©cΓ©dent', next: 'Suivant' @@ -85,9 +112,10 @@ export default { about: { banner: { hello: 'Bonjour, je suis', - 1: 'Je suis un jeune dΓ©veloppeur crΓ©atif qui aime bricoler et toucher Γ  tout ! Je m\'intΓ©resse beaucoup aux nouvelles technologies, au dΓ©veloppement et Γ  l\'informatique.', - 2: 'J\'adore partager mes connaissances et aider les autres Γ  travers des lives sur Twitchs, des articles techniques sur mon blog, des projets open-sources ou encore en relisant du code de la communautΓ©. Tant que je partage mes passions, je continuerai Γ  faire Γ§a.', - 3: 'Je suis capable d\'apprendre rapidement des nouvelles technologies pour rΓ©pondre aux besoins des diffΓ©rents projets. J\'identifie souvent le besoin de nouveaux systΓ¨mes ou outils pour amΓ©liorer l\'efficacitΓ© du flux de travail. Je suis toujours motivΓ© par un dΓ©fi et j\'aime Γͺtre bien organisΓ© pour produire des rΓ©sultats cohΓ©rents.', + 1: "Je suis un jeune dΓ©veloppeur crΓ©atif qui aime bricoler et toucher Γ  tout ! Je m'intΓ©resse beaucoup aux nouvelles technologies, au dΓ©veloppement et Γ  l'informatique.", + 2: "J'adore partager mes connaissances et aider les autres Γ  travers des lives sur Twitchs, des articles techniques sur mon blog, des projets open-sources ou encore en relisant du code de la communautΓ©. Tant que je partage mes passions, je continuerai Γ  faire Γ§a.", + 3: "Je suis capable d'apprendre rapidement des nouvelles technologies pour rΓ©pondre aux besoins des diffΓ©rents projets. J\'identifie souvent le besoin de nouveaux systΓ¨mes ou outils pour amΓ©liorer l'efficacitΓ© du flux de travail. Je suis toujours motivΓ© par un dΓ©fi et j'aime Γͺtre bien organisΓ© pour produire des rΓ©sultats cohΓ©rents.", + 4: 'En parallΓ¨le du dΓ©veloppement, je suis Γ©tudiant en MathΓ©matiques et en Physique dans la facultΓ© des Sciences Paris-Saclay. De plus, je suis un grand fan de moto.' }, title: { skills: 'CompΓ©tences', @@ -118,7 +146,7 @@ export default { env: { title: { - description: 'Mon environnement de dΓ©veloppement permet de gagner en productivitΓ©. En effet, je m\'organise de la sorte Γ  toujours optimiser mon temps de rΓ©flexion et de dΓ©veloppement. Voici donc une liste de tous mes logiciels que j\'utilise au quotidien et de mon setup.', + description: "Mon environnement de dΓ©veloppement permet de gagner en productivitΓ©. En effet, je m'organise de la sorte Γ  toujours optimiser mon temps de rΓ©flexion et de dΓ©veloppement. Voici donc une liste de tous mes logiciels que j'utilise au quotidien et de mon setup.", ide: 'Editeurs de texte', apps: 'Apps & Logiciels', hosting: 'HΓ©bergement', @@ -131,7 +159,7 @@ export default { db: 'Editeur Bases de donnΓ©es', all: 'All-In-One' }, - police: 'Police d\'Ecriture', + police: "Police d'Ecriture", console: 'Console', wsl_2: 'WSL 2', calendar: 'Calendrier', @@ -142,7 +170,7 @@ export default { web_client: 'Navigateur Web', design_tool: 'CrΓ©ation / Graphisme', communication_tool: 'Outil de Communication', - organisation_tool: 'Outil d\'Organisation', + organisation_tool: "Outil d'Organisation", hosting: { cloud: 'HΓ©bergeur Cloud', ndd: 'Nom de domaine' @@ -157,7 +185,7 @@ export default { projects: { no_project: 'Malheureusement il n\'y a pas encore de projets disponibles. Reviens plus tard πŸ˜‰', - description: 'Voici les diffΓ©rents projets auxquels j\'ai pu participer dans ma vie de dΓ©veloppeur !', + description: "Voici les diffΓ©rents projets auxquels j'ai pu participer dans ma vie de dΓ©veloppeur !", latest: 'Derniers projets', see_more: 'Voir plus de projets' }, @@ -173,23 +201,31 @@ export default { subject: 'Pourquoi me contactez-vous ?', content: 'Racontez moi votre projet', submit: 'Envoyer', - error: 'Erreur dans le formulaire !', - success: 'Formulaire envoyΓ© avec succΓ¨s !' + error: "Erreur lors de l'envoi du formulaire ❌", + success: 'Merci pour votre message πŸ˜‰' }, why: { title: 'Pourquoi me contacter ? πŸ“©', - description: 'N\'hΓ©sitez pas Γ  me contacter si vous avez des questions, pensez que nous pourrions travailler ensemble ou si vous souhaitez simplement discuter ✌️' - }, - available: { - title: 'Suis-je disponible ? 🚩', - description: 'Ce status sera mis Γ  jour en temps rΓ©el pour vous indiquer si je suis disponible pour du travail.', - start: 'Je suis actuellement', - end: 'pour du travail' + description: "N'hΓ©sitez pas Γ  me contacter si vous avez des questions, pensez que nous pourrions travailler ensemble ou si vous souhaitez simplement discuter ✌️" } }, + newsletter: { + description: 'Ma newsletter fournit un aperΓ§u des coulisses de ce sur quoi je travaille et sur quoi j\'Γ©cris. Je partage frΓ©quemment certains de mes articles prΓ©fΓ©rΓ©s que j\'ai lus, ainsi que tout ce qui est fascinant sur la technologie.', + title: 'Abonnez-vous Γ  ma newsletter', + subtitle: "Recevez des e-mails de ma part sur le dΓ©veloppement Web, la technologie et l'accΓ¨s anticipΓ© aux nouveaux articles.", + placeholder: 'elon@tesla.com', + subscribe: "S'abonner", + error: "Erreur lors de votre abonnement ❌", + success: 'Merci pour votre abonnement πŸ˜‰', + count: '{count} abonnΓ©(s)', + infos: 'Vos informations ne sont utilisΓ©es uniquement pour recevoir de nouveaux mails de ma part.', + no_spam: 'Pas de spam.', + exist: "L'adresse email est dΓ©jΓ  abonnΓ©e πŸ‘" + }, + date: { - today: 'Aujourd\'hui' + today: "Aujourd'hui" }, copied: 'CopiΓ©', @@ -209,50 +245,36 @@ export default { 12: 'DΓ©cembre', }, - hiring: { - status: { - not_available: 'non disponible', - available: 'disponible' - } - }, - - tags: { - life: 'Vie', - dev: 'Dev', - tech: 'Tech', - software: 'Logiciel', - web: 'Web', - api: 'API', - mc: 'Minecraft', - opensource: 'Open-Source' - }, - - experiences: { - erisium: 'DΓ©veloppeur Junior', - freelance: 'DΓ©veloppement FullStack Web & Logiciel', - idemia: 'DΓ©couverte du secteur IT & du data-center', - lsam: 'Nettoyage de la salle – Serveur – Prise de commandes – Accueil des clients' - }, - - formations: { - freelance: { - title: 'Auto-apprentissage', - description: 'Java, TypeScript, Go, etc...' - }, - dnb: { - title: 'DiplΓ΄me National du Brevet', - description: 'Obtention du Brevet mention TrΓ¨s Bien' - }, - bac: { - title: 'BaccalaurΓ©at', - description: 'BaccalaurΓ©at GΓ©nΓ©ral Physique/Chimie & MathΓ©matiques' - } - }, - works: { - artapi: 'ArtApi est mon API personnelle connectΓ©e Γ  mes diverses instances.', - artsite: 'ArtSite est mon site personnel crΓ©ant un point de contact unique.', + athena: 'Athena est mon API personnelle connectΓ©e Γ  mes diverses instances.', + ares: 'Ares est mon site personnel crΓ©ant un point de contact unique.', erisium: 'Erisium est un serveur minecraft francophone de mini-jeux.', - linkyjs: 'LinkyJS est mon raccourcisseur d\'url personnalisΓ© et Open-Source' + linkyjs: "LinkyJS est mon raccourcisseur d'url personnalisΓ© et Open-Source." + }, + + loading: 'Chargement...', + + maintenance: { + back_soon: "Nous serons de retour bientΓ΄t...", + title: 'Site en maintenance !', + progress: "Pour suivre l'avancΓ©e : ", + separator: 'ou' + } +} + +export default async function () { + let informations = {} + const response = await axios.get('https://athena.arthurdanjou.fr/translations', { + headers: { + authorization: `Bearer ${process.env.API_TOKEN}` + } + }) + response.data.translations.map(({ code, french }: any) => { + informations = { ...informations, [code]: french } + }) + + return { + ...informations, + ...translations } } diff --git a/src/middlewares/maintenance.ts b/src/middlewares/maintenance.ts new file mode 100644 index 0000000..c3b5392 --- /dev/null +++ b/src/middlewares/maintenance.ts @@ -0,0 +1,19 @@ +import {Context} from "@nuxt/types"; + +export default async function ({redirect, route, $axios}: Context) { + let isMaintenance = true + const response = await $axios.get('/api/maintenance', { + headers: { + 'Authorization': `Bearer ${process.env.API_TOKEN}` + } + }) + if (response.status === 200) { + isMaintenance = response.data.maintenance.active === 1 + } + if(isMaintenance){ + return redirect('/maintenance') + } + if(!isMaintenance && route.path === '/maintenance'){ + return redirect('/') + } +} diff --git a/src/pages/about.vue b/src/pages/about.vue index 88fe498..c7440d6 100755 --- a/src/pages/about.vue +++ b/src/pages/about.vue @@ -1,5 +1,5 @@