mirror of
https://github.com/ArthurDanjou/artsite.git
synced 2026-02-06 08:43:49 +01:00
Initial commit
This commit is contained in:
24
.gitignore
vendored
Normal file
24
.gitignore
vendored
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
# Nuxt dev/build outputs
|
||||||
|
.output
|
||||||
|
.data
|
||||||
|
.nuxt
|
||||||
|
.nitro
|
||||||
|
.cache
|
||||||
|
dist
|
||||||
|
|
||||||
|
# Node dependencies
|
||||||
|
node_modules
|
||||||
|
|
||||||
|
# Logs
|
||||||
|
logs
|
||||||
|
*.log
|
||||||
|
|
||||||
|
# Misc
|
||||||
|
.DS_Store
|
||||||
|
.fleet
|
||||||
|
.idea
|
||||||
|
|
||||||
|
# Local env files
|
||||||
|
.env
|
||||||
|
.env.*
|
||||||
|
!.env.example
|
||||||
75
README.md
Normal file
75
README.md
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
# Nuxt UI Minimal Starter
|
||||||
|
|
||||||
|
Look at [Nuxt docs](https://nuxt.com/docs/getting-started/introduction) and [Nuxt UI docs](https://ui.nuxt.com) to learn more.
|
||||||
|
|
||||||
|
## Setup
|
||||||
|
|
||||||
|
Make sure to install the dependencies:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# npm
|
||||||
|
npm install
|
||||||
|
|
||||||
|
# pnpm
|
||||||
|
pnpm install
|
||||||
|
|
||||||
|
# yarn
|
||||||
|
yarn install
|
||||||
|
|
||||||
|
# bun
|
||||||
|
bun install
|
||||||
|
```
|
||||||
|
|
||||||
|
## Development Server
|
||||||
|
|
||||||
|
Start the development server on `http://localhost:3000`:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# npm
|
||||||
|
npm run dev
|
||||||
|
|
||||||
|
# pnpm
|
||||||
|
pnpm run dev
|
||||||
|
|
||||||
|
# yarn
|
||||||
|
yarn dev
|
||||||
|
|
||||||
|
# bun
|
||||||
|
bun run dev
|
||||||
|
```
|
||||||
|
|
||||||
|
## Production
|
||||||
|
|
||||||
|
Build the application for production:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# npm
|
||||||
|
npm run build
|
||||||
|
|
||||||
|
# pnpm
|
||||||
|
pnpm run build
|
||||||
|
|
||||||
|
# yarn
|
||||||
|
yarn build
|
||||||
|
|
||||||
|
# bun
|
||||||
|
bun run build
|
||||||
|
```
|
||||||
|
|
||||||
|
Locally preview production build:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# npm
|
||||||
|
npm run preview
|
||||||
|
|
||||||
|
# pnpm
|
||||||
|
pnpm run preview
|
||||||
|
|
||||||
|
# yarn
|
||||||
|
yarn preview
|
||||||
|
|
||||||
|
# bun
|
||||||
|
bun run preview
|
||||||
|
```
|
||||||
|
|
||||||
|
Check out the [deployment documentation](https://nuxt.com/docs/getting-started/deployment) for more information.
|
||||||
6
app.config.ts
Normal file
6
app.config.ts
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
export default defineAppConfig({
|
||||||
|
ui: {
|
||||||
|
primary: 'lime',
|
||||||
|
gray: 'neutral',
|
||||||
|
}
|
||||||
|
})
|
||||||
12
app/app.config.ts
Normal file
12
app/app.config.ts
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
export default defineAppConfig({
|
||||||
|
ui: {
|
||||||
|
gray: 'neutral',
|
||||||
|
primary: 'gray',
|
||||||
|
container: {
|
||||||
|
constrained: 'max-w-3xl',
|
||||||
|
},
|
||||||
|
icons: {
|
||||||
|
dynamic: true,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
41
app/app.vue
Normal file
41
app/app.vue
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
<script setup lang="ts">
|
||||||
|
useSeoMeta({
|
||||||
|
title: 'Arthur Danjou - Maths lover',
|
||||||
|
description: 'A Nuxt template to build your full-stack application on the edge.'
|
||||||
|
})
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<NuxtLoadingIndicator color="#14b8a6" />
|
||||||
|
<UContainer>
|
||||||
|
<AppHeader />
|
||||||
|
<NuxtPage />
|
||||||
|
<AppFooter />
|
||||||
|
</UContainer>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
body {
|
||||||
|
font-family: 'DM Sans', sans-serif;
|
||||||
|
@apply h-full w-full p-0 m-0 text-[#374151] dark:text-[#d1d5db];
|
||||||
|
}
|
||||||
|
|
||||||
|
.sofia {
|
||||||
|
font-family: 'Sofia Sans', sans-serif;
|
||||||
|
}
|
||||||
|
|
||||||
|
.page-enter-active,
|
||||||
|
.page-leave-active {
|
||||||
|
transition: all 0.2s;
|
||||||
|
}
|
||||||
|
|
||||||
|
.page-leave-to {
|
||||||
|
opacity: 0;
|
||||||
|
transform: translateY(-5px);
|
||||||
|
}
|
||||||
|
|
||||||
|
.page-enter-from {
|
||||||
|
opacity: 0;
|
||||||
|
transform: translateY(5px);
|
||||||
|
}
|
||||||
|
</style>
|
||||||
46
app/components/AppFooter.vue
Normal file
46
app/components/AppFooter.vue
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
<script setup lang="ts">
|
||||||
|
const socials = [
|
||||||
|
{
|
||||||
|
icon: 'i-ph-x-logo-bold',
|
||||||
|
label: 'Twitter',
|
||||||
|
link: 'https://twitter.com/ArthurDanj',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
icon: 'i-ph-github-logo-bold',
|
||||||
|
label: 'GitHub',
|
||||||
|
link: 'https://github.com/ArthurDanjou',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
icon: 'i-ph-linkedin-logo-bold',
|
||||||
|
label: 'LinkedIn',
|
||||||
|
link: 'https://www.linkedin.com/in/arthurdanjou/',
|
||||||
|
}
|
||||||
|
]
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<footer class="mb-16">
|
||||||
|
<div class="flex justify-center my-8">
|
||||||
|
<UDivider class="md:w-2/3" size="2xs" type="solid" />
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<h3>Find me on:</h3>
|
||||||
|
<div class="flex gap-4 my-4">
|
||||||
|
<HomeLink
|
||||||
|
v-for="social in socials"
|
||||||
|
:key="social.label"
|
||||||
|
:icon="social.icon"
|
||||||
|
:label="social.label"
|
||||||
|
:href="social.link"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div class="flex gap-2">
|
||||||
|
<h4>Or send me an email:</h4>
|
||||||
|
<HomeLink
|
||||||
|
label="arthurdanjou@outlook.fr"
|
||||||
|
href="mailto:arthurdanjou@outlook.fr"
|
||||||
|
blanked />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
</template>
|
||||||
65
app/components/AppHeader.vue
Normal file
65
app/components/AppHeader.vue
Normal file
@@ -0,0 +1,65 @@
|
|||||||
|
<script setup lang="ts">
|
||||||
|
const colorMode = useColorMode()
|
||||||
|
const isDark = ref(colorMode.value === 'dark')
|
||||||
|
watch(isDark, () => {
|
||||||
|
colorMode.preference = colorMode.value === 'dark' ? 'light' : 'dark'
|
||||||
|
})
|
||||||
|
|
||||||
|
const navs = [
|
||||||
|
{
|
||||||
|
label: 'home',
|
||||||
|
to: '/',
|
||||||
|
icon: 'i-ph-house-bold'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'uses',
|
||||||
|
to: '/uses',
|
||||||
|
icon: 'i-ph-briefcase-bold'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'writings',
|
||||||
|
to: '/writings',
|
||||||
|
icon: 'i-ph-newspaper-bold'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'resume',
|
||||||
|
to: '/resume.pdf',
|
||||||
|
target: '_blank',
|
||||||
|
icon: 'i-ph-person-arms-spread-bold'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<header class="flex justify-between my-8">
|
||||||
|
<div>
|
||||||
|
Logo
|
||||||
|
</div>
|
||||||
|
<div class="flex gap-2 items-center">
|
||||||
|
<div v-for="nav in navs" :key="nav.label">
|
||||||
|
<UTooltip :text="nav.label">
|
||||||
|
<UButton
|
||||||
|
:icon="nav.icon"
|
||||||
|
:to="nav.to"
|
||||||
|
variant="link"
|
||||||
|
color="gray"
|
||||||
|
size="sm"
|
||||||
|
:target="nav.target ? nav.target : '_self'"
|
||||||
|
dynamic
|
||||||
|
/>
|
||||||
|
</UTooltip>
|
||||||
|
</div>
|
||||||
|
<ClientOnly>
|
||||||
|
<UTooltip text="switch theme">
|
||||||
|
<UButton
|
||||||
|
:icon="isDark ? 'i-lucide:moon' : 'i-lucide:sun'"
|
||||||
|
variant="link"
|
||||||
|
color="gray"
|
||||||
|
size="sm"
|
||||||
|
@click="isDark = !isDark"
|
||||||
|
/>
|
||||||
|
</UTooltip>
|
||||||
|
</ClientOnly>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
</template>
|
||||||
17
app/components/content/AIcon.vue
Normal file
17
app/components/content/AIcon.vue
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
<script setup lang="ts">
|
||||||
|
defineProps({
|
||||||
|
icon: {
|
||||||
|
type: String,
|
||||||
|
required: true,
|
||||||
|
}
|
||||||
|
})
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<div class="inline">
|
||||||
|
<UIcon class="mb-1 mr-1" :name="icon" :dynamic="true" />
|
||||||
|
<span class="sofia font-medium">
|
||||||
|
<slot />
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
30
app/components/home/Link.vue
Normal file
30
app/components/home/Link.vue
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
<script setup lang="ts">
|
||||||
|
defineProps({
|
||||||
|
label: {
|
||||||
|
type: String,
|
||||||
|
required: true
|
||||||
|
},
|
||||||
|
href: {
|
||||||
|
type: String,
|
||||||
|
required: true
|
||||||
|
},
|
||||||
|
icon: {
|
||||||
|
type: String,
|
||||||
|
},
|
||||||
|
blanked: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false
|
||||||
|
}
|
||||||
|
})
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<NuxtLink
|
||||||
|
:href="href"
|
||||||
|
:target="blanked ? '_blank' : '_self'"
|
||||||
|
class="sofia border-b border-gray-200 hover:border-black duration-300 dark:border-neutral-800 dark:hover:border-white flex gap-1 items-center pb-.5"
|
||||||
|
>
|
||||||
|
<Icon v-if="icon" :name="icon" size="20"/>
|
||||||
|
<span class="font-bold text-md text-black dark:text-white">{{ label }}</span>
|
||||||
|
</NuxtLink>
|
||||||
|
</template>
|
||||||
5
app/pages/index.vue
Normal file
5
app/pages/index.vue
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
<template>
|
||||||
|
<main class="!max-w-none prose dark:prose-invert mt-12">
|
||||||
|
<ContentDoc path="/" />
|
||||||
|
</main>
|
||||||
|
</template>
|
||||||
13
app/pages/uses.vue
Normal file
13
app/pages/uses.vue
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
<script setup lang="ts">
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<h1>Uses</h1>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
|
||||||
|
</style>
|
||||||
13
app/pages/writings/index.vue
Normal file
13
app/pages/writings/index.vue
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
<script setup lang="ts">
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<h1>Writings</h1>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
|
||||||
|
</style>
|
||||||
19
content/index.md
Normal file
19
content/index.md
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
# Arthur Danjou
|
||||||
|
|
||||||
|
Hey, I'm Arthur Danjou, a mathematics student at the Paris-Saclay Faculty of Science in France.
|
||||||
|
|
||||||
|
With a **deep understanding of emerging technologies**, I'm at the heart of a rapidly expanding field. My background in **mathematics** gives me a head start in understanding the concepts and theories behind these **technologies** and in designing them effectively.
|
||||||
|
|
||||||
|
As a software engineer and mathematics student, my **expertise** covers
|
||||||
|
<AIcon icon="i-logos:typescript-icon">TypeScript</AIcon>,
|
||||||
|
<AIcon icon="i-logos:vue">Vue</AIcon>,
|
||||||
|
<AIcon icon="i-logos:nuxt-icon">Nuxt</AIcon>,
|
||||||
|
<AIcon icon="i-logos:adonisjs-icon">Adonis</AIcon>,
|
||||||
|
<AIcon icon="i-logos:java">Java</AIcon>,
|
||||||
|
<AIcon icon="i-logos:python">Python</AIcon>,
|
||||||
|
<AIcon icon="i-logos:r-lang">R</AIcon>, which enables me to **understand** the different needs of mathematical projects and to propose the best solutions.
|
||||||
|
|
||||||
|
|
||||||
|
I'm **constantly** learning new things, from technology to finance and entrepreneurship. I love **sharing** my knowledge and learning new theorems and technologies. I'm a **curious** person and eager to continue learning and growing throughout my life.
|
||||||
|
|
||||||
|
As well as programming, I enjoy **sport** and **travelling**. My passion, commitment and eagerness to learn and progress are the qualities that enable me to succeed in my **career** and **studies**.
|
||||||
5
content/uses/apple-airpods-pro.json
Normal file
5
content/uses/apple-airpods-pro.json
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"name": "Apple AirPods Pro",
|
||||||
|
"description": "Probably my most used item after my phone and laptop. I use them for everything from listening to music to taking calls. They are super convenient and the sound quality is great.",
|
||||||
|
"category": "hardware"
|
||||||
|
}
|
||||||
5
content/uses/apple-ipad-air.json
Normal file
5
content/uses/apple-ipad-air.json
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"name": "Apple iPad Air",
|
||||||
|
"description": "I use my iPad to read books, watch movies, and browse the web, but also to take notes and write some equations during my math classes.",
|
||||||
|
"category": "hardware"
|
||||||
|
}
|
||||||
5
content/uses/apple-iphone-14-pro.json
Normal file
5
content/uses/apple-iphone-14-pro.json
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"name": "Apple iPhone 14 Pro",
|
||||||
|
"description": "I don't upgrade my phone every year, but when I do, I go for the best. The iPhone 14 Pro is the best phone on the market, and I'm excited to get my hands on it.",
|
||||||
|
"category": "hardware"
|
||||||
|
}
|
||||||
5
content/uses/apple-macbook-pro.json
Normal file
5
content/uses/apple-macbook-pro.json
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"name": "Custom Built Gaming PC",
|
||||||
|
"description": "I have bought a customized computer for the gaming. I have chosen an Intel Core i5-10400F, with 16Go DDR4 and my graphical card is a RTX 2060. I use Windows 11.",
|
||||||
|
"category": "hardware"
|
||||||
|
}
|
||||||
5
content/uses/apple-suite.json
Normal file
5
content/uses/apple-suite.json
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"name": "Apple Suite",
|
||||||
|
"description": "I'm using the Apple Suite including Mail, Calendar, Notes, Music and Reminders for my daily organization.",
|
||||||
|
"category": "software"
|
||||||
|
}
|
||||||
5
content/uses/discord.json
Normal file
5
content/uses/discord.json
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"name": "Discord",
|
||||||
|
"description": "I'm using Discord for chatting and talking with my friends and my customers and discussing with some community members.",
|
||||||
|
"category": "software"
|
||||||
|
}
|
||||||
5
content/uses/gaming-computer.json
Normal file
5
content/uses/gaming-computer.json
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"name": "Apple MacBook Pro 13'",
|
||||||
|
"description": "My main programming computer is a MacBook Pro 13' 2020 with the Apple M1 Chip and 16Go RAM. I use MacOS Sorona.",
|
||||||
|
"category": "hardware"
|
||||||
|
}
|
||||||
5
content/uses/google-chrome.json
Normal file
5
content/uses/google-chrome.json
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"name": "Google Chrome",
|
||||||
|
"description": "I'm using Google Chrome for browsing, the dev tool, and the extension market.",
|
||||||
|
"category": "software"
|
||||||
|
}
|
||||||
5
content/uses/jetbrains-suite.json
Normal file
5
content/uses/jetbrains-suite.json
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"name": "JetBrains Suite (IntelliJ IDEA Ultimate, PyCharm Professional, WebStorm, DataGrip)",
|
||||||
|
"description": "I use JetBrains Suite for development for 7 years. It's the best IDEs for Java, Python, JavaScript, SQL, and more. I used this suite to develop and to create this website.",
|
||||||
|
"category": "IDEs"
|
||||||
|
}
|
||||||
5
content/uses/logitech-g203.json
Normal file
5
content/uses/logitech-g203.json
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"name": "Logitech G203 LightSync Black",
|
||||||
|
"description": "This gaming mouse is designed to be the perfect gaming companion. With a classic design and simple layout, this mouse is perfect for any gamer.",
|
||||||
|
"category": "hardware"
|
||||||
|
}
|
||||||
5
content/uses/notion.json
Normal file
5
content/uses/notion.json
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"name": "Notion",
|
||||||
|
"description": "Notion is my all-in-one note-taking, kanban boards, wikis, and draft notebook.",
|
||||||
|
"category": "software"
|
||||||
|
}
|
||||||
5
content/uses/raycast.json
Normal file
5
content/uses/raycast.json
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"name": "RayCast",
|
||||||
|
"description": "Raycast is my extendable launcher replacing Apple Spotlight. It lets me complete tasks, calculate, share common links, and much more thanks to the extensions.",
|
||||||
|
"category": "software"
|
||||||
|
}
|
||||||
5
content/uses/steelseries-apex-9-tkl.json
Normal file
5
content/uses/steelseries-apex-9-tkl.json
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"name": "SteelSeries Apex 9 TKL",
|
||||||
|
"description": "This TKL keyboard is a great choice for gamers who want a compact keyboard with a lot of features.",
|
||||||
|
"category": "hardware"
|
||||||
|
}
|
||||||
5
content/uses/themes-fonts.json
Normal file
5
content/uses/themes-fonts.json
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"name": "Theme and Font",
|
||||||
|
"description": "My theme is Catppuccin Macchiato, a community-driven pastel theme that aims to be the middle ground between low and high contrast themes. My main fonts are Vercel Geist and JetBrains Mono",
|
||||||
|
"category": "IDEs"
|
||||||
|
}
|
||||||
5
content/uses/warp.json
Normal file
5
content/uses/warp.json
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"name": "Warp",
|
||||||
|
"description": "Warp is a modern, Rust-based terminal reimagined with AI and collaborative tools for better productivity. I'm loving it so far!",
|
||||||
|
"category": "hardware"
|
||||||
|
}
|
||||||
6
eslint.config.mjs
Normal file
6
eslint.config.mjs
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
// @ts-check
|
||||||
|
import withNuxt from './.nuxt/eslint.config.mjs'
|
||||||
|
|
||||||
|
export default withNuxt(
|
||||||
|
// Your custom configs here
|
||||||
|
)
|
||||||
60
nuxt.config.ts
Normal file
60
nuxt.config.ts
Normal file
@@ -0,0 +1,60 @@
|
|||||||
|
// https://nuxt.com/docs/api/configuration/nuxt-config
|
||||||
|
export default defineNuxtConfig({
|
||||||
|
future: { compatibilityVersion: 4 },
|
||||||
|
|
||||||
|
modules: [
|
||||||
|
'@nuxthub/core',
|
||||||
|
'@nuxt/eslint',
|
||||||
|
'@nuxt/ui',
|
||||||
|
'@nuxt/content',
|
||||||
|
'@vueuse/nuxt',
|
||||||
|
"@nuxtjs/google-fonts"
|
||||||
|
],
|
||||||
|
|
||||||
|
hub: {
|
||||||
|
cache: true,
|
||||||
|
},
|
||||||
|
|
||||||
|
app: {
|
||||||
|
pageTransition: { name: "page", mode: "out-in" },
|
||||||
|
},
|
||||||
|
|
||||||
|
content: {
|
||||||
|
highlight: {
|
||||||
|
theme: "github-dark",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
colorMode: {
|
||||||
|
preference: "light",
|
||||||
|
fallback: "light",
|
||||||
|
},
|
||||||
|
|
||||||
|
ui: {
|
||||||
|
icons: ["heroicons", "logos", "ph"],
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
devtools: {
|
||||||
|
enabled: true,
|
||||||
|
timeline: { enabled: true, }
|
||||||
|
},
|
||||||
|
|
||||||
|
eslint: {
|
||||||
|
config: {
|
||||||
|
stylistic: {
|
||||||
|
quotes: 'single',
|
||||||
|
commaDangle: 'never'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
googleFonts: {
|
||||||
|
display: "swap",
|
||||||
|
families: {
|
||||||
|
Inter: [400, 500, 600, 700, 800, 900],
|
||||||
|
'Sofia Sans': [400],
|
||||||
|
'DM Sans': [400, 500, 600, 700, 800, 900],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
34
package.json
Normal file
34
package.json
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
{
|
||||||
|
"name": "artsite",
|
||||||
|
"private": true,
|
||||||
|
"packageManager": "pnpm@9.4.0",
|
||||||
|
"scripts": {
|
||||||
|
"build": "nuxt build",
|
||||||
|
"dev": "nuxt dev --host",
|
||||||
|
"generate": "nuxt generate",
|
||||||
|
"preview": "nuxt preview",
|
||||||
|
"postinstall": "nuxt prepare",
|
||||||
|
"lint": "eslint ."
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@iconify/json": "^2.2.221",
|
||||||
|
"@nuxt/content": "^2.13.0",
|
||||||
|
"@nuxt/eslint": "^0.3.13",
|
||||||
|
"@nuxt/ui": "^2.17.0",
|
||||||
|
"@nuxthub/core": "^0.6.17",
|
||||||
|
"@nuxtjs/google-fonts": "^3.2.0",
|
||||||
|
"nuxt": "^3.12.2"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@nuxt/devtools": "latest",
|
||||||
|
"@nuxt/eslint-config": "^0.3.13",
|
||||||
|
"@nuxt/ui": "^2.17.0",
|
||||||
|
"@types/node": "^20.14.6",
|
||||||
|
"@vueuse/core": "^10.11.0",
|
||||||
|
"@vueuse/nuxt": "^10.11.0",
|
||||||
|
"eslint": "^9.5.0",
|
||||||
|
"typescript": "^5.5.2",
|
||||||
|
"vue-tsc": "^2.0.21",
|
||||||
|
"wrangler": "^3.61.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
12275
pnpm-lock.yaml
generated
Normal file
12275
pnpm-lock.yaml
generated
Normal file
File diff suppressed because it is too large
Load Diff
BIN
public/favicon.ico
Normal file
BIN
public/favicon.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 4.2 KiB |
4364
public/resume.pdf
Normal file
4364
public/resume.pdf
Normal file
File diff suppressed because it is too large
Load Diff
3
server/tsconfig.json
Normal file
3
server/tsconfig.json
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"extends": "../.nuxt/tsconfig.server.json"
|
||||||
|
}
|
||||||
20
tailwind.config.ts
Normal file
20
tailwind.config.ts
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
import type { Config } from "tailwindcss"
|
||||||
|
import typography from "@tailwindcss/typography"
|
||||||
|
|
||||||
|
export default <Partial<Config>>{
|
||||||
|
content: [
|
||||||
|
'./components/**/*.{vue,js,ts}',
|
||||||
|
'./layouts/**/*.vue',
|
||||||
|
'./pages/**/*.vue',
|
||||||
|
'./composables/**/*.{js,ts}',
|
||||||
|
'./plugins/**/*.{js,ts}',
|
||||||
|
'./utils/**/*.{js,ts}',
|
||||||
|
'./App.{js,ts,vue}',
|
||||||
|
'./app.{js,ts,vue}',
|
||||||
|
'./Error.{js,ts,vue}',
|
||||||
|
'./error.{js,ts,vue}',
|
||||||
|
'./app.config.{js,ts}',
|
||||||
|
'content/**/*.md'
|
||||||
|
],
|
||||||
|
plugins: [typography],
|
||||||
|
}
|
||||||
4
tsconfig.json
Normal file
4
tsconfig.json
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
// https://nuxt.com/docs/guide/concepts/typescript
|
||||||
|
"extends": "./.nuxt/tsconfig.json"
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user