generated from codegouvfr/eleventy-dsfr
-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
15 changed files
with
222 additions
and
143 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,26 @@ | ||
const en = require("./en") | ||
const fr = require("./fr") | ||
const {readdirSync} = require('fs'); | ||
|
||
const chalk = require("chalk") | ||
|
||
const langDirectories = readdirSync(__dirname, {withFileTypes: true}) | ||
.filter(dirent => dirent.isDirectory()) | ||
.map(dirent => dirent.name); | ||
|
||
const buildTranslations = () => { | ||
const translations = {}; | ||
langDirectories.forEach(lang => { | ||
const langTranslations = require(`./${lang}`); | ||
for (const key in langTranslations) { | ||
if (!(key in translations)) { | ||
translations[key] = {}; | ||
} | ||
translations[key][lang] = langTranslations[key]; | ||
} | ||
}); | ||
return translations; | ||
} | ||
|
||
module.exports = { | ||
fr, | ||
en | ||
availableLang: langDirectories, | ||
...buildTranslations() | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
--- | ||
title: Calendrier | ||
description: Comment utiliser le calendrier d'événements d'eleventy-dsfr ? | ||
date: git Last Modified | ||
tags: | ||
- fonctionnalité | ||
--- | ||
|
||
La présence des fichiers de template dans [`content/calendar`](https://github.com/codegouvfr/eleventy-dsfr/tree/main/content/calendar) assure la création d'un fichier de calendrier global [`calendar.ics`](/calendar.ics) à la racine du site, et des fichiers de calendrier `.ics` correspondants aux événements. | ||
|
||
Les articles libellés avec `event` sont automatiquement ajoutés au calendrier, et leurs fichiers d'événement de calendrier `.ics` correspondants sont automatiquement créés. | ||
|
||
Il existe un composant bouton `add_to_calendar` qui contient un lien vers le téléchargement du fichier d'événement. | ||
|
||
[Voir un exemple d'événement](/fr/blog/evenement/){.fr-link .fr-fi-arrow-right-line .fr-link--icon-right} |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
--- | ||
title: Internationalisation | ||
description: Comment internationaliser son instance d'eleventy-dsfr ? | ||
date: git Last Modified | ||
tags: | ||
- fonctionnalité | ||
--- | ||
|
||
`eleventy-dsfr` suit les [recommandations officielles](https://www.11ty.dev/docs/i18n/) d'11ty pour l'internationalisation et utilise le [plugin officiel](https://www.11ty.dev/docs/plugins/i18n/) pour localiser les liens internes. | ||
|
||
Pour localiser les des chaînes de caractères, `eleventy-dsfr` utilise notre [fork du plugin recommandé `eleventy-plugin-i18n`](https://github.com/codegouvfr/eleventy-plugin-i18n). | ||
|
||
## Localisation des liens internes et des URLs | ||
|
||
`eleventy-dsfr` utilise le [style URLs distinctes](https://www.11ty.dev/docs/i18n/#distinct-urls) proposé par 11ty pour localiser les liens internes. | ||
|
||
Pour localiser une URL : nommer la page de la même manière (par exemple, en anglais) dans toutes les langues, et positionner la variable `slugOverride` du cartouche si besoin. | ||
|
||
```yaml | ||
--- | ||
slugOverride: a propos | ||
--- | ||
``` | ||
|
||
Par exemple, pour la page [À propos](/fr/a-propos), le fichier en français est [`content/fr/about/index.md`](https://github.com/codegouvfr/eleventy-dsfr/tree/main/content/fr/about/index.md), le fichier en anglais est [`content/en/about/index.md`](https://github.com/codegouvfr/eleventy-dsfr/tree/main/content/en/about/index.md). | ||
L'url en français est [/fr/a-propos](/fr/a-propos), l'url en anglais est [/en/about](/en/about). | ||
|
||
|
||
## Localisation des chaînes de caractères | ||
|
||
[Voir la documentation du plugin](https://github.com/codegouvfr/eleventy-plugin-i18n){.fr-link .fr-fi-arrow-right-line .fr-link--icon-right} | ||
|
||
Pour traduire une chaîne de caractères localisée dans une page, utiliser le filtre `i18n` : | ||
|
||
```njk | ||
{% raw %} | ||
{{ "filter_by_tag" | i18n }} | ||
{% endraw %} | ||
``` | ||
|
||
Les traductions sont situées dans le dossier de langue correspondant dans [`_data/i18n`](https://github.com/codegouvfr/eleventy-dsfr/tree/main/_data/i18n). | ||
Pour ajouter une traduction, ajouter le dossier correspondant à la langue et son fichier de traduction. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
--- | ||
title: Navigation | ||
description: Comment utiliser le système de navigation d'eleventy-dsfr ? | ||
date: git Last Modified | ||
tags: | ||
- fonctionnalité | ||
--- | ||
|
||
`eleventy-dsfr` utilise le [système de navigation d'Eleventy](https://www.11ty.dev/docs/plugins/navigation/). | ||
|
||
## Mise en place d'une navigation de niveau 2 | ||
|
||
Pour mettre en place une navigation de niveau 2, positionner la variable `parent` avec la valeur de la `key` du parent. | ||
Par exemple, dans le fichier [`content/fr/about/index.md`](https://github.com/codegouvfr/eleventy-dsfr/tree/main/content/fr/about/index.md) : | ||
|
||
```yaml | ||
--- | ||
eleventyNavigation: | ||
key: Présentation | ||
parent: À propos | ||
order: 1 | ||
--- | ||
``` | ||
|
||
Et dans le fichier [`content/fr/about.md`](https://github.com/codegouvfr/eleventy-dsfr/tree/main/content/fr/about.md) : | ||
|
||
```yaml | ||
--- | ||
eleventyNavigation: | ||
key: À propos | ||
order: 3 | ||
permalink: false | ||
--- | ||
``` | ||
|
||
**Note :** Cette page n'est pas référencée pour la génération (`permalink: false`) car dans ce cas, elle ne sert que de conteneur de premier niveau pour la navigation. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
--- | ||
title: Pagination | ||
description: Comment utiliser le système de pagination d'eleventy-dsfr ? | ||
date: git Last Modified | ||
tags: | ||
- fonctionnalité | ||
--- | ||
|
||
`eleventy-dsfr` utilise le [système de pagination d'Eleventy](https://www.11ty.dev/docs/pagination/), par exemple pour les articles de blog. | ||
|
||
## Pagination de niveau 2 pour les tags | ||
|
||
Pour mettre en place la pagination des articles de blog pour chaque tag, utiliser le filtre `paginateCollectionTags` dans une [fonction de callback `before`](https://www.11ty.dev/docs/pagination/#the-before-callback) dans un cartouche Javascript. | ||
Par exemple, dans le fichier [`content/fr/blog/tags.njk`](https://github.com/codegouvfr/eleventy-dsfr/tree/main/content/fr/blog/tags.njk) : | ||
|
||
```javascript | ||
---js | ||
{ | ||
pagination: { | ||
data: "collections.posts", | ||
size: 1, | ||
alias: "tag", | ||
before: function(paginationData, fullData) { | ||
return this.paginateCollectionTags(this.filterCollectionLang(paginationData, fullData.lang), 6); | ||
} | ||
} | ||
} | ||
--- | ||
``` |
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.