summaryrefslogtreecommitdiff
path: root/templates/search.html
diff options
context:
space:
mode:
authorAlif Radhitya <radhitya@noreply.codeberg.org>2026-06-25 17:53:21 +0200
committerAlif Radhitya <radhitya@noreply.codeberg.org>2026-06-25 17:53:21 +0200
commite2ef625c779dffd6a580c0aa8d1d57dcf7abd7eb (patch)
tree32c9da33a864c744fede28fe11654fc7bbd479bc /templates/search.html
parent829b4e3cf1e59732d0166cbd24d31c93c4095977 (diff)
parent85133d6dcaa7b02d67e243ce8df8324e46f4009f (diff)
Merge pull request 'farewell adieu rust' (#1) from exp into master
Reviewed-on: https://codeberg.org/radhitya/ahsi/pulls/1
Diffstat (limited to 'templates/search.html')
-rw-r--r--templates/search.html36
1 files changed, 36 insertions, 0 deletions
diff --git a/templates/search.html b/templates/search.html
new file mode 100644
index 0000000..b022c8d
--- /dev/null
+++ b/templates/search.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8">
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<title>Search — {{ site.title }}</title>
+<link rel="stylesheet" href="{{ site.url }}style.css">
+</head>
+<body>
+<header>
+ <h1><a href="/">{{ site.title }}</a></h1>
+ <nav><a href="/">home</a></nav>
+</header>
+<main>
+ <input type="search" id="q" placeholder="search posts..." autofocus>
+ <ul id="results" class="post-list"></ul>
+</main>
+<footer><p>{{ site.author }}</p></footer>
+<script>
+var idx = [];
+fetch("/search.json").then(function(r){return r.json()}).then(function(d){idx=d});
+document.getElementById("q").addEventListener("input", function(){
+ var q = this.value.toLowerCase().trim();
+ var html = "";
+ if (q.length < 2) { document.getElementById("results").innerHTML = ""; return; }
+ for (var i = 0; i < idx.length; i++) {
+ var p = idx[i];
+ if (p.title.toLowerCase().indexOf(q) >= 0 || p.text.toLowerCase().indexOf(q) >= 0) {
+ html += '<li><h2><a href="/' + p.slug + '/">' + p.title + '</a></h2><span class="meta">' + p.date + '</span></li>';
+ }
+ }
+ document.getElementById("results").innerHTML = html || "<li class='none'>no results</li>";
+});
+</script>
+</body>
+</html>