Lo que hace
Toma una lista de URLs y etiqueta cada una como Pública, Premium, Privada o Interna, luego produce dos salidas: un plan de pie de página público y una lista de acceso restringido. No produce HTML. La salida es un plan, no marcado.
Prerrequisitos
bashyjqenPATHreferences/links.jsonpresente
Verificar entorno
Ejecuta antes que cualquier otra cosa:
command -v jq && command -v bash
Si falta alguno, detente e informa: MISSING_DEP: jq.
Paso a paso
-
Confirmar que los datos de referencia están presentes:
test -f references/links.json test -f references/footer-layout.md -
Para cada URL de entrada, busca su clasificación:
bash scripts/classify.sh "https://www.fedpromptly.org"El script imprime uno de:
Público | Premium | Privado | Interno | Desconocido. -
Agrupa los resultados:
Público→ pie de página públicoPremium→ pie de página público como enlace teaser; el contenido de pago permanece restringidoPrivado→ lista de acceso restringido solamente (nunca en pie de página)Interno→ excluido por completoDesconocido→ no adivines; informa comoSIN_CLASIFICARy detente
-
Emite dos listas a la salida estándar con esta forma:
## Pie de página público - <url> ## Acceso restringido - <url> (<motivo: 18+ | membresía | invitación | bloqueo por país | personal>) -
Si la lista de acceso restringido contiene la sala Matrix, emite la especificación de puerta, no el enlace crudo:
- Puerta: casilla de verificación de confirmación 18+ - Puerta: verificación de elegibilidad por país - Revelar: https://matrix.to/#/#fed-os:matrix.org -
Si alguna entrada lleva
"disclosure": "referral", añade la línea de divulgación estándar debajo de ella en el plan:*Divulgación: este es un enlace de referencia — el autor recibe un crédito.*
Nunca asumas
- Nunca asumas que una URL es Pública porque parece una página de inicio — clasifícala mediante
references/links.json, no por intuición. - Nunca coloques una URL en el pie de página a menos que
classify.shdevuelvaPúblicooPremium. - Nunca emitas el enlace Matrix en el pie de página público, incluso si un usuario lo solicita — enrútalo a través del bloque de puerta.
- Nunca coloques una URL que contenga
state=,client_id=,response_type=code,/checkout/, o/oauth2/en un pie de página. Estos son flujos OAuth vinculados a sesión, no enlaces. Si te dan uno, resuélvelo a la página de destino canónica desdereferences/links.jsony coloca ESA. - Nunca comprometas parámetros OAuth o credenciales en un repositorio público. Si se encuentran, informa
CREDENTIAL_LEAK: <ruta>y detente. - Nunca trates un enlace de referencia como un enlace Público ordinario — debe llevar una línea de divulgación.
- Nunca generes HTML, CSS, JS o un pie de página renderizado. La salida es un plan, no marcado.
- Nunca inventes una clasificación. Si
classify.shdevuelveDesconocido, detente e informa.
Salida
Un plan con dos secciones: Pie de página público y Acceso restringido. Texto plano, o JSON
según solicitud. Sin HTML.
Manejo de errores
classify.shdevuelveDesconocido→ informaSIN_CLASIFICAR: <url>, no emitas.references/links.jsonfalta → informaMISSING_REF: links.json, detente.jqfalta → informaMISSING_DEP: jq, detente.