Entschuldigung, ich habe ein weiteres Problem mit meinem Plugin, das mit einer API kommuniziert.
Ich rufe verschiedene Informationen ab, die ich basierend auf einer Suche in einem Thema einfüge. Mein Problem ist, dass ich meinen YouTube-Video-Link erhalte, dieser aber als reiner Text und nicht als das von mir gewünschte Onebox eingefügt wird. Ich habe verschiedene Methoden ausprobiert, aber jetzt stecke ich fest, und natürlich möchte ich, dass es sowohl mit Markdown als auch mit Rich Text kompatibel ist.
Hier ist ein Teil meines Codes, der sich auf die Videoverwaltung bezieht:
const videoTags = Array.from(xmlDoc.getElementsByTagName(“video”));
const frenchVideos = videoTags.filter(v => (v.getAttribute(“language”) || “”).toLowerCase().includes(“french”));
if (frenchVideos.length > 0) {
message += `\u003chr\u003e\u003ch3\u003e🎥 Regelerklärvideos (FR) :\u003c/h3\u003e`;
frenchVideos.slice(0, 3).forEach(video => {
let vTitle = (video.getAttribute(“title”) || “Video”)
.replace(/How to play/gi, “Comment jouer”)
.replace(/Rules/gi, “Règles”);
const vLink = video.getAttribute(“link”);
// 1. Der Titel in seinem Absatz
message += `\u003cp\u003e\u003cstrong\u003e📖 ${vTitle}\u003c/strong\u003e\u003c/p\u003e`;
// 2. EIN LEERER ABSATZ (Simuliert das Drücken von 'Enter')
message += `\u003cp\u003e\u003c/p\u003e`;
// 3. DER ALEINSTE LINK (Dies ist die von Discourse gewünschte "einzige Zeile")
// Wir fügen kein \u003ca\u003e hinzu, wir überlassen den reinen Text der URL
message += `\u003cp\u003e${vLink}\u003c/p\u003e`;
// 4. EIN WEITERER LEERER ABSATZ (Simuliert ein zweites 'Enter')
message += `\u003cp\u003e\u003c/p\u003e`;
});
if (frenchVideos.length > 3) {
message += `\u003cp\u003e\u003ci\u003e(+ ${frenchVideos.length - 3} weitere Videos auf BGG)\u003c/i\u003e\u003c/p\u003e`;
}
}
Und hier ist das Ergebnis
