hexo-theme-amane/scripts/fancybox.js

24 lines
767 B
JavaScript
Raw Normal View History

2015-03-19 14:25:53 +00:00
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){
2016-02-02 16:19:44 +00:00
var original = args.shift(),
thumbnail = '';
2015-03-19 14:25:53 +00:00
2016-02-02 16:19:44 +00:00
if (args.length && rUrl.test(args[0])){
thumbnail = args.shift();
}
2015-03-19 14:25:53 +00:00
2016-02-02 16:19:44 +00:00
var title = args.join(' ');
2015-03-19 14:25:53 +00:00
2016-02-02 16:19:44 +00:00
return '<a class="fancybox" href="' + original + '" title="' + title + '">' +
'<img src="' + (thumbnail || original) + '" alt="' + title + '">'
'</a>' +
(title ? '<span class="caption">' + title + '</span>' : '');
2015-03-19 14:25:53 +00:00
});