diff options
| author | Akshay Nair <phenax5@gmail.com> | 2026-03-21 23:00:24 +0530 |
|---|---|---|
| committer | Akshay Nair <phenax5@gmail.com> | 2026-03-21 23:00:24 +0530 |
| commit | cef61e5b571bdba43d8b81c253be505c897f4c4b (patch) | |
| tree | c1bc1d97a8561c5ade0d0b5aee07e5c01baa17a4 /services/omnisearch/templates | |
| parent | c5d02e0c371ca71a9a668bc15dfc63aaf5dc28f9 (diff) | |
| download | homeserver-nixos-config-cef61e5b571bdba43d8b81c253be505c897f4c4b.tar.gz homeserver-nixos-config-cef61e5b571bdba43d8b81c253be505c897f4c4b.zip | |
Omnisearch
Diffstat (limited to 'services/omnisearch/templates')
| -rw-r--r-- | services/omnisearch/templates/home.html | 33 | ||||
| -rw-r--r-- | services/omnisearch/templates/images.html | 104 | ||||
| -rw-r--r-- | services/omnisearch/templates/opensearch.xml | 11 | ||||
| -rw-r--r-- | services/omnisearch/templates/results.html | 134 |
4 files changed, 282 insertions, 0 deletions
diff --git a/services/omnisearch/templates/home.html b/services/omnisearch/templates/home.html new file mode 100644 index 0000000..0c2b528 --- /dev/null +++ b/services/omnisearch/templates/home.html @@ -0,0 +1,33 @@ +<!DOCTYPE html> +<html lang="en"> + +<head> + <meta charset="UTF-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=5.0"> + <title>OmniSearch</title> + <link rel="stylesheet" href="static/main.css"> + <link rel="icon" type="image/x-icon" href="/static/favicon.ico"> + <link rel="search" type="application/opensearchdescription+xml" title="OmniSearch" href="/opensearch.xml"> +</head> + +<body> + <div class="view-home"> + <div class="container"> + <h1 class="hero-logo"> + who<span>farted?</span> + </h1> + <form action="/search" class="home-search-form"> + <div class="search-input-wrapper"> + <input name="q" type="text" class="search-box" placeholder="Search the web..." autofocus autocomplete="off"> + </div> + <div class="buttons"> + <button type="submit" class="btn-primary"> + Search + </button> + </div> + </form> + </div> + </div> +</body> + +</html> diff --git a/services/omnisearch/templates/images.html b/services/omnisearch/templates/images.html new file mode 100644 index 0000000..3aaf1aa --- /dev/null +++ b/services/omnisearch/templates/images.html @@ -0,0 +1,104 @@ +<!DOCTYPE html> +<html lang="en"> + +<head> + <meta charset="UTF-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=5.0"> + <title>OmniSearch Images - {{query}}</title> + <link rel="icon" type="image/x-icon" href="/static/favicon.ico"> + <link rel="stylesheet" href="static/main.css"> +</head> + +<body class="images-view"> + <header> + <h1> + Omni<span>Search</span> + </h1> + <form action="/images" method="GET" class="search-form"> + <input name="q" autocomplete="off"="text" class="search-box" placeholder="Search for images..." value="{{query}}"> + </form> + </header> + <nav class="nav-tabs"> + <div class="nav-container"> + <a href="/search?q={{query}}"> + All + </a> + <a href="/images?q={{query}}" class="active"> + Images + </a> + </div> + </nav> + <main class="image-results-container"> + <div class="image-grid"> + {{for img in images}} + <div class="image-card"> + <div class="image-wrapper"> + <img src="{{img[0]}}" alt="{{img[1]}}" loading="lazy"> + <div class="image-overlay"> + <div class="overlay-buttons"> + <a href="{{img[3]}}" target="_blank" class="overlay-btn primary"> + View Image + </a> + <a href="{{img[2]}}" target="_blank" class="overlay-btn secondary"> + Visit Site + </a> + </div> + </div> + </div> + <div class="image-info"> + <span class="image-caption"> + {{img[1]}} + </span> + <span class="image-source"> + {{img[2]}} + </span> + </div> + </div> + {{endfor}} + </div> + <nav class="pagination"> + <a class="pagination-btn prev" href="/images?q={{query}}&p={{prev_page}}"> + ← + </a> + + {{if two_prev_page != 0}} + <a class="pagination-btn prev" href="/images?q={{query}}&p={{two_prev_page}}"> + {{two_prev_page}} + </a> + {{endif}} + + {{if prev_page != 0}} + <a class="pagination-btn prev" href="/images?q={{query}}&p={{prev_page}}"> + {{prev_page}} + </a> + {{endif}} + + <a class="pagination-current" href="/images?q={{query}}&p={{page}}"> + {{page}} + </a> + <a class="pagination-btn next" href="/images?q={{query}}&p={{next_page}}"> + {{next_page}} + </a> + <a class="pagination-btn next" href="/images?q={{query}}&p={{two_next_page}}"> + {{two_next_page}} + </a> + + {{if prev_page == 0}} + <a class="pagination-btn prev" href="/images?q={{query}}&p=4"> + 4 + </a> + {{endif}} + + {{if two_prev_page == 0}} + <a class="pagination-btn prev" href="/images?q={{query}}&p=5"> + 5 + </a> + {{endif}} + <a class="pagination-btn next" href="/images?q={{query}}&p={{next_page}}"> + → + </a> + </nav> + </main> +</body> + +</html> diff --git a/services/omnisearch/templates/opensearch.xml b/services/omnisearch/templates/opensearch.xml new file mode 100644 index 0000000..8544b09 --- /dev/null +++ b/services/omnisearch/templates/opensearch.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<OpenSearchDescription + xmlns="http://a9.com/-/spec/opensearch/1.1/" + xmlns:moz="http://www.mozilla.org/2006/browser/search/"> + <ShortName>OmniSearch</ShortName> + <Description>Lightweight metasearch engine</Description> + <Url type="text/html" method="get" template="{{domain}}/search?q={searchTerms}"/> + <InputEncoding>UTF-8</InputEncoding> + <OutputEncoding>UTF-8</OutputEncoding> + <moz:SearchForm>{{domain}}/</moz:SearchForm> +</OpenSearchDescription> diff --git a/services/omnisearch/templates/results.html b/services/omnisearch/templates/results.html new file mode 100644 index 0000000..846fdc6 --- /dev/null +++ b/services/omnisearch/templates/results.html @@ -0,0 +1,134 @@ +<!DOCTYPE html> +<html lang="en"> + +<head> + <meta charset="UTF-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=5.0"> + <title>OmniSearch - {{query}}</title> + <link rel="stylesheet" href="static/main.css"> + <link rel="icon" type="image/x-icon" href="/static/favicon.ico"> + <link rel="search" type="application/opensearchdescription+xml" title="OmniSearch" href="/opensearch.xml"> +</head> + +<body class="results-view"> + <header> + <form action="/search" method="GET" class="search-form"> + <input name="q" type="text" class="search-box" autocomplete="off" placeholder="Search the web..." value="{{query}}"> + </form> + </header> + <nav class="nav-tabs"> + <div class="nav-container"> + <a href="/search?q={{query}}" class="active"> + All + </a> + <a href="/images?q={{query}}"> + Images + </a> + </div> + </nav> + <div class="content-layout"> + <aside class="sidebar-spacer"> + </aside> + <main class="results-container"> + {{if exists engine_warnings}} + <section class="engine-warning-list"> + {{for warning in engine_warnings}} + <article class="engine-warning"> + <strong class="engine-warning-title"> + {{warning[0]}} + </strong> + <p class="engine-warning-copy"> + {{warning[1]}} + </p> + </article> + {{endfor}} + </section> + {{endif}} + + {{for result in results}} + <div class="result"> + <span class="url"> + {{result[1]}} + </span> + <a href="{{result[0]}}"> + {{result[2]}} + </a> + <p class="desc"> + {{result[3]}} + </p> + <span> + <a class="cached" href="https://web.archive.org/web/{{result[0]|safe}}">View Cached</a> + </span> + </div> + {{endfor}} + + <nav class="pagination"> + <a class="pagination-btn prev" href="/search?q={{query}}&p={{prev_page}}"> + ← + </a> + + {{if two_prev_page != 0}} + <a class="pagination-btn prev" href="/search?q={{query}}&p={{two_prev_page}}"> + {{two_prev_page}} + </a> + {{endif}} + + {{if prev_page != 0}} + <a class="pagination-btn prev" href="/search?q={{query}}&p={{prev_page}}"> + {{prev_page}} + </a> + {{endif}} + + <a class="pagination-current" href="/search?q={{query}}&p={{page}}"> + {{page}} + </a> + <a class="pagination-btn next" href="/search?q={{query}}&p={{next_page}}"> + {{next_page}} + </a> + <a class="pagination-btn next" href="/search?q={{query}}&p={{two_next_page}}"> + {{two_next_page}} + </a> + + {{if prev_page == 0}} + <a class="pagination-btn prev" href="/search?q={{query}}&p=4"> + 4 + </a> + {{endif}} + + {{if two_prev_page == 0}} + <a class="pagination-btn prev" href="/search?q={{query}}&p=5"> + 5 + </a> + {{endif}} + <a class="pagination-btn next" href="/search?q={{query}}&p={{next_page}}"> + → + </a> + </nav> + </main> + <aside class="infobox-sidebar"> + {{if exists infoboxes}} + {{for info in infoboxes}} + <section class="infobox"> + <div class="infobox-header"> + <h2 class="infobox-title"> + {{info[0]}} + </h2> + </div> + <div class="infobox-main"> + <img src="{{info[1]}}" alt="{{info[0]}}" class="infobox-image"> + <div class="infobox-content"> + <p class="infobox-summary"> + {{info[2]|safe}} + </p> + <a class="read-more" href="{{info[3]}}"> + Read More + </a> + </div> + </div> + </section> + {{endfor}} + {{endif}} + </aside> + </div> +</body> +</html> |
