mirror of
https://github.com/ArthurDanjou/artsite.git
synced 2026-01-14 15:54:13 +01:00
Update README.md
This commit is contained in:
201
README.md
201
README.md
@@ -1,73 +1,198 @@
|
||||
<div align="center">
|
||||
|
||||
# [Portfolio 2024](https://arthurdanjou.fr/)
|
||||
# [Arthur Danjou | Portfolio 2024](https://arthurdanjou.fr/)
|
||||
|
||||
🖼 My new portfolio built with `Nuxt`, `Nuxt Content`, `NuxtUI`, `Nuxt Studio`, `NuxtHub`
|
||||

|
||||
|
||||
My professional portfolio built with modern Nuxt.js technologies, showcasing projects, skills, and experience.
|
||||
|
||||
[](https://nuxt.com/)
|
||||
[](https://vuejs.org/)
|
||||
[](https://www.typescriptlang.org/)
|
||||
[](https://tailwindcss.com/)
|
||||
|
||||
</div>
|
||||
|
||||
---
|
||||
## 📋 Table of Contents
|
||||
|
||||
## ⚒️ Tech stack
|
||||
- [Features](#-features)
|
||||
- [Tech Stack](#️-tech-stack)
|
||||
- [Project Structure](#-project-structure)
|
||||
- [Development](#-development)
|
||||
- [Prerequisites](#prerequisites)
|
||||
- [Installation](#installation)
|
||||
- [Configuration](#configuration)
|
||||
- [Running Locally](#running-locally)
|
||||
- [Deployment](#deployment)
|
||||
- [Adding Content](#-adding-content)
|
||||
- [Portfolio Projects](#portfolio-projects)
|
||||
- [Uses Page](#uses-page)
|
||||
- [Integrations](#-integrations)
|
||||
- [License](#-license)
|
||||
- [Contact](#-contact)
|
||||
|
||||
- **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/)
|
||||
## ✨ Features
|
||||
|
||||
- **Responsive Design** - Fully responsive layout that works on all devices
|
||||
- **i18n Support** - Multilanguage content with Nuxt i18n
|
||||
- **Content Management** - Easy content editing with Nuxt Content and Nuxt Studio
|
||||
- **Modern Styling** - Beautiful UI built with Tailwind CSS and SASS
|
||||
- **Performance Optimized** - Fast loading times and SEO optimized
|
||||
- **Analytics** - WakaTime integration to track coding statistics
|
||||
- **Discord Integration** - Real-time Discord status display
|
||||
- **CI/CD** - Automated deployment with NuxtHub
|
||||
|
||||
## ⚒️ Tech Stack
|
||||
|
||||
- **UI Framework** → [Vue.js 3](https://vuejs.org/)
|
||||
- **Framework** → [Nuxt 3](https://nuxt.com/)
|
||||
- **Content Management** → [Nuxt Content](https://content.nuxtjs.org/)
|
||||
- **Design System** → [NuxtUI](https://ui.nuxt.com/)
|
||||
- **CMS & Editing** → [Nuxt Studio](https://nuxt.studio)
|
||||
- **Language** → [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/)
|
||||
- **Internationalization** → [Nuxt i18n](https://i18n.nuxtjs.org/)
|
||||
|
||||
## 🍱 Adding content
|
||||
## 📂 Project Structure
|
||||
|
||||
### Portfolio
|
||||
```
|
||||
├── assets/ # Static assets like global styles
|
||||
├── components/ # Vue components
|
||||
├── content/ # Markdown content for the portfolio
|
||||
│ ├── portfolio/ # Portfolio projects
|
||||
│ └── uses/ # Uses page items
|
||||
├── layouts/ # Page layouts
|
||||
├── pages/ # Application pages
|
||||
├── public/ # Public static files
|
||||
│ └── portfolio/ # Portfolio images
|
||||
├── server/ # Server API routes
|
||||
├── utils/ # Utility functions
|
||||
├── .env.example # Example environment variables
|
||||
├── nuxt.config.ts # Nuxt configuration
|
||||
├── package.json # Dependencies and scripts
|
||||
└── README.md # Project documentation
|
||||
```
|
||||
|
||||
Add a new `.md` file in `/content/portfolio/` and follow the same pattern as the other articles. Add images in `/public/portflio/`.
|
||||
## 🚀 Development
|
||||
|
||||
### Uses
|
||||
### Prerequisites
|
||||
|
||||
Add a new item in `/content/uses`.
|
||||
- [Node.js](https://nodejs.org/) (v16 or later)
|
||||
- [pnpm](https://pnpm.io/) (v7 or later)
|
||||
|
||||
## ⚡ Running locally
|
||||
### Installation
|
||||
|
||||
```bash
|
||||
# Installation (recommended for nuxt3)
|
||||
pnpm i --shamefully-hoist
|
||||
# Clone the repository
|
||||
git clone https://github.com/yourusername/portfolio-2024.git
|
||||
cd portfolio-2024
|
||||
|
||||
# Development server
|
||||
pnpm dev
|
||||
# Install dependencies (with hoisting for Nuxt 3 compatibility)
|
||||
pnpm i --shamefully-hoist
|
||||
```
|
||||
|
||||
Add a `.env` file with the following content:
|
||||
### Configuration
|
||||
|
||||
Create a `.env` file in the root directory with the following variables:
|
||||
|
||||
```env
|
||||
# Wakatime
|
||||
NUXT_WAKATIME_USER_ID=...
|
||||
NUXT_WAKATIME_CODING=...
|
||||
NUXT_WAKATIME_LANGUAGES=...
|
||||
NUXT_WAKATIME_OS=...
|
||||
NUXT_WAKATIME_EDITORS=...
|
||||
# WakaTime Integration
|
||||
NUXT_WAKATIME_USER_ID=your_wakatime_user_id
|
||||
NUXT_WAKATIME_CODING=your_wakatime_coding_endpoint
|
||||
NUXT_WAKATIME_LANGUAGES=your_wakatime_languages_endpoint
|
||||
NUXT_WAKATIME_OS=your_wakatime_os_endpoint
|
||||
NUXT_WAKATIME_EDITORS=your_wakatime_editors_endpoint
|
||||
|
||||
# Nuxt Sitemap
|
||||
NUXT_PUBLIC_SITE_URL=...
|
||||
# SEO
|
||||
NUXT_PUBLIC_SITE_URL=https://your-domain.com
|
||||
|
||||
# Nuxt Hub
|
||||
NUXT_HUB_PROJECT_KEY=...
|
||||
# Nuxt Hub Deployment
|
||||
NUXT_HUB_PROJECT_KEY=your_nuxt_hub_project_key
|
||||
|
||||
# Discord
|
||||
NUXT_DISCORD_ID=...
|
||||
NUXT_DISCORD_TOKEN=...
|
||||
NUXT_DISCORD_USER_ID=...
|
||||
# Discord Integration
|
||||
NUXT_DISCORD_ID=your_discord_app_id
|
||||
NUXT_DISCORD_TOKEN=your_discord_token
|
||||
NUXT_DISCORD_USER_ID=your_discord_user_id
|
||||
|
||||
# Cloud files
|
||||
NUXT_PUBLIC_CLOUD_RESUME=...
|
||||
# Cloud Files
|
||||
NUXT_PUBLIC_CLOUD_RESUME=https://link-to-your-resume.pdf
|
||||
|
||||
# Nuxt I18N
|
||||
NUXT_PUBLIC_I18N_BASE_URL=...
|
||||
# Internationalization
|
||||
NUXT_PUBLIC_I18N_BASE_URL=https://your-domain.com
|
||||
```
|
||||
|
||||
### Running Locally
|
||||
|
||||
```bash
|
||||
# Start development server
|
||||
pnpm dev
|
||||
|
||||
# Build for production
|
||||
pnpm build
|
||||
|
||||
# Preview production build
|
||||
pnpm preview
|
||||
```
|
||||
|
||||
### Deployment
|
||||
|
||||
The portfolio is configured to deploy automatically using NuxtHub. Push changes to your main branch to trigger a deployment.
|
||||
|
||||
## 🍱 Adding Content
|
||||
|
||||
### Portfolio Projects
|
||||
|
||||
1. Create a new `.md` file in the `/content/portfolio/` directory
|
||||
2. Follow the structure of existing projects:
|
||||
|
||||
```md
|
||||
---
|
||||
title: Project Title
|
||||
description: Brief description of the project
|
||||
date: 2023-01-01
|
||||
img: /portfolio/project-image.png
|
||||
tags: [tag1, tag2, tag3]
|
||||
links:
|
||||
website: https://project-url.com
|
||||
github: https://github.com/user/repo
|
||||
---
|
||||
|
||||
## Project content goes here
|
||||
|
||||
Detailed description and information about the project.
|
||||
```
|
||||
|
||||
3. Add related project images to `/public/portfolio/`
|
||||
|
||||
### Uses Page
|
||||
|
||||
Add new items to the `/content/uses/` directory following the existing pattern:
|
||||
|
||||
```md
|
||||
---
|
||||
category: Category Name
|
||||
items:
|
||||
- name: Item Name
|
||||
description: Item description
|
||||
link: https://item-url.com
|
||||
---
|
||||
```
|
||||
|
||||
## 🔌 Integrations
|
||||
|
||||
- **WakaTime** - Track coding time and statistics
|
||||
- **Discord** - Display real-time Discord status
|
||||
- **Nuxt Studio** - Headless CMS for content management
|
||||
- **Nuxt i18n** - Internationalization support
|
||||
|
||||
## 📄 License
|
||||
|
||||
[MIT](./LICENSE) © Arthur Danjou
|
||||
|
||||
## 📬 Contact
|
||||
|
||||
- Website: [arthurdanjou.fr](https://arthurdanjou.fr)
|
||||
- GitHub: [@ArthurDanjou](https://github.com/ArthurDanjou)
|
||||
- LinkedIn: [Arthur Danjou](https://linkedin.com/in/arthurdanjou)
|
||||
Reference in New Issue
Block a user