feat(11ty): implement site in 11ty
19
.gitignore
vendored
|
|
@ -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
|
||||||
|
|
|
||||||
21
LICENSE.md
|
|
@ -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.
|
|
||||||
29
_includes/post.njk
Normal file
|
|
@ -0,0 +1,29 @@
|
||||||
|
---
|
||||||
|
published: Last Modified
|
||||||
|
---
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>{{ title }}</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<article>
|
||||||
|
<section>
|
||||||
|
</section>
|
||||||
|
<hgroup>
|
||||||
|
<h1>{{ title }}</h1>
|
||||||
|
<p>{{ description }}</p>
|
||||||
|
<ul>
|
||||||
|
<li>published: {{ date }}</li>
|
||||||
|
<li>reading time: about {{ content | readingTime }}</li>
|
||||||
|
<li>author: <a href="/about">daniel (taco)</a></li>
|
||||||
|
</ul>
|
||||||
|
</hgroup>
|
||||||
|
<section>
|
||||||
|
{{ content | safe }}
|
||||||
|
</section>
|
||||||
|
</article>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
@ -1,12 +1,15 @@
|
||||||
+++
|
---
|
||||||
title = 'about'
|
title = 'about'
|
||||||
draft = false
|
draft = false
|
||||||
menus = 'main'
|
menus = 'main'
|
||||||
images = ['about/taco.png']
|
images = ['about/taco.png']
|
||||||
description = 'but who is taco? and how much does it weigh?'
|
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/)">}}
|
<figure>
|
||||||
|
<img src="taco.png" alt="a smiling cartoon taco with little legs"/>
|
||||||
|
<figcaption>artwork by <a href="https://www.heyheymomo.com">heyheymomo</a></figcaption>
|
||||||
|
</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 portfolios, to 🛠️ administering servers for a harm reduction coalition.
|
**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.
|
||||||
|
|
||||||
|
|
@ -16,11 +19,11 @@ Daniel has contributed to projects around the world, including developing enterp
|
||||||
|
|
||||||
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:
|
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
|
- 💻 Computer Science
|
||||||
* 🇺🇸 English
|
- 🇺🇸 English
|
||||||
* 🇪🇸 Spanish
|
- 🇪🇸 Spanish
|
||||||
* 🇪🇨🇨🇴🇻🇪 Latin American Studies
|
- 🇪🇨🇨🇴🇻🇪 Latin American Studies
|
||||||
* 🏳️🌈 LGBTQ+ Studies
|
- 🏳️🌈 LGBTQ+ Studies
|
||||||
* and other classes he took and just enjoyed, tbh
|
- 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, Daniel’s opinions are his own and do not represent the views of his employer(s).
|
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, Daniel’s opinions are his own and do not represent the views of his employer(s).
|
||||||
|
Before Width: | Height: | Size: 95 KiB After Width: | Height: | Size: 95 KiB |
|
|
@ -1,5 +0,0 @@
|
||||||
+++
|
|
||||||
title = '{{ replace .File.ContentBaseName "-" " " | title }}'
|
|
||||||
date = {{ .Date }}
|
|
||||||
draft = true
|
|
||||||
+++
|
|
||||||
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
BIN
assets/taco.png
Normal file
|
After Width: | Height: | Size: 95 KiB |
|
Before Width: | Height: | Size: 8.6 KiB After Width: | Height: | Size: 8.6 KiB |
|
Before Width: | Height: | Size: 9.4 KiB After Width: | Height: | Size: 9.4 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
|
|
@ -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.
|
|
||||||
|
|
@ -1,9 +0,0 @@
|
||||||
+++
|
|
||||||
title = 'posts'
|
|
||||||
draft = false
|
|
||||||
menus = 'main'
|
|
||||||
layout = 'posts'
|
|
||||||
type = 'list'
|
|
||||||
+++
|
|
||||||
|
|
||||||
posts i done gone and wrote
|
|
||||||
41
eleventy.config.js
Normal file
|
|
@ -0,0 +1,41 @@
|
||||||
|
import markdownIt from "markdown-it";
|
||||||
|
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;
|
||||||
|
});
|
||||||
|
|
||||||
|
eleventyConfig.addCollection("posts", function (collection) {
|
||||||
|
return collection.getFilteredByGlob("posts/**/*.md");
|
||||||
|
});
|
||||||
|
|
||||||
|
let options = {
|
||||||
|
html: true,
|
||||||
|
breaks: true,
|
||||||
|
linkify: true,
|
||||||
|
};
|
||||||
|
|
||||||
|
eleventyConfig.setLibrary("md", markdownIt(options));
|
||||||
|
eleventyConfig.addPlugin(readingTime);
|
||||||
|
}
|
||||||
|
|
@ -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"]
|
|
||||||
16
index.md
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
---
|
||||||
|
title: "home"
|
||||||
|
description: "words by taco, the mestizo monster."
|
||||||
|
---
|
||||||
|
|
||||||
|
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.
|
||||||
1531
package-lock.json
generated
Normal file
18
package.json
Normal file
|
|
@ -0,0 +1,18 @@
|
||||||
|
{
|
||||||
|
"dependencies": {
|
||||||
|
"@11ty/eleventy": "^3.1.5",
|
||||||
|
"eleventy-plugin-reading-time": "^0.0.1",
|
||||||
|
"markdown-it": "^14.1.1"
|
||||||
|
},
|
||||||
|
"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"
|
||||||
|
}
|
||||||
5
posts/index.md
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
title: 'posts'
|
||||||
|
---
|
||||||
|
|
||||||
|
posts i done gone and wrote
|
||||||
|
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 38 KiB |
|
|
@ -1,9 +1,11 @@
|
||||||
+++
|
---
|
||||||
title = "moving on from freenom 👋"
|
title: "moving on from freenom 👋"
|
||||||
date = "2023-10-06"
|
date: "2023-10-06"
|
||||||
draft = false
|
layout: post.njk
|
||||||
categories = [ "life", "technology" ]
|
draft: false
|
||||||
keywords = [
|
categories: ["life", "technology"]
|
||||||
|
keywords:
|
||||||
|
[
|
||||||
"ga",
|
"ga",
|
||||||
"daniel-ga",
|
"daniel-ga",
|
||||||
"dns",
|
"dns",
|
||||||
|
|
@ -19,8 +21,9 @@ keywords = [
|
||||||
"websites",
|
"websites",
|
||||||
"life",
|
"life",
|
||||||
"technology",
|
"technology",
|
||||||
]
|
]
|
||||||
tags = [
|
tags:
|
||||||
|
[
|
||||||
"ga",
|
"ga",
|
||||||
"daniel-ga",
|
"daniel-ga",
|
||||||
"dns",
|
"dns",
|
||||||
|
|
@ -33,13 +36,13 @@ tags = [
|
||||||
"personal-websites",
|
"personal-websites",
|
||||||
"taco-ga",
|
"taco-ga",
|
||||||
"website",
|
"website",
|
||||||
"websites"
|
"websites",
|
||||||
]
|
]
|
||||||
images = [ "posts/moving-on-from-freenom/images/header.png" ]
|
images: ["posts/moving-on-from-freenom/images/header.png"]
|
||||||
description = "what's the harm in a free domain name?"
|
description: "what's the harm in a free domain name?"
|
||||||
aliases = [ "/2023/10/06/moving-on-from-freenom" ]
|
aliases: ["/2023/10/06/moving-on-from-freenom/index.html"]
|
||||||
kind = "page"
|
kind: "page"
|
||||||
+++
|
---
|
||||||
|
|
||||||
> why am i still hanging on?
|
> why am i still hanging on?
|
||||||
>
|
>
|
||||||
|
|
@ -53,20 +56,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="images/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 I’m 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 I’m 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 you’re 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 you’re 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 didn’t hear about them until 2016. Stumbling across their page made me excited as a broke teenager. I didn’t know any better; I was getting a free domain name! There shouldn’t 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 didn’t hear about them until 2016. Stumbling across their page made me excited as a broke teenager. I didn’t know any better; I was getting a free domain name! There shouldn’t be any downsides, _right_?
|
||||||
20
redirects.njk
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
---
|
||||||
|
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>
|
||||||
|
|
@ -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.
|
|
||||||
|
|
@ -1,7 +0,0 @@
|
||||||
# Theme Name
|
|
||||||
|
|
||||||
## Features
|
|
||||||
|
|
||||||
## Installation
|
|
||||||
|
|
||||||
## Configuration
|
|
||||||
|
|
@ -1,5 +0,0 @@
|
||||||
+++
|
|
||||||
title = '{{ replace .File.ContentBaseName "-" " " | title }}'
|
|
||||||
date = {{ .Date }}
|
|
||||||
draft = true
|
|
||||||
+++
|
|
||||||
|
|
@ -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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
console.log('This site was generated by Hugo.');
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
baseURL = 'https://mestizo.monster/'
|
|
||||||
languageCode = 'en-us'
|
|
||||||
title = 'mestizo dot monster'
|
|
||||||
|
|
||||||
[module]
|
|
||||||
[module.hugoVersion]
|
|
||||||
extended = true
|
|
||||||
min = "0.116.0"
|
|
||||||
|
|
@ -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>
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
{{ define "main" }}
|
|
||||||
{{ .Content }}
|
|
||||||
{{ end }}
|
|
||||||
|
|
@ -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 }}
|
|
||||||
|
|
@ -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 }}
|
|
||||||
|
|
@ -1,7 +0,0 @@
|
||||||
{{ define "main" }}
|
|
||||||
<article>
|
|
||||||
<h1>{{ .Title }}</h1>
|
|
||||||
{{ .Content }}
|
|
||||||
{{ partial "terms.html" (dict "taxonomy" "tags" "page" .) }}
|
|
||||||
</article>
|
|
||||||
{{ end }}
|
|
||||||
|
|
@ -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>
|
|
||||||
|
|
@ -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" . }}
|
|
||||||
|
|
@ -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 }}
|
|
||||||
|
|
@ -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 }}
|
|
||||||
|
|
@ -1,2 +0,0 @@
|
||||||
<h1><a href="{{ .Site.Home.Permalink }}">{{ site.Title }}</a></h1>
|
|
||||||
{{ partial "menu.html" (dict "menuID" "main" "page" .) }}
|
|
||||||
|
|
@ -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 }}
|
|
||||||
|
|
@ -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 }}
|
|
||||||
|
|
@ -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 }}
|
|
||||||
|
|
@ -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 }}
|
|
||||||
|
Before Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 39 KiB |
|
Before Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 632 B |
|
Before Width: | Height: | Size: 1.5 KiB |
|
|
@ -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"}
|
|
||||||
|
|
@ -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'
|
|
||||||