diff options
author | sterni <sternenseemann@systemli.org> | 2021-05-12T14·00+0200 |
---|---|---|
committer | sterni <sternenseemann@systemli.org> | 2021-05-12T15·36+0000 |
commit | 040416b3eb6525af6dcd8fb3ae813a2e3e9006c9 (patch) | |
tree | 6607ee4592c00cde5d33a3b11c17d29a63da4e4e /web/atward/src | |
parent | a989a91f9f13950f50a12c1374bbdccb42cac8c8 (diff) |
refactor(web): common template for index pages of tvl and atward r/2585
Use simple string interpolation based approach to templating and allow changing the main body, the title and to inject extra HTML into the head element. Additionally we can use `https://tvl.fyi/` instead of `/` when referring to assets. One limitation currently is that the template only works for index pages (it link to self using `href="/"`), but this should be easy to fix. For atward, instead of using the `onload` attribute of `body`, we now register an event listener in JavaScript which makes the template code less complicated. When building the derivation the template is rendered to HTML and injected into the source. Change-Id: I2ea0c5bf5f6286e781285ade7751a348bab3bdc8 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3112 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
Diffstat (limited to 'web/atward/src')
-rw-r--r-- | web/atward/src/index.html | 113 | ||||
-rw-r--r-- | web/atward/src/main.rs | 2 |
2 files changed, 1 insertions, 114 deletions
diff --git a/web/atward/src/index.html b/web/atward/src/index.html deleted file mode 100644 index a62d168bda0e..000000000000 --- a/web/atward/src/index.html +++ /dev/null @@ -1,113 +0,0 @@ -<!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"> -<link rel="search" type="application/opensearchdescription+xml" title="TVL Search" href="https://at.tvl.fyi/opensearch.xml"> -<title>TVL Search</title> -<script> - /* Initialise the state of all settings. */ - function loadSettings() { - loadSetting(document.getElementById('cs-setting'), 'cs'); - } - - /* Initialise the state of a setting from a cookie. */ - function loadSetting(checkbox, name) { - if (document.cookie.split(';').some(function(cookie) { - return cookie.indexOf(`${name}=true`) >= 0; - })) { - checkbox.checked = true; - } - } - - /* Persist the state of a checkbox in a cookie */ - function saveSetting(checkbox, name) { - console.log(`setting atward parameter '${name}' to ${checkbox.checked.toString()}`); - document.cookie = `${name}=${checkbox.checked.toString()};`; - } -</script> -<body class="light" onload="loadSettings();"> - <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> - In some browsers (like Firefox) users can not edit query - parameters for search engines. As an alternative configuration can - be supplied via cookies with the same names as the configuration - parameters. - </p> - <p> - The form below can set this configuration: - <form class="cheddar-callout cheddar-todo"> - <input type="checkbox" - id="cs-setting" - onchange="saveSetting(this, 'cs');" - > Use Sourcegraph instead of cgit</input> - </form> - </p> - <noscript> - <p class="cheddar-callout cheddar-warning"> - The form above only works with Javascript enabled. Only a few - lines of Javascript are used, and they are licensed under a - free-software license (MIT). - </p> - </noscript> - - <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 b29877c6c00e..7d6ded16e459 100644 --- a/web/atward/src/main.rs +++ b/web/atward/src/main.rs @@ -144,7 +144,7 @@ fn opensearch() -> Response { /// 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")) + Response::html(include_str!(env!("ATWARD_INDEX_HTML"))) } /// Render the fallback page which informs users that their query is |