From ebe7b2eae3549691e8c2a5e0cdba5a9b5049d86a Mon Sep 17 00:00:00 2001 From: Arthur DANJOU Date: Sat, 12 Dec 2020 14:32:09 +0100 Subject: [PATCH] Implement nuxt-content --- assets/css/style.scss | 12 + assets/img/skills/Css.png | Bin 0 -> 3502 bytes assets/img/skills/Docker.png | Bin 0 -> 2862 bytes assets/img/skills/ElectronJs.png | Bin 0 -> 3743 bytes assets/img/skills/Git.png | Bin 0 -> 1742 bytes assets/img/skills/GoLang.png | Bin 0 -> 1573 bytes assets/img/skills/Html.png | Bin 0 -> 2966 bytes assets/img/skills/Java.png | Bin 0 -> 2504 bytes assets/img/skills/JavaScript.png | Bin 0 -> 2021 bytes assets/img/skills/MariaDB.png | Bin 0 -> 2167 bytes assets/img/skills/NodeJs.png | Bin 0 -> 2924 bytes assets/img/skills/NuxtJs.png | Bin 0 -> 2643 bytes assets/img/skills/Python.png | Bin 0 -> 4473 bytes assets/img/skills/RabbitMQ.png | Bin 0 -> 1247 bytes assets/img/skills/Redis.png | Bin 0 -> 4532 bytes assets/img/skills/Sass.png | Bin 0 -> 3434 bytes assets/img/skills/TailwindCss.png | Bin 0 -> 2715 bytes assets/img/skills/TypeScript.png | Bin 0 -> 1536 bytes assets/img/skills/VueJs.png | Bin 0 -> 2119 bytes components/Experience.vue | 12 +- components/Footer.vue | 14 +- components/Formation.vue | 4 +- components/Header.vue | 25 +- components/HomeLink.vue | 2 +- components/Post.vue | 21 +- components/Skill.vue | 6 +- components/Work.vue | 6 +- components/WorkSkill.vue | 4 +- config/Content.ts | 4 + config/Ngrok.ts | 7 - config/Translation.ts | 5 +- config/index.ts | 4 +- content/articles/fr/test-1.md | 21 + content/experiences.json | 34 + content/formations.json | 26 + content/infos.json | 7 + content/skills.json | 110 +++ content/tags.json | 11 + content/works.json | 35 + locales/en-US.ts | 178 +++- locales/fr-FR.ts | 226 ++++- nuxt.config.js | 6 +- package.json | 3 +- pages/about.vue | 145 ++- pages/blog/{_id.vue => _slug.vue} | 69 +- pages/blog/index.vue | 186 +++- pages/contact.vue | 47 +- pages/index.vue | 33 +- pages/work/{_id.vue => _slug.vue} | 52 +- pages/work/index.vue | 23 +- store/index.js | 0 tailwind.config.js | 6 +- yarn.lock | 1376 ++++++++++++++++++++--------- 53 files changed, 1970 insertions(+), 750 deletions(-) create mode 100644 assets/img/skills/Css.png create mode 100644 assets/img/skills/Docker.png create mode 100644 assets/img/skills/ElectronJs.png create mode 100644 assets/img/skills/Git.png create mode 100644 assets/img/skills/GoLang.png create mode 100644 assets/img/skills/Html.png create mode 100644 assets/img/skills/Java.png create mode 100644 assets/img/skills/JavaScript.png create mode 100644 assets/img/skills/MariaDB.png create mode 100644 assets/img/skills/NodeJs.png create mode 100644 assets/img/skills/NuxtJs.png create mode 100644 assets/img/skills/Python.png create mode 100644 assets/img/skills/RabbitMQ.png create mode 100644 assets/img/skills/Redis.png create mode 100644 assets/img/skills/Sass.png create mode 100644 assets/img/skills/TailwindCss.png create mode 100644 assets/img/skills/TypeScript.png create mode 100644 assets/img/skills/VueJs.png create mode 100644 config/Content.ts delete mode 100644 config/Ngrok.ts create mode 100644 content/articles/fr/test-1.md create mode 100644 content/experiences.json create mode 100644 content/formations.json create mode 100644 content/infos.json create mode 100644 content/skills.json create mode 100644 content/tags.json create mode 100644 content/works.json rename pages/blog/{_id.vue => _slug.vue} (73%) rename pages/work/{_id.vue => _slug.vue} (65%) create mode 100644 store/index.js diff --git a/assets/css/style.scss b/assets/css/style.scss index 50bf7f3..6fdfcdd 100644 --- a/assets/css/style.scss +++ b/assets/css/style.scss @@ -11,3 +11,15 @@ img, svg { @apply select-none outline-none; } +.nuxt-content { + + h1, h2, h3, h4, h5, h6 { + @apply text-black dark:text-white + } + + p { + @apply text-gray-900 dark:text-gray-900; + } + +} + diff --git a/assets/img/skills/Css.png b/assets/img/skills/Css.png new file mode 100644 index 0000000000000000000000000000000000000000..daff86583eadf19dabf9cac683946a933c15fd2a GIT binary patch literal 3502 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 M07*qoM6N<$g57Ovp#T5? literal 0 HcmV?d00001 diff --git a/assets/img/skills/ElectronJs.png b/assets/img/skills/ElectronJs.png new file mode 100644 index 0000000000000000000000000000000000000000..270da01586cdc0903615bc98fc17f085cea889b2 GIT binary patch literal 3743 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 JPDHLkV1mc)!{Gn` literal 0 HcmV?d00001 diff --git a/assets/img/skills/Git.png b/assets/img/skills/Git.png new file mode 100644 index 0000000000000000000000000000000000000000..748591fca0d32bc4a6144f27e727a5fef95f9756 GIT binary patch literal 1742 zcmV;<1~K`GP)XIjE_h;TRktd- zLC<8($Y|I`xYPyolA5sSC@? z3FzsZ`gZ84QK1nd~YbG@*|atdo&GRj-hTA8m^#b-tF1%K1X*D zTa~Z6gq>aJkn_HUZ$Zpw)m1puf&c&j32;bRa{vGf6951U69E94oEQKA1oKHmK~#90 z<(o}t9Ay~C|IfRd55a&bja3qe%{G;Ku*zlc^qQizmT?2Q7H;X#BY7 z&6}p+MZwGNHXb~wAlY3D0jZ?B8?=qYTCh-Y4av^qVQ0)_v%53zydT->|F-Wu^E}W0 zmv=rg^A7Mo7ac^=wKGo~N~Z^}0(b~O8o(W9Ud$9q@7wOhI)G|!Zc-3m2QbjSjhQcJ z3Z)A+`>_hZH(y2TuijC%Ay@+t$9y205Uc=@F(1el1mggbm=9zFf>8h}<^!3AAWS6& z0N(L7!F)$02N9jG<(ws5J?+bHDsiCe&pJb?G;V_Euu2|NGeP?d_{q(VhJR0gRoZIq zU;@myRq~pe30eW%$jwa-B6Vxsop~)h-p>%U9RfFUbCcVl6CT04cr;)BC>+y|hl3UX z?dErr_df(>0Nu<7Vt5xbeGEbA91vw500`p4T9x zUn*5(AVdPtXC44BP|aoMqk?vtI0D99l|peL^t=peHXo=--u9zMi&tyCg4WK=-j`0{ zHxNctibY)_yUqYZ<^dqZVqmSd;Jg(c+;FqQ;orxXR~j~ELPr1w&F|JFdN4e&<o4q=7y& zAE*TZQ^nHdVCeYrN&~>Bp{TRho|~B%67(~OV&ByH5RfU9E(ieFZoRAPAM=4a%!GEG zxKh5!9v_iS?L&A&R9)v)ba+wOHxjf|&pAEsS29=1w;6m*HZ>6~3SulI@6L{<3Z>}( z4LtrJL24379zgV^DA@}b(e%7`boX*F5-%m%Yr0roW8fRz?dVk9oqZ)LhKSC}=JmYh zNdW-EXg&?*?~^oVNguB-IAh&5)^pAekbJl!fYZl{l~n-%@OgCQYM)IPCt@g`5Fja`^WPYZ^O-=+G6n?h@R5Zw^pSI^k&_ieI3A` zX!SlK`&c_{-v7O;dtfF2t$UVHK>j&FyLo?XukH~D(&}X1AK$P48ia1<{cW9P5&|>7 zCz`m_*2otoYV|S?#CSEf;bw)-6C;D)&E!j$I&CXwvvla;)QHxj%W3oEX9KQ^AUKwz%K3&S5tOURh_ z#sLh< zBv3UEXj&$x`(`PQbeIP;E|jzhL6>4cz|eAe6A(<82Mm5M zpc8^A^MK(GCUihBX&$if#fS<7)8+w7pUowKV8c9M@xw_O2)4`vmOq`11Hq k|3xzJZI@=Ong@V?0B7OVo0ElMU;qFB07*qoM6N<$f~P?s9RL6T literal 0 HcmV?d00001 diff --git a/assets/img/skills/GoLang.png b/assets/img/skills/GoLang.png new file mode 100644 index 0000000000000000000000000000000000000000..0dbf29bb97908d4219d97e0f58bd8bce21de6ca4 GIT binary patch literal 1573 zcmV+=2HN?FP)XIjE_h;TRktd- zLC<8($Y|I`xYPyolA5sSC@? z3FzsZ`gZ84QK1nd~YbG@*|atdo&GRj-hTA8m^#b-tF1%K1X*D zTa~Z6gq>aJkn_HUZ$Zpw)m1puf&c&j32;bRa{vGf6951U69E94oEQKA1WHLnK~#90 z?butaT|*ql@lQ`rTZ*KpOEhSNHsjVdID(XfA}&Rl@Sv{oq7t_Uk%o{UBuJAZ;*wMv zRUW!hsf09?_MwV4acg8z4}ypy5|^UNX+6w7vb($2I{Tcn>&1MNmA%)@e||In|DMZ# z51C9RlgVTW@nE$M&qMVK!F$WXS+jxG*OIRX?Z%3#-9I#81Bcmi2W}R_vlY5MxE;6R$YJR2L_h8n!;ZniJrjVUJP#|d&nQ&x62qe{x`$$^ zw2Vf|)3{|Y2;C1rQC^7`q%}Ai1~5YmpEPt2!a7VFr7k=r1z~4*15lLn@x1N@b`8#v zX3|?YrAxYSn;80gcPlQ+2`F$tQ~=oiDzmi~IM5DzpQ zS&i4RS`6PP$^-EQ_N&l+4EKoP&o;iy!W*hL;+frV+OWMsRb~N~E z>Xut8FKQov@x5aBu(oMBe%c*rzlmX|qTCC|RqC5>RSJeK3l|8irosfQo^Q6qMDhYa03_o=%5jtK8n{pJT8Cx#!o6@W2#7kypP<7f1VVe=4~U^6?U&2hpI zb_19*crptc>CiD7f&{eEfl9Eu)8J5Rb0Sv&aB?Z3l88tncfRM?97 zV%T+4EXsqiQCd19maUxE@;Zn}OMY;uE)|io*OeT}bWHOmdCX>lzGMP*!^DqAZ X`BN%JzoWBT00000NkvXXu0mjfasu#D literal 0 HcmV?d00001 diff --git a/assets/img/skills/Html.png b/assets/img/skills/Html.png new file mode 100644 index 0000000000000000000000000000000000000000..9db02c48315cf201db0b8425fd6ae93fbfe341a6 GIT binary patch literal 2966 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 M07*qoM6N<$g5ynGp8x;= literal 0 HcmV?d00001 diff --git a/assets/img/skills/Java.png b/assets/img/skills/Java.png new file mode 100644 index 0000000000000000000000000000000000000000..2e3aba99be7cb60e59bd006f5c1d4c6a2cc77aad GIT binary patch literal 2504 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 literal 0 HcmV?d00001 diff --git a/assets/img/skills/NodeJs.png b/assets/img/skills/NodeJs.png new file mode 100644 index 0000000000000000000000000000000000000000..83260e8bf97000d3058503a6f40213469ebd140d GIT binary patch literal 2924 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 W-1>}O%Me%q0000XIjE_h;TRktd- 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 JPDHLkV1mmcOf&!h literal 0 HcmV?d00001 diff --git a/assets/img/skills/Redis.png b/assets/img/skills/Redis.png new file mode 100644 index 0000000000000000000000000000000000000000..4850d5e7b4fef2305b56ef8d5ce84d5440e28a72 GIT binary patch literal 4532 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 Srq-wc0000XIjE_h;TRktd- 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 Y_KmjMEA#;>xc4H!8jH8AKIN7CA2;dM5C8xG literal 0 HcmV?d00001 diff --git a/assets/img/skills/VueJs.png b/assets/img/skills/VueJs.png new file mode 100644 index 0000000000000000000000000000000000000000..1ae207449081bd2978605812ebc5da9ce73b2043 GIT binary patch literal 2119 zcmV-N2)Or&P)XIjE_h;TRktd- zLC<8($Y|I`xYPyolA5sSC@? z3FzsZ`gZ84QK1nd~YbG@*|atdo&GRj-hTA8m^#b-tF1%K1X*D zTa~Z6gq>aJkn_HUZ$Zpw)m1puf&c&j32;bRa{vGf6951U69E94oEQKA25d=0K~#90 z?V8zdR8<(jfA`**d%IAev~@ugCBdLXF-nAXShT(z{R50f6MZL53u3IuL9lVdeL5#GKum?_YCmF~K!2S@b+Z>B&~Y4ymfk zPTuJFZc^alKrH;@R$C3ncX0xb!7mP3dui!x+q~(nN7e`eqouR0ZE)M6t8L}u=S{%z z-Ag4tfHoI+9QabA6*M>C1a<`gklfX`IWz{3(t zv9oH4O|`C6hIaNgCziL*%lCa^dHcMfoxO9d{ZFkSc4n=$|B#2mu>u^^%DRC45^KSN zCi`C?nI^ff|Ao9?@9TeoWZKS_>kuq#vXec+ellY`VrJwAqx9dvEfS0FBp?5L`#G50 z(>JB1vu#oK^OnxGw&b3^DYka}^JQyL$TFjJ&&UV4=GxQ1XA-Oa+y#`pnlK`W13TT&Db^@1R?j&pZ?6xRvd(wSKNJlufqsTjXTf4hn1g^9; zpN7NheL`)tlkr_))@;Ww3{{q}2@#LLRLu{ITTN>Kg+bn8((`xZfw{N>4 ztBumT@_kt-^LGQgCEkMhP2kzLMeDZbIT_nBb^)tL6BsoCM(JMQCW%LPVjO?gM2U(O z{sj|pC&r~}H-%%!OToEklztxAB=PFcnS@g#emTjDQ{&-ZY~N)4s+{&s^`cvQ;Nd)nk6L6aXiAqk~rhxdl3@NxA_wE+_!renQ~>ZVs>iLfK1Lj7 zX&9q5;x`JT^s9i8==ihiacb=c{gF__ng z6BmV+3}X^gR053BUjR=^bmHfX$2+B}pqzI~74aE$(vY4oN^h4cLGcv;umbo~qF{4` zRm3sZpJ6OTQFH=~(tiM}BsztD-S~_;t18K2rBV8TRB4z}Dga;&@U=uCNHpTaj%|yX zb;ACbJ>)CkF{#o>N=iUcw@Tw;__L3FvGHfulKHYFz@WC<{6Egf?*JH(J+eiP)F7Nam2`Yf495@3}64tPYO6Fa*O zZ*q09?+XtbrN5UdyY|7j$$@new6$z0gz$kqPST51=P73f&5}z3? z4{xv{A<7B>SPN{8*yc#K0#8M0Fwz8sH!nr)$t`Kmb-PmvQC9#)=?{RHqqYmYWR(6e zYNL@SAY>`fAECW|M!DT7g|Z~TDE%{VUxX&_4Q)nFxheqQPGD~YcJ=_)SLag7mH?yl zVW2YtQ=Or$vQW+n0C*1gs097Z!1{<{$w?8%wK7_}yDlb^1gWnyFvlqUN%T=2q1+XK zQTk&tl_2HWat|IVkbsa*Kr)a2A)580AQee~QFza! z@dOy9w~;wF$Y!lk`twT1b37^lGXIbK*ND%5Av{frisO=i@K$N$x!$VqS;aYC6#(!k x@GbBSnH#1PkJj$4D_Xm|E

{{ formatDate(begin) }} - {{ formatDate(end) }} | {{location}}

-

{{ $t(title) }} - {{company}}

-

{{ $t(description) }}

+

{{ $t(title) }}

+

{{ company }}

@@ -22,10 +22,6 @@ export default { type: String, default: "Title" }, - description: { - type: String, - default: "Description" - }, company: { type: String, default: "ArtDanjProduction" @@ -45,8 +41,8 @@ export default { }, methods: { formatDate(date) { - const dateFormat = new Date(date) - return date === 'Today' ? 'Today' : this.$t('month_' + dateFormat.getMonth()) + " " + dateFormat.getFullYear() + const dateFormat = date.split('-') + return date === 'Today' ? 'Today' : this.$t('month.' + dateFormat[0]) + " " + dateFormat[1] } } } diff --git a/components/Footer.vue b/components/Footer.vue index b9e695a..129a375 100644 --- a/components/Footer.vue +++ b/components/Footer.vue @@ -3,7 +3,7 @@
-

{{ $t('footer_find_me') }} +

{{ $t('footer.find_me') }}
Twitch logo @@ -16,7 +16,7 @@ Twitter logo Twitter - {{ $t('footer_separator') }} + {{ $t('footer.separator') }} @@ -25,11 +25,11 @@

- {{ $t('footer_links_click') }} + {{ $t('footer.links_click') }}

- {{ $t('footer_credits') }} + {{ $t('footer.credits') }} NuxtJs logo NuxtJs @@ -39,9 +39,9 @@ AdonisJs logo AdonisJs - {{ $t('footer_credits_separator') }} Arthur DANJOU + {{ $t('footer.credits_separator') }} Arthur DANJOU

-

{{ $t('footer_copyrights', { date: date }) }}

+

{{ $t('footer.copyrights', { date: date }) }}

@@ -65,7 +65,7 @@ export default { } .link { - transition-duration: .2s; + @apply duration-300; &:hover { @apply border-b-2 border-opacity-0 dark:border-opacity-0 dark:hover:border-opacity-100 hover:border-opacity-100 border-black dark:border-white border-solid; diff --git a/components/Formation.vue b/components/Formation.vue index f46f555..8cd0bc1 100644 --- a/components/Formation.vue +++ b/components/Formation.vue @@ -41,8 +41,8 @@ export default { }, methods: { formatDate(date) { - const dateFormat = new Date(date) - return date === 'Today' ? 'Today' : this.$t('month_' + dateFormat.getMonth()) + " " + dateFormat.getFullYear() + const dateFormat = date.split('-') + return date === 'Today' ? 'Today' : this.$t('month.' + dateFormat[0]) + " " + dateFormat[1] } } } diff --git a/components/Header.vue b/components/Header.vue index dbc96ca..9e95c4b 100644 --- a/components/Header.vue +++ b/components/Header.vue @@ -3,7 +3,7 @@
- {{ $t('header_title') }} + {{ $t('header.title') }}