@maizzle/framework
Version:
Maizzle is a framework that helps you quickly build HTML emails with Tailwind CSS.
139 lines (131 loc) • 2.61 kB
TypeScript
import type { Opts } from 'html-crush';
export default interface MinifyConfig {
/**
* Maximum line length. Works only when `removeLineBreaks` is `true`.
*
* @default 500
*/
lineLengthLimit?: Opts['lineLengthLimit'];
/**
* Remove all line breaks from HTML when minifying.
*
* @default true
*/
removeLineBreaks?: Opts['removeLineBreaks'];
/**
* Remove code indentation when minifying HTML.
*
* @default true
*/
removeIndentations?: Opts['removeIndentations'];
/**
* Remove `<!-- HTML comments -->` when minifying HTML.
*
* `0` - don't remove any HTML comments
*
* `1` - remove all comments except Outlook conditional comments
*
* `2` - remove all comments, including Outlook conditional comments
*
* @default false
*/
removeHTMLComments?: Opts['removeHTMLComments'];
/**
* Remove CSS comments when minifying HTML.
*
* @default true
*/
removeCSSComments?: Opts['removeCSSComments'];
/**
* When any of given strings are encountered and `removeLineBreaks` is true, current line will be terminated.
*
* @default
* [
* '</td',
* '<html',
* '</html',
* '<head',
* '</head',
* '<meta',
* '<link',
* '<table',
* '<script',
* '</script',
* '<!DOCTYPE',
* '<style',
* '</style',
* '<title',
* '<body',
* '@media',
* '</body',
* '<!--[if',
* '<!--<![endif',
* '<![endif]'
* ]
*/
breakToTheLeftOf?: Opts['breakToTheLeftOf'];
/**
* Some inline tags can accidentally introduce extra text.
* The minifier will take extra precaution when minifying around these tags.
*
* @default
* [
* 'a',
* 'abbr',
* 'acronym',
* 'audio',
* 'b',
* 'bdi',
* 'bdo',
* 'big',
* 'br',
* 'button',
* 'canvas',
* 'cite',
* 'code',
* 'data',
* 'datalist',
* 'del',
* 'dfn',
* 'em',
* 'embed',
* 'i',
* 'iframe',
* 'img',
* 'input',
* 'ins',
* 'kbd',
* 'label',
* 'map',
* 'mark',
* 'meter',
* 'noscript',
* 'object',
* 'output',
* 'picture',
* 'progress',
* 'q',
* 'ruby',
* 's',
* 'samp',
* 'script',
* 'select',
* 'slot',
* 'small',
* 'span',
* 'strong',
* 'sub',
* 'sup',
* 'svg',
* 'template',
* 'textarea',
* 'time',
* 'u',
* 'tt',
* 'var',
* 'video',
* 'wbr'
* ]
*/
mindTheInlineTags?: Opts['mindTheInlineTags'];
}