<commit_before># Pjax

<img align="right" src="https://dl.dropboxusercontent.com/u/14108185/memes/mind-blow.gif">

> Easily enable fast Ajax navigation on any website (using pushState +  xhr)

Pjax is ~~a jQuery plugin~~ **a standalone JavaScript module** that uses
ajax (XmlHttpRequest) and
[pushState()](https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Manipulating_the_browser_history)
to deliver a fast browsing experience.

_It allow you to completely transform user experience of standard websites
(server side generated or static ones) to make them feel they browse an app.
Especially for user that have low bandwidth connection._

**No more full page reload. No more lots of HTTP request.**

## No tests or Demo ?

There is still some work to make this repo sexy with tests & simple demo.

For now [you can see this running on my website](http://moox.io), with sexy CSS animations when switching pages.

## How Pjax works

Pjax loads page using ajax & updates the browser's current url using pushState without reloading your page's layout or any resources (js, css), giving a fast page load.
_But under the hood, it's just ONE http request with a pushState() call._
Obviously, for [browsers that don't support pushState()](http://caniuse.com/#search=pushstate) Pjax fully degrades (yeah, it doesn't do anything at all).

It simply works with all permalinks & can update all parts of the page you
want (including html metas, title, navigation state).<commit_msg>Add a note about WIP tests on testling branch<commit_after># Pjax

<img align="right" src="https://dl.dropboxusercontent.com/u/14108185/memes/mind-blow.gif">

> Easily enable fast Ajax navigation on any website (using pushState +  xhr)

Pjax is ~~a jQuery plugin~~ **a standalone JavaScript module** that uses
ajax (XmlHttpRequest) and
[pushState()](https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Manipulating_the_browser_history)
to deliver a fast browsing experience.

_It allow you to completely transform user experience of standard websites
(server side generated or static ones) to make them feel they browse an app.
Especially for user that have low bandwidth connection._

**No more full page reload. No more lots of HTTP request.**

## No tests or Demo ?

~~There is still some work to make this repo sexy with tests & simple demo.~~  
Actually there is a [WIP branch where I'm adding lot of tests](https://github.com/MoOx/pjax/tree/testling)

For now [you can see this running on my website](http://moox.io), with sexy CSS animations when switching pages.

## How Pjax works

Pjax loads page using ajax & updates the browser's current url using pushState without reloading your page's layout or any resources (js, css), giving a fast page load.
_But under the hood, it's just ONE http request with a pushState() call._
Obviously, for [browsers that don't support pushState()](http://caniuse.com/#search=pushstate) Pjax fully degrades (yeah, it doesn't do anything at all).

It simply works with all permalinks & can update all parts of the page you
want (including html metas, title, navigation state).
{'fraction_non_alphanumeric': 0.08475668707702223, 'fraction_numerical': 0.00515630035449565, 'mean_word_length': 4.726937269372693, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 7, 'https://': 5, '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': '4054631', 'n_tokens_mistral': 897, 'n_tokens_neox': 849, 'n_words': 413}