O que torna um site compatível com prévias do onebox?

Gostaria de ajudar os desenvolvedores do seguinte framework Python a se tornarem compatíveis com o onebox para nossa instância do Discourse, a fim de promovê-lo:

https://docs.sunpy.org/en/v3.0.0/whatsnew/3.0.html

Então, o que torna um site compatível com o onebox? Pesquisei por “onebox” no Google e cheguei a esta página no GitHub: GitHub - discourse/onebox: (DEPRECATED) A gem for turning URLs into website previews · GitHub. No entanto, para o framework que mencionei, eles usam o Sphinx para gerar automaticamente algumas das páginas. Existe alguma configuração que os desenvolvedores possam definir no Sphinx para tornar suas páginas compatíveis com o onebox?

Se você tentar vincular https://docs.sunpy.org/en/v3.0.0/whatsnew/3.0.html em uma linha isolada, verá esta mensagem:

Desculpe, não foi possível gerar uma prévia para esta página da web, pois as seguintes tags oEmbed / OpenGraph não foram encontradas: description, image

Essa página possui uma meta tag OpenGraph description vazia, portanto não podemos incorporá-la. Ela também usa URLs relativas para algumas outras tags OpenGraph, como image e url, e não tenho certeza se isso é suportado.

Então, encaminhei as informações para a equipe de desenvolvimento do SunPy. Eles testaram uma correção com esta página: https://sunpy--5366.org.readthedocs.build/en/5366/, e foi validada pelo opengraph.xyz, que confirmou que todas as tags estão definidas no arquivo HTML:

<!-- HTML Meta Tags -->
<title>Documentação do SunPy</title>
<meta name="description" content="Documentação do SunPy">

<!-- Facebook Meta Tags -->
<meta property="og:description" content="Documentação do SunPy">
<meta property="og:image" content="https://raw.githubusercontent.com/sunpy/sunpy-logo/master/generated/sunpy_logo_word.png" />
<meta property="og:site_name" content="Documentação do SunPy" />
<meta property="og:title" content="Documentação do SunPy">
<meta property="og:type" content="website">
<meta property="og:url" content="https://docs.sunpy.org/en/stable//index.html" />

<!-- Twitter Meta Tags -->
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:description" content="Documentação do SunPy">
<meta name="twitter:image" content="https://raw.githubusercontent.com/sunpy/sunpy-logo/master/generated/sunpy_logo_word.png">
<meta name="twitter:title" content="Documentação do SunPy">
<meta property="twitter:domain" content="https://docs.sunpy.org/en/stable/">
<meta property="twitter:url" content="https://docs.sunpy.org/en/stable//index.html">

No entanto, ainda não funciona na nossa instância do Discourse; continuamos recebendo o erro: oEmbed / OpenGraph tags could not be found:description, image

Há algo que eles não estão vendo? Aqui está nossa thread no GitHub sobre esse problema: onebox-compatible documentation for promoting SunPy's features and updates · Issue #5362 · sunpy/sunpy · GitHub

Isso é uma entrada real? A descrição deve ser mais longa e conter um subconjunto do conteúdo real da página, não um placeholder como ‘Documentação do SunPy’.

A descrição está sendo ignorada porque é idêntica ao título. Você deve extrair partes relevantes do conteúdo para a propriedade de descrição.