denwa-web-shared 1.0.12 → 1.0.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/server/index.cjs.js +25 -1
- package/dist/server/index.es.js +25 -1
- package/dist/server/lib/utils.d.ts +11 -1
- package/package.json +1 -1
package/dist/server/index.cjs.js
CHANGED
|
@@ -95,12 +95,17 @@ const prepareLocalMetaData = ({
|
|
|
95
95
|
subdomain,
|
|
96
96
|
metaData,
|
|
97
97
|
host,
|
|
98
|
+
lang,
|
|
99
|
+
isSubdomain = true,
|
|
98
100
|
SUBDOMAIN_NAME,
|
|
99
101
|
SUBDOMAIN_MASK,
|
|
100
102
|
DEFAULT_SEO_TEXT
|
|
101
103
|
}) => {
|
|
102
104
|
const { title, description, keywords, canonical } = metaData;
|
|
103
|
-
|
|
105
|
+
let correctHost = subdomain === "main" ? host : `${subdomain}.${host}`;
|
|
106
|
+
if (!isSubdomain) {
|
|
107
|
+
correctHost = host;
|
|
108
|
+
}
|
|
104
109
|
let currentTitle = title;
|
|
105
110
|
let currentDescription = description;
|
|
106
111
|
let currentKeywords = keywords;
|
|
@@ -148,6 +153,25 @@ const prepareLocalMetaData = ({
|
|
|
148
153
|
if (canonical !== void 0) {
|
|
149
154
|
alternates.canonical = `https://${correctHost}${canonical}`;
|
|
150
155
|
}
|
|
156
|
+
if (lang) {
|
|
157
|
+
const langs = lang.locales.filter((item) => item !== lang.locale);
|
|
158
|
+
const languages = {};
|
|
159
|
+
langs.forEach((item) => {
|
|
160
|
+
let url2 = `https://${correctHost}`;
|
|
161
|
+
if (lang.city) {
|
|
162
|
+
url2 += `/${lang.city}`;
|
|
163
|
+
}
|
|
164
|
+
url2 += lang.route[0] === "/" ? lang.route : `/${lang.route}`;
|
|
165
|
+
languages[item] = item === lang.defaultLocale ? url2 : `/${item}${url2}`;
|
|
166
|
+
});
|
|
167
|
+
let url = "";
|
|
168
|
+
if (lang.city) {
|
|
169
|
+
url = `/${lang.city}`;
|
|
170
|
+
}
|
|
171
|
+
url += lang.route[0] === "/" ? lang.route : `/${lang.route}`;
|
|
172
|
+
alternates.canonical = `https://${correctHost}${url}`;
|
|
173
|
+
alternates.languages = languages;
|
|
174
|
+
}
|
|
151
175
|
return {
|
|
152
176
|
title: currentTitle,
|
|
153
177
|
description: currentDescription,
|
package/dist/server/index.es.js
CHANGED
|
@@ -93,12 +93,17 @@ const prepareLocalMetaData = ({
|
|
|
93
93
|
subdomain,
|
|
94
94
|
metaData,
|
|
95
95
|
host,
|
|
96
|
+
lang,
|
|
97
|
+
isSubdomain = true,
|
|
96
98
|
SUBDOMAIN_NAME,
|
|
97
99
|
SUBDOMAIN_MASK,
|
|
98
100
|
DEFAULT_SEO_TEXT
|
|
99
101
|
}) => {
|
|
100
102
|
const { title, description, keywords, canonical } = metaData;
|
|
101
|
-
|
|
103
|
+
let correctHost = subdomain === "main" ? host : `${subdomain}.${host}`;
|
|
104
|
+
if (!isSubdomain) {
|
|
105
|
+
correctHost = host;
|
|
106
|
+
}
|
|
102
107
|
let currentTitle = title;
|
|
103
108
|
let currentDescription = description;
|
|
104
109
|
let currentKeywords = keywords;
|
|
@@ -146,6 +151,25 @@ const prepareLocalMetaData = ({
|
|
|
146
151
|
if (canonical !== void 0) {
|
|
147
152
|
alternates.canonical = `https://${correctHost}${canonical}`;
|
|
148
153
|
}
|
|
154
|
+
if (lang) {
|
|
155
|
+
const langs = lang.locales.filter((item) => item !== lang.locale);
|
|
156
|
+
const languages = {};
|
|
157
|
+
langs.forEach((item) => {
|
|
158
|
+
let url2 = `https://${correctHost}`;
|
|
159
|
+
if (lang.city) {
|
|
160
|
+
url2 += `/${lang.city}`;
|
|
161
|
+
}
|
|
162
|
+
url2 += lang.route[0] === "/" ? lang.route : `/${lang.route}`;
|
|
163
|
+
languages[item] = item === lang.defaultLocale ? url2 : `/${item}${url2}`;
|
|
164
|
+
});
|
|
165
|
+
let url = "";
|
|
166
|
+
if (lang.city) {
|
|
167
|
+
url = `/${lang.city}`;
|
|
168
|
+
}
|
|
169
|
+
url += lang.route[0] === "/" ? lang.route : `/${lang.route}`;
|
|
170
|
+
alternates.canonical = `https://${correctHost}${url}`;
|
|
171
|
+
alternates.languages = languages;
|
|
172
|
+
}
|
|
149
173
|
return {
|
|
150
174
|
title: currentTitle,
|
|
151
175
|
description: currentDescription,
|
|
@@ -55,12 +55,14 @@ export declare const updateTextByTemplate: ({ text, subdomain, SUBDOMAIN_NAME, S
|
|
|
55
55
|
* @param subdomain - Поддомен
|
|
56
56
|
* @param metaData - Объект с title, descrption, keywords
|
|
57
57
|
* @param host - Хост сайта
|
|
58
|
+
* @param lang - Объект для локализации
|
|
59
|
+
* @param isSubdomain - Нужны ли поддомены в адресе хоста
|
|
58
60
|
* @param SUBDOMAIN_NAME - Объект ключ-значение со списком поддоменов
|
|
59
61
|
* @param SUBDOMAIN_MASK - Объект ключ-значение со списком масок поддоменов
|
|
60
62
|
* @param DEFAULT_SEO_TEXT - Объект ключ-значение со списком масок поддоменов
|
|
61
63
|
* @return Объект с мета тегами
|
|
62
64
|
*/
|
|
63
|
-
export declare const prepareLocalMetaData: <T extends object>({ subdomain, metaData, host, SUBDOMAIN_NAME, SUBDOMAIN_MASK, DEFAULT_SEO_TEXT, }: {
|
|
65
|
+
export declare const prepareLocalMetaData: <T extends object>({ subdomain, metaData, host, lang, isSubdomain, SUBDOMAIN_NAME, SUBDOMAIN_MASK, DEFAULT_SEO_TEXT, }: {
|
|
64
66
|
subdomain: string;
|
|
65
67
|
metaData: {
|
|
66
68
|
title: string;
|
|
@@ -69,6 +71,14 @@ export declare const prepareLocalMetaData: <T extends object>({ subdomain, metaD
|
|
|
69
71
|
canonical?: string;
|
|
70
72
|
};
|
|
71
73
|
host: string;
|
|
74
|
+
lang?: {
|
|
75
|
+
locale: string;
|
|
76
|
+
locales: string[];
|
|
77
|
+
defaultLocale: string;
|
|
78
|
+
route: string;
|
|
79
|
+
city?: string;
|
|
80
|
+
};
|
|
81
|
+
isSubdomain?: boolean;
|
|
72
82
|
SUBDOMAIN_NAME: Record<string, {
|
|
73
83
|
name: string;
|
|
74
84
|
declination: string;
|