added content collections base config
This commit is contained in:
parent
23c79e579c
commit
346c154259
|
@ -0,0 +1,30 @@
|
||||||
|
---
|
||||||
|
title: "My First Blog Post"
|
||||||
|
slug: "article-1"
|
||||||
|
lang: en
|
||||||
|
pubDate: 2022-07-01
|
||||||
|
description: "This is the first post of my new Astro blog."
|
||||||
|
author: "Astro Learner"
|
||||||
|
tags: ["astro", "blogging", "learning in public"]
|
||||||
|
---
|
||||||
|
|
||||||
|
export const image = {
|
||||||
|
url: "/oui.jpg",
|
||||||
|
alt: "oui oui oui",
|
||||||
|
width: "394",
|
||||||
|
height: "512",
|
||||||
|
};
|
||||||
|
|
||||||
|
Welcome to my _new blog_ about learning Astro! Here, I will share my learning journey as I build a new website.
|
||||||
|
|
||||||
|
## What I've accomplished
|
||||||
|
|
||||||
|
1. **Installing Astro**: First, I created a new Astro project and set up my online accounts.
|
||||||
|
|
||||||
|
2. **Making Pages**: I then learned how to make pages by creating new `.astro` files and placing them in the `src/pages/` folder.
|
||||||
|
|
||||||
|
3. **Making Blog Posts**: This is my first blog post! I now have Astro pages and Markdown posts!
|
||||||
|
|
||||||
|
## What's next
|
||||||
|
|
||||||
|
I will finish the Astro tutorial, and then keep adding more posts. Watch this space for more to come.
|
|
@ -0,0 +1,147 @@
|
||||||
|
---
|
||||||
|
title: "Access blocked Sci-hub"
|
||||||
|
subtitle: "The science of sharing."
|
||||||
|
lang: en
|
||||||
|
excerpt: "In March 2019, the Paris Regional Court ruled in favour of the publishers of scientific articles Elsevier and Springer Nature by ordering internet service providers to block access to these two websites. Here is how to access them if they are blocked in your country anyway."
|
||||||
|
tags: ["Internet", "Science"]
|
||||||
|
pubDate: "2019-10-18T07:47:36.000Z"
|
||||||
|
---
|
||||||
|
|
||||||
|
The current sci-hub address is: <a href="https://sci-hub.se" rel="noreferer noopener">sci-hub.se</a>
|
||||||
|
|
||||||
|
## What is this about?
|
||||||
|
|
||||||
|
Not being a researcher myself, here’s an [extremely well done explanatory video](https://youtu.be/rcgxY__YXEc) on the subject of scientific publication (french audio with auto subtitle).
|
||||||
|
|
||||||
|
> “This is outrageous!”
|
||||||
|
|
||||||
|
I noticed that my ISP was indeed blocking access. I have not yet been able to check for the other suppliers, but I imagine that they have all complied with the court decision.
|
||||||
|
The restriction in place is quite basic. This is a “DNS” block. A DNS is a server that is used to link a domain name: _www.sci-hub.tw_ to an IP address: _186.2.163.90_
|
||||||
|
It is, in a way, the Internet phone book. Without the address, it is impossible to contact the domain. What ISPs have certainly done: block requests to the sci-hub domain name. As a result, no IP address is returned and the site is not accessible.
|
||||||
|
|
||||||
|
## How to bypass this?
|
||||||
|
|
||||||
|
- Either by using a VPN
|
||||||
|
- Either by modifying the DNS servers of your computers/Internet box
|
||||||
|
|
||||||
|
I would recommend the second solution because it allows you to protect yourself against future blockages/filtering/censorship from your ISP and does not require any financial compensation.
|
||||||
|
I will focus on change from a computer because it will be effective wherever you are and not only from your home.
|
||||||
|
|
||||||
|
### MacOs
|
||||||
|
|
||||||
|
Go to:
|
||||||
|
|
||||||
|
1. System Preferences
|
||||||
|
1. Network
|
||||||
|
1. (wi-fi or ethernet)
|
||||||
|
1. Advanced
|
||||||
|
1. DNS
|
||||||
|
|
||||||
|
From there, you can add DNS servers by clicking the + icon. Click ok and apply the new settings. You might need to restart your computer for the changes to work.
|
||||||
|
|
||||||
|
<nuxt-img
|
||||||
|
src="https://assets.nardu.in/ef5a4b8e82a046e6a466c73c2fd9e99e.jpg"
|
||||||
|
sizes="sm:100vw xl:728px"
|
||||||
|
width="728"
|
||||||
|
height="1060"
|
||||||
|
alt="MacOS network and DNS settings"
|
||||||
|
loading="lazy">
|
||||||
|
</nuxt-img>
|
||||||
|
|
||||||
|
### Windows (10)
|
||||||
|
|
||||||
|
Go to:
|
||||||
|
|
||||||
|
1. System Settings
|
||||||
|
1. Network & Internet
|
||||||
|
1. Change adapter options
|
||||||
|
1. Right click your adapter then “properties”
|
||||||
|
1. Select “internet protocol version 4” (and/or 6)
|
||||||
|
1. Properties
|
||||||
|
1. Use the following DNS server addresses
|
||||||
|
|
||||||
|
From there, you can add DNS servers. Click save. You might need to restart your computer for the changes to work.
|
||||||
|
|
||||||
|
<picture width="728" height="319">
|
||||||
|
<nuxt-source
|
||||||
|
src="https://assets.nardu.in/sci-hub-settings.webp"
|
||||||
|
sizes="sm:100vw xl:728px" >
|
||||||
|
</nuxt-source>
|
||||||
|
<nuxt-img src="https://assets.nardu.in/sci-hub-settings.jpg"
|
||||||
|
sizes="sm:100vw xl:728px"
|
||||||
|
alt="Windows system settings"
|
||||||
|
loading="lazy" >
|
||||||
|
</nuxt-img>
|
||||||
|
</picture>
|
||||||
|
|
||||||
|
<picture width="728" height="803">
|
||||||
|
<nuxt-source
|
||||||
|
src="https://assets.nardu.in/sci-hub-network.webp"
|
||||||
|
sizes="sm:100vw xl:728px" >
|
||||||
|
</nuxt-source>
|
||||||
|
<nuxt-img src="https://assets.nardu.in/sci-hub-network.jpg"
|
||||||
|
sizes="sm:100vw xl:728px"
|
||||||
|
alt="Windows network settings"
|
||||||
|
loading="lazy" >
|
||||||
|
</nuxt-img>
|
||||||
|
</picture>
|
||||||
|
|
||||||
|
<picture width="728" height="327">
|
||||||
|
<nuxt-source
|
||||||
|
src="https://assets.nardu.in/sci-hub-adapter.webp"
|
||||||
|
sizes="sm:100vw xl:728px" >
|
||||||
|
</nuxt-source>
|
||||||
|
<nuxt-img src="https://assets.nardu.in/sci-hub-adapter.jpg"
|
||||||
|
sizes="sm:100vw xl:728px"
|
||||||
|
alt="Windows network connections settings"
|
||||||
|
loading="lazy" >
|
||||||
|
</nuxt-img>
|
||||||
|
</picture>
|
||||||
|
|
||||||
|
<picture width="728" height="434">
|
||||||
|
<nuxt-source
|
||||||
|
src="https://assets.nardu.in/sci-hub-adapter-settings.webp"
|
||||||
|
sizes="sm:100vw xl:728px" >
|
||||||
|
</nuxt-source>
|
||||||
|
<nuxt-img src="https://assets.nardu.in/sci-hub-adapter-settings.jpg"
|
||||||
|
sizes="sm:100vw xl:728px"
|
||||||
|
alt="Windows network adapter settings"
|
||||||
|
loading="lazy" >
|
||||||
|
</nuxt-img>
|
||||||
|
</picture>
|
||||||
|
|
||||||
|
## Which DNS?
|
||||||
|
|
||||||
|
There are many DNS servers available. The best known are Google, Cloudflare and OpenDNS. If you really want to use Google’s, I’ll let you look up their address. Here are my recommendations in order of preference.
|
||||||
|
|
||||||
|
### [FDN DNS](https://www.fdn.fr/actions/dns/)
|
||||||
|
|
||||||
|
My favorite since it is a [french association](https://www.fdn.fr/)
|
||||||
|
|
||||||
|
1. IPV4
|
||||||
|
- 80.67.169.12
|
||||||
|
- 80.67.169.40
|
||||||
|
2. IPV6
|
||||||
|
- 2001:910:800::12
|
||||||
|
- 2001:910:800::40
|
||||||
|
|
||||||
|
### [Cloudflare DNS](https://1.1.1.1/)
|
||||||
|
|
||||||
|
For those who want the [“fastest DNS servers in the world”.](https://www.dnsperf.com/#!dns-resolvers)
|
||||||
|
|
||||||
|
1. IPV4
|
||||||
|
- 1.1.1.1
|
||||||
|
- 1.0.0.1
|
||||||
|
2. IPV6
|
||||||
|
- 2606:4700:4700::1111
|
||||||
|
- 2606:4700:4700::1001
|
||||||
|
|
||||||
|
## That's it.
|
||||||
|
|
||||||
|
By changing these settings, you are free from your ISPs and their content filtering rules.
|
||||||
|
|
||||||
|
For the moment, these restrictions are almost symbolic because if Sci-hub were to change its url, the block would no longer work. But the publishers’ victory in court shows that they have not had their last word. We are therefore not immune to a wider and stronger block in the future.
|
||||||
|
|
||||||
|
If you want to learn more about the struggle of the people who fight to ensure that research is not a paid commodity, I recommend [this documentary](https://youtu.be/y_CQATGOX2w) on Aaron Shwartz. Or [this article](https://arstechnica.com/tech-policy/2016/04/a-spiritual-successor-to-aaron-swartz-is-angering-publishers-all-over-again/) about the founder of Sci-hub.
|
||||||
|
|
||||||
|
In the meantime, good readings to all of you. We stand with you!
|
|
@ -0,0 +1,30 @@
|
||||||
|
---
|
||||||
|
title: "Sci-Hub EN"
|
||||||
|
slug: "sci-hub"
|
||||||
|
lang: en
|
||||||
|
pubDate: 2022-10-11
|
||||||
|
description: "This is the first post of my new Astro blog."
|
||||||
|
author: "Astro Learner"
|
||||||
|
tags: ["astro", "blogging", "learning in public"]
|
||||||
|
---
|
||||||
|
|
||||||
|
export const image = {
|
||||||
|
url: "/oui.jpg",
|
||||||
|
alt: "oui oui oui",
|
||||||
|
width: "394",
|
||||||
|
height: "512",
|
||||||
|
};
|
||||||
|
|
||||||
|
Welcome to my _new blog_ about learning Astro! Here, I will share my learning journey as I build a new website.
|
||||||
|
|
||||||
|
## What I've accomplished
|
||||||
|
|
||||||
|
1. **Installing Astro**: First, I created a new Astro project and set up my online accounts.
|
||||||
|
|
||||||
|
2. **Making Pages**: I then learned how to make pages by creating new `.astro` files and placing them in the `src/pages/` folder.
|
||||||
|
|
||||||
|
3. **Making Blog Posts**: This is my first blog post! I now have Astro pages and Markdown posts!
|
||||||
|
|
||||||
|
## What's next
|
||||||
|
|
||||||
|
I will finish the Astro tutorial, and then keep adding more posts. Watch this space for more to come.
|
|
@ -0,0 +1,18 @@
|
||||||
|
---
|
||||||
|
title: "Mon premier article"
|
||||||
|
slug: "article-1"
|
||||||
|
lang: fr
|
||||||
|
pubDate: 2022-07-01
|
||||||
|
description: "youpi"
|
||||||
|
author: "Astro Learner"
|
||||||
|
tags: ["astro", "blogging", "learning in public"]
|
||||||
|
---
|
||||||
|
|
||||||
|
export const image = {
|
||||||
|
url: "/oui.jpg",
|
||||||
|
alt: "oui oui oui",
|
||||||
|
width: "394",
|
||||||
|
height: "512",
|
||||||
|
};
|
||||||
|
|
||||||
|
Bienvenue les men in black
|
|
@ -0,0 +1,150 @@
|
||||||
|
---
|
||||||
|
title: "Sci-hub bloqué, comment contourner"
|
||||||
|
subtitle: "La science du partage."
|
||||||
|
lang: fr
|
||||||
|
excerpt: "Le tribunal de grande instance de Paris a ordonné aux fournisseurs d’accès à internet de bloquer l’accès à sci-hub. Voici comment contourner les blocages mis en place."
|
||||||
|
tags: ["Internet", "Science"]
|
||||||
|
pubDate: "2019-03-31T07:47:36.000Z"
|
||||||
|
---
|
||||||
|
|
||||||
|
L'adresse actuelle de sci-hub est : [sci-hub.se](https://sci-hub.se)
|
||||||
|
|
||||||
|
## Résumé de la situation
|
||||||
|
|
||||||
|
N’étant pas moi-même directement chercheur, je vous laisse regarder [cette vidéo](https://youtu.be/rcgxY__YXEc) explicative extrêmement bien faite sur le sujet de la publication scientifique.
|
||||||
|
|
||||||
|
> “ Mais c’est scandaleux ! ”
|
||||||
|
|
||||||
|
J’ai constaté que le blocage était actif chez SFR. Je n’ai pas encore pu vérifier pour les autres fournisseurs mais j’imagine qu’ils se sont tous conformés à la décision de justice.
|
||||||
|
Le blocage mis en place est assez basique. Il s’agit d’un blocage “ DNS ”.
|
||||||
|
|
||||||
|
Un DNS est un serveur qui sert à faire le lien entre un nom de domaine : **sci-hub.tw** et une adresse IP : **186.2.163.90**.
|
||||||
|
|
||||||
|
C’est en quelque sorte l’annuaire d’internet. Sans l’adresse, impossible de contacter le domaine. Ce que les FAI ont certainement fait : bloquer les requêtes au nom de domaine [sci-hub.tw.](http://sci-hub.tw/) Ainsi, aucune adresse IP n’est renvoyée et le site n’est pas accessible.
|
||||||
|
|
||||||
|
## Comment contourner ce blocage ?
|
||||||
|
|
||||||
|
- Soit en utilisant un VPN
|
||||||
|
- Soit en modifiant les serveurs DNS de vos ordinateurs/box internet
|
||||||
|
|
||||||
|
Je recommande la deuxième solution car elle permet de se prémunir contre de futurs blocages/filtrages/censures de la part de votre FAI et ne nécessite pas de contrepartie financière.
|
||||||
|
Je vais me focaliser sur le changement depuis un ordinateur car il sera effectif où que vous soyez.
|
||||||
|
|
||||||
|
### Sur MacOs :
|
||||||
|
|
||||||
|
Ouvrez :
|
||||||
|
|
||||||
|
1. Préférences système
|
||||||
|
1. Réseau
|
||||||
|
1. Avancé
|
||||||
|
1. DNS
|
||||||
|
1. Serveurs DNS
|
||||||
|
|
||||||
|
De là, vous pouvez ajouter des serveurs DNS en cliquant sur l'icône +. Cliquez sur ok et appliquez les nouveaux paramètres. Vous devrez peut-être redémarrer votre ordinateur pour que les changements fonctionnent.
|
||||||
|
|
||||||
|
<nuxt-img
|
||||||
|
src="https://assets.nardu.in/ef5a4b8e82a046e6a466c73c2fd9e99e.jpg"
|
||||||
|
sizes="sm:100vw xl:728px"
|
||||||
|
width="728"
|
||||||
|
height="1060"
|
||||||
|
alt="MacOS réglages réseau et DNS"
|
||||||
|
loading="lazy">
|
||||||
|
</nuxt-img>
|
||||||
|
|
||||||
|
### Sur Windows (ici 10) :
|
||||||
|
|
||||||
|
Ouvrez :
|
||||||
|
|
||||||
|
1. Réglages
|
||||||
|
1. Réseau et internet
|
||||||
|
1. Modifier les options de l'adaptateur
|
||||||
|
1. Clic droit sur les propriétés de votre interface réseau
|
||||||
|
1. Selectionnez « protocole Internet version 4 » (et/ou 6)
|
||||||
|
1. Propriétés
|
||||||
|
1. Utiliser l’adresse de serveur DNS suivante
|
||||||
|
|
||||||
|
<picture width="728" height="319">
|
||||||
|
<nuxt-source
|
||||||
|
src="https://assets.nardu.in/sci-hub-settings.webp"
|
||||||
|
sizes="sm:100vw xl:728px" >
|
||||||
|
</nuxt-source>
|
||||||
|
<nuxt-img src="https://assets.nardu.in/sci-hub-settings.jpg"
|
||||||
|
sizes="sm:100vw xl:728px"
|
||||||
|
alt="Réglages windows"
|
||||||
|
loading="lazy" >
|
||||||
|
</nuxt-img>
|
||||||
|
</picture>
|
||||||
|
|
||||||
|
<picture width="728" height="803">
|
||||||
|
<nuxt-source
|
||||||
|
src="https://assets.nardu.in/sci-hub-network.webp"
|
||||||
|
sizes="sm:100vw xl:728px" >
|
||||||
|
</nuxt-source>
|
||||||
|
<nuxt-img src="https://assets.nardu.in/sci-hub-network.jpg"
|
||||||
|
sizes="sm:100vw xl:728px"
|
||||||
|
alt="Windows réglages réseaux"
|
||||||
|
loading="lazy" >
|
||||||
|
</nuxt-img>
|
||||||
|
</picture>
|
||||||
|
|
||||||
|
<picture width="728" height="327">
|
||||||
|
<nuxt-source
|
||||||
|
src="https://assets.nardu.in/sci-hub-adapter.webp"
|
||||||
|
sizes="sm:100vw xl:728px" >
|
||||||
|
</nuxt-source>
|
||||||
|
<nuxt-img src="https://assets.nardu.in/sci-hub-adapter.jpg"
|
||||||
|
sizes="sm:100vw xl:728px"
|
||||||
|
alt="Windows régalges connections réseaux"
|
||||||
|
loading="lazy" >
|
||||||
|
</nuxt-img>
|
||||||
|
</picture>
|
||||||
|
|
||||||
|
<picture width="728" height="434">
|
||||||
|
<nuxt-source
|
||||||
|
src="https://assets.nardu.in/sci-hub-adapter-settings.webp"
|
||||||
|
sizes="sm:100vw xl:728px" >
|
||||||
|
</nuxt-source>
|
||||||
|
<nuxt-img src="https://assets.nardu.in/sci-hub-adapter-settings.jpg"
|
||||||
|
sizes="sm:100vw xl:728px"
|
||||||
|
alt="Windows options adaptateur réseau"
|
||||||
|
loading="lazy" >
|
||||||
|
</nuxt-img>
|
||||||
|
</picture>
|
||||||
|
|
||||||
|
## Quels serveurs DNS utiliser ?
|
||||||
|
|
||||||
|
Il y a de nombreux serveurs DNS accessibles. Les plus connus étant ceux de Google, Cloudflare et OpenDNS. Si vous tenez vraiment à utiliser ceux de Google, je vous laisse chercher leur adresse. Voici mes recommandations par ordre de préférence.
|
||||||
|
|
||||||
|
Plusieurs fournisseurs :
|
||||||
|
|
||||||
|
### [FDN DNS](https://www.fdn.fr/actions/dns/)
|
||||||
|
|
||||||
|
Mes favoris puisqu’il s’agit d’une [association française.](https://www.fdn.fr/)
|
||||||
|
|
||||||
|
1. IPV4
|
||||||
|
- 80.67.169.12
|
||||||
|
- 80.67.169.40
|
||||||
|
2. IPV6
|
||||||
|
- 2001:910:800::12
|
||||||
|
- 2001:910:800::40
|
||||||
|
|
||||||
|
### [Cloudflare DNS](https://1.1.1.1/)
|
||||||
|
|
||||||
|
Pour ceux qui veulent les serveurs DNS [“ les plus rapides du monde ”.](https://www.dnsperf.com/#!dns-resolvers)
|
||||||
|
|
||||||
|
1. IPV4
|
||||||
|
- 1.1.1.1
|
||||||
|
- 1.0.0.1
|
||||||
|
2. IPV6
|
||||||
|
- 2606:4700:4700::1111
|
||||||
|
- 2606:4700:4700::1001
|
||||||
|
|
||||||
|
## C'est tout.
|
||||||
|
|
||||||
|
En modifiant ces réglages, vous vous affranchissez de vos fournisseurs d’accès et de leurs règles de filtrage du contenu.
|
||||||
|
|
||||||
|
Pour l’instant, ces blocages sont presque symboliques car si Sci-hub venait à changer d’url, le blocage ne fonctionnerait plus. Mais la victoire des éditeurs au tribunal montre qu’ils n’ont pas dit leur dernier mot. Nous ne sommes donc pas à l’abri d’un futur blocage plus large et plus dur à contrer.
|
||||||
|
|
||||||
|
Si vous voulez en apprendre plus sur le combat de ces gens qui se battent pour que la recherche ne soit pas une marchandise, je vous conseille [ce documentaire](https://youtu.be/y_CQATGOX2w) sur Aaron Shwartz. Ou plus simplement [cet article](https://arstechnica.com/tech-policy/2016/04/a-spiritual-successor-to-aaron-swartz-is-angering-publishers-all-over-again/) sur la fondatrice de Sci-hub.
|
||||||
|
|
||||||
|
En attendant, bonnes lectures à tou·te·s. On est avec vous !
|
|
@ -0,0 +1,30 @@
|
||||||
|
---
|
||||||
|
title: "Sci-Hub FR"
|
||||||
|
slug: "sci-hub"
|
||||||
|
lang: fr
|
||||||
|
pubDate: 2022-10-11
|
||||||
|
description: "This is the first post of my new Astro blog."
|
||||||
|
author: "Astro Learner"
|
||||||
|
tags: ["astro", "blogging", "learning in public"]
|
||||||
|
---
|
||||||
|
|
||||||
|
export const image = {
|
||||||
|
url: "/oui.jpg",
|
||||||
|
alt: "oui oui oui",
|
||||||
|
width: "394",
|
||||||
|
height: "512",
|
||||||
|
};
|
||||||
|
|
||||||
|
Welcome to my _new blog_ about learning Astro! Here, I will share my learning journey as I build a new website.
|
||||||
|
|
||||||
|
## What I've accomplished
|
||||||
|
|
||||||
|
1. **Installing Astro**: First, I created a new Astro project and set up my online accounts.
|
||||||
|
|
||||||
|
2. **Making Pages**: I then learned how to make pages by creating new `.astro` files and placing them in the `src/pages/` folder.
|
||||||
|
|
||||||
|
3. **Making Blog Posts**: This is my first blog post! I now have Astro pages and Markdown posts!
|
||||||
|
|
||||||
|
## What's next
|
||||||
|
|
||||||
|
I will finish the Astro tutorial, and then keep adding more posts. Watch this space for more to come.
|
|
@ -0,0 +1,26 @@
|
||||||
|
import { z, defineCollection } from "astro:content";
|
||||||
|
|
||||||
|
const articles = defineCollection({
|
||||||
|
slug: ({ defaultSlug, data }) => {
|
||||||
|
// Use `permalink` from the entry’s frontmatter as the slug, if it exists.
|
||||||
|
// Otherwise, fall back to the default slug.
|
||||||
|
return data.slug || defaultSlug;
|
||||||
|
},
|
||||||
|
schema: {
|
||||||
|
title: z.string(),
|
||||||
|
subtitle: z.string(),
|
||||||
|
lang: z.enum(["fr", "en"]),
|
||||||
|
slug: z.string().optional(),
|
||||||
|
tags: z.array(z.string()), // An array of strings
|
||||||
|
// Parse pubDate as a browser-standard `Date` object
|
||||||
|
pubDate: z
|
||||||
|
.string()
|
||||||
|
.transform((str) => new Date(str))
|
||||||
|
.optional(),
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
export const collections = {
|
||||||
|
// Don't forget 'quotes' for collection names containing dashes
|
||||||
|
articles,
|
||||||
|
};
|
|
@ -0,0 +1,93 @@
|
||||||
|
declare module 'astro:content' {
|
||||||
|
export { z } from 'astro/zod';
|
||||||
|
export type CollectionEntry<C extends keyof typeof entryMap> =
|
||||||
|
typeof entryMap[C][keyof typeof entryMap[C]] & Render;
|
||||||
|
|
||||||
|
type BaseCollectionConfig<S extends import('astro/zod').ZodRawShape> = {
|
||||||
|
schema?: S;
|
||||||
|
slug?: (entry: {
|
||||||
|
id: CollectionEntry<keyof typeof entryMap>['id'];
|
||||||
|
defaultSlug: string;
|
||||||
|
collection: string;
|
||||||
|
body: string;
|
||||||
|
data: import('astro/zod').infer<import('astro/zod').ZodObject<S>>;
|
||||||
|
}) => string | Promise<string>;
|
||||||
|
};
|
||||||
|
export function defineCollection<S extends import('astro/zod').ZodRawShape>(
|
||||||
|
input: BaseCollectionConfig<S>
|
||||||
|
): BaseCollectionConfig<S>;
|
||||||
|
|
||||||
|
export function getEntry<C extends keyof typeof entryMap, E extends keyof typeof entryMap[C]>(
|
||||||
|
collection: C,
|
||||||
|
entryKey: E
|
||||||
|
): Promise<typeof entryMap[C][E] & Render>;
|
||||||
|
export function getCollection<
|
||||||
|
C extends keyof typeof entryMap,
|
||||||
|
E extends keyof typeof entryMap[C]
|
||||||
|
>(
|
||||||
|
collection: C,
|
||||||
|
filter?: (data: typeof entryMap[C][E]) => boolean
|
||||||
|
): Promise<(typeof entryMap[C][E] & Render)[]>;
|
||||||
|
|
||||||
|
type InferEntrySchema<C extends keyof typeof entryMap> = import('astro/zod').infer<
|
||||||
|
import('astro/zod').ZodObject<Required<ContentConfig['collections'][C]>['schema']>
|
||||||
|
>;
|
||||||
|
|
||||||
|
type Render = {
|
||||||
|
render(): Promise<{
|
||||||
|
Content: import('astro').MarkdownInstance<{}>['Content'];
|
||||||
|
headings: import('astro').MarkdownHeading[];
|
||||||
|
injectedFrontmatter: Record<string, any>;
|
||||||
|
}>;
|
||||||
|
};
|
||||||
|
|
||||||
|
const entryMap: {
|
||||||
|
"articles": {
|
||||||
|
"en/post-0.mdx": {
|
||||||
|
id: "en/post-0.mdx",
|
||||||
|
slug: "en/post-0",
|
||||||
|
body: string,
|
||||||
|
collection: "articles",
|
||||||
|
data: any
|
||||||
|
},
|
||||||
|
"en/sci-hub-blocage.md": {
|
||||||
|
id: "en/sci-hub-blocage.md",
|
||||||
|
slug: "en/sci-hub-blocage",
|
||||||
|
body: string,
|
||||||
|
collection: "articles",
|
||||||
|
data: any
|
||||||
|
},
|
||||||
|
"en/sci-hub.mdx": {
|
||||||
|
id: "en/sci-hub.mdx",
|
||||||
|
slug: "en/sci-hub",
|
||||||
|
body: string,
|
||||||
|
collection: "articles",
|
||||||
|
data: any
|
||||||
|
},
|
||||||
|
"fr/post-0.mdx": {
|
||||||
|
id: "fr/post-0.mdx",
|
||||||
|
slug: "fr/post-0",
|
||||||
|
body: string,
|
||||||
|
collection: "articles",
|
||||||
|
data: any
|
||||||
|
},
|
||||||
|
"fr/sci-hub-blocage.md": {
|
||||||
|
id: "fr/sci-hub-blocage.md",
|
||||||
|
slug: "fr/sci-hub-blocage",
|
||||||
|
body: string,
|
||||||
|
collection: "articles",
|
||||||
|
data: any
|
||||||
|
},
|
||||||
|
"fr/sci-hub.mdx": {
|
||||||
|
id: "fr/sci-hub.mdx",
|
||||||
|
slug: "fr/sci-hub",
|
||||||
|
body: string,
|
||||||
|
collection: "articles",
|
||||||
|
data: any
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
type ContentConfig = never;
|
||||||
|
}
|
|
@ -6,7 +6,6 @@ astroI18n.init(Astro);
|
||||||
// import stuff
|
// import stuff
|
||||||
import BaseLayout from "../layouts/BaseLayout.astro";
|
import BaseLayout from "../layouts/BaseLayout.astro";
|
||||||
import QuickAccessCard from "../components/QuickAccessCard.astro";
|
import QuickAccessCard from "../components/QuickAccessCard.astro";
|
||||||
import CardEditorial from "../components/CardEditorial.astro";
|
|
||||||
import ListCards from "../components/ListCards.astro";
|
import ListCards from "../components/ListCards.astro";
|
||||||
|
|
||||||
const pageTitle = t("accueil");
|
const pageTitle = t("accueil");
|
||||||
|
@ -28,6 +27,13 @@ const localizedArticles = allArticles.filter((article) => {
|
||||||
const sortedArticles = localizedArticles.sort(
|
const sortedArticles = localizedArticles.sort(
|
||||||
(a, b) => b.frontmatter.pubDate - a.frontmatter.pubDate
|
(a, b) => b.frontmatter.pubDate - a.frontmatter.pubDate
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// New astro content collections
|
||||||
|
import { getCollection } from "astro:content";
|
||||||
|
// Only return posts with `draft: true` in the frontmatter
|
||||||
|
const newLocalizedArticles = await getCollection("articles", ({ data }) => {
|
||||||
|
return data.lang === astroI18n.langCode;
|
||||||
|
});
|
||||||
---
|
---
|
||||||
|
|
||||||
<BaseLayout pageTitle={pageTitle}>
|
<BaseLayout pageTitle={pageTitle}>
|
||||||
|
@ -71,7 +77,7 @@ const sortedArticles = localizedArticles.sort(
|
||||||
<section class="latest">
|
<section class="latest">
|
||||||
<div class="latest__work">
|
<div class="latest__work">
|
||||||
<h2>{t("index.latestArticles")}</h2>
|
<h2>{t("index.latestArticles")}</h2>
|
||||||
<ListCards list={sortedArticles} routeName={t("article.titre")} />
|
<ListCards list={newLocalizedArticles} routeName={t("article.titre")} />
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
</BaseLayout>
|
</BaseLayout>
|
||||||
|
|
|
@ -1,18 +0,0 @@
|
||||||
/* @import "open-props/style"; */
|
|
||||||
/* @import "open-props/normalize"; */
|
|
||||||
|
|
||||||
@import "./global/reset.css";
|
|
||||||
@import "./global/fonts.css";
|
|
||||||
@import "./global/variables.css";
|
|
||||||
@import "./global/global-styles.css";
|
|
||||||
|
|
||||||
@import "./compositions/grid.css";
|
|
||||||
@import "./compositions/sidebar.css";
|
|
||||||
|
|
||||||
@import "./utilities/flow.css";
|
|
||||||
@import "./utilities/region.css";
|
|
||||||
@import "./utilities/wrapper.css";
|
|
||||||
|
|
||||||
/* @import-glob './blocks/*.css'; */
|
|
||||||
/* @import-glob './compositions/*.css'; */
|
|
||||||
/* @import-glob './utilities/*.css'; */
|
|
Loading…
Reference in New Issue