meta lib refactoring: to ts; add meta builder

This commit is contained in:
tmshv committed 2020-02-23 22:54:43 +03:00
1 parent 8c57c69583
commit 0fc762c418
2 files changed
+60 -23

No files matched your search

-23
View File
@@ -1,23 +0,0 @@
export function meta(props) {
const path = props.url || '/'
const url = `https://art.shlisselburg.org${path}`
return {
title: 'Шлиссельбургская ДХШ',
description: 'Сайт Шлиссельбургской художественной школы',
image: 'https://art.shlisselburg.org/entrance.jpg',
imageWidth: 1200,
imageHeight: 630,
siteName: 'Шлиссельбургская Детская Художественная Школа',
locale: 'ru_RU',
type: 'website',
domain: 'art.shlisselburg.org',
twitterCard: 'summary_large_image',
twitterSite: '@',
twitterCreator: '@tmshv',
...props,
url,
}
}
+60
View File
@@ -0,0 +1,60 @@
import { IMeta, IImage } from 'src/types'
export function meta(props: Partial<IMeta>): IMeta {
const path = props.url || '/'
const url = `https://art.shlisselburg.org${path}`
return {
title: 'Шлиссельбургская ДХШ',
description: 'Сайт Шлиссельбургской художественной школы',
image: 'https://art.shlisselburg.org/entrance.jpg',
imageWidth: 1200,
imageHeight: 630,
siteName: 'Шлиссельбургская Детская Художественная Школа',
locale: 'ru_RU',
type: 'website',
domain: 'art.shlisselburg.org',
twitterCard: 'summary_large_image',
twitterSite: '@',
twitterCreator: '@tmshv',
...props,
url,
}
}
export class MetaBuilder {
private image: IImage
private title: string
private description: string
private data: Partial<IMeta>
setData(param: Partial<IMeta>) {
this.data = param
return this
}
setTitle(param: string) {
this.title = param
return this
}
setDescription(param: string) {
this.description = param
return this
}
setImage(param: IImage) {
this.image = param
return this
}
build() {
return meta({
...this.data,
title: this.title,
description: this.description,
})
}
}