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

New section: "Meta"

Move all content about the site itself to a "meta" section.
This commit is contained in:
Rohan Kumar 2022-07-10 22:36:22 -07:00
parent afc8fa6213
commit 0aafdaaddf
No known key found for this signature in database
GPG key ID: 1E892DB2A5F84479
8 changed files with 193 additions and 135 deletions

View file

@ -63,12 +63,19 @@ disableKinds = ["taxonomy", "term"]
url = "/about/" url = "/about/"
weight = 30 weight = 30
[[menu.main]]
identifier = "meta"
name = "Meta"
title = "meta"
url = "/meta/"
weight = 40
[[menu.main]] [[menu.main]]
identifier = "resume" identifier = "resume"
name = "Resume" name = "Resume"
title = "resume" title = "resume"
url = "/resume/" url = "/resume/"
weight = 40 weight = 50
[permalinks] [permalinks]
posts = "/posts/:year/:month/:day/:filename" posts = "/posts/:year/:month/:day/:filename"
@ -114,6 +121,7 @@ disableKinds = ["taxonomy", "term"]
posts = ["HTML", "atom", "RSS"] posts = ["HTML", "atom", "RSS"]
notes = ["HTML", "atom", "RSS"] notes = ["HTML", "atom", "RSS"]
about = ["HTML", "atom", "RSS"] about = ["HTML", "atom", "RSS"]
meta = ["HTML", "atom", "RSS"]
# https://github.com/nekr0z/static-webmentions # https://github.com/nekr0z/static-webmentions
[webmentions] [webmentions]

View file

@ -143,38 +143,3 @@ I think that at least one entry in that list has some problematic messages, but
I've put together a periodically-updated [list of tracks](../music.txt) that I've rated 8/10 or higher in my mpd stickers database, auto-generated by some of my [mpd-scripts](https://git.sr.ht/~seirdy/mpd-scripts/tree/master/smart-playlists). I'm a fan of glitch, trailer music, and symphonic and power metal; I've also recently been getting into Japanese rock thanks to a few anime openings. Some of my favorite artists are The Glitch Mob, Pretty Lights, Beats Antique, Hammerfall, Badflower, Celldweller and Scandroid, Helloween, Two Steps from Hell, Nightwish, Mili, and MYTH & ROID. I've put together a periodically-updated [list of tracks](../music.txt) that I've rated 8/10 or higher in my mpd stickers database, auto-generated by some of my [mpd-scripts](https://git.sr.ht/~seirdy/mpd-scripts/tree/master/smart-playlists). I'm a fan of glitch, trailer music, and symphonic and power metal; I've also recently been getting into Japanese rock thanks to a few anime openings. Some of my favorite artists are The Glitch Mob, Pretty Lights, Beats Antique, Hammerfall, Badflower, Celldweller and Scandroid, Helloween, Two Steps from Hell, Nightwish, Mili, and MYTH & ROID.
Meta: other versions of this site
---------------------------------
This website's canonical location is on seirdy.one.
This page also exists on the [tildeverse](https://tildeverse.org/), a bunch of \*nix computers that let people sign up for shell accounts. A typical shell account features clients for IRC and email, common terminal/commandline utilities, and (most importantly) web hosting. Read about the tildeverse's [origins](https://web.archive.org/web/20180917091804/https://medium.com/message/tilde-club-i-had-a-couple-drinks-and-woke-up-with-1-000-nerds-a8904f0a2ebf), read [the FAQ](https://tilde.club/wiki/faq.html), pick [a tilde](https://tilde.club/%7Epfhawkins/othertildes.html) and [get started](https://tilde.club/~anthonydpaul/primer.html). My Tildeverse pages will serve as a "rough draft".
Content on this site also appears on <a rel="alternate" href="gemini://seirdy.one/" class="u-syndication">my Gemini capsule</a>. My Web and Gemini content may be slightly different: I often phrase things differently to accommodate the strengths and weaknesses of each medium.
I have a [Tor hidden Web service](http://wgq3bd2kqoybhstp77i3wrzbfnsyd27wt34psaja4grqiezqircorkyd.onion/ "{rel='alternate' class='u-syndication'}") which mirrors this site's contents, except for the fact that it replaces some SVGs with PNGs.
Meta: featured in directories
-----------------------------
This site is featured in some cool directories.
### Website minimalism
- [10 KB Club](https://10kbclub.com/)
- [no-JS Club](https://no-js.club/)
- [XHTML Club](https://xhtml.club/)
- [Hyperlinked Text](https://sjmulder.nl/en/textonly.html)
### Other directories
- [Indieweb Webring Directory](https://xn--sr8hvo.ws/directory)
- [Writer's Lane, Nightfall City](https://nightfall.city/writers-lane/)
- [Just Another Useless Page](https://www.geocities.ws/jaup/jaup.htm)
- [Webrings Fanlisting](https://fanlistings.nickifaulk.com/webrings/)
- [Gossip's Web](https://gossipsweb.net/personal-websites)
- [Nixers](https://github.com/nixers-projects/sites/wiki/List-of-nixers.net-user-sites)
- [Nerd Listings](https://nerdlistings.info/category/personalsites/) (pending)
- [Ye Olde Blogroll](https://blogroll.org/) (pending)
- [LinkLane](https://www.linklane.net/) (pending)

42
content/meta/_index.md Normal file
View file

@ -0,0 +1,42 @@
---
date: 2021-07-10
title: "Meta: about this site"
outputs:
- html
description: "About this site. How it's built, why it's built that way, privacy, accessibility, mirrors, etc."
---
Other versions of this site
---------------------------
This website's canonical location is on seirdy.one.
This page also exists on the [tildeverse](https://tildeverse.org/), a bunch of \*nix computers that let people sign up for shell accounts. A typical shell account features clients for IRC and email, common terminal/commandline utilities, and (most importantly) web hosting. Read about the tildeverse's [origins](https://web.archive.org/web/20180917091804/https://medium.com/message/tilde-club-i-had-a-couple-drinks-and-woke-up-with-1-000-nerds-a8904f0a2ebf), read [the FAQ](https://tilde.club/wiki/faq.html), pick [a tilde](https://tilde.club/%7Epfhawkins/othertildes.html) and [get started](https://tilde.club/~anthonydpaul/primer.html). My Tildeverse pages will serve as a "rough draft".
Content on this site also appears on <a rel="alternate" href="gemini://seirdy.one/" class="u-syndication">my Gemini capsule</a>. My Web and Gemini content may be slightly different: I often phrase things differently to accommodate the strengths and weaknesses of each medium.
I have a [Tor hidden Web service](http://wgq3bd2kqoybhstp77i3wrzbfnsyd27wt34psaja4grqiezqircorkyd.onion/ "{rel='alternate' class='u-syndication'}") which mirrors this site's contents, except for the fact that it replaces some SVGs with PNGs.
Featured in directories
-----------------------
This site is featured in some cool directories.
### Website minimalism
- [10 KB Club](https://10kbclub.com/)
- [no-JS Club](https://no-js.club/)
- [XHTML Club](https://xhtml.club/)
- [Hyperlinked Text](https://sjmulder.nl/en/textonly.html)
### Other directories
- [Indieweb Webring Directory](https://xn--sr8hvo.ws/directory)
- [Writer's Lane, Nightfall City](https://nightfall.city/writers-lane/)
- [Just Another Useless Page](https://www.geocities.ws/jaup/jaup.htm)
- [Webrings Fanlisting](https://fanlistings.nickifaulk.com/webrings/)
- [Gossip's Web](https://gossipsweb.net/personal-websites)
- [Nixers](https://github.com/nixers-projects/sites/wiki/List-of-nixers.net-user-sites)
- [Nerd Listings](https://nerdlistings.info/category/personalsites/) (pending)
- [Ye Olde Blogroll](https://blogroll.org/) (pending)
- [LinkLane](https://www.linklane.net/) (pending)

102
content/meta/privacy.md Normal file
View file

@ -0,0 +1,102 @@
---
outputs:
- html
title: Privacy policy
description: "Privacy policy for seirdy.one"
date: "2022-04-06T00:00:00+00:00"
---
This privacy policy is effective as of <time datetime="2022-04-06T00:00:00+00:00">2022-04-06</time>. In short: I only collect standard server logs, I purge them regularly, and I only share sanitized excerpts (e.g. when filing bug reports).
Scope
-----
This privacy policy applies to the following services:
1. The Web site <https://seirdy.one>
2. The hidden Web service [http://wgq3\[...\]d<wbr />.onion](http://wgq3bd2kqoybhstp77i3wrzbfnsyd27wt34psaja4grqiezqircorkyd.onion/ "{title='http://wgq3bd2kqoybhstp77i3wrzbfnsyd27wt34psaja4grqiezqircorkyd.onion'}"), accessible over the Tor network
3. The Gemini capsule <gemini://seirdy.one>
This policy only applies if served by one of those three services.
Information I collect
---------------------
My servers temporarily store server logs.
### Web server logs
For each request you make that reaches my Web servers, my server logs:
- Your public IP address
- The contents of your `user-agent` and `referer` (sic) headers
- The page you requested
- The time of the request
- The HTTP response code of the request
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.
### Gemini server logs
My Gemini server logs:
- The page you requested
- The time of the request
- The Gemini response code of the request
- The language-code of the request
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
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
I use server logs to detect <abbr title="Denial of Service">DoS</abbr> attacks, misbehaving bots, and search engines to add to [my public collection](../../posts/2021/03/10/search-engines-with-own-indexes/).
Information I share
-------------------
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 do not remove or alter identifying information when sharing excerpts of bot traffic.
Web content and Gemini content may contain hyperlinks to other pages hosted by other parties whose privacy policies I do not govern.
My privacy policy ends here. Any information that follows is not part of a privacy policy.
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, 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 arbitrary information with a server through HTTP headers; these headers could include fingerprintable information unintentionally (client-hints, do-not-track) or intentionally (Chromium's upcoming advertising identifiers). I do not log any HTTP headers not explicitly mentioned in the "Web server logs" section, but I cannot prevent user agents from sending a header ahead of time.
By default, web browsers can share near-arbitrary identifying data with a server by executing near-arbitrary JavaScript, or store this information for future transmission. I have disabled this behavior with a `Content-Security-Policy` HTTP header. It contains explicit and implicit directives that forbid script loading (`script-src: none`), script execution (`sandbox`), and making connections for any purpose other than downloading a page a user navigated to (`connect-src`).
By default, user agents using HTTPS may contact a certificate authority to check the revocation status of an TLS certificate. I have disabled and replaced this behavior by including an "OCSP Must-Staple" directive in the TLS certificates used by my Web servers.
By default, user agents using HTTP or HTTPS may share a "referring" location with the destination website when following a link. I have disabled this by sending a `Referrer-Policy: no-referrer` header.
By default, Web browsers may share characteristics about the user's hardware, connection type, and personalizations using Client Hints and media queries. Browsers may request Web content according conditionally, in response to a `media` attribute in HTML or XHTML documents. Browsers may leverage stylesheets that use media queries to select varying `background-image` files. No Web content on seirdy.one will send network traffic in response to media queries except <code>prefers-color-<wbr />scheme</code>, assuming the use of a standards-compliant browser. Media queries and client hints will have no impact on HTTP responses except for dark image variants. This is a single binary piece of information that isn't enough to let me realistically identify anyone.
By default, many networks and Internet service providers often alter requests by redirecting them or injecting content. I have prevented this behavior by using a secure TLS cipher suite.

View file

@ -53,7 +53,7 @@ I also go further than WCAG in many aspects:
I test each WCAG success criterion myself using the mainstream browser engines (Blink, Gecko, WebKit). I test using multiple screen readers: Orca (primary, with Firefox and Epiphany), NVDA (with Firefox and Chromium), Windows Narrator (with Microsoft Edge), Apple VoiceOver (with desktop and mobile Safari), and Android TalkBack (with Chromium). I test each WCAG success criterion myself using the mainstream browser engines (Blink, Gecko, WebKit). I test using multiple screen readers: Orca (primary, with Firefox and Epiphany), NVDA (with Firefox and Chromium), Windows Narrator (with Microsoft Edge), Apple VoiceOver (with desktop and mobile Safari), and Android TalkBack (with Chromium).
I also accept user feedback. Users are free to contact me through any means linked on my [About page](../about/). I also accept user feedback. Users are free to contact me through any means linked on my [About page](../../about/).
Finally, I supplement manual testing with the following automated tools: Finally, I supplement manual testing with the following automated tools:

View file

@ -1,103 +1,7 @@
--- ---
outputs: outputs:
- html
- gemtext - gemtext
title: Privacy policy title: Privacy policy
description: "Privacy policy for seirdy.one" description: "Privacy policy for seirdy.one"
date: "2022-04-06T00:00:00+00:00" date: "2022-04-06T00:00:00+00:00"
--- ---
This privacy policy is effective as of <time datetime="2022-04-06T00:00:00+00:00">2022-04-06</time>. In short: I only collect standard server logs, I purge them regularly, and I only share sanitized excerpts (e.g. when filing bug reports).
Scope
-----
This privacy policy applies to the following services:
1. The Web site <https://seirdy.one>
2. The hidden Web service [http://wgq3\[...\]d<wbr />.onion](http://wgq3bd2kqoybhstp77i3wrzbfnsyd27wt34psaja4grqiezqircorkyd.onion/ "{title='http://wgq3bd2kqoybhstp77i3wrzbfnsyd27wt34psaja4grqiezqircorkyd.onion'}"), accessible over the Tor network
3. The Gemini capsule <gemini://seirdy.one>
This policy only applies if served by one of those three services.
Information I collect
---------------------
My servers temporarily store server logs.
### Web server logs
For each request you make that reaches my Web servers, my server logs:
- Your public IP address
- The contents of your `user-agent` and `referer` (sic) headers
- The page you requested
- The time of the request
- The HTTP response code of the request
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.
### Gemini server logs
My Gemini server logs:
- The page you requested
- The time of the request
- The Gemini response code of the request
- The language-code of the request
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
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
I use server logs to detect <abbr title="Denial of Service">DoS</abbr> attacks, misbehaving bots, and search engines to add to [my public collection](../posts/2021/03/10/search-engines-with-own-indexes/).
Information I share
-------------------
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 do not remove or alter identifying information when sharing excerpts of bot traffic.
Web content and Gemini content may contain hyperlinks to other pages hosted by other parties whose privacy policies I do not govern.
My privacy policy ends here. Any information that follows is not part of a privacy policy.
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, 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 arbitrary information with a server through HTTP headers; these headers could include fingerprintable information unintentionally (client-hints, do-not-track) or intentionally (Chromium's upcoming advertising identifiers). I do not log any HTTP headers not explicitly mentioned in the "Web server logs" section, but I cannot prevent user agents from sending a header ahead of time.
By default, web browsers can share near-arbitrary identifying data with a server by executing near-arbitrary JavaScript, or store this information for future transmission. I have disabled this behavior with a `Content-Security-Policy` HTTP header. It contains explicit and implicit directives that forbid script loading (`script-src: none`), script execution (`sandbox`), and making connections for any purpose other than downloading a page a user navigated to (`connect-src`).
By default, user agents using HTTPS may contact a certificate authority to check the revocation status of an TLS certificate. I have disabled and replaced this behavior by including an "OCSP Must-Staple" directive in the TLS certificates used by my Web servers.
By default, user agents using HTTP or HTTPS may share a "referring" location with the destination website when following a link. I have disabled this by sending a `Referrer-Policy: no-referrer` header.
By default, Web browsers may share characteristics about the user's hardware, connection type, and personalizations using Client Hints and media queries. Browsers may request Web content according conditionally, in response to a `media` attribute in HTML or XHTML documents. Browsers may leverage stylesheets that use media queries to select varying `background-image` files. No Web content on seirdy.one will send network traffic in response to media queries except <code>prefers-color-<wbr />scheme</code>, assuming the use of a standards-compliant browser. Media queries and client hints will have no impact on HTTP responses except for dark image variants. This is a single binary piece of information that isn't enough to let me realistically identify anyone.
By default, many networks and Internet service providers often alter requests by redirecting them or injecting content. I have prevented this behavior by using a secure TLS cipher suite.

37
layouts/meta/list.html Normal file
View file

@ -0,0 +1,37 @@
{{ define "main" -}}
{{- $canonicalRelPermalink := .RelPermalink | replaceRE "^/~seirdy/" "/" }}
<main id="main" tabindex="-1">
{{- $articleTag := printf `<article class="h-entry hentry" itemprop="mainEntity" itemscope="" itemtype="https://schema.org/Article" itemid="%s%s">` .Site.Params.CanonicalBaseURL $canonicalRelPermalink -}}
{{ partial "full-article.html" . | replaceRE `<article class="h-entry hentry">` $articleTag | safeHTML }}
<hr />
<section itemprop="hasPart" class="h-feed hfeed" itemscope="" itemtype="https://schema.org/DataFeed">
<h2>More about this site</h2>
<p role="doc-tip">
Timestamp format: <code>YYYY-MM-DD HH:MM</code>, as per <cite><a href="https://www.ietf.org/rfc/rfc3339.txt">RFC 3339</a></cite>. Sorted newest to oldest.
</p>
<ol>
{{- $pages := (where site.RegularPages "Section" .Section) -}}
{{- range $pages -}}
{{- $canonicalRelPermalink := .RelPermalink | replaceRE "^/~seirdy/" "/" -}}
<li itemprop="dataFeedElement" itemscope="" itemtype="https://schema.org/DataFeedItem">
<article class="h-entry hentry" itemprop="item" itemscope="" itemtype="https://schema.org/Article" itemid="{{ .Site.Params.CanonicalBaseURL }}{{ $canonicalRelPermalink }}">
<h3 itemprop="name headline" class="p-name entry-title">
<a href="{{ .Permalink }}" itemprop="url" class="u-url url" rel="bookmark">
{{ .Title }}
</a>
</h3>
<p>
Posted <time itemprop="datePublished" class="dt-published published" datetime="{{ .Date.Format "2006-01-02 15:04:05Z07:00" }}">{{ .Date.Format "2006-01-02 15:04" }}</time>
{{- if gt (sub .Lastmod.Unix .Date.Unix) 3600 -}}
, updated <time{{ if not (.Params.evergreen) }} itemprop="dateModified" class="dt-updated updated"{{ end }} datetime="{{ .Lastmod.Format "2006-01-02 15:04:05Z07:00" }}">{{ .Lastmod.Format "2006-01-02 15:04" }}</time>
{{- end }}
</p>
<p class="p-summary entry-summary" itemprop="description">{{ .Description }}</p>
<p>{{- partial "wordcount.html" . -}}</p>
</article>
</li>
{{- end }}
</ol>
</section>
</main>
{{ end }}

View file

@ -18,10 +18,10 @@
<a rel="alternate" href="http://wgq3bd2kqoybhstp77i3wrzbfnsyd27wt34psaja4grqiezqircorkyd.onion{{ .RelPermalink }}">Tor mirror</a> <a rel="alternate" href="http://wgq3bd2kqoybhstp77i3wrzbfnsyd27wt34psaja4grqiezqircorkyd.onion{{ .RelPermalink }}">Tor mirror</a>
</li> </li>
<li> <li>
<a href="{{ site.BaseURL }}privacy/">Privacy</a> <a href="{{ site.BaseURL }}meta/privacy/">Privacy</a>
</li> </li>
<li> <li>
<a href="{{ site.BaseURL }}site-design/">Site design standards</a> <a href="{{ site.BaseURL }}meta/site-design/">Site design standards</a>
</li> </li>
<li> <li>
<a href="{{ site.BaseURL }}about/#location-seirdy-online">Contact</a> <a href="{{ site.BaseURL }}about/#location-seirdy-online">Contact</a>