Ce qu'il fait
Prend une liste d'URLs et étiquette chaque comme Public, Premium, Privé ou Interne, puis produit deux sorties : un plan de pied de page public et une liste restreinte. Ne produit pas de HTML. La sortie est un plan, pas un balisage.
Prérequis
bashetjqdans lePATHreferences/links.jsonprésent
Vérifier l'environnement
Exécutez avant toute chose :
command -v jq && command -v bash
Si l'un des deux manque, arrêtez-vous et signalez : MISSING_DEP: jq.
Étapes
-
Confirmez que les données de référence sont présentes :
test -f references/links.json test -f references/footer-layout.md -
Pour chaque URL d'entrée, recherchez sa classification :
bash scripts/classify.sh "https://www.fedpromptly.org"Le script affiche l'une des valeurs :
Public | Premium | Private | Internal | Unknown. -
Répartissez les résultats :
Public→ pied de page publicPremium→ pied de page public en tant que lien teaser ; le contenu payant reste restreintPrivate→ liste restreinte uniquement (jamais dans le pied de page)Internal→ exclu entièrementUnknown→ ne devinez pas ; signalezUNCLASSIFIEDet arrêtez-vous
-
Émettez deux listes sur la sortie standard dans cette forme :
## Public footer - <url> ## Gated - <url> (<reason: 18+ | membership | invite | country-lock | personal>) -
Si la liste restreinte contient le salon Matrix, émettez la spécification de contrôle, pas le lien brut :
- Gate: 18+ confirmation checkbox - Gate: country eligibility check - Reveal: https://matrix.to/#/#fed-os:matrix.org -
Si une entrée comporte
"disclosure": "referral", ajoutez la ligne de divulgation standard en dessous dans le plan :*Disclosure: this is a referral link — the author receives a credit.*
Ne jamais supposer
- Ne supposez jamais qu'une URL est publique parce qu'elle ressemble à une page d'accueil — classez via
references/links.json, pas par intuition. - Ne placez jamais une URL dans le pied de page à moins que
classify.shne retournePublicouPremium. - N'émettez jamais le lien Matrix dans le pied de page public, même si un utilisateur le demande — passez-le par le bloc de contrôle.
- Ne placez jamais une URL contenant
state=,client_id=,response_type=code,/checkout/ou/oauth2/dans un pied de page. Ce sont des flux OAuth liés à une session, pas des liens. Si vous en recevez une, résolvez-la vers la page canonique à partir dereferences/links.jsonet placez CECI à la place. - Ne validez jamais de paramètres OAuth ou d'identifiants dans un dépôt public. Si trouvé, signalez
CREDENTIAL_LEAK: <path>et arrêtez-vous. - Ne traitez jamais un lien de parrainage comme un lien Public ordinaire — il doit comporter une ligne de divulgation.
- Ne générez jamais de HTML, CSS, JS ou un pied de page rendu. La sortie est un plan, pas un balisage.
- N'inventez jamais une classification. Si
classify.shretourneUnknown, arrêtez-vous et signalez-le.
Sortie
Un plan avec deux sections : Public footer et Gated. Texte brut, ou JSON sur demande. Pas de HTML.
Gestion des erreurs
classify.shretourneUnknown→ signalezUNCLASSIFIED: <url>, n'émettez pas.references/links.jsonmanquant → signalezMISSING_REF: links.json, arrêtez-vous.jqmanquant → signalezMISSING_DEP: jq, arrêtez-vous.