mirror of
https://git.sr.ht/~seirdy/seirdy.one
synced 2024-11-27 14:12:09 +00:00
Compare commits
8 commits
d3ad0e7382
...
916b089a4f
Author | SHA1 | Date | |
---|---|---|---|
|
916b089a4f | ||
|
2bae1cb224 | ||
|
7eda7a9b9d | ||
|
cbee1c3a52 | ||
|
470a8772b9 | ||
|
a4bcf9c4dd | ||
|
ae0661bb7a | ||
|
dda031b9db |
10 changed files with 49 additions and 21 deletions
|
@ -18,15 +18,17 @@ Seirdy’s 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> <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'}").
|
||||
|
||||
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
|
||||
--------
|
||||
|
||||
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">
|
||||
|
||||
|
|
|
@ -74,7 +74,7 @@ PGP public key
|
|||
|
||||
Chat
|
||||
: 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.
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
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
|
||||
|
||||
|
@ -43,13 +43,17 @@ This is the information Agate logs according to its default configuration.
|
|||
|
||||
=> 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:
|
||||
|
||||
=> https://www.digitalocean.com/legal/data-processing-agreement Digital Ocean data processing agreement
|
||||
|
||||
### 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
|
||||
|
||||
|
@ -59,7 +63,15 @@ I use server logs to detect DoS attacks, misbehaving bots, and search engines to
|
|||
|
||||
## 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.
|
||||
|
||||
|
@ -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.
|
||||
|
||||
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.
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
||||
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
|
||||
|
||||
|
@ -51,11 +51,15 @@ My Gemini server logs:
|
|||
|
||||
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.
|
||||
|
||||
### 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
|
||||
|
||||
|
@ -64,7 +68,9 @@ I use server logs to detect <abbr title="Denial of Service">DoS</abbr> attacks,
|
|||
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.
|
||||
|
||||
|
@ -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.
|
||||
|
||||
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.
|
||||
|
||||
|
|
|
@ -60,7 +60,7 @@
|
|||
|
||||
|
||||
<!--Since language-figure doesn't seem to work for some reason just use regex to replace it-->
|
||||
{{- $extraLanguageFigure := `<pre><code class="language-figure">` -}}
|
||||
{{- $replacedLanguageFigure := `<pre tabindex="0"><code translate="no" itemprop="text">` -}}
|
||||
{{- $extraLanguageFigure := `<pre><(code|samp) class="language-figure">` -}}
|
||||
{{- $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 `\’` `’` | replaceRE `\ ` ` ` | replaceRE `\“` `“` | replaceRE `\”` `”` | replaceRE `\…` `—` | replaceRE `\—` `—` | replaceRE `\­` `­` | replaceRE `‘` `‘`| safeHTML -}}
|
||||
|
|
|
@ -1,9 +1,13 @@
|
|||
{{- $action := "https:/seirdy.one/search/" -}}
|
||||
{{- if or (in site.BaseURL ".onion") -}}
|
||||
{{- $action = "http://wgq3bd2kqoybhstp77i3wrzbfnsyd27wt34psaja4grqiezqircorkyd.onion/search/" -}}
|
||||
{{- end -}}
|
||||
<form
|
||||
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">
|
||||
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>
|
||||
<div><!--We need the extra divs to serve as pseudo-table-cells.-->
|
||||
<input itemprop="query-input" id="search" type="search" required="" name="q" />
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
<input type="hidden" name="target" value="{{ .Site.Params.canonicalBaseURL }}{{ $canonicalRelPermalink }}" />
|
||||
<label for="menchie">URL of page linking here</label>
|
||||
<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>
|
||||
</form>
|
||||
|
|
|
@ -8,5 +8,9 @@
|
|||
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">
|
||||
{{ if .Get "samp" -}}
|
||||
{{ .Inner | .Page.RenderString | replaceRE "<code" "<samp" | replaceRE "</code>" "</samp>" | safeHTML -}}
|
||||
{{- else -}}
|
||||
{{ .Inner | .Page.RenderString -}}
|
||||
{{- end }}
|
||||
</figure>
|
||||
|
|
|
@ -11,4 +11,4 @@
|
|||
<img class="u-photo photo" width="16" height="16" alt=""
|
||||
src="{{ $favicon_bigpng.RelPermalink }}" />
|
||||
</picture>
|
||||
{{- end -}}
|
||||
{{- end }}
|
||||
|
|
|
@ -31,10 +31,10 @@ sed 7d "$html_file" | xmllint --format --encode UTF-8 --noent - | sd '^\t' '' >"
|
|||
cat tmp.css
|
||||
# shellcheck disable=SC2016 # these are regex statements, not shell expressions
|
||||
tail -n +8 "$tmp_file" \
|
||||
| sd '<pre(?: tabindex="0")?>\n\t*<code ' '<pre tabindex="0"><code ' \
|
||||
| sd '(?:\n)?</code>\n(?:[\t\s]*)?</pre>' '</code></pre>' \
|
||||
| sd '<pre(?: tabindex="0")?>\n\t*<(code|samp)( |>)' '<pre tabindex="0"><$1$2' \
|
||||
| sd '(?:\n)?</(code|samp)>\n(?:[\t\s]*)?</pre>' '</$1></pre>' \
|
||||
| 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'
|
||||
} >>"$xhtml_file"
|
||||
|
||||
|
|
Loading…
Reference in a new issue