L’incorporamento dei video normali di Youtube funziona.
Non riscontro questo problema su try.discourse o meta.
Suppongo che derivi da un’impostazione del sito non configurata correttamente.
Potresti dirmi quale URL dovrei aggiungere negli iframe consentiti per far apparire il video come hai fatto tu? Farebbe perfettamente al caso mio per ora, anche se è effettivamente alto.
Per quanto riguarda l’altezza del video, è possibile renderlo meno alto impostando un max-height con CSS sull’iframe. Il problema è che l’iframe non ha alcun attributo che specifichi che si tratta di un video corto (verticale).
Se scrivo nel mio post https://www.youtube.com/shorts/SWeTMdyv50Q, non funzionerà.
Se scrivo <iframe>https://www.youtube.com/shorts/SWeTMdyv50Q</iframe>, non funzionerà.
Se scrivo https://www.youtube.com/embed/SWeTMdyv50Q, funzionerà, ma visualizzerà il video corto con il rapporto larghezza/altezza standard dei video di YouTube (che va bene per me, anche se preferirei avere un altro rapporto e non dover scrivere manualmente “embed” nell’URL):
Fai clic con il pulsante destro del mouse su un video di Shorts e seleziona “Copia codice di incorporamento”. Questo è ciò che intendevo per “codice di incorporamento manuale”, scusa se non sono stato chiaro.
Inoltre, sostituire /shorts/ con watch?v=, l’URL predefinito di un video di Youtube, funziona.
Quindi, su Youtube, su https://www.youtube.com/shorts/SWeTMdyv50Q, facendo clic con il pulsante destro del mouse → Copia URL video funzionerà poiché restituisce https://youtu.be/SWeTMdyv50Q che viene visualizzato correttamente su Discourse (anche se con il normale rapporto largo).
L’ho fatto, anche se potrei aver combinato un piccolo pasticcio con la mia pull request perché per qualche motivo non mi sono ancora abituato a GitHub… Devo davvero leggere il manuale (e, mi dice un amico, creare branch dal mio fork di Discourse…).
Solo per informazione, ho appena modificato il file lib\\onebox\\engine\\youtube_onebox.rb per aggiungere
# https://www.youtube.com/shorts/wi2jAtpBl0Y
if uri.path["/shorts/"]
id ||= uri.path[/\\/shorts\\/([\\w\\-]+)/, 1]
end
Mi stavo solo chiedendo se sarebbe un lavoro più facile cambiare quell’URL? Perché youtube.com/shorts/something è esattamente lo stesso di youtube.com/embed/something, e con /embed/ il oneboxing/embedding funziona benissimo qui.\n\nhttps://youtube.com/shorts/aQFdwUeZxkA non funziona:\n\nhttps://youtube.com/shorts/aQFdwUeZxkA?feature=share\n\nMahttps://youtube.com/embed/aQFdwUeZxkA funziona:\n\nYouTube
Non ti seguo ancora. Chi cambierebbe l’URL? L’autore del post? Ma l’autore del post non vuole riscrivere manualmente parte di un URL (non saprebbe nemmeno perché il video non viene incorporato), vuole solo copiare e incollare, e voilà, funziona.
Modifica: o intendi che il codice Oneboxing di Discourse sostituirebbe /shorts/ con /embed/?
Sì, forse! Non sono esattamente un mago del codice
it \"può analizzare i risultati di youtube shorts\" do
preview = expect(Onebox.preview('https://www.youtube.com/watch?v=wi2jAtpBl0Y').placeholder_html)
preview.to match(/reacts/)
preview.to match(/hqdefault/)
end
E ho anche aggiunto questo all’inizio del file, in before do: