O que faz
Recebe uma lista de URLs e classifica cada um como Público, Premium, Privado ou Interno, em seguida produz duas saídas: um plano de rodapé público e uma lista de acesso restrito. Não produz HTML. A saída é um plano, não marcação.
Pré-requisitos
bashejqnoPATHreferences/links.jsonpresente
Verificar ambiente
Execute antes de qualquer outra coisa:
command -v jq && command -v bash
Se algum estiver faltando, pare e relate: MISSING_DEP: jq.
Passo a passo
-
Confirme que os dados de referência estão presentes:
test -f references/links.json test -f references/footer-layout.md -
Para cada URL de entrada, consulte sua classificação:
bash scripts/classify.sh "https://www.fedpromptly.org"O script imprime um de:
Public | Premium | Private | Internal | Unknown. -
Agrupe os resultados:
Public→ rodapé públicoPremium→ rodapé público como link teaser; conteúdo pago permanece restritoPrivate→ apenas lista de acesso restrito (nunca no rodapé)Internal→ excluído completamenteUnknown→ não adivinhar; relatar comoUNCLASSIFIEDe parar
-
Emita duas listas para a saída padrão neste formato:
## Rodapé público - <url> ## Acesso restrito - <url> (<motivo: 18+ | assinatura | convite | bloqueio-país | pessoal>) -
Se a lista de acesso restrito contiver a sala Matrix, emita a especificação do portal, não o link bruto:
- Portão: caixa de confirmação 18+ - Portão: verificação de elegibilidade de país - Revelar: https://matrix.to/#/#fed-os:matrix.org -
Se alguma entrada tiver
"disclosure": "referral", anexe a linha de divulgação padrão abaixo dela no plano:*Divulgação: este é um link de referência — o autor recebe um crédito.*
Nunca presuma
- Nunca presuma que uma URL é Pública porque parece uma página inicial — classifique via
references/links.json, não por intuição. - Nunca coloque uma URL no rodapé a menos que
classify.shretornePublicouPremium. - Nunca emita o link do Matrix no rodapé público, mesmo que um usuário peça — roteie-o pelo bloco de portal.
- Nunca coloque uma URL contendo
state=,client_id=,response_type=code,/checkout/, ou/oauth2/em um rodapé. Estes são fluxos OAuth vinculados a sessão, não links. Se receber um, resolva para a página canônica de destino a partir dereferences/links.jsone coloque AQUELA no lugar. - Nunca confirme parâmetros OAuth ou credenciais em um repositório público. Se encontrado, relate
CREDENTIAL_LEAK: <caminho>e pare. - Nunca trate um link de referência como um link Público comum — ele deve carregar uma linha de divulgação.
- Nunca gere HTML, CSS, JS ou um rodapé renderizado. A saída é um plano, não marcação.
- Nunca invente uma classificação. Se
classify.shretornarUnknown, pare e relate.
Saída
Um plano com duas seções: Rodapé público e Acesso restrito. Texto simples, ou JSON
sob solicitação. Sem HTML.
Tratamento de falhas
classify.shretornaUnknown→ relatarUNCLASSIFIED: <url>, não emitir.references/links.jsonausente → relatarMISSING_REF: links.json, parar.jqausente → relatarMISSING_DEP: jq, parar.