blog/scripts/tag/oss-video.js

26 lines
749 B
JavaScript

hexo.extend.tag.register('oss_video', function(args) {
let { config } = hexo;
let src = args[0] || '';
let versionId = args[1] || '';
if (src.length === 0 || versionId.length === 0) {
return '';
}
let fullUrl = `${config.oss.endpoint}/${src}?versionId=${versionId}`;
let affix = src.substring(src.lastIndexOf('.') + 1);
let attrs = []
attrs.push('controls');
attrs.push('muted="true"');
let width = args[2] || 0;
let height = args[3] || 0;
if (width !== 0) {
attrs.push(`width="${width}"`);
}
if (height !== 0) {
attrs.push(`height="${height}"`);
}
return `<video ${attrs.join(' ')}><source src="${fullUrl}"} type="video/${affix}"></video>`;
});