@anywayseo/tools 5.11.0 → 6.1.0
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/components/game-demo/index.d.ts +2 -6
- package/dist/components/index.cjs +3 -3
- package/dist/components/index.mjs +3 -3
- package/dist/components/seo/href-langs/index.d.ts +8 -0
- package/dist/components/seo/index.d.ts +3 -2
- package/dist/components/seo/json-ld/index.d.ts +7 -0
- package/dist/components/seo/types.d.ts +4 -3
- package/dist/components/seo/utils.d.ts +1 -0
- package/dist/components/{strapi-component → strapi-content-renderer/strapi-component}/external-image/index.d.ts +1 -1
- package/dist/components/{strapi-component → strapi-content-renderer/strapi-component}/index.d.ts +1 -1
- package/dist/components/{strapi-component → strapi-content-renderer/strapi-component}/rich-text/index.d.ts +2 -1
- package/dist/components/{strapi-component → strapi-content-renderer/strapi-component}/utils.d.ts +1 -1
- package/dist/hooks/index.cjs +1 -1
- package/dist/hooks/index.mjs +1 -1
- package/dist/i18n/index.cjs +24 -12
- package/dist/i18n/index.mjs +24 -12
- package/dist/i18n/resources/bn/index.d.ts +331 -0
- package/dist/i18n/resources/cs/index.d.ts +331 -0
- package/dist/i18n/resources/el/index.d.ts +331 -0
- package/dist/i18n/resources/hu/index.d.ts +331 -0
- package/dist/i18n/resources/nb/index.d.ts +331 -0
- package/dist/i18n/resources/nl/index.d.ts +331 -0
- package/dist/i18n/resources/pl/index.d.ts +331 -0
- package/dist/i18n/resources/ro/index.d.ts +331 -0
- package/dist/i18n/resources/sr/index.d.ts +331 -0
- package/dist/i18n/resources/sv/index.d.ts +331 -0
- package/dist/i18n/resources/tr/index.d.ts +331 -0
- package/dist/i18n/resources/uz/index.d.ts +331 -0
- package/dist/{index-DqMBmwe5.mjs → index-2sU4ya6z.mjs} +5 -6
- package/dist/{index-B6wLLS6t.mjs → index-B5WurBlm.mjs} +2 -2
- package/dist/{index-Ca9tsjT8.js → index-BAxlqkw0.js} +2 -2
- package/dist/{index-CG7F6SYt.mjs → index-BBU_vIrY.mjs} +68 -30
- package/dist/{index-C1kr7Vd-.mjs → index-BS5T9Il4.mjs} +1 -1
- package/dist/{index-RzByAgHO.mjs → index-C6A-3gBz.mjs} +4577 -432
- package/dist/{index-hGzNO4AL.js → index-C93pA9Jv.js} +69 -31
- package/dist/{index-C3n63_nP.js → index-CAjUjAgI.js} +1 -1
- package/dist/{index-CBRFCYhV.js → index-CMLDQbgR.js} +4577 -432
- package/dist/{index-DSP348cK.mjs → index-CQC6DRGf.mjs} +1 -1
- package/dist/index-CnVcCa5O.js +151 -0
- package/dist/index-CoNbTY7l.mjs +152 -0
- package/dist/{index-CVv755RW.js → index-CuIVcnIS.js} +1 -1
- package/dist/{index-DhhGhwm2.js → index-CxuOu0E2.js} +5 -6
- package/dist/{index-D-jM-cHx.js → index-DAPaiozu.js} +2 -2
- package/dist/index-MnQnVvsM.mjs +198 -0
- package/dist/index-P_fDAJVz.js +197 -0
- package/dist/{index-CPbWQKoT.mjs → index-TcBorTSf.mjs} +2 -2
- package/dist/index.cjs +20 -9
- package/dist/index.mjs +31 -20
- package/dist/layout/header/locale-switcher/icons/bangladesh/index.d.ts +2 -0
- package/dist/layout/header/locale-switcher/icons/belgium/index.d.ts +2 -0
- package/dist/layout/header/locale-switcher/icons/canada/index.d.ts +2 -0
- package/dist/layout/header/locale-switcher/icons/czechia/index.d.ts +2 -0
- package/dist/layout/header/locale-switcher/icons/greece/index.d.ts +2 -0
- package/dist/layout/header/locale-switcher/icons/hungary/index.d.ts +2 -0
- package/dist/layout/header/locale-switcher/icons/index.d.ts +20 -1
- package/dist/layout/header/locale-switcher/icons/india/index.d.ts +2 -0
- package/dist/layout/header/locale-switcher/icons/morocco/index.d.ts +2 -0
- package/dist/layout/header/locale-switcher/icons/netherlands/index.d.ts +2 -0
- package/dist/layout/header/locale-switcher/icons/nigeria/index.d.ts +2 -0
- package/dist/layout/header/locale-switcher/icons/norway/index.d.ts +2 -0
- package/dist/layout/header/locale-switcher/icons/poland/index.d.ts +2 -0
- package/dist/layout/header/locale-switcher/icons/romania/index.d.ts +2 -0
- package/dist/layout/header/locale-switcher/icons/serbia/index.d.ts +2 -0
- package/dist/layout/header/locale-switcher/icons/south-africa/index.d.ts +2 -0
- package/dist/layout/header/locale-switcher/icons/sweden/index.d.ts +2 -0
- package/dist/layout/header/locale-switcher/icons/switzerland/index.d.ts +2 -0
- package/dist/layout/header/locale-switcher/icons/turkey/index.d.ts +2 -0
- package/dist/layout/header/locale-switcher/icons/uzbekistan/index.d.ts +2 -0
- package/dist/layout/index.cjs +396 -52
- package/dist/layout/index.mjs +396 -52
- package/dist/providers/index.cjs +2 -2
- package/dist/providers/index.mjs +2 -2
- package/dist/providers/site-provider/index.d.ts +2 -1
- package/dist/types/api/index.d.ts +2 -16
- package/dist/types/api/strapi-navigation.d.ts +16 -0
- package/dist/types/api/strapi-page.d.ts +46 -0
- package/dist/types/components/game-demo/index.d.ts +5 -0
- package/dist/types/components/index.d.ts +1 -1
- package/dist/types/content/seo/index.d.ts +38 -1
- package/dist/types/i18n/index.d.ts +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/json-ld/index.d.ts +162 -0
- package/dist/types/site/index.d.ts +9 -4
- package/dist/utils/api/index.d.ts +4 -2
- package/dist/utils/api/strapi-guards.d.ts +5 -0
- package/dist/utils/api/strapi-navigation.d.ts +2 -0
- package/dist/utils/api/strapi-seo.d.ts +13 -0
- package/dist/utils/index.cjs +14 -3
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.mjs +25 -14
- package/dist/utils/json-ld/index.d.ts +70 -0
- package/dist/utils/navigation/index.d.ts +1 -1
- package/package.json +1 -1
- package/dist/components/strapi-content-renderer/utils.d.ts +0 -2
- package/dist/index-Ba_pXx_e.js +0 -97
- package/dist/index-BeJTy4iY.mjs +0 -26
- package/dist/index-BfITsKAr.js +0 -25
- package/dist/index-CJANSiM5.mjs +0 -98
- package/dist/types/components/strapi-component/index.d.ts +0 -5
- package/dist/types/page/index.d.ts +0 -7
|
@@ -3,18 +3,18 @@ const jsxRuntime = require("react/jsx-runtime");
|
|
|
3
3
|
const react = require("@chakra-ui/react");
|
|
4
4
|
const reactI18next = require("react-i18next");
|
|
5
5
|
const react$2 = require("@mdx-js/react");
|
|
6
|
-
const index = require("./index-
|
|
6
|
+
const index = require("./index-DAPaiozu.js");
|
|
7
7
|
require("./index-C6MG_f24.js");
|
|
8
|
-
const index$6 = require("./index-
|
|
8
|
+
const index$6 = require("./index-CMLDQbgR.js");
|
|
9
9
|
const icons = require("@chakra-ui/icons");
|
|
10
10
|
require("react-medium-image-zoom");
|
|
11
11
|
const react$1 = require("react");
|
|
12
|
-
const index$2 = require("./index-
|
|
12
|
+
const index$2 = require("./index-CxuOu0E2.js");
|
|
13
13
|
const index$3 = require("./index-DDg_PkD2.js");
|
|
14
|
-
const index$7 = require("./index-
|
|
14
|
+
const index$7 = require("./index-CAjUjAgI.js");
|
|
15
|
+
const index$5 = require("./index-CnVcCa5O.js");
|
|
15
16
|
const index$1 = require("./index-ov4J7p3D.js");
|
|
16
|
-
const index$4 = require("./index-
|
|
17
|
-
const index$5 = require("./index-BfITsKAr.js");
|
|
17
|
+
const index$4 = require("./index-CuIVcnIS.js");
|
|
18
18
|
const i18next = require("i18next");
|
|
19
19
|
const Markdown = require("react-markdown");
|
|
20
20
|
const ArticleMetaIconMap = {
|
|
@@ -693,7 +693,7 @@ const NotFound = () => {
|
|
|
693
693
|
const CookiePolicy = () => {
|
|
694
694
|
const { t } = reactI18next.useTranslation("pageCookiePolicy");
|
|
695
695
|
const { metadata } = index.useSiteContext();
|
|
696
|
-
const
|
|
696
|
+
const siteName = metadata.name;
|
|
697
697
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
698
698
|
/* @__PURE__ */ jsxRuntime.jsx(index$3.Heading1, { children: t("title") }),
|
|
699
699
|
/* @__PURE__ */ jsxRuntime.jsx(index$3.Paragraph, { children: t("text", { siteName }) }),
|
|
@@ -799,7 +799,7 @@ const Contacts = () => {
|
|
|
799
799
|
const PrivacyPolicy = ({ contactsSlug }) => {
|
|
800
800
|
const { t } = reactI18next.useTranslation("pagePrivacyPolicy");
|
|
801
801
|
const { metadata } = index.useSiteContext();
|
|
802
|
-
const
|
|
802
|
+
const siteName = metadata.name;
|
|
803
803
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
804
804
|
/* @__PURE__ */ jsxRuntime.jsx(index$3.Heading1, { children: t("title") }),
|
|
805
805
|
/* @__PURE__ */ jsxRuntime.jsx(index$3.Paragraph, { children: t("text") }),
|
|
@@ -829,7 +829,7 @@ const PrivacyPolicy = ({ contactsSlug }) => {
|
|
|
829
829
|
const TermsAndConditions = ({ privacyPolicySlug }) => {
|
|
830
830
|
const { t } = reactI18next.useTranslation("pageTermsAndConditions");
|
|
831
831
|
const { metadata } = index.useSiteContext();
|
|
832
|
-
const
|
|
832
|
+
const siteName = metadata.name;
|
|
833
833
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
834
834
|
/* @__PURE__ */ jsxRuntime.jsx(index$3.Heading1, { children: t("title") }),
|
|
835
835
|
/* @__PURE__ */ jsxRuntime.jsx(index$3.Paragraph, { children: t("text", { siteName }) }),
|
|
@@ -951,6 +951,13 @@ const ProsCons = ({ items, ...boxProps }) => {
|
|
|
951
951
|
/* @__PURE__ */ jsxRuntime.jsx(ProsConsCard, { itemType: "cons", items: cons })
|
|
952
952
|
] });
|
|
953
953
|
};
|
|
954
|
+
function buildPlaceholders(siteName, lang) {
|
|
955
|
+
return {
|
|
956
|
+
siteName,
|
|
957
|
+
currentYear: index$1.getCurrentYear(lang),
|
|
958
|
+
currentMonth: index$1.getCurrentMonth(lang)
|
|
959
|
+
};
|
|
960
|
+
}
|
|
954
961
|
function replacePlaceholders(text, placeholders) {
|
|
955
962
|
Object.entries(placeholders).forEach(([placeholder, replacement]) => {
|
|
956
963
|
const regex = new RegExp(`{{${placeholder}}}`, "g");
|
|
@@ -964,25 +971,61 @@ function getSeoMetaItem(item, placeholders) {
|
|
|
964
971
|
}
|
|
965
972
|
return item(placeholders);
|
|
966
973
|
}
|
|
967
|
-
const
|
|
968
|
-
const
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
const
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
974
|
+
const JsonLd = ({ schemas }) => {
|
|
975
|
+
const graph = index$5.buildGraph(schemas);
|
|
976
|
+
if (!graph.length) {
|
|
977
|
+
return null;
|
|
978
|
+
}
|
|
979
|
+
const jsonLd = {
|
|
980
|
+
"@context": "https://schema.org",
|
|
981
|
+
"@graph": graph
|
|
982
|
+
};
|
|
983
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
984
|
+
"script",
|
|
985
|
+
{
|
|
986
|
+
type: "application/ld+json",
|
|
987
|
+
dangerouslySetInnerHTML: {
|
|
988
|
+
__html: JSON.stringify(jsonLd)
|
|
989
|
+
}
|
|
990
|
+
}
|
|
979
991
|
);
|
|
992
|
+
};
|
|
993
|
+
const HrefLangs = ({ siteName, hrefLangs }) => {
|
|
994
|
+
return hrefLangs.map(({ href, hrefLang }, index2) => /* @__PURE__ */ jsxRuntime.jsx("link", { rel: "alternate", hrefLang, href: index$7.buildCanonicalUrl(siteName, href) }, index2));
|
|
995
|
+
};
|
|
996
|
+
const Seo = ({
|
|
997
|
+
children,
|
|
998
|
+
pathname,
|
|
999
|
+
locale,
|
|
1000
|
+
title,
|
|
1001
|
+
description,
|
|
1002
|
+
canonicalUrl,
|
|
1003
|
+
hrefLangs = [],
|
|
1004
|
+
structuredData
|
|
1005
|
+
}) => {
|
|
1006
|
+
const { metadata: siteMetadata, logo: siteLogo, localization } = index.useSiteContext();
|
|
1007
|
+
const { name: siteName, seo: siteSeo } = siteMetadata;
|
|
1008
|
+
const { title: defaultTitle, description: defaultDescription } = siteSeo;
|
|
1009
|
+
const defaultLocale = localization.defaultLocale.code;
|
|
1010
|
+
const lang = locale || defaultLocale;
|
|
1011
|
+
const placeholders = buildPlaceholders(siteName, lang);
|
|
1012
|
+
const siteUrl = index$7.buildCanonicalUrl(siteName);
|
|
1013
|
+
const pageUrl = index$7.buildCanonicalUrl(siteName, pathname);
|
|
1014
|
+
const pageTitle = getSeoMetaItem(title ?? defaultTitle, placeholders);
|
|
1015
|
+
const pageDescription = getSeoMetaItem(description ?? defaultDescription, placeholders);
|
|
1016
|
+
const siteData = { url: siteUrl, name: siteName, logo: siteLogo };
|
|
1017
|
+
const pageData = { url: pageUrl, title: pageTitle, description: pageDescription };
|
|
1018
|
+
const organizationSchema = index$5.buildOrganizationSchema({ site: siteData, lang });
|
|
1019
|
+
const websiteSchema = index$5.buildWebsiteSchema({ site: siteData, lang });
|
|
1020
|
+
const entitySchema = index$5.getEntitySchema({ site: siteData, page: pageData, structuredData });
|
|
1021
|
+
const webpageSchema = index$5.buildWebpageSchema({ site: siteData, page: pageData, lang }, entitySchema);
|
|
980
1022
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
981
1023
|
/* @__PURE__ */ jsxRuntime.jsx("html", { lang }),
|
|
982
|
-
/* @__PURE__ */ jsxRuntime.jsx("title", { children:
|
|
983
|
-
/* @__PURE__ */ jsxRuntime.jsx("meta", { name: "description", content:
|
|
984
|
-
/* @__PURE__ */ jsxRuntime.jsx("link", { rel: "canonical", href:
|
|
985
|
-
|
|
1024
|
+
/* @__PURE__ */ jsxRuntime.jsx("title", { children: pageTitle }),
|
|
1025
|
+
/* @__PURE__ */ jsxRuntime.jsx("meta", { name: "description", content: pageDescription }),
|
|
1026
|
+
/* @__PURE__ */ jsxRuntime.jsx("link", { rel: "canonical", href: canonicalUrl ?? pageUrl }),
|
|
1027
|
+
/* @__PURE__ */ jsxRuntime.jsx(HrefLangs, { siteName, hrefLangs }),
|
|
1028
|
+
/* @__PURE__ */ jsxRuntime.jsx(JsonLd, { schemas: { organization: organizationSchema, website: websiteSchema, webpage: webpageSchema } }),
|
|
986
1029
|
children
|
|
987
1030
|
] });
|
|
988
1031
|
};
|
|
@@ -1264,13 +1307,8 @@ const StrapiComponent = ({ type, props, imageComponent }) => {
|
|
|
1264
1307
|
return null;
|
|
1265
1308
|
}
|
|
1266
1309
|
};
|
|
1267
|
-
function isStrapiContent(array) {
|
|
1268
|
-
return Array.isArray(array) && array.every(
|
|
1269
|
-
(item) => typeof item === "object" && item !== null && "__typename" in item && typeof item.__typename === "string"
|
|
1270
|
-
);
|
|
1271
|
-
}
|
|
1272
1310
|
const StrapiContentRenderer = ({ content, imageComponent }) => {
|
|
1273
|
-
if (!isStrapiContent(content)) {
|
|
1311
|
+
if (!index$5.isStrapiContent(content)) {
|
|
1274
1312
|
return null;
|
|
1275
1313
|
}
|
|
1276
1314
|
return content.map(({ __typename: type, ...props }, index2) => /* @__PURE__ */ jsxRuntime.jsx(StrapiComponent, { type, props, imageComponent }, index2));
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
function buildPath(slug, parentSlug) {
|
|
3
3
|
return parentSlug === "" ? slug : `${parentSlug}/${slug}`;
|
|
4
4
|
}
|
|
5
|
-
function buildCanonicalUrl(domain, path) {
|
|
5
|
+
function buildCanonicalUrl(domain, path = "") {
|
|
6
6
|
const cleanPath = path.split(/[?#]/)[0];
|
|
7
7
|
return `https://${domain}${cleanPath === "/" ? "" : cleanPath}`;
|
|
8
8
|
}
|