1
0
Fork 0
mirror of https://git.sr.ht/~seirdy/seirdy.one synced 2024-09-19 11:52:11 +00:00

Display search results on my own site

Use the SearchMySite API to gather results and render them in HTML on my
own site. I'll open-source the Go program that generates the results
soon.
This commit is contained in:
Rohan Kumar 2022-06-09 08:44:55 -07:00
parent b42212f158
commit 5f48ca7bbe
No known key found for this signature in database
GPG key ID: 1E892DB2A5F84479
5 changed files with 47 additions and 4 deletions

7
content/search.md Normal file
View file

@ -0,0 +1,7 @@
---
outputs:
- html
title: Search
description: "Search seirdy.one."
layout: "search"
---

1
dynamic/README.txt Normal file
View file

@ -0,0 +1 @@
Files in this directory represent dynamic pages, containing raw templates to be populated on the server side

View file

@ -0,0 +1,28 @@
<p>
{{ .TotalResults }} results
</p>
<ol>
{{- range .Results }}
<li>
<a href="{{ .URL }}">
<h2>
{{ if .Title -}}
{{- .Title }}
{{ else -}}
{{- .URL }}
{{- end }}
</h2>
</a>
<p>{{ printf "%.200s" .Desc }}</p>
<p>
{{ $isMatch := false }}
{{ range .Frag }}
{{ if $isMatch }}<strong>{{ end -}}
{{ printf . }}
{{- if $isMatch }}</strong>{{ end }}
{{ $isMatch = (not $isMatch) }}
{{ end }}
</p>
</li>
{{- end }}
</ol>

View file

@ -0,0 +1,8 @@
{{ define "main" -}}
{{- $canonicalRelPermalink := .RelPermalink | replaceRE "^/~seirdy/" "/" }}
<main itemprop="mainEntity" itemscope="" itemtype="https://schema.org/SearchResultsPage" itemid="{{ .Site.Params.CanonicalBaseURL }}{{ $canonicalRelPermalink }}">
{{ partial "search.html" . }}
<hr />
{{ readFile "/dynamic/search-results.html" | safeHTML }}
</main>
{{ end }}

View file

@ -1,12 +1,11 @@
<form
itemprop="potentialAction" itemscope="" itemtype="https://schema.org/SearchAction"
action="https://searchmysite.net/search/" method="get" role="search">
action="https://seirdy.one/search/" method="get" role="search">
<label for="search">
Search this site (powered by <a rel="nofollow" href="https://searchmysite.net/">Search My Site</a>):
Search this site (powered by the <a rel="nofollow" href="https://searchmysite.net/">Search My Site</a> API):
</label>
<div><!--We need the extra divs to serve as pseudo-table-cells.-->
<input id="search" type="search" itemprop="query"
value="domain:seirdy.one " name="q" spellcheck="true" />
<input id="search" type="search" itemprop="query" name="q" spellcheck="true" />
<div><input type="submit" value="search" /></div>
</div>
</form>