Files
blog/node_modules/hexo-theme-landscape/scripts/fancybox.js
2025-07-16 16:30:56 +00:00

25 lines
706 B
JavaScript

var rUrl = /((([A-Za-z]{3,9}:(?:\/\/)?)(?:[-;:&=\+\$,\w]+@)?[A-Za-z0-9.-]+|(?:www.|[-;:&=\+\$,\w]+@)[A-Za-z0-9.-]+)((?:\/[\+~%\/.\w-_]*)?\??(?:[-\+=&;%@.\w_]*)#?(?:[.\!\/\\w]*))?)/;
/**
* Fancybox tag
*
* Syntax:
* {% fancybox /path/to/image [/path/to/thumbnail] [title] %}
*/
hexo.extend.tag.register('fancybox', function(args){
var original = args.shift(),
thumbnail = '';
if (args.length && rUrl.test(args[0])){
thumbnail = args.shift();
}
var title = args.join(' ');
return `<a data-fancybox="gallery" href="${original}" data-caption="${title}">
<img src="${thumbnail || original}" alt="${title}">
</a>
${title ? `<span class="caption">${title}</span>` : ''}`;
});