diff --git a/.gitignore b/.gitignore index 4a7f73a..2432ddc 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,6 @@ logs .env .env.* !.env.example + +# Local settings +.vscode/ diff --git a/.woodpecker/build.yml b/.woodpecker/build.yml new file mode 100644 index 0000000..869988e --- /dev/null +++ b/.woodpecker/build.yml @@ -0,0 +1,23 @@ +steps: + - name: build + image: node:alpine + commands: + - npm install -g pnpm + - pnpm install + - pnpm build --prerender + when: + - event: push + - event: pull_request + + - name: publish + image: debian:12 + commands: + - apt update -y && apt install -y rsync openssh-client + - printf "Host *\n StrictHostKeyChecking no" >> /etc/ssh/ssh_config + - ssh-agent bash -c "ssh-add <(echo '$KEY' | base64 -d) && rsync --archive --verbose --compress --hard-links --delete-during --partial --progress ./.output/public/ root@gorb.app:/var/www/gorb.app" + environment: + KEY: + from_secret: ssh_key + when: + - branch: main + event: push diff --git a/app.vue b/app.vue index e9d3b90..d3a08ab 100644 --- a/app.vue +++ b/app.vue @@ -1,14 +1,9 @@ \ No newline at end of file diff --git a/components/Footer.vue b/components/Footer.vue new file mode 100644 index 0000000..8084402 --- /dev/null +++ b/components/Footer.vue @@ -0,0 +1,77 @@ + + + + + diff --git a/components/Header.vue b/components/Header.vue new file mode 100644 index 0000000..940ac03 --- /dev/null +++ b/components/Header.vue @@ -0,0 +1,47 @@ + + + + + diff --git a/nuxt.config.ts b/nuxt.config.ts index c27a274..ca82a71 100644 --- a/nuxt.config.ts +++ b/nuxt.config.ts @@ -2,5 +2,28 @@ export default defineNuxtConfig({ compatibilityDate: '2024-11-01', devtools: { enabled: true }, - modules: ['@nuxt/fonts', '@nuxt/image'] + modules: ['@nuxt/fonts', '@nuxt/image'], + css: [ + '@/public/variables.css', + '@/public/global.css' + ], + app: { + head: { + title: 'Gorb - Open-Source Chat Platform', + // this is purely used to embed in that other chat app, and similar stuff + meta: [ + { property: 'og:title', content: 'Gorb - Open-Source Chat Platform' }, + { property: 'og:description', content: 'Gorb is an open-source (and eventually federated) chat platform where you\'ll be able to join and chat in servers, chat privately in DMs, and more.' }, + { property: 'og:image', content: '//public/beaver_1.jpg' }, + { property: 'og:url', content: 'https://gorb.app' }, + { property: 'og:type', content: 'website' }, + { property: 'og:site_name', content: 'Gorb' }, + { property: 'theme-color', content: "#df5f0b" } + ], + link: [ + { rel: "canonical", href: "https://gorb.app" }, + { rel: "icon", href: "//public/beaver_2.png", type: "image/png" } + ] + } + } }) \ No newline at end of file diff --git a/pages/index.vue b/pages/index.vue index 5d53c22..f1da95c 100644 --- a/pages/index.vue +++ b/pages/index.vue @@ -1,20 +1,21 @@ \ No newline at end of file diff --git a/public/.well-known/gorb.txt b/public/.well-known/gorb.txt new file mode 100644 index 0000000..4c97686 --- /dev/null +++ b/public/.well-known/gorb.txt @@ -0,0 +1 @@ +ApiBaseUrl: https://api.gorb.app \ No newline at end of file diff --git a/public/beaver_1.jpg b/public/beaver_1.jpg new file mode 100644 index 0000000..637735c Binary files /dev/null and b/public/beaver_1.jpg differ diff --git a/public/beaver_2.png b/public/beaver_2.png new file mode 100644 index 0000000..76a6e40 Binary files /dev/null and b/public/beaver_2.png differ diff --git a/public/global.css b/public/global.css new file mode 100644 index 0000000..faf4c7c --- /dev/null +++ b/public/global.css @@ -0,0 +1,6 @@ +.pansexual-gradient { + background: linear-gradient(to right, #FE218C, #FED84E, #1CB3F7); + background-clip: text; + -webkit-text-fill-color: transparent; + -webkit-background-clip: text; +} \ No newline at end of file diff --git a/public/variables.css b/public/variables.css new file mode 100644 index 0000000..62aff2d --- /dev/null +++ b/public/variables.css @@ -0,0 +1,31 @@ +/* this file may want to be moved to a /styles folder, or /assets folder, or smth */ +:root { + --text-colour: #141210; + --background-colour: #f4ebe0; + --background-secondary-colour: #efe4db; + + --primary-colour: #f97635; + --secondary-colour: #cab39b; + --tertiary-colour: #e8ac84; + --accent-colour: #ed7a41; +} + +@media (prefers-color-scheme: dark) { + :root { + --text-colour: #efedec; + --background-colour: #201d19; + --background-secondary-colour: #1d1915; + + --primary-colour: #f97635; + --secondary-colour: #b35618; + --tertiary-colour: #7c4018; + --accent-colour: #cc764a; + } +} + +/* unchanging no matter the theme */ +:root { + --text-on-primary-colour: #fff; + --text-on-secondary-colour: #fff; + --text-on-accent-colour: #fff; +} \ No newline at end of file