dep update + veille
This commit is contained in:
parent
ff0ba456a9
commit
b602b45c05
|
@ -1,10 +1,10 @@
|
|||
type DefaultLangCode = "fr"
|
||||
type SupportedLangCode = "en"
|
||||
type LangCode = DefaultLangCode | SupportedLangCode
|
||||
type RouteUri = | "/articles/[slug]" | "/articles" | "/agments/[slug]" | "/agments" | "/references" | "/" | "/plan-du-site"
|
||||
type RouteParams = {"/articles/[slug]": { "slug": string; }; "/articles": undefined; "/agments/[slug]": { "slug": string; }; "/agments": undefined; "/references": 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" | "erreur.introuvable" | "erreur.autre" | "erreur.lienRetour" | "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.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; "erreur.introuvable": {} | undefined; "erreur.autre": {} | undefined; "erreur.lienRetour": {} | 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.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; }
|
||||
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; }
|
||||
|
||||
declare module "astro-i18n" {
|
||||
export * from "astro-i18n/"
|
||||
|
|
13
package.json
13
package.json
|
@ -13,17 +13,14 @@
|
|||
"i18n:sync": "astro-i18n sync"
|
||||
},
|
||||
"dependencies": {
|
||||
"@astrojs/image": "^0.16.6",
|
||||
"@astrojs/mdx": "^0.19.0",
|
||||
"@astrojs/sitemap": "^1.2.2",
|
||||
"astro": "2.3.0",
|
||||
"astro-i18n": "^1.6.9"
|
||||
"@astrojs/image": "^0.16.7",
|
||||
"@astrojs/mdx": "^0.19.1",
|
||||
"@astrojs/sitemap": "^1.3.0",
|
||||
"astro": "2.4.3",
|
||||
"astro-i18n": "^1.6.10"
|
||||
},
|
||||
"devDependencies": {
|
||||
"autoprefixer": "^10.4.13",
|
||||
"postcss": "^8.4.20"
|
||||
},
|
||||
"engines": {
|
||||
"node": "16.19.0"
|
||||
}
|
||||
}
|
||||
|
|
1683
pnpm-lock.yaml
1683
pnpm-lock.yaml
File diff suppressed because it is too large
Load Diff
|
@ -15,6 +15,7 @@ import { l, t } from "astro-i18n";
|
|||
<li>
|
||||
<a href="tel:+33749464239" title={t("contact.tel")}>+337 49 46 42 39</a>
|
||||
</li>
|
||||
<li><a href={l("/veille")}>{t("veille.titre")}</a></li>
|
||||
<li><a href={l("/plan-du-site")}>{t("sitemap")}</a></li>
|
||||
</ul>
|
||||
</section>
|
||||
|
|
|
@ -17,16 +17,33 @@ function rawDate(date) {
|
|||
---
|
||||
|
||||
<div class="meta">
|
||||
{
|
||||
!!item.createdAt && (
|
||||
<p class="meta__date">
|
||||
{t("meta.publication")} :
|
||||
<time datetime={rawDate(item.createdAt)}>{formatDate(item.createdAt)}</time>
|
||||
<time datetime={rawDate(item.createdAt)}>
|
||||
{formatDate(item.createdAt)}
|
||||
</time>
|
||||
</p>
|
||||
)
|
||||
}
|
||||
{
|
||||
formatDate(item.createdAt) != formatDate(item.updatedAt) &&
|
||||
!!item.createdAt &&
|
||||
!!item.updatedAt && (
|
||||
<p class="meta__date">
|
||||
{t("meta.modification")} :
|
||||
<time datetime={rawDate(item.createdAt)}>
|
||||
<time datetime={rawDate(item.updatedAt)}>
|
||||
{formatDate(item.updatedAt)}
|
||||
</time>
|
||||
</p>
|
||||
)
|
||||
}
|
||||
{
|
||||
!item.createdAt && !!item.updatedAt && (
|
||||
<p class="meta__date">
|
||||
{t("meta.modification")} :
|
||||
<time datetime={rawDate(item.updatedAt)}>
|
||||
{formatDate(item.updatedAt)}
|
||||
</time>
|
||||
</p>
|
||||
|
|
|
@ -0,0 +1,26 @@
|
|||
---
|
||||
lang: en
|
||||
title: 2023
|
||||
updatedAt: "2023-04-20T17:12:06.000Z"
|
||||
---
|
||||
|
||||
- [3D in CSS](https://garden.bradwoods.io/notes/css/3d) – Explanations et examples of 3D in CSS.
|
||||
- [Fable](https://fable.app) – Motion design app.
|
||||
- [Rive](https://rive.app) – Motion design app.
|
||||
- [Cake Desk](https://cakedesk.app/) – Invoicing application.
|
||||
- [Smooth CSS shadow](https://shadows.brumm.af/) – Generator.
|
||||
- [Smol CSS](https://smolcss.dev/) – CSS snippets.
|
||||
- [Optical adjustment](https://marvelapp.com/blog/optical-adjustment-logic-vs-designers/) – Optical vs logical alignment.
|
||||
- [Datawrapper](https://blog.datawrapper.de/category/datavis-dos-and-donts/) – Advice on data visualization.
|
||||
- [Assistivlabs](https://assistivlabs.com/) – Test accessibility with real softwares.
|
||||
- [`time` input done right](https://adamsilver.io/blog/designing-a-time-input-backed-by-research/) – Article.
|
||||
- [Tabby](https://tabby.sh) – An alternative terminal app.
|
||||
- [Newglyph](https://newglyph.com/) – Independant foundry.
|
||||
- [Headless UI](https://headlessui.com/vue/dialog) – LUI librairy in vue and react.
|
||||
- [Sexy privacy](https://privacy.sexy) – Privacy tools for windows and macos.
|
||||
- [33 JavaScript concepts](https://github.com/leonardomso/33-js-concepts) – Articles.
|
||||
- [Formbricks](https://formbricks.com/) – Open source alternative to google form/typeform.
|
||||
- [SVG loader](https://github.com/n3r4zzurr0/svg-spinners) – Collection.
|
||||
- [a11yphant](https://a11yphant.com/) – Code challenges to learn accessibility.
|
||||
- [Modern CSS](https://moderncss.dev/) – CSS snippets.
|
||||
- [Moderne CSS container](https://twitter.com/KevinJPowell/status/1501555193799925761) – Tweet from Kevin Powell ❤️
|
|
@ -0,0 +1,31 @@
|
|||
---
|
||||
lang: fr
|
||||
title: 2023
|
||||
updatedAt: "2023-04-20T17:12:06.000Z"
|
||||
---
|
||||
|
||||
- [L’accessibilité n’est pas une variable d’ajustement](https://www.sophie-drouvroy.com/blog/laccessibilite-nest-pas-une-variable-dajustement/) — Sophie Drouvroy, intégratrice front-end, partage son quotidien en tant que personne sourde dans notre société.
|
||||
> L’accessibilité doit être au cœur du projet et pas une cerise sur le gâteau.
|
||||
- [3D en CSS (english)](https://garden.bradwoods.io/notes/css/3d) – Explications et exemples des propriétés 3D en CSS.
|
||||
- [Climat : Comment ne pas déprimer ?](https://www.lemonde.fr/podcasts/article/2022/06/21/climat-comment-ne-pas-deprimer_6131347_5463015.html) – Podcast.
|
||||
- [Fable (english)](https://fable.app) – Application de motion design.
|
||||
- [Rive (english)](https://rive.app) – Application de motion design.
|
||||
- [Cake Desk](https://cakedesk.app/) – Application de facturation.
|
||||
- [Ombre fluide en CSS](https://shadows.brumm.af/) – Générateur.
|
||||
- [Smol CSS](https://smolcss.dev/) – Collection de fragments CSS.
|
||||
- [Ajustement optique](https://marvelapp.com/blog/optical-adjustment-logic-vs-designers/) (english) – Aligner visuellement plutôt que techniquement.
|
||||
- [Datawrapper](https://blog.datawrapper.de/category/datavis-dos-and-donts/) (english) – Conseils pour montrer de la donnée.
|
||||
- [Assistivlabs](https://assistivlabs.com/) (english) – Service de test des technologies d'assistance (browserstack mais pour l'accessibilité).
|
||||
- [Les caractères fantaisistes et l'accessibilité](https://www.lalutineduweb.fr/detournement-unicode-emojis-accessibilite/) – Explications et exemples de l'enfer que sont les caractères Unicode pour les technologies d'assistance.
|
||||
- [Créer un champ `time` sur le web](https://adamsilver.io/blog/designing-a-time-input-backed-by-research/) (english) – Article.
|
||||
- [La cascade](https://la-cascade.io) – Collection d'articles sur le CSS.
|
||||
- [Tabby](https://tabby.sh) (english) – An alternative terminal app.
|
||||
- [Newglyph](https://newglyph.com/) – Fonderie indépendante.
|
||||
- [<span lang="en">Headless UI</span>](https://headlessui.com/vue/dialog) (english) – Librairie de composants vue et react.
|
||||
- [Vie privée sexy](https://privacy.sexy) (english) – Outils de confidentialité pour windows et macos.
|
||||
- [33 concepts JavaScript](https://github.com/leonardomso/33-js-concepts) (english) – Articles.
|
||||
- [Formbricks](https://formbricks.com/) (english) – Alternative open source à google form/typeform.
|
||||
- [Animations de chargement SVG](https://github.com/n3r4zzurr0/svg-spinners) – Collection.
|
||||
- [a11yphant](https://a11yphant.com/) (english) – Challenges de code pour apprendre l'accessibilité.
|
||||
- [CSS moderne](https://moderncss.dev/) (english) – Fragments CSS.
|
||||
- [Conteneur moderne en CSS](https://twitter.com/KevinJPowell/status/1501555193799925761) (english) – Tweet de Kevin Powell ❤️
|
|
@ -39,6 +39,10 @@
|
|||
"cta": "Consulter le site",
|
||||
"tagline": "Quelques références."
|
||||
},
|
||||
"veille": {
|
||||
"titre": "veille",
|
||||
"tagline": "Des liens, en vrac."
|
||||
},
|
||||
"erreur": {
|
||||
"introuvable": "Page introuvable",
|
||||
"autre": "Oups… désolé pour cette erreur.",
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
---
|
||||
import Page from "../../veille/index.astro"
|
||||
|
||||
const { props } = Astro
|
||||
---
|
||||
|
||||
<Page {...props} />
|
|
@ -66,17 +66,16 @@ const pageTitle = t("sitemap");
|
|||
<a href={l("/references")}>{t("references.titre")}</a>
|
||||
</h2>
|
||||
</li>
|
||||
<li>
|
||||
<h2>
|
||||
<a href={l("/veille")}>{t("veille.titre")}</a>
|
||||
</h2>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</BaseLayout>
|
||||
|
||||
<style>
|
||||
/* :link {
|
||||
text-decoration: underline;
|
||||
}
|
||||
:link:hover {
|
||||
text-decoration: none;
|
||||
} */
|
||||
h2 {
|
||||
text-transform: capitalize;
|
||||
}
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"pageName": "External stuff",
|
||||
"subtitle": "Links, articles, videos…"
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"pageName": "Veille",
|
||||
"subtitle": "Des liens, des articles, des vidéos… en vrac."
|
||||
}
|
|
@ -0,0 +1,43 @@
|
|||
---
|
||||
import { t, astroI18n } from "astro-i18n";
|
||||
astroI18n.init(Astro);
|
||||
|
||||
const pageTitle = t("index.veille.pageName");
|
||||
|
||||
import BaseLayout from "../../layouts/BaseLayout.astro";
|
||||
import MetaDate from "../../components/MetaDate.astro";
|
||||
|
||||
// get all content
|
||||
const allSections = await Astro.glob("../../data/veille/**/*.md");
|
||||
// only keep the right locale version
|
||||
const localizedSections = allSections.filter((section) => {
|
||||
return section.frontmatter.lang === astroI18n.langCode;
|
||||
});
|
||||
---
|
||||
|
||||
<BaseLayout pageTitle={pageTitle}>
|
||||
<section class="region flow">
|
||||
<h1>{pageTitle}</h1>
|
||||
<p>{t("index.veille.subtitle")}</p>
|
||||
</section>
|
||||
|
||||
{
|
||||
localizedSections.map((section) => (
|
||||
<section class="flow content">
|
||||
<h2>{section.frontmatter.title}</h2>
|
||||
<MetaDate item={section.frontmatter} />
|
||||
<section.Content />
|
||||
</section>
|
||||
))
|
||||
}
|
||||
</BaseLayout>
|
||||
|
||||
<style>
|
||||
.content :global(ul > li) {
|
||||
padding-block: var(--space-m);
|
||||
}
|
||||
.content :global(ul > li + li) {
|
||||
margin: 0;
|
||||
border-top: 1px solid var(--color-brique);
|
||||
}
|
||||
</style>
|
Loading…
Reference in New Issue