tablesort
---
A small & simple sorting component for tables written in JavaScript
[](https://app.travis-ci.com/tripu/tablesort)
[](https://npmjs.org/package/tablesort)
### Quick start
``` html
```
**[See usage and demos for more](http://tristen.ca/tablesort/demo/)**
---
### Browser Support
|
|
|
|
|
|
|:---:|:---:|:---:|:---:|:---:|
| 8+ ✔ | 3.6+ ✔ | 10+ ✔ | 11.50+ ✔ | 5.1+ ✔ |
### Node/Browserify
``` js
import tablesort from 'tablesort';
tablesort(el, options);
```
### Default CSS
Add the styling from [tablesort.css](tablesort.css) file to your CSS or roll with your own.
### Extending Tablesort
If you require a sort operation that does not exist
in the [sorts](https://github.com/tristen/tablesort/tree/gh-pages/src/sorts/)
directory, you can add your own.
``` js
Tablesort.extend('name', item => {
// Regular expression to test against.
// `item` is a table value to evaluate.
return /foo/.test(item);
}, (a, b) => {
// Custom sort functionality goes here.
// e.g var n = (a > b) ? -1 : 1;
return n;
});
```
If you've made an extend function that others would benefit from pull requests
are gladly accepted!
### Contributing
Tablesort relies on [Grunt](http://gruntjs.com) as its build tool. Simply run
`npm run build` to package code from any contributions you make to `src/tablesort.js`
before submitting pull requests.
Tests are run via:
```sh
npm test
```
Running the demo locally
```sh
jekyll serve
```
Then open http://localhost:4000/demo/ (or whatever port it uses).
### Licence
MIT
### Bugs?
[Create an issue](https://github.com/tristen/tablesort/issues)