PHPSP / phpsp.org.br

PHPSP Website

Home Page:https://phpsp.org.br

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Consertar widget de eventos na home page

nawarian opened this issue · comments

Ver: https://phpsp.slack.com/archives/CHTV7H1KK/p1567411877002800

Aparentemente o Meetup tornou a API privada, sendo assim o nosso widget não mostra mais os eventos.
Como todo bom site que se preocupa com SEO, eles fornecem um JSON+LD nas páginas, para mostrar às engines de busca os próximos eventos. A gente pode usar disso para coletar os eventos na melhor forma huebr possível :)

Segue um snippet coletado da página https://www.meetup.com/pt-BR/php-sp/

<script data-react-helmet="true" type="application/ld+json">[{"@context":"http://schema.org","@type":"Event","name":"PHPSP Pub","url":"https://www.meetup.com/pt-BR/php-sp/events/hpjhgryzmbqb/","description":"Que tal reunir PHP, bebida gelada e comida boa em um só lugar?\nO PHPSP Pub é o evento mais antigo da comunidade e acontece há mais de 7 anos, sempre na segunda quinta-feira do mês com a proposta de reunir a descontração de um Pub e o conhecimento da comunidade.\nA gente bota cerveja (não alcoólica também vale), opinião e muito conhecimento na mesma roda de discussão. Agile, DevOps, mercado de T.I, novidades, respeito ao próximo e obviamente muito PHP são postos para discussão, para todo mundo int","startDate":"2019-09-12T19:00-03:00","endDate":"2019-09-12T22:00-03:00","location":{"@type":"Place","name":"Laje 795 - Terraço do The Hostel Paulista","address":{"@type":"PostalAddress","streetAddress":"Rua Pamplona, 795","addressLocality":"São Paulo","addressCountry":"Brasil"},"geo":{"@type":"GeoCoordinates","latitude":-23.56495475769043,"longitude":-46.65483093261719}}},{"@context":"http://schema.org","@type":"Event","name":"PHPSP Pub","url":"https://www.meetup.com/pt-BR/php-sp/events/hpjhgryznbnb/","description":"Que tal reunir PHP, bebida gelada e comida boa em um só lugar?\nO PHPSP Pub é o evento mais antigo da comunidade e acontece há mais de 7 anos, sempre na segunda quinta-feira do mês com a proposta de reunir a descontração de um Pub e o conhecimento da comunidade.\nA gente bota cerveja (não alcoólica também vale), opinião e muito conhecimento na mesma roda de discussão. Agile, DevOps, mercado de T.I, novidades, respeito ao próximo e obviamente muito PHP são postos para discussão, para todo mundo int","startDate":"2019-10-10T19:00-03:00","endDate":"2019-10-10T22:00-03:00","location":{"@type":"Place","name":"Laje 795 - Terraço do The Hostel Paulista","address":{"@type":"PostalAddress","streetAddress":"Rua Pamplona, 795","addressLocality":"São Paulo","addressCountry":"Brasil"},"geo":{"@type":"GeoCoordinates","latitude":-23.56495475769043,"longitude":-46.65483093261719}}},{"@context":"http://schema.org","@type":"Event","name":"PHPSP Pub","url":"https://www.meetup.com/pt-BR/php-sp/events/hpjhgryzpbsb/","description":"Que tal reunir PHP, bebida gelada e comida boa em um só lugar?\nO PHPSP Pub é o evento mais antigo da comunidade e acontece há mais de 7 anos, sempre na segunda quinta-feira do mês com a proposta de reunir a descontração de um Pub e o conhecimento da comunidade.\nA gente bota cerveja (não alcoólica também vale), opinião e muito conhecimento na mesma roda de discussão. Agile, DevOps, mercado de T.I, novidades, respeito ao próximo e obviamente muito PHP são postos para discussão, para todo mundo int","startDate":"2019-11-14T19:00-02:00","endDate":"2019-11-14T22:00-02:00","location":{"@type":"Place","name":"Laje 795 - Terraço do The Hostel Paulista","address":{"@type":"PostalAddress","streetAddress":"Rua Pamplona, 795","addressLocality":"São Paulo","addressCountry":"Brasil"},"geo":{"@type":"GeoCoordinates","latitude":-23.56495475769043,"longitude":-46.65483093261719}}},{"@context":"http://schema.org","@type":"Event","name":"PHPSP Pub","url":"https://www.meetup.com/pt-BR/php-sp/events/hpjhgryzqbqb/","description":"Que tal reunir PHP, bebida gelada e comida boa em um só lugar?\nO PHPSP Pub é o evento mais antigo da comunidade e acontece há mais de 7 anos, sempre na segunda quinta-feira do mês com a proposta de reunir a descontração de um Pub e o conhecimento da comunidade.\nA gente bota cerveja (não alcoólica também vale), opinião e muito conhecimento na mesma roda de discussão. Agile, DevOps, mercado de T.I, novidades, respeito ao próximo e obviamente muito PHP são postos para discussão, para todo mundo int","startDate":"2019-12-12T19:00-02:00","endDate":"2019-12-12T22:00-02:00","location":{"@type":"Place","name":"Laje 795 - Terraço do The Hostel Paulista","address":{"@type":"PostalAddress","streetAddress":"Rua Pamplona, 795","addressLocality":"São Paulo","addressCountry":"Brasil"},"geo":{"@type":"GeoCoordinates","latitude":-23.56495475769043,"longitude":-46.65483093261719}}},{"@context":"http://schema.org","@type":"Event","name":"PHPSP Pub","url":"https://www.meetup.com/pt-BR/php-sp/events/hpjhgrybccbmb/","description":"Que tal reunir PHP, bebida gelada e comida boa em um só lugar?\nO PHPSP Pub é o evento mais antigo da comunidade e acontece há mais de 7 anos, sempre na segunda quinta-feira do mês com a proposta de reunir a descontração de um Pub e o conhecimento da comunidade.\nA gente bota cerveja (não alcoólica também vale), opinião e muito conhecimento na mesma roda de discussão. Agile, DevOps, mercado de T.I, novidades, respeito ao próximo e obviamente muito PHP são postos para discussão, para todo mundo int","startDate":"2020-01-09T19:00-02:00","endDate":"2020-01-09T22:00-02:00","location":{"@type":"Place","name":"Laje 795 - Terraço do The Hostel Paulista","address":{"@type":"PostalAddress","streetAddress":"Rua Pamplona, 795","addressLocality":"São Paulo","addressCountry":"Brasil"},"geo":{"@type":"GeoCoordinates","latitude":-23.56495475769043,"longitude":-46.65483093261719}}}]</script>

Uma solução possível seria criar um crawler que vá buscar esses dados e enriqueça os metadados usando o config global do Jigsaw. Isto poderia ser feito no evento beforeCollections.

Estrelinha de condecoração pra quem criar um pacote reutilizável que a gente possa distribuir pra outras comunidades :D

Widget de volta e funcionando! (Vamos ver até quando)