Changeset 73b41eb in Klonkt for src/services/AudioEmbedService.js
- Timestamp:
- 06/20/2026 03:42:00 AM (3 months ago)
- Branches:
- main
- Children:
- 9e6b54f
- Parents:
- 389aa99
- File:
-
- 1 edited
-
src/services/AudioEmbedService.js (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/services/AudioEmbedService.js
r389aa99 r73b41eb 67 67 case 'youtube': 68 68 return this.embedPlaceholder('youtube', config.id, 'video', 69 config.url || `https://youtu.be/${config.id}` );69 config.url || `https://youtu.be/${config.id}`, config.mode); 70 70 case 'soundcloud': 71 71 return this.embedPlaceholder('soundcloud', config.url, 'track', config.url); … … 91 91 * ALLE waarden via escape() — post.content_html wordt ongeescaped uitgevoerd. 92 92 */ 93 static embedPlaceholder(provider, ref, type, url ) {93 static embedPlaceholder(provider, ref, type, url, mode) { 94 94 const attrs = [ 95 95 `data-embed-provider="${this.escape(provider)}"`, 96 96 `data-embed-ref="${this.escape(ref)}"`, 97 97 type ? `data-embed-type="${this.escape(type)}"` : '', 98 mode ? `data-embed-mode="${this.escape(mode)}"` : '', 98 99 `data-embed-url="${this.escape(url)}"`, 99 100 ].filter(Boolean).join(' '); … … 227 228 static embedMediaShortcodes(html) { 228 229 if (!html) return html; 229 return html.replace(/\[\[embed:([^\]]+)\]\]/gi, (match, rawUrl) => { 230 const url = rawUrl.trim().replace(/&/g, '&'); 230 return html.replace(/\[\[embed:([^\]]+)\]\]/gi, (match, rawSpec) => { 231 // Optionele modus-prefix: [[embed:audio:URL]] = alleen-audio speler, 232 // [[embed:video:URL]] / [[embed:URL]] = normaal (video waar van toepassing). 233 let spec = rawSpec.trim(); 234 let mode = null; 235 const mm = spec.match(/^(audio|video):(.+)$/i); 236 if (mm) { mode = mm[1].toLowerCase(); spec = mm[2].trim(); } 237 const url = spec.replace(/&/g, '&'); 231 238 const detected = this.detectProvider(url); 232 239 if (!detected) { 233 240 return `<div class="post-embed-missing"><em>Embed: niet-ondersteunde of ongeldige URL.</em></div>`; 234 241 } 235 return this.generateIframe(detected.provider, detected) || match;242 return this.generateIframe(detected.provider, { ...detected, mode }) || match; 236 243 }); 237 244 }
Note:
See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)