Changeset fef781e in Klonkt for src/services
- Timestamp:
- 06/20/2026 04:46:35 AM (3 months ago)
- Branches:
- main
- Children:
- 0d7acdf
- Parents:
- 8ab20b6
- File:
-
- 1 edited
-
src/services/AudioEmbedService.js (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/services/AudioEmbedService.js
r8ab20b6 rfef781e 67 67 case 'youtube': 68 68 return this.embedPlaceholder('youtube', config.id, 'video', 69 config.url || `https://youtu.be/${config.id}` , config.mode);69 config.url || `https://youtu.be/${config.id}`); 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 , mode) {93 static embedPlaceholder(provider, ref, type, url) { 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)}"` : '',99 98 `data-embed-url="${this.escape(url)}"`, 100 99 ].filter(Boolean).join(' '); … … 228 227 static embedMediaShortcodes(html) { 229 228 if (!html) return html; 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, '&'); 229 return html.replace(/\[\[embed:([^\]]+)\]\]/gi, (match, rawUrl) => { 230 const url = rawUrl.trim().replace(/&/g, '&'); 238 231 const detected = this.detectProvider(url); 239 232 if (!detected) { 240 233 return `<div class="post-embed-missing"><em>Embed: niet-ondersteunde of ongeldige URL.</em></div>`; 241 234 } 242 return this.generateIframe(detected.provider, { ...detected, mode }) || match;235 return this.generateIframe(detected.provider, detected) || match; 243 236 }); 244 237 }
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)