diff --git a/src/app/[id]/page.tsx b/src/app/[id]/page.tsx
index 1a88094a..b0d5555b 100644
--- a/src/app/[id]/page.tsx
+++ b/src/app/[id]/page.tsx
@@ -60,7 +60,9 @@ export default async function Page({ params }: { params: Params }) {
{renderMarkdown({ index: 0 }, entry.content)}
- Retour
+
+ Retour
+
);
diff --git a/src/app/conferences/[id]/page.tsx b/src/app/conferences/[id]/page.tsx
index cb8271f0..3de84901 100644
--- a/src/app/conferences/[id]/page.tsx
+++ b/src/app/conferences/[id]/page.tsx
@@ -52,7 +52,9 @@ export default async function BlogPost({ params }: { params: Params }) {
- Retour
+
+ Retour
+
);
diff --git a/src/app/conferences/entries.tsx b/src/app/conferences/entries.tsx
index 1b745388..2a44c9c6 100644
--- a/src/app/conferences/entries.tsx
+++ b/src/app/conferences/entries.tsx
@@ -119,7 +119,10 @@ export const Entries = ({ entries, page, pagesCount }: EntriesProps) => {
{entry.illustration ? (
-
+
{
) : null}
- {entry.title}
+
+ {entry.title}
+
{entry.description}
-
Lire la suite
+
+ Lire la suite
+
))}
@@ -147,6 +154,7 @@ export const Entries = ({ entries, page, pagesCount }: EntriesProps) => {
page > 2 ? `/conferences/pages/${page - 1}` : '/conferences'
}
rel="previous"
+ title="Voir la page précédente"
>
Précédent
@@ -157,6 +165,7 @@ export const Entries = ({ entries, page, pagesCount }: EntriesProps) => {
iconPosition="last"
href={`/conferences/pages/${page + 1}`}
rel="next"
+ title="Voir la page suivante"
>
Suivant
diff --git a/src/app/credits/page.tsx b/src/app/credits/page.tsx
index 1522d885..28fea84a 100644
--- a/src/app/credits/page.tsx
+++ b/src/app/credits/page.tsx
@@ -77,7 +77,10 @@ export default async function Page() {
-
+
{entry.name} alias {entry.login}
@@ -95,6 +98,7 @@ export default async function Page() {
(entry.blog.startsWith('http') ? '' : 'https://') +
entry.blog
}
+ title={`Se rendre sur le blog de ${entry.name}`}
>
📰Blog
{' '}
@@ -104,12 +108,20 @@ export default async function Page() {
<>
📲Twitter
{' '}
>
) : null}
- {💻GitHub}
+ {
+
+ 💻GitHub
+
+ }
))}
diff --git a/src/app/membres/page.tsx b/src/app/membres/page.tsx
index 2a429061..d8f18e6b 100644
--- a/src/app/membres/page.tsx
+++ b/src/app/membres/page.tsx
@@ -63,7 +63,10 @@ export default async function Page() {
-
+
{entry.name} alias {entry.login}
@@ -76,6 +79,7 @@ export default async function Page() {
(entry.blog.startsWith('http') ? '' : 'https://') +
entry.blog
}
+ title={`Se rendre sur le blog de ${entry.name}`}
>
📰Blog
{' '}
@@ -85,12 +89,20 @@ export default async function Page() {
<>
📲Twitter
{' '}
>
) : null}
- {💻GitHub}
+ {
+
+ 💻GitHub
+
+ }
))}
diff --git a/src/app/page.tsx b/src/app/page.tsx
index f7101e8b..bdf67586 100644
--- a/src/app/page.tsx
+++ b/src/app/page.tsx
@@ -77,21 +77,33 @@ export default async function Page() {
Le{' '}
-
+
groupe Meetup de FranceJS
{' '}
;
Le{' '}
-
+
groupe Google
{' '}
de ChtiJS (plus axé proposition de conférences et préparatifs) ;
Le compte{' '}
- Twitter de ChtiJS ;
+
+ Twitter de ChtiJS
+ {' '}
+ ;
Concept
@@ -116,28 +128,47 @@ export default async function Page() {
Signalez vous sur Twitter auprès de{' '}
- @chtijs, ou inscrivez
- vous sur la{' '}
-
+
+ @chtijs
+
+ , ou inscrivez vous sur la{' '}
+
liste de diffusion
{' '}
et rejoignez nous sur{' '}
- slack.
+
+ slack
+
+ .
Site web
Notre site web est aussi ouvert aux contributions, contenus comme code.
Il vous suffit de faire un pull request sur{' '}
-
+
le dépôt GitHub
. Vous pouvez retrouver les contributeurs du site{' '}
- sur cette page.
+
+ sur cette page
+
+ .
FranceJS
ChtiJS fait partie de{' '}
- l'initiative FranceJS{' '}
+
+ l'initiative FranceJS
+ {' '}
qui fédère les acteurs de JavaScript afin de promouvoir ce langage et de
faciliter son développement en France.
diff --git a/src/app/planete/page.tsx b/src/app/planete/page.tsx
index 9ca1a18a..62ece0ec 100644
--- a/src/app/planete/page.tsx
+++ b/src/app/planete/page.tsx
@@ -87,7 +87,10 @@ export default async function Page() {
{entries.map((entry) => (
-
+
{entry.entry.title}
@@ -104,14 +107,22 @@ export default async function Page() {
)}{' '}
par{' '}
-
+
{entry.blog.author}
>
- Lire ➤
+
+ Lire ➤
+
))}
diff --git a/src/components/a.tsx b/src/components/a.tsx
index f562eb69..efa821f9 100644
--- a/src/components/a.tsx
+++ b/src/components/a.tsx
@@ -1,69 +1,51 @@
import Link from 'next/link';
import styles from './a.module.scss';
-import type { LinkProps } from 'next/link';
+import { type ComponentProps } from 'react';
-const Anchor = ({
+export default function Anchor({
children,
href,
- as,
- replace,
- scroll,
- shallow,
- passHref,
- prefetch,
- locale,
className,
icon,
iconPosition = 'first',
...props
}: {
- children: React.ReactNode;
-} & LinkProps & {
- icon?: string;
- iconPosition?: 'first' | 'last';
- } & Exclude, 'href'>) => {
+ title: string;
+ icon?: string;
+ iconPosition?: 'first' | 'last';
+} & Omit, 'target'>) {
const isURLLink =
- href.length > 30 &&
+ href.toString().length > 30 &&
children instanceof Array &&
typeof children[0] === 'string' &&
href === children[0];
return (
-
- {icon ? : null}
- {isURLLink
+ className={[
+ styles.root,
+ ...(className ? [className] : []),
+ ...(icon
? [
- href.replace(/(http|ftp)s?:\/\//, '').slice(0, 15) +
- '…' +
- href.slice(-5),
+ styles.withIcon,
+ iconPosition === 'first' ? styles.first : styles.last,
]
- : children}
-
+ : []),
+ ].join(' ')}
+ {...props}
+ target={href.toString().startsWith('http') ? '_blank' : '_self'}
+ >
+ {icon ? : null}
+ {isURLLink
+ ? [
+ href.replace(/(http|ftp)s?:\/\//, '').slice(0, 15) +
+ '…' +
+ href.slice(-5),
+ ]
+ : children}
);
-};
-
-export default Anchor;
+}
diff --git a/src/components/anchored.tsx b/src/components/anchored.tsx
index 259a7e80..50670190 100644
--- a/src/components/anchored.tsx
+++ b/src/components/anchored.tsx
@@ -1,6 +1,5 @@
import Link from 'next/link';
import styles from './anchored.module.scss';
-
const Anchored = ({
children,
id = '',
@@ -12,14 +11,16 @@ const Anchored = ({
{children}{' '}
-
-
- 🔗
-
+
+ 🔗
);
};
-
export default Anchored;
diff --git a/src/components/footer.tsx b/src/components/footer.tsx
index 745a4f76..322efc17 100644
--- a/src/components/footer.tsx
+++ b/src/components/footer.tsx
@@ -1,23 +1,23 @@
import Link from 'next/link';
import Social from './social';
-import {
- ORGANISATION_NAME,
-} from '../utils/constants';
+import { ORGANISATION_NAME } from '../utils/constants';
import styles from './footer.module.scss';
const Footer = () => {
return (
- <>
-
- >
+
);
};
diff --git a/src/components/gallery.tsx b/src/components/gallery.tsx
index a9df8ccb..f3dfc7d8 100644
--- a/src/components/gallery.tsx
+++ b/src/components/gallery.tsx
@@ -1,13 +1,10 @@
'use client';
-
import { useState } from 'react';
import styles from './gallery.module.scss';
import { publicRuntimeConfig } from '../utils/config';
import type { MarkdownImageNode } from '../utils/markdown';
-
const Gallery = ({ imagesNodes }: { imagesNodes: MarkdownImageNode[] }) => {
const [selectedIndex, setSelectedIndex] = useState(0);
-
return (
@@ -20,13 +17,17 @@ const Gallery = ({ imagesNodes }: { imagesNodes: MarkdownImageNode[] }) => {
'/' +
imagesNodes[selectedIndex].url
}
- alt={imagesNodes[selectedIndex].alt || ''}
+ alt={imagesNodes[selectedIndex].alt || 'Image'}
/>
);
};
-
-export default Gallery;
+export default Gallery;
\ No newline at end of file
diff --git a/src/components/header.tsx b/src/components/header.tsx
index 0ba74299..18bc0292 100644
--- a/src/components/header.tsx
+++ b/src/components/header.tsx
@@ -3,17 +3,13 @@ import styles from './header.module.scss';
const Header = () => {
return (
- <>
-
- >
+
);
};
diff --git a/src/components/menu.tsx b/src/components/menu.tsx
index d4c8c526..36fbfb8d 100644
--- a/src/components/menu.tsx
+++ b/src/components/menu.tsx
@@ -9,55 +9,49 @@ const Menu = () => {
return (
);
diff --git a/src/components/social.tsx b/src/components/social.tsx
index 96077335..3dfc5983 100644
--- a/src/components/social.tsx
+++ b/src/components/social.tsx
@@ -22,7 +22,7 @@ export default function Social(): JSX.Element {
@@ -32,7 +32,7 @@ export default function Social(): JSX.Element {
Flux de syndication
diff --git a/src/components/tootList.tsx b/src/components/tootList.tsx
index 7ca68d05..30713b89 100644
--- a/src/components/tootList.tsx
+++ b/src/components/tootList.tsx
@@ -14,20 +14,20 @@ export type Toots = {
const TootList = ({ toots }: { toots: Toots }) => (