<commit_before><a href="http://espresso.github.com/">
<img src="http://espresso.github.com/images/logo.png" align="right" /></a>

# [Espresso](http://espresso.github.com)

**Scalable Web Framework aimed at Speed and Simplicity**
<p>
<a href="https://travis-ci.org/espresso/espresso">
<img src="https://travis-ci.org/espresso/espresso.png"></a>
</p>

Quick Start
---

**Ready**

```bash
$ [sudo] gem install e
```

or add `gem 'e'` in `Gemfile`

**Set**

```ruby
require 'e' # or Bundler.require

class App < E
  map '/'

  def index
    "Hello Espresso World!"
  end
end
```

**Go!**

```ruby
App.run
```

# Tutorial

### Intro

[Actions](https://github.com/espresso/espresso/blob/master/docs/Intro.md#actions) |
[Controllers](https://github.com/espresso/espresso/blob/master/docs/Intro.md#controllers) |
[Slices](https://github.com/espresso/espresso/blob/master/docs/Intro.md#slices) |
[MVC?](https://github.com/espresso/espresso/blob/master/docs/Intro.md#mvc) |
[Models?](https://github.com/espresso/espresso/blob/master/docs/Intro.md#models)

### Routing

[Base URL](https://github.com/espresso/espresso/blob/master/docs/Routing.md#base-url) |
[Canonicals](https://github.com/espresso/espresso/blob/master/docs/Routing.md#canonicals) |
[Actions](https://github.com/espresso/espresso/blob/master/docs/Routing.md#actions) |
[Action Mapping](https://github.com/espresso/espresso/blob/master/docs/Routing.md#action-mapping) |<commit_msg>README [ci skip]<commit_after><a href="http://espresso.github.com/">
<img src="http://espresso.github.com/images/logo.png" align="right" /></a>

# [Espresso](http://espresso.github.com)

**Scalable Web Framework aimed at Speed and Simplicity**
<p>
<a href="https://travis-ci.org/espresso/espresso">
<img src="https://travis-ci.org/espresso/espresso.png"></a>
</p>

## Install

```bash
$ [sudo] gem install e
```

or update `Gemfile` by adding:

```ruby
gem 'e'
```

## Quick Start

### One-file App:

```ruby
require 'e' # or Bundler.require

class App < E
  map '/'

  def index
    "Hello Espresso World!"
  end
end

App.run
```

### Full-fledged app using [Enginery](https://github.com/espresso/enginery)

```bash
$ enginery g
$ enginery g:c App route:/
$ ruby app.rb
```

# Tutorial

### Intro

[Actions](https://github.com/espresso/espresso/blob/master/docs/Intro.md#actions) |
[Controllers](https://github.com/espresso/espresso/blob/master/docs/Intro.md#controllers) |
[Slices](https://github.com/espresso/espresso/blob/master/docs/Intro.md#slices) |
[MVC?](https://github.com/espresso/espresso/blob/master/docs/Intro.md#mvc) |
[Models?](https://github.com/espresso/espresso/blob/master/docs/Intro.md#models)

### Routing

[Base URL](https://github.com/espresso/espresso/blob/master/docs/Routing.md#base-url) |
[Canonicals](https://github.com/espresso/espresso/blob/master/docs/Routing.md#canonicals) |
[Actions](https://github.com/espresso/espresso/blob/master/docs/Routing.md#actions) |
[Action Mapping](https://github.com/espresso/espresso/blob/master/docs/Routing.md#action-mapping) |
{'fraction_non_alphanumeric': 0.2042904290429043, 'fraction_numerical': 0.0, 'mean_word_length': 4.784351145038168, 'pattern_counts': {'":': 0, '<': 21, '<?xml version=': 0, '>': 19, 'https://': 23, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1100619', 'n_tokens_mistral': 1221, 'n_tokens_neox': 1201, 'n_words': 154}