about summary refs log tree commit diff
path: root/web/atward
diff options
context:
space:
mode:
authorVincent Ambo <mail@tazj.in>2021-05-11T14·46+0200
committertazjin <mail@tazj.in>2021-05-11T22·45+0000
commit99d11bef5fd32aa5dfb3b091fea3e6b15fc6ac26 (patch)
tree6f61a3b30f0da06b64e8924e6bad4a2a1e176fe6 /web/atward
parent259cbfd0b271990639b0a02d83453acc0c18da1c (diff)
feat(atward): Add an index page with setup instructions r/2578
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>
Diffstat (limited to 'web/atward')
-rw-r--r--web/atward/src/index.html75
-rw-r--r--web/atward/src/main.rs10
2 files changed, 84 insertions, 1 deletions
diff --git a/web/atward/src/index.html b/web/atward/src/index.html
new file mode 100644
index 000000000000..c9a7c494e97b
--- /dev/null
+++ b/web/atward/src/index.html
@@ -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>
diff --git a/web/atward/src/main.rs b/web/atward/src/main.rs
index 49e23dde7bc9..44ab4d29c24b 100644
--- a/web/atward/src/main.rs
+++ b/web/atward/src/main.rs
@@ -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) {