dep update + veille

This commit is contained in:
Nico 2023-05-09 10:23:01 +02:00
parent ff0ba456a9
commit b602b45c05
13 changed files with 1052 additions and 810 deletions

View File

@ -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/"

View File

@ -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"
}
}

File diff suppressed because it is too large Load Diff

View File

@ -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>

View File

@ -17,21 +17,38 @@ function rawDate(date) {
---
<div class="meta">
<p class="meta__date">
{t("meta.publication")}&nbsp;:
<time datetime={rawDate(item.createdAt)}>{formatDate(item.createdAt)}</time>
</p>
{
!!item.createdAt && (
<p class="meta__date">
{t("meta.publication")}&nbsp;:
<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")}&nbsp;:
<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")}&nbsp;:
<time datetime={rawDate(item.updatedAt)}>
{formatDate(item.updatedAt)}
</time>
</p>
)
}
</div>
<style>

View File

@ -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 ❤️

View File

@ -0,0 +1,31 @@
---
lang: fr
title: 2023
updatedAt: "2023-04-20T17:12:06.000Z"
---
- [Laccessibilité nest pas une variable dajustement](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é.
> Laccessibilité 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&nbsp;: Comment ne pas déprimer&nbsp;?](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 ❤️

View File

@ -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.",

View File

@ -0,0 +1,7 @@
---
import Page from "../../veille/index.astro"
const { props } = Astro
---
<Page {...props} />

View File

@ -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;
}

View File

@ -0,0 +1,4 @@
{
"pageName": "External stuff",
"subtitle": "Links, articles, videos…"
}

View File

@ -0,0 +1,4 @@
{
"pageName": "Veille",
"subtitle": "Des liens, des articles, des vidéos… en vrac."
}

View File

@ -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>