updated article i18n logic

This commit is contained in:
Nico 2023-05-19 02:15:13 +02:00
parent ad29621be0
commit 898a289426
17 changed files with 457 additions and 368 deletions

View File

@ -1,8 +1,8 @@
type DefaultLangCode = "fr"
type SupportedLangCode = "en"
type LangCode = DefaultLangCode | SupportedLangCode
type RouteUri = | "/articles/[...slug]" | "/articles" | "/agments/[slug]" | "/agments" | "/references" | "/veille" | "/" | "/plan-du-site"
type RouteParams = {"/articles/[...slug]": { "...slug": string; }; "/articles": undefined; "/agments/[slug]": { "slug": string; }; "/agments": undefined; "/references": undefined; "/veille": undefined; "/": undefined; "/plan-du-site": undefined; }
type RouteUri = | "/articles/[slug]" | "/articles" | "/agments/[slug]" | "/agments" | "/references" | "/veille" | "/" | "/plan-du-site"
type RouteParams = {"/articles/[slug]": { "slug": string; }; "/articles": undefined; "/agments/[slug]": { "slug": string; }; "/agments": undefined; "/references": undefined; "/veille": undefined; "/": undefined; "/plan-du-site": undefined; }
type TranslationPath = "accueil" | "tagline" | "copyright" | "contact.title" | "contact.email" | "contact.tel" | "contenuVide" | "header.skipLink" | "header.mainNav" | "header.homeLink" | "sitemap" | "prevNext.contenus" | "prevNext.precedent" | "prevNext.suivant" | "article.titre" | "article.tagline" | "article.published" | "meta.publication" | "meta.modification" | "meta.credit" | "fragments.titre" | "fragments.tagline" | "references.titre" | "references.slug" | "references.cta" | "references.tagline" | "veille.titre" | "veille.tagline" | "erreur.introuvable" | "erreur.autre" | "erreur.lienRetour" | "seo.meta.description" | "seo.article.title" | "seo.article.description" | "seo.code.title" | "seo.code.description" | "seo.references.title" | "seo.references.description" | "index.articles.pageName" | "index.articles.subtitle" | "index.fragments.pageName" | "index.fragments.subtitle" | "index.references.pageName" | "index.references.subtitle" | "index.veille.pageName" | "index.veille.subtitle" | "index.title" | "index.subtitle" | "index.quoi" | "index.comment" | "index.opensource" | "index.writing" | "index.latestProjects" | "index.latestArticles" | "index.allProjects" | "index.allArticles" | "index.latestSnippets" | "index.allSnippets" | "index.toc" | "contact.contenuVide"
type TranslationOptions = { "accueil": {} | undefined; "tagline": {} | undefined; "copyright": {} | undefined; "contact.title": {} | undefined; "contact.email": {} | undefined; "contact.tel": {} | undefined; "contenuVide": {} | undefined; "header.skipLink": {} | undefined; "header.mainNav": {} | undefined; "header.homeLink": {} | undefined; "sitemap": {} | undefined; "prevNext.contenus": {} | undefined; "prevNext.precedent": {} | undefined; "prevNext.suivant": {} | undefined; "article.titre": {} | undefined; "article.tagline": {} | undefined; "article.published": { datetime: unknown; options: unknown; }; "meta.publication": {} | undefined; "meta.modification": {} | undefined; "meta.credit": {} | undefined; "fragments.titre": {} | undefined; "fragments.tagline": {} | undefined; "references.titre": {} | undefined; "references.slug": {} | undefined; "references.cta": {} | undefined; "references.tagline": {} | undefined; "veille.titre": {} | undefined; "veille.tagline": {} | undefined; "erreur.introuvable": {} | undefined; "erreur.autre": {} | undefined; "erreur.lienRetour": {} | undefined; "seo.meta.description": {} | undefined; "seo.article.title": {} | undefined; "seo.article.description": {} | undefined; "seo.code.title": {} | undefined; "seo.code.description": {} | undefined; "seo.references.title": {} | undefined; "seo.references.description": {} | undefined; "index.articles.pageName": {} | undefined; "index.articles.subtitle": {} | undefined; "index.fragments.pageName": {} | undefined; "index.fragments.subtitle": {} | undefined; "index.references.pageName": {} | undefined; "index.references.subtitle": {} | undefined; "index.veille.pageName": {} | undefined; "index.veille.subtitle": {} | undefined; "index.title": {} | undefined; "index.subtitle": {} | undefined; "index.quoi": {} | undefined; "index.comment": {} | undefined; "index.opensource": {} | undefined; "index.writing": {} | undefined; "index.latestProjects": {} | undefined; "index.latestArticles": {} | undefined; "index.allProjects": {} | undefined; "index.allArticles": {} | undefined; "index.latestSnippets": {} | undefined; "index.allSnippets": {} | undefined; "index.toc": {} | undefined; "contact.contenuVide": {} | undefined; }

509
.astro/types.d.ts vendored
View File

@ -20,8 +20,7 @@ declare module 'astro:content' {
declare module 'astro:content' {
export { z } from 'astro/zod';
export type CollectionEntry<C extends keyof typeof entryMap> =
(typeof entryMap)[C][keyof (typeof entryMap)[C]];
export type CollectionEntry<C extends keyof AnyEntryMap> = AnyEntryMap[C][keyof AnyEntryMap[C]];
// TODO: Remove this when having this fallback is no longer relevant. 2.3? 3.0? - erika, 2023-04-04
/**
@ -75,316 +74,410 @@ declare module 'astro:content' {
export type SchemaContext = { image: ImageFunction };
type BaseCollectionConfig<S extends BaseSchema> = {
type DataCollectionConfig<S extends BaseSchema> = {
type: 'data';
schema?: S | ((context: SchemaContext) => S);
};
export function defineCollection<S extends BaseSchema>(
input: BaseCollectionConfig<S>
): BaseCollectionConfig<S>;
type EntryMapKeys = keyof typeof entryMap;
type ContentCollectionConfig<S extends BaseSchema> = {
type?: 'content';
schema?: S | ((context: SchemaContext) => S);
};
type CollectionConfig<S> = ContentCollectionConfig<S> | DataCollectionConfig<S>;
export function defineCollection<S extends BaseSchema>(
input: CollectionConfig<S>
): CollectionConfig<S>;
type AllValuesOf<T> = T extends any ? T[keyof T] : never;
type ValidEntrySlug<C extends EntryMapKeys> = AllValuesOf<(typeof entryMap)[C]>['slug'];
type ValidContentEntrySlug<C extends keyof ContentEntryMap> = AllValuesOf<
ContentEntryMap[C]
>['slug'];
export function getEntryBySlug<
C extends keyof typeof entryMap,
E extends ValidEntrySlug<C> | (string & {})
C extends keyof ContentEntryMap,
E extends ValidContentEntrySlug<C> | (string & {})
>(
collection: C,
// Note that this has to accept a regular string too, for SSR
entrySlug: E
): E extends ValidEntrySlug<C>
): E extends ValidContentEntrySlug<C>
? Promise<CollectionEntry<C>>
: Promise<CollectionEntry<C> | undefined>;
export function getCollection<C extends keyof typeof entryMap, E extends CollectionEntry<C>>(
export function getDataEntryById<C extends keyof DataEntryMap, E extends keyof DataEntryMap[C]>(
collection: C,
entryId: E
): Promise<CollectionEntry<C>>;
export function getCollection<C extends keyof AnyEntryMap, E extends CollectionEntry<C>>(
collection: C,
filter?: (entry: CollectionEntry<C>) => entry is E
): Promise<E[]>;
export function getCollection<C extends keyof typeof entryMap>(
export function getCollection<C extends keyof AnyEntryMap>(
collection: C,
filter?: (entry: CollectionEntry<C>) => unknown
): Promise<CollectionEntry<C>[]>;
export function getEntry<
C extends keyof ContentEntryMap,
E extends ValidContentEntrySlug<C> | (string & {})
>(entry: {
collection: C;
slug: E;
}): E extends ValidContentEntrySlug<C>
? Promise<CollectionEntry<C>>
: Promise<CollectionEntry<C> | undefined>;
export function getEntry<
C extends keyof DataEntryMap,
E extends keyof DataEntryMap[C] | (string & {})
>(entry: {
collection: C;
id: E;
}): E extends keyof DataEntryMap[C]
? Promise<DataEntryMap[C][E]>
: Promise<CollectionEntry<C> | undefined>;
export function getEntry<
C extends keyof ContentEntryMap,
E extends ValidContentEntrySlug<C> | (string & {})
>(
collection: C,
slug: E
): E extends ValidContentEntrySlug<C>
? Promise<CollectionEntry<C>>
: Promise<CollectionEntry<C> | undefined>;
export function getEntry<
C extends keyof DataEntryMap,
E extends keyof DataEntryMap[C] | (string & {})
>(
collection: C,
id: E
): E extends keyof DataEntryMap[C]
? Promise<DataEntryMap[C][E]>
: Promise<CollectionEntry<C> | undefined>;
/** Resolve an array of entry references from the same collection */
export function getEntries<C extends keyof ContentEntryMap>(
entries: {
collection: C;
slug: ValidContentEntrySlug<C>;
}[]
): Promise<CollectionEntry<C>[]>;
export function getEntries<C extends keyof DataEntryMap>(
entries: {
collection: C;
id: keyof DataEntryMap[C];
}[]
): Promise<CollectionEntry<C>[]>;
export function reference<C extends keyof AnyEntryMap>(
collection: C
): import('astro/zod').ZodEffects<
import('astro/zod').ZodString,
C extends keyof ContentEntryMap
? {
collection: C;
slug: ValidContentEntrySlug<C>;
}
: {
collection: C;
id: keyof DataEntryMap[C];
}
>;
// Allow generic `string` to avoid excessive type errors in the config
// if `dev` is not running to update as you edit.
// Invalid collection names will be caught at build time.
export function reference<C extends string>(
collection: C
): import('astro/zod').ZodEffects<import('astro/zod').ZodString, never>;
type ReturnTypeOrOriginal<T> = T extends (...args: any[]) => infer R ? R : T;
type InferEntrySchema<C extends keyof typeof entryMap> = import('astro/zod').infer<
type InferEntrySchema<C extends keyof AnyEntryMap> = import('astro/zod').infer<
ReturnTypeOrOriginal<Required<ContentConfig['collections'][C]>['schema']>
>;
const entryMap: {
type ContentEntryMap = {
"articles": {
"en/2022.md": {
id: "en/2022.md",
slug: "2022",
body: string,
collection: "articles",
id: "en/2022.md";
slug: "2022";
body: string;
collection: "articles";
data: InferEntrySchema<"articles">
} & { render(): Render[".md"] },
} & { render(): Render[".md"] };
"en/2023.md": {
id: "en/2023.md",
slug: "2023",
body: string,
collection: "articles",
id: "en/2023.md";
slug: "2023";
body: string;
collection: "articles";
data: InferEntrySchema<"articles">
} & { render(): Render[".md"] },
} & { render(): Render[".md"] };
"en/after-effects-expressions.mdx": {
id: "en/after-effects-expressions.mdx",
slug: "after-effects-expressions",
body: string,
collection: "articles",
id: "en/after-effects-expressions.mdx";
slug: "after-effects-expressions";
body: string;
collection: "articles";
data: InferEntrySchema<"articles">
} & { render(): Render[".mdx"] },
} & { render(): Render[".mdx"] };
"en/faq.md": {
id: "en/faq.md",
slug: "faq",
body: string,
collection: "articles",
id: "en/faq.md";
slug: "faq";
body: string;
collection: "articles";
data: InferEntrySchema<"articles">
} & { render(): Render[".md"] },
} & { render(): Render[".md"] };
"en/gratuiste.md": {
id: "en/gratuiste.md",
slug: "gratuiste",
body: string,
collection: "articles",
id: "en/gratuiste.md";
slug: "gratuiste";
body: string;
collection: "articles";
data: InferEntrySchema<"articles">
} & { render(): Render[".md"] },
} & { render(): Render[".md"] };
"en/sci-hub-blocage.mdx": {
id: "en/sci-hub-blocage.mdx",
slug: "sci-hub-unblock",
body: string,
collection: "articles",
id: "en/sci-hub-blocage.mdx";
slug: "sci-hub-unblock";
body: string;
collection: "articles";
data: InferEntrySchema<"articles">
} & { render(): Render[".mdx"] },
} & { render(): Render[".mdx"] };
"en/the-day-I-jamd.mdx": {
id: "en/the-day-I-jamd.mdx",
slug: "the-day-I-jamd",
body: string,
collection: "articles",
id: "en/the-day-I-jamd.mdx";
slug: "the-day-I-jamd";
body: string;
collection: "articles";
data: InferEntrySchema<"articles">
} & { render(): Render[".mdx"] },
} & { render(): Render[".mdx"] };
"en/video-compression.mdx": {
id: "en/video-compression.mdx",
slug: "video-compression",
body: string,
collection: "articles",
id: "en/video-compression.mdx";
slug: "video-compression";
body: string;
collection: "articles";
data: InferEntrySchema<"articles">
} & { render(): Render[".mdx"] },
} & { render(): Render[".mdx"] };
"fr/2022.md": {
id: "fr/2022.md",
slug: "2022",
body: string,
collection: "articles",
id: "fr/2022.md";
slug: "2022";
body: string;
collection: "articles";
data: InferEntrySchema<"articles">
} & { render(): Render[".md"] },
} & { render(): Render[".md"] };
"fr/2023.md": {
id: "fr/2023.md",
slug: "2023",
body: string,
collection: "articles",
id: "fr/2023.md";
slug: "2023";
body: string;
collection: "articles";
data: InferEntrySchema<"articles">
} & { render(): Render[".md"] },
} & { render(): Render[".md"] };
"fr/after-effects-expressions.md": {
id: "fr/after-effects-expressions.md",
slug: "after-effects-expressions",
body: string,
collection: "articles",
id: "fr/after-effects-expressions.md";
slug: "after-effects-expressions";
body: string;
collection: "articles";
data: InferEntrySchema<"articles">
} & { render(): Render[".md"] },
} & { render(): Render[".md"] };
"fr/faq.md": {
id: "fr/faq.md",
slug: "faq",
body: string,
collection: "articles",
id: "fr/faq.md";
slug: "faq";
body: string;
collection: "articles";
data: InferEntrySchema<"articles">
} & { render(): Render[".md"] },
} & { render(): Render[".md"] };
"fr/gratuiste.md": {
id: "fr/gratuiste.md",
slug: "gratuiste",
body: string,
collection: "articles",
id: "fr/gratuiste.md";
slug: "gratuiste";
body: string;
collection: "articles";
data: InferEntrySchema<"articles">
} & { render(): Render[".md"] },
} & { render(): Render[".md"] };
"fr/sci-hub-blocage.mdx": {
id: "fr/sci-hub-blocage.mdx",
slug: "sci-hub-blocage",
body: string,
collection: "articles",
id: "fr/sci-hub-blocage.mdx";
slug: "sci-hub-blocage";
body: string;
collection: "articles";
data: InferEntrySchema<"articles">
} & { render(): Render[".mdx"] },
} & { render(): Render[".mdx"] };
"fr/the-day-I-jamd.mdx": {
id: "fr/the-day-I-jamd.mdx",
slug: "the-day-I-jamd",
body: string,
collection: "articles",
id: "fr/the-day-I-jamd.mdx";
slug: "the-day-I-jamd";
body: string;
collection: "articles";
data: InferEntrySchema<"articles">
} & { render(): Render[".mdx"] },
} & { render(): Render[".mdx"] };
"fr/video-compression.md": {
id: "fr/video-compression.md",
slug: "video-compression",
body: string,
collection: "articles",
id: "fr/video-compression.md";
slug: "video-compression";
body: string;
collection: "articles";
data: InferEntrySchema<"articles">
} & { render(): Render[".md"] },
},
} & { render(): Render[".md"] };
};
"fragments": {
"en/acme-sh-tls-cert.md": {
id: "en/acme-sh-tls-cert.md",
slug: "acme-sh-tls-cert",
body: string,
collection: "fragments",
id: "en/acme-sh-tls-cert.md";
slug: "acme-sh-tls-cert";
body: string;
collection: "fragments";
data: InferEntrySchema<"fragments">
} & { render(): Render[".md"] },
} & { render(): Render[".md"] };
"en/array-vs-array.md": {
id: "en/array-vs-array.md",
slug: "array-vs-array",
body: string,
collection: "fragments",
id: "en/array-vs-array.md";
slug: "array-vs-array";
body: string;
collection: "fragments";
data: InferEntrySchema<"fragments">
} & { render(): Render[".md"] },
} & { render(): Render[".md"] };
"en/buttons.md": {
id: "en/buttons.md",
slug: "buttons",
body: string,
collection: "fragments",
id: "en/buttons.md";
slug: "buttons";
body: string;
collection: "fragments";
data: InferEntrySchema<"fragments">
} & { render(): Render[".md"] },
} & { render(): Render[".md"] };
"en/image-full.mdx": {
id: "en/image-full.mdx",
slug: "image-full",
body: string,
collection: "fragments",
id: "en/image-full.mdx";
slug: "image-full";
body: string;
collection: "fragments";
data: InferEntrySchema<"fragments">
} & { render(): Render[".mdx"] },
} & { render(): Render[".mdx"] };
"en/nuxt-graphql-static.md": {
id: "en/nuxt-graphql-static.md",
slug: "nuxt-graphql-static",
body: string,
collection: "fragments",
id: "en/nuxt-graphql-static.md";
slug: "nuxt-graphql-static";
body: string;
collection: "fragments";
data: InferEntrySchema<"fragments">
} & { render(): Render[".md"] },
} & { render(): Render[".md"] };
"en/super-cookies.md": {
id: "en/super-cookies.md",
slug: "super-cookies",
body: string,
collection: "fragments",
id: "en/super-cookies.md";
slug: "super-cookies";
body: string;
collection: "fragments";
data: InferEntrySchema<"fragments">
} & { render(): Render[".md"] },
} & { render(): Render[".md"] };
"en/toulouse-fun.md": {
id: "en/toulouse-fun.md",
slug: "toulouse-fun",
body: string,
collection: "fragments",
id: "en/toulouse-fun.md";
slug: "toulouse-fun";
body: string;
collection: "fragments";
data: InferEntrySchema<"fragments">
} & { render(): Render[".md"] },
} & { render(): Render[".md"] };
"fr/acme-sh-tls-cert.md": {
id: "fr/acme-sh-tls-cert.md",
slug: "acme-sh-tls-cert",
body: string,
collection: "fragments",
id: "fr/acme-sh-tls-cert.md";
slug: "acme-sh-tls-cert";
body: string;
collection: "fragments";
data: InferEntrySchema<"fragments">
} & { render(): Render[".md"] },
} & { render(): Render[".md"] };
"fr/array-vs-array.md": {
id: "fr/array-vs-array.md",
slug: "array-vs-array",
body: string,
collection: "fragments",
id: "fr/array-vs-array.md";
slug: "array-vs-array";
body: string;
collection: "fragments";
data: InferEntrySchema<"fragments">
} & { render(): Render[".md"] },
} & { render(): Render[".md"] };
"fr/buttons.mdx": {
id: "fr/buttons.mdx",
slug: "buttons",
body: string,
collection: "fragments",
id: "fr/buttons.mdx";
slug: "buttons";
body: string;
collection: "fragments";
data: InferEntrySchema<"fragments">
} & { render(): Render[".mdx"] },
} & { render(): Render[".mdx"] };
"fr/image-full.mdx": {
id: "fr/image-full.mdx",
slug: "image-full",
body: string,
collection: "fragments",
id: "fr/image-full.mdx";
slug: "image-full";
body: string;
collection: "fragments";
data: InferEntrySchema<"fragments">
} & { render(): Render[".mdx"] },
} & { render(): Render[".mdx"] };
"fr/nuxt-graphql-static.md": {
id: "fr/nuxt-graphql-static.md",
slug: "nuxt-graphql-static",
body: string,
collection: "fragments",
id: "fr/nuxt-graphql-static.md";
slug: "nuxt-graphql-static";
body: string;
collection: "fragments";
data: InferEntrySchema<"fragments">
} & { render(): Render[".md"] },
} & { render(): Render[".md"] };
"fr/super-cookies.mdx": {
id: "fr/super-cookies.mdx",
slug: "super-cookies",
body: string,
collection: "fragments",
id: "fr/super-cookies.mdx";
slug: "super-cookies";
body: string;
collection: "fragments";
data: InferEntrySchema<"fragments">
} & { render(): Render[".mdx"] },
} & { render(): Render[".mdx"] };
"fr/toulouse-fun.md": {
id: "fr/toulouse-fun.md",
slug: "toulouse-fun",
body: string,
collection: "fragments",
id: "fr/toulouse-fun.md";
slug: "toulouse-fun";
body: string;
collection: "fragments";
data: InferEntrySchema<"fragments">
} & { render(): Render[".md"] },
},
} & { render(): Render[".md"] };
};
"references": {
"en/3w.md": {
id: "en/3w.md",
slug: "3w",
body: string,
collection: "references",
id: "en/3w.md";
slug: "3w";
body: string;
collection: "references";
data: InferEntrySchema<"references">
} & { render(): Render[".md"] },
} & { render(): Render[".md"] };
"en/natureo.md": {
id: "en/natureo.md",
slug: "natureo",
body: string,
collection: "references",
id: "en/natureo.md";
slug: "natureo";
body: string;
collection: "references";
data: InferEntrySchema<"references">
} & { render(): Render[".md"] },
} & { render(): Render[".md"] };
"en/parole-expression.md": {
id: "en/parole-expression.md",
slug: "parole-expression",
body: string,
collection: "references",
id: "en/parole-expression.md";
slug: "parole-expression";
body: string;
collection: "references";
data: InferEntrySchema<"references">
} & { render(): Render[".md"] },
} & { render(): Render[".md"] };
"en/rose-primaire.md": {
id: "en/rose-primaire.md",
slug: "rose-primaire",
body: string,
collection: "references",
id: "en/rose-primaire.md";
slug: "rose-primaire";
body: string;
collection: "references";
data: InferEntrySchema<"references">
} & { render(): Render[".md"] },
} & { render(): Render[".md"] };
"fr/3w.md": {
id: "fr/3w.md",
slug: "3w",
body: string,
collection: "references",
id: "fr/3w.md";
slug: "3w";
body: string;
collection: "references";
data: InferEntrySchema<"references">
} & { render(): Render[".md"] },
} & { render(): Render[".md"] };
"fr/natureo.md": {
id: "fr/natureo.md",
slug: "natureo",
body: string,
collection: "references",
id: "fr/natureo.md";
slug: "natureo";
body: string;
collection: "references";
data: InferEntrySchema<"references">
} & { render(): Render[".md"] },
} & { render(): Render[".md"] };
"fr/parole-expression.md": {
id: "fr/parole-expression.md",
slug: "parole-expression",
body: string,
collection: "references",
id: "fr/parole-expression.md";
slug: "parole-expression";
body: string;
collection: "references";
data: InferEntrySchema<"references">
} & { render(): Render[".md"] },
} & { render(): Render[".md"] };
"fr/rose-primaire.md": {
id: "fr/rose-primaire.md",
slug: "rose-primaire",
body: string,
collection: "references",
id: "fr/rose-primaire.md";
slug: "rose-primaire";
body: string;
collection: "references";
data: InferEntrySchema<"references">
} & { render(): Render[".md"] },
},
} & { render(): Render[".md"] };
};
};
type DataEntryMap = {
};
type AnyEntryMap = ContentEntryMap & DataEntryMap;
type ContentConfig = typeof import("../src/content/config");
}

View File

@ -11,6 +11,7 @@ import sitemap from "@astrojs/sitemap";
// https://astro.build/config
export default defineConfig({
site: "https://www.nardu.in",
compressHTML: true,
markdown: {
syntaxHighlight: "prism",
},

View File

@ -13,12 +13,12 @@
"i18n:sync": "astro-i18n sync"
},
"dependencies": {
"@astrojs/image": "0.16.8",
"@astrojs/mdx": "^0.19.1",
"@astrojs/rss": "^2.4.1",
"@astrojs/image": "^0.16.9",
"@astrojs/mdx": "^0.19.2",
"@astrojs/rss": "^2.4.2",
"@astrojs/sitemap": "^1.3.1",
"astro": "2.4.5",
"astro-i18n": "1.7.1"
"astro": "^2.5.0",
"astro-i18n": "^1.7.2"
},
"devDependencies": {
"autoprefixer": "^10.4.13",

View File

@ -2,23 +2,23 @@ lockfileVersion: '6.0'
dependencies:
'@astrojs/image':
specifier: 0.16.8
version: 0.16.8(astro@2.4.5)
specifier: ^0.16.9
version: 0.16.9(astro@2.5.0)
'@astrojs/mdx':
specifier: ^0.19.1
version: 0.19.1(astro@2.4.5)(rollup@3.22.0)
specifier: ^0.19.2
version: 0.19.2(astro@2.5.0)(rollup@3.22.0)
'@astrojs/rss':
specifier: ^2.4.1
version: 2.4.1
specifier: ^2.4.2
version: 2.4.2
'@astrojs/sitemap':
specifier: ^1.3.1
version: 1.3.1
astro:
specifier: 2.4.5
version: 2.4.5
specifier: ^2.5.0
version: 2.5.0
astro-i18n:
specifier: 1.7.1
version: 1.7.1
specifier: ^1.7.2
version: 1.7.2
devDependencies:
autoprefixer:
@ -46,17 +46,17 @@ packages:
resolution: {integrity: sha512-xoRp7JpiMZPK/beUcZEM5kM44Z/h20wwwQcl54duPqQMyySG9vZ5xMM6dYiQmn7b3XzpZs0cT6TRDoJJ5gwHAQ==}
dev: false
/@astrojs/image@0.16.8(astro@2.4.5):
resolution: {integrity: sha512-ka18Y8HXllitE4TN66tmxqc1j+pgfqfq5i/D3I0QmmH2hFd7olFNVDrd15S4ZM1U5jxZORUv+PuJU0g8dZEjqQ==}
/@astrojs/image@0.16.9(astro@2.5.0):
resolution: {integrity: sha512-8RfGGd1MAIQ6xCHgmu+xXBKWE14gvWYcIv61PxWlToEBgMUbmFdN5ICBQ1bea24rx6o5WvsvRjfOnkjPpf2eew==}
peerDependencies:
astro: ^2.4.5
astro: ^2.5.0
sharp: '>=0.31.0'
peerDependenciesMeta:
sharp:
optional: true
dependencies:
'@altano/tiny-async-pool': 1.0.2
astro: 2.4.5
astro: 2.5.0
http-cache-semantics: 4.1.1
image-size: 1.0.2
kleur: 4.1.5
@ -83,13 +83,13 @@ packages:
vscode-uri: 3.0.7
dev: false
/@astrojs/markdown-remark@2.2.0(astro@2.4.5):
resolution: {integrity: sha512-4M1+GzQwDqF0KfX9Ahug43b0avorcK+iTapEaVuNnaCUVS6sZKRkztT3g6hmXiFmGHSL8qYaS9IVEmKtP6hYmw==}
/@astrojs/markdown-remark@2.2.1(astro@2.5.0):
resolution: {integrity: sha512-VF0HRv4GpC1XEMLnsKf6jth7JSmlt9qpqP0josQgA2eSpCIAC/Et+y94mgdBIZVBYH/yFnMoIxgKVe93xfO2GA==}
peerDependencies:
astro: ^2.4.0
astro: ^2.5.0
dependencies:
'@astrojs/prism': 2.1.1
astro: 2.4.5
'@astrojs/prism': 2.1.2
astro: 2.5.0
github-slugger: 1.5.0
import-meta-resolve: 2.2.2
rehype-raw: 6.1.1
@ -106,12 +106,12 @@ packages:
- supports-color
dev: false
/@astrojs/mdx@0.19.1(astro@2.4.5)(rollup@3.22.0):
resolution: {integrity: sha512-9GNNZbGT+lGvbRkQK/NaEJcnjj1T94/ne0KwPjJgNCBQrJuskX5IW1hKiE5bRSOFvkAOrBGneYKg0GXYArBOQQ==}
/@astrojs/mdx@0.19.2(astro@2.5.0)(rollup@3.22.0):
resolution: {integrity: sha512-xWI2TK2QvCFXhyadjVtidcOj7qHda2Fv3tUilhacFXF28vye/COluMirqgxEESMlUsV+8LI39f8P6ERxXADSmg==}
engines: {node: '>=16.12.0'}
dependencies:
'@astrojs/markdown-remark': 2.2.0(astro@2.4.5)
'@astrojs/prism': 2.1.1
'@astrojs/markdown-remark': 2.2.1(astro@2.5.0)
'@astrojs/prism': 2.1.2
'@mdx-js/mdx': 2.3.0
'@mdx-js/rollup': 2.3.0(rollup@3.22.0)
acorn: 8.8.2
@ -134,15 +134,15 @@ packages:
- supports-color
dev: false
/@astrojs/prism@2.1.1:
resolution: {integrity: sha512-Gnwnlb1lGJzCQEg89r4/WqgfCGPNFC7Kuh2D/k289Cbdi/2PD7Lrdstz86y1itDvcb2ijiRqjqWnJ5rsfu/QOA==}
/@astrojs/prism@2.1.2:
resolution: {integrity: sha512-3antim1gb34689GHRQFJ88JEo93HuZKQBnmxDT5W/nxiNz1p/iRxnCTEhIbJhqMOTRbbo5h2ldm5qSxx+TMFQA==}
engines: {node: '>=16.12.0'}
dependencies:
prismjs: 1.29.0
dev: false
/@astrojs/rss@2.4.1:
resolution: {integrity: sha512-c+j6Dwxc/t50/v7xhM88RKbxh9SjaQMw0IdLeeOqQAdcLT2Me7nUUWwx0BbPnu6RO0YxT5Up1Sl/OdrA60tfSw==}
/@astrojs/rss@2.4.2:
resolution: {integrity: sha512-euhFRVi0Oybn/uuY/RGoZRVQWC1p6qaO9YH58BScQQ51LysZ0cyR5EYsqmFoGI0/1BDNeclzF3BhpdLyAkVBNw==}
dependencies:
fast-xml-parser: 4.2.2
kleur: 4.1.5
@ -746,7 +746,7 @@ packages:
is-glob: 4.0.3
open: 9.1.0
picocolors: 1.0.0
tslib: 2.5.1
tslib: 2.5.2
dev: false
/@rollup/pluginutils@5.0.2(rollup@3.22.0):
@ -956,6 +956,10 @@ packages:
sprintf-js: 1.0.3
dev: false
/argparse@2.0.1:
resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
dev: false
/array-iterate@2.0.1:
resolution: {integrity: sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg==}
dev: false
@ -965,15 +969,15 @@ packages:
hasBin: true
dev: false
/astro-i18n@1.7.1:
resolution: {integrity: sha512-lqsGY6X1uL6yHRTAeDfc1lqX+ANiGJW6ePMqCwv276tUOugnJRw2X01MbiiiPpcGukpeZPDPe/OreoNWPBUhsQ==}
/astro-i18n@1.7.2:
resolution: {integrity: sha512-gTIUF/SUWiMU379nJ9oAuIUwvi/yoyuZkPJC7TEHiSYzkHYbrJ872XsEuG6Cs0c8OtCboyFO0+vRhPHRRWKSow==}
hasBin: true
dependencies:
get-file-exports: 1.2.1
dev: false
/astro@2.4.5:
resolution: {integrity: sha512-osxLnuLXaOX0FjWOVQH8cmK4N/Gdj/ZdEkeyMJWsUss7xQU4Q64tAxB/dAv75f/XZiu+PprmndJkyQ4sYLOv1g==}
/astro@2.5.0:
resolution: {integrity: sha512-dZZuK2vEpfinbVALthUW31NOVUFPobgyi0+2PR3FH3diy6X9HBw1PLbS5wRsWOKaEXRbzxBkXc39Rbm0yRzKaA==}
engines: {node: '>=16.12.0', npm: '>=6.14.0'}
hasBin: true
peerDependencies:
@ -984,7 +988,7 @@ packages:
dependencies:
'@astrojs/compiler': 1.4.2
'@astrojs/language-server': 1.0.5
'@astrojs/markdown-remark': 2.2.0(astro@2.4.5)
'@astrojs/markdown-remark': 2.2.1(astro@2.5.0)
'@astrojs/telemetry': 2.1.1
'@astrojs/webapi': 2.1.1
'@babel/core': 7.21.8
@ -1006,12 +1010,14 @@ packages:
devalue: 4.3.1
diff: 5.1.0
es-module-lexer: 1.2.1
esbuild: 0.17.19
estree-walker: 3.0.0
execa: 6.1.0
fast-glob: 3.2.12
github-slugger: 2.0.0
gray-matter: 4.0.3
html-escaper: 3.0.3
js-yaml: 4.1.0
kleur: 4.1.5
magic-string: 0.27.0
mime: 3.0.0
@ -1052,8 +1058,8 @@ packages:
peerDependencies:
postcss: ^8.1.0
dependencies:
browserslist: 4.21.4
caniuse-lite: 1.0.30001441
browserslist: 4.21.5
caniuse-lite: 1.0.30001488
fraction.js: 4.2.0
normalize-range: 0.1.2
picocolors: 1.0.0
@ -1115,27 +1121,15 @@ packages:
fill-range: 7.0.1
dev: false
/browserslist@4.21.4:
resolution: {integrity: sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==}
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
hasBin: true
dependencies:
caniuse-lite: 1.0.30001441
electron-to-chromium: 1.4.399
node-releases: 2.0.10
update-browserslist-db: 1.0.11(browserslist@4.21.4)
dev: true
/browserslist@4.21.5:
resolution: {integrity: sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==}
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
hasBin: true
dependencies:
caniuse-lite: 1.0.30001488
electron-to-chromium: 1.4.399
electron-to-chromium: 1.4.400
node-releases: 2.0.10
update-browserslist-db: 1.0.11(browserslist@4.21.5)
dev: false
/buffer@6.0.3:
resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==}
@ -1163,13 +1157,8 @@ packages:
engines: {node: '>=10'}
dev: false
/caniuse-lite@1.0.30001441:
resolution: {integrity: sha512-OyxRR4Vof59I3yGWXws6i908EtGbMzVUi3ganaZQHmydk1iwDhRnvaPG2WaR0KcqrDFKrxVZHULT396LEPhXfg==}
dev: true
/caniuse-lite@1.0.30001488:
resolution: {integrity: sha512-NORIQuuL4xGpIy6iCCQGN4iFjlBXtfKWIenlUuyZJumLRIindLb7wXM+GO8erEhb7vXfcnf4BAg2PrSDN5TNLQ==}
dev: false
/ccount@2.0.1:
resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==}
@ -1381,8 +1370,8 @@ packages:
resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
dev: false
/electron-to-chromium@1.4.399:
resolution: {integrity: sha512-+V1aNvVgoWNWYIbMOiQ1n5fRIaY4SlQ/uRlrsCjLrUwr/3OvQgiX2f5vdav4oArVT9TnttJKcPCqjwPNyZqw/A==}
/electron-to-chromium@1.4.400:
resolution: {integrity: sha512-Lsvf7cvwbIxCfB8VqbnVtEsjGi3+48ejDiQZfWo5gkT+1vQ2DHQI5pl0nUvPD6z1IQk6JgFeMC5ZQJqVhalEHg==}
/emmet@2.4.4:
resolution: {integrity: sha512-v8Mwpjym55CS3EjJgiCLWUB3J2HSR93jhzXW325720u8KvYxdI2voYLstW3pHBxFz54H6jFjayR9G4LfTG0q+g==}
@ -2212,6 +2201,13 @@ packages:
esprima: 4.0.1
dev: false
/js-yaml@4.1.0:
resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
hasBin: true
dependencies:
argparse: 2.0.1
dev: false
/jsesc@2.5.2:
resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==}
engines: {node: '>=4'}
@ -2424,8 +2420,8 @@ packages:
- supports-color
dev: false
/mdast-util-mdx-jsx@2.1.2:
resolution: {integrity: sha512-o9vBCYQK5ZLGEj3tCGISJGjvafyHRVJlZmfJzSE7xjiogSzIeph/Z4zMY65q4WGRMezQBeAwPlrdymDYYYx0tA==}
/mdast-util-mdx-jsx@2.1.4:
resolution: {integrity: sha512-DtMn9CmVhVzZx3f+optVDF8yFgQVt7FghCRNdlIaS3X5Bnym3hZwPbg/XW86vdpKjlc1PVj26SpnLGeJBXD3JA==}
dependencies:
'@types/estree-jsx': 1.0.0
'@types/hast': 2.3.4
@ -2448,7 +2444,7 @@ packages:
dependencies:
mdast-util-from-markdown: 1.3.0
mdast-util-mdx-expression: 1.3.2
mdast-util-mdx-jsx: 2.1.2
mdast-util-mdx-jsx: 2.1.4
mdast-util-mdxjs-esm: 1.3.1
mdast-util-to-markdown: 1.5.0
transitivePeerDependencies:
@ -2617,24 +2613,24 @@ packages:
micromark-util-types: 1.0.2
dev: false
/micromark-extension-mdx-expression@1.0.4:
resolution: {integrity: sha512-TCgLxqW6ReQ3AJgtj1P0P+8ZThBTloLbeb7jNaqr6mCOLDpxUiBFE/9STgooMZttEwOQu5iEcCCa3ZSDhY9FGw==}
/micromark-extension-mdx-expression@1.0.5:
resolution: {integrity: sha512-/ruJEj+Qpgar/P+b6z0firNIbY5VMHFdL3MJDvsnVVY+RnecmGNpN7YUZhb51NfBtk7iQnNCl5xeb4E5cWxXvw==}
dependencies:
micromark-factory-mdx-expression: 1.0.7
micromark-factory-mdx-expression: 1.0.8
micromark-factory-space: 1.0.0
micromark-util-character: 1.1.0
micromark-util-events-to-acorn: 1.2.1
micromark-util-events-to-acorn: 1.2.3
micromark-util-symbol: 1.0.1
micromark-util-types: 1.0.2
uvu: 0.5.6
dev: false
/micromark-extension-mdx-jsx@1.0.3:
resolution: {integrity: sha512-VfA369RdqUISF0qGgv2FfV7gGjHDfn9+Qfiv5hEwpyr1xscRj/CiVRkU7rywGFCO7JwJ5L0e7CJz60lY52+qOA==}
/micromark-extension-mdx-jsx@1.0.4:
resolution: {integrity: sha512-Jq4O738s2PvxJJSMZhV+y/7uq+pGI/ugQvHJBQelWpE3ECYvJMtF2duwfHQoAuUnIKSvg8b0dU1D+EXTAYE5ww==}
dependencies:
'@types/acorn': 4.0.6
estree-util-is-identifier-name: 2.1.0
micromark-factory-mdx-expression: 1.0.7
micromark-factory-mdx-expression: 1.0.8
micromark-factory-space: 1.0.0
micromark-util-character: 1.1.0
micromark-util-symbol: 1.0.1
@ -2643,18 +2639,18 @@ packages:
vfile-message: 3.1.4
dev: false
/micromark-extension-mdx-md@1.0.0:
resolution: {integrity: sha512-xaRAMoSkKdqZXDAoSgp20Azm0aRQKGOl0RrS81yGu8Hr/JhMsBmfs4wR7m9kgVUIO36cMUQjNyiyDKPrsv8gOw==}
/micromark-extension-mdx-md@1.0.1:
resolution: {integrity: sha512-7MSuj2S7xjOQXAjjkbjBsHkMtb+mDGVW6uI2dBL9snOBCbZmoNgDAeZ0nSn9j3T42UE/g2xVNMn18PJxZvkBEA==}
dependencies:
micromark-util-types: 1.0.2
dev: false
/micromark-extension-mdxjs-esm@1.0.3:
resolution: {integrity: sha512-2N13ol4KMoxb85rdDwTAC6uzs8lMX0zeqpcyx7FhS7PxXomOnLactu8WI8iBNXW8AVyea3KIJd/1CKnUmwrK9A==}
/micromark-extension-mdxjs-esm@1.0.4:
resolution: {integrity: sha512-mmyCf6baCbLf+OHTCZdj+f8lDY8GBae4qhbffrJDqM1KltghsZz2k3nbvRfEwm301G62nhrlom9M9OheQwrssg==}
dependencies:
micromark-core-commonmark: 1.0.6
micromark-util-character: 1.1.0
micromark-util-events-to-acorn: 1.2.1
micromark-util-events-to-acorn: 1.2.3
micromark-util-symbol: 1.0.1
micromark-util-types: 1.0.2
unist-util-position-from-estree: 1.1.2
@ -2662,15 +2658,15 @@ packages:
vfile-message: 3.1.4
dev: false
/micromark-extension-mdxjs@1.0.0:
resolution: {integrity: sha512-TZZRZgeHvtgm+IhtgC2+uDMR7h8eTKF0QUX9YsgoL9+bADBpBY6SiLvWqnBlLbCEevITmTqmEuY3FoxMKVs1rQ==}
/micromark-extension-mdxjs@1.0.1:
resolution: {integrity: sha512-7YA7hF6i5eKOfFUzZ+0z6avRG52GpWR8DL+kN47y3f2KhxbBZMhmxe7auOeaTBrW2DenbbZTf1ea9tA2hDpC2Q==}
dependencies:
acorn: 8.8.2
acorn-jsx: 5.3.2(acorn@8.8.2)
micromark-extension-mdx-expression: 1.0.4
micromark-extension-mdx-jsx: 1.0.3
micromark-extension-mdx-md: 1.0.0
micromark-extension-mdxjs-esm: 1.0.3
micromark-extension-mdx-expression: 1.0.5
micromark-extension-mdx-jsx: 1.0.4
micromark-extension-mdx-md: 1.0.1
micromark-extension-mdxjs-esm: 1.0.4
micromark-util-combine-extensions: 1.0.0
micromark-util-types: 1.0.2
dev: false
@ -2692,12 +2688,12 @@ packages:
uvu: 0.5.6
dev: false
/micromark-factory-mdx-expression@1.0.7:
resolution: {integrity: sha512-QAdFbkQagTZ/eKb8zDGqmjvgevgJH3+aQpvvKrXWxNJp3o8/l2cAbbrBd0E04r0Gx6nssPpqWIjnbHFvZu5qsQ==}
/micromark-factory-mdx-expression@1.0.8:
resolution: {integrity: sha512-/GWj6h6bDFCDCkxOCb/xXpgKGonhBXEqMnhTThVo0nlIN/i8z6L6YrmRq+N91oerxY97fEz7vHSCSIcW7fGFhQ==}
dependencies:
micromark-factory-space: 1.0.0
'@types/estree': 1.0.1
micromark-util-character: 1.1.0
micromark-util-events-to-acorn: 1.2.1
micromark-util-events-to-acorn: 1.2.3
micromark-util-symbol: 1.0.1
micromark-util-types: 1.0.2
unist-util-position-from-estree: 1.1.2
@ -2778,15 +2774,16 @@ packages:
resolution: {integrity: sha512-U2s5YdnAYexjKDel31SVMPbfi+eF8y1U4pfiRW/Y8EFVCy/vgxk/2wWTxzcqE71LHtCuCzlBDRU2a5CQ5j+mQA==}
dev: false
/micromark-util-events-to-acorn@1.2.1:
resolution: {integrity: sha512-mkg3BaWlw6ZTkQORrKVBW4o9ICXPxLtGz51vml5mQpKFdo9vqIX68CAx5JhTOdjQyAHH7JFmm4rh8toSPQZUmg==}
/micromark-util-events-to-acorn@1.2.3:
resolution: {integrity: sha512-ij4X7Wuc4fED6UoLWkmo0xJQhsktfNh1J0m8g4PbIMPlx+ek/4YdW5mvbye8z/aZvAPUoxgXHrwVlXAPKMRp1w==}
dependencies:
'@types/acorn': 4.0.6
'@types/estree': 1.0.1
'@types/unist': 2.0.6
estree-util-visit: 1.2.1
micromark-util-symbol: 1.0.1
micromark-util-types: 1.0.2
uvu: 0.5.6
vfile-location: 4.1.0
vfile-message: 3.1.4
dev: false
@ -2888,17 +2885,10 @@ packages:
resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
dev: false
/nanoid@3.3.4:
resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==}
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
hasBin: true
dev: true
/nanoid@3.3.6:
resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==}
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
hasBin: true
dev: false
/nlcst-to-string@3.1.1:
resolution: {integrity: sha512-63mVyqaqt0cmn2VcI2aH6kxe1rLAmSROqHMA0i4qqg1tidkfExgpb0FGMikMCn86mw5dFtBtEANfmSSK7TjNHw==}
@ -3101,7 +3091,7 @@ packages:
resolution: {integrity: sha512-6Q04AXR1212bXr5fh03u8aAwbLxAQNGQ/Q1LNa0VfOI06ZAlhPHtQvE4OIdpj4kLThXilalPnmDSOD65DcHt+g==}
engines: {node: ^10 || ^12 || >=14}
dependencies:
nanoid: 3.3.4
nanoid: 3.3.6
picocolors: 1.0.0
source-map-js: 1.0.2
dev: true
@ -3242,7 +3232,7 @@ packages:
resolution: {integrity: sha512-g53hMkpM0I98MU266IzDFMrTD980gNF3BJnkyFcmN+dD873mQeD5rdMO3Y2X+x8umQfbSE0PcoEDl7ledSA+2g==}
dependencies:
mdast-util-mdx: 2.0.1
micromark-extension-mdxjs: 1.0.0
micromark-extension-mdxjs: 1.0.1
transitivePeerDependencies:
- supports-color
dev: false
@ -3593,7 +3583,7 @@ packages:
engines: {node: ^14.18.0 || >=16.0.0}
dependencies:
'@pkgr/utils': 2.4.0
tslib: 2.5.1
tslib: 2.5.2
dev: false
/titleize@3.0.0:
@ -3632,8 +3622,8 @@ packages:
type-fest: 0.13.1
dev: false
/tslib@2.5.1:
resolution: {integrity: sha512-KaI6gPil5m9vF7DKaoXxx1ia9fxS4qG5YveErRRVknPDXXriu5M8h48YRjB6h5ZUOKuAKlSJYb0GaDe8I39fRw==}
/tslib@2.5.2:
resolution: {integrity: sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==}
dev: false
/type-fest@0.13.1:
@ -3743,17 +3733,6 @@ packages:
engines: {node: '>=8'}
dev: false
/update-browserslist-db@1.0.11(browserslist@4.21.4):
resolution: {integrity: sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==}
hasBin: true
peerDependencies:
browserslist: '>= 4.21.0'
dependencies:
browserslist: 4.21.4
escalade: 3.1.1
picocolors: 1.0.0
dev: true
/update-browserslist-db@1.0.11(browserslist@4.21.5):
resolution: {integrity: sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==}
hasBin: true
@ -3763,7 +3742,6 @@ packages:
browserslist: 4.21.5
escalade: 3.1.1
picocolors: 1.0.0
dev: false
/util-deprecate@1.0.2:
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}

View File

@ -9,9 +9,9 @@ const toc = headings.map((heading) => {
return heading;
});
// if (content.data.code) {
// import "../styles/vendor/one-dark-pro.css";
// }
if (content.data.code) {
import "../styles/vendor/one-dark-pro.css";
}
---
<div class="sidebar region">

View File

@ -1,27 +0,0 @@
---
import { astroI18n, extractRouteLangCode } from "astro-i18n";
astroI18n.init(Astro);
import { getCollection } from "astro:content";
import EditorialContent from "../../components/EditorialContent.astro";
import BaseLayout from "../../layouts/BaseLayout.astro";
export async function getStaticPaths() {
const articles = await getCollection("articles", ({ data }) => {
console.log(extractRouteLangCode(import.meta.url));
return data.lang === extractRouteLangCode(import.meta.url);
});
return articles.map((article) => ({
params: { slug: article.slug },
props: { article },
}));
}
const { article } = Astro.props;
---
<BaseLayout pageTitle={article.data.title}>
{article.data.lang}
<EditorialContent content={article} />
</BaseLayout>

View File

@ -0,0 +1,38 @@
---
import { astroI18n, createStaticPaths } from "astro-i18n";
// astroI18n.init(Astro);
import { getCollection } from "astro:content";
import EditorialContent from "../../components/EditorialContent.astro";
import BaseLayout from "../../layouts/BaseLayout.astro";
export const getStaticPaths = createStaticPaths(async ({ langCode }) => {
const articles = await getCollection("articles", ({ data }) => {
return data.lang === langCode;
});
return articles.map((article) => ({
params: { slug: article.slug },
props: { article },
}));
}, import.meta.url);
// export async function getStaticPaths() {
// const articles = await getCollection("articles", ({ data }) => {
// return data.lang === astroI18n.langCode;
// });
// return articles.map((article) => ({
// params: { slug: article.slug },
// props: { article },
// }));
// }
const { article } = Astro.props;
// article is ok in logs but not diaplyed properly on the actual page
console.log(article);
---
<BaseLayout pageTitle={article.data.title}>
{article.data.lang}
<EditorialContent content={article} />
</BaseLayout>

View File

@ -1,9 +0,0 @@
---
import Page from "../../articles/[...slug].astro"
export { getStaticPaths } from "../../articles/[...slug].astro"
const { props } = Astro
---
<Page {...props} />

View File

@ -0,0 +1,15 @@
---
import Page from "../../articles/[slug].astro"
import { getStaticPaths as proxyGetStaticPaths } from "../../articles/[slug].astro"
import { extractRouteLangCode } from "astro-i18n"
/* @ts-ignore */
export const getStaticPaths = (props) => proxyGetStaticPaths({
...props,
langCode: extractRouteLangCode(import.meta.url),
})
const { props } = Astro
---
<Page {...props} />

View File

@ -1,6 +1,5 @@
---
import Page from "../../articles/index.astro"
const { props } = Astro
---

View File

@ -1,6 +1,5 @@
---
import Page from "../index.astro"
const { props } = Astro
---

View File

@ -1,6 +1,5 @@
---
import Page from "../plan-du-site.astro"
const { props } = Astro
---

View File

@ -1,7 +1,13 @@
---
import Page from "../../fragments/[slug].astro"
import { getStaticPaths as proxyGetStaticPaths } from "../../fragments/[slug].astro"
import { extractRouteLangCode } from "astro-i18n"
export { getStaticPaths } from "../../fragments/[slug].astro"
/* @ts-ignore */
export const getStaticPaths = (props) => proxyGetStaticPaths({
...props,
langCode: extractRouteLangCode(import.meta.url),
})
const { props } = Astro
---

View File

@ -1,6 +1,5 @@
---
import Page from "../../fragments/index.astro"
const { props } = Astro
---

View File

@ -1,6 +1,5 @@
---
import Page from "../../veille/index.astro"
const { props } = Astro
---

View File

@ -1,6 +1,5 @@
---
import Page from "../../references/index.astro"
const { props } = Astro
---