mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2025-10-16 12:05:41 +00:00
108 lines
3.4 KiB
TypeScript
108 lines
3.4 KiB
TypeScript
// Type definitions for html-to-text v1.4.0
|
|
// Project: https://github.com/werk85/node-html-to-text
|
|
// Definitions by: Eryk Warren <https://github.com/erykwarren>
|
|
// Definitions: https://github.com/DefinitelyTyped/html-to-text
|
|
|
|
interface HtmlToTextStatic {
|
|
/**
|
|
* Convert html content of file to text
|
|
*
|
|
* @param file String with the path of the html file to convert
|
|
* @param options Hash of options
|
|
* @param callback Function with signature function(err, result) called when the conversion is completed
|
|
*
|
|
*/
|
|
fromFile(file: string, options: HtmlToTextOptions, callback: Function): void;
|
|
|
|
/**
|
|
* Convert html content of file to text with the default options.
|
|
*
|
|
* @param file String with the path of the html file to convert
|
|
* @param callback Function with signature function(err, result) called when the conversion is completed
|
|
*
|
|
*/
|
|
fromFile(file: string, callback: Function): void;
|
|
|
|
/**
|
|
* Convert html string to text
|
|
*
|
|
* @param file String with the path of the html file to convert
|
|
* @param options Hash of options
|
|
*
|
|
* @return String with the converted text.
|
|
*/
|
|
fromString(str: string, options?: HtmlToTextOptions): string;
|
|
}
|
|
|
|
interface HtmlToTextOptions {
|
|
/**
|
|
* Defines after how many chars a line break should follow in p elements.
|
|
* Set to null or false to disable word-wrapping. Default: 80
|
|
*/
|
|
wordwrap?: number | false | null;
|
|
|
|
/**
|
|
* Allows to select certain tables by the class or id attribute from the HTML
|
|
* document. This is necessary because the majority of HTML E-Mails uses a
|
|
* table based layout. Prefix your table selectors with an . for the class
|
|
* and with a # for the id attribute. All other tables are ignored.
|
|
* You can assign true to this attribute to select all tables. Default: []
|
|
*/
|
|
tables?: Array<string> | boolean;
|
|
|
|
/**
|
|
* By default links are translated the following
|
|
* <a href='link'>text</a> => becomes => text [link].
|
|
* If this option is set to true and link and text are the same,
|
|
* [link] will be hidden and only text visible.
|
|
*/
|
|
hideLinkHrefIfSameAsText?: boolean;
|
|
|
|
/**
|
|
* Allows you to specify the server host for href attributes, where the links start at the root (/).
|
|
* For example, linkHrefBaseUrl = 'http://asdf.com' and <a href='/dir/subdir'>...</a>
|
|
* the link in the text will be http://asdf.com/dir/subdir.
|
|
* Keep in mind that linkHrefBaseUrl shouldn't end with a /.
|
|
*/
|
|
linkHrefBaseUrl?: string;
|
|
|
|
/**
|
|
* Ignore all document links if true.
|
|
*/
|
|
ignoreHref?: boolean;
|
|
|
|
/**
|
|
* Ignore all document images if true.
|
|
*/
|
|
ignoreImage?: boolean;
|
|
|
|
/**
|
|
* Dont print brackets around the link if true
|
|
*/
|
|
noLinkBrackets?: boolean;
|
|
|
|
/**
|
|
* By default, any newlines \n in a block of text will be removed.
|
|
* If true, these newlines will not be removed.
|
|
*/
|
|
preserveNewlines?: boolean;
|
|
|
|
/**
|
|
* By default, headings (<h1>, <h2>, etc) are uppercased.
|
|
* Set to false to leave headings as they are.
|
|
*/
|
|
uppercaseHeadings?: boolean;
|
|
|
|
/**
|
|
* By default, paragraphs are converted with two newlines (\n\n).
|
|
* Set to true to convert to a single newline.
|
|
*/
|
|
singleNewLineParagraphs?: boolean;
|
|
}
|
|
|
|
declare module "html-to-text" {
|
|
export = htmlToText;
|
|
}
|
|
|
|
declare var htmlToText: HtmlToTextStatic;
|