2.0.4 • Published 4 months ago

html-tag-js v2.0.4

Weekly downloads
5
License
MIT
Repository
github
Last release
4 months ago

html-tag-js

A simple library for creating and manipulating DOM using JavaScript DOM api with out of the box support for JSX like syntax.

Documentation

Installation

npm i html-tag-js

or directly import into browser

path/to/html-tag-js/dist/tag.js

Enable JSX like syntax

To enable JSX like syntax, use html-tag-js/tag-loader as loader in webpack.

module.exports = {
  module: {
    ...
    rules: [
      {
        test: /\.jsx?$/,
        exclude: /node_modules/,
        use: ['html-tag-js/jsx/tag-loader.js'],
      },
      ...
    ],
  },
};

And in add following lines in babel configuration file.

{
  ...
  "plugins": [
    "html-tag-js/jsx/jsx-to-tag.js",
    "html-tag-js/jsx/syntax-parser.js",
    ...
  ],
  ...
}

Usage

To create elements, use tag function. It accepts tag name, options and children as arguments. Checkout tag for more details.

import 'html-tag-js/dist/polyfill'; // optional
// no need to import tag from 'html-tag-js'
// if you are using tag-loader
import tag from 'html-tag-js';

Cheat Sheet

Use Reactive to create reactive node

To create a reactive node, use Reactive constructor. It accepts initial value and returns an object with value property to get/set the value and onChange callback to listen for value changes. Checkout Reactive for more details.

import Reactive from 'html-tag-js/Reactive';

const count = Reactive(0);

document.body.append(
  <div>
    <h1>{count}</h1>
    <button onclick={() => count.value++}>Increment</button>
  </div>
);

Use Ref to get reference of the node

To get reference of the node, use Ref constructor. It accepts a callback function which will be called with the node as argument. Checkout Ref for more details.

import Ref from 'html-tag-js/Ref';

const ref = Ref(node => {
  console.log(node); // <h1>Hello</h1>
});

// Change style of the node before or after referencing
ref.style.color = 'red';

document.body.append(
  <div>
    <h1 ref={ref}>Hello</h1>
  </div>
);
1.8.2

6 months ago

2.0.3

4 months ago

2.0.2

4 months ago

2.0.4

4 months ago

2.0.1

4 months ago

2.0.0

4 months ago

1.9.2

4 months ago

1.9.1

4 months ago

1.9.0

4 months ago

1.8.5

4 months ago

1.8.3

4 months ago

1.8.1

9 months ago

1.6.0

11 months ago

1.7.1

11 months ago

1.4.4

1 year ago

1.5.1

1 year ago

1.5.0

1 year ago

1.4.3

1 year ago

1.4.2

1 year ago

1.4.1

1 year ago

1.4.0

1 year ago

1.3.0

1 year ago

1.2.0

1 year ago

1.1.38

2 years ago

1.1.39

2 years ago

1.1.41

2 years ago

1.1.40

2 years ago

1.1.37

2 years ago

1.1.36

2 years ago

1.1.29

2 years ago

1.1.28

2 years ago

1.1.30

2 years ago

1.1.34

2 years ago

1.1.33

2 years ago

1.1.32

2 years ago

1.1.31

2 years ago

1.1.35

2 years ago

1.1.19

3 years ago

1.1.23

3 years ago

1.1.22

3 years ago

1.1.21

3 years ago

1.1.20

3 years ago

1.1.27

2 years ago

1.1.26

2 years ago

1.1.25

3 years ago

1.1.24

3 years ago

1.1.9

3 years ago

1.1.8

3 years ago

1.1.12

3 years ago

1.1.11

3 years ago

1.1.10

3 years ago

1.1.16

3 years ago

1.1.15

3 years ago

1.1.14

3 years ago

1.1.13

3 years ago

1.1.18

3 years ago

1.1.1

3 years ago

1.1.0

3 years ago

1.1.6

3 years ago

1.1.5

3 years ago

1.1.4

3 years ago

1.1.3

3 years ago

1.1.2

3 years ago

1.0.4

3 years ago

1.0.3

3 years ago

1.0.2

4 years ago

1.0.1

5 years ago

1.0.0

5 years ago

0.2.22

5 years ago

0.2.21

5 years ago

0.2.20

5 years ago

0.0.19

6 years ago

0.0.18

6 years ago

0.0.17

6 years ago

0.0.16

6 years ago

0.0.15

6 years ago

0.0.14

6 years ago

0.0.13

6 years ago

0.0.12

6 years ago

0.0.11

6 years ago

0.0.1

6 years ago