PHPSP / phpsp.org.br

PHPSP Website
https://phpsp.org.br
MIT License
53 stars 31 forks source link

Adicionar tags para melhorar o compartilhamento social #61

Open ravanscafi opened 5 years ago

ravanscafi commented 5 years ago

Proposta

Poderíamos ter meta tags no nosso <head> para melhorarmos o compartilhamento social, como facebook, twitter, linkedin, slack, telegram, whatsapp, etc.

Usando os dados que já temos de posts e páginas, poderíamos popular esses campos.

Uma ideia de como fazer:

No arquivo do cabeçalho, adicionamos essas novas tags, pegando os dados necessários.

Links úteis:

Jciel commented 5 years ago

Boa noite, o que acham de criar uma estrutura para as metatags de social, porque por exemplo ':creator' nese caso seria a conta do twitter do author, que no momento pelo que percebi não tem essa informação no post. Outro caso seria um metatado pra descrição, que seria um 'pedaço' do texto que apareceria no card na hora do compartilhamento. Outro ponto é a propriedade ':url', então alguma forma de pegarmos a url do artigo pra preencher esse dado, então imagino uma estrutura similar a isso como metatado no cabeçalho do post:

createdAt: ''
...........
social: {
    username_twitter: ''
    description: ''
    url: ''
}

o que acham? @ravanscafi

ca-pettarelli commented 5 years ago

Olá,

Gostaria de contribuir. Já foram feitas todas as meta tags? @ravanscafi

ravanscafi commented 5 years ago

Oi @Jciel e @ca-pettarelli

Seria ótimo obter ajuda nesse sentido. Gostei da estrutura do social @Jciel. Só não sei se precisaria da questão da URL, acho que ela já vem do nome do arquivo do post. O que acha @nawarian?

Sobre as meta-tags, não existe nenhuma de social a princípio. O PR #76 não me parece válido.

nawarian commented 5 years ago

O URL a gente consegue pegar direto do $page->getUrl(), então não há necessidade de deixar configurável.

Eu penso que se formos usar a palavra social, os campos deveriam ser genéricos para todas as redes sociais. Daí poderíamos ter um override de propriedades caso o autor precise customizar.

Por exemplo:

createdAt: ''
social: {
  username: 'nawarian',
  username.skype: 'nawarian94'
}

No exemplo acima podemos usar social.username para facebook, twitter e o que mais for. Mas no caso do skype damos precedência e usamos social.username.skype.

Então no template teríamos algo como:

<meta name=”twitter:creator” content="{{ $page->get('social.username.twitter') ?? $page->get('social.username') }}" />

O que acham?

Jciel commented 5 years ago

entendi, fica bom tbm, eu preferiria saparar hehehe 😄, mas tranquilo, vamos ver oq o pessoal acha :D

eduardojansen commented 4 years ago

Olá @ravanscafi, gostaria de contribuir com essa task. Se ok por vocês, me confirma se posso seguir de acordo com a especificação.

airtonzanon commented 4 years ago

Olá @eduardojansen, pode contribuir com essa task sim. O PR #76 foi abandonado pelo autor, então a task ainda está aberta para quem quiser contribuir com o site.