E4OBIIUBGNDXK577XK573TLN4DYLS32GJGXY6J7TOWFHESTEZZNAC
RJ75MX6YMJSXYKW2YK6ZJNG2SQMPCPKICMESMC4ZD4EB2SCVJ2KAC
5UNA2DEALCSRBINR27KSA6OMD6GQAXHYZ35ICQ7NB62G2XP4FT5QC
KFVJ3KMWXEGILN4NWIWPPX7AU65M4H4UEAUIAQL2QSXOW3B5RFGQC
K4JNAJOFEJLHHWP6YSCC2U3CNK3ZPPX6EMBAVQG4VRPZWZRXMPCQC
W3M3C7CCWHJWRWHULDWO45D3OFD4NL3V4OTJVIJCYRQG57Z2JTWQC
3E77DEMDLYBFJEGS2SLQKLQJQIXG2Y4TBDHAG3UKFLMKQ53CFOKQC
F5DMFQAO2IVQXQQ36Z5FRW5WNXKNTY2NAWMRR3VXIOWTPJ5UUDVAC
{% extends "base" %}
{% block body %}
<div style="width:50%;" class="container-fluid">
<form action="./sign_in" method="post">
<div class="mb-3 row">
<label for="user_name" class="col-sm-2 col-form-label">Username</label>
<div class="col-sm-10">
<input type="text" class="form-control" name="user_name" required>
</div>
</div>
<div class="mb-3 row">
<label for="password" class="col-sm-2 col-form-label">Password </label>
<div class="col-sm-10">
<input type="password" class="form-control" name="password" required>
</div>
</div>
<button class="btn btn-primary" type="submit">Sign in</button>
</form>
</div>
{% endblock body %}
{% extends "base" %}
{% block body %}
<div style="width:30%;" class="container-fluid">
<form action="/users" method="post">
<div class="mb-3 row">
<label for="user_name" class="col-sm-2 col-form-label">Username</label>
<div class="col-sm-10">
<input type="text" class="form-control" name="user_name" required>
</div>
</div>
<div class="mb-3 row">
<label for="email" class="col-sm-2 col-form-label">Email</label>
<div class="col-sm-10">
<input type="email" class="form-control" name="email" required>
</div>
</div>
<div class="mb-3 row">
<label for="password" class="col-sm-2 col-form-label">Password </label>
<div class="col-sm-10">
<input type="password" class="form-control" name="password" required>
</div>
</div>
<button class="btn btn-primary" type="submit">Sign up</button>
</form>
</div>
{% endblock body %}
{% extends "base" %}
{% block body %}
<div style="width:50%;" class="container-fluid">
<form action="./sign_in" method="post">
<div class="mb-3 row">
<label for="user_name" class="col-sm-2 col-form-label">Username</label>
<div class="col-sm-10">
<input type="text" class="form-control" name="user_name" required>
</div>
</div>
<div class="mb-3 row">
<label for="password" class="col-sm-2 col-form-label">Password </label>
<div class="col-sm-10">
<input type="password" class="form-control" name="password" required>
</div>
</div>
<button class="btn btn-primary" type="submit">Sign in</button>
</form>
</div>
{% endblock body %}
{% extends "base" %}
{% block body %}
<div style="width:30%;" class="container-fluid">
<form action="/users" method="post">
<div class="mb-3 row">
<label for="user_name" class="col-sm-2 col-form-label">Username</label>
<div class="col-sm-10">
<input type="text" class="form-control" name="user_name" required>
</div>
</div>
<div class="mb-3 row">
<label for="email" class="col-sm-2 col-form-label">Email</label>
<div class="col-sm-10">
<input type="email" class="form-control" name="email" required>
</div>
</div>
<div class="mb-3 row">
<label for="password" class="col-sm-2 col-form-label">Password </label>
<div class="col-sm-10">
<input type="password" class="form-control" name="password" required>
</div>
</div>
<button class="btn btn-primary" type="submit">Sign up</button>
</form>
</div>
{% endblock body %}
<p>Hello world!</p>
<div class="px-4 py-5 my-5 text-center">
<!--- <img class="d-block mx-auto mb-4" src="/docs/5.1/assets/brand/bootstrap-logo.svg" alt="" width="72" height="57"> ---!>
<h1 class="display-5 fw-bold">Nidobyte</h1>
<div class="col-lg-6 mx-auto">
<p class="lead mb-4">Open source hosting for Pijul repositories to collaborate on code. </p>
<div class="d-grid gap-2 d-sm-flex justify-content-sm-center">
<a class="btn btn-primary btn-lg ps-4 gap-3" href="/users/sign_up" role="button">Sign up</a>
<a class="btn btn-outline-secondary btn-lg px-4" href="/projects/explore">Projects</a>
</div>
</div>
</div>
}
/// this macro is lifted from the upstream unreleased code.
#[macro_export]
macro_rules! context {
($($key:ident $(: $value:expr)?),*$(,)?) => {{
use rocket::serde::ser::{Serialize, Serializer, SerializeMap};
use ::std::fmt::{Debug, Formatter};
#[allow(non_camel_case_types)]
struct ContextMacroCtxObject<$($key: Serialize),*> {
$($key: $key),*
}
#[allow(non_camel_case_types)]
impl<$($key: Serialize),*> Serialize for ContextMacroCtxObject<$($key),*> {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,
{
let mut map = serializer.serialize_map(None)?;
$(map.serialize_entry(stringify!($key), &self.$key)?;)*
map.end()
}
}
#[allow(non_camel_case_types)]
impl<$($key: Debug + Serialize),*> Debug for ContextMacroCtxObject<$($key),*> {
fn fmt(&self, f: &mut Formatter<'_>) -> ::std::fmt::Result {
f.debug_struct("context!")
$(.field(stringify!($key), &self.$key))*
.finish()
}
}
ContextMacroCtxObject {
$($key $(: $value)?),*
}
}};