<commit_before><img src="http://capsidjs.github.io/capsid/asset/capsid.svg" />

[![Circle CI](https://circleci.com/gh/capsidjs/capsid.svg?style=svg)](https://circleci.com/gh/capsidjs/capsid)
[![codecov.io](https://codecov.io/github/capsidjs/capsid/coverage.svg?branch=master)](https://codecov.io/github/capsidjs/capsid?branch=master)
[![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg)](http://standardjs.com/)
[![bitHound Overall Score](https://www.bithound.io/github/capsidjs/capsid/badges/score.svg)](https://www.bithound.io/github/capsidjs/capsid)
[![Greenkeeper badge](https://badges.greenkeeper.io/capsidjs/capsid.svg)](https://greenkeeper.io/)
[![npm](https://img.shields.io/npm/v/capsid.svg)](https://npm.im/capsid)

> A library for component-based DOM programming

`capsid` is a library for doing component-based DOM programming.

`capsid` doesn't generate DOM nodes. Rather, it binds behaviors to existing DOM nodes. See [Hello Example][] or [Clock Example][].

`capsid` uses decorators to help doing declarative DOM programming. See [Mirroring Example][].

`capsid` is very different from the popular frameworks like React, Angular or Vue. Those frameworks update DOM nodes based on markups written in their DSL (jsx or custom markup). `capsid` doesn't define its own markup DSL. Rather `capsid` helps adding behaviors (like event handlers) to certain type of DOM Nodes based on component definitions.

`capsid` is a __view__ library and agnostic about data flow, but there's officially maintained library [evex][], which is like redux for react or vuex for vue.

[evex][] is a pattern to realize [flux][] using DOM Events and also a library to implement [evex][] pattern. Please check [evex][] repository for details.

# Features

- It's a lightweight **UI library**: (**1.51KB** gzipped)
- It has **no dependencies**.
- **No special Markup, just plain JavaScript (+ decorators)**
- Helps adding **behaviors** (event handlers and init handlers) to certain types of Elements based on **component** definition.
- **Small APIs**: **5 APIs** & **5 decorators**
<commit_msg>docs: remove Angular from compared libraries<commit_after><img src="http://capsidjs.github.io/capsid/asset/capsid.svg" />

[![Circle CI](https://circleci.com/gh/capsidjs/capsid.svg?style=svg)](https://circleci.com/gh/capsidjs/capsid)
[![codecov.io](https://codecov.io/github/capsidjs/capsid/coverage.svg?branch=master)](https://codecov.io/github/capsidjs/capsid?branch=master)
[![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg)](http://standardjs.com/)
[![bitHound Overall Score](https://www.bithound.io/github/capsidjs/capsid/badges/score.svg)](https://www.bithound.io/github/capsidjs/capsid)
[![Greenkeeper badge](https://badges.greenkeeper.io/capsidjs/capsid.svg)](https://greenkeeper.io/)
[![npm](https://img.shields.io/npm/v/capsid.svg)](https://npm.im/capsid)

> A library for component-based DOM programming

`capsid` is a library for doing component-based DOM programming.

`capsid` doesn't generate DOM nodes. Rather, it binds behaviors to existing DOM nodes. See [Hello Example][] or [Clock Example][].

`capsid` uses decorators to help doing declarative DOM programming. See [Mirroring Example][].

`capsid` is very different from the popular frameworks like React or Vue. Those frameworks update DOM nodes based on markups written in their DSL (jsx or custom markup). `capsid` doesn't define its own markup DSL. Rather `capsid` helps adding behaviors (like event handlers) to certain type of DOM Nodes based on component definitions.

`capsid` is a __view__ library and agnostic about data flow, but there's officially maintained library [evex][], which is like redux for react or vuex for vue.

[evex][] is a pattern to realize [flux][] using DOM Events and also a library to implement [evex][] pattern. Please check [evex][] repository for details.

# Features

- It's a lightweight **UI library**: (**1.51KB** gzipped)
- It has **no dependencies**.
- **No special Markup, just plain JavaScript (+ decorators)**
- Helps adding **behaviors** (event handlers and init handlers) to certain types of Elements based on **component** definition.
- **Small APIs**: **5 APIs** & **5 decorators**

{'fraction_non_alphanumeric': 0.14272300469483568, 'fraction_numerical': 0.0032863849765258214, 'mean_word_length': 5.238653001464129, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 7, 'https://': 22, 'lorem ipsum': 0, 'www.': 4, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3966354', 'n_tokens_mistral': 1355, 'n_tokens_neox': 1280, 'n_words': 412}