<commit_before>akop
====

AKOP (Angular Kit Of Parts) is intended to be a set of directives and other useful bits that can be selectively
integrated into your angular projects.

# Usage

To use simply drop lib/akop.js or lib/akop.min.js into your projects javascript directory and include it however you
include other javascript files.

For specifics about usage of individual modules please see the demo implementations in the demo directory. If you have questions
please feel free to create an issue here. I'll do my best to answer in a timely maner.

# To Contribute

Contributions are welcome, and greatly appreciated. AKOP modules are written in CoffeScript and uses Cake to build the
javascript and jasmine spec suite. The following steps assume you have CoffeeScript installed.

## Run the tests

To build and run the specs simply run this command from the root directory of the project.

```cake spec```

It will compile all of the source code and specs and open SpecRunner.html in a browser. If you have run the specs before
you may need to reload the page to make sure you're not getting cached files.

## Adding new files

Currently the Cakefile is explicitly defining all of the included files. You will need to add any new source and spec files
to the ```appFiles``` and ```specFiles``` arrays, respectively. (I'm planning to make the build process smarter in the future.)

# Modules

## Directives

### MultiSelect

MultiSelect provides the familiar file-system style hotkey selection strategy. See [demo/multi-select](https://github.com/jamesBrennan/akop/blob/master/demo/multi-select.html) for a
basic implementation.

## Filters

### QueryFilter

The Query filter provides an enhanced interface for filtering collections. See [demo/query-filter](https://github.com/jamesBrennan/akop/blob/master/demo/query-filter.html).<commit_msg>update demo links to use github relative path markdown<commit_after>akop
====

AKOP (Angular Kit Of Parts) is intended to be a set of directives and other useful bits that can be selectively
integrated into your angular projects.

# Usage

To use simply drop lib/akop.js or lib/akop.min.js into your projects javascript directory and include it however you
include other javascript files.

For specifics about usage of individual modules please see the demo implementations in the demo directory. If you have questions
please feel free to create an issue here. I'll do my best to answer in a timely maner.

# To Contribute

Contributions are welcome, and greatly appreciated. AKOP modules are written in CoffeScript and uses Cake to build the
javascript and jasmine spec suite. The following steps assume you have CoffeeScript installed.

## Run the tests

To build and run the specs simply run this command from the root directory of the project.

```cake spec```

It will compile all of the source code and specs and open SpecRunner.html in a browser. If you have run the specs before
you may need to reload the page to make sure you're not getting cached files.

## Adding new files

Currently the Cakefile is explicitly defining all of the included files. You will need to add any new source and spec files
to the ```appFiles``` and ```specFiles``` arrays, respectively. (I'm planning to make the build process smarter in the future.)

# Modules

## Directives

### MultiSelect

MultiSelect provides the familiar file-system style hotkey selection strategy. See [demo/multi-select](demo/multi-select.html) for a
basic implementation.

## Filters

### QueryFilter

The Query filter provides an enhanced interface for filtering collections. See [demo/query-filter](demo/query-filter.html).
{'fraction_non_alphanumeric': 0.056608958505083816, 'fraction_numerical': 0.0, 'mean_word_length': 4.506807866868381, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, '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': '4165269', 'n_tokens_mistral': 949, 'n_tokens_neox': 883, 'n_words': 517}