diff --git a/src/generate-helper.js b/src/generate-helper.js index 5307edd314d17954e19a3bc76919a04cb32a65e4..42c41b0ad689e0e3c429aed50f5a2d9310540f69 100644 --- a/src/generate-helper.js +++ b/src/generate-helper.js @@ -1,4 +1,4 @@ -module.exports = function (generateEntry, generateComment) { +module.exports = function (generateEntry, generateComment, compact = false) { return function (data) { var output = '', blocks = []; output += generateComment(data.header) + '\n'; @@ -10,6 +10,7 @@ module.exports = function (generateEntry, generateComment) { tmp += generateComment(item.comment); } else { if (item.domain !== undefined) tmp += generateEntry(item.ip, item.domain) + '\n'; + else if (compact) tmp += generateEntry(item.ip, item.domains) + '\n'; else { item.domains.forEach(function (domain) { tmp += generateEntry(item.ip, domain) + '\n'; diff --git a/src/generators/hosts-compact.js b/src/generators/hosts-compact.js new file mode 100644 index 0000000000000000000000000000000000000000..fc8c270dae394bc94794f38f9ca5ab9c1f05ec5b --- /dev/null +++ b/src/generators/hosts-compact.js @@ -0,0 +1,13 @@ +module.exports = { + fileName: 'hosts-compact', + generate: (function () { + var generateEntry = function (ip, domain) { + if (Array.isArray(domain)) domain = domain.join(' '); + return `${ip}\t${domain}`; + }; + var generateComment = function (data) { + return data.replace(/^(.)/gm, '# $1'); + }; + return require('../generate-helper')(generateEntry, generateComment, true); + })() +};