![]() Un générateur de site statique qui casse des briques. VenC est tellement rapide qu'il enfreint le principe de causalité et produit de l'énergie surunitaire ! |
Nous allons voir ici comment programmer les trois fichiers qui composent le flux Atom :
Pour en savoir plus sur le format Atom lui-même, rendez-vous ici.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <?xml version="1.0" encoding="utf-8"?> <feed xmlns="http://www.w3.org/2005/Atom"> <link href=".:GetBlogURL:..:GetRelativeLocation:./atom_feed.xml" rel="self" type="application/atom+xml" /> <link href=".:GetBlogURL:." rel="alternate" type="text/html" /> <title>.:GetBlogName:. .:GetThreadName::| {value}:.</title> .:GetBlogMetadataIfNotNull::blog_description::<subtitle>{value}</subtitle>:. <id>.:GetBlogURL:..:GetRelativeLocation:.</id> <updated>.:GetLastEntryTimestamp::%Y-%m-%dT%H:%M:%SZ:.</updated> <author> .:GetBlogMetadataIfNotNull::author_name::<name>{value}</name>:. .:GetBlogMetadataIfNotNull::author_email::<email>{value}</email>:. </author> |
Comme on peut le voir, il y a des similitudes avec ce qui a été réalisé et montré dans le chapitre 3.5.2.
Les nouveautés ici, c'est que l'on construit des URL uniques avec GetBlogURL
et
GetRelativeLocation
comme on peut le voir aux lignes 4, 9 et 13.
On utilise également à la ligne 14 le motif GetLastEntryTimestamp
pour avoir
l'horodatage de la dernière publication du site.
1 2 3 4 5 6 7 8 9 | <entry> <id>.:GetBlogURL:./.:GetEntryPath:.</id> <title>.:GetEntryTitle:.</title> <link href=".:GetBlogURL:./.:GetEntryPath:." rel="alternate" type="text/html"/> <updated>.:GetEntryDate::%Y-%m-%dT%H:%M:%SZ:.</updated> <content type="xhtml"> <div xmlns="http://www.w3.org/1999/xhtml">.:GetEntryPreview:.</div> </content> </entry> |
Ici, nous utilisons à la ligne 7 GetEntryPreview
. Ici ça a du sens, car
nous sommes dans un flux Atom dont le but est de présenter succinctement les dernières publications. Rien ne vous empêche cependant d'utiliser
GetEntryContent
.
Comme dans atomHeader.xml
, on crée aux lignes 2 et 4 une même URL unique qui correspond à la publication avec GetBlogURL
et
GetEntryPath
que nous avons déjà vu dans les chapitres précédents.
</feed>
Facile !