hexo-util
Advanced tools
Comparing version 1.3.0 to 1.3.1
'use strict'; | ||
const { parse, format } = require('url'); | ||
const regexNonUrl = /^(data|javascript|mailto|vbscript)/i; | ||
function encodeURL(str) { | ||
const parsed = parse(str); | ||
if (parsed.protocol) { | ||
if (parsed.slashes) { | ||
const obj = Object.assign({}, { | ||
@@ -26,2 +27,4 @@ auth: parsed.auth, | ||
if (str.match(regexNonUrl)) return str; | ||
return encodeURI(safeDecodeURI(str)); | ||
@@ -28,0 +31,0 @@ } |
@@ -5,3 +5,3 @@ 'use strict'; | ||
const escapeHTML = require('./escape_html'); | ||
const regexUrl = /(cite|download|href|src|url)$/; | ||
const regexUrl = /(cite|download|href|src|url)$/i; | ||
@@ -28,3 +28,3 @@ function encSrcset(str) { | ||
if (i.match(regexUrl)) result += ` ${escapeHTML(i)}="${encodeURL(attrs[i])}"`; | ||
else if (i.endsWith('srcset')) result += ` ${escapeHTML(i)}="${encSrcset(attrs[i])}"`; | ||
else if (i.match(/srcset$/i)) result += ` ${escapeHTML(i)}="${encSrcset(attrs[i])}"`; | ||
else result += ` ${escapeHTML(i)}="${escapeHTML(String(attrs[i]))}"`; | ||
@@ -31,0 +31,0 @@ } |
{ | ||
"name": "hexo-util", | ||
"version": "1.3.0", | ||
"version": "1.3.1", | ||
"description": "Utilities for Hexo.", | ||
@@ -5,0 +5,0 @@ "main": "lib/index", |
68121
1269