UNPKG

hexo

Version:

A fast, simple & powerful blog framework, powered by Node.js.

24 lines (19 loc) 725 B
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 class="fancybox" href="' + original + '" title="' + title + '">' + '<img src="' + (thumbnail || original) + '" alt="' + title + '">' '</a>' + (title ? '<span class="caption">' + title + '</span>' : ''); });