Rocket/examples/todo/static/index.html.tera
Sergio Benitez 9b955747e4 Remove config global state. Use Responder::respond_to.
This commit includes two major changes to core:

  1. Configuration state is no longer global. The `config::active()`
     function has been removed. The active configuration can be
     retrieved via the `config` method on a `Rocket` instance.

  2. The `Responder` trait has changed. `Responder::respond(self)` has
     been removed in favor of `Responder::respond_to(self, &Request)`.
     This allows responders to dynamically adjust their response based
     on the incoming request.

Additionally, it includes the following changes to core and codegen:

  * The `Request::guard` method was added to allow for simple
    retrivial of request guards.
  * The `Request::limits` method was added to retrieve configured
    limits.
  * The `File` `Responder` implementation now uses a fixed size body
    instead of a chunked body.
  * The `Outcome::of<R: Responder>(R)` method was removed while
    `Outcome::from<R: Responder(&Request, R)` was added.
  * The unmounted and unmanaged limits are more cautious: they will only
    emit warnings when the `Rocket` receiver is known.

This commit includes one major change to contrib:

  1. To use contrib's templating, the fairing returned by
     `Template::fairing()` must be attached to the running Rocket
     instance.

Additionally, the `Display` implementation of `Template` was removed. To
directly render a template to a `String`, the new `Template::show`
method can be used.
2017-05-19 03:29:08 -07:00

70 lines
2.4 KiB
Plaintext

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Rocket Todo Example</title>
<meta name="description" content="A todo application written in Rocket.">
<meta name="author" content="Sergio Benitez">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="//fonts.googleapis.com/css?family=Raleway:400,300,600" rel="stylesheet" type="text/css">
<link rel="stylesheet" href="/css/normalize.css">
<link rel="stylesheet" href="/css/skeleton.css">
<link rel="stylesheet" href="/css/style.css">
<link rel="icon" type="image/png" href="/images/favicon.png">
</head>
<body>
<div class="container">
<p><!--Nothing to see here --></p>
<div class="row">
<h4>Rocket Todo</h4>
<form action="/todo" method="post">
<div class="ten columns">
<input type="text" placeholder="enter a task description..."
name="description" id="description" value="" autofocus
class="u-full-width {% if msg %}field-{{msg.0}}{% endif %}" />
{% if msg %}
<small class="field-{{msg.0}}-msg">
{{ msg.1 }}
</small>
{% endif %}
</div>
<div class="two columns">
<input type="submit" value="add task">
</div>
</form>
</div>
<div class="row">
<div class="twelve columns">
<ul>
{% for task in tasks %}
{% if task.completed %}
<li>
<span class="completed">{{ task.description }}</span>
<form class="inline" action="/todo/{{task.id}}" method="post">
<input type="hidden" name="_method" value="put" />
<button class="small" type="submit">undo</button>
</form>
<form class="inline" action="/todo/{{task.id}}" method="post">
<input type="hidden" name="_method" value="delete" />
<button class="primary small" type="submit">delete</button>
</form>
</li>
{% else %}
<li>
<form class="link" action="/todo/{{task.id}}" method="post">
<input type="hidden" name="_method" value="put" />
<button class="link" type="submit">{{ task.description }}</button>
</form>
</li>
{% endif %}
{% endfor %}
</ul>
</div>
</div>
</div>
</body>
</html>