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
|
||||
}
|
||||
|
||||
/// 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 {
|
||||
Response::text("error for emphasis that i am angery and the query whimchst i angery atward")
|
||||
.with_status_code(404)
|
||||
|
@ -127,7 +135,7 @@ fn main() {
|
|||
rouille::log(&request, std::io::stderr(), || {
|
||||
let query = match Query::from_request(&request) {
|
||||
Some(q) => q,
|
||||
None => return fallback(),
|
||||
None => return index(),
|
||||
};
|
||||
|
||||
match dispatch(&queries, &query) {
|
||||
|
|
Loading…
Reference in a new issue