diff --git a/README.md b/README.md index 4a78429..e2a256e 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ - **Content** → [Nuxt Content](https://content.nuxtjs.org/) - **Design System** → [NuxtUI](https://nuxtui.com/) - **CMS & Editing** → [Nuxt Studio](https://nuxt.studio) -- **Langage** → [Typescript](https://www.typescriptlang.org/) +- **Language** → [Typescript](https://www.typescriptlang.org/) - **Deployment** → [NuxtHub](https://hub.nuxt.com/) - **Styling** → [Sass](https://sass-lang.com/) & [Tailwind CSS](https://tailwindcss.com/) - **Package Manager** → [pnpm](https://pnpm.io/) diff --git a/app/pages/portfolio/[slug].vue b/app/pages/portfolio/[slug].vue index 072f1dd..759a1b9 100644 --- a/app/pages/portfolio/[slug].vue +++ b/app/pages/portfolio/[slug].vue @@ -39,7 +39,10 @@ function getDetails() { const like = likes > 1 ? t('likes.many') : t('likes.one') const view = views > 1 ? t('views.many') : t('views.one') - return `${likes} ${like} · ${views} ${view}` + return { + likes: `${likes} ${like}`, + views: `${views} ${view}`, + } } const likeCookie = useCookie(`post:like:${route.params.slug}`, { @@ -79,20 +82,27 @@ async function handleLike() { icon="i-ph-warning-duotone" variant="outline" /> -

- {{ getDetails() }} -

+
+ +

{{ getDetails().likes }}

· + +

{{ getDetails().views }}

+
-
+

{{ post.title }}

-

- {{ useDateFormat(post.publishedAt, 'DD MMMM YYYY', { locales: currentLocale!.code ?? 'en' }).value }} · - {{ post.readingTime }}min long -

+
+ +

{{ useDateFormat(post.publishedAt, 'DD MMMM YYYY').value }}

· + +

{{ post.readingTime }}min long

+

{{ post.description }} diff --git a/app/pages/portfolio/index.vue b/app/pages/portfolio/index.vue index 971a609..acf0291 100644 --- a/app/pages/portfolio/index.vue +++ b/app/pages/portfolio/index.vue @@ -1,4 +1,6 @@ @@ -52,49 +50,49 @@ function updateTag(index: number) { icon="i-ph-warning-duotone" variant="outline" /> - +

    -
  • -
    -
    -

    - {{ writing.title }} -

    -
    - -

    {{ useDateFormat(writing.publishedAt, 'DD MMMM YYYY').value }}

    · - -

    {{ writing.readingTime }}min long

    -
    +

    + {{ writing.title }} +

    +
    + +

    {{ useDateFormat(writing.publishedAt, 'DD MMMM YYYY').value }}

    · + +

    {{ writing.readingTime }}min long

    {{ writing.description }}

    -
    +
    - {{ tag }} + {{ TAGS.find(color => color.label.toLowerCase() === tag)?.label }}
    - -
  • + +
diff --git a/content/portfolio/arthome.md b/content/portfolio/arthome.md index 6fb7ed5..244f5e6 100644 --- a/content/portfolio/arthome.md +++ b/content/portfolio/arthome.md @@ -7,7 +7,7 @@ readingTime: 1 cover: arthome/cover.png tags: - project - - dev + - web --- [ArtHome](https://home.arthurdanjou.fr) is a personalised page where you can create categories and tabs to have a one page with all your shortcuts on all browsers. diff --git a/content/portfolio/artsite.md b/content/portfolio/artsite.md new file mode 100644 index 0000000..62dccb7 --- /dev/null +++ b/content/portfolio/artsite.md @@ -0,0 +1,25 @@ +--- +slug: artsite +title: ArtSite +description: 🌍 My personal website, my portfolio, and my blog. 🚀 +publishedAt: 2024/06/01 +readingTime: 1 +cover: artsite/cover.png +tags: + - project + - web +--- + +[**ArtSite**](https://arthurdanjou.fr) is my personal website, my portfolio, and my blog. It's a place where I can share my projects, my thoughts, and my experiences. It's also a place where I can experiment with new technologies and design ideas. + +## ⚒️ Tech stack + +- **UI** → [Vue.js](https://vuejs.org/) +- **Framework** → [Nuxt.js](https://nuxtjs.org/) +- **Content** → [Nuxt Content](https://content.nuxtjs.org/) +- **Design System** → [NuxtUI](https://nuxtui.com/) +- **CMS & Editing** → [Nuxt Studio](https://nuxt.studio) +- **Langage** → [Typescript](https://www.typescriptlang.org/) +- **Deployment** → [NuxtHub](https://hub.nuxt.com/) +- **Styling** → [Sass](https://sass-lang.com/) & [Tailwind CSS](https://tailwindcss.com/) +- **Package Manager** → [pnpm](https://pnpm.io/) \ No newline at end of file diff --git a/content/portfolio/how-my-website-works.md b/content/portfolio/how-my-website-works.md index 95f8373..b2ee768 100644 --- a/content/portfolio/how-my-website-works.md +++ b/content/portfolio/how-my-website-works.md @@ -6,7 +6,7 @@ publishedAt: 2024/06/21 readingTime: 5 tags: - article - - dev + - web --- My personal website is an overengineered playground where I tinker, explore new technologies, experiment with tools, break conventional rules, and satisfy my deep curiosity about web software. diff --git a/content/portfolio/studies.md b/content/portfolio/studies.md new file mode 100644 index 0000000..5682cad --- /dev/null +++ b/content/portfolio/studies.md @@ -0,0 +1,45 @@ +--- +slug: studies +title: Studies projects +description: 🎓 Studies projects - a collection of projects done during my studies. +publishedAt: 2023/09/01 +readingTime: 1 +tags: + - project + - data + - python + - r +--- + +[Studies projects](https://github.com/ArthurDanjou/studies) is a collection of mathematics projects done during my studies. It includes projects in _Python_ and in _R_. + +The projects are divided into two main categories: _L3_ and _M1_, corresponding to the third year of the bachelor's degree and the first year of the master's degree in mathematics. + +File structure: +- `L3` + - `Analyse Matricielle` + - `Analyse Multidimensionnelle` + - `Calculs Numériques` + - `Equations Différentielles` + - `Méthodes Numériques` + - `Probabilités` + - `Projet Numérique` + - `Statistiques` +- `M1` + - `Data Analysis` + - `General Linear Models` + - `Monte Carlo Methods` + - `Portfolio Management` + +Made with: +- [Python](https://www.python.org): Python is an interpreted, high-level and general-purpose programming language. +- [R](https://www.r-project.org): R is a programming language and free software environment for statistical computing and graphics. +- [Jupyter](https://jupyter.org): Jupyter is a free, open-source, interactive web tool known as a computational notebook, which researchers can use to combine software code, computational output, explanatory text and multimedia resources in a single document. +- [Pandas](https://pandas.pydata.org): Pandas is a fast, powerful, flexible and easy to use open source data analysis and data manipulation library built on top of the Python programming language. +- [Numpy](https://numpy.org): NumPy is the fundamental package for scientific computing in Python. +- [Scipy](https://www.scipy.org): SciPy is a free and open-source Python library used for scientific and technical computing. +- [Matplotlib](https://matplotlib.org): Matplotlib is a comprehensive library for creating static, animated, and interactive visualizations in Python. +- [RMarkdown](https://rmarkdown.rstudio.com): R Markdown is an authoring framework for data science. You can use a single R Markdown file to save and execute code and generate high-quality reports that can be shared with an audience. +- [FactoMineR](https://factominer.free.fr/): FactoMineR is an R package dedicated to multivariate exploratory data analysis. +- [ggplot2](https://ggplot2.tidyverse.org): ggplot2 is a system for declaratively creating graphics, based on The Grammar of Graphics. +- and my 🧠 diff --git a/content/portfolio/what-is-machine-learning.md b/content/portfolio/what-is-machine-learning.md index fcbcc1a..4da2deb 100644 --- a/content/portfolio/what-is-machine-learning.md +++ b/content/portfolio/what-is-machine-learning.md @@ -6,7 +6,7 @@ readingTime: 3 publishedAt: 2024/11/26 tags: - article - - ML + - ml --- ## Introduction diff --git a/public/portfolio/What is Machine Learning/.gitkeep b/public/portfolio/What is Machine Learning/.gitkeep deleted file mode 100644 index 7e6d78b..0000000 --- a/public/portfolio/What is Machine Learning/.gitkeep +++ /dev/null @@ -1 +0,0 @@ -# This is a placeholder file to keep this folder in your repository. \ No newline at end of file diff --git a/public/portfolio/artsite/cover.png b/public/portfolio/artsite/cover.png new file mode 100644 index 0000000..d982444 Binary files /dev/null and b/public/portfolio/artsite/cover.png differ diff --git a/types.ts b/types.ts index 725eafe..623e947 100644 --- a/types.ts +++ b/types.ts @@ -1,3 +1,5 @@ +import type { BadgeColor } from '#ui/types' + interface WakatimeData { name: string percent: number @@ -45,3 +47,47 @@ export const IDEs = [ { name: 'IntelliJ IDEA Ultimate', icon: 'intellij-idea' }, { name: 'WebStorm', icon: 'webstorm' }, ] + +export interface Tag { + label: string + icon: string + color: BadgeColor +} + +export const TAGS = [ + { + label: 'Article', + icon: 'i-ph-pencil-line-duotone', + color: 'red', + }, + { + label: 'Project', + icon: 'i-ph-briefcase-duotone', + color: 'blue', + }, + { + label: 'R', + icon: 'i-vscode-icons-file-type-r', + color: 'orange', + }, + { + label: 'ML', + icon: 'i-ph-brain-duotone', + color: 'green', + }, + { + label: 'Data', + icon: 'i-ph-database-duotone', + color: 'purple', + }, + { + label: 'Web', + icon: 'i-ph-globe-duotone', + color: 'cyan', + }, + { + label: 'Python', + icon: 'i-vscode-icons-file-type-python', + color: 'amber', + }, +].sort((a, b) => a.label.localeCompare(b.label))