New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

html-to-hyperscript

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

html-to-hyperscript

Convert HTML to HyperScript (both common syntaxes)

latest
Source
npmnpm
Version
0.8.0
Version published
Maintainers
1
Created
Source

HTML to HyperScript

html-to-hyperscript converts HTML to HyperScript.
Supports both original and hypescript-helpers syntaxes.
Here and below first syntax is referenced as H, second – as HH.

Install

$ npm install html-to-hyperscript

Use

test.js

let {htmlToHs} = require("html-to-hyperscript")

let convert = htmlToHs({tabSize: 4})

console.log(
  convert("<div>foo <span>bar</span></div>")
)

$ babel-node test.js

div([
  `foo `,
  span([`bar`])
])

API

Functions correspond to html-to-hyperscript default export.
Exported function are curried.

htmlToHs :: Opts -> String -> String

Converts HTML string to HyperScript string according to passed options.

Example

> let convert = htmlToHs({})

> convert('<div class="foo"></div>')
'div(".foo")'

> convert('<a rel="stylesheet">public/bundle.css</a>')
'a({\n  "attributes": {\n  "rel": "stylesheet"\n  }\n}, [`public/bundle.css`])'

> convert('<div><span>foo</span></div>')
'div([\n  span([`foo`])\n])'

> let convert = htmlToHs({syntax: "h"})

> convert('<div><span>foo</span></div>')
'h("div", [\n  h("span", [`foo`])\n])'

htmlToHs2 :: Opts -> String -> [String, [String]]

Converts HTML string to HyperScript string according to passed options, keeping a list of used tagnames. Use with HH syntax.

Example

> let [_, usedTagNames] = htmlToHs2({}, "<div><i>italic</i><b>bold #1</b><b>bold #2</b></div>")

> usedTagNames
['b', 'i', 'div']

> `let {${usedTagNames.join(", ")}} = hh(h)`.
'let {b, i, div} = hh(h)'

Opts :: {tabSize :: Number, syntax :: String}

Options to control rendering.

tabSize – number of spaces in "tab". Defaults to 2.

syntax – pass "h" for H syntax, "hh" for HH syntax. Defaults to "hh".

Library comparison

FeatureLibrary
html2hyperscripthtml2hscripthtml-to-hyperscript
Parser enginehtmlparser2htmlparser2parse5
Parsingasyncasyncsync
H syntax+++
HH syntax--+
Respect whitespace--+

Dependencies

This repo is made mostly to power a webservice.
So we don't care much about dependencies.

Ramda

Parse5

Web Service

Use html-to-hyperscript.paqmind.com to convert HTML to HyperScript online.

License

MIT

Keywords

html

FAQs

Package last updated on 31 Mar 2017

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts