blob: 50c154faa7e4769156b640ec66f4144ef7cf1462 [file] [log] [blame]
Tang Cheng60ba8032016-06-20 15:31:17 +08001var rUrl = /((([A-Za-z]{3,9}:(?:\/\/)?)(?:[-;:&=\+\$,\w]+@)?[A-Za-z0-9.-]+|(?:www.|[-;:&=\+\$,\w]+@)[A-Za-z0-9.-]+)((?:\/[\+~%\/.\w-_]*)?\??(?:[-\+=&;%@.\w_]*)#?(?:[.\!\/\\w]*))?)/;
2
3/**
4 * Fancybox tag
5 *
6 * Syntax:
7 * {% fancybox /path/to/image [/path/to/thumbnail] [title] %}
8 */
9
10hexo.extend.tag.register('fancybox', function(args){
11 var original = args.shift(),
12 thumbnail = '';
13
14 if (args.length && rUrl.test(args[0])){
15 thumbnail = args.shift();
16 }
17
18 var title = args.join(' ');
19
20 return '<a class="fancybox" href="' + original + '" title="' + title + '">' +
21 '<img src="' + (thumbnail || original) + '" alt="' + title + '">'
22 '</a>' +
23 (title ? '<span class="caption">' + title + '</span>' : '');
24});