open-index/open-npm huggingface dataset:
npm package: @idraw/board
Description: [![Node.js CI](https://github.com/idrawjs/idraw/actions/workflows/node.js.yml/badge.svg?branch=main)](https://github.com/idrawjs/idraw/actions/workflows/node.js.yml)
Author: chenshenhai
Latest version: 0.4.0-beta.39

# @idraw/board

[![Node.js CI](https://github.com/idrawjs/idraw/actions/workflows/node.js.yml/badge.svg?branch=main)](https://github.com/idrawjs/idraw/actions/workflows/node.js.yml)
npm package: @idraw/studio
Description: <p align="center">   <a href="https://www.npmjs.com/package/@idraw/studio">     <img src="https://img.shields.io/npm/v/@idraw/studio.svg?sanitize=@idraw/studio" alt="Version">   </a>   <a href="https://www.npmjs.com/package/@idraw/studio">     <img src="h
Author: chenshenhai
Latest version: 0.4.0-alpha.37

# @idraw/studio

<p align="center">
  <a href="https://www.npmjs.com/package/@idraw/studio">
    <img src="https://img.shields.io/npm/v/@idraw/studio.svg?sanitize=@idraw/studio" alt="Version">
  </a>
  <a href="https://www.npmjs.com/package/@idraw/studio">
    <img src="https://img.shields.io/npm/l/@idraw/studio.svg?sanitize=true" alt="License">
  </a>
</p>

<p align="center">
  <a href="https://idrawjs.com/studio/" target="_blank">idrawjs.com/studio/</a>
</p>

## Sponsors

`@idraw/studio` is an MIT-licensed open source project with its ongoing development made possible entirely by the support of these awesome backers. If you'd like to join them, please consider [sponsoring iDrawjs's development](https://opencollective.com/idrawjs).

[![Become a Backer](https://opencollective.com/idrawjs/tiers/backers.svg?avatarHeight=48)](https://opencollective.com/idrawjs)


 
## @idraw/studio Preview

You can click [idrawjs.com/studio/](https://idrawjs.com/studio) to experience it.

The preview of `@idraw/studo`. 


<p align="center">

  <img width="700" alt="idraw-studio-light-theme" src="https://github.com/idrawjs/studio/assets/8216630/8a49bab8-1e4a-44dd-9836-b6ce3861aaea" />

  <img width="700" alt="idraw-studio-dark-theme" src="https://github.com/idrawjs/studio/assets/8216630/479fce0b-891f-47f2-ace8-d91580e68b4b" />

</p>

## Usage

```sh 
# Install peer dependcies
npm install antd idraw

npm install @idraw/studio
```

```js
import * as React from 'react';
import { createRoot } from 'react-dom/client';
import { Studio } from '@idraw/studio';
import '@idraw/studio/dist/css/index.css'

const App = () => { 
  const [width, setWidth] = useState<number>(window.innerWidth);
  const [height, setHeight] = useState<number>(window.innerHeight);
  useEffect(() => {
    window.addEventListener('resize', () => {
      setWidth(window.innerWidth);
      setHeight(window.innerHeight);
    });
  }, []); 

  return (
    <Studio
      width={width}
      height={height} 
      data={data}
      defaultScaleInfo={{ 
        scale: 1,
        offsetX: 0,
        offsetY: 0
      }}
    />
  );
};

const root = createRoot(document.querySelector('#app'));
root.render(<App />);

```

## Development

```sh
git clone git@github.com:idrawjs/studio.git

cd studio

pnpm install

npm run dev
```
npm package: @idrinth-api-bench/chartjs-plugin-stdev-filler
Description: This tiny plugin shows the standardeviation as a colored area around a line chart.
Latest version: 1.0.5

# @idrinth-api-bench/chartjs-plugin-stdev-filler

This tiny plugin adds a colored area around line charts if those provide a standard deviation value.

## Config

```js
{
  datasets: [
    {
      label: 'example 1',
      data: [10, 9, 11, 13, 11],
      stdev: [1, 1.1, 3, 9, 0.2],
    }
  ]
}
```
npm package: @idrinth-api-bench/cli
Description: A library to benchmark apis, no matter if rest or soap
Author: Björn Büttner
Latest version: 1.0.2

# @idrinth-api-bench/cli


## Contents

- [@idrinth-api-bench/cli](#idrinthapi-bench-cli)
  - [Contents](#contents)
  - [What does this project do?](#what-does-this-project-do)
  - [Usage \& Examples](#usage--examples)
  - [License](#license)
  - [Socials](#socials)
  - [Support](#support)
  - [Privacy and Compliance](#privacy-and-compliance)

## [Issues](https://github.com/idrinth-api-bench/issues)

This is the issue repository for a typescript framework meant to performance test anything even remotely rest-like and related tools.

## What does this project do?

This project provides a CLI tool for @idrinth-api-bench/framework to generate code.

## Usage & Examples

Please have a look at the [website](https://idrinth-api-ben.ch) for more
information.

## License

As usual with my projects this is MIT-licensed.

## Socials

Additionally, to support requests via GitHub issue, you can reach us via

[![LinkedIn URL](https://img.shields.io/badge/LinkedIn-0077B5?style=for-the-badge&logo=linkedin&logoColor=white)](https://www.linkedin.com/groups/9588634/)&nbsp;&nbsp;&nbsp;&nbsp;[![Slack URL](https://img.shields.io/badge/Slack-4A154B?style=for-the-badge&logo=slack&logoColor=white)](https://idrinth-api-bench.slack.com/join/shared_invite/zt-2f4zmw2sz-c3etHzCFq3LtZpkR15xXMA#/shared-invite/email)

## Support

Commercial support and training is provided via
[Björn Büttner](https://bjoern-buettner.me).

## Privacy and Compliance

The `@idrinth-api-bench` framework and its CLI do not collect any kind of
information about its users or the APIs being tested. All data is local to
the device you run it on or the database server you configure it to dump data
in.
npm package: @idrinth-api-bench/framework
Description: A library to benchmark apis, no matter if rest or soap
Author: Björn Büttner
Latest version: 1.0.13

# @idrinth-api-bench/framework

[![Coverage Status](https://coveralls.io/repos/github/idrinth-api-bench/framework/badge.svg?branch=the-one)](https://coveralls.io/github/idrinth-api-bench/framework?branch=the-one)

## Contents

- [What does this project do?](#what-does-this-project-do)
  - [Code Generation](#code-generation)
- [Usage \& Examples](#usage--examples)
- [CI Images](#ci-images)
- [Licence](#licence)
- [Socials](#socials)
- [Support](#support)
- [Privacy and Compliance](#privacy-and-compliance)

## What does this project do?

This project provides a framework for testing restful APIs and websites for
changes in response times. This helps to detect performance changes in code
in a quick and simple manner.

### Code Generation

Code generation has been extracted into `@idrinth-api-bench/cli`, it can be
run on its own.

## Usage & Examples

Please have a look at the [website](https://idrinth-api-ben.ch) for more
information. Examples are in their own
[repository](https://github.com/idrinth-api-bench/examples)

## CI Images

We have ready to be used CI Images:

- [Gitlab Runner](https://hub.docker.com/r/idrinth/api-bench-gitlab-runner)
- [Gitea Action](https://hub.docker.com/r/idrinth/api-bench-gitea-action)
- [Pure Alpine](https://hub.docker.com/r/idrinth/api-bench)

## Licence

This project is MIT-licenced.

## Socials

Additionally, to support requests via GitHub issue, you can reach us via

[![LinkedIn URL](https://img.shields.io/badge/LinkedIn-0077B5?style=for-the-badge&logo=linkedin&logoColor=white)](https://www.linkedin.com/groups/9588634/)
[![Slack URL](https://img.shields.io/badge/Slack-4A154B?style=for-the-badge&logo=slack&logoColor=white)](https://idrinth-api-bench.slack.com/join/shared_invite/zt-2f4zmw2sz-c3etHzCFq3LtZpkR15xXMA#/shared-invite/email)

## Support

Commercial support and training is provided via
[Björn Büttner](https://bjoern-buettner.me).

## Privacy and Compliance

The `@idrinth-api-bench` framework does not collect any kind of information
about its users or the APIs being tested. All data is local to the device
you run it on or the database server you configure it to dump data in.
npm package: @idrinth-api-bench/react-file-based-routes
Description: A simple file based routing library, that does not force itself on you.
Latest version: 1.3.0

# @idrinth/react-file-based-routes

This is a small library used to teach the default react routers file based routing and optimise the output as far as that is possible without server side rendering. It is meant for mostly static pages, where the overhead of nextjs of vike is not required.

## Defining a page

A page is by default any `ìndex.tsx` within the `src/pages` folder. The folder name will be taken as the page url, with two exceptions by default:

- home will be the root
- not-found will be the 404 page

## Configuration

All rules can be configured in an .idrinth-react-file-based-routes.json file, options are currently:

```ts
interface Configuration {
  sitemap?: {
    domain?: string,
    build?: boolean,
  },
  runtime?: {
    reloadWaitMs: number
  },
  routes?: {
    build?: boolean,
    type?: 'tsx'|'jsx',
    overridePathMappings?: {
      [filesystemPath: string]: string,
    },
  },
  htmlMinify?: {
    collapseBooleanAttributes?: boolean,
    conservativeCollapse?: boolean,
    collapseWhitespace?: boolean,
    removeAttributeQuotes?: boolean,
    removeComments?: boolean,
  },
  fileBuilder?: {
    buildIndex?: boolean,
    minifyPages?: boolean,
    appendPageChunk?: boolean,
    preLoadCSS?: boolean,
    preloadStartDelay?: number,
  },
  fileFinder?: {
    fileName?: string,
    pagesRoot?: string,
    distJSRoot?: string,
  },
}
```

If you prefer using a cli format, `--{group}.{setting}=abc` will set string settings to abc, while booleans can be flipped by just using `--{group}.{setting}`. For example for api-bench, that uses the defaults, you can set the domain by using `--sitemap.domain=idrinth-api-ben.ch`. The setting `fileFinder.overridePathMappings` can not be configured via the cli.

Default options are overwritten first by the file based settings and then by the command line settings.

# Setup

You will need to do three things for the complete package:

- Define a call to generate-routes(`irfbrgr` or `react-file-based-routes-generate-routes`) in you package.json as afterInstall and early in your build process to generate the routes.tsx and the sitemap
- Optionally define a call to generate-folders(`ìrfbrgf` or `react-file-based-routes-generate-folders`) in your package.json as a late build step to optimise the index.html files
- Default import the generated `src/routes.tsx`, so that you can use createBrowserRouter or similar functions to create your router. It requires getting a `Loader` element passed to it - any react element will do
npm package: @idrinth-api-bench/typescript-language-from-yaml
Description: Translates yaml files to ts for translation autocompletion, autocorrection and better developer support
Author: Björn Büttner
Latest version: 1.4.0

# @idrinth/typescript-language-from-yaml

This small project handles the conversion of transslation files from yaml to typescript. Install it and run the command `itlfy` to use it.

## check

The check command will check if the yaml files in your current working directory's `language` folder are valid and match. It  will error for unparseable files and keys not available in english, while  warning if keys are missing in other languages.

`ilfy check` or `itlfy chheck root-folder-name`

## generate

Generate provides typescript language files according to your specification. It only works in your current  working directory's `language` folder and will output to `ssrc/locales` by default.

Options:

- `--strict-types` apply strict types, so that typescript will error on build if the structures mismatch
- `--verbatim-module-syntax` will export the type as a named export instead of a default one
- `--simplified-hash-map` will convert the multi tiered object to a single level hash map for speed reasons.
- `--inject-default-language` will create a file based on the default language. Only works with `--simplified-hash-map` active at the same time.
- `--split` splits  the language files at the top level keys. This leads to smaller files when using dynamic imports. Usually you want `--no-translations-file` as well in case of splitting.
- `--no-translations-file` disables the  creation of a translation object containing all languages

## watch

Watching will watch one or more language folders and rebuild  the typescript files whenever the yaml files change.If you don't give it a root folder, it will assume the current working directory.

- `ilfy watch rootfolder1 rootfolder2`

## init

Generates a configuration file with the current values for  the given folder or folders.

## configuration

use a `.idrinth-typesscript-language-from-yaml.yml` file in the root of your project to configure the tool with defaults that can be overwritten by the command line.

```yaml
hasNoTranslationsFile: false
isSplit: false
originDirectory: language
isFailOnWarning: false
targetDirectory: src/locales
isStrictTypes: false
isVerbatimModuleSyntax: false
```
npm package: @idrinth/api-bench
Description: A library to benchmark apis, no matter if rest or soap
Author: Björn Büttner
Latest version: 2.7.4

# @idrinth/api-bench

[![Coverage Status](https://coveralls.io/repos/github/Idrinth/api-bench/badge.svg?branch=master)](https://coveralls.io/github/Idrinth/api-bench?branch=master)
[![Codacy Badge](https://app.codacy.com/project/badge/Grade/3171affc728048da8df4fe36b6d4771e)](https://app.codacy.com/gh/Idrinth/api-bench/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade)

## Contents

- [Contents](#contents)
- [What does this Project do?](#what-does-this-project-do)
  - [Why a Benchmark Runner](#why-use-a-benchmark-runner)
  - [Regarding existing libraries](#regarding-existing-libraries)
- [Usage & Examples](#usage--examples)
- [CI-Images](#ci-images)
- [Monitoring](#monitoring)
- [License](#license)
- [Support](#support)

## What does this project do?

This project provides a framework for testing restful APIs and websites for
changes in response times. This helps to detect performance changes in code
in a quick and simple manner.

### Why use a Benchmark Runner

Given, that the amount of APIs increase by moving to microservices, we need a
way to determine if changes to a service's response times are related to code
changes. For this purpose a defined load with repeatable request seems the
most useful.

### Regarding existing libraries

Other tools like
[matteofigus/api-benchmark](https://github.com/matteofigus/api-benchmark),
[bvanderlaan/api-bench-runner](https://github.com/bvanderlaan/api-bench-runner)
or [jeffbski/bench-rest](https://github.com/jeffbski/bench-rest) are all
untouched for quite a while and don't provide type definitions for typescript.
This makes them less desirable when working with bigger projects where the
better static codecheck is a huge boost in development speed.

Additionally, this tool separates the validation thread from the thread
processing the actual requests to further minimise the effect of complicated
validations or huge response bodies on the data gathering.

## Usage & Examples

Please have a look at the [website](https://idrinth-api-ben.ch) for more
information.

## CI Images

We have ready to be used CI Images:

- [Gitlab Runner](https://hub.docker.com/r/idrinth/api-bench-gitlab-runner)
- [Gitea Action](https://hub.docker.com/r/idrinth/api-bench-gitea-action)
- [Pure Alpine](https://hub.docker.com/r/idrinth/api-bench)

## Monitoring

We provide a monitoring solution out of the box.

- [Microservice](https://hub.docker.com/r/idrinth/api-bench-history-microservice)
- [Website](https://hub.docker.com/r/idrinth/api-bench-history-website)

## License

As usual with my projects this is MIT-licensed.

## Support

Additionally, to support requests via issue, you can reach us via
[Slack](https://join.slack.com/t/idrinth-api-bench/shared_invite/zt-2f4zmw2sz-c3etHzCFq3LtZpkR15xXMA).

Commercial support and training is provided via
[Björn Büttner](https://bjoern-buettner.me).
npm package: @idrinth/automatic-formatting
Description: A tool to reformat javascript projects on github
Author: Björn Büttner
Latest version: 1.3.0

# Automatic Formatting [![styled with prettier](https://img.shields.io/badge/styled_with-prettier-ff69b4.svg)](https://github.com/prettier/prettier)
Building a nodejs javascript formatting service build on prettier, that can handle github webhooks and the github api to provide formatting during pullrequests.

This is currently not using as many promises as desired, but on the other hand the formatting is pretty quick.

## How does it work?

It reacts to three different eventgroups send via webhook:
- push: if the branch is within a pullrequest it'll be checked and if required formatted
- pull_request: changes the flag for formatting purposes
- delete: if a branch is deleted will also delete the checkout of it

## NPM
NPM is avaible as well, see https://www.npmjs.com/package/@idrinth/automatic-formatting.
Installation works as usual, so
```
npm install @idrinth/automatic-formatting
```
just remember to adjust the configuration afterwards, that user does not exist.

## Configuration

There are two relevant configurations. For one there is a configuration for the service, see config.json for example.
There is also a per-project option of configuring prettier and the include/exclude lists by using a .idrinth.automatic-formatting.json file in the root of your project.
Other keys in this file will be ignored.
npm package: @idrinth/duplicate-style-check
Description: A linting tool trying to find duplicated style rules
Latest version: 1.1.1

# Duplicate Style Check

This small tool checks for two cases of duplication so far:

- a rule's property has been defined before in the same media set
- a rule's property duplicates the value of the media query less rule

## Usage

Run `ilcd folder` or skip the folder and link the cwd recursively. The `node_modules` are ignored as file origin.

Add a `.idrinth-duplicate-style-check.json` configuration file in the cwd to define entry points to get better results, example:

```json
{
  "entrypoints": [
    "index.css",
    "src/hidden.css"
  ]
}
```
And yes, this can be run with npx as well: `npx @idrinth/duplicate-style-check`
npm package: @idrinth/react-file-based-routes
Description: A simple file based routing library, that does not force itself on you.
Latest version: 1.3.0

# @idrinth/react-file-based-routes

This is a small library used to teach the default react routers file based routing and optimise the output as far as that is possible without server side rendering. It is meant for mostly static pages, where the overhead of nextjs of vike is not required.

## Defining a page

A page is by default any `ìndex.tsx` within the `src/pages` folder. The folder name will be taken as the page url, with two exceptions by default:

- home will be the root
- not-found will be the 404 page

## Configuration

All rules can be configured in an .idrinth-react-file-based-routes.json file, options are currently:

```ts
interface Configuration {
  sitemap?: {
    domain?: string,
    build?: boolean,
  },
  runtime?: {
    reloadWaitMs: number
  },
  routes?: {
    build?: boolean,
    type?: 'tsx'|'jsx',
    overridePathMappings?: {
      [filesystemPath: string]: string,
    },
  },
  htmlMinify?: {
    collapseBooleanAttributes?: boolean,
    conservativeCollapse?: boolean,
    collapseWhitespace?: boolean,
    removeAttributeQuotes?: boolean,
    removeComments?: boolean,
  },
  fileBuilder?: {
    buildIndex?: boolean,
    minifyPages?: boolean,
    appendPageChunk?: boolean,
    preLoadCSS?: boolean,
    preloadStartDelay?: number,
  },
  fileFinder?: {
    fileName?: string,
    pagesRoot?: string,
    distJSRoot?: string,
  },
}
```

If you prefer using a cli format, `--{group}.{setting}=abc` will set string settings to abc, while booleans can be flipped by just using `--{group}.{setting}`. For example for api-bench, that uses the defaults, you can set the domain by using `--sitemap.domain=idrinth-api-ben.ch`. The setting `fileFinder.overridePathMappings` can not be configured via the cli.

Default options are overwritten first by the file based settings and then by the command line settings.

# Setup

You will need to do three things for the complete package:

- Define a call to generate-routes(`irfbrgr` or `react-file-based-routes-generate-routes`) in you package.json as afterInstall and early in your build process to generate the routes.tsx and the sitemap
- Optionally define a call to generate-folders(`ìrfbrgf` or `react-file-based-routes-generate-folders`) in your package.json as a late build step to optimise the index.html files
- Default import the generated `src/routes.tsx`, so that you can use createBrowserRouter or similar functions to create your router. It requires getting a `Loader` element passed to it - any react element will do
npm package: @idrinth/simple-templating
Description: a very simple templating engine for browsers
Author: Björn Büttner
Latest version: 1.0.0

# Simple Templating

This small library provides minimal templating options for javascrpt in multiple enviroments, have a look at /min to see the options.

| Type | Status |
| --- | --- |
| Build | [![Build Status](https://travis-ci.org/Idrinth/simple-templating.svg?branch=master)](https://travis-ci.org/Idrinth/simple-templating) |
| Coverage | [![Test Coverage](https://api.codeclimate.com/v1/badges/36da5f7441f95e94b8bd/test_coverage)](https://codeclimate.com/github/Idrinth/simple-templating/test_coverage) [![Codacy Badge](https://api.codacy.com/project/badge/Coverage/5f96fa1a257948598e2d964f2979648a)](https://www.codacy.com/app/Idrinth/simple-templating?utm_source=github.com&utm_medium=referral&utm_content=Idrinth/simple-templating&utm_campaign=Badge_Coverage) |
| Quality | [![Codacy Badge](https://api.codacy.com/project/badge/Grade/5f96fa1a257948598e2d964f2979648a)](https://www.codacy.com/app/Idrinth/simple-templating?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=Idrinth/simple-templating&amp;utm_campaign=Badge_Grade) |
| Maintainability | [![Maintainability](https://api.codeclimate.com/v1/badges/36da5f7441f95e94b8bd/maintainability)](https://codeclimate.com/github/Idrinth/simple-templating/maintainability) |

## Values

assume the following values: `{key: 'value', keys:{key:2}`

`{{key}}` will be replaced by `value`, `{{keys.key}}` will be replaced by `2`

## Logic

logic blocks may contain other logic blocks.

### IF

```
{%if check%}This shows if the boolean value of check is true.{{%end%}}
{%if !check%}This shows if the boolean value of check is false.{{%end%}}
{%if !check.property%}This shows if the boolean value of check.property is false.{{%end%}}
```

This does not support more than one variable. You can invert the check by adding an exclamation mark in front of the condition tho.

### EACH

`{%each list%}- {{_list.key}}: {{_list.value}}{%end%}`

Each iterates over Objects and Arrays, exposing an object with the following properties within the loop:

- key: the position in case of an array or the property name in case of other objects
- pos: the position integer in the list, equal to list_key in the case of arrays
- value: the value of the current item
- even: a boolean, useful for conditions

The object's name is generated by prepending an underscrore to the name of the variable iterated over, so `list` will provide `_list`, `list.sublist` will provide `_list#sublist`.
npm package: @idrinth/typescript-language-from-yaml
Description: Translates yaml files to ts for translation autocompletion, autocorrection and better developer support
Author: Björn Büttner
Latest version: 1.3.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# @idrinth/typescript-language-from-yaml

This small project handles the conversion of transslation files from yaml to typescript. Install it and run the command `itlfy` to use it.

## check

The check command will check if the yaml files in your current working directory's `language` folder are valid and match. It  will error for unparseable files and keys not available in english, while  warning if keys are missing in other languages.

`ilfy check` or `itlfy chheck root-folder-name`

## generate

Generate provides typescript language files according to your specification. It only works in your current  working directoy's `language` folder and will output to `ssrc/locales` by default.

Options:

- `--strict-types` apply strict types, so that typescript will error on build if the structures missmatch
- `--verbatim-module-syntax` will export the type as a named export instead of a default one
- `--split` splits  the language files at the top level keys.. Thhis leads to smaller files when using dynamic imports. Usually you want `--no-translations-file` as well in case of splitting.
- `--no-translations-file` dissables the  creation of a translation object containing all languages

## watch

Watching will watch one or more language folders and rebuild  the typescript files whenever the yaml files change.If you don't give it a root folder, it will assume the current working directory.

- `ilfy watch rootfolder1 rootfolder2`

## init

Generates a configuration file with the current values for  the given folder or folders.

## configuration

use a `.idrinth-typesscript-language-from-yaml.yml` file in the root of your project to configure the tool with defaults that can be overwritten by the command line.

```yaml
hasNoTranslationsFile: false
isSplit: false
originDirectory: language
isFailOnWarning: false
targetDirectory: src/locales
isStrictTypes: false
isVerbatimModuleSyntax: false
```
npm package: @idriskhenchil/fort
Description: A modern progress bar for form completion.
Author: Idris Khenchil
Latest version: 1.1.0

# Fort.js

<img alt="GitHub" src="https://img.shields.io/github/license/idriskhenchil/Fort.js"> <img alt="GitHub file size in bytes on a specified ref (branch/commit/tag)" src="https://img.shields.io/github/size/idriskhenchil/Fort.js/src/fort.js">
<img alt="GitHub package.json version" src="https://img.shields.io/github/package-json/v/idriskhenchil/Fort.js">
<img alt="GitHub last commit" src="https://img.shields.io/github/last-commit/idriskhenchil/Fort.js">

A modern progress bar for form completion. [Check out the demo!](https://idriskhenchil.com/fort)

![](https://idriskhenchil.com/fort/demo.gif)


## Getting Started

#### 1. Add JS file
```html
<script src="fort.min.js"></script>
```

#### 2. Create a form
```html
<form class="fort">
    <input type="text" placeholder="Name">
    <input type="email" placeholder="Email">
</form>
```

#### 3. Call Fort with your desired effect, target class, and color(s)
```javascript
Fort('.fort').solid("#6638F0");
```

**Ignoring fields:**

Add the `fort-ignore` class to a field to ignore it from counting towards the progress. 
```html
<input type="text" placeholder="Name" class="fort-ignore">
```
## Effects
* [Solid](https://idriskhenchil.com/fort) - `solid()`
* [Gradient](https://idriskhenchil.com/fort/gradient) - `gradient()`

**Changing the colors:**
* Solid - `Fort('.target').solid("#009DFF")` 


* Gradient - `Fort('.target').gradient("#009DFF", "#47B9FF")` Note: Only pass two color values.

## Contributing
Please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".

## License

This project is licensed under the MIT License - see the [LICENSE.md](LICENSE) file for details

## Acknowledgements

**Fort.js** is authored and maintained by [Idris Khenchil](https://www.twitter.com/idriskhenchil)