Hola de nou. Sé el que esteu pensant: “vas dir que la tercera part era l’última”. I ho era. Però al final d’aquell post vaig deixar una llista de coses que m’agradaria fer “algun dia”, i resulta que aquest dia ha arribat. Així que considereu això un epíleg inesperado de la sèrie “A la recerca del registre multimèdia definitiu”.
La novetat és que aquesta vegada no he anat sol. He reescrit bona part del Media Tracker amb l’ajuda de Claude, i això ha canviat els comptes: coses que abans no pagava la pena fer perquè “ningú les faria servir” de cop i volta sí que en pagaven la pena, perquè fer-les ja no em costava setmanes. Us compto què he canviat i com està el projecte ara mateix.
El problema que arrossegava
Si recordeu els dos posts anteriors, el meu Media Tracker tenia dues meitats:
- Obsidian, on creo i edito cada pel·lícula, sèrie o joc. Funcionava a base d’ajuntar tres connectors (Templater, Movie Search i QuickAdd) i un grapat de scripts en JavaScript fets a mida.
- Hugo, que converteix aquestes notes en el web.
Totes dues funcionaven, pero totes dues tenien el mateix defecte: eren impossibles de compartir. Perquè una altra persona muntés el mateix havia de clonar el meu vault, instal·lar connectors concrets, importar paquets de QuickAdd, configurar scripts un a un i, a sobre, barallar-se amb un repositori d’Hugo on el contingut i el tema estaven barrejats. Jo mateix ho vaig dir al post anterior: “hauria d’haver estat un plugin” i “una altra cosa important és separar el theme de la pàgina”. Doncs això és just el que he fet.
La meitat d’Obsidian: un plugin de veritat
El primer que he fet ha estat llençar a la escombraries els scripts i els tres connectors, i posar-ho tot en un únic plugin natiu d’Obsidian: hugo-mediatracker-plugin.
Ara no hi ha res a cablejar. Instales el plugin, obres els seus ajustos, hi poses les teves claus de l’API i ja està. Té la seva pròpia pantalla de configuració nativa, ordres, icones a la barra lateral i tecles de drecera configurables.
christt105/hugo-mediatracker-plugin
Obsidian plugin to track movies, TV shows, seasons and video games. Data and artwork from TMDB, IGDB, Steam and SteamGridDB.
![]()
El que fa, a grans trets:
- Pel·lícules i sèries: busques a TMDB o TheTVDB i crea la nota amb pòster, bàner, gèneres, repartiment, director, sinopsi i la resta. Pots triar quin proveïdor fa servir cada tipus; el més habitual (com a Jellyfin) és TMDB per a pel·lícules i TheTVDB per a sèries.
- Sèries amb temporades ben numerades: TheTVDB respecta la numeració real de les temporades, cosa que s’agraeix moltíssim amb l’anime i les sèries dividides, on TMDB ho fica tot en una sola temporada.
- Videojocs: busca a IGDB i, si el joc és a Steam, fa servir l’art oficial automàticament.
- Temporades: des de la nota d’una sèrie oberta, genera la nota de la temporada enllaçada amb una ordre, tal com feia el vell script de QuickAdd.
- Actualitzar imatges: canvia la portada o el bàner triant d’una galeria paginada, amb SteamGridDB per als jocs.
![]()
Una cosa que m’agrada especialment és que no s’inventa cap format nou: les notes que crea porten exactament les propietats que espera el tema d’Hugo, així que l’altra meitat del sistema segueix funcionant sinó tocant res. I per als qui feu servir Pretty Properties, les portades i bàners es veuen igual de bé que abans.
![]()
S’instal·la amb BRAT, de manera que s’actualitza sol. El vell media-tracker-obsidian-template, amb els seus scripts i connectors preinstal·lats, l’he arxivat: ja no fa falta per a res i només el deixo com a referència històrica.
Volia fer un esment especial al plugin Gubchik123/obsidian-movie-search-plugin, ja que gran parte del flux el vaig treure d’aquí.
La meitat d’Hugo: dividir el tema
La segona gran tasca pendent era separar el tema del contingut. Abans tot vivia al mateix repositori perquè, com vaig explicar, no em compensava el temps de fer-ho "bé" perquè ningú el fes servir. Ara l’he partit en tres peces seguint el patró de mòduls d’Hugo:
| |
- hugo-mediatracker-theme és el tema, ja com a mòdul independent construït sobre hugo-blog-awesome. Per fer-lo servir només cal afegir un bloc al
hugo.toml; les actualitzacions del tema base segueixen arribant soles. - mediatracker-starter és una plantilla de GitHub: li dones a “Use this template”,
hugo server, i tens un web funcionant amb un parell d’exemples de cada tipus. Això és el que ara puc ensenyar a la gent en lloc del meu repositori personal ple de coses meves. - MediaTracker es queda només amb el meu contingut, la meva configuració i el
migration.py.
christt105/mediatracker-starter
![]()
I de pas, gairebé tota la llista d’“algun dia”
Com que ja estava ficat en matèria i amb en Claude al costat, vaig aprofitar per ratllar pràcticament tots els “següents passos” que vaig deixar al post anterior:
- Tipus de mitjans per dades. Abans, afegir un tipus nou (por exemple, “llibres”) significava tocar uns vuit arxius. Ara hi ha un únic
data/media_types.yml: afegeixes un bloc allà i una entrada de menú, i llest. Les plantilles llegeixen d’aquest arxiu en comptes de tenir la llista de tipus escrita a mà per tot arreu. - Nova API per a llibres. Per a tots aquells amants dels rectangles de coneixement, he provat Open Library per poder crear notes de llibres molt fàcilment.
- Estats normalitzats. Els estats eren literals en espanyol (
Acabado,En Curso…) repartits per la lògica de les plantilles. Ara són claus canòniques (finished,in_progress,paused,dropped,not_started) i les etiquetes visibles surten dels arxius de traducció. Això deixa preparat el terreny per tenir el web en diversos idiomes. - Cerca i filtres. Era el que més il·lusió em feia. He tret les seccions separades per tipus i ara la pàgina principal té una barra de filtres (tipus, estat, nota, gènere, plataforma, any) i un cercador que funciona del costat del client. Una sola pantalla per veure-ho tot.
![]()
- Estadístiques. Hi ha una pàgina d’estadístiques amb distribució de notes, desglossament per any, gràfics de plataformes i seccions específiques per a anime i cinema. Era una d’aquelles coses “totes de no res però que em feien il·lusió”, com el generador de collages.
![]()
- Targetes socials arreglades. Abans, en compartir un enllaç, no sortia la portada perquè l’
og:imageapuntava a un lloc que no existia. Ara les targetes de xarxes mostren la portada i un fragment de la meva ressenya.
![]()
- RSS millorat. Els feeds porten ara miniatures de las portades, i segueix havent-hi un feed dedicat només a allò acabat (el que avisa el bot de Discord).
El pipeline actual
Amb tot això, el flux complet queda així:
| |
La part d’automatització del post anterior segueix igual: el cron del mini PC executa l’script cada matí, i si hi ha canvis fa commit i push. La diferència és que ara la meitat d’Obsidian és un plugin de veritat i la meitat d’Hugo és un tema que qualsevol pot fer servir.
Treballar amb Claude
No vull passar de puntetes per això, perquè és la raó per la qual aquest post existeix. Ja vaig comptar al post anterior que “la majoria de canvis els ha fet la IA”, però això ha estat un altre nivell. Bona part de la reescriptura, el plugin sencer, la divisió en mòduls, la generalització dels tipus, la ha fet pràcticament en Claude.
El que és interessant no és que escrigui codi, sinó com canvia la decisió de què val la pena fer. Coses que feia mesos que aparcava amb l’excusa de “no tinc temps i ningú ho farà servir” van passar a ser tardes soltes.
Moltes d’aquestes funcionalitats li deia a en Claude des del mòbil que les fes, que ho aixequés localment i ho provés. Tot fet i comprovat per en Claude, fins que ho aixecava i jo ho provava al mòbil, feia una Pull Request, ho revisava per sobre i li deia que la fes el merge. Un bucle en el qual jo no estava ni a casa meva, simplement ho tenia al meu ordinador amb accés als meus projectes.
Estat actual i el que queda
Per ser honest, no està tot tancat:
- El web segueix tenint el contingut només en espanyol. La interfície ja es pot traduir (les cadenes estan en arxius d’i18n), però traduir cada entrada és una altra història. De moment es queda en espanyol.
- Encara tinc idees a la recambra: un calendari amb els elements per dia, elements relacionats més treballats, i seguir afinant la lògica de sèries i temporades.
Però el més important per a mi ja està: qualsevol pot muntar això. Si vols el teu propi Media Tracker, instal·la el plugin a Obsidian i clona la plantilla de Hugo. I si t’animes, deixa’m una estrella als repositoris o explica’m què et sembla als comentaris d’aquí sota; aquesta vegada sí que servirà perquè més gent ho faci servir.
Espero que us hagi agradat aquest epíleg. Ara sí, ens veiem al següent post.
Fins la propera!