commit 5533be613b9188c93789267a32c4321955fff1c8 Author: zervo Date: Mon Dec 8 22:30:09 2025 +0100 Initial commit diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..38536de --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,7 @@ +{ + "recommendations": [ + "bradlc.vscode-tailwindcss", + "vue.volar", + "rvest.vs-code-prettier-eslint" + ] +} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..bf4357a --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,18 @@ +{ + "files.associations": { + "*.css": "tailwindcss" + }, + "editor.quickSuggestions": { + "other": "on", + "comments": "off", + "strings": "on" + }, + "tailwindCSS.classAttributes": [ + "class", + "ui" + ], + "tailwindCSS.experimental.classRegex": [ + ["ui:\\s*{([^)]*)\\s*}", "(?:'|\"|`)([^']*)(?:'|\"|`)"] + ], + "editor.tabSize": 2 +} \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..6d93c8b --- /dev/null +++ b/README.md @@ -0,0 +1,5 @@ +# zervo.dev website + +This repository contains the source code for the zervo.dev website stack. + + diff --git a/frontend/.gitignore b/frontend/.gitignore new file mode 100644 index 0000000..4a7f73a --- /dev/null +++ b/frontend/.gitignore @@ -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 diff --git a/frontend/README.md b/frontend/README.md new file mode 100644 index 0000000..c156fcb --- /dev/null +++ b/frontend/README.md @@ -0,0 +1,5 @@ +# zervo.dev frontend + +This is the frontend code for the zervo.dev website. + +It is built with the Nuxt framework. \ No newline at end of file diff --git a/frontend/app/app.config.ts b/frontend/app/app.config.ts new file mode 100644 index 0000000..23e057f --- /dev/null +++ b/frontend/app/app.config.ts @@ -0,0 +1,13 @@ +export default defineAppConfig({ + ui: { + colors: { + primary: 'indigo', + secondary: 'amber', + neutral: 'slate' + }, + icons: { + light: 'i-line-md-sun-rising-twotone-loop', + dark: 'i-line-md-moon-twotone-alt-loop' + } + } +}) \ No newline at end of file diff --git a/frontend/app/app.vue b/frontend/app/app.vue new file mode 100644 index 0000000..e209d2e --- /dev/null +++ b/frontend/app/app.vue @@ -0,0 +1,15 @@ + diff --git a/frontend/app/assets/css/main.css b/frontend/app/assets/css/main.css new file mode 100644 index 0000000..b572cb7 --- /dev/null +++ b/frontend/app/assets/css/main.css @@ -0,0 +1,8 @@ +@import "tailwindcss"; +@import "@nuxt/ui"; + +@theme { + --font-sans: 'Public Sans', system-ui, sans-serif; + --font-mono: 'JetBrains Mono', monospace; +} + diff --git a/frontend/app/components/AppFooter.vue b/frontend/app/components/AppFooter.vue new file mode 100644 index 0000000..459d9c1 --- /dev/null +++ b/frontend/app/components/AppFooter.vue @@ -0,0 +1,45 @@ + + + \ No newline at end of file diff --git a/frontend/app/components/AppHeader.vue b/frontend/app/components/AppHeader.vue new file mode 100644 index 0000000..c209889 --- /dev/null +++ b/frontend/app/components/AppHeader.vue @@ -0,0 +1,51 @@ + + + \ No newline at end of file diff --git a/frontend/app/error.vue b/frontend/app/error.vue new file mode 100644 index 0000000..6175940 --- /dev/null +++ b/frontend/app/error.vue @@ -0,0 +1,23 @@ + + + \ No newline at end of file diff --git a/frontend/app/layouts/default.vue b/frontend/app/layouts/default.vue new file mode 100644 index 0000000..fd0426e --- /dev/null +++ b/frontend/app/layouts/default.vue @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/frontend/app/pages/about.vue b/frontend/app/pages/about.vue new file mode 100644 index 0000000..18f137a --- /dev/null +++ b/frontend/app/pages/about.vue @@ -0,0 +1,5 @@ + \ No newline at end of file diff --git a/frontend/app/pages/blog/index.vue b/frontend/app/pages/blog/index.vue new file mode 100644 index 0000000..db63e80 --- /dev/null +++ b/frontend/app/pages/blog/index.vue @@ -0,0 +1,5 @@ + \ No newline at end of file diff --git a/frontend/app/pages/index.vue b/frontend/app/pages/index.vue new file mode 100644 index 0000000..52ba0c8 --- /dev/null +++ b/frontend/app/pages/index.vue @@ -0,0 +1,11 @@ + \ No newline at end of file diff --git a/frontend/app/pages/projects/index.vue b/frontend/app/pages/projects/index.vue new file mode 100644 index 0000000..13291e7 --- /dev/null +++ b/frontend/app/pages/projects/index.vue @@ -0,0 +1,5 @@ + \ No newline at end of file diff --git a/frontend/bun.lockb b/frontend/bun.lockb new file mode 100755 index 0000000..e0f62d6 Binary files /dev/null and b/frontend/bun.lockb differ diff --git a/frontend/nuxt.config.ts b/frontend/nuxt.config.ts new file mode 100644 index 0000000..8e791b2 --- /dev/null +++ b/frontend/nuxt.config.ts @@ -0,0 +1,7 @@ +// https://nuxt.com/docs/api/configuration/nuxt-config +export default defineNuxtConfig({ + compatibilityDate: '2025-07-15', + devtools: { enabled: true }, + modules: ['@nuxt/ui', '@nuxt/image'], + css: ['~/assets/css/main.css'] +}) diff --git a/frontend/package.json b/frontend/package.json new file mode 100644 index 0000000..5d5ec46 --- /dev/null +++ b/frontend/package.json @@ -0,0 +1,24 @@ +{ + "name": "zervo-frontend", + "type": "module", + "private": true, + "scripts": { + "build": "nuxt build", + "dev": "nuxt dev", + "generate": "nuxt generate", + "preview": "nuxt preview", + "postinstall": "nuxt prepare" + }, + "dependencies": { + "@nuxt/eslint": "1.11.0", + "@nuxt/image": "2.0.0", + "@nuxt/ui": "4.2.1", + "nuxt": "^4.2.1", + "vue": "^3.5.25", + "vue-router": "^4.6.3" + }, + "trustedDependencies": [ + "@parcel/watcher", + "unrs-resolver" + ] +} diff --git a/frontend/public/favicon.ico b/frontend/public/favicon.ico new file mode 100644 index 0000000..18993ad Binary files /dev/null and b/frontend/public/favicon.ico differ diff --git a/frontend/public/robots.txt b/frontend/public/robots.txt new file mode 100644 index 0000000..0ad279c --- /dev/null +++ b/frontend/public/robots.txt @@ -0,0 +1,2 @@ +User-Agent: * +Disallow: diff --git a/frontend/tsconfig.json b/frontend/tsconfig.json new file mode 100644 index 0000000..307b213 --- /dev/null +++ b/frontend/tsconfig.json @@ -0,0 +1,18 @@ +{ + // https://nuxt.com/docs/guide/concepts/typescript + "files": [], + "references": [ + { + "path": "./.nuxt/tsconfig.app.json" + }, + { + "path": "./.nuxt/tsconfig.server.json" + }, + { + "path": "./.nuxt/tsconfig.shared.json" + }, + { + "path": "./.nuxt/tsconfig.node.json" + } + ] +}