explainroo
explainroo is a free, open source tool that lets your AI agent make explainer videos with a voice. It runs on your own computer and needs no API key.
Reviews et critiques de films, de livres, de séries et autres œuvres culturelles.
Translation pending
MediaAstro · TypeScriptGitHub @arthrmchlOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Blog statique Astro : tu écris des fichiers Markdown, GitHub Pages publie le site.
src/content/
├── works/ # fiches d'œuvres (une par film, livre ou série)
│ ├── films/parasite.md
│ ├── livres/la-horde-du-contrevent.md
│ └── series/severance.md
└── logs/ # un fichier par visionnage, lecture ou saison suivie
└── 2026-10-03-parasite.md # work: parasite
Le nom du fichier d'une fiche est son identifiant : work: parasite dans un log pointe vers works/films/parasite.md.
Si l'œuvre n'a pas de fiche, crée-la dans works/films/, works/livres/ ou works/series/ (voir ci-dessous).
title (titre français), type: film, creators (réalisateur·ices), released (sortie), puis en option runtime (durée en minutes), poster (affiche), backdrop (image de fond), tags.title (titre français), type: livre, creators (auteur·ices), released (publication), puis en option originalLanguage (langue originale), poster (couverture), tags, format, series et volume (voir ci-dessous).format: bd, manga ou comics. Ils sont comptés à part dans le bilan de l'année et sur la page Livres, et le journal affiche « BD », « Manga » ou « Comics ».series: "Blacksad" et volume: 3 (numéro du tome, à omettre pour un hors-série). Les fiches d'une même série sont réunies sur sa page (/livres/series/blacksad/), dans l'ordre des tomes. Le nom doit être écrit pareil partout, et deux fiches ne peuvent pas avoir le même tome (le build échoue sinon).title, type: serie, creators (créateur·ices), firstAired (début de diffusion), puis en option lastAired (fin de diffusion, vide si la série est toujours diffusée), poster, backdrop, tags, et seasons : pour chaque saison, firstAired, lastAired et episodes, soit le nombre d'épisodes (episodes: 10), soit la liste de leurs titres. Pour renseigner la durée d'un épisode (en minutes), écris-le { title: "Pilot", runtime: 94 } (ou { runtime: 47 } sans titre) ; elle s'affiche dans la liste des épisodes et compte dans le bilan de l'année. Une saison peut aussi avoir un title et un poster.released accepte une année (2026), un mois (2026-10) ou un jour (2026-10-08) ; la date précise s'affiche sur la fiche, l'année seule ailleurs.originalTitle (titre original) : à remplir quand il diffère du titre français ; il s'affiche sous le titre.creators est une liste : creators: ["Mark Frost", "David Lynch"]. Chaque nom a sa page (/personnes/david-lynch/). Pour préciser un rôle (en BD surtout), écris { name: "Juanjo Guarnido", role: dessin }. Rôles possibles : scénario, dessin, couleurs et illustration. Une personne qui a deux rôles s'écrit deux fois, une fois par rôle. Les rôles s'affichent sur la fiche et sur la page de la personne (« Dessin de 3 BD »).tags : les genres, pris dans la liste de src/lib/genres.ts (un genre absent fait échouer le build ; ajoute-le à la liste s'il manque). Chaque genre a sa page (/genres/drame/).poster et backdrop acceptent une URL ou un chemin vers un fichier de public/.Crée un fichier dans logs/ : AAAA-MM-JJ-titre.md (modèles dans templates/), puis ton texte.
work, date, puis en option rating (note entière de 0 à 5), venue (cinema ou maison), version (vf ou vostfr), accompanied, repeat.work, started (début), language, puis date (fin) et, si tu veux, rating une fois le livre terminé : sans date, la lecture s'affiche « en cours ».work, season (son numéro) et watched, la liste des jours de visionnage avec les épisodes vus ce jour-là (3, [1, 2] ou "4-7"). Tu complètes le même fichier au fil des épisodes. La saison est « en cours » jusqu'à ce que tous ses épisodes soient vus. Ajoute alors ton texte et, si tu veux, rating. En option : version, accompanied, repeat.abandoned: true, avec la date du jour de l'arrêt. Une saison datée à laquelle il manque des épisodes, sans abandoned, fait échouer le build (oubli probable).repeat: true manque.work, date, rating (optionnelle), sans season.git add . && git commit -m "Review : ..." && git push
Une liste (à la Letterboxd) est un fichier dans src/content/lists/ (modèle : templates/liste-template.md). Son nom de fichier donne son adresse : lists/recits-de-vengeance.md → /listes/recits-de-vengeance/.
title, created (date de création), items : les identifiants des fiches, dans l'ordre d'affichage. Pour une saison précise d'une série : { work: twin-peaks, season: 2 }.type (film, livre ou serie) réserve la liste à un média ; sans type, la liste est mixte.ranked: true (classement numéroté), updated (date de la dernière modification), et un texte d'introduction sous le frontmatter.type, une saison inexistante ou un doublon font échouer le build. Une fiche créée seulement pour une liste, sans entrée de journal, apparaît aussi dans « À voir » / « À lire ».Une fiche d'œuvre sans aucun fichier dans logs/ est considérée comme « à lire » (ou « à voir ») : il suffit de créer la fiche dans works/livres/ à partir de templates/livre-template.md. Elle apparaît dans la section À lire de la page Livres, et quitte cette liste dès que tu crées l'entrée de lecture correspondante (avec started).
Un oubli ou une faute dans le frontmatter (note hors limites, œuvre inconnue, champ mal nommé, genre hors liste) fait échouer le build avec un message explicite. npm run check vérifie aussi les types du code (lancé avant chaque déploiement).
npm install
npm run dev # http://localhost:4321
main.main relance .github/workflows/deploy.yml et publie le site.L'adresse sera https://<pseudo>.github.io/<nom-du-depot>/.
Si ton dépôt s'appelle <pseudo>.github.io, mets BASE: / dans le workflow.
Ajoute un fichier public/CNAME contenant ton domaine, mets SITE: https://ton-domaine.fr et BASE: / dans le workflow, puis configure le DNS comme indiqué dans Settings → Pages.