Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Arman19941113/html-diff

Repository files navigation

Html Diff

Compare HTML and generate the differences in either a unified view or a side-by-side comparison. See online demo...

home

Install

pnpm add @armantang/html-diff

Usage

import '@armantang/html-diff/dist/index.css'
import HtmlDiff from '@armantang/html-diff'
const oldHtml = `<div>hello</div>`
const newHtml = `<div>hello world</div>`
const diff = new HtmlDiff(oldHtml, newHtml)
const unifiedContent = diff.getUnifiedContent()
const sideBySideContents = diff.getSideBySideContents()

Options

const diff = new HtmlDiff(oldHtml, newHtml, {
 // options
})
interface HtmlDiffOptions {
 /**
 * Determine the minimum threshold for calculating common sub-tokens.
 * You may adjust it to a value larger than 2, but not lower, due to the potential inclusion of HTML tags in the count.
 * @defaultValue 2
 */
 minMatchedSize?: number
 /**
 * When greedyMatch is enabled, if the length of the sub-tokens exceeds greedyBoundary,
 * we will use the matched sub-tokens that are sufficiently good, even if they are not optimal, to enhance performance.
 * @defaultValue true
 */
 greedyMatch?: boolean
 /**
 * @defaultValue 1000
 */
 greedyBoundary?: number
 /**
 * The classNames for wrapper DOM.
 * Use this to configure your own styles without importing the built-in CSS file
 */
 classNames?: Partial<{
 createText?: string
 deleteText?: string
 createInline?: string
 deleteInline?: string
 createBlock?: string
 deleteBlock?: string
 }>
}

Synchronized scrolling

In the sideBySideContents, some elements have the data-seq attribute. We can use this to implement synchronized scrolling. Click to see the demo.

About

Compare HTML contents

Topics

Resources

License

Stars

Watchers

Forks

AltStyle によって変換されたページ (->オリジナル) /