diff --git a/src/layouts/partials/PostSidebar.astro b/src/layouts/partials/PostSidebar.astro
index 4404fde..3627d1a 100755
--- a/src/layouts/partials/PostSidebar.astro
+++ b/src/layouts/partials/PostSidebar.astro
@@ -17,7 +17,7 @@ const lang = getLangFromUrl(Astro.url);
{
categories.map((category: any) => {
const count = allCategories.filter(
- (c: any) => c === category,
+ (c: any) => c === category
).length;
return (
diff --git a/src/lib/contentParser.astro b/src/lib/contentParser.astro
index 9e0bea2..ce22d49 100644
--- a/src/lib/contentParser.astro
+++ b/src/lib/contentParser.astro
@@ -10,7 +10,7 @@ import config from "@/config/config.json";
export const getSinglePage = async (
collectionName: C,
- lang: keyof ContentEntryMap,
+ lang: keyof ContentEntryMap
): Promise[]> => {
const { default_language } = config.settings;
const langCollection: keyof ContentEntryMap = lang as keyof ContentEntryMap;
@@ -20,7 +20,7 @@ export const getSinglePage = async (
langCollection || default_language,
({ id }: any) => {
return id.startsWith(collectionName) && !id.endsWith("-index.md");
- },
+ }
)) as CollectionEntry[];
//@ts-ignore
@@ -30,7 +30,7 @@ export const getSinglePage = async (
export const getListPage = async (
collectionName: C,
- lang: keyof ContentEntryMap,
+ lang: keyof ContentEntryMap
): Promise[]> => {
const { default_language } = config.settings;
const langCollection: keyof ContentEntryMap = lang as keyof ContentEntryMap;
@@ -39,7 +39,7 @@ export const getListPage = async (
langCollection || default_language,
({ id }: any) => {
return id.startsWith(collectionName);
- },
+ }
)) as CollectionEntry[];
return pages;
diff --git a/src/lib/taxonomyParser.astro b/src/lib/taxonomyParser.astro
index c9359e0..3e14140 100644
--- a/src/lib/taxonomyParser.astro
+++ b/src/lib/taxonomyParser.astro
@@ -14,7 +14,7 @@ export const getTaxonomy = async (collection: any, name: string) => {
actualCollection as keyof ContentEntryMap,
({ id }: any) => {
return id.startsWith("blog") && !id.endsWith("-index.md");
- },
+ }
);
const taxonomyPages = singlePages.map((page: any) => page.data[name]);
let taxonomies: string[] = [];
@@ -37,7 +37,7 @@ export const getAllTaxonomy = async (collection: any, name: string) => {
actualCollection as keyof ContentEntryMap,
({ id }: any) => {
return id.startsWith("blog") && !id.endsWith("-index.md");
- },
+ }
);
const taxonomyPages = singlePages.map((page: any) => page.data[name]);
let taxonomies: string[] = [];
diff --git a/src/pages/[...lang]/categories/[category].astro b/src/pages/[...lang]/categories/[category].astro
index a0ecf67..32c02a1 100755
--- a/src/pages/[...lang]/categories/[category].astro
+++ b/src/pages/[...lang]/categories/[category].astro
@@ -8,9 +8,12 @@ import { sortByDate } from "@/lib/utils/sortFunctions";
import taxonomyFilter from "@/lib/utils/taxonomyFilter";
import PageHeader from "@/partials/PageHeader.astro";
import type { ContentEntryMap } from "astro:content";
+import config from "@/config/config.json";
// get all static paths for categories
export async function getStaticPaths() {
+ const { default_language } = config.settings;
+
const paths = await Promise.all(
supportedLang.map(async (lang) => {
const categories = await getTaxonomy(lang, "categories");
@@ -24,9 +27,22 @@ export async function getStaticPaths() {
category,
},
}));
- }),
+ })
);
- return paths.flat();
+
+ // Handle default path (no lang)
+ const defaultCategories = await getTaxonomy(default_language, "categories");
+ const defaultPaths = defaultCategories.map((category) => ({
+ params: {
+ lang: undefined,
+ category: category,
+ },
+ props: {
+ category,
+ },
+ }));
+
+ return [...paths.flat(), ...defaultPaths];
}
const { category, lang } = Astro.params;
diff --git a/src/pages/[...lang]/tags/[tag].astro b/src/pages/[...lang]/tags/[tag].astro
index f25f41c..0b1286c 100644
--- a/src/pages/[...lang]/tags/[tag].astro
+++ b/src/pages/[...lang]/tags/[tag].astro
@@ -1,5 +1,6 @@
---
import BlogCard from "@/components/BlogCard.astro";
+import config from "@/config/config.json";
import Base from "@/layouts/Base.astro";
import { getSinglePage } from "@/lib/contentParser.astro";
import { getTaxonomy } from "@/lib/taxonomyParser.astro";
@@ -9,8 +10,10 @@ import taxonomyFilter from "@/lib/utils/taxonomyFilter";
import PageHeader from "@/partials/PageHeader.astro";
import type { ContentEntryMap } from "astro:content";
-// get all static paths for categories
+// get all static paths for tags
export async function getStaticPaths() {
+ const { default_language } = config.settings;
+
const paths = await Promise.all(
supportedLang.map(async (lang) => {
const tags = await getTaxonomy(lang, "tags");
@@ -24,9 +27,22 @@ export async function getStaticPaths() {
tag,
},
}));
- }),
+ })
);
- return paths.flat();
+
+ // Handle default path (no lang)
+ const defaultCategories = await getTaxonomy(default_language, "tags");
+ const defaultPaths = defaultCategories.map((tag) => ({
+ params: {
+ lang: undefined,
+ tag: tag,
+ },
+ props: {
+ tag,
+ },
+ }));
+
+ return [...paths.flat(), ...defaultPaths];
}
const { tag, lang } = Astro.params;