<commit_before>!http://img411.imageshack.us/img411/2851/scribelogo.png!

h2. Welcome to the home of Scribe, the simple OAuth Java lib!

h1. Why use Scribe?

h3. Dead Simple 

Who said OAuth was difficult? Configuring scribe is __so easy your grandma can do it__! check it out:

@OAuthService service = new ServiceBuilder()@
                                  @.provider(LinkedInApi.class)@
                                  @.apiKey(YOUR_API_KEY)@
                                  @.apiSecret(YOUR_API_SECRET)@
                                  @.build();@
                                  
That **single line** (added newlines for readability) is the only thing you need to configure scribe with LinkedIn's OAuth API for example.

h3. Threadsafe

Hit Scribe as hard and with many threads as you like.

h3. Supports all major OAuth APIs out-of-the-box

* Google

* Yahoo

* LinkedIn

* Twitter

* Foursquare

* Evernote

* Vimeo

* Yammer

* and many more! check the "examples folder":http://github.com/fernandezpablo85/scribe-java/tree/master/src/test/java/org/scribe/examples

h3. Small and modular

Scribe's code is small (about 1k LOC) and simple to understand. No smart-ass or "clever" hacks here.

h3. Android-Ready

Works out of the box with android(TM) applications.

h3. Stable & bulletproof

Good test coverage to keep you safe from harm. 

When something bad actually happens, Scribe's meaningful error messages will tell you exactly what went wrong, when and where.
<commit_msg>Added facebook and 2.0 info on readme<commit_after>!http://img411.imageshack.us/img411/2851/scribelogo.png!

h2. Welcome to the home of Scribe, the simple OAuth Java lib!

h1. Why use Scribe?

h3. Dead Simple 

Who said OAuth was difficult? Configuring scribe is __so easy your grandma can do it__! check it out:

@OAuthService service = new ServiceBuilder()@
                                  @.provider(LinkedInApi.class)@
                                  @.apiKey(YOUR_API_KEY)@
                                  @.apiSecret(YOUR_API_SECRET)@
                                  @.build();@
                                  
That **single line** (added newlines for readability) is the only thing you need to configure scribe with LinkedIn's OAuth API for example.

h3. Threadsafe

Hit Scribe as hard and with many threads as you like.

h3. Supports all major 1.0a and 2.0 OAuth APIs out-of-the-box

* Google

* Facebook

* Yahoo

* LinkedIn

* Twitter

* Foursquare

* Evernote

* Vimeo

* Yammer

* and many more! check the "examples folder":http://github.com/fernandezpablo85/scribe-java/tree/master/src/test/java/org/scribe/examples

h3. Small and modular

Scribe's code is small (about 1k LOC) and simple to understand. No smart-ass or "clever" hacks here.

h3. Android-Ready

Works out of the box with android(TM) applications.

h3. Stable & bulletproof

Good test coverage to keep you safe from harm. 

When something bad actually happens, Scribe's meaningful error messages will tell you exactly what went wrong, when and where.

{'fraction_non_alphanumeric': 0.07588254701418674, 'fraction_numerical': 0.01583635763774332, 'mean_word_length': 2.542056074766355, 'pattern_counts': {'":': 2, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 9, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2302960', 'n_tokens_mistral': 962, 'n_tokens_neox': 897, 'n_words': 340}