Clone
1
Widget Ghost
Sébastien QUEROL edited this page 2026-03-08 01:42:56 +01:00
This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Widget Ghost

1. Code Injection (une seule fois)

Dans Ghost Admin → Settings → Code injection → Site Header, coller tout le contenu de ghost-inject.html.

Mettre à jour l'URL de l'API en haut du script :

var API_URL = 'https://torrent-api.monsite.com';

2. Utilisation dans les articles

Dans l'éditeur Ghost, insérer un bloc HTML et coller l'un des snippets suivants.

Layout compact (vertical)

<div class="torrent-indicator"
     data-hash="3b245504cf5f11bbdbe1201cea6a6bf45aee1bc0"
     data-label="Ubuntu 24.04 LTS"></div>

Layout large (horizontal, centré)

<div class="torrent-indicator"
     data-hash="3b245504cf5f11bbdbe1201cea6a6bf45aee1bc0"
     data-label="Ubuntu 24.04 LTS"
     data-layout="wide"></div>

Via lien magnet

<div class="torrent-indicator"
     data-magnet="magnet:?xt=urn:btih:3b245504cf5f11bbdbe1201cea6a6bf45aee1bc0&dn=ubuntu"
     data-label="Ubuntu 24.04 LTS"
     data-layout="wide"></div>

Attributs disponibles

Attribut Requis Description
data-hash Oui* Info hash hexadécimal (40 caractères)
data-magnet Oui* Lien magnet complet
data-label Non Titre affiché dans l'en-tête du widget
data-layout Non wide pour le layout horizontal

*data-hash ou data-magnet, l'un des deux est obligatoire.


Valeurs retournées

Santé (health)

Valeur Condition
dead 0 seeder
poor ratio seeders/(seeders+leechers) < 20 %
good ratio ≥ 20 %
excellent ratio ≥ 50 %

Popularité (popularity)

Valeur Total seeders + leechers
low < 10
moderate 10 99
popular 100 999
viral ≥ 1 000

Cache et données périmées

Le serveur met les résultats en cache 5 minutes. Si les trackers sont temporairement inaccessibles, le widget affiche les dernières données connues avec la mention données en cache dans le pied de page, plutôt qu'un message d'erreur.


API publique JavaScript

// Rafraîchir tous les widgets de la page
TorrentIndicator.refreshAll();

// Initialiser un élément spécifique
TorrentIndicator.init(document.querySelector('.torrent-indicator'));