Skip to content

Commit 6de8d05

Browse files
Resul AvanResul Avan
Resul Avan
authored and
Resul Avan
committed
page meta update, now deployment initial
1 parent 028ade2 commit 6de8d05

11 files changed

+87
-47
lines changed

.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -110,3 +110,5 @@ firebase-admin-credentials.json
110110
package-lock.json
111111

112112
tmp
113+
114+
.vercel

now.json renamed to src/now.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"version": 2,
33
"builds": [
44
{
5-
"src": "nuxt.config.js",
5+
"src": "nuxt.config.ts",
66
"use": "@nuxtjs/now-builder",
77
"config": {}
88
}

src/package.json

+18-17
Original file line numberDiff line numberDiff line change
@@ -20,24 +20,25 @@
2020
"hooks": {}
2121
},
2222
"dependencies": {
23-
"@mdi/font": "^5.1.45",
23+
"@mdi/font": "^5.2.45",
2424
"@nuxt/typescript-runtime": "^0.4.6",
25-
"@nuxtjs/axios": "^5.10.1",
25+
"@nuxtjs/axios": "^5.10.3",
2626
"@nuxtjs/google-analytics": "^2.2.3",
27+
"@nuxtjs/now-builder": "^0.17.2",
2728
"@types/cookie-parser": "^1.4.2",
2829
"@types/slug": "^0.9.1",
2930
"@types/uuid": "^7.0.3",
3031
"body-parser": "^1.19.0",
31-
"buefy": "^0.8.17",
32+
"buefy": "^0.8.18",
3233
"bulma-helpers": "^0.3.10",
3334
"cookie-parser": "^1.4.5",
3435
"cookie-universal-nuxt": "^2.1.3",
3536
"dotenv": "^8.2.0",
36-
"firebase": "^7.14.2",
37-
"firebase-admin": "^8.11.0",
38-
"moment": "^2.24.0",
37+
"firebase": "^7.14.4",
38+
"firebase-admin": "^8.12.1",
39+
"moment": "^2.25.3",
3940
"nuxt": "^2.12.2",
40-
"nuxt-i18n": "^6.10.1",
41+
"nuxt-i18n": "^6.11.1",
4142
"nuxt-property-decorator": "^2.7.2",
4243
"slug": "^2.1.1",
4344
"vee-validate": "^3.3.0",
@@ -48,23 +49,23 @@
4849
"@types/vfile-message": "^2.0.0",
4950
"@nuxt/babel-preset-app": "^2.12.2",
5051
"@nuxt/typescript-build": "^0.6.6",
51-
"@nuxtjs/eslint-config-typescript": "^1.0.2",
52-
"@nuxtjs/eslint-module": "^1.2.0",
53-
"@nuxtjs/stylelint-module": "^3.2.2",
54-
"@vue/test-utils": "^1.0.0-beta.33",
52+
"@nuxtjs/eslint-config-typescript": "^2.0.0",
53+
"@nuxtjs/eslint-module": "^2.0.0",
54+
"@nuxtjs/stylelint-module": "^4.0.0",
55+
"@vue/test-utils": "^1.0.2",
5556
"babel-eslint": "^10.1.0",
56-
"babel-jest": "^25.4.0",
57+
"babel-jest": "^26.0.1",
5758
"core-js": "^3.6.5",
58-
"eslint": "^6.8.0",
59+
"eslint": "^7.0.0",
5960
"eslint-config-prettier": "^6.11.0",
60-
"eslint-plugin-nuxt": ">=0.5.2",
61+
"eslint-plugin-nuxt": ">=1.0.0",
6162
"eslint-plugin-prettier": "^3.1.3",
6263
"husky": "^4.2.5",
63-
"jest": "^25.4.0",
64-
"lint-staged": "^10.1.7",
64+
"jest": "^26.0.1",
65+
"lint-staged": "^10.2.2",
6566
"prettier": "^2.0.5",
6667
"stylelint": "^13.3.3",
67-
"ts-jest": "^25.4.0",
68+
"ts-jest": "^26.0.0",
6869
"vue-jest": "^4.0.0-0"
6970
}
7071
}

src/pages/index.vue

+10
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,16 @@
44
<div class="columns is-centered">
55
<h1 class="header">{{ $t('page.home.title') }}</h1>
66
</div>
7+
<div class="columns">
8+
<card
9+
title="Free"
10+
icon="github-circle"
11+
>
12+
Open source on <a href="https://github.com/buefy/buefy">
13+
GitHub
14+
</a>
15+
</card>
16+
</div>
717
</div>
818
</section>
919
</template>

src/pages/login.vue

+8-2
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,20 @@
2222
import { Component, Vue } from 'nuxt-property-decorator';
2323
import SocialLogin from "~/components/form/SocialLogin.vue";
2424
import LoginForm from "~/components/form/LoginForm.vue";
25-
import { DefaultMeta, LoginCredentials, ProviderType, StateNamespace, SupportedProviders } from "~/types";
25+
import { PageMeta, DefaultMeta, LoginCredentials, ProviderType, StateNamespace, SupportedProviders } from "~/types";
2626
import { getHead } from "~/service/seo-service";
2727
2828
@Component({
2929
components: { SocialLogin, LoginForm },
3030
})
3131
export default class login extends Vue {
3232
33+
pageMeta: PageMeta = {
34+
...DefaultMeta,
35+
title: 'Login |' + DefaultMeta.title,
36+
url: DefaultMeta.url + '/login'
37+
}
38+
3339
@StateNamespace.auth.Getter rememberMe !: boolean;
3440
@StateNamespace.auth.Action signInWithEmail !: (credentials: LoginCredentials) => void;
3541
@StateNamespace.notification.Action clearMessage !: () => void;
@@ -47,7 +53,7 @@
4753
}
4854
4955
head() {
50-
return getHead(DefaultMeta, 'Login')
56+
return getHead(this.pageMeta)
5157
}
5258
5359
}

src/pages/privacy-policy.vue

+8-2
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,20 @@
55
<script lang="ts">
66
import { Component, Vue } from 'nuxt-property-decorator';
77
import { getHead } from "~/service/seo-service";
8-
import { DefaultMeta } from "~/types";
8+
import { PageMeta, DefaultMeta } from "~/types";
99
1010
@Component({
1111
components: {}
1212
})
1313
export default class privacyPolicy extends Vue {
14+
pageMeta: PageMeta = {
15+
...DefaultMeta,
16+
title: 'Policy&Privacy |' + DefaultMeta.title,
17+
url: DefaultMeta.url + '/privacy-policy'
18+
}
19+
1420
head() {
15-
return getHead(DefaultMeta, 'Policy&Privacy')
21+
return getHead(this.pageMeta)
1622
}
1723
}
1824
</script>

src/pages/register.vue

+15-2
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,27 @@
2424
import { Component, Vue } from 'nuxt-property-decorator';
2525
import SocialLogin from "~/components/form/SocialLogin.vue";
2626
import RegisterForm from "~/components/form/RegisterForm.vue";
27-
import { DefaultMeta, ProviderType, RegistrationCredentials, StateNamespace, SupportedProviders } from "~/types";
27+
import {
28+
PageMeta,
29+
DefaultMeta,
30+
ProviderType,
31+
RegistrationCredentials,
32+
StateNamespace,
33+
SupportedProviders
34+
} from "~/types";
2835
import { getHead } from "~/service/seo-service";
2936
3037
@Component({
3138
components: { SocialLogin, RegisterForm },
3239
})
3340
export default class register extends Vue {
3441
42+
pageMeta: PageMeta = {
43+
...DefaultMeta,
44+
title: 'Register |' + DefaultMeta.title,
45+
url: DefaultMeta.url + '/register'
46+
}
47+
3548
@StateNamespace.auth.Getter rememberMe !: boolean;
3649
@StateNamespace.auth.Action signUpWithEmail !: (credentials: RegistrationCredentials) => void;
3750
@StateNamespace.notification.Action clearMessage !: () => void;
@@ -49,7 +62,7 @@
4962
}
5063
5164
head() {
52-
return getHead(DefaultMeta, 'Register')
65+
return getHead(this.pageMeta)
5366
}
5467
5568
}

src/pages/terms.vue

+8-2
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,20 @@
55
<script lang="ts">
66
import { Component, Vue } from 'nuxt-property-decorator';
77
import { getHead } from "~/service/seo-service";
8-
import { DefaultMeta } from "~/types";
8+
import { PageMeta, DefaultMeta } from "~/types";
99
1010
@Component({
1111
components: {}
1212
})
1313
export default class terms extends Vue {
14+
pageMeta: PageMeta = {
15+
...DefaultMeta,
16+
title: 'Terms |' + DefaultMeta.title,
17+
url: DefaultMeta.url + '/terms'
18+
}
19+
1420
head() {
15-
return getHead(DefaultMeta, 'Terms')
21+
return getHead(this.pageMeta)
1622
}
1723
}
1824
</script>

src/service/seo-service.ts

+15-18
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,28 @@
1-
import { AppMeta } from "~/types";
2-
3-
export const getHead = (appMeta: AppMeta, pageTitle ?: string) => {
4-
5-
let title = pageTitle ? pageTitle + ' | ' + appMeta.title : appMeta.title;
1+
import { PageMeta } from "~/types";
62

3+
export const getHead = (pageMeta: PageMeta) => {
74
return {
8-
title,
5+
title: pageMeta.title,
96
meta: [
10-
{ hid: 'description', name: 'description', content: appMeta.description },
7+
{ hid: 'description', name: 'description', content: pageMeta.description },
118
// Open Graph
12-
{ name: 'og:title', content: appMeta.title },
13-
{ name: 'og:description', content: appMeta.description },
9+
{ name: 'og:title', content: pageMeta.title },
10+
{ name: 'og:description', content: pageMeta.description },
1411
{ name: 'og:type', content: 'website' },
15-
{ name: 'og:url', content: appMeta.url },
16-
{ name: 'og:image', content: appMeta.image.src },
12+
{ name: 'og:url', content: pageMeta.url },
13+
{ name: 'og:image', content: pageMeta.image.src },
1714

1815
{ name: 'twitter:card', content: 'summary' },
19-
{ name: 'twitter:site', content: '@nuxt_js' },
20-
{ name: 'twitter:title', content: appMeta.title },
21-
{ name: 'twitter:description', content: appMeta.description },
22-
{ name: 'twitter:image', content: appMeta.image.src },
16+
{ name: 'twitter:site', content: '@tangowall' },
17+
{ name: 'twitter:title', content: pageMeta.title },
18+
{ name: 'twitter:description', content: pageMeta.description },
19+
{ name: 'twitter:image', content: pageMeta.image.src },
2320
{ name: 'twitter:image:alt', content: 'Orange Make-Up Website logo' },
2421

2522
// Google / Schema.org markup:
26-
{ itemprop: 'name', content: appMeta.title },
27-
{ itemprop: 'description', content: appMeta.description },
28-
{ itemprop: 'image', content: appMeta.image.src }
23+
{ itemprop: 'name', content: pageMeta.title },
24+
{ itemprop: 'description', content: pageMeta.description },
25+
{ itemprop: 'image', content: pageMeta.image.src }
2926
]
3027
}
3128
}

src/tsconfig.json

-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727
"types": [
2828
"@types/node",
2929
"@nuxt/types",
30-
"src/types",
3130
"@nuxtjs/axios",
3231
"nuxt-i18n",
3332
"cookie-universal-nuxt"

src/types/seo-types.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
import { Image } from "~/types/backend-types";
22

3-
export interface AppMeta {
3+
export interface PageMeta {
44
title: string
55
description: string
66
image: Image
77
url: string
88
}
99

10-
export const DefaultMeta: AppMeta = {
10+
export const DefaultMeta: PageMeta = {
1111
title: 'Nuxt TS Firebase Auth SSR',
1212
description: 'The description of Nuxt TS Firebase Auth SSR web',
1313
image: {

0 commit comments

Comments
 (0)