Le 10/04/2017 à 23:40, spip-zone-commit@rezo.net a écrit :
Prise en charge de mastodon que l'on oembed comme twitter :
- il faut que l'autodetection du provider soit activee dans la configuration puisque chaque instance est un provider, on ne peut pas les whitelister
- on est oblige de faire la detection de mastodon dans le HTML de la page source, pour unifier, sinon chaque instance a son provider_name
- on va extraire le texte et la date dans le contenu de l'iframe pour generer un blockquote comme pour twitter, ce qui permet d'etre homogene
(l'iframe est moche, et pose plein de problemes de rendu)
Bon, sinon y'a un bug, ça ne prend que le premier paragraphe.
Le bug est dans oembed_input_posttraite_mastodon_dist(), tu cherches juste le premier <p>
if ($p = strpos($html, 'status__content')
and $p1 = strpos($html, '<p', $p)
and $p2 = strpos($html, '</p>', $p1)
)
C'est un peu la plaie d'extraire du contenu d'un html, je vois pas trop comment faire qqchose de pas trop bidouille et un minimum "solide".
Querypath ?
Ah j'étais pas sur du coup, mais les pouet que j'avais testé avaient un <br/> et un seul <p> !
Tu me donne un pouet avec lequel ça passe pas que je fixe ?
(et oui c'est pénible d'aller scrapper le html, et pas forcément super robuste dans le temps, on verra bien)
(idéalement faudrait améliorer l'oembed de Mastodon, c'est du logiciel libre :p)
--
Cédric
Nicolas Dorigny a écrit :
Le 10/04/2017 à 23:40, spip-zone-commit@rezo.net a écrit :
Prise en charge de mastodon que l'on oembed comme twitter :
- il faut que l'autodetection du provider soit activee dans la
configuration puisque chaque instance est un provider, on ne peut pas
les whitelister
- on est oblige de faire la detection de mastodon dans le HTML de la
page source, pour unifier, sinon chaque instance a son provider_name
- on va extraire le texte et la date dans le contenu de l'iframe pour
generer un blockquote comme pour twitter, ce qui permet d'etre homogene
(l'iframe est moche, et pose plein de problemes de rendu)
Bon, sinon y'a un bug, ça ne prend que le premier paragraphe.
Le bug est dans oembed_input_posttraite_mastodon_dist(), tu cherches
juste le premier <p>
if ($p = strpos($html, 'status__content')
and $p1 = strpos($html, '<p', $p)
and $p2 = strpos($html, '</p>', $p1)
)
C'est un peu la plaie d'extraire du contenu d'un html, je vois pas trop
comment faire qqchose de pas trop bidouille et un minimum "solide".
Querypath ?
D'ailleurs il y a beaucoup mieux que de parser le html de l'iframe :
on a une version XML du contenu du pouet disponible sur l'URL en .atom
view-source:https://mamot.fr/users/cerdic/updates/19696.atom
Bref, je fais revoir ça pour faire mieux !
--
Cédric
Cédric Morin a écrit :
Ah j'étais pas sur du coup, mais les pouet que j'avais testé avaient un
<br/> et un seul <p> !
Tu me donne un pouet avec lequel ça passe pas que je fixe ?
(et oui c'est pénible d'aller scrapper le html, et pas forcément super
robuste dans le temps, on verra bien)
(idéalement faudrait améliorer l'oembed de Mastodon, c'est du logiciel
libre :p)