Compare commits

..

No commits in common. "master" and "feat/css-cleanup" have entirely different histories.

165 changed files with 1816 additions and 3639 deletions

4
.envrc
View file

@ -1,4 +1,2 @@
use flake
use nix
layout node
mkdir -p "${HOME}/Library/Application Support/SourceGit"
echo "${PATH}" > "${HOME}/Library/Application Support/SourceGit/PATH"

90
.github/workflows/hugo.yml vendored Normal file
View file

@ -0,0 +1,90 @@
# Sample workflow for building and deploying a Hugo site to GitHub Pages
name: Deploy Hugo site to Pages
on:
# Runs on pushes targeting the default branch
push:
branches: ["master"]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write
# Allow one concurrent deployment
concurrency:
group: "pages"
cancel-in-progress: true
# Default to bash
defaults:
run:
shell: bash
jobs:
# Build job
build:
runs-on: ubuntu-latest
env:
HUGO_VERSION: 0.111.3
NODE_VERSION: 18.14.2
steps:
- name: Checkout
uses: actions/checkout@v3
with:
submodules: recursive
fetch-depth: 0
- name: Install git-crypt
run: |
sudo apt-get install git-crypt -y
- name: Decrypt repository
run: |
echo "${{ secrets.GIT_CRYPT_KEY }}" \
| base64 --decode \
> ~/millironx.github.io.key
git-crypt unlock ~/millironx.github.io.key
- name: Install Node.js
uses: actions/setup-node@v3
with:
node-version: "${{ env.NODE_VERSION }}"
- name: Install Hugo CLI
uses: peaceiris/actions-hugo@v2
with:
hugo-version: "${{ env.HUGO_VERSION }}"
extended: true
- name: Setup Pages
id: pages
uses: actions/configure-pages@v2
- name: Install postcss cli
run: npm install -g postcss-cli
- name: Install Node.js dependencies
run: npm ci
- name: Build with Hugo
env:
# For maximum backward compatibility with Hugo modules
HUGO_ENVIRONMENT: production
HUGO_ENV: production
run: |
hugo \
--minify \
--baseURL "${{ steps.pages.outputs.base_url }}/"
- name: Upload artifact
uses: actions/upload-pages-artifact@v1
with:
path: ./public
# Deployment job
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v1

34
.gitignore vendored
View file

@ -155,37 +155,3 @@ dist
### FontAwesome gitignore ###
fontawesome-pro-6.3.0-web
### direnv gitignore ###
.direnv
### Nix Flake gitignore ###
result
### MacOS gitignore ###
# General
.DS_Store
.AppleDouble
.LSOverride
# Icon must end with two \r
Icon
# Thumbnails
._*
# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.com.apple.timemachine.donotpresent
# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk

10
.gitpod.yml Normal file
View file

@ -0,0 +1,10 @@
# List the start up tasks. Learn more https://www.gitpod.io/docs/config-start-tasks/
tasks:
- name: Install Hugo dependencies
before: brew install hugo
init: echo "Your version of Hugo is `hugo version`"
command: npm ci && hugo server -D -F --baseUrl $(gp url 1313) --liveReloadPort=443 --appendPort=false --bind=0.0.0.0
# List the ports to expose. Learn more https://www.gitpod.io/docs/config-ports/
ports:
- port: 1313
onOpen: open-preview

View file

@ -1 +1,2 @@
layouts/_default/index.manifest.json
node_modules
themes

View file

@ -4,6 +4,3 @@ overrides:
- files: "*.html"
options:
parser: "go-template"
- files: "*.gotmpl"
options:
parser: "go-template"

View file

@ -1,18 +0,0 @@
when:
branch: master
event:
- push
- cron
cron: "weekly-build"
steps:
- name: Build site
image: hugomods/hugo:std-base-non-root-0.141.0
commands:
- hugo --minify
- name: Deploy to pages
image: codeberg.org/xfix/plugin-codeberg-pages-deploy:1
settings:
folder: public
ssh_key:
from_secret: ssh_key

View file

@ -0,0 +1,21 @@
when:
branch: "master"
steps:
- name: Install Node packages
image: node:18.14.2-slim
commands:
- npm ci
- name: Build Hugo site
image: peaceiris/hugo:v0.111.3-full
environment:
HUGO_ENV: production
HUGO_ENVIRONMENT: production
commands:
- hugo --minify
- name: Deploy to pages
image: codeberg.org/xfix/plugin-codeberg-pages-deploy:1
settings:
folder: public
ssh_key:
from_secret: ssh_key

View file

@ -1,13 +0,0 @@
{
"languages": {
"HTML": {
"formatter": {
"external": {
"command": "prettier",
"arguments": ["--stdin-filepath", "{buffer_path}"]
}
}
}
},
"file_types": { "HTML": ["gotmpl"] }
}

View file

@ -1,42 +1,3 @@
# pages
# millironx.github.io
[![status-badge](https://woodpecker.millironx.com/api/badges/30/status.svg?branch=master)](https://woodpecker.millironx.com/repos/30/branches/master)
My personal website. Hosted over at <https://millironx.com>
## Notes to self
### Nix dev shell
All developer dependencies are now bundled as a Nix Flake. The only trouble with
this is that npm packages don't play well with Nix (and especially Flakes), so
npm packages are specified twice: once in `package{-lock}.json` and then again
in `node*.nix`.
Compounding this, there are formatters and commit hooks that require npm to be
functional. So, to develop right now requires allowing direnv to setup the Nix
development shell, then immediately installing npm packages via `npm ci`. VSCode
(with extensions) and Zed are smart enough to figure out how to use direnv, and
direnv will pass the PATH to SourceGit for Mac, but other programs aren't that
smart, so you'll need to launch those programs from inside a direnv shell to
make sure they have Prettier, Husky, and all that jazz to execute the hooks.
Last compounding factors: if `node_modules` is present in the root directory,
then node2nix won't create a correct derivation, so `node_modules` will need to
be temporarily deleted after modifying any npm packages, then as soon as
node2nix is happy, then immediately run `npm ci` to get the commit hooks working
again. Oh, and also, I renamed the `default.nix` file generated by node2nix to
node.nix to avoid giving direnv any wrong impressions about what derivation to
run.
Yes, hopefully I can get completely away from npm here soon, but this is a minor
inconvenience considering how (not) often I install new packages into this site,
and really discourages me from contributing to the website obesity crisis.
### Nix building
Nix building will not work because Hugo reaches out to the internet via content
adapters, and that (by intention) is not perfectly reproducable. As such,
_development_ tools are installed in a Nix shell, but building has been removed
from the Flake. Thankfully, hugomods provides "canonical" Docker images for hugo
now.
My personal website. Now hosted over at https://millironx.com

View file

@ -1,30 +0,0 @@
# Characters
Imaginary friends that help me inject personality into my articles. These are
anthropomorphized versions of animals that I have known in real life. I tried to
draw them roughly in the style of Chris Pasquini, but failed myself, then tried
using Perplexity's image generation. The style isn't quite the same, but I like
it for these animals. Also, Perplexity does a horrible job of labeling images,
so ignore the ref sheet emotion labels.
## Spawn of Satan (aka Spawn aka SOS)
![Spawn ref sheet](spawn/_ref-body-perplexity.png)
Spawn of Satan is the name Travis gave to the cannulated cow, and it stuck.
Spawn is old and cynical after having every professor with a new idea experiment
on her. After being in academia for so long, she knows her way around
mathematics and the scientific method reasonably well, even if she's never
formally taken a college course in the sciences. She is the realist to any blog
post's optimist.
## Whelen
![Whelen ref sheet](whelen/_ref-body-perplexity.png)
Whelen is a happy-go-lucky German Shepherd/Husky mix puppy. He's been to school
once - and that was just to get neutered - so his knowledge of math and science,
heck, even of the humanities, isn't very good. He is very naive and thinks
everyone is nice and wants to be his friend, but he is also friendly to everyone
and is very vocal when he feels left out. He will step in when any blog post is
getting too technical and demand an explanation for real people (dogs?).

Binary file not shown.

Before

Width:  |  Height:  |  Size: 908 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 954 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 962 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 951 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 208 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 133 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 205 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 120 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 198 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 850 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 958 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 130 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 101 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 123 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 103 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 174 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 53 KiB

View file

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path d="M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zm-141.651-35.33c4.937-32.999-20.191-50.739-54.55-62.573l11.146-44.702-27.213-6.781-10.851 43.524c-7.154-1.783-14.502-3.464-21.803-5.13l10.929-43.81-27.198-6.781-11.153 44.686c-5.922-1.349-11.735-2.682-17.377-4.084l.031-.14-37.53-9.37-7.239 29.062s20.191 4.627 19.765 4.913c11.022 2.751 13.014 10.044 12.68 15.825l-12.696 50.925c.76.194 1.744.473 2.829.907-.907-.225-1.876-.473-2.876-.713l-17.796 71.338c-1.349 3.348-4.767 8.37-12.471 6.464.271.395-19.78-4.937-19.78-4.937l-13.51 31.147 35.414 8.827c6.588 1.651 13.045 3.379 19.4 5.006l-11.262 45.213 27.182 6.781 11.153-44.733a1038.209 1038.209 0 0 0 21.687 5.627l-11.115 44.523 27.213 6.781 11.262-45.128c46.404 8.781 81.299 5.239 95.986-36.727 11.836-33.79-.589-53.281-25.004-65.991 17.78-4.098 31.174-15.792 34.747-39.949zm-62.177 87.179c-8.41 33.79-65.308 15.523-83.755 10.943l14.944-59.899c18.446 4.603 77.6 13.717 68.811 48.956zm8.417-87.667c-7.673 30.736-55.031 15.12-70.393 11.292l13.548-54.327c15.363 3.828 64.836 10.973 56.845 43.035z"/></svg>

Before

Width:  |  Height:  |  Size: 1.3 KiB

View file

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path d="M448 64H0v64H448V64zm0 160H128v64H448V224zM128 384v64H448V384H128zM64 224H0V448H64V224z"/></svg>

Before

Width:  |  Height:  |  Size: 335 B

View file

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path d="M0 320H128V224H0v96zM0 448H128V352H0v96zm288 0V352H160v96H288zm0-224H160v96H288V224zm0-160H160V192H288V64zm352 0H320V448H640V64zM33.1 192H128l0 0V160h0V97.1C113.6 111.3 93.8 120 72 120c-6.2 0-12.2-.7-18-2c1.3 5.8 2 11.8 2 18c0 21.8-8.7 41.6-22.9 56z"/></svg>

Before

Width:  |  Height:  |  Size: 497 B

View file

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path d="M260.6 278.6L238 301.3l-22.6-22.6-192-192L.7 64 46 18.7 68.6 41.4 238 210.7 407.4 41.4 430 18.7 475.3 64 452.6 86.6l-192 192zm0 192L238 493.3l-22.6-22.6-192-192L.7 256 46 210.7l22.6 22.6L238 402.7 407.4 233.4 430 210.7 475.3 256l-22.6 22.6-192 192z"/></svg>

Before

Width:  |  Height:  |  Size: 496 B

View file

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path d="M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336h24V272H216 192V224h24 48 24v24 88h8 24v48H296 216 192V336h24zm72-144H224V128h64v64z"/></svg>

Before

Width:  |  Height:  |  Size: 389 B

View file

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path d="M120.2 391.8L256 256 391.8 391.8C426.5 357 448 309 448 256s-21.5-101-56.2-135.8L256 256 120.2 120.2C85.5 155 64 203 64 256s21.5 101 56.2 135.8zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z"/></svg>

Before

Width:  |  Height:  |  Size: 438 B

View file

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path d="M362.8 8l-9.4 30.6-128 416L216 485.2 277.2 504l9.4-30.6 128-416L424 26.8 362.8 8zm71.9 136l22.6 22.6L546.7 256l-89.4 89.4L434.7 368 480 413.3l22.6-22.6 112-112L637.3 256l-22.6-22.6-112-112L480 98.7 434.7 144zM160 98.7l-22.6 22.6-112 112L2.7 256l22.6 22.6 112 112L160 413.3 205.3 368l-22.6-22.6L93.3 256l89.4-89.4L205.3 144 160 98.7z"/></svg>

Before

Width:  |  Height:  |  Size: 580 B

View file

@ -1,3 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 4.233 4.233">
<path d="M0 2.265c0 .398.112.788.323 1.125l1.765-2.281c.013-.016.044-.016.057 0l.737.953h-.528l.011.042h.549l.156.201h-.648l.018.066h.681l.137.177H2.49l.024.085h.81l.122.158h-.888l.029.104h.939l.107.139H2.625l.032.115h1.065l.099.128H2.693l.032.115H3.91c.211-.337.323-.727.323-1.125 0-1.169-.947-2.116-2.117-2.116S0 1.096 0 2.265zm2.761 1.253l.032.115h.939l.091-.115zm.068.243l.032.115h.628l.126-.115zm.067.243l.032.114h.212l.184-.114z" paint-order="markers fill stroke"/>
</svg>

Before

Width:  |  Height:  |  Size: 573 B

View file

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path d="M606 189.5l-54.8 109.9-54.9-109.9h-37.5l10.9 20.6c-11.5-19-35.9-26-63.3-26-31.8 0-67.9 8.7-71.5 43.1h33.7c1.4-13.8 15.7-21.8 35-21.8 26 0 41 9.6 41 33v3.4c-12.7 0-28 .1-41.7.4-42.4.9-69.6 10-76.7 34.4 1-5.2 1.5-10.6 1.5-16.2 0-52.1-39.7-76.2-75.4-76.2-21.3 0-43 5.5-58.7 24.2v-80.6h-32.1v169.5c0 10.3-.6 22.9-1.1 33.1h31.5c.7-6.3 1.1-12.9 1.1-19.5 13.6 16.6 35.4 24.9 58.7 24.9 36.9 0 64.9-21.9 73.3-54.2-.5 2.8-.7 5.8-.7 9 0 24.1 21.1 45 60.6 45 26.6 0 45.8-5.7 61.9-25.5 0 6.6.3 13.3 1.1 20.2h29.8c-.7-8.2-1-17.5-1-26.8v-65.6c0-9.3-1.7-17.2-4.8-23.8l61.5 116.1-28.5 54.1h35.9L640 189.5zM243.7 313.8c-29.6 0-50.2-21.5-50.2-53.8 0-32.4 20.6-53.8 50.2-53.8 29.8 0 50.2 21.4 50.2 53.8 0 32.3-20.4 53.8-50.2 53.8zm200.9-47.3c0 30-17.9 48.4-51.6 48.4-25.1 0-35-13.4-35-25.8 0-19.1 18.1-24.4 47.2-25.3 13.1-.5 27.6-.6 39.4-.6zm-411.9 1.6h128.8v-8.5c0-51.7-33.1-75.4-78.4-75.4-56.8 0-83 30.8-83 77.6 0 42.5 25.3 74 82.5 74 31.4 0 68-11.7 74.4-46.1h-33.1c-12 35.8-87.7 36.7-91.2-21.6zm95-21.4H33.3c6.9-56.6 92.1-54.7 94.4 0z"/></svg>

Before

Width:  |  Height:  |  Size: 1.2 KiB

View file

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path d="M311.9 260.8L160 353.6 8 260.8 160 0l151.9 260.8zM160 383.4L8 290.6 160 512l152-221.4-152 92.8z"/></svg>

Before

Width:  |  Height:  |  Size: 343 B

View file

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path d="M390.9 298.5c0 0 0 .1 .1 .1c9.2 19.4 14.4 41.1 14.4 64C405.3 445.1 338.5 512 256 512s-149.3-66.9-149.3-149.3c0-22.9 5.2-44.6 14.4-64h0c1.7-3.6 3.6-7.2 5.6-10.7c4.4-7.6 9.4-14.7 15-21.3c27.4-32.6 68.5-53.3 114.4-53.3c33.6 0 64.6 11.1 89.6 29.9c9.1 6.9 17.4 14.7 24.8 23.5c5.6 6.6 10.6 13.8 15 21.3c2 3.4 3.8 7 5.5 10.5zm26.4-18.8c-30.1-58.4-91-98.4-161.3-98.4s-131.2 40-161.3 98.4L0 202.7 256 0 512 202.7l-94.7 77.1z"/></svg>

Before

Width:  |  Height:  |  Size: 647 B

View file

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path d="M0 32v448h448V32H0zm21.2 197.2H21c.1-.1.2-.3.3-.4 0 .1 0 .3-.1.4zm218 53.9V384h-31.4V281.3L128 128h37.3c52.5 98.3 49.2 101.2 59.3 125.6 12.3-27 5.8-24.4 60.6-125.6H320l-80.8 155.1z"/></svg>

Before

Width:  |  Height:  |  Size: 428 B

View file

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path d="M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM232 272H144V248L320 112 280 240h88v24L192 400l40-128z"/></svg>

Before

Width:  |  Height:  |  Size: 351 B

View file

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path d="M563.2 267.3c56.2-56.2 56.2-147.4 0-203.6S415.8 7.4 359.6 63.7L348.3 75l45.3 45.3 11.3-11.3c31.2-31.2 81.9-31.2 113.1 0s31.2 81.9 0 113.1L404.8 335.2c-31.2 31.2-81.9 31.2-113.1 0c-25.6-25.6-30.3-64.3-13.8-94.6c1.8-3.4 3.9-6.7 6.3-9.8l-51.2-38.4c-4.3 5.7-8.1 11.6-11.4 17.8c-29.5 54.6-21.3 124.2 24.9 170.3c56.2 56.2 147.4 56.2 203.6 0L563.2 267.3zM42.8 244.7c-56.2 56.2-56.2 147.4 0 203.6s147.4 56.2 203.6 0L257.7 437l-45.3-45.3-11.3 11.3c-31.2 31.2-81.9 31.2-113.1 0s-31.2-81.9 0-113.1L201.2 176.8c31.2-31.2 81.9-31.2 113.1 0c25.6 25.6 30.3 64.3 13.8 94.6c-1.8 3.4-3.9 6.7-6.3 9.8l51.2 38.4c4.3-5.7 8.1-11.6 11.4-17.8c29.5-54.6 21.3-124.2-24.9-170.3c-56.2-56.2-147.4-56.2-203.6 0L42.8 244.7z"/></svg>

Before

Width:  |  Height:  |  Size: 940 B

View file

@ -1,65 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
id="svg30"
width="256"
height="256"
version="1.1"
viewBox="0 0 256 256"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<g
id="layer1"
transform="matrix(1.1717564,0,0,1.1837458,-307.94823,-494.86516)">
<g
id="g4532-1"
transform="translate(5.8770956,91.426111)">
<path
style="fill:currentcolor;fill-opacity:1;stroke:none"
id="path2996-71-2"
d="m 421.12559,370.59555 -0.22191,7.93679 -59.06905,4.6472 -44.51391,28.90141 -10.54758,48.3126 c 0,0 7.17038,31.22666 13.28891,37.55616 6.11851,6.3295 18.77128,24.48348 34.38405,27.64823 15.61277,3.16475 28.90472,6.74153 41.56372,3.57678 12.65901,-3.16475 21.10821,-6.95775 21.10821,-6.95775 l 5.27379,-2.53246 c 0,0 -1.29791,1.13683 -3.38097,2.59773 25.19125,-16.15038 41.87702,-44.40295 41.87702,-76.54826 0,-31.23648 -15.75649,-58.78641 -39.76228,-75.13843 z" />
<path
style="fill:currentcolor;fill-opacity:1;stroke:none"
id="path3970-2-2"
d="m 407.73556,341.565 c 0,0 2.22629,-5.49152 4.30416,-5.63994 2.07787,-0.14842 3.26523,1.18736 4.601,2.67155 1.33578,1.4842 4.00733,3.71049 4.00733,3.71049 0,0 12.1704,-4.15574 25.82499,3.26523 13.65459,7.42097 15.58405,9.64727 18.2556,14.84195 2.67155,5.19468 1.48419,18.25559 1.48419,18.25559 l 1.59552,7.79202 -3.37655,4.37838 -23.74712,-4.00732 -28.34812,-20.92715 z" />
<path
style="fill:currentcolor;fill-opacity:0.15686275;stroke:none"
id="path2996-71-9-9"
d="m 421.14051,370.59877 -4.71875,6.4375 -54.5625,6.125 -44.53125,28.90625 -10.53125,48.3125 c 0,0 7.16272,31.233 13.28125,37.5625 6.11851,6.3295 18.76223,24.4915 34.375,27.65625 15.61277,3.16475 28.9035,6.72725 41.5625,3.5625 12.65901,-3.16476 21.125,-6.9375 21.125,-6.9375 l 5.28125,-2.53125 c 0,0 -1.32319,1.13285 -3.40625,2.59375 2.85284,-1.82899 5.59596,-3.84127 8.21875,-5.96875 -14.61843,9.14896 -32.44705,13.74807 -42.5625,13.75 -37.58529,0 -68.0625,-30.44595 -68.0625,-68.03125 0,-13.26857 3.20363,-26.22913 9.71875,-36.78125 4.58818,1.97009 9.419,5.31967 12.46875,10.21875 0.49071,0.70737 0.82821,1.51845 1.375,2.1875 2.69222,3.29423 5.6,4.14654 8.53125,4.28125 6.26371,0.18237 9.22096,-4.49396 9.5,-10.78125 0.008,-0.4932 0.0453,-0.24655 0.0107,-0.67835 -0.19809,-4.19006 -6.3732,-19.67162 -16.63572,-21.44665 1.79623,-1.38222 3.66804,-2.67393 5.625,-3.84375 6.60974,-3.95111 20.65354,-8.43512 40.125,-5.5 9.8747,1.48851 17.96522,3.61684 30.4375,7.59375 14.47518,4.61555 22.51928,11.06231 33.65625,12.34375 1.87408,0.21564 3.76589,0.12973 5.59375,-0.21875 -6.07268,-20.0996 -18.90378,-37.25222 -35.875,-48.8125 z" />
<path
style="fill:currentcolor;fill-opacity:1;stroke:none"
id="path2996-7-5-8"
d="m 364.27074,330.97552 c -56.86691,0 -102.96753,46.10062 -102.96753,102.96752 0,56.86692 46.31202,104.53546 102.96753,104.54176 36.96195,1.09859 71.24999,-16.1124 82.55185,-44.15204 -4.17009,1.92437 -8.75719,6.55973 -12.21576,9.59364 -6.52122,5.72051 -13.59622,6.87984 -22.59008,11.56447 -17.43318,9.0804 -36.28791,7.87436 -53.8771,4.0099 -14.29694,-3.14114 -29.97844,-10.13252 -38.39328,-21.31617 -8.41484,-11.18365 -13.35469,-37.74208 -13.35469,-37.74208 l 10.59979,-48.55176 44.73427,-29.04448 59.36146,-4.67021 0.22301,-7.97608 c 8.96128,6.10416 16.77558,13.7674 23.06242,22.59015 h 14.29922 c -15.88288,-36.37996 -52.16799,-61.81462 -94.40111,-61.81462 z" />
<path
style="fill:var(--body-background);fill-opacity:1;stroke:none"
id="path3004-7-2"
d="m 402.89176,361.81724 c -19.94083,0.10177 -31.55369,2.41314 -52.24554,11.24749 -26.25073,12.21158 -52.60694,35.07689 -52.75536,72.44929 -0.17297,43.55343 35.31496,78.85563 78.86874,78.85563 22.50608,0 46.74156,-8.22147 61.10833,-23.34185 -15.46163,12.94697 -40.94323,17.04829 -52.97408,17.05059 -37.58529,0 -68.30905,-27.96064 -68.30905,-65.54594 0,-23.74751 11.64012,-41.24257 30.60558,-52.57958 6.60974,-3.95111 20.64508,-8.44491 40.11654,-5.50979 9.8747,1.48851 17.96277,3.61873 30.43505,7.59564 14.47518,4.61555 22.53835,11.06312 33.67532,12.34456 12.68384,1.45943 26.08344,-10.49297 16.1883,-29.08383 0,0 -1.7935,1.78974 -3.29276,2.6893 -1.49926,0.89956 -3.59261,-0.28861 -9.58966,-2.38758 -5.99706,-2.09896 -6.90036,-4.50903 -15.29624,-10.20623 -8.39587,-5.6972 -8.39212,-11.98661 -32.98004,-13.48587 -1.15256,-0.0703 -2.3448,-0.10399 -3.55513,-0.0918 z" />
<circle
style="fill:currentcolor;fill-opacity:1;stroke:none"
id="path3026-6-2"
cx="542.143"
cy="384.505"
r="17.857"
transform="matrix(0.43552317,0,0,0.43552317,200.99133,207.88928)" />
<circle
style="fill:currentcolor;fill-opacity:1;stroke:none"
id="path3026-4-1-7"
cx="542.143"
cy="384.505"
r="17.857"
transform="matrix(0.22576754,0,0,0.28084084,343.47729,272.83142)" />
<path
style="fill:currentcolor;fill-opacity:1;stroke:none"
id="path3889-4-8"
d="m 334.29213,381.2133 c -5.0673,1.23397 -17.41583,4.23292 -24.7524,14.18981 -7.04618,9.56276 -6.47436,20.71233 -6.63135,23.68137 2.04048,-3.28467 7.62657,-2.8188 11.47779,-2.22301 9.08081,1.40481 18.39265,3.8222 24.21457,13.17446 0.49071,0.70737 0.83913,1.52443 1.38592,2.19348 2.69222,3.29423 5.60185,4.13912 8.5331,4.27383 6.26371,0.18237 9.22123,-4.49314 9.50027,-10.78043 0.008,-0.4932 0.002,-0.25694 -0.0327,-0.68874 -0.20697,-4.37798 -6.92743,-21.07877 -18.01254,-21.59268 -0.12354,-0.004 -0.24871,-0.003 -0.37117,-0.0108 -6.14897,-0.3757 -10.92788,-5.61334 -10.74875,-11.86496 0.61735,-4.05018 2.50816,-7.25309 6.21847,-9.85231 z" />
<path
style="fill:currentcolor;fill-opacity:1;stroke:none"
id="path3950-2-5"
d="m 463.82955,388.18782 c 0,0 -1.00956,1.74485 -3.18699,2.79051 -0.89408,0.42937 -2.46423,-0.6477 -3.93792,0.84949 -3.12914,6.28101 4.51484,11.52502 8.07692,11.3766 3.56207,-0.14842 6.37226,-3.73749 6.22386,-6.85431 -0.14844,-4.82363 -7.17587,-8.16229 -7.17587,-8.16229 z" />
<path
style="fill:currentcolor;fill-opacity:0.15686275;stroke:none"
id="path2996-7-8-5-3-8"
d="m 364.27072,330.97552 c -56.86689,0 -102.96751,46.10062 -102.96751,102.96752 0,0.88855 0.0168,1.76604 0.0395,2.64995 1.43019,-55.62033 46.96307,-100.2651 102.92817,-100.2651 15.6777,0 30.54322,3.50458 43.8422,9.77332 0.70651,-1.52648 2.35421,-4.71467 3.93557,-4.82763 2.07785,-0.14841 3.25571,1.19199 4.59149,2.67619 1.33579,1.48419 4.01428,3.71255 4.01428,3.71255 0,0 12.16272,-4.15446 25.81731,3.26652 13.65459,7.42097 15.58946,9.6424 18.26103,14.83708 1.1117,2.16165 1.55378,5.68588 1.69231,9.06492 0.14458,-4.27194 0.0599,-11.0101 -1.69231,-14.41729 -2.67157,-5.19468 -4.60644,-7.41611 -18.26103,-14.83708 -13.65459,-7.42098 -25.81731,-3.26652 -25.81731,-3.26652 0,0 -2.67849,-2.22836 -4.01428,-3.71255 -1.33578,-1.4842 -2.51364,-2.8246 -4.59149,-2.67619 -1.58136,0.11296 -3.22906,3.30115 -3.93557,4.82763 -13.29898,-6.26874 -28.1645,-9.77332 -43.8422,-9.77332 z" />
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 7 KiB

View file

@ -1,3 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1536" height="1792" viewBox="0 0 1536 1792">
<path d="M40.467 163.152v1465.696H145.92V1664H0V128h145.92v35.152zm450.757 464.64v74.14h2.069c19.79-28.356 43.717-50.215 71.483-65.575 27.765-15.656 59.963-23.336 96-23.336 34.56 0 66.165 6.795 94.818 20.086 28.652 13.293 50.216 37.22 65.28 70.893 16.246-23.926 38.4-45.194 66.166-63.507 27.766-18.314 60.848-27.472 98.954-27.472 28.948 0 55.828 3.545 80.64 10.635 24.812 7.088 45.785 18.314 63.508 33.968 17.722 15.656 31.31 35.742 41.354 60.85 9.747 25.107 14.768 55.236 14.768 90.683v366.573h-150.35V865.28c0-18.314-.59-35.741-2.068-51.987-1.476-16.247-5.316-30.426-11.52-42.24-6.499-12.112-15.656-21.563-28.062-28.653-12.405-7.088-29.242-10.634-50.214-10.634-21.268 0-38.4 4.135-51.397 12.112-12.997 8.27-23.336 18.608-30.72 31.901-7.386 12.997-12.407 27.765-14.77 44.602-2.363 16.542-3.84 33.379-3.84 50.216v305.133H692.971v-307.2c0-16.247-.294-32.197-1.18-48.149-.591-15.95-3.84-30.424-9.157-44.011-5.317-13.293-14.178-24.223-26.585-32.197-12.406-7.976-30.425-12.112-54.646-12.112-7.088 0-16.542 1.478-28.062 4.726-11.52 3.25-23.04 9.157-33.968 18.02-10.93 8.86-20.383 21.563-28.063 38.103-7.68 16.543-11.52 38.4-11.52 65.28v317.834H349.44V627.792zm1004.309 1001.056V163.152H1390.08V128H1536v1536h-145.92v-35.152z"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.3 KiB

View file

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path d="M352 384h108.4C417 455.9 338.1 504 248 504S79 455.9 35.6 384H144V256.2L248 361l104-105v128zM88 336V128l159.4 159.4L408 128v208h74.8c8.5-25.1 13.2-52 13.2-80C496 119 385 8 248 8S0 119 0 256c0 28 4.6 54.9 13.2 80H88z"/></svg>

Before

Width:  |  Height:  |  Size: 462 B

View file

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path d="M64 288h96c53 0 96-43 96-96s-43-96-96-96H64V288zM0 352V320 288 96 64 32H32 64h96c88.4 0 160 71.6 160 160s-71.6 160-160 160H64v96 32H0V448 352z"/></svg>

Before

Width:  |  Height:  |  Size: 390 B

View file

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path d="M192 96L352 256 192 416l-32 0 0-96L0 320 0 192l160 0 0-96 32 0zM352 416l96 0 0-320-96 0-32 0 0-64 32 0 128 0 32 0 0 32 0 384 0 32-32 0-128 0-32 0 0-64 32 0z"/></svg>

Before

Width:  |  Height:  |  Size: 404 B

View file

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path d="M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm32 80c150.2 0 272 121.8 272 272H320c0-123.7-100.3-224-224-224V112zm0 96c97.2 0 176 78.8 176 176H224c0-70.7-57.3-128-128-128V208zm0 144a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z"/></svg>

Before

Width:  |  Height:  |  Size: 523 B

View file

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path d="M0 80v80H48 96V80c0-26.5-21.5-48-48-48S0 53.5 0 80zM112 32c10 13.4 16 30 16 48V384c0 35.3 28.7 64 64 64s64-28.7 64-64V336 320h16H480V128c0-53-43-96-96-96H112zM464 480c61.9 0 112-50.1 112-112V352H288v32c0 53-43 96-96 96H368h96z"/></svg>

Before

Width:  |  Height:  |  Size: 474 B

View file

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path d="M248 8C111.1 8 0 119.1 0 256s111.1 248 248 248 248-111.1 248-248S384.9 8 248 8zm100.7 364.9c-4.2 0-6.8-1.3-10.7-3.6-62.4-37.6-135-39.2-206.7-24.5-3.9 1-9 2.6-11.9 2.6-9.7 0-15.8-7.7-15.8-15.8 0-10.3 6.1-15.2 13.6-16.8 81.9-18.1 165.6-16.5 237 26.2 6.1 3.9 9.7 7.4 9.7 16.5s-7.1 15.4-15.2 15.4zm26.9-65.6c-5.2 0-8.7-2.3-12.3-4.2-62.5-37-155.7-51.9-238.6-29.4-4.8 1.3-7.4 2.6-11.9 2.6-10.7 0-19.4-8.7-19.4-19.4s5.2-17.8 15.5-20.7c27.8-7.8 56.2-13.6 97.8-13.6 64.9 0 127.6 16.1 177 45.5 8.1 4.8 11.3 11 11.3 19.7-.1 10.8-8.5 19.5-19.4 19.5zm31-76.2c-5.2 0-8.4-1.3-12.9-3.9-71.2-42.5-198.5-52.7-280.9-29.7-3.6 1-8.1 2.6-12.9 2.6-13.2 0-23.3-10.3-23.3-23.6 0-13.6 8.4-21.3 17.4-23.9 35.2-10.3 74.6-15.2 117.5-15.2 73 0 149.5 15.2 205.4 47.8 7.8 4.5 12.9 10.7 12.9 22.6 0 13.6-11 23.3-23.2 23.3z"/></svg>

Before

Width:  |  Height:  |  Size: 1 KiB

View file

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path d="M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm96-352.5l-4.3 6.2L229.8 336H328h24v48H328 184 160V352.5l4.3-6.2L282.2 176H184 160V128h24H328h24v31.5z"/></svg>

Before

Width:  |  Height:  |  Size: 399 B

View file

@ -1,3 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1536" height="1792" viewBox="0 0 1536 1792">
<path d="M662.716 1663.44l667.946-310.051V428.98L662.714 128.5.508 428.98v924.408zm-348.331-279.43v-202.24l24.881-96.325 352.155-378.95H314.385V492.137l59.332-82.295h600.96l62.842 78.47v218.181l-338.44 378.95h275.6l62.841 77.188v221.379z" fill-rule="evenodd" stroke-width="14.41"/>
</svg>

Before

Width:  |  Height:  |  Size: 385 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.5 KiB

View file

@ -1,51 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="512px"
height="512px"
viewBox="0 0 512 512"
id="svg2"
version="1.1"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
>
<style>
svg {
background-color: transparent;
color-scheme: light dark;
}
path {
stroke: black;
fill: none;
fill-rule: evenodd;
stroke-dasharray: none;
stroke-linecap: round;
stroke-linejoin: round;
stroke-miterlimit: 4;
stroke-opacity: 1;
stroke-width: 21;
}
g {
filter: drop-shadow(7px 7px white);
}
@media (prefers-color-scheme: dark) {
path {
stroke: white;
}
g {
filter: drop-shadow(7px 7px black);
}
}
</style>
<g>
<path
d="M 76.0229 257.139 L 148.925 257.139 C 154.744 257.139 160.688 256.874 166.097 254.728 C 171.506 252.583 176.104 248.69 179.651 244.078 C 183.198 239.465 185.786 234.178 189.279 229.525 C 191.026 227.198 193.032 225.031 195.44 223.398 C 197.848 221.766 200.692 220.688 203.602 220.688 C 206.511 220.688 209.355 221.766 211.763 223.398 C 214.171 225.031 216.177 227.198 217.924 229.525 C 221.417 234.178 224.005 239.465 227.552 244.078 C 231.099 248.69 235.697 252.583 241.106 254.728 C 246.515 256.874 252.459 257.139 258.278 257.139 L 331.181 257.139"
/>
<path d="M 363.075 301.564 L 435.977 210.436" />
<path d="M 363.075 210.436 L 435.977 301.564" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.5 KiB

View file

@ -1,42 +1,43 @@
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="29.935179mm"
height="8.7677584mm"
viewBox="0 0 106.06953 31.06686"
version="1.1"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
>
<style>
svg {
background-color: transparent;
color-scheme: light dark;
}
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
width="29.935179mm"
height="8.7677584mm"
viewBox="0 0 106.06953 31.06686"
id="svg2"
version="1.1">
<defs
id="defs4">
<style>
svg {
background-color: transparent;
color-scheme: light dark;
}
path {
stroke: black;
fill: none;
fill-rule: evenodd;
stroke-dasharray: none;
stroke-linecap: round;
stroke-linejoin: round;
stroke-miterlimit: 4;
stroke-opacity: 1;
stroke-width: 6;
}
@media (prefers-color-scheme: dark) {
path {
stroke: white;
}
}
</style>
<g>
<path
d="M 4.29299 15.8457 L 24.293 15.8457 C 25.8894 15.8457 27.52 15.7729 29.004 15.1843 C 30.4879 14.5958 31.7494 13.528 32.7224 12.2624 C 33.6954 10.9968 34.4053 9.54663 35.3637 8.26996 C 35.8429 7.63163 36.3933 7.03719 37.054 6.58932 C 37.7147 6.14145 38.4948 5.8457 39.293 5.8457 C 40.0912 5.8457 40.8713 6.14145 41.532 6.58932 C 42.1927 7.03719 42.743 7.63163 43.2223 8.26996 C 44.1807 9.54663 44.8906 10.9968 45.8636 12.2624 C 46.8366 13.528 48.098 14.5958 49.582 15.1843 C 51.0659 15.7729 52.6966 15.8457 54.293 15.8457 L 74.293 15.8457"
/>
<path d="M 83.043 28.0332 L 103.043 3.0332" />
<path d="M 83.043 3.0332 L 103.043 28.0332" />
</g>
path {
stroke: light-dark(black, white);
}
</style>
</defs>
<g
transform="translate(-201.95727,-469.32877)">
<path
style="fill:none;fill-rule:evenodd;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 205,497.3622 h 20 c 1.59641,0 3.22706,-0.0728 4.71101,-0.66135 1.48394,-0.58857 2.74536,-1.65633 3.71836,-2.92194 0.973,-1.26562 1.6829,-2.71578 2.64135,-3.99245 0.47923,-0.63833 1.02956,-1.23277 1.69028,-1.68064 0.66071,-0.44787 1.4408,-0.74362 2.239,-0.74362 0.7982,0 1.57829,0.29575 2.239,0.74362 0.66072,0.44787 1.21105,1.04231 1.69028,1.68064 0.95845,1.27667 1.66835,2.72683 2.64135,3.99245 0.973,1.26561 2.23442,2.33337 3.71836,2.92194 1.48395,0.58857 3.1146,0.66135 4.71101,0.66135 h 20"
transform="translate(1.2499871,-12.187492)" />
<path
style="fill:none;fill-rule:evenodd;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 285,497.3622 20,-25"
/>
<path
style="fill:none;fill-rule:evenodd;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 285,472.3622 20,25"
/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 343 KiB

After

Width:  |  Height:  |  Size: 343 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 101 KiB

After

Width:  |  Height:  |  Size: 101 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 199 KiB

After

Width:  |  Height:  |  Size: 199 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 584 KiB

After

Width:  |  Height:  |  Size: 584 KiB

Before After
Before After

View file

@ -1,15 +1 @@
// Built by perplexity.ai
function maskPhoneNumber(input) {
input.addEventListener("input", function (e) {
var x = e.target.value
.replace(/\D/g, "")
.match(/(\d{0,3})(\d{0,3})(\d{0,4})/);
e.target.value = !x[2]
? x[1]
: "(" + x[1] + ") " + x[2] + (x[3] ? "-" + x[3] : "");
});
}
// Usage
var phoneInput = document.getElementById("phone");
maskPhoneNumber(phoneInput);
$("#phone").mask("(000) 000-0000");

View file

@ -3,180 +3,21 @@
Color schemes
*/
color-scheme: light dark;
--ear-tag-red-1: oklch(97.5% 0.016 35.7);
--ear-tag-red-2: oklch(95.9% 0.027 37.7);
--ear-tag-red-3: oklch(91.8% 0.055 33.4);
--ear-tag-red-4: oklch(84% 0.092 29.8);
--ear-tag-red-5: oklch(80% 0.123 29.8);
--ear-tag-red-6: oklch(71% 0.146 29.8);
--ear-tag-red-7: oklch(66% 0.154 29.8);
--ear-tag-red-8: oklch(58% 0.162 29.8);
--ear-tag-red-9: oklch(53% 0.154 29.8);
--ear-tag-red-10: oklch(49% 0.146 29.8);
--ear-tag-red-11: oklch(42% 0.131 29.8);
--ear-tag-red-12: oklch(35% 0.115 29.8);
--ear-tag-red-13: oklch(27% 0.092 29.8);
--ear-tag-red-14: oklch(20% 0.07 29.8);
--ear-tag-red-15: oklch(16% 0.054 29.8);
--ear-tag-red-16: oklch(10% 0.039 29.8);
--ear-tag-red: var(--ear-tag-red-12);
--swiss-brown-1: oklch(98% 0.011 67.7);
--swiss-brown-2: oklch(97% 0.023 67.7);
--swiss-brown-3: oklch(93% 0.039 67.7);
--swiss-brown-4: oklch(84% 0.046 67.7);
--swiss-brown-5: oklch(80% 0.061 67.7);
--swiss-brown-6: oklch(71% 0.072 67.7);
--swiss-brown-7: oklch(66% 0.076 67.7);
--swiss-brown-8: oklch(58% 0.08 67.7);
--swiss-brown-9: oklch(53% 0.076 67.7);
--swiss-brown-10: oklch(49% 0.072 67.7);
--swiss-brown-11: oklch(42% 0.065 67.7);
--swiss-brown-12: oklch(35% 0.057 67.7);
--swiss-brown-13: oklch(27% 0.046 67.7);
--swiss-brown-14: oklch(20% 0.035 67.7);
--swiss-brown-15: oklch(16% 0.027 67.7);
--swiss-brown-16: oklch(10% 0.019 67.7);
--swiss-brown: var(--swiss-brown-12);
--prickly-pear-yellow-1: oklch(98% 0.017 94.5);
--prickly-pear-yellow-2: oklch(97% 0.035 94.5);
--prickly-pear-yellow-3: oklch(93% 0.059 94.5);
--prickly-pear-yellow-4: oklch(84% 0.07 94.5);
--prickly-pear-yellow-5: oklch(80% 0.093 94.5);
--prickly-pear-yellow-6: oklch(71% 0.11 94.5);
--prickly-pear-yellow-7: oklch(66% 0.116 94.5);
--prickly-pear-yellow-8: oklch(58% 0.122 94.5);
--prickly-pear-yellow-9: oklch(53% 0.116 94.5);
--prickly-pear-yellow-10: oklch(49% 0.11 94.5);
--prickly-pear-yellow-11: oklch(42% 0.099 94.5);
--prickly-pear-yellow-12: oklch(35% 0.083 93.6);
--prickly-pear-yellow-13: oklch(27.1% 0.064 92.8);
--prickly-pear-yellow-14: oklch(20% 0.047 92.4);
--prickly-pear-yellow-15: oklch(16% 0.038 93.3);
--prickly-pear-yellow-16: oklch(10% 0.024 89.7);
--prickly-pear-yellow: var(--prickly-pear-yellow-7);
--hayyard-green-1: oklch(98% 0.014 135);
--hayyard-green-2: oklch(97% 0.03 135);
--hayyard-green-3: oklch(93% 0.049 135);
--hayyard-green-4: oklch(84% 0.058 135);
--hayyard-green-5: oklch(80% 0.078 135);
--hayyard-green-6: oklch(71% 0.092 135);
--hayyard-green-7: oklch(66% 0.097 135);
--hayyard-green-8: oklch(58% 0.103 135);
--hayyard-green-9: oklch(53% 0.097 135);
--hayyard-green-10: oklch(49% 0.092 135);
--hayyard-green-11: oklch(42% 0.083 135);
--hayyard-green-12: oklch(35% 0.073 135);
--hayyard-green-13: oklch(27% 0.058 135);
--hayyard-green-14: oklch(20% 0.044 135);
--hayyard-green-15: oklch(16% 0.034 135);
--hayyard-green-16: oklch(10% 0.025 135);
--hayyard-green: var(--hayyard-green-11);
--flaming-gorge-blue-1: oklch(98% 0.012 241);
--flaming-gorge-blue-2: oklch(96.8% 0.021 230);
--flaming-gorge-blue-3: oklch(92.9% 0.041 242);
--flaming-gorge-blue-4: oklch(84% 0.051 245);
--flaming-gorge-blue-5: oklch(80% 0.069 245);
--flaming-gorge-blue-6: oklch(71% 0.081 245);
--flaming-gorge-blue-7: oklch(66% 0.086 245);
--flaming-gorge-blue-8: oklch(58% 0.09 245);
--flaming-gorge-blue-9: oklch(53% 0.086 245);
--flaming-gorge-blue-10: oklch(49% 0.081 245);
--flaming-gorge-blue-11: oklch(42% 0.073 245);
--flaming-gorge-blue-12: oklch(35% 0.064 245);
--flaming-gorge-blue-13: oklch(27% 0.051 245);
--flaming-gorge-blue-14: oklch(20% 0.039 245);
--flaming-gorge-blue-15: oklch(16% 0.03 245);
--flaming-gorge-blue-16: oklch(10% 0.022 245);
--flaming-gorge-blue: var(--flaming-gorge-blue-12);
--coeurdalene-purple-1: oklch(97.8% 0.016 311);
--coeurdalene-purple-2: oklch(96.5% 0.026 314);
--coeurdalene-purple-3: oklch(92.5% 0.052 308);
--coeurdalene-purple-4: oklch(84% 0.097 302);
--coeurdalene-purple-5: oklch(80% 0.129 302);
--coeurdalene-purple-6: oklch(71% 0.153 302);
--coeurdalene-purple-7: oklch(66% 0.162 302);
--coeurdalene-purple-8: oklch(58% 0.17 302);
--coeurdalene-purple-9: oklch(53% 0.162 302);
--coeurdalene-purple-10: oklch(49% 0.153 302);
--coeurdalene-purple-11: oklch(42% 0.138 302);
--coeurdalene-purple-12: oklch(35% 0.121 302);
--coeurdalene-purple-13: oklch(27% 0.097 302);
--coeurdalene-purple-14: oklch(20% 0.073 302);
--coeurdalene-purple-15: oklch(16% 0.056 302);
--coeurdalene-purple-16: oklch(10% 0.041 302);
--coeurdalene-purple: var(--coeurdalene-purple-13);
--eclipse-1: oklch(98% 0 0);
--eclipse-2: oklch(97% 0 0);
--eclipse-3: oklch(93% 0 0);
--eclipse-4: oklch(84% 0 0);
--eclipse-5: oklch(80% 0 0);
--eclipse-6: oklch(71% 0 0);
--eclipse-7: oklch(66% 0 0);
--eclipse-8: oklch(58% 0 0);
--eclipse-9: oklch(53% 0 0);
--eclipse-10: oklch(49% 0 0);
--eclipse-11: oklch(42% 0 0);
--eclipse-12: oklch(35% 0 0);
--eclipse-13: oklch(27% 0 0);
--eclipse-14: oklch(20% 0 0);
--eclipse-15: oklch(16% 0 0);
--eclipse-16: oklch(10% 0 0);
--eclipse: var(--eclipse-12);
--cowhide-1: oklch(98% 0.009 77.5);
--cowhide-2: oklch(97% 0.018 77.5);
--cowhide-3: oklch(93% 0.029 77.5);
--cowhide-4: oklch(84% 0.034 77.5);
--cowhide-5: oklch(80% 0.046 77.5);
--cowhide-6: oklch(71% 0.054 77.5);
--cowhide-7: oklch(66% 0.057 77.5);
--cowhide-8: oklch(58% 0.06 77.5);
--cowhide-9: oklch(53% 0.057 77.5);
--cowhide-10: oklch(49% 0.054 77.5);
--cowhide-11: oklch(42% 0.049 77.5);
--cowhide-12: oklch(35% 0.043 77.5);
--cowhide-13: oklch(27% 0.034 77.5);
--cowhide-14: oklch(20% 0.026 77.5);
--cowhide-15: oklch(16% 0.02 77.5);
--cowhide-16: oklch(10% 0.015 77.5);
--cowhide: var(--cowhide-3);
--body-background: light-dark(var(--cowhide-3), var(--eclipse-11));
--link-color: light-dark(
var(--flaming-gorge-blue),
var(--coeurdalene-purple-4)
);
--nav-button-text: light-dark(var(--eclipse-2), var(--cowhide-12));
--nav-button-background: light-dark(var(--eclipse-11), var(--cowhide-2));
--nav-button-background-hover: light-dark(
var(--eclipse-13),
var(--cowhide-4)
);
--nav-button-background-active: light-dark(
var(--eclipse-14),
var(--cowhide-5)
);
--container-border: light-dark(var(--swiss-brown-6), var(--eclipse-16));
--container-background: light-dark(var(--swiss-brown-4), var(--eclipse-12));
--container-border-alt: light-dark(var(--eclipse-16), var(--swiss-brown-6));
--container-background-alt: light-dark(
var(--eclipse-12),
var(--swiss-brown-4)
);
--motto-background: rgba(0, 0, 0, 0.66);
--page-button-text: var(--prickly-pear-yellow-1);
--page-button-background: var(--prickly-pear-yellow-8);
--page-button-background-hover: var(--prickly-pear-yellow-10);
--page-button-background-active: var(--prickly-pear-yellow-12);
--page-button-background-disabled: var(--prickly-pear-yellow-6);
--page-button-text-disabled: var(--eclipse-7);
--prickly-pear-yellow: #735f02;
--eclipse-gray: #3a3a3a;
--pumpkin-olive: #59521c;
--manhattan-steel-blue: #224553;
--pine-green: #36581d;
--brown-swiss-calf-brown: #543c21;
--ear-tag-red: #67160e;
--flaming-gorge-blue: #1b3e5a;
--hayyard-green: #355322;
--coeurdalene-purple: #1b245a;
--brown-swiss-cow-brown: #563c1f;
--buffalo-blue: #0b496a;
--saddle-blue: #104165;
--brown-swiss-gray: #eaddca;
--lavender-purple: #d9c1f6;
/*
Fonts
@ -185,10 +26,7 @@
"URW Bookman L", "Georgia Pro", Georgia, serif;
--font-family-slab-serif: Rockwell, "Rockwell Nova", "Roboto Slab",
"DejaVu Serif", "Sitka Small", serif;
--font-family-transitional: Charter, "Bitstream Charter", "Sitka Text",
Cambria, serif;
--font-family-system-ui: system-ui, sans-serif;
--font-family-monospace: "Nimbus Mono PS", "Courier New", monospace;
}
/*
@ -196,32 +34,12 @@
*/
html {
background-color: var(--body-background);
background-color: light-dark(var(--brown-swiss-gray), var(--eclipse-gray));
font-family: var(--font-family-slab-serif);
}
body {
display: flex;
flex-direction: column;
min-height: 98vh;
margin: 0 8px;
align-items: center;
}
.container {
max-width: min(60rem, 100vw - 2rem);
}
.footer-inner {
width: min(60rem, 100vw - 2rem);
display: flex;
justify-content: space-between;
align-items: center;
flex-shrink: 0;
}
a {
color: var(--link-color);
color: light-dark(var(--saddle-blue), var(--lavender-purple));
}
header {
@ -240,12 +58,18 @@ nav {
}
nav a {
color: var(--nav-button-text);
background-color: var(--nav-button-background);
color: light-dark(var(--brown-swiss-gray), var(--manhattan-steel-blue));
background-color: light-dark(
var(--manhattan-steel-blue),
var(--brown-swiss-gray)
);
border-radius: 0.05rem;
border-style: outset;
border-width: 0.2rem;
border-color: var(--nav-button-background);
border-color: light-dark(
var(--manhattan-steel-blue),
var(--brown-swiss-gray)
);
min-width: 7.5rem;
max-width: 7.5rem;
display: flex;
@ -257,95 +81,54 @@ nav a {
font-family: var(--font-family-system-ui);
}
nav a.active {
background-color: var(--nav-button-background-active);
}
nav a:active {
border-style: inset;
}
nav a:hover {
background-color: var(--nav-button-background-hover);
}
main {
display: flex;
flex-direction: column;
}
article p,
.character-dialog-text,
article li {
font-family: var(--font-family-transitional);
font-size: 1.15rem;
text-justify: inter-word;
text-align: justify;
hyphens: auto;
}
article > p {
text-indent: 2ch;
line-height: 1.5em;
}
article h1 + p,
article h2 + p,
article h3 + p,
article h4 + p,
article h5 + p,
article h6 + p {
text-indent: 0;
}
.footnotes p {
font-size: smaller;
background-color: light-dark(
var(--buffalo-blue),
color-mix(in srgb, var(--prickly-pear-yellow), var(--brown-swiss-gray) 75%)
);
}
figure {
border-color: var(--container-border);
border-color: light-dark(var(--eclipse-gray), var(--brown-swiss-gray));
border-width: 1.5pt;
border-style: inset;
border-radius: 2.5pt;
background-color: var(--container-background);
padding: 1.25pt;
}
figure:has(blockquote) {
blockquote {
background: linear-gradient(
to right,
var(--container-border),
var(--container-background)
light-dark(lightgray, dimgray),
color-mix(
in srgb,
light-dark(var(--brown-swiss-gray), var(--eclipse-gray)),
white 25%
)
);
border: none;
border-radius: 0;
border-left: 6px solid black;
padding: 0.25em 1em;
border-left: 5px solid black;
padding-left: 6px;
}
figure:has(blockquote) > blockquote {
margin: 0;
}
figure:has(blockquote) > figcaption::before {
blockquote small::before {
content: "\2014 \00A0";
}
figure:has(blockquote) > figcaption {
margin-top: -1em;
margin-bottom: 1em;
blockquote small {
font-size: 80%;
}
footer {
display: flex;
flex-direction: column;
align-items: center;
background-color: var(--container-background);
background-color: light-dark(lightgray, dimgray);
margin: 0 0 -1em -1em;
width: calc(100% - 1em);
padding: 0.25em 1.25em;
font-size: smaller;
display: flex;
justify-content: space-between;
align-items: center;
}
form {
@ -370,25 +153,6 @@ textarea:invalid {
border-bottom-color: var(--ear-tag-red);
}
code {
font-family: var(--font-family-monospace);
}
/*
abbr element "tooltip" for mobile
heavily modified from https://bitsofco.de/making-abbr-work-for-touchscreen-keyboard-mouse/
*/
abbr[title]:focus::after {
content: attr(title);
background-color: #1e1e1e;
color: #fff;
border-radius: 0.125em;
box-shadow: 1px 1px 5px 0 rgba(0, 0, 0, 0.4);
font-size: smaller;
padding: 0.5em;
display: block;
}
/*
Container-type helper classes
*/
@ -398,12 +162,6 @@ abbr[title]:focus::after {
width: 100%;
}
.motto-wrapper {
display: block;
flex: 1 0 30vh;
margin-bottom: 1em;
}
.motto {
position: relative;
display: grid;
@ -413,10 +171,8 @@ abbr[title]:focus::after {
font-weight: 600;
text-shadow: 0 0 10px rgba(0, 0, 0, 0.33);
width: 100%;
height: 100%;
padding: 0 0 0.5em 0;
border-radius: 0.25rem;
z-index: 10;
}
.motto::before {
@ -440,36 +196,32 @@ abbr[title]:focus::after {
}
.motto .motto-inside h1 {
background-color: var(--motto-background);
padding: 0.5rem;
background-color: rgba(0.33, 0.33, 0.33, 0.33);
-webkit-text-stroke: 0.3px lightgray;
line-height: 1;
}
.card {
background-color: var(--container-background);
border-color: var(--container-border);
background-color: color-mix(
in srgb,
light-dark(var(--brown-swiss-gray), var(--eclipse-gray)),
white 10%
);
border-color: light-dark(
var(--manhattan-steel-blue),
var(--brown-swiss-gray)
);
border-width: 1.5pt;
border-radius: 0.1rem;
border-style: outset;
margin: 1rem 0;
padding: 0.5rem;
padding-top: 0;
position: relative;
display: flex;
flex-direction: column;
}
.card-content {
display: flex;
flex-direction: column;
flex-grow: 1;
}
.card-header {
display: flex;
flex-direction: row;
justify-content: space-between;
flex-grow: 1;
}
.card-link {
white-space: nowrap;
display: inline-flex;
@ -477,26 +229,22 @@ abbr[title]:focus::after {
align-items: center;
text-underline-offset: 0.25em;
backface-visibility: hidden;
margin: 0.1em 0.25em;
padding: 0.33em;
padding-right: 0.45em;
}
.card-body {
margin-top: 0.33em;
margin: 0 0.5em;
}
.category-button {
position: absolute;
top: 1em;
right: 1em;
display: grid;
align-items: center;
justify-items: center;
color: white;
background-color: var(--ear-tag-red);
border-radius: 0.5em;
padding: 1em;
margin: 1em;
height: 2em;
aspect-ratio: 1 / 1;
}
.card-title {
margin-right: 3em;
}
.card-title > a {
@ -539,118 +287,6 @@ abbr[title]:focus::after {
fill: currentColor;
}
.account-bucket {
display: grid;
grid-template-columns: 3em 1em 1fr;
background-color: var(--container-background-alt);
padding: 1em 0;
border-radius: 0.5em;
border-color: var(--container-border-alt);
border-style: solid;
color: light-dark(white, black);
margin: 1em 0;
align-items: center;
}
.account-bucket h3 {
align-self: center;
writing-mode: sideways-lr;
}
.account-bucket details {
grid-column: 3;
}
.account-bucket .crypto-list {
grid-column: 3;
max-width: 100%;
}
.account-list {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
width: calc(100% - 1.5em);
}
.account-bucket .account-list {
grid-column: 3;
}
.account-list a {
font-size: xx-large;
text-decoration: none;
color: inherit;
padding: 0.5em;
}
.account-list a:hover {
background-color: var(--container-background);
border-color: var(--container-border);
border-width: 2.5px;
border-radius: 0.5em;
border-style: solid;
padding: calc(0.5em - 2.5px);
}
figcaption .mono {
color: light-dark(black, white);
overflow-wrap: anywhere;
}
.crypto-list details {
max-width: 100%;
}
.character-dialog {
display: grid;
width: calc(100% - 1rem);
grid-template-columns: 5rem 1fr;
grid-template-rows: auto auto;
gap: 1em;
margin: 0.5rem;
}
.character-avatar {
display: grid;
max-width: 100%;
grid-row: 1 / span 2;
grid-column: 1;
align-self: start;
align-items: center;
justify-items: center;
min-width: 5rem;
min-height: 5rem;
border-radius: 5rem;
align-items: center;
border-style: solid;
border-color: var(--nav-button-background-hover);
background-color: var(--cowhide-2);
}
.character-avatar > img {
max-width: 4rem;
max-height: 4rem;
}
.character-dialog-bubble {
display: grid;
grid-template-rows: auto auto;
align-self: start;
border-radius: 0.5em;
border-width: 0.2rem;
border-color: var(--nav-button-background);
border-style: outset;
row-gap: 0.5rem;
padding: 0.5rem;
background-color: var(--container-border);
min-height: 5rem;
}
.character-dialog-title {
font-weight: bolder;
}
/*
Helper classes
*/
@ -661,9 +297,6 @@ figcaption .mono {
.img-fluid {
max-width: 100%;
height: auto;
display: grid;
align-items: center;
justify-items: center;
}
.float-left {
@ -676,66 +309,21 @@ figcaption .mono {
max-width: 100%;
}
.pagination {
display: flex;
justify-content: center;
gap: 0.5em;
padding-left: 0;
/*
Application-state helper classes
*/
@media (prefers-color-scheme: light) {
.active {
background-color: var(--coeurdalene-purple);
}
}
.pagination li {
list-style-type: none;
color: var(--nav-button-text);
}
.pagination li a {
color: var(--page-button-text);
background-color: var(--page-button-background);
border-radius: 0.05rem;
border-style: outset;
border-width: 0.2rem;
border-color: var(--page-button-background);
width: 2rem;
max-width: 1.8vw;
aspect-ratio: 1 / 1;
display: flex;
justify-content: center;
align-items: center;
margin: 0.2rem;
text-decoration: none;
padding: 0 0.2rem;
font-family: var(--font-family-system-ui);
}
.pagination li a:hover {
background-color: var(--page-button-background-hover);
}
.pagination li.active a {
background-color: var(--page-button-background-active);
}
.pagination li.disabled a {
cursor: not-allowed;
background-color: var(--page-button-background-disabled);
color: var(--page-button-text-disabled);
border-style: solid;
}
.mono {
font-family: var(--font-family-monospace);
font-weight: 600;
}
.bolder {
font-weight: bolder;
background-color: rgba(0, 0, 0, 0.33);
border-radius: 0.25em;
}
/* Specific elements */
#content {
flex: 1 0 max-content;
@media (prefers-color-scheme: dark) {
.active {
color: color-mix(in srgb, var(--manhattan-steel-blue), white 75%);
background-color: color-mix(in srgb, var(--brown-swiss-gray), black 75%);
border-color: color-mix(in srgb, var(--brown-swiss-gray), black 50%);
}
}
/*
@ -775,15 +363,6 @@ figcaption .mono {
flex-direction: row;
}
.person-profile {
position: sticky;
top: 0;
width: 300px;
min-width: 20vw;
max-width: 30vw;
margin-bottom: 5vh;
}
/*
Helper classes
*/
@ -805,19 +384,20 @@ figcaption .mono {
margin-right: 1rem;
}
.card-thumbnail {
.card-header {
width: 20vw;
flex-shrink: 0;
}
.card-thumbnail:not(
:has(~ .card-content > .card-header > .card-title > .dt-published)
) {
width: 10vw;
.card-body {
margin-left: 1rem;
}
.card-content {
margin-left: 1rem;
.bolder {
font-weight: bolder;
background-color: rgba(0, 0, 0, 0.33);
border-radius: 0.25em;
padding: 0.25em 0.75em 0.5em 0.33em;
}
/*
@ -828,8 +408,7 @@ figcaption .mono {
h3::before,
h4::before,
h5::before,
h6::before,
blockquote::before {
h6::before {
content: " "; /* Older browser do not support empty content */
visibility: hidden;
display: block;
@ -837,3 +416,77 @@ figcaption .mono {
clear: both;
}
} /* end @media */
@supports (animation-timeline: scroll()) and (animation-range: 0 50vh) {
@keyframes sticky-header {
from {
height: 50vh;
top: 6rem;
}
to {
height: 10vh;
top: -1rem;
}
}
@keyframes blurry-header {
from {
filter: blur(0);
}
to {
filter: blur(2px);
}
}
@keyframes transparent-text-bg {
from {
background-color: rgba(0.33, 0.33, 0.33, 0.33);
}
to {
background-color: rgba(0.33, 0.33, 0.33, 0);
}
}
main,
footer {
position: relative;
top: 55vh;
}
.motto {
position: fixed;
top: 12rem;
animation: sticky-header linear forwards;
animation-timeline: scroll();
animation-range: 0.001vh 50vh;
}
.motto::before {
filter: blur(12px);
top: 2rem;
animation: blurry-header linear forwards;
animation-timeline: scroll();
animation-range: 0.001vh 50vh;
}
.motto-inside h1 {
animation: transparent-text-bg linear forwards;
animation-timeline: scroll();
animation-range: 0.001vh 40vh;
}
@media (min-width: 768px) {
.motto {
width: calc(100% - 8rem);
}
.motto::before {
top: 0;
}
}
} /* end @supports */

View file

@ -1,68 +0,0 @@
@media (prefers-reduced-motion: no-preference) {
@supports (animation-timeline: scroll()) and (animation-range: 0 50vh) {
@keyframes sticky-header {
from {
flex-basis: 30vh;
}
to {
flex-basis: 0;
}
}
.motto-wrapper {
position: sticky;
top: 0;
z-index: 100;
animation: sticky-header linear forwards;
animation-timeline: scroll();
animation-range: 0 30vh;
contain: content;
}
@keyframes blurry-header {
from {
filter: blur(0);
}
to {
filter: blur(3.5px);
}
}
.motto::before {
animation: blurry-header linear forwards;
animation-timeline: scroll();
animation-range: 0 30vh;
}
@keyframes transparent-text-bg {
from {
background-color: var(--motto-background);
text-shadow: 0 0 10px rgba(0, 0, 0, 0.33);
}
to {
background-color: rgba(0, 0, 0, 0);
text-shadow: 0 0 10px rgba(0, 0, 0, 1);
}
}
.motto-inside h1 {
animation: transparent-text-bg linear forwards;
animation-timeline: scroll();
animation-range: 0 30vh;
}
.motto-inside h1 small {
display: block;
font-size: calc(1vh + 1vw);
line-height: calc(1vh + 1vw);
}
main section {
margin: 0 0.25em;
contain: content;
}
} /* end @supports */
} /* end @media */

View file

@ -1,9 +1,7 @@
baseURL = "https://millironx.com"
languageCode = "en-us"
title = "Milliron X"
[pagination]
pagerSize = 5
title = "MillironX"
paginate = 5
[build]
writeStats = true
@ -11,47 +9,74 @@ writeStats = true
[Params]
cardImage = "saddles"
motto = ""
images = ["saddles.jpg"]
categories = []
[taxonomies]
people = "people"
tag = "tags"
category = "categories"
[mediaTypes]
[module]
[mediaTypes."application/atom+xml"]
suffixes = ["xml"]
[[module.mounts]]
source = "static"
target = "static"
[outputs]
home = ["atom", "html", "manifest"]
page = ["html"]
section = ["html", "atom"]
term = ["html", "atom"]
[[module.mounts]]
source = "assets/graphics"
target = "assets/graphics"
[outputFormats]
[[module.mounts]]
source = "assets/images"
target = "assets/images"
[outputFormats.atom]
mediaType = "application/atom+xml"
baseName = "feed"
[[module.mounts]]
source = "assets/scripts"
target = "assets/scripts"
[outputFormats.manifest]
name = "manifest"
baseName = "manifest"
mediaType = "application/json"
notAlternative = "true"
[[module.mounts]]
source = "assets/styles"
target = "assets/styles"
[markup]
[[modules.mounts]]
source = "assets/scripts/custom"
target = "assets/scripts/custom"
[markup.goldmark]
[[module.mounts]]
source = "./node_modules/@fortawesome/fontawesome-pro/js"
target = "assets/scripts/fontawesome"
[markup.goldmark.parser]
[[module.mounts]]
source = "./node_modules/@popperjs/core/dist/umd"
target = "assets/scripts/popper"
[markup.goldmark.parser.attribute]
block = true
[[module.mounts]]
source = "./node_modules/bootstrap/scss"
target = "assets/styles/bootstrap"
[markup.goldmark.renderHooks]
[[module.mounts]]
source = "./node_modules/bootswatch/dist/"
target = "assets/styles/bootswatch"
[markup.goldmark.renderHooks.link]
enableDefault = true
[[module.mounts]]
source = "./node_modules/@openfonts/nunito-sans_all"
target = "static/fonts/nunito-sans"
[[module.mounts]]
source = "./node_modules/bootstrap/dist/js"
target = "assets/scripts/bootstrap"
[[module.mounts]]
source = "./node_modules/fittext.js"
target = "assets/scripts/fittext"
[[module.mounts]]
source = "./node_modules/jquery/dist"
target = "assets/scripts/jquery"
[[module.mounts]]
source = "./node_modules/jquery-mask-plugin/dist"
target = "assets/scripts/jquery-mask-plugin"
[[module.mounts]]
source = "./node_modules/masonry-layout/dist"
target = "assets/scripts/masonry"

View file

@ -1,11 +1,12 @@
---
title: Home
cardImage: charolette
cardImageDescription: She almost looks like she's in her native country again.
motto: <small>My name is Thomas Christensen</small><br />I am Milliron X
description: The homepage of Thomas A. Christensen II
layout: _default/list
menu:
main:
name: Home
params:
icon: home
weight: -1000
@ -16,15 +17,72 @@ menu:
It's a [cattle brand](https://en.wikipedia.org/wiki/Livestock_branding), of
course! My cattle brand!
The {{< dfn >}}milliron{{< /dfn >}} is the bar with a bend in the middle. It
does not represent anything physical or textual _per se_, and is therefore a
rather unique element in cattle brands. Millirons are difficult to modify into
another brand, and provide a guarantee of authentic ownership.
The <dfn>milliron</dfn> is the bar with a bend in the middle. It does not
represent anything physical or textual _per se_, and is therefore a rather
unique element in cattle brands. Millirons are difficult to modify into another
brand, and provide a guarantee of authentic ownership.
{{< dfn >}}X{{< /dfn >}} is the letter of mystery and mystique. For nerds, it's
the unknown in any algebra problem. Ranchers and cowboys will associate it with
big names like the "Bar X" and the "Double X." In either case, it lends itself
to a sense of withholding, prestige, and power.
<dfn>X</dfn> is the letter of mystery and mystique. For nerds, it's the unknown
in any algebra problem. Ranchers and cowboys will associate it with big names
like the "Bar X" and the "Double X." In either case, it lends itself to a sense
of withholding, prestige, and power.
Together, these two symbols represent the qualities I strive for in each of my
works: authenticity, originality, power, depth, and prestige.
## Who am I?
{{< imgproc me-and-lady Resize "768x" "float-right" >}} Image courtesy
[Guy McCutcheon Photography](https://www.guymccutcheon.com/) {{< /imgproc >}}
I am
- 🧬 A bioinformatician (by profession)
- 📐 An engineer (by education)
- 🐂 A rancher (by lifestyle)
- 🖥️ A techie (self-taught)
- 🎥 And a filmmaker (at heart)
I've got a soft spot for Brown Swiss dairy cows (just in case you couldn't tell
by the pictures), and am sometimes called "one of those crazy, Wyoming dairy cow
people." I love anything to do with cattle or technology, but especially
anything to do with both of them.
_<abbr
title="Born again, fundamentalist, dispensationalist, King James Bible-believing, independent Baptist"
>Christian</abbr
>, American, Convervative, Pro-gun, Heterosexual - any questions?_
## Where am I?
{{< imgproc wy-in-ks Resize "768x" "float-left" / >}}
I am a Wyomingite sojurning in Kansas. That ought to lead to some interesting
stories.
Around the web you can find me at (in order of subjective importance)
- {{< fa github >}} GitHub: [@MillironX](https://github.com/MillironX)
- {{< fa orcid >}} ORDiD:
[0000-0003-1219-9320](https://orcid.org/0000-0003-1219-9320)
- {{< fa gitlab >}} GitLab: [@MillironX](https://gitlab.com/MillironX)
- {{< fa vimeo >}} Vimeo:
[Thomas Christensen II](https://vimeo.com/tchristensenii)
- {{< fa stack-overflow >}} StackExchange:
[Milliron X](https://stackexchange.com/users/4863541/milliron-x)
- {{< fa steam >}} Steam: [MillironX](https://steamcommunity.com/id/millironx)
This list is intended to verify my identity on other sites. Please do _not_ use
it as fodder to try and "follow" me on each of these platforms. I stand with
RMS:
{{< blockquote "Richard Stallman _in_ [If you feel your organization needs a 'presence' in Facebook](https://stallman.org/facebook-presence.html)" >}}
Facebook is a bad place for a person to be. When people find us on Facebook, we
lead them away from Facebook and then talk with them elsewhere.
{{< /blockquote >}}
I typically don't respond to inquiries made on these platforms. Please use
[my contact form](/contact), instead.
</div>
</div>

View file

@ -14,15 +14,13 @@ menu:
fa-thumbnail: university
---
> I have spent too long in school and not enough time in the middle of nowhere
>
> -- Baxter Black, DVM
During my time in academia, I have amassed a few notable accomplishments. Of
course, as the old saying goes, "if it isn't published, then it never happened,"
so here is a list of everything that actually happened.
Academia is not the be-all and end-all of life (contrary to what your professor
might have told you). I've found the side-effects to be similar to this guy's:
<!-- prettier-ignore-start -->
> I have spent too long in school and not enough time in the middle of nowhere,
> and it has inhibited my ability to learn the simple things.
{author="Baxter Black, DVM"}
<!-- prettier-ignore-end -->
so here is a list of everything that actually happened. Several of these
articles are also available on
[my Google Scholar page](https://scholar.google.com/citations?user=gbP4RDgAAAAJ),
but this is the complete list.

View file

@ -1,42 +0,0 @@
---
title: "Genetic analysis of bovine papillomas"
date: 2024-09-19
categories:
- poster
people:
- Thomas A. Christensen II
- Rachel Palinski
- Bob Gentry
journal:
"National Association of Animal Breeders Technical Conference Student Poster
session"
location: "Middleton, Wisconsin"
---
Bovine papillomavirus (BPV) is a major cause of reproductive failure in cattle.
In bulls, penile papillomas caused by BPV may cause reluctance to breed, and is
always a cause to fail an animal on a breeding soundness exam. Historically, it
has been thought that BPV was transmitted via direct contact and could be
controlled by managing clinically presenting animals in the herd, but more
recent evidence suggests alternative modes of transmission. BPV has been found
repeatably in clinically healthy animals, and in non-cutaneous secretions
including milk, blood, urine and semen. Currently, no commercially available BPV
vaccine uses isolated viral particles and naturally occurring virus does not
produce cross-protective immunity. In order to develop a proper vaccine for
penile papillomas further studies are required to understand the epidemiology of
BPV in herds. While vulvar, cutaneous, and mammary papillomas have been
genotyped in recent years, this information is not available for penile
papillomas. In this study there were 31 submissions, collected from 7 states,
NE, KS, NY, TX, AL, MO and SD (14 different cattle operations) Samples were
collected between August of 2022 and April 2024. Twenty-two submissions were
penile papillomas and with pooling of samples represented over 50 penile
papillomas. Samples were metagenomically sequenced at the Kansas State
Veterinary Diagnostic Lab, and the genotype of each sample was determined using
the phylogenetic analysis. The clade of each sample was determined by aligning
consensus sequences of the L1 gene (used for both for phylogeny and as a vaccine
target) using MAFFT and a maximum-likelihood phylogeny generated in Mega X.
Analysis found that all penile papilloma submissions were composed of BPV type
2, with one sample showing co-infection with BPV type 1. Conversely, cutaneous
and teat papillomas had BPV genotypes that were more variable with genotypes of
1,2,7,12,14,29 and 40. These results indicate that BPV type 2 and type 1 provide
a unified target for bovine penile papilloma vaccine development.

View file

@ -1,14 +0,0 @@
---
title:
"Got Warts? Bovine Papillomavirus Pathogenesis, Transmission, and Vaccination"
date: 2024-09-19
featured: false
categories:
- presentation
people:
- Bob Gentry
- Thomas A. Christensen II
journal:
"National Association of Animal Breeders Technical Conference Sponsor session"
location: "Middleton, Wisconsin"
---

Binary file not shown.

Before

Width:  |  Height:  |  Size: 632 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 668 KiB

View file

@ -1,7 +1,6 @@
---
title:
"nf-core/taxprofiler: highly parallelised and flexible pipeline for
metagenomic taxonomic classification and profiling"
"nf-core/taxprofiler: highly parallelised and flexible pipeline for metagenomic taxonomic classification and profiling"
date: 2023-10-23
featured: true
tags:
@ -17,25 +16,9 @@ people:
- Maxime Borry
- Mahwash Jamy
- nf-core community
- James A. Fellows Yates
- James A. Fellows Yate
link: https://doi.org/10.1101/2023.10.20.563221
journal: bioRxiv
---
Metagenomic classification tackles the problem of characterising the taxonomic
source of all DNA sequencing reads in a sample. A common approach to address the
differences and biases between the many different taxonomic classification tools
is to run metagenomic data through multiple classification tools and databases.
This, however, is a very time-consuming task when performed manually -
particularly when combined with the appropriate preprocessing of sequencing
reads before the classification. Here we present nf-core/taxprofiler, a highly
parallelised read-processing and taxonomic classification pipeline. It is
designed for the automated and simultaneous classification and/or profiling of
both short- and long-read metagenomic sequencing libraries against a 11
taxonomic classifiers and profilers as well as databases within a single
pipeline run. Implemented in Nextflow and as part of the nf-core initiative, the
pipeline benefits from high levels of scalability and portability, accommodating
from small to extremely large projects on a wide range of computing
infrastructure. It has been developed following best-practise software
development practises and community support to ensure longevity and adaptability
of the pipeline, to help keep it up to date with the field of metagenomics.
Metagenomic classification tackles the problem of characterising the taxonomic source of all DNA sequencing reads in a sample. A common approach to address the differences and biases between the many different taxonomic classification tools is to run metagenomic data through multiple classification tools and databases. This, however, is a very time-consuming task when performed manually - particularly when combined with the appropriate preprocessing of sequencing reads before the classification. Here we present nf-core/taxprofiler, a highly parallelised read-processing and taxonomic classification pipeline. It is designed for the automated and simultaneous classification and/or profiling of both short- and long-read metagenomic sequencing libraries against a 11 taxonomic classifiers and profilers as well as databases within a single pipeline run. Implemented in Nextflow and as part of the nf-core initiative, the pipeline benefits from high levels of scalability and portability, accommodating from small to extremely large projects on a wide range of computing infrastructure. It has been developed following best-practise software development practises and community support to ensure longevity and adaptability of the pipeline, to help keep it up to date with the field of metagenomics.

View file

@ -1,54 +0,0 @@
---
title: "YAVSAP: versatile viral quasispecies analysis for veterinary samples"
date: 2024-03-05
featured: false
categories:
- presentation
people:
- Thomas A. Christensen II
- Steven Stancic
- Andrea Lu
- Dana Mitzel
- William Wilson
- Rachel Palinski
journal: "Phi Zeta Research Day"
location: "Manhattan, Kansas"
tags:
- virus
- quasispecies
- next-generation sequencing
- pipeline
awards:
- "2nd Place Large Animal Applied Research Presentation"
link: "/academia/yavsap/yavsap.pdf"
---
Viral populations within an infected host are composed of viral particles with a
spectrum of genetic mutations rather than a unified genome. This phenomenon is
referred to as viral "quasispecies," and has been useful for the understanding
of viral transmission and early detection of new viral variants. Next generation
sequencing (NGS) has enabled the study of these quasispecies for many viral
species, notably Influenza A and B, Human Immunodeficiency Virus (HIV), Foot and
Mouth Disease Virus (FMDV), and Severe Acute Respiratory Syndrome Coronavirus 2
(SARS CoV2), and established protocols and computer analysis tools have been
developed for these species. Some of the most important viruses, such as
emerging and exotic disease agents, however, do not have replicatable protocols
or software tools capable of producing valid output from their sequence data.
Here, we present Yet Another Viral Subspecies Analysis Pipeline (YAVSAP). YAVSAP
is a fully automated bioinformatic pipeline built from the ground up to identify
and analyze viral quasispecies of any arbitrary virus in human and veterinary
samples. YAVSAP provides reference-based genome mapping of both long- and
short-read sequencing reads to any reference genome that the user chooses,
identifies subconsensus variants and haplotypes, and assesses the phylogenies of
all viral sequences found within a sample. YAVSAP is written in Nextflow and
conforms to the nf-core initiative's standards, which allows it to run on
low-end computers, high performance computing (HPC) clusters, or anything in
between with zero configuration. YAVSAP has been tested on viruses of interest
to veterinary medicine and public health, including Japanese Encephalitis Virus
(JEV), Influenza D Virus (IDV), Bovine Coronavirus (BCoV), SARS CoV2, and Rift
Valley Fever Virus (RVFV), and can correctly identify consensus genomes and
quasispecies within samples containing each of these viruses. This tool provides
a means for biologists with little bioinformatic experience to analyze deep
sequence data while correcting for many of the pitfalls associated with previous
and current analysis platforms. YAVSAP is open source software and is publicly
available at https://github.com/ksumngs/yavsap.

Binary file not shown.

View file

@ -1,15 +1,5 @@
---
title: "Blogroll"
menu:
main:
name: Blogroll
params:
icon: scroll
weight: -800
cardImage: eclipse
cardImageDescription: |
Randall Monroe was right. Eclipses are way cooler than they sound.
suppressRss: true
draft: true
---
## Stuff I like on the internet
@ -17,4 +7,39 @@ suppressRss: true
This section of a website used to be called a "blogroll." I don't know what it's
called now. In order to be on this list, I must have been subscribed or
otherwise follow it for over a year. It's amazing how little stuff on the
internet can make that cut.
internet can't make that cut.
### [Thru the Bible](https://ttb.org/)
I'm convinced that the word of God is timeless, and we need less commentary and
cherry-picking of favorite verses, and more study of the complete Bible. Dr.
McGee does just that.
### [Enoch the Cow Vet](https://youtube.com/channel/UC6PPmHUbcdOSzX5tLB3uXdw)
A veterinarian/agricultural channel that doesn't make me cringe. "God built
these things for cows for vets ... [there are] so many aspects of the cow that
are just designed for vets." Amen, Enoch. Amen.
### [Proglogion](https://blog.drwile.com/)
The blog of my high school science teacher (of sorts). It is refreshing to find
a creationist who can still think critically. I love his "bad sermon
illustrations" posts.
### [The Milk Check](https://www.jacoby.com/learning-center/podcasts-overview/)
A pragmatic inside look at dairy marketing. I only understand half of what
they're talking about, but I learn something new every episode.
### [Brian Harry's Blog](https://devblogs.microsoft.com/bharry/)
Where else are you going to find a blog about cows _and_ version control? The
blog is basically dead now, but it's still fun to go back and read the farm
stories.
### [Car Talk](https://cartalk.com/)
The antics of these guys are enough to make anyone have to pull over to the side
of the road from laughing too much. I dread the day when NPR fully axes the only
good program to cross their airwaves.

View file

@ -1,8 +0,0 @@
---
title: Brian Harry's blog
link: https://devblogs.microsoft.com/bharry/
---
Where else are you going to find a blog about cows _and_ version control? The
blog is basically dead now, but it's still fun to go back and read the farm
stories.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 514 KiB

View file

@ -1,8 +0,0 @@
---
title: Car Talk
link: https://cartalk.com
---
The antics of these guys are enough to make anyone have to pull over to the side
of the road from laughing too much. I dread the day when NPR fully axes the only
good program to cross their airwaves.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

View file

@ -1,8 +0,0 @@
---
title: Enoch the Cow Vet
link: https://youtube.com/channel/UC6PPmHUbcdOSzX5tLB3uXdw
---
A veterinarian/agricultural channel that doesn't make me cringe. "God built
these things for cows for vets ... [there are] so many aspects of the cow that
are just designed for vets." Amen, Enoch. Amen.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

View file

@ -1,8 +0,0 @@
---
title: Proslogion
link: https://blog.drwile.com
---
The blog of my high school science teacher (of sorts). It is refreshing to find
a creationist who can still think critically. I love his "bad sermon
illustrations" posts.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 323 KiB

View file

@ -1,8 +0,0 @@
---
title: Thru the Bible
link: https://ttb.org
---
I'm convinced that the word of God is timeless, and we need less commentary and
cherry-picking of favorite verses, and more study of the complete Bible. Dr.
McGee does just that.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 59 KiB

View file

@ -1,75 +0,0 @@
{{ $data := dict }}
{{ $url := "https://code.millironx.com/api/v1/users/millironx/repos" }}
{{ with try (resources.GetRemote $url) }}
{{ with .Err }}
{{ errorf "Unable to get remote resource %s: %s" $url . }}
{{ else with .Value }}
{{ $data = . | transform.Unmarshal }}
{{ end }}
{{ else }}
{{ errorf "Unable to get remote resource %s" $url }}
{{ end }}
{{ range $data }}
{{/* Get tags of this repository. To quote Steve Edstrom, "If it doesn't have a
tag, it doesn't count."
*/}}
{{ $tagUrl := print "https://code.millironx.com/api/v1/repos/millironx/" .name "/tags" }}
{{ $tagData := dict }}
{{ with try (resources.GetRemote $tagUrl) }}
{{ with .Err }}
{{ errorf "Unable to get remote resource %s: %s" $tagUrl . }}
{{ else with .Value }}
{{ $tagData = . | transform.Unmarshal }}
{{ end }}
{{ else }}
{{ errorf "Unable to get remote resource %s" $tagUrl }}
{{ end }}
{{ $firstTag := index $tagData 0 }}
{{ if $firstTag }}
{{ $dates := dict "date" (time.AsTime $firstTag.commit.created) }}
{{ $content := dict "mediaType" "text/markdown" "value" .description }}
{{ $categories := slice "code" }}
{{ $people := slice "Thomas A. Christensen II" }}
{{ $link := .html_url }}
{{ $featured := (gt .stars_count 0) }}
{{ $tags := .topics }}
{{ $params := dict
"categories" $categories
"people" $people
"link" $link
"featured" $featured
"tags" $tags
}}
{{ $page := dict
"content" $content
"dates" $dates
"title" .name
"path" .name
"params" $params
}}
{{ $.AddPage $page }}
{{ $item := . }}
{{ with $url := $item.avatar_url }}
{{ with resources.GetRemote $url }}
{{ with .Err }}
{{ errorf "Unable to get remote resource %s: %s" $url . }}
{{ else }}
{{ $content := dict "mediaType" .MediaType.Type "value" .Content }}
{{ $resource := dict
"content" $content
"path" (print $item.name "/thumbnail." .MediaType.SubType)
}}
{{ $.AddResource $resource }}
{{ end }}
{{ else }}
{{ errorf "Unable to get remote resource %s" $url }}
{{ end }}
{{ end }}
{{ end }}
{{ end }}

View file

@ -1,14 +0,0 @@
---
title: Coding projects
menu:
main:
name: Code
params:
icon: code
link: https://code.millironx.com
weight: 50
fa-thumbnail: code
link: https://code.millironx.com
---
A Forgejo instance dedicated to cows and technology

View file

@ -15,21 +15,12 @@ menu:
weight: 1
fa-thumbnail: file-signature
validation: true
suppressRss: true
---
<script src="https://js.hcaptcha.com/1/api.js" async defer></script>
<form action="https://usebasin.com/f/787df7bfd22e" method="post">
<fieldset>
<legend>Contact Me</legend>
<input
type="hidden"
class="form-control"
id="honorific"
name="honorific"
placeholder="Dr."
/>
<input type="hidden" name="_gotcha" />
<label for="name">Name</label>
<input
type="text"
@ -74,13 +65,6 @@ suppressRss: true
required
style="min-height: 72pt;"
></textarea>
<!-- hCAPTCHA widget -->
<div
class="form-control h-captcha"
data-sitekey="7fe715a1-151f-4c63-b497-bd971974df05"
></div>
<button type="reset" class="btn btn-default">Cancel</button>
<button type="submit" class="btn btn-primary pageclip-form__submit">
<span>Submit</span>

View file

@ -1,14 +0,0 @@
---
title: Login
menu:
main:
name: Login
params:
icon: right-to-bracket
link: https://youtu.be/dQw4w9WgXcQ
weight: 99
fa-thumbnail: right-to-bracket
link: https://youtu.be/dQw4w9WgXcQ
---
The password is "Open sesame!"

BIN
content/me-and-lady.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 MiB

Some files were not shown because too many files have changed in this diff Show more