Per un generatore esterno di articoli istantanei di Facebook, abbiamo bisogno dei post HTML elaborati, ma senza i onebox renderizzati…
Esiste già una rotta o un endpoint API per i post di questo tipo?
Per un generatore esterno di articoli istantanei di Facebook, abbiamo bisogno dei post HTML elaborati, ma senza i onebox renderizzati…
Esiste già una rotta o un endpoint API per i post di questo tipo?
Forse questo può aiutare GitHub - discourse/raw-post-button · GitHub
Ciao @adopilot, grazie mille per il tuo feedback. Potresti gentilmente fornire maggiori dettagli?
Sembra un componente per visualizzare il post grezzo.
Stiamo cercando qualcosa che renda un post elaborato, ma senza le onebox.
Scusa, pensavo che avessi bisogno del post grezzo; poi mi sono reso conto che mi sbagliavo e che era già stato pubblicato.
Qualcuno? Si può realizzare in qualche modo?
Ciao @Terrapop
Potresti scrivere un plugin per nascondere (o rimuovere) l’elemento DOM della One Box quando la stringa User Agent della richiesta corrisponde alla stringa User Agent del bot di FB.
Spero che questo possa aiutarti.
Dovrai elaborare l’HTML in post, poiché i post già elaborati contengono già tutto l’HTML per i onebox espansi.
Questo è esattamente il problema. Poiché i post elaborati contengono i onebox (che non hanno più i link originali dei media, solo i post raw li conservano), non possiamo trasformarli in un formato valido per l’Intelligenza Artificiale di Facebook.
Iframely genera iframe validi per l’IA partendo dai link standalone. Abbiamo provato a utilizzare i post raw con un parser Markdown in PHP (Markdown-It per PHP) e Iframely per i link standalone, ma l’elaborazione Markdown di Discourse fa molto di più, e non vogliamo replicare tutta la magia che Discourse applica al Markdown. Di conseguenza, stiamo cercando un modo per ottenere i post elaborati, ma senza i onebox già analizzati (poiché vogliamo elaborarli successivamente tramite Iframely).
Il nostro approccio attuale funziona per post semplici: prendiamo il raw come base, usiamo PHP Markdown-It per convertirlo in HTML, poi Iframely per generare card multimediali valide per l’IA (i onebox non lo sono), infine trasformiamo l’HTML in HTML compatibile con l’IA di Facebook e lo inviamo tramite l’SDK PHP di Facebook. Tuttavia, dato che Discourse applica molte regole aggiuntive all’analisi Markdown, sarebbe ottimo poter ottenere direttamente l’HTML già elaborato da Discourse, ma semplicemente senza i onebox.
Non è necessario compilare il tuo post fuori da Discourse. Basta fare un monkey patch del metodo responsabile ed escludere la parte in cui vengono generati gli onebox. Idea generale.
Bene, non vogliamo modificare in generale il comportamento di rendering su Discourse, ma abbiamo bisogno di un endpoint (API) che produca un post renderizzato senza onebox (ma lasciando i link originali isolati, ad esempio come tag ).
Basta nascondere o rimuovere l’elemento DOM. È un compito piuttosto semplice.
Questa è sostanzialmente la “modalità standard” per eseguire questa e attività simili in cui uno sviluppatore non desidera mostrare (o vuole rimuovere) un elemento DOM.
**Nota:
L’utilizzo del gem Ruby ‘gon’ rende molto semplice passare qualsiasi variabile Ruby a Javascript, ma l’ho usato solo su un’app Rails, non con EmberJS nello stack (comunque, ci sono molti modi per passare una variabile Ruby a JS)..