Aller au contenu

AstroPaper 2.0

Posted on:30 janvier 2023 at 15:57

Astro 2.0 a été publié avec des fonctionnalités intéressantes, des ruptures, des améliorations de DX, un meilleur recouvrement des erreurs, etc. AstroPaper tire parti de ces fonctionnalités, en particulier de l’API Content Collections.

Introducing AstroPaper 2.0

Toc

Fonctionnalités et Changements

Frontmatters à sécurité typographique et schéma de blog redéfini

Le Frontmatter des contenus Markdown d’AstroPaper 2.0 est désormais sûr grâce aux Content Collections d’Astro. Le schéma du blog est défini dans le fichier src/content/_schemas.ts.

Nouvel emplacement pour les contenus du blog

Tous les articles de blog ont été déplacés du répertoire src/contents vers le répertoire src/content/blog.

Nouvelle API Fetch

Les contenus sont maintenant récupérés avec la fonction getCollection. Il n’est plus nécessaire de spécifier de chemin relatif vers le contenu.

// Ancienne méthode
- const postImportResult = import.meta.glob<MarkdownInstance<Frontmatter>>(
  "../contents/**/**/*.md",);

// Nouvelle méthode
+ const postImportResult = await getCollection("blog");

Logique de recherche modifiée pour de meilleurs résultats de recherche

Dans l’ancienne version d’AstroPaper, lorsque quelqu’un recherchait un article, les critères de recherche qui étaient pris en compte étaient title, description et headings (headings signifie tous les titres h1 à h6 de l’article de blog). Dans AstroPaper v2, seuls title et description seront recherchés pendant que l’utilisateur tape.

Propriétés du Frontmatter renommées

Les propriétés du Frontmatter suivantes ont été renommées.

Anciens nomsNouveaux noms
datetimepubDatetime
slugpostSlug

Balise par défaut pour un article de blog

Si un article de blog n’a pas de balises (en d’autres termes, la propriété frontmatter tags n’est pas spécifiée), la balise par défaut others sera utilisér pour cet article de blog. Cependant, vous pouvez définir la balise par défaut dans le fichier /src/content/_schemas.ts.

// src/contents/_schemas.ts
export const blogSchema = z.object({
  // ---
  // remplacer "others"
  tags: z.array(z.string()).default(["others"]),
  ogImage: z.string().optional(),
  description: z.string(),
});

Nouveau schéma de couleurs sombres prédéfini

AstroPaper v2 propose un nouveau schéma de couleurs sombres (contraste élevé et faible contraste) basé sur le logo sombre d’Astro. Consultez ce lien pour plus d’informations.

New Predefined Dark Color Scheme

Tri automatique des classes

AstroPaper 2.0 inclut le tri automatique des classes avec le plugin TailwindCSS Prettier

Docs et README mis à jour

Tous les #docs articles de blog et le README ont été mis à jour pour cette version AstroPaper v2.

Corrections de bugs