UNPKG

@suryadarsan/html-to-md

Version:

A lightweight package for converting HTML to Markdown, compatible with Vanilla JS and popular frameworks/libraries like Angular, React, and Node.js.

159 lines (115 loc) 3.27 kB
# @suryadarsan/html-to-md A lightweight package for converting HTML to Markdown, compatible with Vanilla JS and popular frameworks/libraries like Angular, React, and Node.js. ## Installation You can install the package using npm: ```sh npm install @suryadarsan/html-to-md ``` ### Usage #### Importing the Module You can import the module in different ways depending on your environment: #### Angular ##### Usage (for HTML string) ```ts import { htmlToMd } from '@suryadarsan/html-to-md'; let md = htmlToMd(`<h1>Main Title</h1><p>This is a <strong>bold</strong> paragraph.</p>`); console.log(md); ``` ##### Usage (for HTML element) ###### HTML ```html <main #convertMeToMD> ... </main> ``` ###### Typescript ```ts import { htmlToMd } from '@suryadarsan/html-to-md'; ... @ViewChild('convertMeToMD') convertMeToMD!: ElementRef; ... let md = htmlToMd(this.convertMeToMD.nativeElement); console.log(md); ``` #### React (ES Module) ###### Typescript ```ts import { htmlToMd } from '@suryadarsan/html-to-md'; // HTML String let md = htmlToMd(htmlString); console.log(md); // HTML Element md = htmlToMd(document.querySelector('#someId')); console.log(md); ... #### CommonJS ```js const { htmlToMd } = require('@suryadarsan/html-to-md'); ``` #### jQuery For use in the browser, include the UMD build: ##### Usage ```html <script src="path/to/suryadarsan.htmlToMd.umd.js"></script> <script> var htmlString = `<h1>Main Title</h1> <p> For Link Example: <a href="https://www.example.com/my great page">link</a> </p> <h2>Heading 2</h1>`; $(function () { var md = suryadarsan.htmlToMd(htmlString); console.log(md); }); </script> ``` #### UMD For use in the browser, include the UMD build: ##### Usage ```html <script src="path/to/suryadarsan.htmlToMd.umd.js"></script> <script> var htmlString = `<h1>Main Title</h1> <p>This is a <strong>bold</strong> paragraph.</p> <ul> <li>Item 1</li> <li>Item 2</li> </ul> <h2>Heading 2</h1> <ol> <li>Item 1</li> <li>Item 2 <a href="https://www.example.com/my great page">link</a></li> </ol> <b>Shortcut: </b> <code>Ctrl + A</code> <p> For Link Example: <a href="https://www.example.com/my great page">link</a> </p> <pre>console.log("Hello, world!");</pre> `; console.log(suryadarsan.htmlToMd(htmlString)); </script> ``` #### Converting HTML to Markdown You can convert an HTML string or an HTML element to Markdown using the `htmlToMd` function. #### Example with HTML String ```js const htmlString = '<h1>Main Title</h1><p>This is a <strong>bold</strong> paragraph.</p>'; const markdown = htmlToMd(htmlString); console.log(markdown); ``` #### Example with HTML Element ```js const element = document.getElementById('content'); const markdown = htmlToMd(element); console.log(markdown); ``` #### API `htmlToMd(input: string | HTMLElement): string` Converts an HTML string or an HTML element to a Markdown string. ##### Parameters - `input`: The HTML content to convert. It can be a `string` or an `HTMLElement`. ##### Returns - A string containing the converted Markdown content.