feat: migrate to 11ty (#1)

alas, hugo. we hardly knew ye.

Reviewed-on: https://git.tacowolf.net/TacoWolf/mestizo.monster/pulls/1
Co-authored-by: taco <signing@tacowolf.net>
Co-committed-by: taco <signing@tacowolf.net>
This commit is contained in:
taco 2026-04-10 19:48:32 -04:00 committed by taco
parent 00e592be04
commit f1b8097978
76 changed files with 2658 additions and 635 deletions

1
.eleventyignore Normal file
View file

@ -0,0 +1 @@
README.md

19
.gitignore vendored
View file

@ -1,19 +1,14 @@
# sourced from: # sourced from:
# https://raw.githubusercontent.com/github/gitignore/main/community/golang/hugo.gitignore # https://github.com/11ty/eleventy-base-blog/blob/main/.gitignore
# generated files by hugo # ignore installed npm modules
/public/ node_modules/
/resources/_gen/
/assets/jsconfig.json
hugo_stats.json
# executable may be added to repository # ignore eleventy output when doing manual tests
hugo.exe _site/
hugo.darwin
hugo.linux
# temporary lock file while building # ignore test files
/.hugo_build.lock .cache
# don't commit secrets # don't commit secrets
upload.conf upload.conf

View file

5
.prettierignore Normal file
View file

@ -0,0 +1,5 @@
# Ignore artifacts:
build
coverage
_site
node_modules

17
.prettierrc Normal file
View file

@ -0,0 +1,17 @@
{
"plugins": ["prettier-plugin-jinja-template"],
"overrides": [
{
"files": ["*.njk"],
"options": {
"parser": "jinja-template"
}
}
],
"useTabs": false,
"singleQuote": false,
"semi": true,
"endOfLine": "lf",
"arrowParens": "always",
"printWidth": 100
}

View file

@ -1,4 +1,4 @@
Contact: mailto:security@tacowolf.net Contact: mailto:security@tacowolf.net
Expires: 2025-04-20T20:20:00.000Z Expires: 2030-04-20T20:20:00.000Z
Preferred-Languages: en, es Preferred-Languages: en, es
Canonical: https://mestizo.monster/.well-known/security.txt Canonical: https://mestizo.monster/.well-known/security.txt

24
LICENSE Normal file
View file

@ -0,0 +1,24 @@
This is free and unencumbered software released into the public domain.
Anyone is free to copy, modify, publish, use, compile, sell, or
distribute this software, either in source code form or as a compiled
binary, for any purpose, commercial or non-commercial, and by any
means.
In jurisdictions that recognize copyright laws, the author or authors
of this software dedicate any and all copyright interest in the
software to the public domain. We make this dedication for the benefit
of the public at large and to the detriment of our heirs and
successors. We intend this dedication to be an overt act of
relinquishment in perpetuity of all present and future rights to this
software under copyright law.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
For more information, please refer to <https://unlicense.org/>

View file

@ -1,21 +0,0 @@
MIT License
Copyright (c) 2025 Daniel Alejandro Gallegos
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

7
README.md Normal file
View file

@ -0,0 +1,7 @@
# mestizo.monster
## license
the code to build the website is licensed under [The Unlicense](LICENSE).
the actual content of the website (each of the pages being rendered) are licensed under [CC BY-NC 4.0](https://creativecommons.org/licenses/by-nc/4.0/).

59
_includes/_footer.njk Normal file
View file

@ -0,0 +1,59 @@
<footer>
<p>
<a
rel="me noreferrer noopener"
target="_tab"
href="https://tilde.zone/@taco"
title="all my cool posts"
>mastodon</a
>
-
<a
rel="noreferrer noopener"
target="_tab"
href="https://codeberg.org/takouhai"
title="most of my cool code"
>codeberg</a
>
-
<a
rel="noreferrer noopener"
target="_tab"
href="https://keyoxide.org/dde52d5b73e9bcb3da5af230f762860f6b1c66b7"
title="i know how pgp keys work!"
>keyoxide</a
>
</p>
<p>
<a
rel="noreferrer noopener"
target="_tab"
href="https://mestizo.monster"
title="all wrongs reserved"
>mestizo.monster</a
>
copyleft 2012 - 2026 by
<a
rel="noreferrer noopener"
target="_tab"
href="https://mestizo.monster/about"
title="hey, that's me!"
>taco</a
>
is licensed under
<a rel="noreferrer noopener" target="_tab" href="http://creativecommons.org/licenses/by-nc/4.0/"
>CC BY-NC 4.0</a
>.
</p>
<p>
this website is
<a
rel="noreferrer noopener"
target="_tab"
href="https://git.tacowolf.net/TacoWolf/mestizo.monster"
target="_blank"
title="fancy name for saying you can see the source code"
>open source</a
>.
</p>
</footer>

17
_includes/_header.njk Normal file
View file

@ -0,0 +1,17 @@
<header>
<a href="/">
<img
href="/"
src="/img/taco.svg"
alt="vector drawing of a smiling cartoon taco with tortilla legs."
title="hey! :)"
/></a>
<nav>
<h1>mestizo.monster</h1>
<ul>
<li><a href="/" title="home">🏠</a></li>
<li><a href="/posts" title="posts">✍️</a></li>
<li><a href="/about" title="about">🌮</a></li>
</ul>
</nav>
</header>

28
_includes/_og.njk Normal file
View file

@ -0,0 +1,28 @@
{% if tags == "post" %}
<meta property="og:type" content="article" />
<meta property="og:url" content="https://mestizo.monster/{{ url }}" />
<meta property="article:author" content="https://mestizo.monster/about" />
<meta property="article:section" content="{{ section }}" />
{% for tag in keywords %}
<meta property="article:tag" content="{{ tag }}" />
{% endfor %}
<meta property="og:locale" content="en_US" />
<meta property="og:title" content="{{ title }} - mestizo.monster" />
<meta property="og:description" content="{{ description }}" />
<meta property="og:image" content="https://mestizo.monster/img/taco.svg" />
<meta
property="og:image:alt"
content="vector drawing of a smiling cartoon taco with tortilla legs."
/>
{% else %}
<meta property="og:type" content="website" />
<meta property="og:url" content="https://mestizo.monster{{ page.url }}" />
<meta property="og:locale" content="en_US" />
<meta property="og:title" content="{{ title }} - mestizo.monster" />
<meta property="og:description" content="{{ description }}" />
<meta property="og:image" content="https://mestizo.monster/img/taco.svg" />
<meta
property="og:image:alt"
content="vector drawing of a smiling cartoon taco with tortilla legs."
/>
{% endif %}

15
_includes/base.njk Normal file
View file

@ -0,0 +1,15 @@
<!DOCTYPE html>
<html lang="en" prefix="og: https://ogp.me/ns#">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
{% include "_og.njk" %}
<title>{{ title }} - mestizo.monster</title>
<link href="/css/main.css" rel="stylesheet" />
</head>
<body>
{% include "_header.njk" %}
{{ content | safe }}
{% include "_footer.njk" %}
</body>
</html>

11
_includes/main.njk Normal file
View file

@ -0,0 +1,11 @@
---
layout: base.njk
---
{% if title != "home" %}
<section>
<nav><a href="/">home</a> > <a href="{{ page.url }}">{{ title }}</a></nav>
</section>
{% endif %}
<main>{{ content | safe }}</main>

20
_includes/post-list.njk Normal file
View file

@ -0,0 +1,20 @@
---
layout: base.njk
---
<section>
<nav><a href="/">home</a> > <a href="{{ page.url }}">{{ title }}</a></nav>
</section>
<main>
{{ content | safe }}
<ul>
{%- for post in ( collections.post | sortByDate ) -%}
<li>
<a href="{{ post.url }}">{{ post.data.date }} - {{ post.data.title }}</a>
({{ post.content | readingTime }})<br />
<em>{{ post.data.description }}</em>
</li>
{%- endfor -%}
</ul>
</main>

45
_includes/post.njk Normal file
View file

@ -0,0 +1,45 @@
---
layout: base.njk
---
{% set previousPost = collections.post | getPreviousCollectionItem %}
{% set nextPost = collections.post | getNextCollectionItem %}
<section>
<nav>
<a href="/">home</a> > <a href="/posts">posts</a> > <a href="{{ page.url }}">{{ title }}</a>
</nav>
</section>
<main>
<article>
<hgroup>
<h1>{{ title }}</h1>
<p>{{ description }}</p>
<ul>
<li><strong>author:</strong> <a href="/about">daniel a. gallegos (taco)</a></li>
<li><strong>reading time:</strong> about {{ content | readingTime }}</li>
<li><strong>published:</strong> {{ date }}</li>
</ul>
</hgroup>
<section>{{ content | safe }}</section>
<nav>
<ol>
<li>
previously... <br />{% if previousPost %}
<a href="{{ previousPost.url }}">{{ previousPost.data.title }}</a>
{% else %}
...not much.
{% endif %}
</li>
<li>
...up next<br />{% if nextPost %}
<a href="{{ nextPost.url }}">{{ nextPost.data.title }}</a>
{% else %}
...who knows?
{% endif %}
</li>
</ol>
</nav>
</article>
</main>

38
about/index.md Normal file
View file

@ -0,0 +1,38 @@
---
title: "about"
layout: main.njk
description: "but who is taco? and how much does it weigh?"
---
# {{ title }}
<figure>
<img src="/img/taco_irl.jpg" alt="a smiling mestizo person wearing a Mastodon t-shirt." title="eek, a person!"/>
</figure>
**Daniel A. Gallegos**, also known as **"taco",** is a [full-stack software developer](https://en.wikipedia.org/wiki/Solution_stack) and [site reliability engineer](https://en.wikipedia.org/wiki/Site_reliability_engineering) who works with businesses, governments, [educators](https://web.archive.org/web/20230131144232/https://eberly.wvu.edu/news-events/eberly-news/2021/04/12/eberly-college-students-lead-gender-inclusivity-anti-racism-training-at-wvu), [non-profits](https://carrynaloxone.org/), and [startups](https://web.archive.org/web/20160901215818/https://devacademy.la/) to create digital solutions for your real-world problems, ranging from developing government enterprise applications 🖥️, to creating graphic assets for professional digital presence 🎨, to administering servers for harm reduction coalitions 🛠️.
after spending over 15 years working with a variety of frontends, backends, deadends, software, hardware, various operating systems, and more, daniel is more than capable of handling whatever software or hardware problem you need solved.
Daniel has contributed to projects of many shapes and sizes around the world, including developing enterprise software applications for the Peruvian government 🇵🇪, creating on-brand graphic assets for multiple offices at West Virginia University 🎓, redesigning an entire technical institutes website 🧑‍🎨, working as a system administrator for nonprofits with diverse needs 🤓, and managing hundreds of linux servers in the cloud 🐧. in addition to his extensive software development and system operations experience, Daniel is a skilled technical writer, copywriter, graphic designer, and definitely doesnt feel weird writing about himself in the third person. hes a pro! 😉
Daniel holds a Bachelors in Multidisciplinary Studies (BMdS) from [West Virginia University](https://web.archive.org/web/20230728010055/https://lists.wvu.edu/graduation?county=&letter=--&name=&page=5&state=&term=fall&year=2021), which includes areas of study such as:
- 💻 computer science
- 🇺🇸 english
- 🇪🇸 spanish
- 🇪🇨🇨🇴🇻🇪 latin american studies
- 🏳️‍🌈 lgbtq+ studies
- and other classes he took and just enjoyed, tbh
he currently works as a [site reliability engineer](https://en.wikipedia.org/wiki/Site_reliability_engineering) for some big healthcare corporation and as a [webmaster](https://en.wikipedia.org/wiki/Webmaster) for various nonprofit organizations. in his free time, Daniel likes tinkering with linux server administration and self-hosting technologies to better his life and the lives of those around him. as it is with most folks, Daniels opinions are his own and do not represent the views of his employer(s).
# colophon
`mestizo.monster` is built with:
- [Markdown](https://commonmark.org/)
- [Eleventy](https://github.com/11ty/eleventy/)
- [Martian Grotesk](https://github.com/evilmartians/grotesk) - released under the [Open Font License (OFL v1.1)](https://openfontlicense.org/)
- [VT323](https://github.com/phoikoi/VT323) - released under the [Open Font License (OFL v1.1)](https://openfontlicense.org/)
- and support from readers like you. thank you!

View file

@ -1,5 +0,0 @@
+++
title = '{{ replace .File.ContentBaseName "-" " " | title }}'
date = {{ .Date }}
draft = true
+++

97
assets/css/colors.css Normal file
View file

@ -0,0 +1,97 @@
:root {
--color-green: #99cc66;
--color-dark-green: #2d3d1e;
--color-light-orange: #ff9900;
--color-orange: #cc6600;
--color-brown: #663300;
--color-dark-brown: #281400;
--color-purple: #9966cc;
--color-dark-purple: #330033;
--color-gray: #fefefe;
--color-black: #000000;
}
blockquote {
background-color: rgb(0 0 0 / 10%);
}
h1,
h2,
h3,
h4,
h5,
h6 {
color: var(--color-brown);
}
body {
background-color: var(--color-green);
}
main {
background-color: var(--color-gray);
}
nav {
background-color: var(--color-gray);
color: var(--color-brown);
}
footer {
p {
font-size: 1.1em;
color: var(--color-dark-purple);
}
}
a {
color: var(--color-orange);
}
a:visited {
color: var(--color-brown);
}
@media (prefers-color-scheme: dark) {
body {
background-color: var(--color-dark-green);
color: var(--color-gray);
}
main {
background-color: var(--color-dark-brown);
}
nav {
background-color: var(--color-dark-brown);
color: var(--color-gray);
}
h1,
h2,
h3,
h4,
h5,
h6 {
color: var(--color-light-orange);
}
blockquote {
background-color: rgb(255 255 255 / 10%);
}
a {
color: var(--color-light-orange);
}
a:visited {
color: var(--color-orange);
}
footer {
p {
font-size: 1.1em;
color: var(--color-gray);
}
}
}

74
assets/css/fonts.css Normal file
View file

@ -0,0 +1,74 @@
@font-face {
font-family: "VT323";
font-display: swap;
src: url("/fonts/VT323.woff2") format("woff2");
}
@font-face {
font-family: "Martian Grotesk Standard Light";
font-display: swap;
src: url("/fonts/MartianGrotesk-StdLt.woff2") format("woff2");
font-weight: 300;
font-stretch: 100%;
}
@font-face {
font-family: "Martian Grotesk Standard Medium";
font-display: swap;
src: url("/fonts/MartianGrotesk-StdMd.woff2") format("woff2");
font-weight: 500;
font-stretch: 100%;
}
@font-face {
font-family: "Martian Mono Standard Regular";
font-display: swap;
src: url("/fonts/MartianMono-StdRg.woff2") format("woff2");
font-weight: 400;
font-stretch: 100%;
}
h1,
h2,
h3,
h4,
h5,
h6 {
font-family: "VT323", monospace;
font-weight: 400;
font-style: normal;
}
h1 {
font-size: 2.75em;
}
h2 {
font-size: 2.5em;
}
h3 {
font-size: 2.25em;
}
h4 {
font-size: 2em;
}
* {
font-family: "Martian Grotesk Standard Light", sans-serif;
}
a,
strong {
font-family: "Martian Grotesk Standard Medium", sans-serif;
}
pre,
code {
font-family: "Martian Mono Standard Regular", monospace;
}
em {
font-family: inherit;
}

208
assets/css/layout.css Normal file
View file

@ -0,0 +1,208 @@
body {
display: flex;
flex-direction: column;
margin: 0 auto;
padding-top: 1em;
}
main {
margin-top: 1em;
padding: 1em;
width: 100%;
border-radius: 0.42em;
}
header {
width: 100%;
display: flex;
justify-content: start;
align-content: center;
a {
width: 15%;
}
nav {
border-radius: 0.42em;
width: 100%;
display: flex;
padding: 0 1em;
h1 {
align-content: center;
}
ul {
align-content: center;
padding-left: 0;
li {
font-size: 1.5em;
padding: 0.5em 0 0.5em 0.5em;
list-style: none;
display: inline-block;
a {
text-decoration: none;
}
}
}
}
}
main {
figure {
img {
margin: 0 auto;
width: 420px;
border-radius: 0.42em;
}
figcaption {
text-align: center;
font-style: italic;
}
margin: 2em auto;
}
}
article {
figure {
img {
width: 96%;
}
}
}
section {
nav {
margin-top: 1em;
padding: 1em;
border-radius: 0.42em;
}
}
article {
padding: 0.5em;
hgroup {
ul {
list-style: none;
padding: 0;
text-align: justify;
}
}
nav {
ol {
list-style: none;
padding: 0;
margin: 0;
display: flex;
justify-content: space-between;
li:first-of-type {
text-align: left;
}
li:last-of-type {
text-align: right;
}
}
}
}
blockquote {
margin: 1em;
padding: 1em;
font-style: italic;
border-radius: 0.42em;
}
p {
padding-top: 1em;
padding-bottom: 1em;
}
footer {
padding-top: 1em;
font-size: 0.75em;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
p {
padding: 0.5em;
}
}
@media only screen and (max-width: 576px) {
main {
figure {
img {
width: 69vw;
}
}
}
body {
width: 95%;
}
header {
justify-content: space-between;
nav {
padding: 0;
margin: 0;
h1 {
display: none;
padding: 0;
margin: 0;
}
ul {
padding-right: 1em;
}
display: flex;
width: auto;
justify-content: center;
}
}
}
@media only screen and (min-width: 577px) and (max-width: 768px) {
body {
width: 80%;
nav {
justify-content: space-between;
ul {
li {
font-size: 1em;
}
}
}
}
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
body {
width: 666px;
nav {
justify-content: space-between;
ul {
li {
font-size: 1.2em;
}
}
}
}
}
@media only screen and (min-width: 1025px) and (max-width: 1440px) {
body {
width: 666px;
nav {
justify-content: space-between;
ul {
li {
font-size: 1.3em;
}
}
}
}
}
@media only screen and (min-width: 1441px) {
body {
width: 666px;
nav {
justify-content: space-between;
}
}
}

4
assets/css/main.css Normal file
View file

@ -0,0 +1,4 @@
@import "reset.css";
@import "layout.css";
@import "fonts.css";
@import "colors.css";

65
assets/css/reset.css Normal file
View file

@ -0,0 +1,65 @@
/* stolen from https://www.joshwcomeau.com/css/custom-css-reset/ */
*,
*::before,
*::after {
box-sizing: border-box;
}
*:not(dialog) {
margin: 0;
}
@media (prefers-reduced-motion: no-preference) {
html {
interpolate-size: allow-keywords;
}
}
body {
line-height: 1.5;
-webkit-font-smoothing: antialiased;
}
img,
picture,
video,
canvas,
svg {
display: block;
max-width: 100%;
}
input,
button,
textarea,
select {
font: inherit;
}
p,
h1,
h2,
h3,
h4,
h5,
h6 {
overflow-wrap: break-word;
}
p {
text-wrap: pretty;
}
h1,
h2,
h3,
h4,
h5,
h6 {
text-wrap: balance;
}
#root,
#__next {
isolation: isolate;
}

BIN
assets/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
assets/fonts/VT323.woff2 Normal file

Binary file not shown.

170
assets/img/taco.svg Normal file
View file

@ -0,0 +1,170 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
version="1.1"
id="svg1"
width="2333.3333"
height="2333.3333"
viewBox="0 0 2333.3333 2333.3333"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs1">
<color-profile
name="sRGB IEC61966-2.1"
xlink:href="data:application/vnd.iccprofile;base64,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"
id="color-profile2" />
</defs>
<g
id="g31"
transform="translate(7.8136135,117.70061)">
<g
id="layer-MC2">
<path
id="path4"
d="m 0,0 c 0,0 -143.978,24.697 -130.554,108.079 13.425,83.382 80.588,117.738 80.588,117.738 l 11.674,36.597 13.923,89.911 50.836,55.821 54.242,22.712 63.168,-3.45 66.209,111.539 c 0,0 72.383,43.033 75.679,43.673 3.297,0.64 66.085,1.859 70.126,1.158 4.042,-0.701 71.455,-25.439 71.455,-25.439 l 132.113,68.745 c 0,0 91.312,12.605 96.012,8.328 4.699,-4.278 78.875,-49.756 78.875,-49.756 l 38.817,-86.451 115.721,25.226 71.067,-29.428 40.149,-50.817 0.282,-58.168 117.256,-63.412 11.159,-74.833 -43.887,-67.936 -45.673,-32.018 z"
style="fill:#a2db64;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="matrix(1.3333333,0,0,-1.3333333,506.11907,1318.5127)" />
<path
id="path5"
d="m 0,0 c 0.977,-1.564 85.411,-116.174 -52.299,-174.09 -137.711,-57.915 -513.844,-96.95 -513.844,-96.95 h -280.448 l -118.067,36.501 -43.95,65.603 36.425,127.265 68.348,97.486 109.045,94.451 91.927,47.286 135.563,27.696 132.896,10.584 120.306,-16.019 107.219,-35.056 109.107,-64.249 z"
style="fill:#fdc26d;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="matrix(1.3333333,0,0,-1.3333333,1837.6513,1040.7071)" />
<path
id="path6"
d="m 0,0 20.729,-63.21 94.332,14.693 39.166,-26.659 -10.976,-50.19 -41.298,-37.651 -88.459,-38.486 h -88.957 l -38.504,27.192 -32.002,70.355 -10.646,80.305 z"
style="fill:#fdc26d;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="matrix(1.3333333,0,0,-1.3333333,1550.984,1353.426)" />
<path
id="path7"
d="m 0,0 -21.349,-97.89 c 0,0 71.058,-10.508 68.952,-41.156 -2.106,-30.648 3.177,-59.874 -68.952,-66.958 -72.129,-7.083 -184.827,3.176 -172.089,72.88 C -180.701,-63.42 -162.077,0 -162.077,0 Z"
style="fill:#fdc26d;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="matrix(1.3333333,0,0,-1.3333333,1001.664,1406.8061)" />
<path
id="path8"
d="M 0,0 C 0,0 15.257,75.708 74.384,81.621 133.512,87.534 178.688,24.242 178.688,24.242 L 115.816,-13.132 77.763,-41.984 Z"
style="fill:#d28b78;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="matrix(1.3333333,0,0,-1.3333333,981.69747,525.2236)" />
<path
id="path9"
d="M 0,0 V 48.991 L 14.706,82.779 66.232,103.051 115.223,97.138 138.874,75.176 150.7,45.874 Z"
style="fill:#d28b78;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="matrix(1.3333333,0,0,-1.3333333,827.01,801.56907)" />
<path
id="path10"
d="M 0,0 47.583,21.918 99.954,-6.757 105.866,-49.836 87.42,-93.759 63.842,-90.381 Z"
style="fill:#d28b78;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="matrix(1.3333333,0,0,-1.3333333,1758.4965,929.96027)" />
<path
id="path11"
d="m 0,0 c 0,-29.892 -24.232,-54.125 -54.125,-54.125 -29.892,0 -54.124,24.233 -54.124,54.125 0,29.892 24.232,54.125 54.124,54.125 C -24.232,54.125 0,29.892 0,0"
style="fill:#d28b78;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="matrix(1.3333333,0,0,-1.3333333,470.54173,1477.3123)" />
<path
id="path12"
d="m 0,0 c 0,0 90.381,55.749 142.751,9.292 52.37,-46.458 32.942,-103.166 32.942,-103.166 L 102.206,-106.43 59.972,-119.1 31.253,-54.059 Z"
style="fill:#ff6c6c;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="matrix(1.3333333,0,0,-1.3333333,1457.0399,494.10573)" />
<path
id="path13"
d="m 0,0 -43.759,0.048 -37.903,-23.093 -23.616,-55.222 12.604,-48.313 17.779,-17.579 37.778,32.239 L 0,-97.393 Z"
style="fill:#ff6c6c;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="matrix(1.3333333,0,0,-1.3333333,446.80373,886.03693)" />
<path
id="path14"
d="m 0,0 c 0,-37.32 -30.254,-67.574 -67.574,-67.574 -37.321,0 -67.575,30.254 -67.575,67.574 0,37.32 30.254,67.574 67.575,67.574 C -30.254,67.574 0,37.32 0,0"
style="fill:#fca948;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="matrix(1.3333333,0,0,-1.3333333,1539.2553,986.6476)" />
<path
id="path15"
d="m 0,0 c 0,-37.32 -30.254,-67.574 -67.574,-67.574 -37.321,0 -67.575,30.254 -67.575,67.574 0,37.32 30.254,67.574 67.575,67.574 C -30.254,67.574 0,37.32 0,0"
style="fill:#fca948;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="matrix(1.3333333,0,0,-1.3333333,934.08973,1121.7963)" />
</g>
<g
id="layer-MC3">
<path
id="path16"
d="m 0,0 -23.651,-85.313 c 0,0 89.536,-6.757 78.555,-63.351 -10.981,-56.593 -111.498,-46.457 -111.498,-46.457 -87.001,5.913 -147.818,21.962 -125.857,110.653 21.962,88.691 27.03,96.294 27.03,96.294"
style="fill:none;stroke:#3f0f39;stroke-width:35;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
transform="matrix(1.3333333,0,0,-1.3333333,993.0296,1422.1265)" />
<path
id="path17"
d="m 0,0 c 0,0 -122.478,10.686 -121.634,113.884 0.845,103.199 87.847,113.335 87.847,113.335 0,0 -10.031,120.394 49.836,167.246 77.71,60.817 136.838,32.943 136.838,32.943 0,0 43.923,130.08 131.77,152.886 87.846,22.807 157.11,-25.34 157.11,-25.34 0,0 91.225,91.226 207.791,79.4 116.566,-11.825 132.615,-135.149 132.615,-135.149 0,0 115.721,54.904 178.227,3.379 62.506,-51.525 48.991,-116.566 48.991,-116.566 0,0 119.1,-16.893 127.547,-93.759 8.447,-76.866 -46.457,-122.478 -88.691,-144.44"
style="fill:none;stroke:#3f0f39;stroke-width:35;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
transform="matrix(1.3333333,0,0,-1.3333333,494.10587,1318.5127)" />
<path
id="path18"
d="M 0,0 C 92.915,207.791 285.502,281.278 389.397,295.638 493.293,309.997 744.162,324.357 898.738,168.091 1053.315,11.826 1062.606,-81.089 829.475,-140.217 625.062,-197.655 454.437,-206.102 231.442,-206.102 -141.343,-216.08 0,0 0,0 Z"
style="fill:none;stroke:#3f0f39;stroke-width:35;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
transform="matrix(1.3333333,0,0,-1.3333333,527.89293,1131.5569)" />
<path
id="path19"
d="m 0,0 33.787,-68.419 c 0,0 111.498,49.836 130.925,-6.757 C 184.14,-131.77 81.089,-195.121 0,-206.102 c -81.089,-10.981 -137.683,25.341 -146.13,182.451"
style="fill:none;stroke:#3f0f39;stroke-width:35;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
transform="matrix(1.3333333,0,0,-1.3333333,1537.0029,1353.426)" />
<path
id="path20"
d="M 0,0 C 0,0 99.672,-89.987 156.266,37.785"
style="fill:none;stroke:#3f0f39;stroke-width:35;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
transform="matrix(1.3333333,0,0,-1.3333333,1043.7104,1116.9159)" />
<path
id="path21"
d="M 0,0 C 0,0 73.487,58.283 142.751,9.292 212.015,-39.7 180.563,-94.191 180.563,-94.191"
style="fill:none;stroke:#3f0f39;stroke-width:35;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
transform="matrix(1.3333333,0,0,-1.3333333,1457.0399,494.10573)" />
<path
id="path22"
d="M 0,0 C 0,0 7.377,77.216 75.176,87.002 157.11,98.827 179.48,29.63 179.48,29.63"
style="fill:none;stroke:#3f0f39;stroke-width:35;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
transform="matrix(1.3333333,0,0,-1.3333333,980.64093,532.398)" />
<path
id="path23"
d="M 0,0 C 0,0 -10.136,70.953 28.719,88.691 67.574,106.43 132.615,122.248 149.508,53.099"
style="fill:none;stroke:#3f0f39;stroke-width:35;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
transform="matrix(1.3333333,0,0,-1.3333333,828.59867,797.06413)" />
<path
id="path24"
d="m 0,0 c 0,0 -47.302,57.997 -16.049,109.522 31.253,51.526 94.604,45.613 94.604,45.613"
style="fill:none;stroke:#3f0f39;stroke-width:35;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
transform="matrix(1.3333333,0,0,-1.3333333,342.0636,1085)" />
<path
id="path25"
d="m 0,0 c 0,-33.122 -26.85,-59.972 -59.972,-59.972 -33.122,0 -59.972,26.85 -59.972,59.972 0,33.122 26.85,59.972 59.972,59.972 C -26.85,59.972 0,33.122 0,0 Z"
style="fill:none;stroke:#3f0f39;stroke-width:35;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
transform="matrix(1.3333333,0,0,-1.3333333,478.33853,1477.3123)" />
<path
id="path26"
d="m 0,0 c 0,-13.062 -10.589,-23.651 -23.651,-23.651 -13.062,0 -23.651,10.589 -23.651,23.651 0,13.062 10.589,23.651 23.651,23.651 C -10.589,23.651 0,13.062 0,0"
style="fill:#3f0f39;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="matrix(1.3333333,0,0,-1.3333333,1043.7104,1009.1724)" />
<path
id="path27"
d="m 0,0 c 0,-13.062 -10.589,-23.651 -23.651,-23.651 -13.062,0 -23.651,10.589 -23.651,23.651 0,13.062 10.589,23.651 23.651,23.651 C -10.589,23.651 0,13.062 0,0"
style="fill:#3f0f39;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="matrix(1.3333333,0,0,-1.3333333,1265.204,946.10307)" />
<path
id="path28"
d="M 0,0 C 0,0 67.647,43.248 100.235,-3.379 136.838,-55.749 78.837,-94.041 78.837,-94.041"
style="fill:none;stroke:#3f0f39;stroke-width:35;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
transform="matrix(1.3333333,0,0,-1.3333333,1758.4965,925.07987)" />
<path
id="path29"
d="m 0,0 c 0,-11.041 -8.95,-19.991 -19.991,-19.991 -11.04,0 -19.99,8.95 -19.99,19.991 0,11.041 8.95,19.991 19.99,19.991 C -8.95,19.991 0,11.041 0,0"
style="fill:#3f0f39;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="matrix(1.3333333,0,0,-1.3333333,1691.2975,758.39653)" />
<path
id="path30"
d="m 0,0 c 0,-11.507 -9.328,-20.835 -20.835,-20.835 -11.508,0 -20.836,9.328 -20.836,20.835 0,11.507 9.328,20.835 20.836,20.835 C -9.328,20.835 0,11.507 0,0"
style="fill:#3f0f39;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="matrix(1.3333333,0,0,-1.3333333,1435.6415,581.2016)" />
<path
id="path31"
d="m 0,0 c 0,-11.196 -9.076,-20.272 -20.272,-20.272 -11.196,0 -20.273,9.076 -20.273,20.272 0,11.196 9.077,20.272 20.273,20.272 C -9.076,20.272 0,11.196 0,0"
style="fill:#3f0f39;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="matrix(1.3333333,0,0,-1.3333333,595.46733,926.5816)" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 16 KiB

BIN
assets/img/taco_irl.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

View file

@ -1,21 +0,0 @@
+++
title = 'home'
draft = false
menus = 'main'
weight = 10
description = 'words by taco, the mestizo monster.'
+++
{{< figure src="taco.svg" alt="a taco." attr="artwork by [caius nocturne](https://nocturne.works/)" >}}
the [wedsite](https://web.archive.org/web/20240708121013/http://hrwiki.org/wiki/Homestar_Runner%27s_Website) of
# daniel a. gallegos
> pronouns: **he/him** or **they/them**
>
> also known as: taco, takouhai
* 🔮 code alchemist.
* ⭐ digital storyteller.
* 💚 mestizo monster.

View file

@ -1,26 +0,0 @@
+++
title = 'about'
draft = false
menus = 'main'
images = ['about/taco.png']
description = 'but who is taco? and how much does it weigh?'
+++
{{< figure src="taco.png" alt="a smiling cartoon taco with little legs" attr="artwork by [heyheymomo](https://www.heyheymomo.com/)">}}
**Daniel A. Gallegos**, also known as **“taco”,** is a [Full-Stack Software Developer](https://en.wikipedia.org/wiki/Solution_stack) and [Site Reliability Engineer](https://en.wikipedia.org/wiki/Site_reliability_engineering) who works with businesses, governments, [educators](https://web.archive.org/web/20230131144232/https://eberly.wvu.edu/news-events/eberly-news/2021/04/12/eberly-college-students-lead-gender-inclusivity-anti-racism-training-at-wvu), [non-profits](https://carrynaloxone.org/), and [startups](https://web.archive.org/web/20160901215818/https://devacademy.la/) to create digital solutions for your real-world problems, ranging from 🖥️ developing government enterprise applications, to 🎨 creating graphic assets for professional digital portfolios, to 🛠️ administering servers for a harm reduction coalition.
After spending a decade working with a variety of frontends, backends, deadends, software, hardware, various operating systems and more, Daniel is more than capable of handling whatever software or hardware problem you need solved.
Daniel has contributed to projects around the world, including developing enterprise software applications for the 🇵🇪 Peruvian government, creating on-brand graphic assets for multiple offices at 🎓 West Virginia University, redesigning an entire technical institutes website, working as a HIPAA-compliant system administrator for a 🧑‍⚕️ harm reduction coalition and managing hundreds of 🐧 Linux servers in the cloud daily. In addition to his extensive software development and system operations experience, Daniel is a skilled technical writer, copywriter, graphic designer, and definitely doesnt feel weird writing about himself in the third person. Hes a pro! 😉
Daniel holds a Bachelors in Multidisciplinary Studies (BMdS) from [West Virginia University](https://web.archive.org/web/20230728010055/https://lists.wvu.edu/graduation?county=&letter=--&name=&page=5&state=&term=fall&year=2021), which includes areas of study such as:
* 💻 Computer Science
* 🇺🇸 English
* 🇪🇸 Spanish
* 🇪🇨🇨🇴🇻🇪 Latin American Studies
* 🏳️‍🌈 LGBTQ+ Studies
* and other classes he took and just enjoyed, tbh
He currently works as a [Site Reliability Engineer](https://en.wikipedia.org/wiki/Site_reliability_engineering) for some big healthcare corporation and as a [Webmaster](https://en.wikipedia.org/wiki/Webmaster) for a harm reduction coalition. In his free time, Daniel likes tinkering with Linux server administration and self-hosting technologies to better his life and the lives of those around him. As it is with most folks, Daniels opinions are his own and do not represent the views of his employer(s).

Binary file not shown.

Before

Width:  |  Height:  |  Size: 95 KiB

View file

@ -1,9 +0,0 @@
+++
title = 'posts'
draft = false
menus = 'main'
layout = 'posts'
type = 'list'
+++
posts i done gone and wrote

47
eleventy.config.js Normal file
View file

@ -0,0 +1,47 @@
import markdownIt from "markdown-it";
import footnote_plugin from "markdown-it-footnote";
import readingTime from "eleventy-plugin-reading-time";
/** @param {import("@11ty/eleventy").UserConfig} eleventyConfig */
export default async function (eleventyConfig) {
eleventyConfig.addPassthroughCopy({ assets: "/" });
eleventyConfig.addPassthroughCopy(".well-known");
eleventyConfig.addPassthroughCopy("**/*.jpg");
eleventyConfig.addPassthroughCopy("**/*.png");
eleventyConfig.addCollection("redirects", function (collectionApi) {
let redirects = [];
// get each post in our posts folder
const nodes = collectionApi.getFilteredByGlob("**/*.md");
// iterate over all the nodes
nodes.forEach((node) =>
// for each alias
(node.data.aliases || []).forEach((alias) =>
// push target url and the old url
redirects.push([
node.data.page.url,
node.data.page.url.replace(/\/[^\/]*?(\..+)?$/, `/${alias}$1`),
]),
),
);
return redirects;
});
function sortByDate(values) {
// inspired by
let vals = [...values];
return vals.sort((a, b) => {
return a.data.date < b.data.date ? 1 : -1;
});
}
eleventyConfig.addFilter("sortByDate", sortByDate);
let markdownItOptions = {
html: true,
breaks: true,
linkify: true,
};
eleventyConfig.setLibrary("md", markdownIt(markdownItOptions));
eleventyConfig.amendLibrary("md", (mdLib) => mdLib.use(footnote_plugin));
eleventyConfig.addPlugin(readingTime);
}

View file

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

View file

@ -1,9 +0,0 @@
baseURL = 'https://mestizo.monster'
languageCode = 'en-us'
title = '🌎 mestizo dot monster 👾'
theme = 'corazon'
enableGitInfo = true
[frontmatter]
date = ["date", "publishDate", "lastmod"]
lastmod = ["lastmod", ":git", "date", "publishDate"]

23
index.md Normal file
View file

@ -0,0 +1,23 @@
---
title: "home"
layout: main.njk
description: "words by taco, the mestizo monster."
---
the [wedsite](https://homestar.wiki/wiki/Homestar_Runner%27s_Website) of
# daniel a. gallegos
> **pronouns:** **`he/him`** or **`they/them`**
> **also known as:** `taco`, `takouhai`
<figure>
<img src="/img/taco.svg" alt="vector drawing of a smiling cartoon taco with tortilla legs.">
<figcaption>artwork by <a href="https://www.heyheymomo.com/">heyheymomo</a></figcaption>
</figure>
- 🔮 code alchemist.
- ⭐ digital storyteller.
- 💚 mestizo monster.
check out [posts i've written](/posts) or [who the heck i am](/about).

1568
package-lock.json generated Normal file

File diff suppressed because it is too large Load diff

23
package.json Normal file
View file

@ -0,0 +1,23 @@
{
"dependencies": {
"@11ty/eleventy": "^3.1.5",
"eleventy-plugin-reading-time": "^0.0.1",
"markdown-it": "^14.1.1",
"markdown-it-footnote": "^4.0.0"
},
"name": "mestizo.monster",
"version": "1.0.0",
"description": "",
"main": "eleventy.config.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC",
"type": "module",
"devDependencies": {
"prettier": "^3.8.1",
"prettier-plugin-jinja-template": "^2.1.0"
}
}

9
posts/index.md Normal file
View file

@ -0,0 +1,9 @@
---
title: "posts"
layout: post-list.njk
tags: nav
---
# {{title}}
blog posts i done gone and wrote all by my lonesome

View file

@ -0,0 +1,16 @@
---
title: letting myself relax 😌
description: "the first post of many, i hope"
layout: post.njk
draft: false
date: "2026-04-10"
tags: post
---
i think i'm putting a barrier between me and posting words on my website that there shouldn't be. like everything needs to be "curated" and be an effective essay to publish stuff. but i don't think this is healthy, scrutinizing myself to a specific point and not getting this stuff out into the world. i want my work to be read by other people and to do that i need to start publishing more. i want to develop my skills as a writer and hone my own voice. that means i need to be willing to make more mistakes. blogs and their posts should, by design, be ugly. they should be representations of the people who write them, who are mostly miserable little piles of secrets.[^1]
here's my promise to you, dear reader: i will start writing more. i will start publishing more. not, like, consistently, but more™. it will not be perfect but it will be my organically written words. you are going to be reading real thoughts written by a real, genuine dumbass on the other end of the screen who doesn't know what they're doing, like the rest of us are.
maybe the posts will be long, maybe the posts will be short. but i will post more. it's good for the brain to get these thoughts and ideas out to other people instead of letting it sit and gather dust. i think that's the whole point of this communicating thing, so i really need to exercise it if i want to get better at talking to others. talking to my preferred markdown editor is a good start.
[^1]: but enough talk. [have at you!](https://www.youtube.com/watch?v=5tV33Ewf_hw)

View file

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 38 KiB

View file

@ -1,45 +1,33 @@
+++ ---
title = "moving on from freenom 👋" title: "moving on from freenom 👋"
date = "2023-10-06" date: "2023-10-06"
draft = false tags: post
categories = [ "life", "technology" ] layout: post.njk
keywords = [ draft: false
"ga", keywords:
"daniel-ga", [
"dns", "ga",
"domain", "daniel-ga",
"domain-names", "dns",
"freenom", "domain",
"gabon", "domain-names",
"mestizo-monster", "freenom",
"networking", "gabon",
"personal-websites", "mestizo-monster",
"taco-ga", "networking",
"website", "personal-websites",
"websites", "taco-ga",
"life", "website",
"technology", "websites",
] "life",
tags = [ "technology",
"ga", ]
"daniel-ga", section: technology
"dns", images: ["posts/moving-on-from-freenom/header.png"]
"domain", description: "what's the harm in a free domain name?"
"domain-names", aliases: ["../2023/10/06/moving-on-from-freenom/"]
"freenom", kind: "page"
"gabon", ---
"mestizo-monster",
"networking",
"personal-websites",
"taco-ga",
"website",
"websites"
]
images = [ "posts/moving-on-from-freenom/images/header.png" ]
description = "what's the harm in a free domain name?"
aliases = [ "/2023/10/06/moving-on-from-freenom" ]
kind = "page"
+++
> why am i still hanging on? > why am i still hanging on?
> >
@ -53,20 +41,21 @@ kind = "page"
> >
> \- [Forget My Name, Coyote Theory](https://www.youtube.com/watch?v=c0VtyKTDbNw) > \- [Forget My Name, Coyote Theory](https://www.youtube.com/watch?v=c0VtyKTDbNw)
{{< figure <figure>
alt="A screenshot of the Freenom admin interface showing the domain daniel.ga being active and paid for" <img alt="A screenshot of the Freenom admin interface showing the domain daniel.ga being active and paid for"
src="images/header.png" src="header.png"/>
caption="goodnight, sweet prince." >}} <figcaption>goodnight, sweet prince. </figcaption>
</figure>
**tl;dr:** Freenom was forced to hand over all of their .ga domains because the government of Gabon is reclaiming all those domains without a clear path forward for Freenom users. Freenom screwed a bunch of paying customers over, like me; I used to host my personal website on there. However, instead of transferring that site or re-registering it, now Im here, on [mestizo.monster](https://mestizo.monster). You should do your research when registering domains. Capitalism sucks (as usual). 🫤 **tl;dr:** Freenom was forced to hand over all of their .ga domains because the government of Gabon is reclaiming all those domains without a clear path forward for Freenom users. Freenom screwed a bunch of paying customers over, like me; I used to host my personal website on there. However, instead of transferring that site or re-registering it, now Im here, on [mestizo.monster](https://mestizo.monster). You should do your research when registering domains. Capitalism sucks (as usual). 🫤
* * * ---
## free websites of the past ## free websites of the past
Depending on when youre reading this, I host/used to host a personal website for myself at [`daniel.ga/llegos`](https://web.archive.org/web/20231005005157/https://daniel.ga/llegos/). The reason for creating this was twofold: Depending on when youre reading this, I host/used to host a personal website for myself at [`daniel.ga/llegos`](https://web.archive.org/web/20231005005157/https://daniel.ga/llegos/). The reason for creating this was twofold:
1. It was a cool [domain hack](https://en.wikipedia.org/wiki/Domain_hack) to show off my neat name my mom and dad gave me: [Daniel](https://en.wikipedia.org/wiki/Daniel_(given_name)) [Gallegos](https://en.wikipedia.org/wiki/Gallegos). 1. It was a cool [domain hack](https://en.wikipedia.org/wiki/Domain_hack) to show off my neat name my mom and dad gave me: [Daniel](<https://en.wikipedia.org/wiki/Daniel_(given_name)>) [Gallegos](https://en.wikipedia.org/wiki/Gallegos).
2. The `.ga` domain was _free_! [As in beer](https://en.wiktionary.org/wiki/free_as_in_beer). (At the time.) 2. The `.ga` domain was _free_! [As in beer](https://en.wiktionary.org/wiki/free_as_in_beer). (At the time.)
FreeNom, a domain name registrar, started offering free `.ga` domain name registration from June 12-14, 2013. This was a part of their free offerings from domains including `.tk`, `.cf`, and `.ml`. I didnt hear about them until 2016. Stumbling across their page made me excited as a broke teenager. I didnt know any better; I was getting a free domain name! There shouldnt be any downsides, _right_? FreeNom, a domain name registrar, started offering free `.ga` domain name registration from June 12-14, 2013. This was a part of their free offerings from domains including `.tk`, `.cf`, and `.ml`. I didnt hear about them until 2016. Stumbling across their page made me excited as a broke teenager. I didnt know any better; I was getting a free domain name! There shouldnt be any downsides, _right_?
@ -87,7 +76,7 @@ There were a few T&Cs that I didnt read closely when I signed up to Freenom
I dont remember the full death of `taco.ga` well; I cant give you a proper postmortem. All I remember is that I was upset about it. They may have sent me an email “telling me” that they were taking it away, but I never saw it hit my inbox. It was a short, proper noun domain that I had started to depend on and they took it away from me. However, I now noticed that when I searched for `taco.ga` on their “free” registration site, it suddenly had a value attached to it instead of being “free”: ten bucks! Alright, it wasnt _that_ expensive, but I had no money. I was a young teenager living in the middle of South America, at the time. **What** money? I was paywalled out of my own project. What gives? I dont remember the full death of `taco.ga` well; I cant give you a proper postmortem. All I remember is that I was upset about it. They may have sent me an email “telling me” that they were taking it away, but I never saw it hit my inbox. It was a short, proper noun domain that I had started to depend on and they took it away from me. However, I now noticed that when I searched for `taco.ga` on their “free” registration site, it suddenly had a value attached to it instead of being “free”: ten bucks! Alright, it wasnt _that_ expensive, but I had no money. I was a young teenager living in the middle of South America, at the time. **What** money? I was paywalled out of my own project. What gives?
### how “free” domains dont turn out to be free ## how “free” domains dont turn out to be free
Im sure you can see a strategy here. Freenoms plan was the following: Im sure you can see a strategy here. Freenoms plan was the following:

21
redirects.njk Normal file
View file

@ -0,0 +1,21 @@
---
pagination:
data: collections.redirects
size: 1
alias: redirect
permalink: "{{ redirect[1] }}"
layout: ""
---
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="refresh" content="1; URL='{{ redirect[0] }}'" />
<title>Redirecting to: {{ redirect[0] }}</title>
</head>
<body>
You should be redirecting to <a href="{{ redirect[0] }}">{{ redirect[0] }} now</a>.
</body>
</html>

View file

@ -1,21 +0,0 @@
MIT License
Copyright (c) [year] [fullname]
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View file

@ -1,7 +0,0 @@
# Theme Name
## Features
## Installation
## Configuration

View file

@ -1,5 +0,0 @@
+++
title = '{{ replace .File.ContentBaseName "-" " " | title }}'
date = {{ .Date }}
draft = true
+++

View file

@ -1,123 +0,0 @@
@import url(https://fonts.bunny.net/css?family=averia-sans-libre:700|cabin:400,400i,500,500i,600,600i,700,700i);
body {
font-family: "Cabin", sans-serif;
font-size: 1.2rem;
line-height: 1.5;
margin: 1rem;
margin-left: auto;
margin-right: auto;
max-width: 768px;
padding: 0.5rem;
}
h1,
h2,
h3,
h4,
h5,
h6,
nav {
font-family: "Averia Sans Libre", display;
font-weight: 700;
}
h1 {
text-align: center;
}
header {
margin-bottom: 1rem;
nav {
ul {
display: flex;
justify-content: space-between;
list-style-position: inside;
margin-left: 0;
padding-left: 0;
}
li {
font-size: 1.3rem;
flex-direction: column;
list-style-type: none;
border-bottom: 1px solid #a6dc68;
padding: 1rem;
}
}
}
figure {
margin: none;
text-align: center;
img {
border-radius: 1rem;
max-height: 30rem;
max-width: 100%;
}
figcaption {
margin-top: -0.666rem;
font-size: 0.8rem;
opacity: 69%;
}
}
footer {
margin-top: 1rem;
text-align: center;
}
a {
color: #a6dc68;
text-decoration: none;
}
h1 {
a {
color: #87a73d;
}
}
main {
padding: 1rem;
}
@media (prefers-color-scheme: light) {
body {
background: #eee;
color: #291712;
}
a {
color: #63843e;
}
footer {
border-top: 1px solid #222;
}
}
@media (prefers-color-scheme: dark) {
body {
background: #291712;
color: #eee;
}
footer {
border-top: 1px solid #eee;
}
}
blockquote {
padding: 1rem;
margin: inherit, auto;
background-color: rgba(0, 0, 0, 0.2);
font-style: italic;
}
article {
caption {
text-align: center;
}
}
hgroup {
p {
text-align: center;
}
}

View file

@ -1 +0,0 @@
console.log('This site was generated by Hugo.');

View file

@ -1,8 +0,0 @@
baseURL = 'https://mestizo.monster/'
languageCode = 'en-us'
title = 'mestizo dot monster'
[module]
[module.hugoVersion]
extended = true
min = "0.116.0"

View file

@ -1,17 +0,0 @@
<!DOCTYPE html>
<html lang="{{ or site.Language.LanguageCode site.Language.Lang }}" dir="{{ or site.Language.LanguageDirection `ltr` }}">
<head>
{{ partial "head.html" . }}
</head>
<body>
<header>
{{ partial "header.html" . }}
</header>
<main>
{{ block "main" . }}{{ end }}
</main>
<footer>
{{ partial "footer.html" . }}
</footer>
</body>
</html>

View file

@ -1,3 +0,0 @@
{{ define "main" }}
{{ .Content }}
{{ end }}

View file

@ -1,10 +0,0 @@
{{ define "main" }}
<h1>{{ .Title }}</h1>
{{ .Content }}
{{ range .Pages }}
<h2><a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></h2>
{{ $date := .Date.Format "January 2, 2006" }}
<caption>{{ lower $date }}</caption>
<blockquote>{{ .Description }}<blockquote>
{{ end }}
{{ end }}

View file

@ -1,10 +0,0 @@
{{ define "main" }}
<article>
<h1>{{ .Title }}</h1>
{{ $dateHuman := .Date.Format "January 2, 2006" }}
{{ $dateMachine := .Date.Format "2006-01-02T15:04:05-07:00" }}
<time datetime="{{ $dateMachine }}">{{ lower $dateHuman }}</time>
{{ .Content }}
{{ partial "terms.html" (dict "taxonomy" "tags" "page" .) }}
</article>
{{ end }}

View file

@ -1,7 +0,0 @@
{{ define "main" }}
<article>
<h1>{{ .Title }}</h1>
{{ .Content }}
{{ partial "terms.html" (dict "taxonomy" "tags" "page" .) }}
</article>
{{ end }}

View file

@ -1,3 +0,0 @@
<p><a rel="me" href="https://tilde.zone/@taco">mastodon</a> / <a href="https://github.com/takouhai">github</a> / <a href="https://gitlab.com/takouhai">gitlab</a> / <a href="https://www.linkedin.com/in/daniel-gallegos/">linkedin</a> / <a href="https://keyoxide.org/dde52d5b73e9bcb3da5af230f762860f6b1c66b7">keyoxide</a></p>
<p><a rel="noreferrer noopener" href="https://mestizo.monster" target="_blank">mestizo.monster</a> © current year by <a rel="noreferrer noopener" href="https://mestizo.monster/about" target="_blank">taco</a> is licensed under <a rel="noreferrer noopener" href="http://creativecommons.org/licenses/by-nc/4.0/?ref=chooser-v1" target="_blank">CC BY-NC 4.0</a>.</p>
<p>this website is <a href="https://git.tacowolf.net/TacoWolf/mestizo.monster" target="_blank">open source</a>.</p>

View file

@ -1,11 +0,0 @@
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{ if .IsHome }}home - {{ site.Title }}{{ else }}{{ printf "%s - %s" .Title site.Title }}{{ end }}</title>
{{ partialCached "head/css.html" . }}
{{ partialCached "head/js.html" . }}
<script defer src="https://umami.birdcat.cafe/script.js" data-website-id="a77e7641-808a-4c39-96a2-f3ce1c492002"></script>
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<link rel="manifest" href="/site.webmanifest">
{{ template "_internal/opengraph.html" . }}

View file

@ -1,10 +0,0 @@
{{ $opts := dict "transpiler" "libsass" "targetPath" "css/style.css" }}
{{- with resources.Get "css/main.scss" | toCSS $opts }}
{{- if eq hugo.Environment "development" }}
<link rel="stylesheet" href="{{ .RelPermalink }}">
{{- else }}
{{- with . | minify | fingerprint }}
<link rel="stylesheet" href="{{ .RelPermalink }}" integrity="{{ .Data.Integrity }}" crossorigin="anonymous">
{{- end }}
{{- end }}
{{- end }}

View file

@ -1,12 +0,0 @@
{{- with resources.Get "js/main.js" }}
{{- if eq hugo.Environment "development" }}
{{- with . | js.Build }}
<script src="{{ .RelPermalink }}"></script>
{{- end }}
{{- else }}
{{- $opts := dict "minify" true }}
{{- with . | js.Build $opts | fingerprint }}
<script src="{{ .RelPermalink }}" integrity="{{- .Data.Integrity }}" crossorigin="anonymous"></script>
{{- end }}
{{- end }}
{{- end }}

View file

@ -1,2 +0,0 @@
<h1><a href="{{ .Site.Home.Permalink }}">{{ site.Title }}</a></h1>
{{ partial "menu.html" (dict "menuID" "main" "page" .) }}

View file

@ -1,42 +0,0 @@
{{- $page := .page }}
{{- $menuID := .menuID }}
{{- with index site.Menus $menuID }}
<nav>
<ul>
{{- partial "inline/menu/walk.html" (dict "page" $page "menuEntries" .) }}
</ul>
</nav>
{{- end }}
{{- define "partials/inline/menu/walk.html" }}
{{- $page := .page }}
{{- range .menuEntries }}
{{- $attrs := dict "href" .URL }}
{{- if $page.IsMenuCurrent .Menu . }}
{{- $attrs = merge $attrs (dict "class" "active" "aria-current" "page") }}
{{- else if $page.HasMenuCurrent .Menu .}}
{{- $attrs = merge $attrs (dict "class" "ancestor" "aria-current" "true") }}
{{- end }}
{{- $name := .Name }}
{{- with .Identifier }}
{{- with T . }}
{{- $name = . }}
{{- end }}
{{- end }}
<li>
<a
{{- range $k, $v := $attrs }}
{{- with $v }}
{{- printf " %s=%q" $k $v | safeHTMLAttr }}
{{- end }}
{{- end -}}
>{{ $name }}</a>
{{- with .Children }}
<ul>
{{- partial "inline/menu/walk.html" (dict "page" $page "menuEntries" .) }}
</ul>
{{- end }}
</li>
{{- end }}
{{- end }}

View file

@ -1,23 +0,0 @@
{{- /*
For a given taxonomy, renders a list of terms assigned to the page.
@context {page} page The current page.
@context {string} taxonomy The taxonony.
@example: {{ partial "terms.html" (dict "taxonomy" "tags" "page" .) }}
*/}}
{{- $page := .page }}
{{- $taxonomy := .taxonomy }}
{{- with $page.GetTerms $taxonomy }}
{{- $label := (index . 0).Parent.LinkTitle }}
<div>
<div>{{ $label }}:</div>
<ul>
{{- range . }}
<li><a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></li>
{{- end }}
</ul>
</div>
{{- end }}

View file

@ -1,14 +0,0 @@
{{ define "main" }}
<hgroup>
<h1>{{ .Title }}</h1>
{{ .Content }}
</hgroup>
{{ range .Pages }}
<h2><a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></h2>
{{ $dateHuman := .Date.Format "January 2, 2006" }}
{{ $dateMachine := .Date.Format "2006-01-02T15:04:05-07:00" }}
<p><b>reading time:</b> {{ lower .ReadingTime }} mins</p>
<p><b>first posted:</b> <time datetime="{{ $dateMachine }}">{{ lower $dateHuman }}</time></p>
<caption><blockquote>{{ .Description }}</blockquote></caption>
{{ end }}
{{ end }}

View file

@ -1,21 +0,0 @@
{{ define "main" }}
<article>
<h1>{{ .Title }}</h1>
{{ $dateHuman := .Date.Format "January 2, 2006" }}
{{ $dateMachine := .Date.Format "2006-01-02T15:04:05-07:00" }}
{{ $lastUpdated := .Lastmod.Format "January 2, 2006" }}
{{ $lastMachine := .Lastmod.Format "2006-01-02T15:04:05-07:00" }}
<blockquote>
<p><b>reading time:</b> {{ lower .ReadingTime }} mins</p>
<p><b>first posted:</b> <time datetime="{{ $dateMachine }}">{{ lower $dateHuman }}</time></p>
{{ if ne $lastUpdated $dateHuman }}
<p><b>last updated:</b> <time datetime="{{ $lastMachine }}">{{ lower $lastUpdated }}</time></p>
{{ end }}
</blockquote>
<hr>
<h4>table of contents</h4>
{{ .TableOfContents }}
<hr>
{{ .Content }}
</article>
{{ end }}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 632 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

View file

@ -1 +0,0 @@
{"name":"","short_name":"","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"}

View file

@ -1,43 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="100%" height="100%" viewBox="0 0 40 40" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:1.5;">
<rect id="taco" x="0" y="0" width="40" height="40" style="fill:none;"/>
<g id="outline">
<path d="M7.462,30C4.195,29.973 1.295,26.512 2.597,20.98C3.812,15.815 7.849,10 14.188,10C16.732,10 19.02,10.858 21.031,12.171C23.186,10.601 25.558,10 28,10C34,10 39.759,16 37.446,24.5C37.446,24.501 37.446,24.501 37.446,24.502C36.563,27.748 33.615,30 30.252,30L21,30L21,30L7.5,30L7.462,30Z" style="fill:none;stroke:#000;stroke-width:4px;"/>
</g>
<g id="emoji">
<path d="M14.251,10C25.025,10.062 31.188,25.5 31.188,25.5L21.186,29.5L7,29.5C4.21,29.5 1.999,25.782 3.109,21.062C3.686,18.613 5.148,15.883 7,13.656C8.763,11.535 11.327,10 14.188,10L14.251,10Z" style="fill:#b28644;"/>
<g id="Layer2">
<path d="M11,29L7.5,29C7.102,29 6.721,28.842 6.439,28.561C6.158,28.279 6,27.898 6,27.5C6,27.173 6,26.827 6,26.5C6,26.102 6.158,25.721 6.439,25.439C6.721,25.158 7.102,25 7.5,25C7.843,25 8.221,25 8.607,25C9.423,25 10.193,25.376 10.695,26.019C11.197,26.662 11.375,27.5 11.177,28.291C11.072,28.712 11,29 11,29Z" style="fill:#914f3b;"/>
<path d="M10,26L6.5,26C6.102,26 5.721,25.842 5.439,25.561C5.158,25.279 5,24.898 5,24.5C5,24.173 5,23.827 5,23.5C5,23.102 5.158,22.721 5.439,22.439C5.721,22.158 6.102,22 6.5,22C6.888,22 7.314,22 7.732,22C8.985,22 10,23.015 10,24.268L10,26Z" style="fill:#844836;"/>
<path d="M17,24L13.5,24C13.102,24 12.721,23.842 12.439,23.561C12.158,23.279 12,22.898 12,22.5L12,20.5C12,20.102 12.158,19.721 12.439,19.439C12.721,19.158 13.102,19 13.5,19L14.732,19C15.985,19 17,20.015 17,21.268L17,24Z" style="fill:#804634;"/>
<path d="M13,29L9.5,29C9.102,29 8.721,28.842 8.439,28.561C8.158,28.279 8,27.898 8,27.5C8,27.173 8,26.827 8,26.5C8,26.102 8.158,25.721 8.439,25.439C8.721,25.158 9.102,25 9.5,25C11.557,25 15,25 15,25L13,29Z" style="fill:#794232;"/>
<path d="M14,23.5C14,23.898 13.842,24.279 13.561,24.561C13.279,24.842 12.898,25 12.5,25C11.584,25 10.416,25 9.5,25C9.102,25 8.721,24.842 8.439,24.561C8.158,24.279 8,23.898 8,23.5C8,23.173 8,22.827 8,22.5C8,22.102 8.158,21.721 8.439,21.439C8.721,21.158 9.102,21 9.5,21C10.416,21 11.584,21 12.5,21C12.898,21 13.279,21.158 13.561,21.439C13.842,21.721 14,22.102 14,22.5C14,22.827 14,23.173 14,23.5Z" style="fill:#914f3b;"/>
<path d="M12,21.5C12,21.898 11.842,22.279 11.561,22.561C11.279,22.842 10.898,23 10.5,23C9.584,23 8.416,23 7.5,23C7.102,23 6.721,22.842 6.439,22.561C6.158,22.279 6,21.898 6,21.5C6,21.173 6,20.827 6,20.5C6,20.102 6.158,19.721 6.439,19.439C6.721,19.158 7.102,19 7.5,19C8.416,19 9.584,19 10.5,19C10.898,19 11.279,19.158 11.561,19.439C11.842,19.721 12,20.102 12,20.5C12,20.827 12,21.173 12,21.5Z" style="fill:#914f3b;"/>
<path d="M14,27L10.5,27C10.102,27 9.721,26.842 9.439,26.561C9.158,26.279 9,25.898 9,25.5C9,25.173 9,24.827 9,24.5C9,24.102 9.158,23.721 9.439,23.439C9.721,23.158 10.102,23 10.5,23C10.843,23 11.221,23 11.607,23C12.423,23 13.193,23.376 13.695,24.019C14.197,24.662 14.375,25.5 14.177,26.291C14.072,26.712 14,27 14,27Z" style="fill:#68392b;"/>
</g>
<g id="Layer1">
<path d="M8.404,17.581L9.124,19.912L16.279,18.137L20.077,17.581L20.861,15.354L14,15L8.404,17.581Z" style="fill:#87a73d;"/>
<path d="M11,18C11,18 10.959,18.122 10.894,18.317C10.306,20.081 9.315,21.685 8,23C8,23 8,23 8,23" style="fill:none;stroke:#87a73d;stroke-width:3px;stroke-linecap:butt;"/>
<path d="M11,17C11,17 10.325,17.337 9.53,17.735C7.854,18.573 6.325,19.675 5,21C5,21 5,21 5,21" style="fill:none;stroke:#87a73d;stroke-width:3px;stroke-linecap:butt;"/>
<path d="M22,15C22,15 22,15 22,15C19.456,13.728 16.489,13.604 13.848,14.661C13.342,14.863 13,15 13,15" style="fill:none;stroke:#87a73d;stroke-width:3px;stroke-linecap:butt;"/>
<path d="M14,18C14,18 13.959,18.122 13.894,18.317C13.306,20.081 12.315,21.685 11,23C11,23 11,23 11,23" style="fill:none;stroke:#a4c45c;stroke-width:3px;stroke-linecap:butt;"/>
<path d="M20,17C20,17 20,17 19.999,17C17.538,17.616 15.616,19.538 15,21.999C15,22 15,22 15,22" style="fill:none;stroke:#a4c45c;stroke-width:3px;stroke-linecap:butt;"/>
<path d="M18,14C18,14 17.743,14.513 17.414,15.172C16.509,16.983 14.921,18.36 13,19C13,19 13,19 13,19" style="fill:none;stroke:#88a93e;stroke-width:3px;stroke-linecap:butt;"/>
<path d="M14,15L14,15C11.439,15 8.983,16.017 7.172,17.828C7.063,17.937 7,18 7,18" style="fill:none;stroke:#a4c45c;stroke-width:3px;stroke-linecap:butt;"/>
<path d="M19,15C19,15 19,15 19,15C17.719,13.719 15.983,13 14.172,13C13.513,13 13,13 13,13" style="fill:none;stroke:#a4c45c;stroke-width:3px;stroke-linecap:butt;"/>
<path d="M26,16C26,16 26,16 26,16C24.079,14.719 21.728,14.254 19.465,14.707C18.641,14.872 18,15 18,15" style="fill:none;stroke:#a4c45c;stroke-width:3px;stroke-linecap:butt;"/>
</g>
<path d="M10,15L13,17C13,17 13.138,16.724 13.312,16.377C13.7,15.6 13.425,14.655 12.68,14.208C12.658,14.195 12.635,14.181 12.613,14.168C11.959,13.775 11.122,13.878 10.582,14.418C10.271,14.729 10,15 10,15ZM16.996,17L18.996,14C18.996,14 18.72,13.862 18.373,13.688C17.596,13.3 16.651,13.575 16.204,14.32C16.19,14.342 16.177,14.365 16.164,14.387C15.771,15.041 15.874,15.878 16.413,16.418C16.725,16.729 16.996,17 16.996,17Z" style="fill:#e13f3f;"/>
<g>
<path d="M12,13L11.414,13C10.509,13 9.64,13.36 9,14C9,14 9,14 9,14" style="fill:none;stroke:#ebc935;stroke-width:1.5px;stroke-linecap:square;"/>
<path d="M15,14L15.586,14C16.491,14 17.36,13.64 18,13C18,13 18,13 18,13" style="fill:none;stroke:#ebc935;stroke-width:1.5px;stroke-linecap:square;"/>
<path d="M14,17C14,17 14,17 14,17C13.36,17.64 12.491,18 11.586,18L11,18" style="fill:none;stroke:#ebc935;stroke-width:1.5px;stroke-linecap:square;"/>
<path d="M23,15C23,15 22.878,14.959 22.683,14.894C21.039,14.346 19.226,14.774 18,16C18,16 18,16 18,16" style="fill:none;stroke:#ebc935;stroke-width:1.5px;stroke-linecap:square;"/>
</g>
<path d="M24.07,30L7.5,30C8.5,30 12.147,29.81 15.5,21.066C18.423,13.445 23,10.035 27.932,10L28,10C30.545,10 33.047,11.08 34.907,12.972C34.894,12.978 37.558,17.839 37.607,17.8C38.109,19.765 38.119,22.026 37.446,24.5C37.446,24.501 37.446,24.501 37.446,24.502C36.622,27.53 34,29.694 30.921,29.97C30,29 25,29 24.07,30Z" style="fill:#d7bd96;"/>
<path d="M24.07,30C24.395,28.859 25.808,28 27.5,28C29.177,28 30.58,28.844 30.921,29.97C30.7,29.99 30.477,30 30.252,30L24.07,30ZM25.391,12.102C26.576,11.785 27.726,12.231 27.959,13.098C28.191,13.966 27.418,14.928 26.233,15.245C25.048,15.563 23.898,15.116 23.665,14.249C23.433,13.382 24.206,12.42 25.391,12.102Z" style="fill:#c39f72;"/>
<path d="M19.838,20.662C20.606,20.97 20.855,22.156 20.392,23.309C19.93,24.461 18.93,25.146 18.162,24.838C17.394,24.53 17.145,23.344 17.608,22.191C18.07,21.039 19.07,20.354 19.838,20.662ZM32,20.321C32.946,21.417 33.024,22.902 32.174,23.635C31.325,24.368 29.867,24.074 28.921,22.978C27.975,21.882 27.897,20.396 28.747,19.663C29.597,18.93 31.054,19.225 32,20.321ZM34.907,12.972C36.157,14.242 37.117,15.879 37.607,17.8C37.558,17.839 37.506,17.874 37.449,17.903C36.643,18.327 35.41,17.57 34.698,16.215C33.986,14.859 34.062,13.415 34.869,12.991C34.881,12.984 34.894,12.978 34.907,12.972Z" style="fill:#bb925f;"/>
<path d="M7.5,30C7.5,30 7.27,29.994 7.27,29.994C7.116,29.987 6.962,29.971 6.81,29.948L6.548,29.901L6.156,29.801L5.681,29.629C5.494,29.549 5.31,29.457 5.132,29.352L4.685,29.057C4.604,28.996 4.524,28.933 4.446,28.867C4.408,28.835 4.37,28.803 4.332,28.77L4.01,28.457C3.957,28.401 3.905,28.343 3.853,28.284L3.617,27.993L3.396,27.679L3.182,27.327C3.132,27.239 3.083,27.148 3.037,27.055L2.855,26.658C2.763,26.439 2.681,26.21 2.61,25.971L2.515,25.621L2.438,25.273L2.361,24.812C2.339,24.654 2.321,24.493 2.308,24.328L2.281,23.792L2.281,23.358L2.305,22.844C2.309,22.795 2.313,22.746 2.317,22.697L2.41,21.935C2.416,21.894 2.423,21.854 2.429,21.813C2.464,21.606 2.504,21.396 2.551,21.182L2.641,20.795C3.909,15.677 7.925,10 14.188,10L14.121,10C11.291,10.025 8.99,11.588 7.24,13.692C5.388,15.92 4.146,18.761 3.57,21.209C2.459,25.929 4.71,29 7.5,29C8.871,29 12.098,28.671 15.152,20.708C18.278,12.558 22.958,10.023 27.932,10C23.281,10.033 19.009,13.445 16.086,21.066C12.732,29.81 9.006,30 7.5,30Z" style="fill:#e9dac4;"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 8.6 KiB

View file

@ -1,32 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="100%" height="100%" viewBox="0 0 40 40" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:1.5;">
<rect id="wolf" x="0" y="0" width="40" height="40" style="fill:none;"/>
<g id="outline">
<path d="M23.044,10.509C23.3,8.158 24.666,6.048 26.749,4.858C28.412,3.908 30,3 30,3C30,3 30.706,4.412 31.484,5.967C32.784,8.568 33.099,11.551 32.372,14.366C32.268,14.768 32.175,15.129 32.103,15.408C32.084,15.48 32.056,15.548 32.019,15.61C33,16.907 33.745,18.399 34.189,20.026L35,23C34.53,22.812 34.057,22.637 33.579,22.476C34.301,23.586 34.859,24.816 35.219,26.136L36,29C35.139,28.569 34.259,28.184 33.362,27.844C33.915,29.453 34.15,31.199 34,32.998C34,32.999 34,33 34,33C34,33 33.187,32.458 32.159,31.773C30.568,30.712 28.601,30.625 26.977,31.388L26.439,32.643C25.566,34.679 23.563,36 21.347,36C20.469,36 19.531,36 18.653,36C16.437,36 14.434,34.679 13.561,32.643L13.023,31.388C11.399,30.625 9.432,30.712 7.841,31.773C6.813,32.458 6,33 6,33C6,33 6,32.999 6,32.998C5.85,31.199 6.085,29.453 6.638,27.844C5.741,28.184 4.861,28.569 4,29L4.781,26.136C5.141,24.816 5.699,23.586 6.421,22.476C5.943,22.637 5.47,22.812 5,23L5.811,20.026C6.255,18.399 7,16.907 7.981,15.61C7.944,15.548 7.916,15.48 7.897,15.408C7.825,15.129 7.732,14.768 7.628,14.366C6.901,11.551 7.216,8.568 8.516,5.967C9.294,4.412 10,3 10,3C10,3 11.588,3.908 13.251,4.858C15.334,6.048 16.7,8.158 16.956,10.509C18.974,10.2 21.026,10.2 23.044,10.509Z" style="fill:none;stroke:#000;stroke-width:4px;"/>
</g>
<g id="emoji">
<g id="head">
<g>
<path d="M5.635,23.865C5.869,23.384 6.132,22.92 6.421,22.476C5.943,22.637 5.47,22.812 5,23L5.811,20.026C6.16,18.745 6.696,17.549 7.386,16.466C7.714,16.799 16.991,10.741 16.973,10.507C17.315,10.455 17.657,10.412 18,10.377L20,11.377L22,10.377C22.343,10.412 22.685,10.455 23.027,10.507C23.009,10.741 32.286,16.799 32.614,16.466C33.304,17.549 33.84,18.745 34.189,20.026L35,23C34.53,22.812 34.057,22.637 33.579,22.476C33.868,22.92 34.131,23.384 34.365,23.865C33.265,23.052 25,26 25,26L15,26C15,26 6.735,23.052 5.635,23.865Z" style="fill:#653a33;"/>
<path d="M13.056,31.463C13.171,30.912 13.464,29.409 13.896,29.034C14.466,28.54 25.534,28.54 26.104,29.034C26.536,29.409 26.829,30.912 26.944,31.463L26.439,32.643C25.566,34.679 23.563,36 21.347,36C20.469,36 19.531,36 18.653,36C16.437,36 14.434,34.679 13.561,32.643L13.056,31.463Z" style="fill:#4c2c26;"/>
<path d="M18,10.377C19.33,10.244 20.67,10.244 22,10.377L22,13.882C22,14.617 22.171,15.342 22.5,16C22.5,16 22.5,16 22.5,16C22.829,16.658 23,17.383 23,18.118C23,19.301 23,21 23,21L17,21L17,18.118C17,17.383 17.171,16.658 17.5,16C17.5,16 17.5,16 17.5,16C17.829,15.342 18,14.617 18,13.882L18,10.377Z" style="fill:#4e2d27;"/>
<path d="M17,23C17,23 17.305,22.085 17.578,21.266C17.83,20.51 18.538,20 19.335,20C19.763,20 20.237,20 20.665,20C21.462,20 22.17,20.51 22.422,21.266C22.695,22.085 23,23 23,23L23,29L17,29L17,23Z" style="fill:#824a41;"/>
<path d="M5.635,23.865C6.735,23.052 8.024,22.496 9.411,22.265C9.448,22.259 9.485,22.253 9.521,22.247C10.374,22.104 11,21.366 11,20.501L11,20.5L15,26L25,26L29,20.5L29,20.501C29,21.366 29.626,22.104 30.479,22.247C30.515,22.253 30.552,22.259 30.589,22.265C31.976,22.496 33.265,23.052 34.365,23.865C34.716,24.585 35.003,25.345 35.219,26.136L36,29C35.139,28.569 34.259,28.184 33.362,27.844C33.915,29.453 34.15,31.199 34,32.998C34,32.999 34,33 34,33C34,33 33.187,32.458 32.159,31.773C30.568,30.712 28.601,30.625 26.977,31.388L26.944,31.463C26.829,30.912 26.536,30.409 26.104,30.034C25.534,29.54 24.778,29.317 24.032,29.424L20,30C20,30 17.876,29.697 15.968,29.424C15.222,29.317 14.466,29.54 13.896,30.034C13.464,30.409 13.171,30.912 13.056,31.463L13.023,31.388C11.399,30.625 9.432,30.712 7.841,31.773C6.813,32.458 6,33 6,33C6,33 6,32.999 6,32.998C5.85,31.199 6.085,29.453 6.638,27.844C5.741,28.184 4.861,28.569 4,29L4.781,26.136C4.997,25.345 5.284,24.585 5.635,23.865Z" style="fill:#719742;"/>
<path d="M16.106,32C16.106,32 15.17,31.096 14.325,30.28C13.478,29.462 13,28.335 13,27.158C13,27.047 13,26.939 13,26.836C13,26.301 12.787,25.787 12.409,25.409C12.293,25.293 12.169,25.169 12.043,25.043C11.375,24.375 11,23.469 11,22.525L11,20.5C11,18.567 12.567,17 14.5,17C15.076,17 15.652,17 16.165,17C16.652,17 17.119,17.193 17.463,17.537C17.807,17.881 18,18.348 18,18.835C18,19.854 18,21.086 18,21.945C18,22.639 17.838,23.323 17.528,23.944C17.501,23.998 17.474,24.052 17.447,24.106C17.153,24.694 17,25.342 17,26L17,26L23,26L23,26C23,25.342 22.847,24.694 22.553,24.106C22.526,24.052 22.499,23.998 22.472,23.944C22.162,23.323 22,22.639 22,21.945C22,21.086 22,19.854 22,18.835C22,18.348 22.193,17.881 22.537,17.537C22.881,17.193 23.348,17 23.835,17C24.348,17 24.924,17 25.5,17C27.433,17 29,18.567 29,20.5L29,22.525C29,23.469 28.625,24.375 27.957,25.043C27.831,25.169 27.707,25.293 27.591,25.409C27.213,25.787 27,26.301 27,26.836C27,26.939 27,27.047 27,27.158C27,28.335 26.522,29.462 25.675,30.28C24.83,31.096 23.894,32 23.894,32L20,31L16.106,32Z" style="fill:#597734;"/>
</g>
</g>
<g id="ears">
<path d="M23.044,10.509C23.3,8.158 24.666,6.048 26.749,4.858C28.412,3.908 30,3 30,3C30,3 30.706,4.412 31.484,5.967C32.784,8.568 33.099,11.551 32.372,14.366C32.268,14.768 32.175,15.129 32.103,15.408C32.084,15.48 32.056,15.548 32.019,15.61C32.228,15.887 32.427,16.172 32.614,16.466C32.286,16.799 31.831,17 31.338,17C30.887,17 30.233,17 29.535,17C26.992,17 24.618,15.729 23.207,13.613L23.206,13.612C23.072,13.41 23,13.173 23,12.931L23,11.216C23,10.978 23.009,10.741 23.027,10.507L23.044,10.509ZM7.981,15.61C7.944,15.548 7.916,15.48 7.897,15.408C7.825,15.129 7.732,14.768 7.628,14.366C6.901,11.551 7.216,8.568 8.516,5.967C9.294,4.412 10,3 10,3C10,3 11.588,3.908 13.251,4.858C15.334,6.048 16.7,8.158 16.956,10.509L16.973,10.507C16.991,10.741 17,10.978 17,11.216L17,12.97C17,13.187 16.936,13.399 16.815,13.58L16.793,13.613C15.382,15.729 13.008,17 10.465,17L8.662,17C8.169,17 7.714,16.799 7.386,16.466C7.573,16.172 7.772,15.887 7.981,15.61Z" style="fill:#56312b;"/>
<path d="M24.479,13.727L24.463,13.523C24.185,9.906 26.197,6.501 29.499,5L29.5,5.001C31.696,8.137 32.235,12.142 30.947,15.747L30.857,16L30.319,16C28.138,16 26.058,15.176 24.479,13.727ZM9.143,16L9.053,15.747C7.765,12.142 8.304,8.137 10.5,5.001L10.501,5C13.803,6.501 15.815,9.906 15.537,13.523L15.521,13.727C13.942,15.176 11.862,16 9.681,16L9.143,16Z" style="fill:#864d43;"/>
<path d="M28,8L29,7C29,7 29.096,7.575 29.204,8.222C29.384,9.304 28.913,10.391 28,11C28,11 28,11 28,11L29.5,11.5C29.5,11.5 29.5,11.5 29.5,11.5C28.856,12.465 27.877,13.156 26.751,13.437C26.598,13.475 26.5,13.5 26.5,13.5" style="fill:none;stroke:#341e1a;stroke-width:1.27px;"/>
<path d="M12,8L11,7C11,7 10.878,7.244 10.703,7.593C10.394,8.212 10.358,8.933 10.604,9.58C10.85,10.228 11.356,10.742 11.998,10.999C11.999,11 12,11 12,11L10.5,11.5C10.5,11.5 10.5,11.5 10.5,11.5C11.144,12.465 12.123,13.156 13.249,13.437C13.402,13.475 13.5,13.5 13.5,13.5" style="fill:none;stroke:#341e1a;stroke-width:1.27px;"/>
</g>
<g id="face">
<path d="M12,20.5C12,19.837 12.263,19.201 12.732,18.732C13.201,18.263 13.837,18 14.5,18C15.163,18 15.799,18.263 16.268,18.732C16.737,19.201 17,19.837 17,20.5C17,20.831 17,21.171 17,21.502C17,22.165 16.737,22.8 16.268,23.268C15.8,23.737 15.165,24 14.502,24C14.501,24 14.499,24 14.498,24C13.835,24 13.2,23.737 12.732,23.268C12.263,22.8 12,22.165 12,21.502C12,21.171 12,20.831 12,20.5ZM28,20.5C28,19.837 27.737,19.201 27.268,18.732C26.799,18.263 26.163,18 25.5,18C24.837,18 24.201,18.263 23.732,18.732C23.263,19.201 23,19.837 23,20.5C23,20.831 23,21.171 23,21.502C23,22.165 23.263,22.8 23.732,23.268C24.2,23.737 24.835,24 25.498,24C25.499,24 25.501,24 25.502,24C26.165,24 26.8,23.737 27.268,23.268C27.737,22.8 28,22.165 28,21.502C28,21.171 28,20.831 28,20.5Z" style="fill:#fff;"/>
<path d="M26,20.25C26,19.698 25.552,19.25 25,19.25C24.448,19.25 24,19.698 24,20.25C24,20.72 24,21.28 24,21.75C24,22.302 24.448,22.75 25,22.75C25.552,22.75 26,22.302 26,21.75C26,21.28 26,20.72 26,20.25ZM14,20.25C14,19.698 14.448,19.25 15,19.25C15.552,19.25 16,19.698 16,20.25C16,20.72 16,21.28 16,21.75C16,22.302 15.552,22.75 15,22.75C14.448,22.75 14,22.302 14,21.75C14,21.28 14,20.72 14,20.25Z" style="fill:#a88d30;"/>
<path d="M17,26C17.64,25.36 18.509,25 19.414,25C19.794,25 20.206,25 20.586,25C21.491,25 22.36,25.36 23,26C23,26 23,26 23,26L23,26.393C23,27.378 22.444,28.278 21.563,28.719C21.558,28.721 21.554,28.723 21.549,28.726C21.188,28.906 20.79,29 20.386,29C20.141,29 19.859,29 19.614,29C19.21,29 18.812,28.906 18.451,28.726C18.446,28.723 18.442,28.721 18.437,28.719C17.556,28.278 17,27.378 17,26.393C17,26.162 17,26 17,26C17,26 17,26 17,26Z"/>
<path d="M14,30C14,30 14.394,30.394 14.833,30.833C15.548,31.548 16.606,31.798 17.566,31.478C17.814,31.395 18.059,31.314 18.274,31.242C18.755,31.082 19.258,31 19.765,31C19.919,31 20.081,31 20.235,31C20.742,31 21.245,31.082 21.726,31.242C21.941,31.314 22.186,31.395 22.434,31.478C23.394,31.798 24.452,31.548 25.167,30.833C25.606,30.394 26,30 26,30" style="fill:none;stroke:#140b0a;stroke-width:1.5px;"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 9.4 KiB

View file

@ -1,41 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="100%" height="100%" viewBox="0 0 40 40" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:1.5;">
<rect id="wolf_taco" x="0" y="0" width="40" height="40" style="fill:none;"/>
<clipPath id="_clip1">
<rect x="0" y="0" width="40" height="40"/>
</clipPath>
<g clip-path="url(#_clip1)">
<g id="outline">
<path d="M23.839,10.14C25.392,7.932 28.034,6.726 30.745,7.027C32.91,7.268 35,7.5 35,7.5L33.491,11.524C33.435,11.668 33.14,12.429 32.822,13.248C32.59,13.847 32.207,14.355 31.726,14.737C32.852,16.118 33.702,17.74 34.189,19.526L35,22.5C34.53,22.312 34.057,22.137 33.579,21.976C34.301,23.086 34.859,24.316 35.219,25.636L36,28.5C35.139,28.069 34.259,27.684 33.362,27.344C33.915,28.953 34.15,30.699 34,32.498C34,32.499 34,32.5 34,32.5C34,32.5 33.187,31.958 32.159,31.273C30.841,30.394 29.265,30.183 27.839,30.571C28.448,31.451 28.902,32.351 29.233,33.137C29.468,33.697 29.431,34.334 29.133,34.863C28.835,35.392 28.309,35.754 27.709,35.844C23.934,36.41 16.438,37.534 12.519,38.121C11.89,38.215 11.253,37.999 10.811,37.541C10.37,37.083 10.177,36.439 10.294,35.814C10.582,34.283 11.152,32.332 12.282,30.605C10.825,30.172 9.196,30.369 7.841,31.273C6.813,31.958 6,32.5 6,32.5C6,32.5 6,32.499 6,32.498C5.85,30.699 6.085,28.953 6.638,27.344C5.741,27.684 4.861,28.069 4,28.5L4.781,25.636C5.141,24.316 5.699,23.086 6.421,21.976C5.943,22.137 5.47,22.312 5,22.5L5.811,19.526C6.298,17.74 7.148,16.118 8.274,14.737C7.793,14.355 7.41,13.847 7.178,13.248C6.86,12.429 6.565,11.668 6.509,11.524L5,7.5C5,7.5 7.09,7.268 9.255,7.027C11.966,6.726 14.608,7.932 16.161,10.14L16.691,10.051C18.882,9.686 21.118,9.686 23.309,10.051L23.839,10.14ZM19.904,9.474C19.47,9.341 17.648,8.644 16.287,6.01C14.956,3.435 16.64,2 17.857,2C19.074,2 20,2.874 20,4.143L20.011,3.91C20.117,2.768 21.002,2 22.143,2C23.36,2 25.044,3.435 23.713,6.01C22.157,9.02 20,9.5 20,9.5L19.904,9.474Z" style="fill:none;stroke:#000;stroke-width:4px;"/>
</g>
<g id="emoji">
<g id="head">
<g>
<path d="M16.441,10.093L16.691,10.051C17.126,9.979 17.562,9.921 18,9.877L20,10.877L22,9.877C22.438,9.921 22.874,9.979 23.309,10.051L23.559,10.093C23.39,10.393 31.582,16.155 32.342,15.557C33.164,16.745 33.795,18.082 34.189,19.526L35,22.5C34.53,22.312 34.057,22.137 33.579,21.976C33.868,22.42 34.131,22.884 34.365,23.365C33.265,22.552 25,25.5 25,25.5L15,25.5C15,25.5 6.735,22.552 5.635,23.365C5.869,22.884 6.132,22.42 6.421,21.976C5.943,22.137 5.47,22.312 5,22.5L5.811,19.526C6.205,18.082 6.836,16.745 7.658,15.557C8.418,16.155 16.61,10.393 16.441,10.093Z" style="fill:#653a33;"/>
<path d="M23.559,10.093L23.794,10.132C27.32,10.72 30.377,12.716 32.342,15.557C31.582,16.155 30.629,16.5 29.618,16.5L29.618,16.5C27.022,16.5 24.649,15.033 23.488,12.711L23.148,12.032C22.993,11.723 22.978,11.362 23.107,11.04L23.11,11.033C23.24,10.707 23.39,10.393 23.559,10.093ZM16.441,10.093C16.61,10.393 16.76,10.707 16.89,11.033C17.081,11.509 16.906,11.857 16.663,12.095L16.89,11.956C16.89,11.956 16.715,12.305 16.512,12.711C15.351,15.033 12.978,16.5 10.382,16.5L10.382,16.5C9.371,16.5 8.418,16.155 7.658,15.557C9.623,12.716 12.68,10.72 16.206,10.132L16.441,10.093Z" style="fill:#56312b;"/>
<path d="M13.056,30.963C13.171,30.412 13.464,28.909 13.896,28.534C14.466,28.04 25.534,28.04 26.104,28.534C26.536,28.909 26.829,30.412 26.944,30.963L26.439,32.143C25.566,34.179 23.563,35.5 21.347,35.5C20.469,35.5 19.531,35.5 18.653,35.5C16.437,35.5 14.434,34.179 13.561,32.143L13.056,30.963Z" style="fill:#4c2c26;"/>
<path d="M18,9.877C19.33,9.744 20.67,9.744 22,9.877L22,13.382C22,14.117 22.171,14.842 22.5,15.5C22.5,15.5 22.5,15.5 22.5,15.5C22.829,16.158 23,16.883 23,17.618C23,18.801 23,20.5 23,20.5L17,20.5L17,17.618C17,16.883 17.171,16.158 17.5,15.5C17.5,15.5 17.5,15.5 17.5,15.5C17.829,14.842 18,14.117 18,13.382L18,9.877Z" style="fill:#4e2d27;"/>
<path d="M17,22.5C17,22.5 17.305,21.585 17.578,20.766C17.83,20.01 18.538,19.5 19.335,19.5C19.763,19.5 20.237,19.5 20.665,19.5C21.462,19.5 22.17,20.01 22.422,20.766C22.695,21.585 23,22.5 23,22.5L23,28.5L17,28.5L17,22.5Z" style="fill:#824a41;"/>
<path d="M5.635,23.365C6.735,22.552 8.024,21.996 9.411,21.765C9.448,21.759 9.485,21.753 9.521,21.747C10.374,21.604 11,20.866 11,20.001L11,20L15,25.5L25,25.5L29,20L29,20.001C29,20.866 29.626,21.604 30.479,21.747C30.515,21.753 30.552,21.759 30.589,21.765C31.976,21.996 33.265,22.552 34.365,23.365C34.716,24.085 35.003,24.845 35.219,25.636L36,28.5C35.139,28.069 34.259,27.684 33.362,27.344C33.915,28.953 34.15,30.699 34,32.498C34,32.499 34,32.5 34,32.5C34,32.5 33.187,31.958 32.159,31.273C30.568,30.212 28.601,30.125 26.977,30.888L26.944,30.963C26.829,30.412 26.536,29.909 26.104,29.534C25.534,29.04 24.778,28.817 24.032,28.924L20,29.5C20,29.5 17.876,29.197 15.968,28.924C15.222,28.817 14.466,29.04 13.896,29.534C13.464,29.909 13.171,30.412 13.056,30.963L13.023,30.888C11.399,30.125 9.432,30.212 7.841,31.273C6.813,31.958 6,32.5 6,32.5C6,32.5 6,32.499 6,32.498C5.85,30.699 6.085,28.953 6.638,27.344C5.741,27.684 4.861,28.069 4,28.5L4.781,25.636C4.997,24.845 5.284,24.085 5.635,23.365Z" style="fill:#719742;"/>
<path d="M16.106,31.5C16.106,31.5 15.17,30.596 14.325,29.78C13.478,28.962 13,27.835 13,26.658C13,26.547 13,26.439 13,26.336C13,25.801 12.787,25.287 12.409,24.909C12.293,24.793 12.169,24.669 12.043,24.543C11.375,23.875 11,22.969 11,22.025L11,20C11,18.067 12.567,16.5 14.5,16.5C15.076,16.5 15.652,16.5 16.165,16.5C16.652,16.5 17.119,16.693 17.463,17.037C17.807,17.381 18,17.848 18,18.335C18,19.354 18,20.586 18,21.445C18,22.139 17.838,22.823 17.528,23.444C17.501,23.498 17.474,23.552 17.447,23.606C17.153,24.194 17,24.842 17,25.5L17,25.5L23,25.5L23,25.5C23,24.842 22.847,24.194 22.553,23.606C22.526,23.552 22.499,23.498 22.472,23.444C22.162,22.823 22,22.139 22,21.445C22,20.586 22,19.354 22,18.335C22,17.848 22.193,17.381 22.537,17.037C22.881,16.693 23.348,16.5 23.835,16.5C24.348,16.5 24.924,16.5 25.5,16.5C27.433,16.5 29,18.067 29,20L29,22.025C29,22.969 28.625,23.875 27.957,24.543C27.831,24.669 27.707,24.793 27.591,24.909C27.213,25.287 27,25.801 27,26.336C27,26.439 27,26.547 27,26.658C27,27.835 26.522,28.962 25.675,29.78C24.83,30.596 23.894,31.5 23.894,31.5L20,30.5L16.106,31.5Z" style="fill:#597734;"/>
</g>
</g>
<g id="ears">
<path d="M30.188,15.439C29.975,15.479 29.757,15.5 29.535,15.5C29.534,15.5 29.534,15.5 29.533,15.5C27.309,15.5 25.215,14.453 23.88,12.674C23.665,12.387 23.471,12.128 23.32,11.926C23.126,11.669 23.108,11.319 23.274,11.043C23.352,10.914 23.443,10.762 23.544,10.594C25.04,8.099 27.854,6.706 30.745,7.027C32.91,7.268 35,7.5 35,7.5L30.188,15.439ZM5,7.5C5,7.5 7.09,7.268 9.255,7.027C12.146,6.706 14.96,8.099 16.456,10.594C16.557,10.762 16.648,10.914 16.726,11.043C16.892,11.319 16.874,11.669 16.68,11.926C16.529,12.128 16.335,12.387 16.12,12.674C14.785,14.453 12.691,15.5 10.467,15.5C10.466,15.5 10.466,15.5 10.465,15.5C10.243,15.5 10.025,15.479 9.812,15.439L5,7.5Z" style="fill:#56312b;"/>
<path d="M5,7.5L5.386,7.528C6.998,7.643 8.471,8.482 9.393,9.81C10.314,11.137 10.585,12.811 10.129,14.362L9.812,15.439C8.629,15.216 7.623,14.398 7.178,13.248C6.86,12.429 6.565,11.668 6.509,11.524L5,7.5ZM35,7.5L33.491,11.524C33.435,11.668 33.14,12.429 32.822,13.248C32.377,14.398 31.371,15.216 30.188,15.439L29.871,14.362C29.415,12.811 29.686,11.137 30.607,9.81C31.529,8.482 33.002,7.643 34.614,7.528L35,7.5Z" style="fill:#864d43;"/>
</g>
<g id="face">
<path d="M26.515,28.985C27.836,30.288 28.697,31.863 29.233,33.137C29.468,33.697 29.431,34.334 29.133,34.863C28.835,35.392 28.309,35.754 27.709,35.844C25.338,36.199 21.498,36.775 17.999,37.3C18.005,37.174 13.506,37.119 13.639,37.953L12.519,38.121C11.89,38.215 11.253,37.999 10.811,37.541C10.37,37.083 10.177,36.439 10.294,35.814C10.674,33.795 11.545,31.044 13.542,29.042L16,31.5L20,30.5L24,31.5L26.515,28.985Z" style="fill:#d7bd96;"/>
<path d="M13.639,37.953C13.506,37.119 14.261,36.231 15.391,35.929C16.576,35.611 17.726,36.057 17.959,36.925C17.992,37.049 18.005,37.174 17.998,37.3L13.639,37.953ZM24.712,32.471C25.734,33.15 26.16,34.308 25.663,35.056C25.167,35.804 23.934,35.86 22.912,35.181C21.89,34.503 21.464,33.345 21.961,32.597C22.457,31.849 23.69,31.792 24.712,32.471ZM16,31.5L17.496,31.126C16.749,32.41 15.409,33.044 14.41,32.548C13.403,32.047 13.103,30.576 13.695,29.195L16,31.5Z" style="fill:#c39f72;"/>
<path d="M12.5,21.5C12.5,21.5 12.548,21.428 12.63,21.306C13.046,20.68 13.748,20.305 14.5,20.305C15.252,20.305 15.954,20.68 16.37,21.306C16.452,21.428 16.5,21.5 16.5,21.5" style="fill:none;stroke:#000;stroke-width:1.5px;"/>
<path d="M23.5,21.5C23.5,21.5 23.548,21.428 23.63,21.306C24.046,20.68 24.748,20.305 25.5,20.305C26.252,20.305 26.954,20.68 27.37,21.306C27.452,21.428 27.5,21.5 27.5,21.5" style="fill:none;stroke:#000;stroke-width:1.5px;"/>
<path d="M17,25.5C17.64,24.86 18.509,24.5 19.414,24.5C19.794,24.5 20.206,24.5 20.586,24.5C21.491,24.5 22.36,24.86 23,25.5C23,25.5 23,25.5 23,25.5L23,25.893C23,26.878 22.444,27.778 21.563,28.219C21.558,28.221 21.554,28.223 21.549,28.226C21.188,28.406 20.79,28.5 20.386,28.5C20.141,28.5 19.859,28.5 19.614,28.5C19.21,28.5 18.812,28.406 18.451,28.226C18.446,28.223 18.442,28.221 18.437,28.219C17.556,27.778 17,26.878 17,25.893C17,25.662 17,25.5 17,25.5C17,25.5 17,25.5 17,25.5Z"/>
<path d="M13.5,28C13.5,28 13.705,29.026 13.853,29.764C13.949,30.244 14.185,30.685 14.531,31.031C14.541,31.041 14.552,31.052 14.563,31.063C15.398,31.898 16.708,32.028 17.691,31.372C17.914,31.224 18.131,31.079 18.322,30.952C18.764,30.657 19.283,30.5 19.814,30.5C19.937,30.5 20.063,30.5 20.186,30.5C20.717,30.5 21.236,30.657 21.678,30.952C21.869,31.079 22.086,31.224 22.309,31.372C23.292,32.028 24.602,31.898 25.437,31.063C25.448,31.052 25.459,31.041 25.469,31.031C25.815,30.685 26.051,30.244 26.147,29.764C26.295,29.026 26.5,28 26.5,28" style="fill:none;stroke:#140b0a;stroke-width:1.5px;"/>
</g>
<g id="hearts">
<path d="M19.904,9.474C19.47,9.341 17.648,8.644 16.287,6.01C14.956,3.435 16.64,2 17.857,2C19.074,2 20,2.874 20,4.143L20.011,3.91C20.117,2.768 21.002,2 22.143,2C23.36,2 25.044,3.435 23.713,6.01C22.157,9.02 20,9.5 20,9.5L19.904,9.474Z" style="fill:#f13b75;"/>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 11 KiB

View file

@ -1,15 +0,0 @@
name = 'corazon'
license = 'MIT'
licenselink = 'https://git.tacowolf.net/TacoWolf/mestizo.monster/src/branch/main/LICENSE.md'
description = 'a theme from the heart'
homepage = 'https://git.tacowolf.net/TacoWolf/mestizo.monster/src/branch/main/themes/corazon'
[author]
name = 'Daniel Alejandro Gallegos'
homepage = 'https://mestizo.monster'
# lightly based on...
[original]
author = 'Automattic'
homepage = 'https://wordpress.com/theme/otis'
repo = 'https://public-api.wordpress.com/rest/v1/themes/download/otis.zip'