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

Compare commits

..

8 commits

Author SHA1 Message Date
Rohan Kumar
916b089a4f
Various fixes for hidden service
- Formatting fix for indieweb icon
- Support searching directly on hidden service
2022-06-09 21:24:13 -07:00
Rohan Kumar
2bae1cb224
Add native search to hidden service 2022-06-09 20:47:21 -07:00
Rohan Kumar
7eda7a9b9d
Link combined atom feed on homepage 2022-06-09 17:53:41 -07:00
Rohan Kumar
cbee1c3a52
Another whitespace fix 2022-06-09 16:32:43 -07:00
Rohan Kumar
470a8772b9
fix bad <time> format 2022-06-08 18:25:24 -07:00
Rohan Kumar
a4bcf9c4dd
Re-add support for <samp> in markdown 2022-06-08 18:17:33 -07:00
Rohan Kumar
ae0661bb7a
Typos, missing "required" attribute 2022-06-08 18:15:17 -07:00
Rohan Kumar
dda031b9db
Update privay policy to reflect search integration 2022-06-08 18:12:20 -07:00
10 changed files with 49 additions and 21 deletions

View file

@ -18,15 +18,17 @@ Seirdys Home
I'm <a itemprop="url" href="https://seirdy.one" rel="author me home canonical" class="u-url u-uid url"> {{% indieweb-icon %}} <span itemprop="name" class="p-name fn n"> <span itemprop="givenName" class="p-given-name given-name">Rohan</span>&#160;<span itemprop="familyName" class="p-family-name family-name">Kumar</span></span></a> (He/Him). I'm also known by my more casual online handle <span itemprop="alternateName" class="p-nickname nickname">Seirdy</span> (It/Its). Mixing them up is fine. I'm <a itemprop="url" href="https://seirdy.one" rel="author me home canonical" class="u-url u-uid url"> {{% indieweb-icon %}} <span itemprop="name" class="p-name fn n"> <span itemprop="givenName" class="p-given-name given-name">Rohan</span>&#160;<span itemprop="familyName" class="p-family-name family-name">Kumar</span></span></a> (He/Him). I'm also known by my more casual online handle <span itemprop="alternateName" class="p-nickname nickname">Seirdy</span> (It/Its). Mixing them up is fine.
Other versions of this website About this site
------------------------------ ---------------
In addition to its [canonical url](https://seirdy.one), a "rough draft" of this website also exists on my [Tildeverse page](https://envs.net/~seirdy/ "{itemprop='sameAs' class='u-url' rel='me'}"). This site's content also appears on my [Gemini capsule](gemini://seirdy.one "{itemprop='sameAs' class='u-syndication' rel='me'}"). In addition to its [canonical url](https://seirdy.one), a "rough draft" of this website also exists on my [Tildeverse page](https://envs.net/~seirdy/ "{itemprop='sameAs' class='u-url' rel='me'}"). This site's content also appears on my [Gemini capsule](gemini://seirdy.one "{itemprop='sameAs' class='u-syndication' rel='me'}").
This is a basic [IndieWeb site](https://indieweb.org/) that contains articles, notes, and bookmarks. You can subscribe to a combined feed of my articles and notes using [the site's Atom feed](./atom.xml), or you can subscribe to sections independently.
About me About me
-------- --------
The Director's Cut of my bio is at my [About page](/about.html "itemprop='subjectOf'"). The Director's Cut of my bio is at my [About page](/about.html "{itemprop='subjectOf'}").
<div class="p-note" itemprop="description"> <div class="p-note" itemprop="description">

View file

@ -74,7 +74,7 @@ PGP public key
Chat Chat
: IRC: "Seirdy" on many networks (Liberachat, Snoonet, OFTC, Tilde.Chat, apionet, some others) : IRC: "Seirdy" on many networks (Liberachat, Snoonet, OFTC, Tilde.Chat, apionet, some others)
: Matrix: [@seirdy<wbr />:seirdy.one](matrix:u/seirdy:seirdy.one "class='u-impp u-url' rel='me'") : Matrix: [@seirdy<wbr />:seirdy.one](matrix:u/seirdy:seirdy.one "{class='u-impp u-url' rel='me'}")
At least two platforms listed in the "Social (centralized)" category are not endorsed, and I'm trying to wind down my use of them. If you find a "Seirdy" somewhere else and don't know whether or not it's me, please contact me and ask instead of assuming that it must be me. At least two platforms listed in the "Social (centralized)" category are not endorsed, and I'm trying to wind down my use of them. If you find a "Seirdy" somewhere else and don't know whether or not it's me, please contact me and ask instead of assuming that it must be me.

View file

@ -28,7 +28,7 @@ This is the information that Nginx logs according to the default configurations
=> https://nginx.org/ Nginx HTTP server and reverse proxy => https://nginx.org/ Nginx HTTP server and reverse proxy
None of the Web content I serve contains cookies or scripts, or collects any information not described by this Privacy Policy None of the Web content I serve contains cookies or scripts, or collects any information not described by this Privacy Policy.
### Gemini server logs ### Gemini server logs
@ -43,13 +43,17 @@ This is the information Agate logs according to its default configuration.
=> gemini://qwertqwefsday.eu/agate.gmi Agate Gemini server => gemini://qwertqwefsday.eu/agate.gmi Agate Gemini server
### Hosting provider
These services currently run on, but do not necessarily endorse, virtual private servers owned by Digital Ocean. You can read Digital Ocean's data processing agreement to learn about how Digital Ocean processes data on these servers: These services currently run on, but do not necessarily endorse, virtual private servers owned by Digital Ocean. You can read Digital Ocean's data processing agreement to learn about how Digital Ocean processes data on these servers:
=> https://www.digitalocean.com/legal/data-processing-agreement Digital Ocean data processing agreement => https://www.digitalocean.com/legal/data-processing-agreement Digital Ocean data processing agreement
### Retention ### Retention
These logs are purged *every two days.* Log entries will persist for between two and three days. Purges of server logs occur every day at 00:00 UTC.
Before purging, I may preserve the "User-Agent" request headers of agents that clearly identify as bots.
### How I use your information ### How I use your information
@ -59,7 +63,15 @@ I use server logs to detect DoS attacks, misbehaving bots, and search engines to
## Information I share ## Information I share
No information is automatically shared with any third-parties, to my knowledge. Searches performed on search boxes in the site footer and on the search page are powered by the Search My Site API:
=> https://searchmysite.net/ Search My Site
When you search, your query---and only your query---is sent to Search My Site. No other information (e.g., your IP address or request headers) is sent. Information about how Search My Site may handle these anonymized queries is available in its privacy policy:
=> https://searchmysite.net/pages/privacy/ Search My Site - Privacy Policy
No other information is automatically shared with any third-parties, to my knowledge.
I may share excerpts of of server logs with third parties if I am trying to resolve a technical issue. For example, I may submit an excerpt of an error log when filing a bug report. Any time I have to share such an excerpt, I remove or alter all identifying information. This includes, but is not limited to: IP addresses, timestamps, and any uniquely-identifying user-agent strings. I may share excerpts of of server logs with third parties if I am trying to resolve a technical issue. For example, I may submit an excerpt of an error log when filing a bug report. Any time I have to share such an excerpt, I remove or alter all identifying information. This includes, but is not limited to: IP addresses, timestamps, and any uniquely-identifying user-agent strings.
@ -73,7 +85,7 @@ My privacy policy ends here. Any information that follows is not part of a priva
The following describes information I *avoid receiving* when serving Web content, as well as information I prevent users from *accidentally transmitting* to third parties. The following describes information I *avoid receiving* when serving Web content, as well as information I prevent users from *accidentally transmitting* to third parties.
No Web content governed by these policies makes any connections to parties that are not governed by this Privacy Policy. No Web content governed by these policies makes any connections to parties that are not governed by this Privacy Policy, when rendered in a standards-compliant browser.
By default, web browsers may share pages a user visits with third parties by loading third-party content (e.g. hotlinked images, third-party frames, etc). I have disabled this behavior with a "Content-Security-Policy" HTTP header that forbids all third-party content. By default, web browsers may share pages a user visits with third parties by loading third-party content (e.g. hotlinked images, third-party frames, etc). I have disabled this behavior with a "Content-Security-Policy" HTTP header that forbids all third-party content.

View file

@ -38,7 +38,7 @@ For each request you make that reaches my Web servers, my server logs:
This is the information that [Nginx](https://nginx.org/) logs according to the default configurations in many operating systems. This is the information that [Nginx](https://nginx.org/) logs according to the default configurations in many operating systems.
None of the Web content I serve contains cookies or scripts, or collects any information not described by this Privacy Policy None of the Web content I serve contains cookies or scripts, or collects any information not described by this Privacy Policy.
### Gemini server logs ### Gemini server logs
@ -51,11 +51,15 @@ My Gemini server logs:
This is the information [Agate](gemini://qwertqwefsday.eu/agate.gmi) logs according to its default configuration. This is the information [Agate](gemini://qwertqwefsday.eu/agate.gmi) logs according to its default configuration.
### Hosting provider
These services currently run on, but do not necessarily endorse, virtual private servers owned by Digital Ocean. You can read Digital Ocean's [data processing agreement](https://www.digitalocean.com/legal/data-processing-agreement) to learn about how Digital Ocean processes data on these servers. These services currently run on, but do not necessarily endorse, virtual private servers owned by Digital Ocean. You can read Digital Ocean's [data processing agreement](https://www.digitalocean.com/legal/data-processing-agreement) to learn about how Digital Ocean processes data on these servers.
### Retention ### Retention
These logs are purged _every two days._ Log entries will persist for between two and three days. Purges of server logs occur every day at <time datetime="03:35:12">00:00 UTC</time>
Before purging, I may preserve the "User-Agent" request headers of agents that clearly identify as bots.
### How I use your information ### How I use your information
@ -64,7 +68,9 @@ I use server logs to detect <abbr title="Denial of Service">DoS</abbr> attacks,
Information I share Information I share
------------------- -------------------
No information is automatically shared with any third-parties, to my knowledge. Searches performed on search boxes in the site footer and on the search page are powered by the [Search My Site](https://searchmysite.net/) API. When you search, your query---and only your query---is sent to Search My Site. No other information (e.g., your IP address or request headers) is sent. Information about how Search My Site may handle these anonymized queries is available in [its privacy policy](https://searchmysite.net/pages/privacy/).
No other information is automatically shared with any third-parties, to my knowledge.
I may share excerpts of of server logs with third parties if I am trying to resolve a technical issue. For example, I may submit an excerpt of an error log when filing a bug report. Any time I have to share such an excerpt, I remove or alter all identifying information. This includes, but is not limited to: IP addresses, timestamps, and any uniquely-identifying user-agent strings. I may share excerpts of of server logs with third parties if I am trying to resolve a technical issue. For example, I may submit an excerpt of an error log when filing a bug report. Any time I have to share such an excerpt, I remove or alter all identifying information. This includes, but is not limited to: IP addresses, timestamps, and any uniquely-identifying user-agent strings.
@ -79,7 +85,7 @@ Information I avoid
The following describes information I _avoid receiving_ when serving Web content, as well as information I prevent users from _accidentally transmitting_ to third parties. The following describes information I _avoid receiving_ when serving Web content, as well as information I prevent users from _accidentally transmitting_ to third parties.
No Web content governed by these policies makes any connections to parties that are not governed by this Privacy Policy. No Web content governed by these policies makes any connections to parties that are not governed by this Privacy Policy, when rendered in a standards-compliant browser.
By default, web browsers may share pages a user visits with third parties by loading third-party content (e.g. hotlinked images, third-party frames, etc). I have disabled this behavior with a `Content-Security-Policy` HTTP header that forbids all third-party content. By default, web browsers may share pages a user visits with third parties by loading third-party content (e.g. hotlinked images, third-party frames, etc). I have disabled this behavior with a `Content-Security-Policy` HTTP header that forbids all third-party content.

View file

@ -60,7 +60,7 @@
<!--Since language-figure doesn't seem to work for some reason just use regex to replace it--> <!--Since language-figure doesn't seem to work for some reason just use regex to replace it-->
{{- $extraLanguageFigure := `<pre><code class="language-figure">` -}} {{- $extraLanguageFigure := `<pre><(code|samp) class="language-figure">` -}}
{{- $replacedLanguageFigure := `<pre tabindex="0"><code translate="no" itemprop="text">` -}} {{- $replacedLanguageFigure := `<pre tabindex="0"><${1} translate="no" itemprop="text">` -}}
{{- .Content | replaceRE $referencesWithoutHeading $referencesWithHeading | replaceRE $badNoteRef $goodNoteRef | replaceRE $endnotesClosingDiv $endnotesClosingSection | replaceRE $combinedTerm $splitTerm | replaceRE $tocHeadingOutside $tocHeadingInside | replaceRE $footnoteBacklinksBad $footnoteBacklinksGood | replaceRE $repeatedFootnoteBacklinksBad $repeatedFootnoteBacklinksGood | replaceRE $endNotesNotFocusable $endNotesFocusable | replaceRE $extraLanguageFigure $replacedLanguageFigure | replaceRE `\&rsquo;` `` | replaceRE `\&nbsp;` `&#160;` | replaceRE `\&ldquo;` `“` | replaceRE `\&rdquo;` `”` | replaceRE `\&hellip;` `—` | replaceRE `\&mdash;` `—` | replaceRE `\&shy;` `&#173;` | replaceRE `&lsquo;` ``| safeHTML -}} {{- .Content | replaceRE $referencesWithoutHeading $referencesWithHeading | replaceRE $badNoteRef $goodNoteRef | replaceRE $endnotesClosingDiv $endnotesClosingSection | replaceRE $combinedTerm $splitTerm | replaceRE $tocHeadingOutside $tocHeadingInside | replaceRE $footnoteBacklinksBad $footnoteBacklinksGood | replaceRE $repeatedFootnoteBacklinksBad $repeatedFootnoteBacklinksGood | replaceRE $endNotesNotFocusable $endNotesFocusable | replaceRE $extraLanguageFigure $replacedLanguageFigure | replaceRE `\&rsquo;` `` | replaceRE `\&nbsp;` `&#160;` | replaceRE `\&ldquo;` `“` | replaceRE `\&rdquo;` `”` | replaceRE `\&hellip;` `—` | replaceRE `\&mdash;` `—` | replaceRE `\&shy;` `&#173;` | replaceRE `&lsquo;` ``| safeHTML -}}

View file

@ -1,9 +1,13 @@
{{- $action := "https:/seirdy.one/search/" -}}
{{- if or (in site.BaseURL ".onion") -}}
{{- $action = "http://wgq3bd2kqoybhstp77i3wrzbfnsyd27wt34psaja4grqiezqircorkyd.onion/search/" -}}
{{- end -}}
<form <form
itemprop="potentialAction" itemscope="" itemtype="https://schema.org/SearchAction" itemprop="potentialAction" itemscope="" itemtype="https://schema.org/SearchAction"
action="https://seirdy.one/search/" method="get" role="search"> action="{{ $action }}" method="get" role="search">
<label for="search" itemscope="" itemprop="target" itemtype="https://schema.org/EntryPoint"> <label for="search" itemscope="" itemprop="target" itemtype="https://schema.org/EntryPoint">
Search this site (powered by the <a rel="nofollow" href="https://searchmysite.net/">Search My Site</a> API): Search this site (powered by the <a rel="nofollow" href="https://searchmysite.net/">Search My Site</a> API):
<meta itemprop="urlTemplate" content="http://seirdy.one/search?q={q}" /> <meta itemprop="urlTemplate" content="{{ $action }}?q={q}" />
</label> </label>
<div><!--We need the extra divs to serve as pseudo-table-cells.--> <div><!--We need the extra divs to serve as pseudo-table-cells.-->
<input itemprop="query-input" id="search" type="search" required="" name="q" /> <input itemprop="query-input" id="search" type="search" required="" name="q" />

View file

@ -8,7 +8,7 @@
<input type="hidden" name="target" value="{{ .Site.Params.canonicalBaseURL }}{{ $canonicalRelPermalink }}" /> <input type="hidden" name="target" value="{{ .Site.Params.canonicalBaseURL }}{{ $canonicalRelPermalink }}" />
<label for="menchie">URL of page linking here</label> <label for="menchie">URL of page linking here</label>
<div><!--We need the extra divs to serve as pseudo-table-cells.--> <div><!--We need the extra divs to serve as pseudo-table-cells.-->
<input id="menchie" type="url" name="source" /> <input id="menchie" type="url" required="" name="source" />
<div><input type="submit" value="submit" /></div> <div><input type="submit" value="submit" /></div>
</div> </div>
</form> </form>

View file

@ -8,5 +8,9 @@
just use the beginning for the label and the full thing for the aria description. just use the beginning for the label and the full thing for the aria description.
--> -->
<figure aria-labelledby="{{ $id }}" itemprop="hasPart" itemscope="" itemtype="https://schema.org/SoftwareSourceCode"> <figure aria-labelledby="{{ $id }}" itemprop="hasPart" itemscope="" itemtype="https://schema.org/SoftwareSourceCode">
{{ if .Get "samp" -}}
{{ .Inner | .Page.RenderString | replaceRE "<code" "<samp" | replaceRE "</code>" "</samp>" | safeHTML -}}
{{- else -}}
{{ .Inner | .Page.RenderString -}} {{ .Inner | .Page.RenderString -}}
{{- end }}
</figure> </figure>

View file

@ -11,4 +11,4 @@
<img class="u-photo photo" width="16" height="16" alt="" <img class="u-photo photo" width="16" height="16" alt=""
src="{{ $favicon_bigpng.RelPermalink }}" /> src="{{ $favicon_bigpng.RelPermalink }}" />
</picture> </picture>
{{- end -}} {{- end }}

View file

@ -31,10 +31,10 @@ sed 7d "$html_file" | xmllint --format --encode UTF-8 --noent - | sd '^\t' '' >"
cat tmp.css cat tmp.css
# shellcheck disable=SC2016 # these are regex statements, not shell expressions # shellcheck disable=SC2016 # these are regex statements, not shell expressions
tail -n +8 "$tmp_file" \ tail -n +8 "$tmp_file" \
| sd '<pre(?: tabindex="0")?>\n\t*<code ' '<pre tabindex="0"><code ' \ | sd '<pre(?: tabindex="0")?>\n\t*<(code|samp)( |>)' '<pre tabindex="0"><$1$2' \
| sd '(?:\n)?</code>\n(?:[\t\s]*)?</pre>' '</code></pre>' \ | sd '(?:\n)?</(code|samp)>\n(?:[\t\s]*)?</pre>' '</$1></pre>' \
| sd '</span>.span itemprop="familyName"' '</span> <span itemprop="familyName"' \ | sd '</span>.span itemprop="familyName"' '</span> <span itemprop="familyName"' \
| sd '</picture><span itemprop="name" class="p-name fn n">' '</picture> <span itemprop="name" class="p-name fn n">' \ | sd '(</picture>|src="[^"]*" ?/>)<span itemprop="name" class="p-name fn n">' '$1 <span itemprop="name" class="p-name fn n">' \
| sd '([a-z])<(data|time)' '$1 <$2' | sd '([a-z])<(data|time)' '$1 <$2'
} >>"$xhtml_file" } >>"$xhtml_file"