@@ -42,13 +48,14 @@ const slug = ref(route.params.slug);
const posts = ref([]);
const store = useTagListStore();
const resources = computed(() => store.items);
-const count = computed(() => store.totalPosts);
const status = computed(() => store.status);
let postLimit = 2;
await useAsyncData("tags", () => store.loadTagBlogs(slug.value, 0, postLimit));
-posts.value = resources.value?.slice(0, postLimit);
+if (status.value === config.SUCCESS) {
+ posts.value = resources.value?.slice(0, postLimit);
+}
const tagName = posts.value[0].tags.filter((tag) => tag.slug === slug.value)[0]
.name;
@@ -72,13 +79,6 @@ onUnmounted(() => {
window.removeEventListener("scroll", handleScroll);
});
-if (status.value !== config.SUCCESS) {
- navigateTo({
- name: "Error404Page",
- params: { pathMatch: ["tag", slug.value] },
- });
-}
-
useSeoMeta({
title: "Stories on " + slug.value + " | Canopas",
ogTitle: "Stories on " + slug.value + " | Canopas",
diff --git a/nuxt-frontend/stores/author/index.js b/nuxt-frontend/stores/author/index.js
index d6530f541..ffec90fc6 100644
--- a/nuxt-frontend/stores/author/index.js
+++ b/nuxt-frontend/stores/author/index.js
@@ -14,7 +14,7 @@ export const useAuthorListStore = defineStore("authors", {
},
actions: {
async loadAuthorBlogs(showDrafts, slug, start, limit) {
- return new Promise((resolve) => {
+ return new Promise((resolve, reject) => {
this.isLoading = true;
this.error = null;
@@ -36,22 +36,32 @@ export const useAuthorListStore = defineStore("authors", {
limitQuery;
axios
- .get(url)
- .then((response) => {
- let posts = [];
- response.data.data.forEach((post) => {
- posts.push(setPostFields(post));
- });
- this.items = posts;
- this.isLoading = false;
- this.status = posts.length > 0 ? response.status : config.NOT_FOUND;
- resolve();
+ .get(config.STRAPI_URL + "/favicon.ico")
+ .then(() => {
+ axios
+ .get(url)
+ .then((response) => {
+ let posts = [];
+ response.data.data.forEach((post) => {
+ posts.push(setPostFields(post));
+ });
+ this.items = posts;
+ this.isLoading = false;
+ this.status =
+ posts.length > 0 ? response.status : config.NOT_FOUND;
+ resolve();
+ })
+ .catch((error) => {
+ this.error = error;
+ this.isLoading = false;
+ this.status = config.NOT_FOUND;
+ resolve();
+ });
})
.catch((error) => {
this.error = error;
- this.isLoading = false;
this.status = config.NOT_FOUND;
- resolve();
+ reject(error);
});
});
},
diff --git a/nuxt-frontend/stores/tags/index.js b/nuxt-frontend/stores/tags/index.js
index f3f8480c7..df444ff1e 100644
--- a/nuxt-frontend/stores/tags/index.js
+++ b/nuxt-frontend/stores/tags/index.js
@@ -14,7 +14,7 @@ export const useTagListStore = defineStore("tag-list", {
},
actions: {
async loadTagBlogs(slug) {
- return new Promise((resolve) => {
+ return new Promise((resolve, reject) => {
this.isLoading = true;
this.error = null;
@@ -23,24 +23,32 @@ export const useTagListStore = defineStore("tag-list", {
"/v1/tag/" +
slug +
"?populate=deep&publicationState=live";
-
axios
- .get(url)
- .then((response) => {
- let posts = [];
- response.data.data.forEach((post) => {
- posts.push(setPostFields(post, slug));
- });
- this.items = posts;
- this.isLoading = false;
- this.status = posts.length > 0 ? response.status : config.NOT_FOUND;
- resolve();
+ .get(config.STRAPI_URL + "/favicon.ico")
+ .then(() => {
+ axios
+ .get(url)
+ .then((response) => {
+ let posts = [];
+ response.data.data.forEach((post) => {
+ posts.push(setPostFields(post, slug));
+ });
+ this.items = posts;
+ this.isLoading = false;
+ this.status =
+ posts.length > 0 ? response.status : config.NOT_FOUND;
+ resolve();
+ })
+ .catch((error) => {
+ this.error = error;
+ this.isLoading = false;
+ this.status = config.NOT_FOUND;
+ resolve();
+ });
})
.catch((error) => {
- this.error = error;
- this.isLoading = false;
this.status = config.NOT_FOUND;
- resolve();
+ reject(error);
});
});
},
diff --git a/nuxt-frontend/yarn.lock b/nuxt-frontend/yarn.lock
index 82471bb41..29bfd6ebe 100644
--- a/nuxt-frontend/yarn.lock
+++ b/nuxt-frontend/yarn.lock
@@ -21,7 +21,7 @@
resolved "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz"
integrity sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==
-"@ampproject/remapping@^2.2.0":
+"@ampproject/remapping@^2.2.0", "@ampproject/remapping@^2.2.1":
version "2.2.1"
resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz"
integrity sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==
@@ -29,7 +29,15 @@
"@jridgewell/gen-mapping" "^0.3.0"
"@jridgewell/trace-mapping" "^0.3.9"
-"@antfu/utils@^0.7.7":
+"@antfu/install-pkg@^0.1.1":
+ version "0.1.1"
+ resolved "https://registry.npmjs.org/@antfu/install-pkg/-/install-pkg-0.1.1.tgz"
+ integrity sha512-LyB/8+bSfa0DFGC06zpCEfs89/XoWZwws5ygEa5D+Xsm3OfI+aXQ86VgVG7Acyef+rSZ5HE7J8rrxzrQeM3PjQ==
+ dependencies:
+ execa "^5.1.1"
+ find-up "^5.0.0"
+
+"@antfu/utils@^0.7.5", "@antfu/utils@^0.7.6", "@antfu/utils@^0.7.7":
version "0.7.7"
resolved "https://registry.npmjs.org/@antfu/utils/-/utils-0.7.7.tgz"
integrity sha512-gFPqTG7otEJ8uP6wrhDv6mqwGWYZKNvAcCq6u9hOj0c+IKCEsY4L1oC9trPq2SaWIzAfHvqfBDxF591JkMf+kg==
@@ -655,7 +663,7 @@
resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz"
integrity sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==
-"@babel/core@^7.12.16", "@babel/core@^7.23.0", "@babel/core@^7.23.3", "@babel/core@^7.23.7":
+"@babel/core@^7.12.16", "@babel/core@^7.23.0", "@babel/core@^7.23.3", "@babel/core@^7.23.7", "@babel/core@^7.23.9":
version "7.23.9"
resolved "https://registry.npmjs.org/@babel/core/-/core-7.23.9.tgz"
integrity sha512-5q0175NOjddqpvvzU+kDiSOAk4PfdO6FvwCWoQ6RO7rTzEe8vlo+4HVfcnAREhD4npMs0e9uZypjTwzZPCf/cw==
@@ -861,7 +869,7 @@
resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz"
integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==
-"@babel/helper-validator-option@^7.23.5":
+"@babel/helper-validator-option@^7.22.15", "@babel/helper-validator-option@^7.23.5":
version "7.23.5"
resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz"
integrity sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==
@@ -1597,6 +1605,17 @@
"@babel/types" "^7.4.4"
esutils "^2.0.2"
+"@babel/preset-typescript@^7.23.3":
+ version "7.23.3"
+ resolved "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.23.3.tgz"
+ integrity sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-validator-option" "^7.22.15"
+ "@babel/plugin-syntax-jsx" "^7.23.3"
+ "@babel/plugin-transform-modules-commonjs" "^7.23.3"
+ "@babel/plugin-transform-typescript" "^7.23.3"
+
"@babel/regjsgen@^0.8.0":
version "0.8.0"
resolved "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz"
@@ -1958,6 +1977,25 @@
resolved "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.0.tgz"
integrity sha512-+KpH+QxZU7O4675t3mnkQKcZZg56u+K/Ct2K+N2AZYNVK8kyeo/bI18tI8aPm3tvNNRyTWfj6s5tnGNlcbQRsA==
+"@floating-ui/core@^1.1.0":
+ version "1.6.0"
+ resolved "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.0.tgz"
+ integrity sha512-PcF++MykgmTj3CIyOQbKA/hDzOAiqI3mhuoN44WRCopIs1sgoDoU4oty4Jtqaj/y3oDU6fnVSm4QG0a3t5i0+g==
+ dependencies:
+ "@floating-ui/utils" "^0.2.1"
+
+"@floating-ui/dom@~1.1.1":
+ version "1.1.1"
+ resolved "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.1.1.tgz"
+ integrity sha512-TpIO93+DIujg3g7SykEAGZMDtbJRrmnYRCNYSjJlvIbGhBjRSNTLVbNeDQBrzy9qDgUbiWdc7KA0uZHZ2tJmiw==
+ dependencies:
+ "@floating-ui/core" "^1.1.0"
+
+"@floating-ui/utils@^0.2.1":
+ version "0.2.1"
+ resolved "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.1.tgz"
+ integrity sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q==
+
"@hapi/hoek@^9.0.0", "@hapi/hoek@^9.3.0":
version "9.3.0"
resolved "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz"
@@ -1989,11 +2027,52 @@
resolved "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz"
integrity sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==
-"@iconify/types@^2.0.0":
+"@iconify-json/carbon@^1.1.27":
+ version "1.1.30"
+ resolved "https://registry.npmjs.org/@iconify-json/carbon/-/carbon-1.1.30.tgz"
+ integrity sha512-tEvEmxCO0J0t0p2NT2IvJ+iiSNqqnabygSo/S8wkeh2Guhc4tQOgl9dxvDMpy6RqwtKRTKsaROPtnRfu/bl+Tg==
+ dependencies:
+ "@iconify/types" "*"
+
+"@iconify-json/logos@^1.1.42":
+ version "1.1.42"
+ resolved "https://registry.npmjs.org/@iconify-json/logos/-/logos-1.1.42.tgz"
+ integrity sha512-/f+frtPm3m3Z30oy8Pk+QqRDkbmAiIaWGPl5CmsCXm15MVfvw9a/V/gD7WzdyuSGAZcFuQaqbHXj92y/n+2ifg==
+ dependencies:
+ "@iconify/types" "*"
+
+"@iconify-json/ri@^1.1.18":
+ version "1.1.19"
+ resolved "https://registry.npmjs.org/@iconify-json/ri/-/ri-1.1.19.tgz"
+ integrity sha512-S9usTucQOY//J3LGIGZ+A6i8AYGCStDcLKjmWzI2UPnWJo+Xd5dESMQGkhOI5BlG3W4AtH6RmiXcpbPy3krmjQ==
+ dependencies:
+ "@iconify/types" "*"
+
+"@iconify-json/tabler@^1.1.103":
+ version "1.1.105"
+ resolved "https://registry.npmjs.org/@iconify-json/tabler/-/tabler-1.1.105.tgz"
+ integrity sha512-USJbNfa0fAHBLilxTKn70wkvFnopmfcomfpqD0ul/69uyZnonztHhyrbM8MI9Ua4eYXaPymoB7tuZ+Ionx6xfg==
+ dependencies:
+ "@iconify/types" "*"
+
+"@iconify/types@*", "@iconify/types@^2.0.0":
version "2.0.0"
resolved "https://registry.npmjs.org/@iconify/types/-/types-2.0.0.tgz"
integrity sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==
+"@iconify/utils@^2.1.22":
+ version "2.1.22"
+ resolved "https://registry.npmjs.org/@iconify/utils/-/utils-2.1.22.tgz"
+ integrity sha512-6UHVzTVXmvO8uS6xFF+L/QTSpTzA/JZxtgU+KYGFyDYMEObZ1bu/b5l+zNJjHy+0leWjHI+C0pXlzGvv3oXZMA==
+ dependencies:
+ "@antfu/install-pkg" "^0.1.1"
+ "@antfu/utils" "^0.7.5"
+ "@iconify/types" "^2.0.0"
+ debug "^4.3.4"
+ kolorist "^1.8.0"
+ local-pkg "^0.5.0"
+ mlly "^1.5.0"
+
"@iconify/vue@^4.1.1":
version "4.1.1"
resolved "https://registry.npmjs.org/@iconify/vue/-/vue-4.1.1.tgz"
@@ -2237,7 +2316,7 @@
resolved "https://registry.npmjs.org/@nuxt/devalue/-/devalue-2.0.2.tgz"
integrity sha512-GBzP8zOc7CGWyFQS6dv1lQz8VVpz5C2yRszbXufwG/9zhStTIH50EtD87NmWbTMwXDvZLNg8GIpb1UFdH93JCA==
-"@nuxt/devtools-kit@1.0.8":
+"@nuxt/devtools-kit@1.0.8", "@nuxt/devtools-kit@^1.0.8":
version "1.0.8"
resolved "https://registry.npmjs.org/@nuxt/devtools-kit/-/devtools-kit-1.0.8.tgz"
integrity sha512-j7bNZmoAXQ1a8qv6j6zk4c/aekrxYqYVQM21o/Hy4XHCUq4fajSgpoc8mjyWJSTfpkOmuLyEzMexpDWiIVSr6A==
@@ -2246,6 +2325,33 @@
"@nuxt/schema" "^3.9.1"
execa "^7.2.0"
+"@nuxt/devtools-ui-kit@^1.0.8":
+ version "1.0.8"
+ resolved "https://registry.npmjs.org/@nuxt/devtools-ui-kit/-/devtools-ui-kit-1.0.8.tgz"
+ integrity sha512-oPkyQ+nkvCvveWxHWAHpZt9uEycHFD00Rh46KYKe5KLl81Wr/L3KacIIYpiocPog0YZZhjvX5CmrIe8zXopNOA==
+ dependencies:
+ "@iconify-json/carbon" "^1.1.27"
+ "@iconify-json/logos" "^1.1.42"
+ "@iconify-json/ri" "^1.1.18"
+ "@iconify-json/tabler" "^1.1.103"
+ "@nuxt/devtools-kit" "1.0.8"
+ "@nuxt/kit" "^3.9.1"
+ "@nuxtjs/color-mode" "^3.3.2"
+ "@unocss/core" "^0.58.3"
+ "@unocss/nuxt" "^0.58.3"
+ "@unocss/preset-attributify" "^0.58.3"
+ "@unocss/preset-icons" "^0.58.3"
+ "@unocss/preset-mini" "^0.58.3"
+ "@unocss/reset" "^0.58.3"
+ "@vueuse/core" "^10.7.1"
+ "@vueuse/integrations" "^10.7.1"
+ "@vueuse/nuxt" "^10.7.1"
+ defu "^6.1.4"
+ focus-trap "^7.5.4"
+ splitpanes "^3.1.5"
+ unocss "^0.58.3"
+ v-lazy-show "^0.2.4"
+
"@nuxt/devtools-wizard@1.0.8":
version "1.0.8"
resolved "https://registry.npmjs.org/@nuxt/devtools-wizard/-/devtools-wizard-1.0.8.tgz"
@@ -2302,7 +2408,7 @@
which "^3.0.1"
ws "^8.16.0"
-"@nuxt/kit@3.10.2", "@nuxt/kit@^3.3.2", "@nuxt/kit@^3.5.0", "@nuxt/kit@^3.6.5", "@nuxt/kit@^3.7.4", "@nuxt/kit@^3.8.2", "@nuxt/kit@^3.9.1", "@nuxt/kit@^3.9.3":
+"@nuxt/kit@3.10.2", "@nuxt/kit@^3.10.0", "@nuxt/kit@^3.10.2", "@nuxt/kit@^3.3.2", "@nuxt/kit@^3.5.0", "@nuxt/kit@^3.6.5", "@nuxt/kit@^3.7.4", "@nuxt/kit@^3.8.1", "@nuxt/kit@^3.8.2", "@nuxt/kit@^3.9.1", "@nuxt/kit@^3.9.3":
version "3.10.2"
resolved "https://registry.npmjs.org/@nuxt/kit/-/kit-3.10.2.tgz"
integrity sha512-Bua7taY9CIm7HCTpHXqFyM1xlZkrUl6HOqWrkGjLLQg9eeWAdKT7ppT0iEMiGnb9f+5T0uL5Ec3TvuR5J8P9WA==
@@ -2326,7 +2432,7 @@
unimport "^3.7.1"
untyped "^1.4.2"
-"@nuxt/schema@3.10.2", "@nuxt/schema@^3.9.1":
+"@nuxt/schema@3.10.2", "@nuxt/schema@^3.10.0", "@nuxt/schema@^3.9.1":
version "3.10.2"
resolved "https://registry.npmjs.org/@nuxt/schema/-/schema-3.10.2.tgz"
integrity sha512-hHVnMlPKYR6AVK889gvcYVgewB1885/KPZW6uYhVWkeKGc63JzNCILq8ykTqG/t8LpG1ZJpwxo5KtDk9nIZrfA==
@@ -2411,6 +2517,40 @@
vite-plugin-checker "^0.6.4"
vue-bundle-renderer "^2.0.0"
+"@nuxtjs/color-mode@^3.3.2":
+ version "3.3.2"
+ resolved "https://registry.npmjs.org/@nuxtjs/color-mode/-/color-mode-3.3.2.tgz"
+ integrity sha512-BLpBfrYZngV2QWFQ4HNEFwAXa3Pno43Ge+2XHcZJTTa1Z4KzRLvOwku8yiyV3ovIaaXKGwduBdv3Z5Ocdp0/+g==
+ dependencies:
+ "@nuxt/kit" "^3.8.1"
+ lodash.template "^4.5.0"
+ pathe "^1.1.1"
+
+"@nuxtjs/sitemap@^5.1.0":
+ version "5.1.0"
+ resolved "https://registry.npmjs.org/@nuxtjs/sitemap/-/sitemap-5.1.0.tgz"
+ integrity sha512-F7fAAdzHLJsca0CBJEvZD6Jbl5mZ/egMFJqDjdUByTsaPAygP+FcXhV/lycAtwDMNWThwyZaV3zKyRl2yxX3BQ==
+ dependencies:
+ "@nuxt/devtools-kit" "^1.0.8"
+ "@nuxt/devtools-ui-kit" "^1.0.8"
+ "@nuxt/kit" "^3.10.0"
+ "@vueuse/core" "^10.7.2"
+ chalk "^5.3.0"
+ defu "^6.1.4"
+ floating-vue "5.2.2"
+ h3-compression "^0.3.2"
+ nuxt-site-config "^2.2.8"
+ nuxt-site-config-kit "^2.2.8"
+ ofetch "^1.3.3"
+ pathe "^1.1.2"
+ pkg-types "^1.0.3"
+ radix3 "^1.1.0"
+ semver "^7.5.4"
+ shiki "1.0.0-beta.2"
+ sirv "^2.0.4"
+ site-config-stack "^2.2.8"
+ ufo "^1.3.2"
+
"@nuxtjs/tailwindcss@^6.8.0":
version "6.11.4"
resolved "https://registry.npmjs.org/@nuxtjs/tailwindcss/-/tailwindcss-6.11.4.tgz"
@@ -2703,6 +2843,16 @@
resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.12.0.tgz#9ffdf9ed133a7464f4ae187eb9e1294413fab235"
integrity sha512-ZYmr5mS2wd4Dew/JjT0Fqi2NPB/ZhZ2VvPp7SmvPZb4Y1CG/LRcS6tcRo2cYU7zLK5A7cdbhWnnWmUjoI4qapg==
+"@shikijs/core@1.0.0-beta.2":
+ version "1.0.0-beta.2"
+ resolved "https://registry.npmjs.org/@shikijs/core/-/core-1.0.0-beta.2.tgz"
+ integrity sha512-H0r+V4/47hXZzFW2qXRqjLwNtiUE5bQankMw2m2RE1hLgHSjp/skyBZYDXjhG9y7ei3sIZAj8s4vx31EzxxrhQ==
+
+"@shikijs/core@1.1.6":
+ version "1.1.6"
+ resolved "https://registry.npmjs.org/@shikijs/core/-/core-1.1.6.tgz"
+ integrity sha512-kt9hhvrWTm0EPtRDIsoAZnSsFlIDBVBBI5CQewpA/NZCPin+MOKRXg+JiWc4y+8fZ/v0HzfDhu/UC+OTZGMt7A==
+
"@sideway/address@^4.1.5":
version "4.1.5"
resolved "https://registry.npmjs.org/@sideway/address/-/address-4.1.5.tgz"
@@ -3362,6 +3512,253 @@
hookable "^5.5.3"
unhead "1.8.10"
+"@unocss/astro@0.58.5":
+ version "0.58.5"
+ resolved "https://registry.npmjs.org/@unocss/astro/-/astro-0.58.5.tgz"
+ integrity sha512-LtuVnj8oFAK9663OVhQO8KpdJFiOyyPsYfnOZlDCOFK3gHb/2WMrzdBwr1w8LoQF3bDedkFMKirVF7gWjyZiaw==
+ dependencies:
+ "@unocss/core" "0.58.5"
+ "@unocss/reset" "0.58.5"
+ "@unocss/vite" "0.58.5"
+
+"@unocss/cli@0.58.5":
+ version "0.58.5"
+ resolved "https://registry.npmjs.org/@unocss/cli/-/cli-0.58.5.tgz"
+ integrity sha512-FzVVXO9ghsGtJpu9uR4o7JeM9gUfWNbVZZ/IfH+0WbDJuyx4rO/jwN55z0yA5QDkhvOz9DvzwPCBzLpTJ5q+Lw==
+ dependencies:
+ "@ampproject/remapping" "^2.2.1"
+ "@rollup/pluginutils" "^5.1.0"
+ "@unocss/config" "0.58.5"
+ "@unocss/core" "0.58.5"
+ "@unocss/preset-uno" "0.58.5"
+ cac "^6.7.14"
+ chokidar "^3.5.3"
+ colorette "^2.0.20"
+ consola "^3.2.3"
+ fast-glob "^3.3.2"
+ magic-string "^0.30.6"
+ pathe "^1.1.2"
+ perfect-debounce "^1.0.0"
+
+"@unocss/config@0.58.5":
+ version "0.58.5"
+ resolved "https://registry.npmjs.org/@unocss/config/-/config-0.58.5.tgz"
+ integrity sha512-O1pLSeNXfG11QHaLSVwS9rJKvE4b9304IQ3UvOdbYN+7SAT4YTZ7JDU4ngO1KWyOFBO6RD0WspCR95pgqOqJiQ==
+ dependencies:
+ "@unocss/core" "0.58.5"
+ unconfig "^0.3.11"
+
+"@unocss/core@0.58.5", "@unocss/core@^0.58.3", "@unocss/core@^0.58.5":
+ version "0.58.5"
+ resolved "https://registry.npmjs.org/@unocss/core/-/core-0.58.5.tgz"
+ integrity sha512-qbPqL+46hf1/UelQOwUwpAuvm6buoss43DPYHOPdfNJ+NTWkSpATQMF0JKT04QE0QRQbHNSHdMe9ariG+IIlCw==
+
+"@unocss/extractor-arbitrary-variants@0.58.5":
+ version "0.58.5"
+ resolved "https://registry.npmjs.org/@unocss/extractor-arbitrary-variants/-/extractor-arbitrary-variants-0.58.5.tgz"
+ integrity sha512-KJQX0OJKzy4YjJo09h2la2Q+cn5IJ1JdyPVJJkzovHnv7jSBWzsfct+bj/6a+SJ4p4JBIqEJz3M/qxHv4EPJyA==
+ dependencies:
+ "@unocss/core" "0.58.5"
+
+"@unocss/inspector@0.58.5":
+ version "0.58.5"
+ resolved "https://registry.npmjs.org/@unocss/inspector/-/inspector-0.58.5.tgz"
+ integrity sha512-cbJlIHEZ14puTtttf7sl+VZFDscV1DJiSseh9sSe0xJ/1NVBT9Bvkm09/1tnpLYAgF5gfa1CaCcjKmURgYzKrA==
+ dependencies:
+ "@unocss/core" "0.58.5"
+ "@unocss/rule-utils" "0.58.5"
+ gzip-size "^6.0.0"
+ sirv "^2.0.4"
+
+"@unocss/nuxt@^0.58.3":
+ version "0.58.5"
+ resolved "https://registry.npmjs.org/@unocss/nuxt/-/nuxt-0.58.5.tgz"
+ integrity sha512-x5iIGATNAhAGfN2w0f+ulRzmJTgu7PcJ8XAFmAx9QMKkVGnnurZEyW4IEm3Kr/EsRMhJXLtmZnsAGjC09qUh6A==
+ dependencies:
+ "@nuxt/kit" "^3.10.0"
+ "@unocss/config" "0.58.5"
+ "@unocss/core" "0.58.5"
+ "@unocss/preset-attributify" "0.58.5"
+ "@unocss/preset-icons" "0.58.5"
+ "@unocss/preset-tagify" "0.58.5"
+ "@unocss/preset-typography" "0.58.5"
+ "@unocss/preset-uno" "0.58.5"
+ "@unocss/preset-web-fonts" "0.58.5"
+ "@unocss/preset-wind" "0.58.5"
+ "@unocss/reset" "0.58.5"
+ "@unocss/vite" "0.58.5"
+ "@unocss/webpack" "0.58.5"
+ unocss "0.58.5"
+
+"@unocss/postcss@0.58.5":
+ version "0.58.5"
+ resolved "https://registry.npmjs.org/@unocss/postcss/-/postcss-0.58.5.tgz"
+ integrity sha512-m4L2YRdYfT6CV306Kl2VwEwbqa/92EpW4GE2Kqak1RuJyFJXBnWEEMJV4Uy6B1jWKLlCEWkuVUW33JUg7X6BxQ==
+ dependencies:
+ "@unocss/config" "0.58.5"
+ "@unocss/core" "0.58.5"
+ "@unocss/rule-utils" "0.58.5"
+ css-tree "^2.3.1"
+ fast-glob "^3.3.2"
+ magic-string "^0.30.6"
+ postcss "^8.4.33"
+
+"@unocss/preset-attributify@0.58.5", "@unocss/preset-attributify@^0.58.3":
+ version "0.58.5"
+ resolved "https://registry.npmjs.org/@unocss/preset-attributify/-/preset-attributify-0.58.5.tgz"
+ integrity sha512-OR4gUHamHCb4/LB/zZHlibaraTyILfFvRIzgmJnEb6lITGApQUl86qaJcTbTyfTfLVRufLG/JVeuz2HLUBPRXw==
+ dependencies:
+ "@unocss/core" "0.58.5"
+
+"@unocss/preset-icons@0.58.5", "@unocss/preset-icons@^0.58.3":
+ version "0.58.5"
+ resolved "https://registry.npmjs.org/@unocss/preset-icons/-/preset-icons-0.58.5.tgz"
+ integrity sha512-LDNXavHtWaIvMvBezT9O8yiqHJChVCEfTRO6YFVY0yy+wo5jHiuMh6iKeHVcwbYdn3NqHYmpi7b/hrXPMtODzA==
+ dependencies:
+ "@iconify/utils" "^2.1.22"
+ "@unocss/core" "0.58.5"
+ ofetch "^1.3.3"
+
+"@unocss/preset-mini@0.58.5", "@unocss/preset-mini@^0.58.3":
+ version "0.58.5"
+ resolved "https://registry.npmjs.org/@unocss/preset-mini/-/preset-mini-0.58.5.tgz"
+ integrity sha512-WqD31fKUAN28OCUOyi1uremmLk0eTMqtCizjbbXsY/DP6RKYUT7trFAtppTcHWFhSQcknb4FURfAZppACsTVQQ==
+ dependencies:
+ "@unocss/core" "0.58.5"
+ "@unocss/extractor-arbitrary-variants" "0.58.5"
+ "@unocss/rule-utils" "0.58.5"
+
+"@unocss/preset-tagify@0.58.5":
+ version "0.58.5"
+ resolved "https://registry.npmjs.org/@unocss/preset-tagify/-/preset-tagify-0.58.5.tgz"
+ integrity sha512-UB9IXi8vA/SzmmRLMWR7bzeBpxpiRo7y9xk3ruvDddYlsyiwIeDIMwG23YtcA6q41FDQvkrmvTxUEH9LFlv6aA==
+ dependencies:
+ "@unocss/core" "0.58.5"
+
+"@unocss/preset-typography@0.58.5":
+ version "0.58.5"
+ resolved "https://registry.npmjs.org/@unocss/preset-typography/-/preset-typography-0.58.5.tgz"
+ integrity sha512-rFny4a9yxgY34XOom5euCqQaOLV8PpbTg0Pn+5FelUMG4OfMevTwBCe9JttFJcUc3cNTL2enkzIdMa3l66114g==
+ dependencies:
+ "@unocss/core" "0.58.5"
+ "@unocss/preset-mini" "0.58.5"
+
+"@unocss/preset-uno@0.58.5":
+ version "0.58.5"
+ resolved "https://registry.npmjs.org/@unocss/preset-uno/-/preset-uno-0.58.5.tgz"
+ integrity sha512-vgq/R4f7RDmdROy+pX+PeE38I3SgYKd4LL7Wb1HJUaVwz7PkF0XHCynOTbwrPXnK1kp1cnZYYEww7/RiYp+IQQ==
+ dependencies:
+ "@unocss/core" "0.58.5"
+ "@unocss/preset-mini" "0.58.5"
+ "@unocss/preset-wind" "0.58.5"
+ "@unocss/rule-utils" "0.58.5"
+
+"@unocss/preset-web-fonts@0.58.5":
+ version "0.58.5"
+ resolved "https://registry.npmjs.org/@unocss/preset-web-fonts/-/preset-web-fonts-0.58.5.tgz"
+ integrity sha512-WKZ5raSClFXhqzfAhApef3+fuMq6cjKBxvhJ1FBIxFKcSOvN8e2czty2iGQVl02yMsxBWMv0Bpfm7np+cCoI1w==
+ dependencies:
+ "@unocss/core" "0.58.5"
+ ofetch "^1.3.3"
+
+"@unocss/preset-wind@0.58.5":
+ version "0.58.5"
+ resolved "https://registry.npmjs.org/@unocss/preset-wind/-/preset-wind-0.58.5.tgz"
+ integrity sha512-54RkjLmlqMUlC8o8nDCVzB25D1zzK4eth+/3uQzt739qU0U92NxuZKY21ADj9Rp/mVhKBV5FKuXPjmYc6yTQRQ==
+ dependencies:
+ "@unocss/core" "0.58.5"
+ "@unocss/preset-mini" "0.58.5"
+ "@unocss/rule-utils" "0.58.5"
+
+"@unocss/reset@0.58.5", "@unocss/reset@^0.58.3":
+ version "0.58.5"
+ resolved "https://registry.npmjs.org/@unocss/reset/-/reset-0.58.5.tgz"
+ integrity sha512-2wMrkCj3SSb5hrx9TKs5jZa34QIRkHv9FotbJutAPo7o8hx+XXn56ogzdoUrcFPJZJUx2R2nyOVbSlGMIjtFtw==
+
+"@unocss/rule-utils@0.58.5":
+ version "0.58.5"
+ resolved "https://registry.npmjs.org/@unocss/rule-utils/-/rule-utils-0.58.5.tgz"
+ integrity sha512-w0sGJoeUGwMWLVFLEE9PDiv/fQcQqZnTIIQLYNCjTdqXDRlwTp9ACW0h47x/hAAIXdOtEOOBuTfjGD79GznUmA==
+ dependencies:
+ "@unocss/core" "^0.58.5"
+ magic-string "^0.30.6"
+
+"@unocss/scope@0.58.5":
+ version "0.58.5"
+ resolved "https://registry.npmjs.org/@unocss/scope/-/scope-0.58.5.tgz"
+ integrity sha512-vSentagAwYTnThGRCjzZ6eNSSRuzdWBl21L1BbvVNM91Ss/FugQnZ1hd0m3TrVvvStYXnFVHMQ/MjCAEJ4cMYg==
+
+"@unocss/transformer-attributify-jsx-babel@0.58.5":
+ version "0.58.5"
+ resolved "https://registry.npmjs.org/@unocss/transformer-attributify-jsx-babel/-/transformer-attributify-jsx-babel-0.58.5.tgz"
+ integrity sha512-IAWSSKN3V0D87DE8bqaaPrZBWOdWQ06QNfi9vRuQJfRWOui87ezi9+NffjcnQw/ap9xMk1O6z74/WOW3zo6uYA==
+ dependencies:
+ "@babel/core" "^7.23.9"
+ "@babel/plugin-syntax-jsx" "^7.23.3"
+ "@babel/preset-typescript" "^7.23.3"
+ "@unocss/core" "0.58.5"
+
+"@unocss/transformer-attributify-jsx@0.58.5":
+ version "0.58.5"
+ resolved "https://registry.npmjs.org/@unocss/transformer-attributify-jsx/-/transformer-attributify-jsx-0.58.5.tgz"
+ integrity sha512-sItEALyvAt3PZLd9Q1tlIATjaj3kWbS/qI3otUVsYBdZjP4UudzJ3D1fcWNL2WPlgz8KtlVzRUuxob8TQ4ibZg==
+ dependencies:
+ "@unocss/core" "0.58.5"
+
+"@unocss/transformer-compile-class@0.58.5":
+ version "0.58.5"
+ resolved "https://registry.npmjs.org/@unocss/transformer-compile-class/-/transformer-compile-class-0.58.5.tgz"
+ integrity sha512-4MaxjaZo1rf5uHvDGa2mbnXxAYVYoj1+oRNpL4fE3FoExS1Ka2CiNGQn/S4bHMF51vmXMSWtOzurJpPD4BaJUQ==
+ dependencies:
+ "@unocss/core" "0.58.5"
+
+"@unocss/transformer-directives@0.58.5":
+ version "0.58.5"
+ resolved "https://registry.npmjs.org/@unocss/transformer-directives/-/transformer-directives-0.58.5.tgz"
+ integrity sha512-allspF5TlT1B2bJSZ1houHScXOTaTPlatLiEmgQKzr/m93rCvktokaO5J6qeN2VXQdpTIsxdA5B8//7UkfTuIA==
+ dependencies:
+ "@unocss/core" "0.58.5"
+ "@unocss/rule-utils" "0.58.5"
+ css-tree "^2.3.1"
+
+"@unocss/transformer-variant-group@0.58.5":
+ version "0.58.5"
+ resolved "https://registry.npmjs.org/@unocss/transformer-variant-group/-/transformer-variant-group-0.58.5.tgz"
+ integrity sha512-SjUwGzKK5CVqn7Gg+3v3hV47ZUll7GcGu0vR3RCLO4gqEfFlZWMTHml1Sl2sY1WAca2iVcDRu+dp0RLxRG/dUA==
+ dependencies:
+ "@unocss/core" "0.58.5"
+
+"@unocss/vite@0.58.5":
+ version "0.58.5"
+ resolved "https://registry.npmjs.org/@unocss/vite/-/vite-0.58.5.tgz"
+ integrity sha512-p4o1XNX1rvjmoUqSSdua8XyWNg/d+YUChDd2L/xEty+6j2qv0wUaohs3UQ87vWlv632/UmgdX+2MbrgtqthCtw==
+ dependencies:
+ "@ampproject/remapping" "^2.2.1"
+ "@rollup/pluginutils" "^5.1.0"
+ "@unocss/config" "0.58.5"
+ "@unocss/core" "0.58.5"
+ "@unocss/inspector" "0.58.5"
+ "@unocss/scope" "0.58.5"
+ "@unocss/transformer-directives" "0.58.5"
+ chokidar "^3.5.3"
+ fast-glob "^3.3.2"
+ magic-string "^0.30.6"
+
+"@unocss/webpack@0.58.5":
+ version "0.58.5"
+ resolved "https://registry.npmjs.org/@unocss/webpack/-/webpack-0.58.5.tgz"
+ integrity sha512-FR17fZRZA+dHJtk7mmUUOlWuuhAxahhsQlTG0WSHh1FVDtpHGwGKDqWHrfmhFRi0XOcV+5bkVc6cp05yjfYqdA==
+ dependencies:
+ "@ampproject/remapping" "^2.2.1"
+ "@rollup/pluginutils" "^5.1.0"
+ "@unocss/config" "0.58.5"
+ "@unocss/core" "0.58.5"
+ chokidar "^3.5.3"
+ fast-glob "^3.3.2"
+ magic-string "^0.30.6"
+ unplugin "^1.6.0"
+ webpack-sources "^3.2.3"
+
"@vercel/nft@^0.24.3":
version "0.24.4"
resolved "https://registry.npmjs.org/@vercel/nft/-/nft-0.24.4.tgz"
@@ -3684,6 +4081,16 @@
"@vueuse/shared" "10.7.2"
vue-demi ">=0.14.6"
+"@vueuse/core@10.8.0", "@vueuse/core@^10.7.1", "@vueuse/core@^10.7.2":
+ version "10.8.0"
+ resolved "https://registry.npmjs.org/@vueuse/core/-/core-10.8.0.tgz"
+ integrity sha512-G9Ok9fjx10TkNIPn8V1dJmK1NcdJCtYmDRyYiTMUyJ1p0Tywc1zmOoCQ2xhHYyz8ULBU4KjIJQ9n+Lrty74iVw==
+ dependencies:
+ "@types/web-bluetooth" "^0.0.20"
+ "@vueuse/metadata" "10.8.0"
+ "@vueuse/shared" "10.8.0"
+ vue-demi ">=0.14.7"
+
"@vueuse/core@^9.3.0":
version "9.13.0"
resolved "https://registry.npmjs.org/@vueuse/core/-/core-9.13.0.tgz"
@@ -3694,16 +4101,41 @@
"@vueuse/shared" "9.13.0"
vue-demi "*"
+"@vueuse/integrations@^10.7.1":
+ version "10.8.0"
+ resolved "https://registry.npmjs.org/@vueuse/integrations/-/integrations-10.8.0.tgz"
+ integrity sha512-sw3P/7cXOfNLQfERp7P0IJ2ODjLE2C3BGXpBQJQkS309c1jbJak9yu4EnY70WaZjkj53aeWSFU6BbHrUxXJ7SA==
+ dependencies:
+ "@vueuse/core" "10.8.0"
+ "@vueuse/shared" "10.8.0"
+ vue-demi ">=0.14.7"
+
"@vueuse/metadata@10.7.2":
version "10.7.2"
resolved "https://registry.npmjs.org/@vueuse/metadata/-/metadata-10.7.2.tgz"
integrity sha512-kCWPb4J2KGrwLtn1eJwaJD742u1k5h6v/St5wFe8Quih90+k2a0JP8BS4Zp34XUuJqS2AxFYMb1wjUL8HfhWsQ==
+"@vueuse/metadata@10.8.0":
+ version "10.8.0"
+ resolved "https://registry.npmjs.org/@vueuse/metadata/-/metadata-10.8.0.tgz"
+ integrity sha512-Nim/Vle5OgXcXhAvGOgkJQXB1Yb+Kq/fMbLuv3YYDYbiQrwr39ljuD4k9fPeq4yUyokYRo2RaNQmbbIMWB/9+w==
+
"@vueuse/metadata@9.13.0":
version "9.13.0"
resolved "https://registry.npmjs.org/@vueuse/metadata/-/metadata-9.13.0.tgz"
integrity sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ==
+"@vueuse/nuxt@^10.7.1":
+ version "10.8.0"
+ resolved "https://registry.npmjs.org/@vueuse/nuxt/-/nuxt-10.8.0.tgz"
+ integrity sha512-7b1S52exryoJoAgwH/4GRjtCjr7j8Fc5/H/orAt1DxZuiOGYEOCo7zaoM6twiURSzyiBiUemdvaRJqYzV37W6A==
+ dependencies:
+ "@nuxt/kit" "^3.10.2"
+ "@vueuse/core" "10.8.0"
+ "@vueuse/metadata" "10.8.0"
+ local-pkg "^0.5.0"
+ vue-demi ">=0.14.7"
+
"@vueuse/shared@10.7.2":
version "10.7.2"
resolved "https://registry.npmjs.org/@vueuse/shared/-/shared-10.7.2.tgz"
@@ -3711,6 +4143,13 @@
dependencies:
vue-demi ">=0.14.6"
+"@vueuse/shared@10.8.0":
+ version "10.8.0"
+ resolved "https://registry.npmjs.org/@vueuse/shared/-/shared-10.8.0.tgz"
+ integrity sha512-dUdy6zwHhULGxmr9YUg8e+EnB39gcM4Fe2oKBSrh3cOsV30JcMPtsyuspgFCUo5xxFNaeMf/W2yyKfST7Bg8oQ==
+ dependencies:
+ vue-demi ">=0.14.7"
+
"@vueuse/shared@9.13.0":
version "9.13.0"
resolved "https://registry.npmjs.org/@vueuse/shared/-/shared-9.13.0.tgz"
@@ -4590,6 +5029,11 @@ colord@^2.9.1:
resolved "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz"
integrity sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==
+colorette@^2.0.20:
+ version "2.0.20"
+ resolved "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz"
+ integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==
+
combined-stream@^1.0.8:
version "1.0.8"
resolved "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz"
@@ -5479,6 +5923,21 @@ execa@^1.0.0:
signal-exit "^3.0.0"
strip-eof "^1.0.0"
+execa@^5.1.1:
+ version "5.1.1"
+ resolved "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz"
+ integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==
+ dependencies:
+ cross-spawn "^7.0.3"
+ get-stream "^6.0.0"
+ human-signals "^2.1.0"
+ is-stream "^2.0.0"
+ merge-stream "^2.0.0"
+ npm-run-path "^4.0.1"
+ onetime "^5.1.2"
+ signal-exit "^3.0.3"
+ strip-final-newline "^2.0.0"
+
execa@^7.2.0:
version "7.2.0"
resolved "https://registry.npmjs.org/execa/-/execa-7.2.0.tgz"
@@ -5682,6 +6141,21 @@ flatted@^3.2.9:
resolved "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz"
integrity sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==
+floating-vue@5.2.2:
+ version "5.2.2"
+ resolved "https://registry.npmjs.org/floating-vue/-/floating-vue-5.2.2.tgz"
+ integrity sha512-afW+h2CFafo+7Y9Lvw/xsqjaQlKLdJV7h1fCHfcYQ1C4SVMlu7OAekqWgu5d4SgvkBVU0pVpLlVsrSTBURFRkg==
+ dependencies:
+ "@floating-ui/dom" "~1.1.1"
+ vue-resize "^2.0.0-alpha.1"
+
+focus-trap@^7.5.4:
+ version "7.5.4"
+ resolved "https://registry.npmjs.org/focus-trap/-/focus-trap-7.5.4.tgz"
+ integrity sha512-N7kHdlgsO/v+iD/dMoJKtsSqs5Dz/dXZVebRgJw23LDk+jMi/974zyiOYDziY2JPp8xivq9BmUGwIJMiuSBi7w==
+ dependencies:
+ tabbable "^6.2.0"
+
follow-redirects@^1.15.4:
version "1.15.5"
resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz"
@@ -5820,7 +6294,7 @@ get-stream@^4.0.0:
dependencies:
pump "^3.0.0"
-get-stream@^6.0.1:
+get-stream@^6.0.0, get-stream@^6.0.1:
version "6.0.1"
resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz"
integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==
@@ -5982,6 +6456,13 @@ gsap@^3.12.2:
resolved "https://registry.npmjs.org/gsap/-/gsap-3.12.5.tgz"
integrity sha512-srBfnk4n+Oe/ZnMIOXt3gT605BX9x5+rh/prT2F1SsNJsU1XuMiP0E2aptW481OnonOGACZWBqseH5Z7csHxhQ==
+gzip-size@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz"
+ integrity sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==
+ dependencies:
+ duplexer "^0.1.2"
+
gzip-size@^7.0.0:
version "7.0.0"
resolved "https://registry.npmjs.org/gzip-size/-/gzip-size-7.0.0.tgz"
@@ -5989,6 +6470,11 @@ gzip-size@^7.0.0:
dependencies:
duplexer "^0.1.2"
+h3-compression@^0.3.2:
+ version "0.3.2"
+ resolved "https://registry.npmjs.org/h3-compression/-/h3-compression-0.3.2.tgz"
+ integrity sha512-B+yCKyDRnO0BXSfjAP4tCXJgJwmnKp3GyH5Yh66mY9KuOCrrGQSPk/gBFG2TgH7OyB/6mvqNZ1X0XNVuy0qRsw==
+
h3@^1.10.0, h3@^1.10.1, h3@^1.8.2, h3@^1.9.0:
version "1.10.2"
resolved "https://registry.npmjs.org/h3/-/h3-1.10.2.tgz"
@@ -6166,6 +6652,11 @@ httpxy@^0.1.5:
resolved "https://registry.npmjs.org/httpxy/-/httpxy-0.1.5.tgz"
integrity sha512-hqLDO+rfststuyEUTWObQK6zHEEmZ/kaIP2/zclGGZn6X8h/ESTWg+WKecQ/e5k4nPswjzZD+q2VqZIbr15CoQ==
+human-signals@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz"
+ integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==
+
human-signals@^4.3.0:
version "4.3.1"
resolved "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz"
@@ -6432,6 +6923,11 @@ is-stream@^1.1.0:
resolved "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz"
integrity sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==
+is-stream@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz"
+ integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==
+
is-stream@^3.0.0:
version "3.0.0"
resolved "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz"
@@ -6505,7 +7001,7 @@ jest-worker@^28.0.2:
merge-stream "^2.0.0"
supports-color "^8.0.0"
-jiti@^1.19.1, jiti@^1.21.0:
+jiti@^1.19.1, jiti@^1.20.0, jiti@^1.21.0:
version "1.21.0"
resolved "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz"
integrity sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==
@@ -6813,6 +7309,11 @@ locate-path@^6.0.0:
dependencies:
p-locate "^5.0.0"
+lodash._reinterpolate@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz"
+ integrity sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==
+
lodash.debounce@^4.0.8:
version "4.0.8"
resolved "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz"
@@ -6843,6 +7344,21 @@ lodash.merge@^4.6.2:
resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz"
integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==
+lodash.template@^4.5.0:
+ version "4.5.0"
+ resolved "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz"
+ integrity sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==
+ dependencies:
+ lodash._reinterpolate "^3.0.0"
+ lodash.templatesettings "^4.0.0"
+
+lodash.templatesettings@^4.0.0:
+ version "4.2.0"
+ resolved "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz"
+ integrity sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==
+ dependencies:
+ lodash._reinterpolate "^3.0.0"
+
lodash.uniq@^4.5.0:
version "4.5.0"
resolved "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz"
@@ -7501,6 +8017,36 @@ nuxt-lazy-hydrate@^1.0.0:
"@nuxt/kit" "^3.3.2"
vue3-lazy-hydration "^1.2.1"
+nuxt-site-config-kit@2.2.9, nuxt-site-config-kit@^2.2.8:
+ version "2.2.9"
+ resolved "https://registry.npmjs.org/nuxt-site-config-kit/-/nuxt-site-config-kit-2.2.9.tgz"
+ integrity sha512-K3Pi7OBeztfjTxEpk0kEpbRwyhKQf15MIJQUAeqep9K2RbAdzhSygfpHZUcWc0KL2l0E5qKrvdcM14Gc/9dZdg==
+ dependencies:
+ "@nuxt/kit" "^3.10.0"
+ "@nuxt/schema" "^3.10.0"
+ pkg-types "^1.0.3"
+ site-config-stack "2.2.9"
+ std-env "^3.7.0"
+ ufo "^1.3.2"
+
+nuxt-site-config@^2.2.8:
+ version "2.2.9"
+ resolved "https://registry.npmjs.org/nuxt-site-config/-/nuxt-site-config-2.2.9.tgz"
+ integrity sha512-oIxo7OTmVyPHi1uduAQUg1Py8W3ZM0to2z5SCffmhME47I0wK2wK8OimSY2ZpbKsNLfaxExEvR10vSbhgy9rOA==
+ dependencies:
+ "@nuxt/devtools-kit" "^1.0.8"
+ "@nuxt/devtools-ui-kit" "^1.0.8"
+ "@nuxt/kit" "^3.10.0"
+ "@nuxt/schema" "^3.10.0"
+ floating-vue "5.2.2"
+ nuxt-site-config-kit "2.2.9"
+ pathe "^1.1.2"
+ pkg-types "^1.0.3"
+ shiki "^1.0.0-beta.3"
+ sirv "^2.0.4"
+ site-config-stack "2.2.9"
+ ufo "^1.3.2"
+
nuxt@^3.7.4:
version "3.10.2"
resolved "https://registry.npmjs.org/nuxt/-/nuxt-3.10.2.tgz"
@@ -7635,7 +8181,7 @@ once@^1.3.0, once@^1.3.1, once@^1.4.0:
dependencies:
wrappy "1"
-onetime@^5.1.0:
+onetime@^5.1.0, onetime@^5.1.2:
version "5.1.2"
resolved "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz"
integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==
@@ -8773,6 +9319,20 @@ shell-quote@^1.8.1:
resolved "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz"
integrity sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==
+shiki@1.0.0-beta.2:
+ version "1.0.0-beta.2"
+ resolved "https://registry.npmjs.org/shiki/-/shiki-1.0.0-beta.2.tgz"
+ integrity sha512-hPJcD6F5BRp2yfeBcERqQIVeEPjE2g+r5MVq/tonz2SxT6o79e84Y9iW+a5TyGXWtXAKiW5jd4lGevJ4yIUixA==
+ dependencies:
+ "@shikijs/core" "1.0.0-beta.2"
+
+shiki@^1.0.0-beta.3:
+ version "1.1.6"
+ resolved "https://registry.npmjs.org/shiki/-/shiki-1.1.6.tgz"
+ integrity sha512-j4pcpvaQWHb42cHeV+W6P+X/VcK7Y2ctvEham6zB8wsuRQroT6cEMIkiUmBU2Nqg2qnHZDH6ZyRdVldcy0l6xw==
+ dependencies:
+ "@shikijs/core" "1.1.6"
+
side-channel@^1.0.4:
version "1.0.5"
resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.0.5.tgz"
@@ -8783,7 +9343,7 @@ side-channel@^1.0.4:
get-intrinsic "^1.2.4"
object-inspect "^1.13.1"
-signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.7:
+signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7:
version "3.0.7"
resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz"
integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==
@@ -8828,6 +9388,13 @@ sisteransi@^1.0.5:
resolved "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz"
integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==
+site-config-stack@2.2.9, site-config-stack@^2.2.8:
+ version "2.2.9"
+ resolved "https://registry.npmjs.org/site-config-stack/-/site-config-stack-2.2.9.tgz"
+ integrity sha512-r3Ul70Rb7dIQBmHes8TPR/1cB2alaxIrr+0x7RDmOnOPw144ofp5/Ye9AKJ+TlqTpAQpZiV3phE7AJEjEFNuuQ==
+ dependencies:
+ ufo "^1.3.2"
+
slash@^3.0.0:
version "3.0.0"
resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz"
@@ -8919,6 +9486,11 @@ spdx-license-ids@^3.0.0:
resolved "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.17.tgz"
integrity sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==
+splitpanes@^3.1.5:
+ version "3.1.5"
+ resolved "https://registry.npmjs.org/splitpanes/-/splitpanes-3.1.5.tgz"
+ integrity sha512-r3Mq2ITFQ5a2VXLOy4/Sb2Ptp7OfEO8YIbhVJqJXoFc9hc5nTXXkCvtVDjIGbvC0vdE7tse+xTM9BMjsszP6bw==
+
sprintf-js@^1.1.3:
version "1.1.3"
resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz"
@@ -9012,6 +9584,11 @@ strip-eof@^1.0.0:
resolved "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz"
integrity sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==
+strip-final-newline@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz"
+ integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==
+
strip-final-newline@^3.0.0:
version "3.0.0"
resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz"
@@ -9126,6 +9703,11 @@ system-architecture@^0.1.0:
resolved "https://registry.npmjs.org/system-architecture/-/system-architecture-0.1.0.tgz"
integrity sha512-ulAk51I9UVUyJgxlv9M6lFot2WP3e7t8Kz9+IS6D4rVba1tR9kON+Ey69f+1R4Q8cd45Lod6a4IcJIxnzGc/zA==
+tabbable@^6.2.0:
+ version "6.2.0"
+ resolved "https://registry.npmjs.org/tabbable/-/tabbable-6.2.0.tgz"
+ integrity sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==
+
tailwind-config-viewer@^1.7.3:
version "1.7.3"
resolved "https://registry.npmjs.org/tailwind-config-viewer/-/tailwind-config-viewer-1.7.3.tgz"
@@ -9351,6 +9933,16 @@ ultrahtml@^1.5.2:
resolved "https://registry.npmjs.org/ultrahtml/-/ultrahtml-1.5.2.tgz"
integrity sha512-qh4mBffhlkiXwDAOxvSGxhL0QEQsTbnP9BozOK3OYPEGvPvdWzvAUaXNtUSMdNsKDtuyjEbyVUPFZ52SSLhLqw==
+unconfig@^0.3.11:
+ version "0.3.11"
+ resolved "https://registry.npmjs.org/unconfig/-/unconfig-0.3.11.tgz"
+ integrity sha512-bV/nqePAKv71v3HdVUn6UefbsDKQWRX+bJIkiSm0+twIds6WiD2bJLWWT3i214+J/B4edufZpG2w7Y63Vbwxow==
+ dependencies:
+ "@antfu/utils" "^0.7.6"
+ defu "^6.1.2"
+ jiti "^1.20.0"
+ mlly "^1.4.2"
+
uncrypto@^0.1.3:
version "0.1.3"
resolved "https://registry.npmjs.org/uncrypto/-/uncrypto-0.1.3.tgz"
@@ -9465,6 +10057,32 @@ universalify@^2.0.0:
resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz"
integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==
+unocss@0.58.5, unocss@^0.58.3:
+ version "0.58.5"
+ resolved "https://registry.npmjs.org/unocss/-/unocss-0.58.5.tgz"
+ integrity sha512-0g4P6jLgRRNnhscxw7nQ9RHGrKJ1UPPiHPet+YT3TXUcmy4mTiYgo9+kGQf5bjyrzsELJ10cT6Qz2y6g9Tls4g==
+ dependencies:
+ "@unocss/astro" "0.58.5"
+ "@unocss/cli" "0.58.5"
+ "@unocss/core" "0.58.5"
+ "@unocss/extractor-arbitrary-variants" "0.58.5"
+ "@unocss/postcss" "0.58.5"
+ "@unocss/preset-attributify" "0.58.5"
+ "@unocss/preset-icons" "0.58.5"
+ "@unocss/preset-mini" "0.58.5"
+ "@unocss/preset-tagify" "0.58.5"
+ "@unocss/preset-typography" "0.58.5"
+ "@unocss/preset-uno" "0.58.5"
+ "@unocss/preset-web-fonts" "0.58.5"
+ "@unocss/preset-wind" "0.58.5"
+ "@unocss/reset" "0.58.5"
+ "@unocss/transformer-attributify-jsx" "0.58.5"
+ "@unocss/transformer-attributify-jsx-babel" "0.58.5"
+ "@unocss/transformer-compile-class" "0.58.5"
+ "@unocss/transformer-directives" "0.58.5"
+ "@unocss/transformer-variant-group" "0.58.5"
+ "@unocss/vite" "0.58.5"
+
unpipe@1.0.0, unpipe@~1.0.0:
version "1.0.0"
resolved "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz"
@@ -9489,7 +10107,7 @@ unplugin-vue-router@^0.7.0:
unplugin "^1.5.0"
yaml "^2.3.2"
-unplugin@^1.3.1, unplugin@^1.5.0, unplugin@^1.5.1, unplugin@^1.7.1:
+unplugin@^1.3.1, unplugin@^1.5.0, unplugin@^1.5.1, unplugin@^1.6.0, unplugin@^1.7.1:
version "1.7.1"
resolved "https://registry.npmjs.org/unplugin/-/unplugin-1.7.1.tgz"
integrity sha512-JqzORDAPxxs8ErLV4x+LL7bk5pk3YlcWqpSNsIkAZj972KzFZLClc/ekppahKkOczGkwIG6ElFgdOgOlK4tXZw==
@@ -9578,6 +10196,11 @@ uuid@^8.3.2:
resolved "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz"
integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==
+v-lazy-show@^0.2.4:
+ version "0.2.4"
+ resolved "https://registry.npmjs.org/v-lazy-show/-/v-lazy-show-0.2.4.tgz"
+ integrity sha512-Lx9Str2i+HTh+zGzs9O3YyhGAZOAAfU+6MUUPcQPPiPxQO1sHBEv9sH3MO9bPc4T09gsjsS2+sbaCWQ1MdhpJQ==
+
validate-npm-package-license@^3.0.1, validate-npm-package-license@^3.0.4:
version "3.0.4"
resolved "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz"
@@ -9722,7 +10345,7 @@ vue-bundle-renderer@^2.0.0:
dependencies:
ufo "^1.2.0"
-vue-demi@*, vue-demi@>=0.14.5, vue-demi@>=0.14.6:
+vue-demi@*, vue-demi@>=0.14.5, vue-demi@>=0.14.6, vue-demi@>=0.14.7:
version "0.14.7"
resolved "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.7.tgz"
integrity sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==
@@ -9745,6 +10368,11 @@ vue-eslint-parser@^9.4.2:
lodash "^4.17.21"
semver "^7.3.6"
+vue-resize@^2.0.0-alpha.1:
+ version "2.0.0-alpha.1"
+ resolved "https://registry.npmjs.org/vue-resize/-/vue-resize-2.0.0-alpha.1.tgz"
+ integrity sha512-7+iqOueLU7uc9NrMfrzbG8hwMqchfVfSzpVlCMeJQe4pyibqyoifDNbKTZvwxZKDvGkB+PdFeKvnGZMoEb8esg==
+
vue-router@^4.2.5:
version "4.2.5"
resolved "https://registry.npmjs.org/vue-router/-/vue-router-4.2.5.tgz"
diff --git a/sitemap/sitemap.go b/sitemap/sitemap.go
index 3f1aaa69d..2478dccc2 100755
--- a/sitemap/sitemap.go
+++ b/sitemap/sitemap.go
@@ -4,7 +4,6 @@ import (
"bytes"
"embed"
"encoding/json"
- "encoding/xml"
"io"
"jobs"
"net/http"
@@ -34,34 +33,22 @@ func New(careerRepo *jobs.CareerRepository, templateFs embed.FS) *SitemapReposit
}
type URL struct {
- XMLName xml.Name `xml:"url"`
- Loc string `xml:"loc"`
- ChangeFreq string `xml:"changefreq"`
- LastMod string `xml:"lastmod"`
- Priority string `xml:"priority"`
- Video []Video `xml:"video:video;omitempty"`
+ Loc string `json:"loc"`
+ LastMod string `json:"lastmod"`
+ Priority string `json:"priority"`
}
-type Video struct {
- XMLName xml.Name `xml:"video:video"`
- Title string `xml:"video:title"`
- ContentLoc string `xml:"video:content_loc"`
- ThumbnailLoc string `xml:"video:thumbnail_loc"`
-}
-
-type Portfolio struct {
- Name string
- Videos []Video
-}
-
-type UniqueService struct {
- Name string
+// resources structs
+type Post struct {
+ Slug string `json:"slug"`
+ PublishedOn string `json:"published_on"`
}
-// resources structs
type Attributes struct {
- Slug string `json:"slug"`
- Username string `json:"username"`
+ Posts []Post `json:"posts"`
+ Slug string `json:"slug"`
+ CreatedAt string `json:"createdAt"`
+ Username string `json:"username"`
}
type Data struct {
@@ -69,14 +56,11 @@ type Data struct {
}
type Resources struct {
- Data []Data `json:"data"`
+ Data Data `json:"data"`
}
-type URLset struct {
- XMLName xml.Name `xml:"urlset"`
- XMLNS string `xml:"xmlns,attr"`
- XMLNSVideo string `xml:"xmlns:video,attr"`
- URL []URL `xml:"url"`
+type TagAndAuthors struct {
+ Data []Data `json:"data"`
}
func (repository *SitemapRepository) GenerateSitemap(c *gin.Context) {
@@ -94,32 +78,23 @@ func (repository *SitemapRepository) GenerateSitemap(c *gin.Context) {
return
}
- // add published resource blogs
- sitemapUrls, err = addPublishedResources(baseUrl, sitemapUrls)
- if err != nil {
- log.Error(err)
- c.AbortWithStatus(http.StatusInternalServerError)
- return
- }
-
//get first day of current month
year, month, _ := time.Now().Date()
- lastmod := time.Date(year, month, 1, 0, 0, 0, 0, time.UTC).Format("2006-01-02T00:00:00.000Z")
+ lastmod := time.Date(year, month, 1, 0, 0, 0, 0, time.UTC).Format("2006-01-02T00:00:00.000")
for i := range sitemapUrls {
- sitemapUrls[i].ChangeFreq = "monthly"
sitemapUrls[i].LastMod = lastmod
}
- urlset := URLset{
- URL: sitemapUrls,
- XMLNS: XMLNS,
- XMLNSVideo: XMLNS_VIDEO,
+ // add published resource blogs
+ sitemapUrls, err = addPublishedResources(baseUrl, sitemapUrls)
+ if err != nil {
+ log.Error(err)
+ c.AbortWithStatus(http.StatusInternalServerError)
+ return
}
- c.Header("Content-Type", "application/xml")
-
- c.XML(http.StatusOK, urlset)
+ c.JSON(http.StatusOK, sitemapUrls)
}
func (repository *SitemapRepository) addPages(baseUrl string, sitemapUrls []URL, file string) ([]URL, error) {
@@ -157,28 +132,9 @@ func (repository *SitemapRepository) addPages(baseUrl string, sitemapUrls []URL,
// append portfolios
portfolioUrl := baseUrl + "/portfolio"
-
- portfolios := []Portfolio{
- {
- Name: "luxeradio",
- Videos: []Video{
- {
- Title: "luxeradio video",
- ContentLoc: baseUrl + "/videos/luxeradio_video.mp4",
- ThumbnailLoc: baseUrl + "/videos/luxeradio_video_thumbnail.webp",
- },
- },
- },
- {
- Name: "togness",
- },
- {
- Name: "justly",
- },
- }
-
+ portfolios := []string{"luxeradio", "togness", "justly"}
for i := range portfolios {
- sitemapUrls = append(sitemapUrls, URL{Loc: portfolioUrl + `/` + portfolios[i].Name, Priority: `0.9`, Video: portfolios[i].Videos})
+ sitemapUrls = append(sitemapUrls, URL{Loc: portfolioUrl + `/` + portfolios[i], Priority: `0.9`})
}
return sitemapUrls, nil
@@ -192,7 +148,7 @@ func addPublishedResources(baseUrl string, sitemapUrls []URL) ([]URL, error) {
return sitemapUrls, nil
}
- responseData, err := doRequest(resourceUrl + "/v1/posts?populate=deep&publicationState=live")
+ responseData, err := doRequest(resourceUrl + "/v1/posts?populate=deep&publicationState=live&fields[0]=slug&fields[1]=published_on")
if err != nil {
log.Error(err)
@@ -201,26 +157,25 @@ func addPublishedResources(baseUrl string, sitemapUrls []URL) ([]URL, error) {
var resources Resources
json.Unmarshal(responseData, &resources)
-
- for i := range resources.Data {
- data := resources.Data[i]
- sitemapUrls = append(sitemapUrls, URL{Loc: baseUrl + `/` + data.Attributes.Slug, Priority: `0.9`})
+ for i := range resources.Data.Attributes.Posts {
+ data := resources.Data.Attributes.Posts[i]
+ sitemapUrls = append(sitemapUrls, URL{Loc: baseUrl + `/` + data.Slug, Priority: `0.9`, LastMod: data.PublishedOn})
}
// get tags
- responseTags, err := doRequest(resourceUrl + "/v1/tags?fields[0]=slug")
+ responseTags, err := doRequest(resourceUrl + "/v1/tags?fields[0]=slug&fields[1]=createdAt")
if err != nil {
log.Error(err)
return sitemapUrls, err
}
- var tags Resources
+ var tags TagAndAuthors
json.Unmarshal(responseTags, &tags)
for i := range tags.Data {
data := tags.Data[i]
- sitemapUrls = append(sitemapUrls, URL{Loc: baseUrl + `/tag/` + data.Attributes.Slug, Priority: `0.8`})
+ sitemapUrls = append(sitemapUrls, URL{Loc: baseUrl + `/tag/` + data.Attributes.Slug, Priority: `0.8`, LastMod: data.Attributes.CreatedAt})
}
// get authors
@@ -231,7 +186,7 @@ func addPublishedResources(baseUrl string, sitemapUrls []URL) ([]URL, error) {
return sitemapUrls, err
}
- var authors Resources
+ var authors TagAndAuthors
json.Unmarshal(responseAuthors, &authors)
for i := range authors.Data {
diff --git a/sitemap/sitemap_test.go b/sitemap/sitemap_test.go
index 62749adb5..c941c8154 100644
--- a/sitemap/sitemap_test.go
+++ b/sitemap/sitemap_test.go
@@ -2,7 +2,7 @@ package sitemap
import (
"embed"
- "encoding/xml"
+ "encoding/json"
"jobs"
"net/http"
"net/http/httptest"
@@ -44,8 +44,8 @@ func TestSitemap(t *testing.T) {
engine.ServeHTTP(w, req)
assert.EqualValues(t, http.StatusOK, w.Code)
- var response URLset
- err = xml.Unmarshal(w.Body.Bytes(), &response)
+ var response []URL
+ err = json.Unmarshal(w.Body.Bytes(), &response)
if err != nil {
t.Fatalf("Error decoding response XML: %v", err)
}
@@ -67,15 +67,11 @@ func (faker *stubUtilsRepo) SaveJobsToSpreadSheet(input []string) {
/** this is stub method for adding jobs details in google spreadsheet */
}
-func expectedSitemapData() URLset {
- sitemap := URLset{}
+func expectedSitemapData() []URL {
+ sitemapUrls := []URL{}
+ sitemapUrls = append(sitemapUrls, expectedURLData()...)
- sitemap.XMLName.Space = XMLNS
- sitemap.XMLName.Local = "urlset"
- sitemap.XMLNS = XMLNS
- sitemap.URL = append(sitemap.URL, expectedURLData()...)
-
- return sitemap
+ return sitemapUrls
}
func BeginningOfMonthDate(t time.Time) time.Time {
@@ -85,7 +81,7 @@ func BeginningOfMonthDate(t time.Time) time.Time {
func expectedURLData() []URL {
t := time.Now()
dateFormat := "2006-01-02"
- date := BeginningOfMonthDate(t).Format(dateFormat) + "T00:00:00.000Z"
+ date := BeginningOfMonthDate(t).Format(dateFormat) + "T00:00:00.000"
baseUrl := "http://localhost:8080"
sitemapUrls := []URL{
@@ -112,9 +108,6 @@ func expectedURLData() []URL {
}
for i := range sitemapUrls {
- sitemapUrls[i].XMLName.Space = XMLNS
- sitemapUrls[i].XMLName.Local = "url"
- sitemapUrls[i].ChangeFreq = "monthly"
sitemapUrls[i].LastMod = date
}