feat(atward): Add an index page with setup instructions
Adds an index page that is rendered when there is no query parameter in the URL. This means that going to at.tvl.fyi / atward.tvl.fyi yields an actually useful page. Change-Id: I018973a3c3e8b7b7167876fa99f34a008a17a4f2 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3104 Tested-by: BuildkiteCI Reviewed-by: flokli <flokli@flokli.de>
This commit is contained in:
parent
259cbfd0b2
commit
99d11bef5f
2 changed files with 84 additions and 1 deletions
75
web/atward/src/index.html
Normal file
75
web/atward/src/index.html
Normal file
|
@ -0,0 +1,75 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
<meta name="description" content="The Virus Lounge">
|
||||||
|
<link rel="stylesheet" type="text/css" href="https://tvl.fyi/static/tazjin.css" media="all">
|
||||||
|
<link rel="icon" type="image/webp" href="https://tvl.fyi/static/favicon.webp">
|
||||||
|
<title>TVL Search</title>
|
||||||
|
<body class="light">
|
||||||
|
<header>
|
||||||
|
<h1><a class="blog-title" href="/">atward</a></h1>
|
||||||
|
<hr/>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<b>atward</b> is <a href="https://tvl.fyi/">TVL's</a> search
|
||||||
|
service. It can be configured as a browser search engine for easy
|
||||||
|
access to TVL bugs, code reviews, code paths and more.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h3>Setting up atward</h3>
|
||||||
|
<p>
|
||||||
|
To configure atward, add a search engine to your browser with the
|
||||||
|
following search string:
|
||||||
|
<pre> https://at.tvl.fyi/?q=%s</pre>
|
||||||
|
Consider setting a shortcut, for example <b>t</b> or <b>tvl</b>.
|
||||||
|
You can now quickly access TVL resources by typing something
|
||||||
|
like <kbd>t b/42</kbd> in your URL bar to get to the bug with ID
|
||||||
|
42.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h3>Supported queries</h3>
|
||||||
|
<p>
|
||||||
|
The following query types are supported in atward:
|
||||||
|
<ul>
|
||||||
|
<li><kbd>b/42</kbd> - access bugs with ID 42</li>
|
||||||
|
<li><kbd>cl/3087</kbd> - access changelist with ID 3087</li>
|
||||||
|
<li><kbd>//web/atward</kbd> - open the <b>//web/atward</b> path in TVLs monorepo</li>
|
||||||
|
</ul>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h3>Configuration</h3>
|
||||||
|
<p>
|
||||||
|
Some behaviour of atward can be configured by adding query
|
||||||
|
parameters to the search string:
|
||||||
|
<ul>
|
||||||
|
<li><kbd>cs=true</kbd> - use Sourcegraph instead of cgit to view code</li>
|
||||||
|
</ul>
|
||||||
|
</p>
|
||||||
|
<p class="cheddar-callout cheddar-todo">
|
||||||
|
In <b>Firefox</b>, configuring query parameters is difficult as
|
||||||
|
users can not edit search engines directly. There are browser
|
||||||
|
extensions and other workarounds for this issue, but we do not
|
||||||
|
recommend any particular one.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h3>Source code</h3>
|
||||||
|
<p>
|
||||||
|
atward's source code lives
|
||||||
|
at <a href="https://atward.tvl.fyi/?q=%2F%2Fweb%2Fatward">//web/atward</a>.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<hr/>
|
||||||
|
<footer>
|
||||||
|
<p class="footer">
|
||||||
|
<a class="uncoloured-link" href="https://cs.tvl.fyi/depot/-/blob/README.md">code</a>
|
||||||
|
|
|
||||||
|
<a class="uncoloured-link" href="https://cl.tvl.fyi/">reviews</a>
|
||||||
|
|
|
||||||
|
<a class="uncoloured-link" href="https://b.tvl.fyi/">bugs</a>
|
||||||
|
|
|
||||||
|
<a class="uncoloured-link" href="https://todo.tvl.fyi/">todos</a>
|
||||||
|
</p>
|
||||||
|
<p class="lod">ಠ_ಠ</p>
|
||||||
|
</footer>
|
||||||
|
</body>
|
|
@ -113,6 +113,14 @@ fn dispatch(handlers: &[Handler], query: &Query) -> Option<String> {
|
||||||
None
|
None
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Render the atward index page which gives users some information
|
||||||
|
/// about how to use the service.
|
||||||
|
fn index() -> Response {
|
||||||
|
Response::html(include_str!("index.html"))
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Render the fallback page which informs users that their query is
|
||||||
|
/// unsupported.
|
||||||
fn fallback() -> Response {
|
fn fallback() -> Response {
|
||||||
Response::text("error for emphasis that i am angery and the query whimchst i angery atward")
|
Response::text("error for emphasis that i am angery and the query whimchst i angery atward")
|
||||||
.with_status_code(404)
|
.with_status_code(404)
|
||||||
|
@ -127,7 +135,7 @@ fn main() {
|
||||||
rouille::log(&request, std::io::stderr(), || {
|
rouille::log(&request, std::io::stderr(), || {
|
||||||
let query = match Query::from_request(&request) {
|
let query = match Query::from_request(&request) {
|
||||||
Some(q) => q,
|
Some(q) => q,
|
||||||
None => return fallback(),
|
None => return index(),
|
||||||
};
|
};
|
||||||
|
|
||||||
match dispatch(&queries, &query) {
|
match dispatch(&queries, &query) {
|
||||||
|
|
Loading…
Reference in a new issue