first
This commit is contained in:
commit
ced4cd3447
80 changed files with 10277 additions and 0 deletions
9
.editorconfig
Normal file
9
.editorconfig
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
root = true
|
||||||
|
|
||||||
|
[*]
|
||||||
|
indent_style = tab
|
||||||
|
indent_size = 2
|
||||||
|
end_of_line = lf
|
||||||
|
insert_final_newline = true
|
||||||
|
trim_trailing_whitespace = true
|
||||||
|
charset = utf-8
|
||||||
1
.gitattributes
vendored
Normal file
1
.gitattributes
vendored
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
content/feed/pretty-atom-feed.xsl linguist-vendored
|
||||||
25
.github/dependabot.yml
vendored
Normal file
25
.github/dependabot.yml
vendored
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
# To get started with Dependabot version updates, you'll need to specify which
|
||||||
|
# package ecosystems to update and where the package manifests are located.
|
||||||
|
# Please see the documentation for all configuration options:
|
||||||
|
# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file
|
||||||
|
|
||||||
|
version: 2
|
||||||
|
updates:
|
||||||
|
- package-ecosystem: npm
|
||||||
|
directory: "/"
|
||||||
|
schedule:
|
||||||
|
interval: monthly
|
||||||
|
cooldown:
|
||||||
|
default-days: 7
|
||||||
|
labels:
|
||||||
|
- "dependency-updates"
|
||||||
|
versioning-strategy: increase
|
||||||
|
allow:
|
||||||
|
- dependency-type: all
|
||||||
|
|
||||||
|
# - package-ecosystem: github-actions
|
||||||
|
# directory: ".github/workflows/"
|
||||||
|
# schedule:
|
||||||
|
# interval: monthly
|
||||||
|
# cooldown:
|
||||||
|
# default-days: 7
|
||||||
76
.github/workflows/gh-pages.yml.sample
vendored
Normal file
76
.github/workflows/gh-pages.yml.sample
vendored
Normal file
|
|
@ -0,0 +1,76 @@
|
||||||
|
# If you’d like to deploy this project to GitHub pages:
|
||||||
|
#
|
||||||
|
# 1. Remove the .sample file extension from this file so it ends with `.yml`
|
||||||
|
# e.g. `gh-pages.yml`
|
||||||
|
#
|
||||||
|
# 2. Go to your repository’s Settings on GitHub and find the GitHub Pages subsection.
|
||||||
|
# Under the Build and Deployment on the GitHub Pages settings, find the Source
|
||||||
|
# option and select “GitHub Actions”
|
||||||
|
#
|
||||||
|
# 3. In your project’s package.json, make sure the `build-ghpages` script has
|
||||||
|
# the `--pathprefix=` parameter set to your repository name.
|
||||||
|
# e.g. "build-ghpages": "npx @11ty/eleventy --pathprefix=/YOUR_REPO_NAME/",
|
||||||
|
#
|
||||||
|
# Exception: When using a Custom domain (example.com) with GitHub Pages, deploying
|
||||||
|
# to `example.com/` instead of `*.github.io/YOUR_REPO_NAME/` make sure to
|
||||||
|
# remove the `--pathprefix` parameter entirely.
|
||||||
|
# e.g. "build-ghpages": "npx @11ty/eleventy",
|
||||||
|
#
|
||||||
|
# 4. Commit this new `gh-pages.yml` file and push it upstream to GitHub
|
||||||
|
|
||||||
|
name: Deploy to GitHub Pages
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
permissions:
|
||||||
|
contents: write
|
||||||
|
concurrency:
|
||||||
|
group: ${{ github.workflow }}-${{ github.ref }}
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # 6.0.2
|
||||||
|
|
||||||
|
- name: Setup Node
|
||||||
|
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # 6.3.0
|
||||||
|
with:
|
||||||
|
node-version: '22'
|
||||||
|
|
||||||
|
- name: Cache npm
|
||||||
|
uses: actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # 5.0.3
|
||||||
|
with:
|
||||||
|
path: ~/.npm
|
||||||
|
key: ${{ runner.os }}-node-${{ hashFiles('**/package.json') }}
|
||||||
|
|
||||||
|
- name: Cache Eleventy .cache
|
||||||
|
uses: actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # 5.0.3
|
||||||
|
with:
|
||||||
|
path: ./.cache
|
||||||
|
key: ${{ runner.os }}-eleventy-fetch-cache
|
||||||
|
|
||||||
|
- run: npm ci
|
||||||
|
- run: npm run build-ghpages
|
||||||
|
|
||||||
|
- name: Upload static files as artifact
|
||||||
|
id: deployment
|
||||||
|
uses: actions/upload-pages-artifact@7b1f4a764d45c48632c6b24a0339c27f5614fb0b # 4.0.0
|
||||||
|
with:
|
||||||
|
path: _site/
|
||||||
|
|
||||||
|
deploy:
|
||||||
|
environment:
|
||||||
|
name: github-pages
|
||||||
|
url: ${{ steps.deployment.outputs.page_url }}
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: build
|
||||||
|
permissions:
|
||||||
|
pages: write
|
||||||
|
id-token: write
|
||||||
|
steps:
|
||||||
|
- name: Deploy to GitHub Pages
|
||||||
|
id: deployment
|
||||||
|
uses: actions/deploy-pages@d6db90164ac5ed86f2b6aed7e0febac5b3c0c03e # 4.0.5
|
||||||
166
.gitignore
vendored
Normal file
166
.gitignore
vendored
Normal file
|
|
@ -0,0 +1,166 @@
|
||||||
|
node_modules/
|
||||||
|
.cache
|
||||||
|
# ==============================================================================
|
||||||
|
# Created by https://gitignores.com/
|
||||||
|
# COMPREHENSIVE FRAMEWORK TEMPLATE for Eleventy
|
||||||
|
# Website: https://www.11ty.dev/
|
||||||
|
# Repository: https://github.com/11ty/eleventy
|
||||||
|
# ==============================================================================
|
||||||
|
|
||||||
|
# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
# TEMPLATE OVERVIEW & USAGE NOTES
|
||||||
|
# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
# • TEMPLATE TYPE: COMPREHENSIVE FRAMEWORK TEMPLATE
|
||||||
|
# • PURPOSE: Complete Eleventy framework patterns for static site generation and build artifacts
|
||||||
|
# • DESIGN PHILOSOPHY: Self-contained with all Eleventy-specific patterns
|
||||||
|
# • COMBINATION GUIDANCE: Use standalone; optionally add IDE/OS templates
|
||||||
|
# • SECURITY CONSIDERATIONS: Includes security patterns for .env files and credentials
|
||||||
|
# • BEST PRACTICES: Review patterns before use, test with git check-ignore, customize for your project
|
||||||
|
# • OFFICIAL SOURCES: Eleventy documentation and community best practices
|
||||||
|
|
||||||
|
# ••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
|
||||||
|
# SECURITY & SENSITIVE DATA PROTECTION (ALWAYS FIRST!)
|
||||||
|
# ••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
|
||||||
|
# CRITICAL: Protect sensitive data from accidental commits to version control
|
||||||
|
|
||||||
|
*.crt
|
||||||
|
*.key
|
||||||
|
*.keystore
|
||||||
|
*.pem
|
||||||
|
*.secret
|
||||||
|
*.token
|
||||||
|
*_keys
|
||||||
|
*_secrets
|
||||||
|
*_tokens
|
||||||
|
.env
|
||||||
|
.env.*
|
||||||
|
.env.*.local
|
||||||
|
.env.local
|
||||||
|
id_dsa
|
||||||
|
id_rsa
|
||||||
|
|
||||||
|
# ••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
|
||||||
|
# BUILD ARTIFACTS & DISTRIBUTION
|
||||||
|
# ••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
|
||||||
|
|
||||||
|
*.tar.gz
|
||||||
|
*.zip
|
||||||
|
_site/
|
||||||
|
dist/
|
||||||
|
docs/_site/
|
||||||
|
|
||||||
|
# ••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
|
||||||
|
# DEPENDENCY MANAGEMENT & PACKAGE CACHE
|
||||||
|
# ••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
|
||||||
|
|
||||||
|
.cache/
|
||||||
|
.eleventy.js.cache
|
||||||
|
.yarn-integrity
|
||||||
|
.yarn/build-state.yml
|
||||||
|
.yarn/cache
|
||||||
|
.yarn/install-state.gz
|
||||||
|
.yarn/unplugged
|
||||||
|
.yarn/versions/
|
||||||
|
docs/_build/
|
||||||
|
node_modules/
|
||||||
|
|
||||||
|
# ••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
|
||||||
|
# DEVELOPMENT & RUNTIME ARTIFACTS
|
||||||
|
# ••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
|
||||||
|
|
||||||
|
*.log
|
||||||
|
*.log.*
|
||||||
|
*.tmp
|
||||||
|
.eslintcache
|
||||||
|
.grunt
|
||||||
|
.lock-wscript
|
||||||
|
.node_repl_history
|
||||||
|
.npm-debug.log*
|
||||||
|
.pnpm-debug.log*
|
||||||
|
.11ty-cache/
|
||||||
|
.tern-port
|
||||||
|
eleventy.log
|
||||||
|
npm-debug.log*
|
||||||
|
yarn-debug.log*
|
||||||
|
yarn-error.log*
|
||||||
|
|
||||||
|
# ••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
|
||||||
|
# FRAMEWORK-SPECIFIC PATTERNS
|
||||||
|
# ••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
|
||||||
|
|
||||||
|
*.temp
|
||||||
|
*.ts.js
|
||||||
|
*.ts.map
|
||||||
|
.backup/
|
||||||
|
.bak/
|
||||||
|
.dependencies/
|
||||||
|
.deploy/
|
||||||
|
.deployment/
|
||||||
|
eleventy.config.js
|
||||||
|
.eleventy.config.js.bak
|
||||||
|
.eleventy.config.json.bak
|
||||||
|
.eleventy.config.ts.bak
|
||||||
|
.eleventy.js.bak
|
||||||
|
.eleventy.js/filters/__generated__/
|
||||||
|
.eleventy.js/plugins/__generated__/
|
||||||
|
.eleventy.js/shortcodes/__generated__/
|
||||||
|
.eleventy.js/transforms/__generated__/
|
||||||
|
.eleventyignore.bak
|
||||||
|
_11ty/
|
||||||
|
_collections/__generated__/
|
||||||
|
_components/__generated__/
|
||||||
|
_data/__generated__/
|
||||||
|
_includes/__generated__/
|
||||||
|
_layouts/__generated__/
|
||||||
|
assets/__generated__/
|
||||||
|
assets/css/__generated__/
|
||||||
|
assets/images/__generated__/
|
||||||
|
assets/js/__generated__/
|
||||||
|
benchmark/
|
||||||
|
benchmarks/
|
||||||
|
static/__generated__/
|
||||||
|
|
||||||
|
# ••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
|
||||||
|
# TESTING & QUALITY ASSURANCE
|
||||||
|
# ••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
|
||||||
|
|
||||||
|
.coverage
|
||||||
|
.coverage.*
|
||||||
|
.nyc_output/
|
||||||
|
coverage/
|
||||||
|
test-results/
|
||||||
|
tests/
|
||||||
|
|
||||||
|
# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
# TEMPLATE CUSTOMIZATION & BEST PRACTICES
|
||||||
|
# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
# 1. REVIEW: Examine all patterns before use
|
||||||
|
# 2. CUSTOMIZE: Adapt to your project's specific structure
|
||||||
|
# 3. TEST: Use `git check-ignore` to verify patterns
|
||||||
|
# 4. SECURE: Always protect sensitive data and credentials
|
||||||
|
# 5. UPDATE: Review periodically as technology evolves
|
||||||
|
|
||||||
|
# RECOMMENDED USAGE PATTERNS:
|
||||||
|
# ==============================================================================
|
||||||
|
#
|
||||||
|
# BASIC USAGE (STANDALONE):
|
||||||
|
# -------------------------
|
||||||
|
# cp frameworks/eleventy.gitignore .gitignore
|
||||||
|
#
|
||||||
|
# WITH IDE SUPPORT:
|
||||||
|
# ----------------
|
||||||
|
# cat frameworks/eleventy.gitignore \
|
||||||
|
# ides/visual-studio-code.gitignore | sort -u > .gitignore
|
||||||
|
#
|
||||||
|
# CROSS-PLATFORM DEVELOPMENT:
|
||||||
|
# ---------------------------
|
||||||
|
# cat frameworks/eleventy.gitignore \
|
||||||
|
# os/linux.gitignore \
|
||||||
|
# os/macos.gitignore \
|
||||||
|
# os/windows.gitignore | sort -u > .gitignore
|
||||||
|
#
|
||||||
|
# IMPORTANT NOTES:
|
||||||
|
# ==============================================================================
|
||||||
|
# 1. This template is self-contained and includes security patterns
|
||||||
|
# 2. No need to add common/security.gitignore separately
|
||||||
|
# 3. Test with `git status --ignored` to ensure proper coverage
|
||||||
0
.nojekyll
Normal file
0
.nojekyll
Normal file
1
.nvmrc
Normal file
1
.nvmrc
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
22
|
||||||
21
LICENSE
Normal file
21
LICENSE
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2017–2024 Zach Leatherman @zachleat
|
||||||
|
|
||||||
|
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.
|
||||||
3
README.md
Normal file
3
README.md
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
# AGNES.LOVE
|
||||||
|
|
||||||
|
I'm Agnes the Alien! This is my weblog, built with Eleventy.
|
||||||
43
_config/filters.js
Normal file
43
_config/filters.js
Normal file
|
|
@ -0,0 +1,43 @@
|
||||||
|
import { DateTime } from "luxon";
|
||||||
|
|
||||||
|
export default function(eleventyConfig) {
|
||||||
|
eleventyConfig.addFilter("readableDate", (dateObj, format, zone) => {
|
||||||
|
// Formatting tokens for Luxon: https://moment.github.io/luxon/#/formatting?id=table-of-tokens
|
||||||
|
return DateTime.fromJSDate(dateObj, { zone: zone || "utc" }).toFormat(format || "dd LLLL yyyy");
|
||||||
|
});
|
||||||
|
|
||||||
|
eleventyConfig.addFilter("htmlDateString", (dateObj) => {
|
||||||
|
// dateObj input: https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#valid-date-string
|
||||||
|
return DateTime.fromJSDate(dateObj, { zone: "utc" }).toFormat('yyyy-LL-dd');
|
||||||
|
});
|
||||||
|
|
||||||
|
// Get the first `n` elements of a collection.
|
||||||
|
eleventyConfig.addFilter("head", (array, n) => {
|
||||||
|
if(!Array.isArray(array) || array.length === 0) {
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
if( n < 0 ) {
|
||||||
|
return array.slice(n);
|
||||||
|
}
|
||||||
|
|
||||||
|
return array.slice(0, n);
|
||||||
|
});
|
||||||
|
|
||||||
|
// Return the smallest number argument
|
||||||
|
eleventyConfig.addFilter("min", (...numbers) => {
|
||||||
|
return Math.min.apply(null, numbers);
|
||||||
|
});
|
||||||
|
|
||||||
|
// Return the keys used in an object
|
||||||
|
eleventyConfig.addFilter("getKeys", target => {
|
||||||
|
return Object.keys(target);
|
||||||
|
});
|
||||||
|
|
||||||
|
eleventyConfig.addFilter("filterTagList", function filterTagList(tags) {
|
||||||
|
return (tags || []).filter(tag => ["all", "posts"].indexOf(tag) === -1);
|
||||||
|
});
|
||||||
|
|
||||||
|
eleventyConfig.addFilter("sortAlphabetically", strings =>
|
||||||
|
(strings || []).sort((b, a) => b.localeCompare(a))
|
||||||
|
);
|
||||||
|
};
|
||||||
17
_data/eleventyDataSchema.js
Normal file
17
_data/eleventyDataSchema.js
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
import { z } from "zod";
|
||||||
|
import { fromZodError } from 'zod-validation-error';
|
||||||
|
|
||||||
|
// Draft content, validate `draft` front matter
|
||||||
|
export default function() {
|
||||||
|
return function(data) {
|
||||||
|
// Note that drafts may be skipped in a preprocessor (see eleventy.config.js)
|
||||||
|
// when doing a standard build (not --serve or --watch)
|
||||||
|
let result = z.object({
|
||||||
|
draft: z.boolean().or(z.undefined()),
|
||||||
|
}).safeParse(data);
|
||||||
|
|
||||||
|
if(result.error) {
|
||||||
|
throw fromZodError(result.error);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
11
_data/metadata.js
Normal file
11
_data/metadata.js
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
export default {
|
||||||
|
title: "Eleventy Base Blog v9",
|
||||||
|
url: "https://example.com/",
|
||||||
|
language: "en",
|
||||||
|
description: "I am writing about my experiences as a naval navel-gazer.",
|
||||||
|
author: {
|
||||||
|
name: "Your Name Here",
|
||||||
|
email: "youremailaddress@example.com",
|
||||||
|
url: "https://example.com/about-me/"
|
||||||
|
}
|
||||||
|
}
|
||||||
8
_data/site.json
Normal file
8
_data/site.json
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
{
|
||||||
|
"name": "Agnes the Alien",
|
||||||
|
"url": "http://agnes.love",
|
||||||
|
"authorName": "Agnes the Alien",
|
||||||
|
"authorUrl": "http://agnes.love",
|
||||||
|
"description": "Personal website of an alien who does things with computers and also words.",
|
||||||
|
"favicon": "http://file.garden/Zw17vw8ctXTQw7PV/mewelcome.png"
|
||||||
|
}
|
||||||
35
_includes/agneslove-blog.njk
Normal file
35
_includes/agneslove-blog.njk
Normal file
|
|
@ -0,0 +1,35 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<title>Agnes the Alien</title>
|
||||||
|
<script src="{{ nesting }}main.js"></script>
|
||||||
|
<meta content="text/html;charset=utf-8" http-equiv="Content-Type" />
|
||||||
|
<meta charset="UTF-8" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
|
<link href="{{ nesting }}favicon.ico" rel="icon" type="image/x-icon">
|
||||||
|
<link rel="stylesheet" href="/blog.css">
|
||||||
|
<script src="/htmlcommentbox.js"><script src="/theme.js"></script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
{% include "partials/header.njk" %}
|
||||||
|
<nav><a href="/">Home</a> .. <a href="/about">About</a> .. <a href="/blog">Blog</a> .. <a href="/sitemap">Sitemap & Other Pages</a>
|
||||||
|
<button onclick="myFunction()">increase font size</button> </nav>
|
||||||
|
<div class="main-blog"> {{ content | safe }}
|
||||||
|
<div id="comment"> <!-- begin wwww.htmlcommentbox.com -->
|
||||||
|
<div id="HCB_comment_box"><a href="http://www.htmlcommentbox.com">Comment Box</a> is loading comments...</div>
|
||||||
|
<script src="/htmlcommentbox.js"></script></div> </main>
|
||||||
|
<footer>
|
||||||
|
<div id="hcard-Agnes-the-Alien" class="vcard">
|
||||||
|
<img style="float:left; margin-right:4px;width:100px;height:104px;" class="u-photo" src="https://file.garden/Zw17vw8ctXTQw7PV/meicon.png" alt="photo of Agnes" class="photo"/>
|
||||||
|
<a class="url fn n" href="https://agnes.love"> <span class="given-name">Agnes</span>
|
||||||
|
<span class="additional-name"></span>
|
||||||
|
<span class="family-name">the Alien</span>
|
||||||
|
</a>
|
||||||
|
<a class="email" href="mailto:alienhospitals@gmail.com">alienhospitals@gmail.com</a>
|
||||||
|
<div class="adr">
|
||||||
|
<span class="country-name">Midwestern USA</span>
|
||||||
|
<p class="p-note">A weird little extraterrestrial writer, who also does things with websites for fun.</p>
|
||||||
|
</div>
|
||||||
|
<hr>built with eleventy. || <a href="https://treasurechest.alien.town/agnes/agnes.love">source</a></footer>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
46
_includes/agneslove.njk
Normal file
46
_includes/agneslove.njk
Normal file
|
|
@ -0,0 +1,46 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<title>Agnes the Alien</title>
|
||||||
|
<script src="{{ nesting }}main.js"></script>
|
||||||
|
<meta content="text/html;charset=utf-8" http-equiv="Content-Type" />
|
||||||
|
<meta charset="UTF-8" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
|
<link href="{{ nesting }}favicon.ico" rel="icon" type="image/x-icon">
|
||||||
|
<link rel="stylesheet" href="/bundle.css">
|
||||||
|
<script src="/theme.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
{% include "partials/header.njk" %}
|
||||||
|
<script>function myFunction() {
|
||||||
|
let element = document.body;
|
||||||
|
element.classList.toggle("theme");
|
||||||
|
}</script>
|
||||||
|
<nav><a href="/">Home</a> .. <a href="/about">About</a> .. <a href="/blog">Blog</a> .. <a href="/sitemap">Sitemap & Other Pages</a>
|
||||||
|
<button onclick="myFunction()">increase font size</button> </nav> <main> {{ content | safe }}
|
||||||
|
</main>
|
||||||
|
<footer>built with eleventy. || <a href="https://treasurechest.alien.town/agnes/agnes.love">source</a>
|
||||||
|
<br><br><div class="footyr"><div class="ughh">
|
||||||
|
Updates...<br>
|
||||||
|
June 20, '26: Site established.</div><hr><i>webrings, cliques & more...</i><br><a href="https://lockheart.love/collections/cliques">Language Learning</a> 💚 Japanese, Python & Welsh<br>
|
||||||
|
<span class="problematic"><strike>un</strike>problematic blorbo <a href="https://reef.kingdra.net">❥</a> <span class="blorbo">teleya</span><br></span>
|
||||||
|
<a href="https://alien.holiday/femslashring"> | <img src="https://file.garden/Zw17vw8ctXTQw7PV/femslashfansonline.png" alt="A Windows 95 text box screen with a linked double venus s>
|
||||||
|
in the middle that reads FEMSLASH FANS ONLINE." ></a> | <br>
|
||||||
|
<b>MY</b> femslash OTP is...<br><b><i>
|
||||||
|
💞 NAHLA X ANISHA ! 💞 </b></i><br>
|
||||||
|
<a href="https://alien.holiday/femslashring?action=previous">previous</a>
|
||||||
|
<a href="https://alien.holiday/femslashring?action=random">random</a>
|
||||||
|
<a href="https://alien.holiday/femslashring?action=next">next</a>
|
||||||
|
<div id="queersoffaith">
|
||||||
|
<img src="https://file.garden/Zw17vw8ctXTQw7PV/queerfaith.png" alt="A rainbow blinkie. It says queers of faith." title="A rainbow blinkie. It says queers of faith."><br>
|
||||||
|
<a href="https://alien.holiday/queerreligious"><b>QUEERS OF FAITH💞</b></a><br />
|
||||||
|
<a href="https://alien.holiday/queerreligious?action=previous">previous</a> |
|
||||||
|
<a href="https://alien.holiday/queerreligious?action=random">random</a> |
|
||||||
|
<a href="https://alien.holiday/queerreligious?action=next">next</a>
|
||||||
|
</section></section>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
307
_includes/blog.css
Normal file
307
_includes/blog.css
Normal file
|
|
@ -0,0 +1,307 @@
|
||||||
|
/* Defaults */
|
||||||
|
:root {
|
||||||
|
--font-family: -apple-system, system-ui, sans-serif;
|
||||||
|
--font-family-monospace: Consolas, Menlo, Monaco, Andale Mono WT, Andale Mono, Lucida Console, Lucida Sans Typewriter, DejaVu Sans Mono, Bitstream Vera Sans Mono, Liberation Mono, Nimbus Mono L, Courier New, Courier, monospace;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Theme colors */
|
||||||
|
:root {
|
||||||
|
--color-gray-20: #e0e0e0;
|
||||||
|
--color-gray-50: #C0C0C0;
|
||||||
|
--color-gray-90: #333;
|
||||||
|
|
||||||
|
--background-color:#cfffe8;
|
||||||
|
|
||||||
|
--text-color: var(--color-gray-90);
|
||||||
|
--text-color-link: #082840;
|
||||||
|
--text-color-link-active: #5f2b48;
|
||||||
|
--text-color-link-visited: #17050F;
|
||||||
|
|
||||||
|
--syntax-tab-size: 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (prefers-color-scheme: dark) {
|
||||||
|
:root {
|
||||||
|
--color-gray-20: #e0e0e0;
|
||||||
|
--color-gray-50: #C0C0C0;
|
||||||
|
--color-gray-90: #dad8d8;
|
||||||
|
|
||||||
|
/* --text-color is assigned to --color-gray-_ above */
|
||||||
|
--text-color-link: #1493fb;
|
||||||
|
--text-color-link-active: #6969f7;
|
||||||
|
--text-color-link-visited: #a6a6f8;
|
||||||
|
|
||||||
|
--background-color: #15202b;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Global stylesheet */
|
||||||
|
* {
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
@view-transition {
|
||||||
|
navigation: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
html,
|
||||||
|
body {
|
||||||
|
padding: 0;
|
||||||
|
margin: 0 auto;
|
||||||
|
font-family:Arial;
|
||||||
|
color: var(--text-color);
|
||||||
|
background-color: var(--background-color);
|
||||||
|
font-size:18px;
|
||||||
|
}
|
||||||
|
html {
|
||||||
|
overflow-y: scroll;
|
||||||
|
}
|
||||||
|
body {
|
||||||
|
max-width: 40em;
|
||||||
|
}
|
||||||
|
|
||||||
|
header img {
|
||||||
|
width: 100px;
|
||||||
|
height: 104px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.container {
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
/* https://www.a11yproject.com/posts/how-to-hide-content/ */
|
||||||
|
.visually-hidden:not(:focus):not(:active) {
|
||||||
|
clip: rect(0 0 0 0);
|
||||||
|
clip-path: inset(50%);
|
||||||
|
height: 1px;
|
||||||
|
overflow: hidden;
|
||||||
|
position: absolute;
|
||||||
|
white-space: nowrap;
|
||||||
|
width: 1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Fluid images via https://www.zachleat.com/web/fluid-images/ */
|
||||||
|
img{
|
||||||
|
max-width: 100%;
|
||||||
|
}
|
||||||
|
img[width][height] {
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
img[src$=".svg"] {
|
||||||
|
width: 100%;
|
||||||
|
height: auto;
|
||||||
|
max-width: none;
|
||||||
|
}
|
||||||
|
video,
|
||||||
|
iframe {
|
||||||
|
width: 100%;
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
iframe {
|
||||||
|
aspect-ratio: 16/9;
|
||||||
|
}
|
||||||
|
|
||||||
|
p:last-child {
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
p {
|
||||||
|
line-height: 1.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
li {
|
||||||
|
line-height: 1.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
a[href] {
|
||||||
|
color: var(--text-color-link);
|
||||||
|
}
|
||||||
|
a[href]:visited {
|
||||||
|
color: var(--text-color-link-visited);
|
||||||
|
}
|
||||||
|
a[href]:hover,
|
||||||
|
a[href]:active {
|
||||||
|
color: var(--text-color-link-active);
|
||||||
|
}
|
||||||
|
|
||||||
|
main,
|
||||||
|
footer {
|
||||||
|
padding: 1rem;
|
||||||
|
}
|
||||||
|
main :first-child {
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
header {
|
||||||
|
border-bottom: 1px dashed var(--color-gray-20);
|
||||||
|
align-content: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
#skip-link {
|
||||||
|
text-decoration: none;
|
||||||
|
background: var(--background-color);
|
||||||
|
color: var(--text-color);
|
||||||
|
padding: 0.5rem 1rem;
|
||||||
|
border: 1px solid var(--color-gray-90);
|
||||||
|
border-radius: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Prevent visually-hidden skip link fom pushing content around when focused */
|
||||||
|
#skip-link.visually-hidden:focus {
|
||||||
|
position: absolute;
|
||||||
|
top: 1rem;
|
||||||
|
left: 1rem;
|
||||||
|
/* Ensure it is positioned on top of everything else when it is shown */
|
||||||
|
z-index: 999;
|
||||||
|
}
|
||||||
|
|
||||||
|
.links-nextprev {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
gap: .5em 1em;
|
||||||
|
list-style: "";
|
||||||
|
border-top: 1px dashed var(--color-gray-20);
|
||||||
|
padding: 1em 0;
|
||||||
|
}
|
||||||
|
.links-nextprev > * {
|
||||||
|
flex-grow: 1;
|
||||||
|
}
|
||||||
|
.links-nextprev-next {
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
table {
|
||||||
|
margin: 1em 0;
|
||||||
|
}
|
||||||
|
table td,
|
||||||
|
table th {
|
||||||
|
padding-right: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
pre,
|
||||||
|
code {
|
||||||
|
font-family: var(--font-family-monospace);
|
||||||
|
}
|
||||||
|
pre:not([class*="language-"]) {
|
||||||
|
margin: .5em 0;
|
||||||
|
line-height: 1.375; /* 22px /16 */
|
||||||
|
-moz-tab-size: var(--syntax-tab-size);
|
||||||
|
-o-tab-size: var(--syntax-tab-size);
|
||||||
|
tab-size: var(--syntax-tab-size);
|
||||||
|
-webkit-hyphens: none;
|
||||||
|
-ms-hyphens: none;
|
||||||
|
hyphens: none;
|
||||||
|
direction: ltr;
|
||||||
|
text-align: left;
|
||||||
|
white-space: pre;
|
||||||
|
word-spacing: normal;
|
||||||
|
word-break: normal;
|
||||||
|
overflow-x: auto;
|
||||||
|
}
|
||||||
|
code {
|
||||||
|
word-break: break-all;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Header */
|
||||||
|
header {
|
||||||
|
display: flex;
|
||||||
|
gap: 1em;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
padding: 1em;
|
||||||
|
}
|
||||||
|
.home-link {
|
||||||
|
flex-grow: 1;
|
||||||
|
font-size: 1em; /* 16px /16 */
|
||||||
|
font-weight: 700;
|
||||||
|
}
|
||||||
|
.home-link:link:not(:hover) {
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Nav */
|
||||||
|
.nav {
|
||||||
|
display: flex;
|
||||||
|
gap: .5em 1em;
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
list-style: none;
|
||||||
|
}
|
||||||
|
.nav-item {
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
.nav-item a[href]:not(:hover) {
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
.nav a[href][aria-current="page"] {
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Posts list */
|
||||||
|
.postlist {
|
||||||
|
counter-reset: start-from var(--postlist-index);
|
||||||
|
list-style: none;
|
||||||
|
padding: 0;
|
||||||
|
|
||||||
|
}
|
||||||
|
.postlist-item {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
align-items: baseline;
|
||||||
|
counter-increment: start-from -1;
|
||||||
|
margin-bottom: 1em;
|
||||||
|
}
|
||||||
|
.postlist-item:before {
|
||||||
|
display: inline-block;
|
||||||
|
pointer-events: none;
|
||||||
|
content: "" counter(start-from, decimal-leading-zero) ". ";
|
||||||
|
line-height: 100%;
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
.postlist-date,
|
||||||
|
.postlist-item:before {
|
||||||
|
font-size: 0.8125em; /* 13px /16 */
|
||||||
|
color: var(--color-gray-90);
|
||||||
|
}
|
||||||
|
.postlist-date {
|
||||||
|
word-spacing: -0.5px;
|
||||||
|
}
|
||||||
|
.postlist-link {
|
||||||
|
font-size: 1.1875em; /* 19px /16 */
|
||||||
|
font-weight: 700;
|
||||||
|
flex-basis: calc(100% - 1.5rem);
|
||||||
|
padding-left: .25em;
|
||||||
|
padding-right: .5em;
|
||||||
|
text-underline-position: from-font;
|
||||||
|
text-underline-offset: 0;
|
||||||
|
text-decoration-thickness: 1px;
|
||||||
|
}
|
||||||
|
.postlist-item-active .postlist-link {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Tags */
|
||||||
|
.post-tag {
|
||||||
|
display: inline-flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
text-transform: capitalize;
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
.postlist-item > .post-tag {
|
||||||
|
align-self: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Tags list */
|
||||||
|
.post-metadata {
|
||||||
|
display: inline-flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
gap: .5em;
|
||||||
|
list-style: none;
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
.post-metadata time {
|
||||||
|
margin-right: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
70
_includes/layouts/base.njk
Normal file
70
_includes/layouts/base.njk
Normal file
|
|
@ -0,0 +1,70 @@
|
||||||
|
<!doctype html>
|
||||||
|
<html lang="{{ metadata.language }}">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>Agnes the Alien</title>
|
||||||
|
<meta name="description" content="{{ description or metadata.description }}">
|
||||||
|
<link rel="alternate" href="/feed/feed.xml" type="application/atom+xml" title="{{ metadata.title }}">
|
||||||
|
|
||||||
|
{#- Uncomment this if you’d like folks to know that you used Eleventy to build your site! #}
|
||||||
|
{#- <meta name="generator" content="{{ eleventy.generator }}"> #}
|
||||||
|
|
||||||
|
{#-
|
||||||
|
Plain-text bundles are provided via the `eleventy-plugin-bundle` plugin:
|
||||||
|
1. CSS:
|
||||||
|
* Add to a per-page bundle using `{% css %}{% endcss %}`
|
||||||
|
* Retrieve bundle content using `{% getBundle "css" %}` or `{% getBundleFileUrl "css" %}`
|
||||||
|
2. Or for JavaScript:
|
||||||
|
* Add to a per-page bundle using `{% js %}{% endjs %}`
|
||||||
|
* Retrieve via `{% get {#- Add the contents of a file to the bundle #}
|
||||||
|
<style>#{% include "css/index.css" %}</style>
|
||||||
|
|
||||||
|
{#- Or you can add from node_modules #}
|
||||||
|
{#<style>{% include "node_modules/something.css" %}</style> #}
|
||||||
|
<link rel="stylesheet" href="blog.css">
|
||||||
|
|
||||||
|
{#- Render the CSS bundle using inlined CSS (for the fastest site performance in producti
|
||||||
|
{#- Renders the CSS bundle using a separate file, if you can't set CSP directive style-src: 'unsafe-inline' #}
|
||||||
|
{#- <link rel="stylesheet" href="{% getBundleFileUrl "css" %}"> #}
|
||||||
|
<script src="/themeswitcherblog.js"></script>
|
||||||
|
{#- Add the heading-anchors web component to the JavaScript bundle #}
|
||||||
|
<script type="module">{% include "node_modules/@zachleat/heading-anchors/heading-anchors.js" %}</script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="container">
|
||||||
|
{% include "partials/header.njk" %}
|
||||||
|
|
||||||
|
<a href="#main" id="skip-link" class="visually-hidden">Skip to main content</a>
|
||||||
|
|
||||||
|
<header>
|
||||||
|
<a href="/" class="home-link">Agnes the Alien</a>
|
||||||
|
|
||||||
|
{#- Read more about `eleventy-navigation` at https://www.11ty.dev/docs/plugins/navigation/ #}
|
||||||
|
<nav>
|
||||||
|
<h2 class="visually-hidden">Top level navigation menu</h2>
|
||||||
|
<ul class="nav">
|
||||||
|
{%- for entry in collections.all | eleventyNavigation %}
|
||||||
|
<li class="nav-item"><a href="{{ entry.url }}"{% if entry.url == page.url %} aria-current="page"{% endif %}>{{ entry.title }}</a></li>
|
||||||
|
{%- endfor %}
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<main id="main"><br><br>tools: <a href="#" onclick="setTheme('/bigger.css')">default font size</a> | <a href="#" onclick="setTheme('/evenbigger.css')">font 1x larger</a>
|
||||||
|
| <a href="#" onclick="setTheme('/largest.css')">font 2x larger</a> <heading-anchors>
|
||||||
|
{{ content | safe }}
|
||||||
|
</heading-anchors>
|
||||||
|
</main> </div>
|
||||||
|
<footer>
|
||||||
|
<p>
|
||||||
|
<em>Built with <a href="https://www.11ty.dev/">{{ eleventy.generator }}</a></em>
|
||||||
|
</p>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
<!-- This page `{{ page.url }}` was built on {% currentBuildDate %} -->
|
||||||
|
<script type="module" src="{% getBundleFileUrl "js" %}"></script>
|
||||||
|
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
6
_includes/layouts/home.njk
Normal file
6
_includes/layouts/home.njk
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
layout: agneslove.njk
|
||||||
|
---
|
||||||
|
|
||||||
|
{{ content | safe }}
|
||||||
|
|
||||||
25
_includes/layouts/post.njk
Normal file
25
_includes/layouts/post.njk
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
---
|
||||||
|
layout: agneslove-blog.njk
|
||||||
|
---
|
||||||
|
|
||||||
|
<h1>{{ title }}</h1>
|
||||||
|
|
||||||
|
<ul class="post-metadata">
|
||||||
|
<li><time datetime="{{ page.date | htmlDateString }}">{{ page.date | readableDate }}</time></li>
|
||||||
|
{%- for tag in tags | filterTagList %}
|
||||||
|
{%- set tagUrl %}/tags/{{ tag | slugify }}/{% endset %}
|
||||||
|
<li><a href="{{ tagUrl }}" class="post-tag">{{ tag }}</a>{%- if not loop.last %}, {% endif %}</li>
|
||||||
|
{%- endfor %}
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
{{ content | safe }}
|
||||||
|
{%- if collections.posts %}
|
||||||
|
{%- set previousPost = collections.posts | getPreviousCollectionItem %}
|
||||||
|
{%- set nextPost = collections.posts | getNextCollectionItem %}
|
||||||
|
{%- if nextPost or previousPost %}
|
||||||
|
<ul class="links-nextprev">
|
||||||
|
{%- if previousPost %}<li class="links-nextprev-prev">← Previous<br> <a href="{{ previousPost.url }}">{{ previousPost.data.title }}</a></li>{% endif %}
|
||||||
|
{%- if nextPost %}<li class="links-nextprev-next">Next →<br><a href="{{ nextPost.url }}">{{ nextPost.data.title }}</a></li>{% endif %}
|
||||||
|
</ul>
|
||||||
|
{%- endif %}
|
||||||
|
{%- endif %}
|
||||||
6
_includes/partials/header.njk
Normal file
6
_includes/partials/header.njk
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
<!-- /src/_includes/partials/site-header.html -->
|
||||||
|
|
||||||
|
<header><img src="https://file.garden/Zw17vw8ctXTQw7PV/mewelcome.png" width="100px" alt="A stylized bust-level drawing of me, a white feminine individual with heart shaped glasses, pink and green pigtails, and a teal halter top. I am saying WELCOME which is written in stylized pink text. " title="A stylized bust-level drawing of me, a white feminine individual with heart shaped glasses, pink and green pigtails, and a teal halter top. I am saying WELCOME which is written in stylized pink text.">
|
||||||
|
|
||||||
|
<br>
|
||||||
|
</header>
|
||||||
6
_includes/partials/sidebar.njk
Normal file
6
_includes/partials/sidebar.njk
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
<aside class="sidebar">
|
||||||
|
|
||||||
|
<img src="https://file.garden/Zw17vw8ctXTQw7PV/Screenshot%202026-06-01%20050916.png" width="150px" alt="A real life photograph of me, a white feminine individual with a pink and mint green wig with braids on both sides, heart shaped glasses, and black lipstick." title=" real life photograph of me, a white feminine individual with a pink and
|
||||||
|
mint green wig with braids on both sides, heart shaped glasses, and black lipstick."><hr style="width:80px;">
|
||||||
|
Agnes (it/zhe) or Holiday. I live in the Midwestern United States and I have a variety of projects, most notably <a href="https://sunset.femslash.club" title="Sunset Archve">Sunset Archive</a>, a fanfiction archive for sapphic/femslash works. I'm also an artist in every way imaginable. You can read more about me on my about page.
|
||||||
|
</aside>
|
||||||
9
_includes/postlist.njk
Normal file
9
_includes/postlist.njk
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
<ol reversed class="postlist" style="--postlist-index: {{ (postslistCounter or postslist.length) + 1 }}">
|
||||||
|
{%- for post in postslist | reverse %}
|
||||||
|
<li class="postlist-item{% if post.url == url %} postlist-item-active{% endif %}">
|
||||||
|
<a href="{{ post.url }}" class="postlist-link">{% if post.data.title %}{{ post.data.title }}{% else %}<code>{{ post.url }}</code>{% endif %}</a>
|
||||||
|
<time class="postlist-date" datetime="{{ post.date | htmlDateString }}">{{ post.date | readableDate("LLLL yyyy") }}</time>
|
||||||
|
{{ post.data.description }}
|
||||||
|
{%- endfor %}}</li>
|
||||||
|
</ol>
|
||||||
|
|
||||||
10
_includes/postslist.njk
Normal file
10
_includes/postslist.njk
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
<ol reversed class="postlist" style="--postlist-index: {{ (postslistCounter or postslist.length) + 1 }}">
|
||||||
|
{%- for post in postslist | reverse %}
|
||||||
|
<li class="postlist-item{% if post.url == url %} postlist-item-active{% endif %}">
|
||||||
|
<strong><i><a href="{{ post.url }}" class="postlist-link">{% if post.data.title %}{{ post.data.title }}{% else %}<code>{{ post.url }}</code>{% endif %}</a>
|
||||||
|
</strong></i><time class="postlist-date" datetime="{{ post.date | htmlDateString }}">{{ post.date | readableDate("LLLL yyyy") }}</time> <br><br>
|
||||||
|
{{ post.data.description }}
|
||||||
|
|
||||||
|
</li><br>
|
||||||
|
{%- endfor %}
|
||||||
|
</ol>
|
||||||
4
_includes/theme.js
Normal file
4
_includes/theme.js
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
function myFunction() {
|
||||||
|
let element = document.body;
|
||||||
|
element.classList.toggle("theme");
|
||||||
|
}
|
||||||
186
bigger.css
Normal file
186
bigger.css
Normal file
|
|
@ -0,0 +1,186 @@
|
||||||
|
|
||||||
|
html {
|
||||||
|
font-size: 19px;
|
||||||
|
}
|
||||||
|
body {
|
||||||
|
background: #e0589c;
|
||||||
|
background: radial-gradient(circle, rgba(224, 88, 156, 1) 0%, rgba(179, 255, 208, 1) 100%); font-family: Arial, sans-serif;
|
||||||
|
font-size: 19px;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
header,
|
||||||
|
nav,
|
||||||
|
section,
|
||||||
|
footer {
|
||||||
|
width: 90%;
|
||||||
|
max-width: 1000px;
|
||||||
|
margin: 10px auto;
|
||||||
|
background: #F0D8E6;
|
||||||
|
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
header {
|
||||||
|
border: 8px hotpink inset;
|
||||||
|
background: #F0D8E6;
|
||||||
|
padding: 10px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
header img {
|
||||||
|
width:35%;
|
||||||
|
height:35%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sitemap {
|
||||||
|
border: 1px solid hotpink;
|
||||||
|
overflow: scroll;
|
||||||
|
max-height: 55%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sillyheader {
|
||||||
|
margin-left: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
nav {
|
||||||
|
padding: 0.5rem;
|
||||||
|
background: #F0D8E6;
|
||||||
|
border: 8px hotpink inset;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main {
|
||||||
|
display: flex;
|
||||||
|
gap: 10px;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: flex-start;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
width: 90%;
|
||||||
|
max-width: 1500px;
|
||||||
|
margin: 0 auto;
|
||||||
|
background: #F0D8E6;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
section .main-sitemap {
|
||||||
|
justify-content: center;
|
||||||
|
align-items: flex-start;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
width: 90%;
|
||||||
|
max-width: 1500px;
|
||||||
|
margin: 0 auto;
|
||||||
|
background: #F0D8E6;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.main-blog {
|
||||||
|
width: 60%;
|
||||||
|
border:8px inset hotpink;
|
||||||
|
padding: 1%;
|
||||||
|
|
||||||
|
max-width: 1500px;
|
||||||
|
margin: 0 auto;
|
||||||
|
background: #F0D8E6;
|
||||||
|
line-height:160%;
|
||||||
|
}
|
||||||
|
.posts,
|
||||||
|
.intro,
|
||||||
|
.updates {
|
||||||
|
border: 1px solid hotpink;
|
||||||
|
box-sizing: border-box;
|
||||||
|
background: rgba(255,255,255,0.2);
|
||||||
|
overflow: scroll;
|
||||||
|
}
|
||||||
|
|
||||||
|
.posts {
|
||||||
|
flex: 2 1 500px;
|
||||||
|
height: 700px;
|
||||||
|
padding-left: 4px;
|
||||||
|
padding-right: 4px;
|
||||||
|
overflow: scroll;
|
||||||
|
}
|
||||||
|
|
||||||
|
.intro {
|
||||||
|
flex: 1 1 300px;
|
||||||
|
min-height: 700px;
|
||||||
|
}
|
||||||
|
section .updates {
|
||||||
|
width:300px;
|
||||||
|
overflow:scroll;
|
||||||
|
height:700px;
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.status {
|
||||||
|
font-size: 15px;
|
||||||
|
border: 1px solid hotpink;
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ugh {
|
||||||
|
width: 100%;
|
||||||
|
max-width: 200px;
|
||||||
|
height: 100px;
|
||||||
|
overflow-y: auto;
|
||||||
|
border: 1px solid hotpink;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main img {
|
||||||
|
max-width: 100%;
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
section {
|
||||||
|
border: 8px hotpink inset;
|
||||||
|
padding: 1%;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
footer {
|
||||||
|
padding: 1%;
|
||||||
|
border: 8px hotpink inset;
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
color: #300023;
|
||||||
|
text-decoration: underline;
|
||||||
|
text-decoration-style: dashed;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* mobile shit */
|
||||||
|
@media (max-width: 768px) {
|
||||||
|
|
||||||
|
body {
|
||||||
|
font-size: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main {
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.posts,
|
||||||
|
.intro,
|
||||||
|
.updates {
|
||||||
|
width: 100%;
|
||||||
|
min-height: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sillyheader {
|
||||||
|
position: static;
|
||||||
|
float: none;
|
||||||
|
margin: 0 auto;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
header,
|
||||||
|
nav,
|
||||||
|
section,
|
||||||
|
footer {
|
||||||
|
width: 95%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
383
blog.css
Normal file
383
blog.css
Normal file
|
|
@ -0,0 +1,383 @@
|
||||||
|
/* Defaults */
|
||||||
|
:root {
|
||||||
|
--font-family: -apple-system, system-ui, sans-serif;
|
||||||
|
--font-family-monospace: Consolas, Menlo, Monaco, Andale Mono WT, Andale Mono, Lucida Console, Lucida Sans Typewriter, DejaVu Sans Mono, Bitstream Vera Sans Mono, Liberation Mono, Nimbus Mono L, Courier New, Courier, monospace;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#HCB_comment_box {
|
||||||
|
/* add any custom CSS for the comment box here. */
|
||||||
|
width:10px;
|
||||||
|
height: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* the entire html comment box container. applies to everything */
|
||||||
|
#HCB_comment_box {
|
||||||
|
font-family: verdana, serif;
|
||||||
|
color: #888;
|
||||||
|
background-color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
#HCB_comment_box p.error {
|
||||||
|
border: 1px solid red;
|
||||||
|
background-color: #fee;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hcb-mod b {
|
||||||
|
color:#DD3344;
|
||||||
|
}
|
||||||
|
|
||||||
|
#HCB_comment_box textarea, #HCB_comment_box input.text {
|
||||||
|
border-top: 1px solid #e4e4e4;
|
||||||
|
border-left: 1px solid #e4e4e4;
|
||||||
|
border-bottom: 1px solid #eaeaea;
|
||||||
|
border-right: 1px solid #eaeaea;
|
||||||
|
background-color: #f8f8f8;
|
||||||
|
}
|
||||||
|
|
||||||
|
#HCB_comment_box .hcb-wrapper-half {
|
||||||
|
display:block;
|
||||||
|
width:50%;
|
||||||
|
float:left;
|
||||||
|
}
|
||||||
|
#HCB_comment_box .hcb-wrapper {
|
||||||
|
clear:both;
|
||||||
|
}
|
||||||
|
#HCB_comment_box input.text {
|
||||||
|
display:block;
|
||||||
|
width:97%;
|
||||||
|
}
|
||||||
|
/* the submit button */
|
||||||
|
#HCB_comment_box input.submit {
|
||||||
|
border-top: 1px solid #eee;
|
||||||
|
border-left: 1px solid #eee;
|
||||||
|
border-bottom: 1px solid #888;
|
||||||
|
border-right: 1px solid #888;
|
||||||
|
background-color: #ccc;
|
||||||
|
color: #666;
|
||||||
|
font-weight:bold;
|
||||||
|
cursor:pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
#HCB_comment_box span.home-desc {
|
||||||
|
font-size:10px;
|
||||||
|
opacity:0.4;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* the individual comment display containers */
|
||||||
|
#HCB_comment_box div.comment {
|
||||||
|
border-bottom:1px dotted #eee;
|
||||||
|
margin-bottom:5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* the moderator message */
|
||||||
|
.hcb-mod i{
|
||||||
|
color:darkblue;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Theme colors */
|
||||||
|
:root {
|
||||||
|
--color-gray-20: #e0e0e0;
|
||||||
|
--color-gray-50: #C0C0C0;
|
||||||
|
--color-gray-90: #333;
|
||||||
|
|
||||||
|
--background-color:#cfffe8;
|
||||||
|
|
||||||
|
--text-color: var(--color-gray-90);
|
||||||
|
--text-color-link: #082840;
|
||||||
|
--text-color-link-active: #5f2b48;
|
||||||
|
--text-color-link-visited: #17050F;
|
||||||
|
|
||||||
|
--syntax-tab-size: 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (prefers-color-scheme: dark) {
|
||||||
|
:root {
|
||||||
|
--color-gray-20: #e0e0e0;
|
||||||
|
--color-gray-50: #C0C0C0;
|
||||||
|
--color-gray-90: #dad8d8;
|
||||||
|
|
||||||
|
/* --text-color is assigned to --color-gray-_ above */
|
||||||
|
--text-color-link: #1493fb;
|
||||||
|
--text-color-link-active: #6969f7;
|
||||||
|
--text-color-link-visited: #a6a6f8;
|
||||||
|
|
||||||
|
--background-color: #15202b;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Global stylesheet */
|
||||||
|
* {
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
@view-transition {
|
||||||
|
navigation: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
html,
|
||||||
|
body {
|
||||||
|
padding: 0;
|
||||||
|
margin: 0 auto;
|
||||||
|
font-family:Arial;
|
||||||
|
color: var(--text-color);
|
||||||
|
background-color: var(--background-color);
|
||||||
|
font-size:18px;
|
||||||
|
}
|
||||||
|
.theme {
|
||||||
|
font-size:25px;
|
||||||
|
}
|
||||||
|
html {
|
||||||
|
overflow-y: scroll;
|
||||||
|
}
|
||||||
|
body {
|
||||||
|
max-width: 40em;
|
||||||
|
}
|
||||||
|
|
||||||
|
header img {
|
||||||
|
width: 100px;
|
||||||
|
height: 104px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.container {
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
/* https://www.a11yproject.com/posts/how-to-hide-content/ */
|
||||||
|
.visually-hidden:not(:focus):not(:active) {
|
||||||
|
clip: rect(0 0 0 0);
|
||||||
|
clip-path: inset(50%);
|
||||||
|
height: 1px;
|
||||||
|
overflow: hidden;
|
||||||
|
position: absolute;
|
||||||
|
white-space: nowrap;
|
||||||
|
width: 1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Fluid images via https://www.zachleat.com/web/fluid-images/ */
|
||||||
|
img{
|
||||||
|
max-width: 100%;
|
||||||
|
}
|
||||||
|
img[width][height] {
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
img[src$=".svg"] {
|
||||||
|
width: 100%;
|
||||||
|
height: auto;
|
||||||
|
max-width: none;
|
||||||
|
}
|
||||||
|
video,
|
||||||
|
iframe {
|
||||||
|
width: 100%;
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
iframe {
|
||||||
|
aspect-ratio: 16/9;
|
||||||
|
}
|
||||||
|
|
||||||
|
p:last-child {
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
p {
|
||||||
|
line-height: 1.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
li {
|
||||||
|
line-height: 1.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
a[href] {
|
||||||
|
color: var(--text-color-link);
|
||||||
|
}
|
||||||
|
a[href]:visited {
|
||||||
|
color: var(--text-color-link-visited);
|
||||||
|
}
|
||||||
|
a[href]:hover,
|
||||||
|
a[href]:active {
|
||||||
|
color: var(--text-color-link-active);
|
||||||
|
}
|
||||||
|
|
||||||
|
main,
|
||||||
|
footer {
|
||||||
|
padding: 1rem;
|
||||||
|
}
|
||||||
|
main :first-child {
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
header {
|
||||||
|
border-bottom: 1px dashed var(--color-gray-20);
|
||||||
|
align-content: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
#skip-link {
|
||||||
|
text-decoration: none;
|
||||||
|
background: var(--background-color);
|
||||||
|
color: var(--text-color);
|
||||||
|
padding: 0.5rem 1rem;
|
||||||
|
border: 1px solid var(--color-gray-90);
|
||||||
|
border-radius: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Prevent visually-hidden skip link fom pushing content around when focused */
|
||||||
|
#skip-link.visually-hidden:focus {
|
||||||
|
position: absolute;
|
||||||
|
top: 1rem;
|
||||||
|
left: 1rem;
|
||||||
|
/* Ensure it is positioned on top of everything else when it is shown */
|
||||||
|
z-index: 999;
|
||||||
|
}
|
||||||
|
|
||||||
|
.links-nextprev {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
gap: .5em 1em;
|
||||||
|
list-style: "";
|
||||||
|
border-top: 1px dashed var(--color-gray-20);
|
||||||
|
padding: 1em 0;
|
||||||
|
}
|
||||||
|
.links-nextprev > * {
|
||||||
|
flex-grow: 1;
|
||||||
|
}
|
||||||
|
.links-nextprev-next {
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
table {
|
||||||
|
margin: 1em 0;
|
||||||
|
}
|
||||||
|
table td,
|
||||||
|
table th {
|
||||||
|
padding-right: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
pre,
|
||||||
|
code {
|
||||||
|
font-family: var(--font-family-monospace);
|
||||||
|
}
|
||||||
|
pre:not([class*="language-"]) {
|
||||||
|
margin: .5em 0;
|
||||||
|
line-height: 1.375; /* 22px /16 */
|
||||||
|
-moz-tab-size: var(--syntax-tab-size);
|
||||||
|
-o-tab-size: var(--syntax-tab-size);
|
||||||
|
tab-size: var(--syntax-tab-size);
|
||||||
|
-webkit-hyphens: none;
|
||||||
|
-ms-hyphens: none;
|
||||||
|
hyphens: none;
|
||||||
|
direction: ltr;
|
||||||
|
text-align: left;
|
||||||
|
white-space: pre;
|
||||||
|
word-spacing: normal;
|
||||||
|
word-break: normal;
|
||||||
|
overflow-x: auto;
|
||||||
|
}
|
||||||
|
code {
|
||||||
|
word-break: break-all;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Header */
|
||||||
|
header {
|
||||||
|
display: flex;
|
||||||
|
gap: 1em;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
padding: 1em;
|
||||||
|
}
|
||||||
|
.home-link {
|
||||||
|
flex-grow: 1;
|
||||||
|
font-size: 1em; /* 16px /16 */
|
||||||
|
font-weight: 700;
|
||||||
|
}
|
||||||
|
.home-link:link:not(:hover) {
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Nav */
|
||||||
|
.nav {
|
||||||
|
display: flex;
|
||||||
|
gap: .5em 1em;
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
list-style: none;
|
||||||
|
}
|
||||||
|
.nav-item {
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
.nav-item a[href]:not(:hover) {
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
.nav a[href][aria-current="page"] {
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Posts list */
|
||||||
|
.postlist {
|
||||||
|
counter-reset: start-from var(--postlist-index);
|
||||||
|
list-style: none;
|
||||||
|
padding: 0;
|
||||||
|
|
||||||
|
}
|
||||||
|
.postlist-item {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
align-items: baseline;
|
||||||
|
counter-increment: start-from -1;
|
||||||
|
margin-bottom: 1em;
|
||||||
|
}
|
||||||
|
.postlist-item:before {
|
||||||
|
display: inline-block;
|
||||||
|
pointer-events: none;
|
||||||
|
content: "" counter(start-from, decimal-leading-zero) ". ";
|
||||||
|
line-height: 100%;
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
.postlist-date,
|
||||||
|
.postlist-item:before {
|
||||||
|
font-size: 0.8125em; /* 13px /16 */
|
||||||
|
color: var(--color-gray-90);
|
||||||
|
}
|
||||||
|
.postlist-date {
|
||||||
|
word-spacing: -0.5px;
|
||||||
|
}
|
||||||
|
.postlist-link {
|
||||||
|
font-size: 1.1875em; /* 19px /16 */
|
||||||
|
font-weight: 700;
|
||||||
|
flex-basis: calc(100% - 1.5rem);
|
||||||
|
padding-left: .25em;
|
||||||
|
padding-right: .5em;
|
||||||
|
text-underline-position: from-font;
|
||||||
|
text-underline-offset: 0;
|
||||||
|
text-decoration-thickness: 1px;
|
||||||
|
}
|
||||||
|
.postlist-item-active .postlist-link {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Tags */
|
||||||
|
.post-tag {
|
||||||
|
display: inline-flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
text-transform: capitalize;
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
.postlist-item > .post-tag {
|
||||||
|
align-self: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Tags list */
|
||||||
|
.post-metadata {
|
||||||
|
display: inline-flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
gap: .5em;
|
||||||
|
list-style: none;
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
.post-metadata time {
|
||||||
|
margin-right: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
345
bundle.css
Normal file
345
bundle.css
Normal file
|
|
@ -0,0 +1,345 @@
|
||||||
|
.epg {
|
||||||
|
color: var(--text);
|
||||||
|
margin: 20px 0;
|
||||||
|
font-size: 0.8em;
|
||||||
|
}
|
||||||
|
|
||||||
|
img .badge {
|
||||||
|
width:20%;
|
||||||
|
height:10%;
|
||||||
|
}
|
||||||
|
img.jbb {
|
||||||
|
width:35%;
|
||||||
|
height:35%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.badgeimg img {
|
||||||
|
width:40%;
|
||||||
|
height: 40%;
|
||||||
|
}
|
||||||
|
.epg__year {
|
||||||
|
text-align: center;
|
||||||
|
font-weight: bold;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.epg__months {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 410px) {
|
||||||
|
.epg__months {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.epg__squares {
|
||||||
|
display: grid;
|
||||||
|
grid-template-rows: repeat(7, 1fr);
|
||||||
|
grid-auto-flow: column;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
grid-gap: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.epg__box {
|
||||||
|
aspect-ratio: 1 / 1;
|
||||||
|
width:15px; background: var(--epg-box);
|
||||||
|
}
|
||||||
|
:root {
|
||||||
|
--epg-box: #e9ecef;
|
||||||
|
--epg-box-highlight: #69db7c;
|
||||||
|
--epg-text: #000;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (prefers-color-scheme: dark) {
|
||||||
|
:root {
|
||||||
|
--epg-box: #2d333b;
|
||||||
|
--epg-box-highlight: #69db7c;
|
||||||
|
--epg-text: #fff;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.epg__box--empty {
|
||||||
|
background: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.epg__hasPost {
|
||||||
|
background: var(--epg-box-highlight);
|
||||||
|
}
|
||||||
|
body {
|
||||||
|
background: #e0589c;
|
||||||
|
background: radial-gradient(circle, rgba(224, 88, 156, 1) 0%, rgba(179, 255, 208, 1) 100%); font-family: Arial, sans-serif;
|
||||||
|
font-size: 1.3em;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
html.bigger {
|
||||||
|
font-size: 1.1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
html.evenbigger {
|
||||||
|
font-size: 1.25rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
body.largest {
|
||||||
|
font-size: 1.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
html.biggerblog {
|
||||||
|
font-size: 1.1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
html.evenbiggerblog {
|
||||||
|
font-size: 1.25rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
html.largestblog {
|
||||||
|
font-size: 1.5rem;
|
||||||
|
}
|
||||||
|
.footyr {
|
||||||
|
border: 1px hotpink solid;
|
||||||
|
height: 180px;
|
||||||
|
overflow: scroll;
|
||||||
|
padding:5px;
|
||||||
|
text-align: center;
|
||||||
|
align-content: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
header,
|
||||||
|
nav,
|
||||||
|
section,
|
||||||
|
footer {
|
||||||
|
width: 90%;
|
||||||
|
max-width: 1000px;
|
||||||
|
margin: 10px auto;
|
||||||
|
background: #F0D8E6;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
.theme {
|
||||||
|
font-size: 2.0rem;
|
||||||
|
}
|
||||||
|
.ughh {
|
||||||
|
flex: 1 1 150px;
|
||||||
|
height: 100px;
|
||||||
|
overflow: scroll;
|
||||||
|
margin: 0 auto;
|
||||||
|
border: 1px solid hotpink;
|
||||||
|
}
|
||||||
|
header {
|
||||||
|
border: 8px hotpink inset;
|
||||||
|
background: #F0D8E6;
|
||||||
|
padding: 10px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
header img {
|
||||||
|
width:35%;
|
||||||
|
height:35%;
|
||||||
|
}
|
||||||
|
|
||||||
|
#currently {
|
||||||
|
|
||||||
|
border: 1px solid hotpink;
|
||||||
|
overflow: scroll;
|
||||||
|
max-height:500px;
|
||||||
|
max-width:250px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sitemap {
|
||||||
|
flex: 1 2 250px;
|
||||||
|
border: 1px solid hotpink;
|
||||||
|
overflow: scroll;
|
||||||
|
max-width:250px;
|
||||||
|
min-height:900px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sillyheader {
|
||||||
|
margin-left: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
nav {
|
||||||
|
padding: 0.5rem;
|
||||||
|
background: #F0D8E6;
|
||||||
|
border: 8px hotpink inset;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main {
|
||||||
|
flex: 1;
|
||||||
|
max-width:80%;
|
||||||
|
border: 8px inset hotpink;
|
||||||
|
display:flex;
|
||||||
|
gap: 10px;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: flex-start;
|
||||||
|
flex-direction: row;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
margin: 0 auto;
|
||||||
|
background: #F0D8E6;
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
.main-noflex {
|
||||||
|
text-align: center;
|
||||||
|
align-content: center;
|
||||||
|
max-width:60%;
|
||||||
|
border: 8px inset hotpink;
|
||||||
|
padding-left: 10px;
|
||||||
|
padding-right:10px;
|
||||||
|
margin: 0 auto;
|
||||||
|
background: #F0D8E6;
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.noww {
|
||||||
|
min-width: 50%;
|
||||||
|
flex: 2;
|
||||||
|
}
|
||||||
|
.main-now {
|
||||||
|
|
||||||
|
flex-direction: row;
|
||||||
|
border: 8px inset hotpink;
|
||||||
|
max-width:60%;
|
||||||
|
gap: 100px;
|
||||||
|
text-align: center; margin: 0 auto;
|
||||||
|
background: #F0D8E6;
|
||||||
|
height: auto;
|
||||||
|
display:flex;
|
||||||
|
padding-left: 5px;
|
||||||
|
padding-right:50px;
|
||||||
|
line-height: 35px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
section.main-sitemap {
|
||||||
|
justify-content: center;
|
||||||
|
align-items: flex-start;
|
||||||
|
flex-wrap:row wrap;
|
||||||
|
max-width: 1500px;
|
||||||
|
margin: 0 auto;
|
||||||
|
background: #F0D8E6;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.main-blog {
|
||||||
|
width: 60%;
|
||||||
|
border:8px inset hotpink;
|
||||||
|
padding: 1%;
|
||||||
|
|
||||||
|
max-width: 1500px;
|
||||||
|
margin: 0 auto;
|
||||||
|
background: #F0D8E6;
|
||||||
|
line-height:160%;
|
||||||
|
}
|
||||||
|
.posts,
|
||||||
|
.intro,
|
||||||
|
.updates {
|
||||||
|
border: 1px solid hotpink;
|
||||||
|
box-sizing: border-box;
|
||||||
|
background: rgba(255,255,255,0.2);
|
||||||
|
overflow: scroll;
|
||||||
|
}
|
||||||
|
|
||||||
|
.posts {
|
||||||
|
|
||||||
|
flex: 1;
|
||||||
|
height: 900px;
|
||||||
|
padding-left: 4px;
|
||||||
|
padding-right: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.intro {
|
||||||
|
text-align: center;
|
||||||
|
flex: 1 1 300px;
|
||||||
|
min-height: 900px;
|
||||||
|
max-width: 350px;
|
||||||
|
}
|
||||||
|
.updates {
|
||||||
|
flex: 2 1 300px;
|
||||||
|
overflow:scroll;
|
||||||
|
height:700px;
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.status {
|
||||||
|
border: 1px solid hotpink;
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ugh {
|
||||||
|
width: 100%;
|
||||||
|
max-width: 200px;
|
||||||
|
height: 100px;
|
||||||
|
overflow-y: auto;
|
||||||
|
border: 1px solid hotpink;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main img {
|
||||||
|
max-width: 100%;
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
section {
|
||||||
|
|
||||||
|
padding: 1%;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
footer {
|
||||||
|
padding: 1%;
|
||||||
|
border: 8px hotpink inset;
|
||||||
|
text-align:center;z
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
color: #300023;
|
||||||
|
text-decoration: underline;
|
||||||
|
text-decoration-style: dashed;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* mobile shit */
|
||||||
|
@media (max-width: 768px) {
|
||||||
|
|
||||||
|
.main-now img {
|
||||||
|
|
||||||
|
max-width:100px;
|
||||||
|
max-height: 100px;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
font-size: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main,
|
||||||
|
.main-now {
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.posts,
|
||||||
|
.intro,
|
||||||
|
.updates,
|
||||||
|
.noww {
|
||||||
|
width: 100%;
|
||||||
|
min-height: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sillyheader {
|
||||||
|
position: static;
|
||||||
|
float: none;
|
||||||
|
margin: 0 auto;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
header,
|
||||||
|
nav,
|
||||||
|
section,
|
||||||
|
footer {
|
||||||
|
width: 95%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
97
bundleold.css
Normal file
97
bundleold.css
Normal file
|
|
@ -0,0 +1,97 @@
|
||||||
|
body {
|
||||||
|
background: #f7d0e7;
|
||||||
|
background: radial-gradient(circle,rgba(247, 208, 231, 1) 0%, rgba(209, 255, 227, 1) 100%);
|
||||||
|
font-family: Arial;
|
||||||
|
font-size:1.3em;}
|
||||||
|
|
||||||
|
header {
|
||||||
|
border: 8px hotpink inset;
|
||||||
|
width: 50%;
|
||||||
|
background:#F0D8E6;
|
||||||
|
margin:0 auto;
|
||||||
|
}
|
||||||
|
.sillyheader {
|
||||||
|
margin-right: 0;
|
||||||
|
margin-left: auto;
|
||||||
|
float:right;
|
||||||
|
position: absolute;
|
||||||
|
}
|
||||||
|
.updates {
|
||||||
|
border:1px solid hotpink;
|
||||||
|
overflow: scroll;
|
||||||
|
width: 320px;
|
||||||
|
height: 680px;
|
||||||
|
margin-right:0;
|
||||||
|
margin-left: auto;
|
||||||
|
}
|
||||||
|
.status {
|
||||||
|
font-size: 15px;
|
||||||
|
height:auto;
|
||||||
|
border: 1px solid hotpink;
|
||||||
|
}
|
||||||
|
|
||||||
|
.posts {
|
||||||
|
order: 1;
|
||||||
|
top: 50%;
|
||||||
|
height: 700px;
|
||||||
|
overflow:scroll;
|
||||||
|
width: 700px;
|
||||||
|
border: 1px solid hotpink;
|
||||||
|
}
|
||||||
|
.ugh {
|
||||||
|
width: 200px;
|
||||||
|
height: 100px;
|
||||||
|
overflow: scroll;
|
||||||
|
border: 1px solid hotpink;
|
||||||
|
}
|
||||||
|
header img {
|
||||||
|
width: 300px;
|
||||||
|
height: 297px;
|
||||||
|
display: block;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
.intro {
|
||||||
|
width:400px;
|
||||||
|
height: 700px;
|
||||||
|
border: 1px solid hotpink;
|
||||||
|
}
|
||||||
|
.main {
|
||||||
|
text-align: center;
|
||||||
|
display: flex;
|
||||||
|
flex-flow: row;
|
||||||
|
gap: 3px;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
.main img {
|
||||||
|
align-self: center;
|
||||||
|
|
||||||
|
}
|
||||||
|
section {
|
||||||
|
border: 8px hotpink inset;
|
||||||
|
margin: 0 auto;
|
||||||
|
padding: 1%;
|
||||||
|
width: 60%;
|
||||||
|
align-content: center;
|
||||||
|
text-align: center;}
|
||||||
|
|
||||||
|
a {
|
||||||
|
color: #300023;
|
||||||
|
text-decoration: underline;
|
||||||
|
text-decoration-style: dashed;
|
||||||
|
}
|
||||||
|
nav {
|
||||||
|
padding: 0.5%;
|
||||||
|
width: 50%;
|
||||||
|
background:#F0D8E6;
|
||||||
|
margin: 0 auto;
|
||||||
|
border: 8px hotpink inset;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
footer {
|
||||||
|
padding:1%;
|
||||||
|
width: 60%;
|
||||||
|
border: 8px hotpink inset;
|
||||||
|
margin: 0 auto;
|
||||||
|
|
||||||
|
}
|
||||||
20
content/404.md
Normal file
20
content/404.md
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
---
|
||||||
|
permalink: 404.html
|
||||||
|
eleventyExcludeFromCollections: true
|
||||||
|
---
|
||||||
|
# Content not found.
|
||||||
|
|
||||||
|
Go <a href="index.njk">home</a>.
|
||||||
|
|
||||||
|
<!--
|
||||||
|
|
||||||
|
Read more: https://www.11ty.dev/docs/quicktips/not-found/
|
||||||
|
|
||||||
|
This is compatible with:
|
||||||
|
|
||||||
|
- GitHub Pages: https://help.github.com/articles/creating-a-custom-404-page-for-your-github-pages-site/
|
||||||
|
- GitLab Pages: https://docs.gitlab.com/ee/user/project/pages/introduction.html#custom-error-codes-pages
|
||||||
|
- Netlify: https://www.netlify.com/docs/redirects/#custom-404
|
||||||
|
- Cloudflare Pages: https://developers.cloudflare.com/pages/platform/serving-pages/#not-found-behavior
|
||||||
|
- Vercel: https://vercel.com/guides/custom-404-page#static-site-generator-ssg
|
||||||
|
-->
|
||||||
20
content/about.njk
Normal file
20
content/about.njk
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
---
|
||||||
|
layout: agneslove.njk
|
||||||
|
title: Agnes the Alien
|
||||||
|
---
|
||||||
|
<div class="main-noflex">
|
||||||
|
<center><br /><br /><img src="https://64.media.tumblr.com/d7814e1b7af4292b92a891760014a6e2/a97f793a7ea34512-fb/s100x200/d5aa85d1db7c693acf01898d43013917538dedbd.pnj" width="150px" style="border:4px dashed hotpink;" title=" Tomodachi LIfe mii with pink hair and green eyebrows and pink and green leopard print on the temples. It represents me." alt="A Tomodachi LIfe mii with pink hair and green eyebrows and pink and green leopard print on the temples. It represents me."><br><img src="https://file.garden/Zw17vw8ctXTQw7PV/button-88x31(24).gif" alt="My site button, a very small drawing of myself (a white feminine individual with pink and green hair) that says Agnes on the side." title="My site button, a very small drawing of myself (a white feminine
|
||||||
|
individual with pink and green hair) that says Agnes on the side."><br>
|
||||||
|
<a href="https://lesbian.alien.dentist/">Fediverse</a> | <a href="https://ko-fi.com/agnesthealien">Ko-Fi</a> | <a href="https://bsky.app/profile/alien.town">Bluesky</a> | <a href="https://archiveofourown.org/users/telescopefish">AO3</a> | <a href="https://toothpastepancake.dreamwidth.org/">Dreamwidth</a><br>
|
||||||
|
</center><hr>
|
||||||
|
Hi! I'm Agnes the Alien (it/zhe). I also go by Holiday and a bunch of other names sometimes too :-P I'm a disabled nonbinary extraterrestrial lesbian and I live in the Midwestern USA, unfortunately. I'm not very good at writing about myself, but I'll try. <br><br>
|
||||||
|
The main love of my life is creative writing. I've been writing since I was about four years old and I learned how to open Microsoft Word on our dinosaur desktop PC. I write pretty much everything - poetry, fanfiction, short stories, video games, scripts, things that can't be described very well. I love to write horror, sci-fi, and sci-fi horror, and I love to write about dissociation and bad people and aliens and healing in nontraditional ways. I just love <i>writing.</i><br><br>Because of that a lot of my internet activity is focused around writing, usually fanfiction. I <a href="https://sunset.femslash.club">run a fork of OTW-Archive, the software behind Archive of Our Own, the largest fanfiction site in the world (and mine has status updates!), dedicated to fan and original works centered around F/F, NB/F and NB/NB sapphic relationships.</a> I run a lot of fandom events on Dreamwidth, like Rarest of Rarepairs and (as of 2025) Sapphic Summer. I also <a href="/badges">participate </a>in a lot of fandom events.<br><br>
|
||||||
|
I'm Quaker and currently in my freshman year of college studying theology. I'm about to start taking, for this upcoming semester: African American Literature, Intro to Ethics, and Intro to World Religions. I was originally going to be an English major, but. I think I should keep writing a hobby.
|
||||||
|
<br><br>
|
||||||
|
I have three cats, a dog, and a pet Goffin Cockatoo named Saira who I adore with my entire soul. I have a serious passion for the natural world and animals (I have a devil's hole pupfish/white spotted pufferfish tattoo on my chest...) I'm in love with the world and with love and I try to be the best and most pleasant person I can be.<br><br>
|
||||||
|
I'm a bit "cringe", but I don't care; I'm alterhuman and semi-fictosexual, and these things are major aspects of my identity! I'm an alien and that is very important to me. My fictional others are Caleb Mir from Starfleet Academy and the Negative Spirit from Doom Patrol TV, among other less serious beloveds. If you'd ever like to talk about it, hit me up at the contact information provided above. I'm very open about my identity and the things that make me who I am, so if you're respectfully curious, just ask!!
|
||||||
|
<br><br>
|
||||||
|
I’m multiply disabled–physically, intellectually, mentally. I have dissociative identity disorder. These aspects of me impact pretty much every area of my life; outside of creativity and computer stuff, I really don’t have the ability to do much at all, and am pretty limited. So, I’m housebound and often bedbound, and I talk about this a lot and how it shapes my relationship with the world, internet, technology, and fandom.<br><br>
|
||||||
|
Anyway, that's me. It's nice to meet you.
|
||||||
|
<br><br>
|
||||||
|
</div>
|
||||||
12
content/blog.njk
Normal file
12
content/blog.njk
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
---js
|
||||||
|
const eleventyNavigation = {
|
||||||
|
key: "Archive",
|
||||||
|
order: 2
|
||||||
|
};
|
||||||
|
---
|
||||||
|
<div class="main">
|
||||||
|
<h1>Blog</h1>
|
||||||
|
|
||||||
|
{% set postslist = collections.posts %}
|
||||||
|
{% include "postslist.njk" %}
|
||||||
|
</div>
|
||||||
6
content/blog/blog.11tydata.js
Normal file
6
content/blog/blog.11tydata.js
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
export default {
|
||||||
|
tags: [
|
||||||
|
"posts"
|
||||||
|
],
|
||||||
|
"layout": "layouts/post.njk",
|
||||||
|
};
|
||||||
66
content/blog/fandomsux.md
Normal file
66
content/blog/fandomsux.md
Normal file
|
|
@ -0,0 +1,66 @@
|
||||||
|
---
|
||||||
|
layout: agneslove-blog
|
||||||
|
title: Fandom Sucks Now, and Other Laments
|
||||||
|
description: You know, these days, I am getting sort of tired. I don’t really know how else to describe it, so we’ll just go with the simplicity of I’m really just kind of tired. And the worst, most unsightly aspect of it all is this - I don’t really know what I’m tired of. I can give you a list of reasons without hesitation - 1) I spend my entire time in fandom....
|
||||||
|
date: 2026-03-14
|
||||||
|
tags: personal, fandom, post
|
||||||
|
---
|
||||||
|
<h1>{{title}}</h1>
|
||||||
|
<h2> <time datetime="{{ page.date | htmlDateString }}">{{ page.date | readableDate }}</time>
|
||||||
|
</h2>tagged with.. {%- for tag in tags | filterTagList %}
|
||||||
|
|
||||||
|
{%- set tagUrl %}/tags/{{ tag | slugify }}/{% endset %}
|
||||||
|
<a href="{{ tagUrl }}" class="post-tag">{{ tag }}</a>{%- if not loop.last %}, {% endif %}</li>
|
||||||
|
{%- endfor %}
|
||||||
|
by Agnes the Alien
|
||||||
|
<hr>
|
||||||
|
<i><b>Content warnings: child sex trafficking/PTSD.
|
||||||
|
<b></i>
|
||||||
|
|
||||||
|
You know, these days, I am getting sort of tired.
|
||||||
|
|
||||||
|
I don’t really know how else to describe it, so we’ll just go with the simplicity of *I’m really just kind of tired.* And the worst, most unsightly aspect of it all is this: I don’t really know what I’m tired _of._
|
||||||
|
|
||||||
|
I can give you a list of reasons without hesitation:
|
||||||
|
|
||||||
|
1) I spend my entire time in fandom, because fandom is my passion. I run a fanfiction archive with ~360 users and around 500 different fandoms. Fandom is, quite literally, what I have dedicated my life to for the past fifteen years. And fandom, apparently, fucking hates me. Yeah, so it turns out that if you’re different from what is considered Normal and Acceptable in any way, you deserve to die and are subhuman, according to others. This widespread harassment is reminiscent of my days being beaten up and nearly murdered as a child at my Waldorf elementary school—unfathomable, needless cruelty fueled by a hatred of anything they don’t want to understand. So what if I like to cope by writing dark fanfiction? So what if I just fucking like dark fanfiction? What are you going to do about it? Stop me?
|
||||||
|
|
||||||
|
But unfortunately, there are actual repercussions for openly liking dark content. People can and will try to ruin your life, your source of income, your relationships, your safety. And I’m a sensitive alien, okay! I’m a goddamn child trafficking survivor and to be called a pedophile over fictional aliens shatters my soul in ways no one can even begin to comprehend unless they’re in the same situation.
|
||||||
|
|
||||||
|
I shouldn’t say that, probably. I shouldn’t let people know about that weakness. It’s like a KICK ME sign taped to my back, a big red arrow pointing right to my Achilles heel. Come and cut me. But I am in a human body in this life, and so I am human. And as a human thing, the comparison still will never leave me. It haunts, vivisects. I know who I am, and I cannot control how others perceive me, and I cannot handle being seen as a being of the same depravity of the people who hurt me. I just can’t.
|
||||||
|
|
||||||
|
I think this is a valid reason to be tired. It is still only one facet of the crystal.
|
||||||
|
|
||||||
|
I do so much for fandom. What does fandom do for me? It brought me my beloved. My amazing friends. But what else? What lately?
|
||||||
|
|
||||||
|
2) I just do nothing. I have nothing to do all day. Oh, sure, I have tons to do, actually. I have ideas and I have projects and I have embroidery supplies and music software and cute little $5 kits from the store where you knit an ugly ass ladybug. I simply never have the wherewithal to actually do any of them. Is it the fatigue and pain I am constantly in? Am I just depressed and unmotivated because everything seems worthless? Is my psychosis acting up again? Do I need to have my meds adjusted, is what my family will say, if I tell them I’m struggling with motivation, so of course I don’t tell them.
|
||||||
|
|
||||||
|
I can’t ever get the spark going. Like a wind-up toy that just gets tighter and tigher until it snaps, never moving forward. And I have no goddamn idea why.
|
||||||
|
|
||||||
|
I’m tired of being so tired.
|
||||||
|
|
||||||
|
3) My family is aging and ill and my mother will not go to the doctor because she is scared. She’s sixty one, her thyroid is dead, she needs to be on medication for it (hypocritical of me perhaps, since my thyroid is also dead and I don’t take _my_ synthroid, but I’m going to start!!!), but she refuses to get a perscription. I’m terrified about what will happen when her body can’t take it anymore.
|
||||||
|
|
||||||
|
My nana has anxiety worse than mine. It’s so bad she stays up multiple nights having intrusive thoughts. She refuses to take any sort of medication for this or bring it up to her doctor. I’m terrified about what will happen when she gets too terrified.
|
||||||
|
|
||||||
|
I’m tired of being so scared.
|
||||||
|
|
||||||
|
4) Oh, yeah, and there’s that whole I-have-dissociative-identity-disorder-and-CPTSD thing. I’ve been having flashbacks almost every day lately. I’m tired of feeling broken. I’m tired of letting it break me, but I just don’t know how to stop thinking about it, writing about it, recreating it in fiction, thinking about it, throwing up about it, obsessing over it, thinking about it. I’m obsessed with it all, the pain that I went through and the siphoning of my innocence and the portioning of my body and so on. It’s all I ever think about. When will it stop? When will I stop feeling it?
|
||||||
|
|
||||||
|
Torturing fictional characters in the same way makes it feel better for a little while. Like a band-aid over an autopsy incison.
|
||||||
|
|
||||||
|
I guess maybe I’m just tired of all of it. Of this frozen life I’m living. I keep thinking something needs to change, and I keep trying to make small changes to my daily routine, you know, build new habits, start a schedule, but it’s all futile, I fall out of everything eventually. I really need to start preparing for my future, because I guess I’m going to have one? And preparing for my future is not sitting here writing toxic yuri fanfiction all day, as fun as it is. I don’t know. I keep clawing at the walls of my brain, trying to find a solution.
|
||||||
|
|
||||||
|
I see a lot of my friends taking steps back from fandom these days. A lot of them are also creatives, and they’re choosing to focus more on original works instead. I find that option more and more appealing with each cruel post I see pass my Tumblr dashboard. I can’t decide if I really want to step back from fandom, or if I only feel a need to do so because still being so deeply entrenched in fandom when everyone else I know has moved on makes me feel a little self-conscious, and I feel like I have to follow suit or I will be left behind. But I suspect that while my insecurities are probably a factor, it has more to do with the harassment I’ve been facing over being a Nahla/Caleb(/Anisha) shipper, and the terrible things people have said about me because of it.
|
||||||
|
|
||||||
|
I don’t want to enjoy things in fear. I have my own personal archive using the AO3 software now; I rarely post to AO3 outside of exchanges. I keep my fics locked down to my friends and people I trust not to judge me. And… I’m someone who loves attention! I kind of need it to survive, clinically. But I just struggle to stay sane when horrible accusation after horrible accusation is thrown at me, and all I’m trying to do is enjoy myself in peace. I don’t want to have to hide or water myself down to be accepted, but unfortunately that is the reality of the world. We’re all paranoid, we’re all pointing fingers and pointing fingers and gnawing off fingers, we’re all cruel. I just can’t take it anymore.
|
||||||
|
|
||||||
|
The issue is that I run that aforementioned somewhat-popular fanfiction archive. And I enjoy running this archive! I want to do so much more with it! And the people I have met through it are absolutely wonderful. I don’t want to step back from Sunset and I don’t see myself doing so in the future. At the same time, though, I think Sunset and Dreamwidth and my tiny little Discord server will be the extent of my fandom participation for a while.
|
||||||
|
|
||||||
|
I want to focus on my original works and build a real career in writing. I want to make video games and finish my novella I’ve been working on for a year now that is still only at 4,400 words and I want to make music and I want to learn how to hand quilt and I want to have more things in my life than just television and fictional characters, but it’s kind of hard for me to focus on anything besides them. Or – it has been in the past. Maybe I’m finally so disillusioned with fandom that I’ll be able to focus on something else for a change. I don’t know.
|
||||||
|
|
||||||
|
I don’t really know how to talk to people outside of fandom, and in all honesty, I don’t know a lot about myself outside of it just in general. I don’t have much of an identity beyond that, at least in my own perception of myself, and that’s… well, obviously unhealthy. I want to go back to school and go to writer’s groups in the city and I want a life worth living. I want to make websites that aren’t AO3-based or shoddy things I threw together based on outdated Rails guides; I want to actually _know_ what I’m doing with web development, because it’s something I find very fun and rewarding.
|
||||||
|
|
||||||
|
I just so desperately want things to change, but I don’t know how to change them. The only thing I can think of for now is that I must focus on building a life for myself that isn’t attached to a fictional character. It’s long overdue.
|
||||||
|
|
||||||
|
|
||||||
50
content/blog/graphic.md
Normal file
50
content/blog/graphic.md
Normal file
|
|
@ -0,0 +1,50 @@
|
||||||
|
---
|
||||||
|
layout: agneslove-blog
|
||||||
|
title: Graphic Rape Scenes In Literature Comfort Me, Actually
|
||||||
|
description: I'm just going to say it with my entire self, point blank and up front. Graphic rape scenes in literature are necessary. I'd go so far as to say they comfort me.
|
||||||
|
date: 2026-06-14
|
||||||
|
tags: media, essay, post
|
||||||
|
---
|
||||||
|
|
||||||
|
<h1>{{title}}</h1>
|
||||||
|
<h2> <time datetime="{{ page.date | htmlDateString }}">{{ page.date | readableDate }}</time>
|
||||||
|
</h2>tagged with.. {%- for tag in tags | filterTagList %}
|
||||||
|
|
||||||
|
{%- set tagUrl %}/tags/{{ tag | slugify }}/{% endset %}
|
||||||
|
<a href="{{ tagUrl }}" class="post-tag">{{ tag }}</a>{%- if not loop.last %}, {% endif %}</li>
|
||||||
|
{%- endfor %}
|
||||||
|
by Agnes the Alien
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Okay, let's get this out of the way first: yes, I am a rape survivor, because I know, based on the title, that that question was likely your first thought.
|
||||||
|
|
||||||
|
I am a rape survivor, but my story is a bit more complex; I'm also a survivor of child sex trafficking as well as a survivor of emotional abuse and physical abuse from peers. It feels so odd, by the way, listing these things about myself so casually. I've grown accustomed to it because what happened to me shaped my life so significantly it impacts every second of it, but in this context it feels almost like a job interview. Here you go, dear reader, here are my Rape Qualifications. You know, the trauma you're supposed to list when you write an article like this one. Here are all the reasons why I'm allowed to have this opinion, because surely this opinion in an Unraped individual would be Suspicious. But I'm just going to say it with my entire self, point blank and up front: Graphic rape scenes in literature are _necessary_. I'd go so far as to say they _comfort_ me.
|
||||||
|
|
||||||
|
Literature is... it's a building block of a comfortable and holistic existence, in the sense that it is inescapable unless you're actively trying to life a miserable life; the television shows you watch are often based on books or have themes/concepts that originated in literature (see: "The Vampire Lestat", which I haven't watched but which discourse around inspired this article), the education you undertake requires engagement with literature even in its rudimentary forms, many common English idioms are said to originate in literatue (Shakespeare has a Wikipedia article dedicated to idioms attributed to his work that has so many entries they had to sort it with individual dropdowns for each starting letter). You Quite Simply Cannot Exist In Modern Society Without Interacting With Literature In Some Form, even if that form is abstracted or distant from literature in its purest form (i.e. reading a book). It's just not possible.
|
||||||
|
|
||||||
|
Literature and language are not just building blocks, either; they're also lush and visceral, with, when wielded appropriately, the ability to move, impact, and change. The right kind of story can reach into your essence and plant itself down, or soothe the ache that infects it, or lick its wounds clean, or deepen the wounds life caused. Literature is a neutral weapon, a vicious tool, a Mickey Mouse-style surprise tool that will help us later. It is a power, and it is powerful.
|
||||||
|
|
||||||
|
We see this all the time in people who will say things like, "This story saved my life!" or, "I relate to this character so much they helped me realize hidden aspects of myself!" or even "I love this character so much I want to protect them/fuck them/see them hurt!" And the same people who will write endless posts on how a story has impacted them for the better are often the ones claiming that rape doesn't need to be shown in media ever because it might make people uncomfortable. The same people who claim to appreciate art will demonize art that depicts rape in its most realistic sense, without ever considering why a book would choose to include such a scene. They understand that art can impact, and that art is moving, but it does not occur to them that, for example, a graphic rape scene could be included to elicit empathy for the victim, or to inform people about the realities of rape that are not often acknowledged (that it can come from family members, that a rapist doesn't have to be a specific gender, that rape isn't just penetration, etc)---or simply it could just be that the author feels it is important/necessary to include for the kind of story they're writing. There is also no consideration of the idea that the author may themselves be a victim who is recounting their own experiences in an attempt to cope with their pain, tell their story, reach others.. a myriad of reasons.
|
||||||
|
|
||||||
|
The lack of consideration of these aspects in discussion of media involving graphic rape is reflective of society's overall, inherent disregard of rape victims. The victim and the victim's feelings at large don't matter. The disgust does not come from sympathy for the victim character, just as disgust about rape in real life often doesn't come from sympathy for the victim; it comes from a focus on the rapist. It's either _how could someone be so awful_ or _who made them this way_ or _this makes me personally uncomfortable to imagine happening to me-_\- or it's denial of the act and praising of the rapist. Similarly, with literature, the focus is almost _always_ on demonizing the perpetrator, who, in these scenarios, is for some reason often interpreted to be the author.
|
||||||
|
|
||||||
|
The author must be secretly getting off on it, which is, of course, an inherent evil, even though a paper published in 2008 states 31-57% of women had erotic rape fantasies (W Critelli et al) and a paper from 2009 that studied female undergraduates stated that 67% of them had erotic rape fantasies (Bivona et al). The idea - at least from what I can tell - is that writing a rape scene where the rape is shown on "screen" as opposed to simply handwaved away just like we do to real rape = author must be a rape fetishist = author must be an actual rapist in real life (or support them). But these fantasies are common - how many of those women interviewed, do you think, are or support real life rape? How many do you think are horrified by the concept of real life rape?
|
||||||
|
|
||||||
|
Do you think that those female undergraduates are monsters? That they're going to go out and rape people on the streets at night for fun, or abuse people they know, or that they secretly want to rape someone but are just holding themselves back? Or are they a group of individuals who are particularly vulnerable to rape taking back the concept for themselves, fantasizing about situations in which they have power over the act and can fully control it, either as perpetrator or victim?
|
||||||
|
|
||||||
|
I am not an individual who fantasizes about rape; I find that graphic rape scenes in books bring me comfort. In a society where people are constantly trying to pretend rape away, seeing people confront the topic directly, brutally, and realistically is a breath of fresh air. And you know what? I find comfort in the fact that this makes people uncomfortable.
|
||||||
|
|
||||||
|
Rape is uncomfortable. It should make you feel that way. It should horrify and disgust and mangle, and the spark of that mangling should be at its core compassion, not simply hatred or fear. If a rape scene makes you uncomfortable because it's triggering, I understand. If it makes you uncomfortable because you just don't think it should be portrayed as the horrific act it is - that is where I invoke the Hold On A Sec.
|
||||||
|
|
||||||
|
Be uncomfortable. Look at what I had to go through. Look at how it mangled _me_ into an amalgam of suffering! LOOK. DO NOT TURN AWAY. LOOK SO YOU UNDERSTAND.
|
||||||
|
|
||||||
|
Do you think you're capable of that?
|
||||||
|
|
||||||
|
People often say there's no real reason to have a rape scene, but was I raped for a reason, or did it just happen?
|
||||||
|
|
||||||
|
People dislike these scenes ultimately because it paints a picture that they don't want to look at, and I'm sorry, but it's time to grow up and open your eyes. You don't want to be faced with the fact that by saying graphic rape scenes have no place in literature _anywhere_, you are in essence pretending rape away, and therefore silencing and isolating victims from their own experiences. I get it. No one wants to be told that.
|
||||||
|
|
||||||
|
But you have to look.
|
||||||
50
content/blog/traumaloop.md
Normal file
50
content/blog/traumaloop.md
Normal file
|
|
@ -0,0 +1,50 @@
|
||||||
|
---
|
||||||
|
layout: agneslove-blog
|
||||||
|
title: (Nus Braka Voice) How's that for a trauma loop?
|
||||||
|
description: I’ve been thinking a lot lately about my creativity. I don’t do a lot of original work – Ice Dancer was my first poem in… way too long, maybe a YEAR? – I’ve only been focusing on fanworks. I do have ideas for original works! Many, in fact! But every time I sit down to write, there’s a block. I don’t really know why.
|
||||||
|
date: 2026-03-01
|
||||||
|
tags: personal, post
|
||||||
|
---
|
||||||
|
|
||||||
|
<h1>{{title}}</h1>
|
||||||
|
<h2> <time datetime="{{ page.date | htmlDateString }}">{{ page.date | readableDate }}</time>
|
||||||
|
</h2>tagged with.. {%- for tag in tags | filterTagList %}
|
||||||
|
|
||||||
|
{%- set tagUrl %}/tags/{{ tag | slugify }}/{% endset %}
|
||||||
|
<a href="{{ tagUrl }}" class="post-tag">{{ tag }}</a>{%- if not loop.last %}, {% endif %}</li>
|
||||||
|
{%- endfor %}
|
||||||
|
by Agnes the Alien
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
<i><b>Content warning: childhood sexual abuse & trafficking.</b></i>
|
||||||
|
|
||||||
|
I’ve been thinking a lot lately about my creativity. I don’t do a lot of original work – [Ice Dancer](https://kissing.computer/2026/02/27/poem-ice-dancer/) was my first poem in… way too long, maybe a YEAR? – I’ve only been focusing on fanworks. I do have ideas for original works! Many, in fact! But every time I sit down to write, there’s a block. I don’t really know why.
|
||||||
|
|
||||||
|
Maybe it’s that I feel like my original writing is futile.
|
||||||
|
|
||||||
|
I’ve been published before. But because I was suicidal for so long and genuinely didn’t plan on being alive for it to matter, I never really learned how to separate my fandom persona from my professional writing self. And that was a bad idea. When I started to finally heal – around the time I started using dark fiction to cope with past trauma – I realized that the people I surrounded myself with would try to ruin my career and life if they could tie me to that pen name. So I had to rebuild, and none of my previously published works could be tied to my current pen name. I had to remake everything – my author site, my itch.io, etc. Some of my favorite creations can no longer be tied to me because of this, including a piece of interactive art that means… well… just about everything to me. I had about 2k followers on those accounts; now I barely have 200. It all just feels utterly useless.
|
||||||
|
|
||||||
|
I also feel like a lot of my original work is just horribly repetitive these days. I use the same metaphors and the same pains and the same words and the same events, over and over and over again.
|
||||||
|
|
||||||
|
I’m stuck. And not just creatively.
|
||||||
|
|
||||||
|
I’m chained to these things. I’m living a time loop where I’m forced to re-experience them over and over again every day of my pitiful damn existence. I’m being buried alive and when I suffocate I’ll wake up in a television show but for me I really have run out of time!!! Or at least it feels that way. I try not to let fiction write my story for me but it is a little bit easier that way.
|
||||||
|
|
||||||
|
Even my fanworks, honestly, to a lesser extent. I find myself hyperfixated on portrayals of childhood sexual abuse in fiction, and finding ways to project my experiences with it onto characters who haven’t explicitly been through it but also have backstories that would realistically involve it. Take Caleb Mir from Star Trek: SFA for example; he’s been on his own, on the run, and in and out of prison since age six. You don’t escape that unmolested.
|
||||||
|
|
||||||
|
I find myself projecting onto him deeply. I find myself getting unhealthily attached to him. I think about this stuff way way too much. I see myself in him, even if I shouldn’t, even if my life has been paradise compared to his. Thinking about characters having the same pain I have, and overcoming it, gives me some illusion of hope’s tangibility. Illusion, delusion? I don’t know. It just makes me feel like healing can be in reach for me if I try really hard enough – like maybe if I squint really hard and believe and click my heels together I can imagine up a portal into a world where I’m not in this much agony.
|
||||||
|
|
||||||
|
I love SFA because it’s the first time I’ve seen a show with a cast of characters that I feel like would genuinely accept me as a person if they knew me. I relate to SAM so deeply; to see her accepted by everyone – loved by everyone – makes me soar. Caleb comforts fat anxious cadets (even if I have beef with Pickford now.) People are given space to deal with their traumas, given empathy. I’ve never wanted to live in a show more than this (except maybe Doom Patrol, for ficto reasons.)
|
||||||
|
|
||||||
|
But as I go deeper and deeper into escapism here, I find myself just ouroborosing my trauma. Like I just keep throwing it up and then eating the vomit and then throwing it back up and eating it again and so on and so forth, like my dog did when my dad died. The projection helps me cope, but it also keeps me trapped there, in a way.
|
||||||
|
|
||||||
|
And then I wonder if there is a key to release the trap anywhere when you’re a trafficking survivor, or if it’s sort of like how sometimes when people get shot they have to leave bullet fragments in the body because it’s too dangerous to try and remove them. You know? Like, maybe it’s just something you have to carry inside of you as you try to move forward, because going back through it would just make things worse. Maybe coping with fiction is as far as I’m going to get.
|
||||||
|
|
||||||
|
I am in therapy. I see two therapists! I do ketamine therapy twice a week. I literally have appointments 4/5 days a week. Yet here I remain, just barely hanging on, handcuffed to the pole.
|
||||||
|
|
||||||
|
Sometimes I find myself getting confused. I forget that Star Trek technology – and Star Trek peace – isn’t real. I forget that it isn’t that easy. I forget that the peace in Star Trek is just as precarious and blood-soaked as it would be in real life. But it’s easier to live somewhere I feel accepted than live in this universe where the only hobby I’m truly capable of having is retraumatizing myself.
|
||||||
|
|
||||||
|
I want to write about something else now.
|
||||||
|
</main>
|
||||||
|
|
||||||
|
|
||||||
12
content/buttonwall.njk
Normal file
12
content/buttonwall.njk
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
---
|
||||||
|
layout: agneslove.njk
|
||||||
|
title: Button Wall
|
||||||
|
eleventyNavigation:
|
||||||
|
key: slash
|
||||||
|
title: Button Wall
|
||||||
|
---
|
||||||
|
<div class="main-noflex">
|
||||||
|
|
||||||
|
friends, mutuals, cool internet people i like:<br> <br><a href="https://serpentinemalign.neocities.org/"><img src="https://file.garden/aJzQmzrHVB4BLKwu/smbutton.png" alt="button for serpentinemalign" title="button for serpentinemalign"></a><a href="https://eunoia.sayitditto.net/"><img src="https://file.garden/aJzQmzrHVB4BLKwu/eunoia.png" alt="button for euonoia" title="button for euonoia"></a><a href="https://linkyblog.neocities.org/"><img src="https://file.garden/aJzQmzrHVB4BLKwu/linkybanner.png" alt="button for linky" title="button for linky"></a><a href="https://www.hellomei.dev/"><img src="https://file.garden/aJzQmzrHVB4BLKwu/hellomei.gif" alt="button for hellomei" title="button for hellomei"></a><a href="https://maevedarcy.neocities.org/"><img src="https://hospital.alien.town/lib/exe/fetch.php?w=68&tok=84e143&media=https%3A%2F%2Ffile.garden%2FaJzQmzrHVB4BLKwu%2Fmaeve.png" width="63px" alt="button for maevedarcy" title="button for maevedarcy"></a><a href="https://overmore.neocities.org/"><img src="https://file.garden/aJzQmzrHVB4BLKwu/ul9xd6.png" title="button for overmore" alt="button for overmore"></a><a href="https://herewithin.neocities.org/"><img src="https://file.garden/Zw17vw8ctXTQw7PV/link-banner.png" alt="button for herewithin" title="button for herewithin"></a>
|
||||||
|
|
||||||
|
</div>
|
||||||
3
content/content.11tydata.js
Normal file
3
content/content.11tydata.js
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
export default {
|
||||||
|
layout: "layouts/home.njk",
|
||||||
|
};
|
||||||
37
content/fandom-badges.njk
Normal file
37
content/fandom-badges.njk
Normal file
|
|
@ -0,0 +1,37 @@
|
||||||
|
---
|
||||||
|
layout: agneslove.njk
|
||||||
|
title: Fandom Badges
|
||||||
|
description: fandom badges
|
||||||
|
eleventyNavigation:
|
||||||
|
key: fandom
|
||||||
|
title: Fandom Badges
|
||||||
|
---
|
||||||
|
<div class="main-noflex">Badges I've earned in various fandom events.<br><br>
|
||||||
|
From <a href="https://femslashfete.dreamwidth.org/">femslashfete</a> on Dreamwidth:<br>
|
||||||
|
<img src="https://64.media.tumblr.com/40f357f299456844f903ad7bf27df56a/02b47ce67b92eb7b-7b/s250x400/f458de0526738b3e3d8349aa495200fc1acbbff5.png" class="badge" title="badge celebrating 10 fills" alt="badge celebrating 10 fills">
|
||||||
|
<img src="https://64.media.tumblr.com/569a8ad7e01cd3b34da0d414d1738b82/66b96963745f1d85-52/s250x400/bc23c5f37007bb4555df93ca30be5d180c5a9a0b.pnj" alt="badge celebrating 5 fills featuring 1 character each with a different ship" class="badge" title="badge celebrating 5 fills featuring 1 character each with a different ship">
|
||||||
|
<img src="https://64.media.tumblr.com/514bce29bf71193be736199a78aa0cbd/02b47ce67b92eb7b-e1/s250x400/42d980bdf1a358ea766a25c83f8afcd9126fbf47.png" title="badge celebrating 25 fills" alt="badge celebrating 25 fills" class="badge"><img src="https://64.media.tumblr.com/b6282b30a14cb7c28f70c1dc05f7fe77/ab1db018cf48c7bc-cd/s250x400/b783f61207e90c28393949344ab0258a151c5f6a.png" class="badge" alt="femslashfete badge: medium munch: 5 fills in 5 different mediums">
|
||||||
|
<hr>
|
||||||
|
From elasticella's Fresh Femslash Salad Bar on dreamwidth: <br>
|
||||||
|
2026: <img src="https://64.media.tumblr.com/43e57bf24650de909ae06dcb8d2944e7/b06c9b132b15aa19-f2/s250x400/58dd49ac3f682fa27eafedcdc6ef51d0630dee55.jpg" class="badge" alt="starter salad, 1 hard fill" title="starter salad, 1 hard fil"><img src="https://64.media.tumblr.com/b9e39a1c10b48828eb7dde7ff2ab4c73/b06c9b132b15aa19-27/s250x400/aea2952fe64d96a24cef3a4d2dbc014a9bc6c15a.jpg" alt="a flight of salads, 4 hard fills" title="a flight of salads, 4 hard fills">
|
||||||
|
<br>2025: <img src="https://i.ibb.co/FkRWYvzb/image.png" alt="tiny salad, 1 hard fill" title="tiny salad, 1 hard fill" class="badge"> 2024: <img src="https://i.ibb.co/4nc2Q2pN/image.png" class="badge" title="lunch salad, four hard fills" alt="lunch salad, four hard fills"><br><hr>
|
||||||
|
From July Break Bingo on Tumblr/discord: (please do NOT steal or alter these, at the request of the creators) <br>
|
||||||
|
<img src="https://64.media.tumblr.com/4f5211065bc208f73c845a03b134f8d7/bdeb83d8a6a33f09-60/s400x600/56c60b66f110bb08a95e29bb92006553276803f1.pnj" width="250px" class="jbb" alt="Two discord emojis. One is a UNO reverse card that says NO YOU. The other is a casette with a heart. They are both blue." title="Two discord emojis. One is a UNO reverse card that says NO YOU. The other is a casette with a heart. They are both blue.">
|
||||||
|
<hr>
|
||||||
|
From elasticella's Hotties Haunting the Narrative event on dreamwidth:
|
||||||
|
<br><img src="https://64.media.tumblr.com/3a678a37f1761efd6435dbb19e44e027/ccc0fa30dd935a3e-12/s250x400/6d653e5025cb3cf39658528c71cce08728134392.png" class="badge" alt="3 story haunted house; 3 fills" title="3 story haunted house; 3 fills"><hr>
|
||||||
|
From MY Rarest of Rarepairs event 2025 (this is the first year we have graphic awards and I think they're fun): <br>
|
||||||
|
<img src="https://file.garden/aJzQmzrHVB4BLKwu/tumblr_a5d75cf065c5812ea75288e1283a098d_6cb972ab_250-removebg-preview.png" alt="creative canoe; one fill" title="creative canoe; one fill"><br><hr>
|
||||||
|
<div class="badgeimg">From beagoldfish microbang:<br>
|
||||||
|
<img src="https://file.garden/Zw17vw8ctXTQw7PV/toothpastepancake-5.jpg" alt="beagoldfish 2026-a, toothpaste pancake, 2 playlists made, 1 recipe written, 1 gifset made,
|
||||||
|
1 icon set shared, 3 fics written" width="380px" height="380px" title="beagoldfish 2026-a, toothpaste pancake, 2 playlists made, 1 recipe written, 1 gifset made,
|
||||||
|
1 icon set shared, 3 fics written"><br><hr>From <a href="https://robinboob.com/">robinboob</a>:<br>
|
||||||
|
<img src="https://file.garden/aJzQmzrHVB4BLKwu/shipbadge.png" width="380px" title="joke certificiate indicating ownership of the fictional relationship between keeg bovo and larry trainor" alt="joke certificiate indicating ownership of the fictional relationship between keeg bovo
|
||||||
|
and larry trainor"><br>
|
||||||
|
<img src="https://file.garden/aJzQmzrHVB4BLKwu/wm.png" width="380px" alt="joke certificiate indicating ownership of the fictional relationship between claire finn and isaac" title="joke certificiate indicating ownership of the fictional relationship between claire finn and isaac"><br>
|
||||||
|
<img src="https://file.garden/aJzQmzrHVB4BLKwu/solara%20certificate.png" width="380px" title="joke certificiate indicating ownership of the fictional relationship between solana and alara kitan" alt="joke certificiate indicating ownership of the fictional relationship between alara and solana kitan" ><br>
|
||||||
|
<img src="https://file.garden/Zw17vw8ctXTQw7PV/certificates_555_watermarked-1772138825413.png" width="380px" alt="joke certificiate indicating ownership of the fictional relationship between mr morden and anna sheridan" title=""joke certificiate indicating ownership of the fictional relationship between mr morden and anna sheridan" ><br>
|
||||||
|
<img src="https://file.garden/Zw17vw8ctXTQw7PV/ship-certificate-watermarked(1).png" width="380px" alt="joke certificiate indicating ownership of the fictional relationship between
|
||||||
|
lyta alexander and kosh naranek" title="joke certificiate indicating ownership of the fictional relationship between
|
||||||
|
lyta alexander and kosh naranek">
|
||||||
|
</div></div>
|
||||||
1
content/feed/.virtual
Normal file
1
content/feed/.virtual
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
For RSS feed, Atom Feed, and JSON feed templates, see the plugin in eleventy.config.js
|
||||||
89
content/feed/pretty-atom-feed.xsl
vendored
Normal file
89
content/feed/pretty-atom-feed.xsl
vendored
Normal file
File diff suppressed because one or more lines are too long
44
content/for-you.njk
Normal file
44
content/for-you.njk
Normal file
|
|
@ -0,0 +1,44 @@
|
||||||
|
---
|
||||||
|
layout: agneslove.njk
|
||||||
|
title: For You
|
||||||
|
description: Stuff i made for you page
|
||||||
|
eleventyNavigation:
|
||||||
|
key: slash
|
||||||
|
title: For You
|
||||||
|
---
|
||||||
|
<div class="main-noflex"> <h2>stuff for YOU!</h2>
|
||||||
|
<h1>Things I Made</h1>
|
||||||
|
AO3 Clone in HTML<br><br>
|
||||||
|
|
||||||
|
|
||||||
|
A while ago I made a semi-functional AO3 clone in HTML/css. You use this by copying and pasting your works into the work template, then updating the profile and tag pages to link to each work.
|
||||||
|
<br><br>
|
||||||
|
It's insane, but if you're curious or up for a tedious project, or are dreaming of hosting OTW-Archive one day and want to spin up a prototype, you can download it <a href="https://treasurechest.alien.town/agnes/ao3-html">here</a>.<br><br>
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
Babylon 5 favorite character sorter<br><br>
|
||||||
|
I didn't code this, biasorter on Tumblr did, I just made it B5. Do you want to know your ultimate favs in B5? Check it out <a href="https://alien.holiday/b5sorter">here!</a>
|
||||||
|
<hr>
|
||||||
|
Neocities Edit Current Page Link<br><br>
|
||||||
|
My first Javascript thingy. I got tired of having to navigate to the Neocities dashboard in the browser whenever I wanted to edit a page; this creates a link on the page that takes you directly to the Neocities file edit page for the url path it is placed on. If someone besides you clicks it, it just takes them to their own Neocities dashboard or the corresponding file on their own site, if they have one. Think the "edit theme" button on Tumblr.
|
||||||
|
<a href="https://treasurechest.alien.town/agnes/misc-etc/src/branch/main/scripts/neocities-edit-button.js">Check it out here!</a><hr>
|
||||||
|
<a href="https://treasurechest.alien.town/agnes/dw-commentfest-scrape">Dreamwidth Comment Fest Scraper</a><br>
|
||||||
|
<br> This scrapes Dreamwidth comments on a specific posts and sends them to a Discord webhook, generating the comment text and a link to the comment in HTML format <a href="url">text</a> wrapped in backticks. When put on systemd it runs every five hours (don't change that, to be respectful to DW) and if no new comments have been posted since the last one then it returns no comments. <br><br>
|
||||||
|
My first Python project ever!<hr>
|
||||||
|
|
||||||
|
<center>Graphics</center>
|
||||||
|
<img src="https://i.ibb.co/V0FPZT9b/janestamp.png" alt="tv verse jane doom patrol deviantart style stamp" border="0">
|
||||||
|
<img src="https://i.ibb.co/kgwxz7sd/flexstamp.png" alt="tv verse flex mentallo deviantart style stamp" title="tv verse flex mentallo deviantart style stamp" border="0">
|
||||||
|
<img src="https://i.ibb.co/dsrLDFLx/cliffstamp.png" alt="tv verse cliff steele deviantart style stamp" title="tv verse cliff steele deviantart style stamp" border="0">
|
||||||
|
<img src="https://i.ibb.co/zhsm4VhV/larrystamp.png" alt="tv verse larry trainor deviantart style stamp" title="tv verse larry trainor deviantart style stamp" border="0">
|
||||||
|
<img src="https://i.ibb.co/355pgmCS/ritastamp.png" alt="rita farr deviantart style stamp" title="rita farr deviantart style stamp" border="0">
|
||||||
|
<img src="https://i.ibb.co/s9PvmBqJ/maurastamp.png" alt="tv verse maura lee karupt deviantart style stamp" title="tv verse maura lee karupt deviantart style stamp" border="0">
|
||||||
|
<img src="https://i.ibb.co/21f0Fjv6/laurastamp.png" alt="tv verse laura de mille deviantart style stamp" title="tv verse laura de mille deviantart style stamp"" border="0">
|
||||||
|
<img src="https://i.ibb.co/tpYytR2h/vicstamp.png" alt="doom patrol tv show vic stone deviantart style stamp" title="doom patrol tv vic stone deviantart style stamp" border="0">
|
||||||
|
<img src="https://i.ibb.co/v612b01V/babylon5stamp.png" alt="babylon5 deviantart style stamp" title="babylon 5 deviantart style stamp" border="0"><br/><img src="https://i.ibb.co/ccjjrxNC/DOOM-PATROL.png" alt="doom patrol badge" title="doom patrol badge" border="0">
|
||||||
|
<img src="https://i.ibb.co/DP5xmbSp/ALIEN-GENDER.png" alt="ALIEN GENDER badge" title="alien gender badge" border="0">
|
||||||
|
<img src="https://i.ibb.co/XrZ6y4mc/YAY-LESBIANS.png" alt="yay lesbians badge" title="yay lesbians badge" border="0">
|
||||||
|
<img src="https://i.ibb.co/FLZJgtKz/BUTCH-LESBIAN.png" alt="BUTCH LESBIAN badge" title="butch lesbian badge" border="0">
|
||||||
|
<img src="https://i.ibb.co/rLgsL0K/FEMME-LESBIAN-1.png" alt="femme lesbian badge" title="femme lesbian badge" border="0"></div>
|
||||||
|
</div>
|
||||||
87
content/hosted.njk
Normal file
87
content/hosted.njk
Normal file
|
|
@ -0,0 +1,87 @@
|
||||||
|
---
|
||||||
|
layout: agneslove.njk
|
||||||
|
title: Services
|
||||||
|
description: services i host
|
||||||
|
eleventyNavigation:
|
||||||
|
key: slash
|
||||||
|
title: Hosted
|
||||||
|
---
|
||||||
|
<div class="main-noflex">
|
||||||
|
<!-- wp:heading {"textAlign":"center"} -->
|
||||||
|
<h2 class="wp-block-heading has-text-align-center">All of my self-hosted services</h2>
|
||||||
|
<!-- /wp:heading -->
|
||||||
|
|
||||||
|
<!-- wp:paragraph -->
|
||||||
|
<p></p>
|
||||||
|
<!-- /wp:paragraph -->
|
||||||
|
|
||||||
|
<!-- wp:paragraph -->
|
||||||
|
<p>I outlined this on my about page before, then realized I wanted to be able to link to it other places. So here we are :)</p>
|
||||||
|
<!-- /wp:paragraph -->
|
||||||
|
|
||||||
|
<!-- wp:paragraph -->
|
||||||
|
<p>COMMUNITY<br>If you'd like an account on any that don't have open signups or invite queues, email me :))</p>
|
||||||
|
<!-- /wp:paragraph -->
|
||||||
|
|
||||||
|
<!-- wp:list -->
|
||||||
|
<ul class="wp-block-list"><!-- wp:list-item -->
|
||||||
|
<li><a href="https://sunset.femslash.club">SUNSET ARCHIVE</a>; An archive for F/F, NB/F and NB/NB fanworks running on the AO3 code;<br><a href="https://fandom.cooking/">FANDOM.COOKING</a>; a multifandom cookbook using recipes from various public sources;<br><a href="https://cheesy.alien.town/">CHEESY</a>; a food miniblogging site;<br><a href="https://sillywordz.kissing.computer/">SILLYWORDZ</a>; a fork of status.cafe that lets you embed your updated word count into your site;<br><a href="https://minty.anteater.monster/">MINTY</a>; status.cafe instance/embeddable status updates for your site;</li>
|
||||||
|
<!-- /wp:list-item -->
|
||||||
|
|
||||||
|
<!-- wp:list-item -->
|
||||||
|
<li><a href="https://www.mourningdove.club">MOURNING DOVE</a>; dreamwidth clone/journalling site<br><a href="https://girlgay.femslash.club/">FEMSLASH FORUMS</a>; not ready yet;</li>
|
||||||
|
<!-- /wp:list-item --></ul>
|
||||||
|
<!-- /wp:list -->
|
||||||
|
|
||||||
|
<!-- wp:paragraph -->
|
||||||
|
<p>PERSONAL</p>
|
||||||
|
<!-- /wp:paragraph -->
|
||||||
|
|
||||||
|
<!-- wp:list -->
|
||||||
|
<ul class="wp-block-list"><!-- wp:list-item -->
|
||||||
|
<li><a href="https://treasurechest.alien.town/agnes">FORGEJO/GIT; </a>my projects;</li>
|
||||||
|
<!-- /wp:list-item -->
|
||||||
|
|
||||||
|
<!-- wp:list-item -->
|
||||||
|
<li><a href="https://cheesecake.kissing.computer/">ASK ME ANYTHING</a>; single-user question&answer software similar to the now-defunct CuriousCat;</li>
|
||||||
|
<!-- /wp:list-item -->
|
||||||
|
|
||||||
|
<!-- wp:list-item -->
|
||||||
|
<li><a href="https://library.alien.town/bookmarks/shared">PERSONAL BOOKMARKS</a>; links i've saved</li>
|
||||||
|
<!-- /wp:list-item -->
|
||||||
|
|
||||||
|
<!-- wp:list-item -->
|
||||||
|
<li><a href="https://clouds.alien.town/">CLOUDZ</a>; personal fanart archive</li>
|
||||||
|
<!-- /wp:list-item --></ul>
|
||||||
|
<!-- /wp:list -->
|
||||||
|
|
||||||
|
<!-- wp:heading {"textAlign":"center"} -->
|
||||||
|
<h2 class="wp-block-heading has-text-align-center">Shrines & Fan Sites</h2>
|
||||||
|
<!-- /wp:heading -->
|
||||||
|
|
||||||
|
<!-- wp:list -->
|
||||||
|
<ul class="wp-block-list"><!-- wp:list-item -->
|
||||||
|
<li><a href="https://signsandportents.neocities.org/morden/ambition">Mr. Morden shrine (Babylon 5</a>)</li>
|
||||||
|
<!-- /wp:list-item -->
|
||||||
|
|
||||||
|
<!-- wp:list-item -->
|
||||||
|
<li><a href="https://shadow-of-a-ghost.toothpaste.city/">Anna Sheridan shrine (Babylon 5)</a></li>
|
||||||
|
<!-- /wp:list-item -->
|
||||||
|
|
||||||
|
<!-- wp:list-item -->
|
||||||
|
<li><a href="https://spirit.alien.hospital/">Negative Spirit species shrine (Doom Patrol TV)</a></li>
|
||||||
|
<!-- /wp:list-item -->
|
||||||
|
|
||||||
|
<!-- wp:list-item -->
|
||||||
|
<li><a href="https://spiraleye.toothpaste.city/">Elouisa shrine (Palia)</a></li>
|
||||||
|
<!-- /wp:list-item --></ul>
|
||||||
|
<!-- /wp:list -->
|
||||||
|
|
||||||
|
<!-- wp:paragraph -->
|
||||||
|
<p></p>
|
||||||
|
<!-- /wp:paragraph -->
|
||||||
|
|
||||||
|
<!-- wp:paragraph -->
|
||||||
|
<p></p>
|
||||||
|
<!-- /wp:paragraph -->
|
||||||
|
</div>
|
||||||
65
content/index.njk
Normal file
65
content/index.njk
Normal file
|
|
@ -0,0 +1,65 @@
|
||||||
|
---
|
||||||
|
layout: agneslove.njk
|
||||||
|
title: Agnes the Alien
|
||||||
|
#description: "Welcome to petrapixel! Here you can find many resources for Neocities, coding help, media recommendations and more in a cute Old Web aesthetic!"
|
||||||
|
#freezeframe: true
|
||||||
|
#numberofLatestPostsToShow: 3
|
||||||
|
#postsCount:
|
||||||
|
#latestPostsCOunt:
|
||||||
|
#morePosts:
|
||||||
|
---
|
||||||
|
|
||||||
|
<div class="main">
|
||||||
|
<div class="intro"><img src="https://i.ibb.co/ZRfYtg7t/welcome5.gif" alt="Pixel render of a computer screen that says WELCOME TO MY WEBSITE. Kittens are climbing all over it." title="Pixel render of a computer screen that says WELCOME TO MY WEBSITE. Kittens are climbing all over it."><br>
|
||||||
|
|
||||||
|
Hello, and welcome to my site! I'm Agnes the Alien, and this is my personal site and weblog. Feel free to poke around and see what I've got.<br>
|
||||||
|
<br> I mostly write about creativity, technology, alterhumanity, fictosexuality, disability, and mental health. <br>
|
||||||
|
<br><div class="status">Current status: <script src="https://status.lol/agnes.js?link&no-emoji&time"></script>
|
||||||
|
</div> <style type="text/css" media="screen">
|
||||||
|
.gr_grid_container {
|
||||||
|
/* customize grid container div here. eg: width: 500px; */
|
||||||
|
}
|
||||||
|
|
||||||
|
.gr_grid_book_container {
|
||||||
|
/* customize book cover container div here */
|
||||||
|
float: left;
|
||||||
|
width: 39px;
|
||||||
|
height: 60px;
|
||||||
|
padding: 0px 0px;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<div id="gr_grid_widget_1782007749">
|
||||||
|
<!-- Show static html as a placeholder in case js is not enabled - javascript include will override this if things work -->
|
||||||
|
<h2>
|
||||||
|
<a style="text-decoration: none;" rel="nofollow" href="https://www.goodreads.com/review/list/200389747-aggie?shelf=currently-reading&utm_medium=api&utm_source=grid_widget">currently reading...</a>
|
||||||
|
</h2>
|
||||||
|
<div class="gr_grid_container">
|
||||||
|
<div class="gr_grid_book_container"><a title="Serious Weakness" rel="nofollow" href="https://www.goodreads.com/book/show/63152711-serious-weakness"><img alt="Serious Weakness" border="0" src="https://i.gr-assets.com/images/S/compressed.photo.goodreads.com/books/1667245361l/63152711._SY75_.jpg" /></a></div>
|
||||||
|
<div class="gr_grid_book_container"><a title="The Orange Eats Creeps" rel="nofollow" href="https://www.goodreads.com/book/show/8075281-the-orange-eats-creeps"><img alt="The Orange Eats Creeps" border="0" src="https://i.gr-assets.com/images/S/compressed.photo.goodreads.com/books/1328762623l/8075281._SX50_.jpg" /></a></div>
|
||||||
|
<br style="clear: both"/><br/><a class="gr_grid_branding" style="font-size: .9em; color: #382110; text-decoration: none; float: right; clear: both" rel="nofollow" href="https://www.goodreads.com/user/show/200389747-aggie">Aggie's favorite books »</a>
|
||||||
|
<noscript><br/>Share <a rel="nofollow" href="/">book reviews</a> and ratings with Aggie, and even join a <a rel="nofollow" href="/group">book club</a> on Goodreads.</noscript>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<script src="https://www.goodreads.com/review/grid_widget/200389747.currently-reading?cover_size=small&hide_link=&hide_title=&num_books=20&order=a&shelf=currently-reading&sort=date_added&widget_id=1782007749" type="text/javascript" charset="utf-8"></script>
|
||||||
|
</div>
|
||||||
|
<div class="sitemap">
|
||||||
|
{{ collections.all | eleventyNavigation | eleventyNavigationToHtml | safe }}
|
||||||
|
</div>
|
||||||
|
<div class="posts">
|
||||||
|
{% set numberOfLatestPostsToShow = 10 %}
|
||||||
|
{% set postsCount = collections.posts | length %}
|
||||||
|
{% set latestPostsCount = postsCount | min(numberOfLatestPostsToShow) %}
|
||||||
|
<h1>Latest {{ latestPostsCount }} Post{% if latestPostsCount != 1 %}s{% endif %}</h1>
|
||||||
|
|
||||||
|
{% set postslist = collections.posts | head(-1 * numberOfLatestPostsToShow) %}
|
||||||
|
{% set postslistCounter = postsCount %}
|
||||||
|
{% include "postslist.njk" %}
|
||||||
|
|
||||||
|
{% set morePosts = postsCount - numberOfLatestPostsToShow %}
|
||||||
|
{% if morePosts > 0 %}
|
||||||
|
<p>{{ morePosts }} more post{% if morePosts != 1 %}s{% endif %} can be found in <a href="blog.njk">the archive</a>.</p>
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
</div><div class="main">{% postGraph collections.posts %}</div></div>
|
||||||
29
content/index.njk.example
Normal file
29
content/index.njk.example
Normal file
|
|
@ -0,0 +1,29 @@
|
||||||
|
---js
|
||||||
|
const eleventyNavigation = {
|
||||||
|
key: "Home",
|
||||||
|
order: 1
|
||||||
|
};
|
||||||
|
|
||||||
|
const numberOfLatestPostsToShow = 3;
|
||||||
|
---
|
||||||
|
{% set postsCount = collections.posts | length %}
|
||||||
|
{% set latestPostsCount = postsCount | min(numberOfLatestPostsToShow) %}
|
||||||
|
<h1>Latest {{ latestPostsCount }} Post{% if latestPostsCount != 1 %}s{% endif %}</h1>
|
||||||
|
|
||||||
|
{% set postslist = collections.posts | head(-1 * numberOfLatestPostsToShow) %}
|
||||||
|
{% set postslistCounter = postsCount %}
|
||||||
|
{% include "postslist.njk" %}
|
||||||
|
|
||||||
|
{% set morePosts = postsCount - numberOfLatestPostsToShow %}
|
||||||
|
{% if morePosts > 0 %}
|
||||||
|
<p>{{ morePosts }} more post{% if morePosts != 1 %}s{% endif %} can be found in <a href="blog.njk">the archive</a>.</p>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{# List every content page in the project #}
|
||||||
|
{#
|
||||||
|
<ul>
|
||||||
|
{%- for entry in collections.all %}
|
||||||
|
<li><a href="{{ entry.url }}"><code>{{ entry.url }}</code></a></li>
|
||||||
|
{%- endfor %}
|
||||||
|
</ul>
|
||||||
|
#}
|
||||||
9
content/info_pages/now.njk
Normal file
9
content/info_pages/now.njk
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
---
|
||||||
|
layout: agneslove.njk
|
||||||
|
nesting: "../"
|
||||||
|
title: NOW
|
||||||
|
description: now page
|
||||||
|
tags: main
|
||||||
|
---
|
||||||
|
|
||||||
|
skjenrkl
|
||||||
71
content/now.njk
Executable file
71
content/now.njk
Executable file
|
|
@ -0,0 +1,71 @@
|
||||||
|
---
|
||||||
|
layout: agneslove.njk
|
||||||
|
title: Now
|
||||||
|
description: now page
|
||||||
|
eleventyNavigation:
|
||||||
|
key: slash
|
||||||
|
title: Now
|
||||||
|
---
|
||||||
|
<script>
|
||||||
|
function myFunction() {
|
||||||
|
let element = document.body;
|
||||||
|
element.classList.toggle("theme");
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<div class="main-now">
|
||||||
|
<div id="currently">
|
||||||
|
Currently...
|
||||||
|
<br>
|
||||||
|
<b><i>watching</i></b>: paradise (tv), star trek voyager<hr>
|
||||||
|
<b><i>playing</i></b>: tomodachi life, palia, 1000xresist<hr>
|
||||||
|
<a href="https://www.last.fm/user/keegbovo"><img src="https://lastfm-recently-played.vercel.app/api?user=keegbovo" height="auto" width="250px"/></a></div>
|
||||||
|
<div class="noww"><h3>What am I doing now!?!?</h3>
|
||||||
|
<i>inspired by <a href="https://nownownow.com/about">nownownow.com</a></i>
|
||||||
|
<hr style="width:65px;border:8px dashed hotpink;">
|
||||||
|
|
||||||
|
Life... <br><br>
|
||||||
|
Currently finally moving on from 20 years of treatment resistant depression, which is nice, and finally getting treatment for my lifelong PMDD, which will hopefully take care of the <i>rest</i> of my suffering. I'm writing this on June 20, 2026, which means I'm turning 25 in exactly a week. That's pretty wild, considering I never planned to make it past the age of eighteen.<br><br>
|
||||||
|
I'm at peace with my life currently. I'm frightened by the current state of the world, but I have hope. I love my friends and family and partner and pets. I finally feel like I have some sort of tangible, beautiful future? AGAIN: crazy, because I've never known this kind of contentment and hope. I'm squeezing all the juice I can out of every second of my life; I'm not going to let it go to waste.
|
||||||
|
<br><br>
|
||||||
|
|
||||||
|
Something a lot of people don't talk about is the post-suicidal phase of life. You know, what happens when you've been suicidal since the single digits and it's all you know how to be, and now you have to learn what it's like to want to be around. It might not sound like it, but it's a real adjustment! For so long I have felt like my life is ephemeral, but it isn't. I can make something of it. I just need to figure out how.
|
||||||
|
<br><br>
|
||||||
|
My life is relatively limited by my health issues, but I want to do as much as I possibly can, both inside and outside of the home. I'm about to start college this August, where I'll be a religious studies major with the goal of volunteering in medical chaplaincy. The one field I can do that I do not think will be replaced by AI any time soon...<br><br>
|
||||||
|
I'm excited for what comes next.
|
||||||
|
|
||||||
|
<hr style="width:65px;border:8px dashed hotpink;">
|
||||||
|
|
||||||
|
Projects... <br><br>
|
||||||
|
|
||||||
|
In October 2025, I launched <a href="https://sunset.femslash.club">Sunset Archive</a>, a fanfiction archive using <a href="https://archiveofourown.org/">AO3</a>'s code dedicated to F/F, F/NB and NB/NB sapphic fanworks. It was rocky at the start, but it has ended up being incredibly rewarding. Now, as I move forward with my mental health and continue to improve, I'm thinking of launching an entire "femslash web"; a cluster of social services and tools made by and for femslash fans, where we come first, and where femslash is freely accessible to those who are looking as opposed to being a needle in a haystack.
|
||||||
|
I'm very passionate about fandom and sapphic works. I don't know if this will come to fruition, but it is my dream...
|
||||||
|
<br><br>
|
||||||
|
I'm currently working on a cluster of short stories and am brainstorming a novel, and I recently got a v-gen artist account and plan to open writing commissions soon.
|
||||||
|
As I write this, it is late June, so <a href="https://artfight.net/~bearcat" title="my profile">ArtFight</a> will be starting soon! This year I'm getting into making jewelry so I can do craft attacks, and just because I want to make jewelry in general, since so many people in my family work with it.
|
||||||
|
<br><br> In fact, here's a practice necklace I made:<br>
|
||||||
|
<img src="https://64.media.tumblr.com/1cde0ff69c3f2f19f584846230bb15b8/0be8ddd22aa1c887-fd/s540x810/fc6aabf1410e336436fcef13d6be3dcb1e05a6f2.jpg" width="450px" alt="A necklace composed of red heart shaped gems. It has a blue UFO pendant." title="A necklace composed of red heart shaped gems. It has a blue UFO pendant.">
|
||||||
|
<br><br>I'm pretty proud of it :-)
|
||||||
|
<hr style="width:65px;border:8px dashed hotpink;">
|
||||||
|
Goals...
|
||||||
|
<br><br>
|
||||||
|
<li>To successfully use my DBT skills when necessary to avoid having a breakdown</li>
|
||||||
|
<li>To finish a novel by June 2027</li>
|
||||||
|
<li>To write at least 150k by the end of the year</li>
|
||||||
|
<li>To get a short story professionally published</li>
|
||||||
|
<li>To continue to improve with my digital art and my crafts</li>
|
||||||
|
<li>To learn music theory</li>
|
||||||
|
<li>To finish my freshman year of college with at least a 3.8 GPA.</li>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
5
content/sitemap.njk
Normal file
5
content/sitemap.njk
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
<section class="main-sitemap">
|
||||||
|
<h1>Sitemap</h1><br>
|
||||||
|
{{ collections.all | eleventyNavigation | eleventyNavigationToHtml | safe }}
|
||||||
|
|
||||||
|
</section>
|
||||||
16
content/sitemap.xml.njk
Normal file
16
content/sitemap.xml.njk
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
---
|
||||||
|
permalink: /sitemap.xml
|
||||||
|
layout: false
|
||||||
|
eleventyExcludeFromCollections: true
|
||||||
|
---
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<urlset xmlns="http://sitemaps.org">
|
||||||
|
{%- for page in collections.all %}
|
||||||
|
{%- if page.data.permalink != false %}
|
||||||
|
<url>
|
||||||
|
<loc>{{ metadata.url }}{{ page.url | url }}</loc>
|
||||||
|
<lastmod>{{ page.date.toISOString() }}</lastmod>
|
||||||
|
</url>
|
||||||
|
{%- endif %}
|
||||||
|
{%- endfor %}
|
||||||
|
</urlset>
|
||||||
8
content/tag-list.njk
Normal file
8
content/tag-list.njk
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
<h1>Tags</h1>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
{% for tag in collections | getKeys | filterTagList | sortAlphabetically %}
|
||||||
|
{% set tagUrl %}/tags/{{ tag | slugify }}/{% endset %}
|
||||||
|
<li><a href="{{ tagUrl }}" class="post-tag">{{ tag }}</a></li>
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
29
content/tag-pages.njk
Normal file
29
content/tag-pages.njk
Normal file
|
|
@ -0,0 +1,29 @@
|
||||||
|
---js
|
||||||
|
// <script>
|
||||||
|
const pagination = {
|
||||||
|
data: "collections",
|
||||||
|
size: 1,
|
||||||
|
alias: "tag",
|
||||||
|
filter: ["all", "posts"],
|
||||||
|
// addAllPagesToCollections: true,
|
||||||
|
};
|
||||||
|
|
||||||
|
const eleventyExcludeFromCollections = true;
|
||||||
|
|
||||||
|
const eleventyComputed = {
|
||||||
|
title: "Tagged '{{ tag }}'",
|
||||||
|
permalink: function(data) {
|
||||||
|
// If DuplicatePermalinkOutputError occurs, check that no tag occurs
|
||||||
|
// with differing case, e.g. "RSS" and "rss".
|
||||||
|
return `/tags/${this.slugify(data.tag)}/`;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
---
|
||||||
|
<section class="main-sitemap">
|
||||||
|
<h1>Tagged “{{ tag }}”</h1>
|
||||||
|
|
||||||
|
{% set postslist = collections[ tag ] %}
|
||||||
|
{% include "postslist.njk" %}
|
||||||
|
|
||||||
|
<p>See <a href="tags.njk">all tags</a>.</p>
|
||||||
|
</section>
|
||||||
8
content/tags.njk
Normal file
8
content/tags.njk
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
<h1>Tags</h1>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
{% for tag in collections | getKeys | filterTagList | sortAlphabetically %}
|
||||||
|
{% set tagUrl %}/tags/{{ tag | slugify }}/{% endset %}
|
||||||
|
<li><a href="{{ tagUrl }}" class="post-tag">{{ tag }}</a></li>
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
97
content/wishes.njk
Normal file
97
content/wishes.njk
Normal file
|
|
@ -0,0 +1,97 @@
|
||||||
|
---
|
||||||
|
layout: agneslove.njk
|
||||||
|
title: Wishes
|
||||||
|
description: Wishes page
|
||||||
|
eleventyNavigation:
|
||||||
|
key: slash
|
||||||
|
title: Wishes
|
||||||
|
---
|
||||||
|
<div class="main-noflex">
|
||||||
|
<!-- wp:heading {"textAlign":"center"} -->
|
||||||
|
<h2 class="wp-block-heading has-text-align-center">Wishes</h2>
|
||||||
|
<!-- /wp:heading -->
|
||||||
|
|
||||||
|
<!-- wp:paragraph -->
|
||||||
|
<p>Inspired by <a hr.main {
|
||||||
|
flex: 1;
|
||||||
|
max-width:60%;
|
||||||
|
border: 8px inset hotpink;
|
||||||
|
display:flex;
|
||||||
|
gap: 10px;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: flex-start;
|
||||||
|
flex-direction: row;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
margin: 0 auto;
|
||||||
|
background: #F0D8E6;
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
ef="https://taylor.town/wish-manifesto">this site,</a> which outlines the concept of a Wish Page pretty well: </p>
|
||||||
|
<!-- /wp:paragraph -->
|
||||||
|
|
||||||
|
<!-- wp:paragraph -->
|
||||||
|
<p> “Sharing your wishlist gives people opportunities to connect with you. From your list, they can infer passions and goals and sometimes even insecurities. They can quickly find common ground with you. They can offer suggestions and support…. Maintaining a wishlist promotes intentional spending. It's much easier to plan realistic budgets when all your future purchases are listed together.” </p>
|
||||||
|
<!-- /wp:paragraph -->
|
||||||
|
|
||||||
|
<!-- wp:paragraph -->
|
||||||
|
<p> I thought this was a very nice idea for a page — and as someone with… a Spending Problem… I thought having my wants and potential future purchases laid out here might help me with, as that page states, intentional spending. </p>
|
||||||
|
<!-- /wp:paragraph -->
|
||||||
|
|
||||||
|
<!-- wp:paragraph -->
|
||||||
|
<p> While this is a wishlist page, I didn't put it here so people can send me gifts. It's for my own reference–things I want to buy later, things I'm saving up for, “if-I-win-the-lottery” dream stuff, and maybe even some non-physical/item things I wish for. HOWEVER, if you Do want to send me a gift, you can contact me by email at alienhospitals@gmail.com to discuss. </p>
|
||||||
|
<!-- /wp:paragraph -->
|
||||||
|
|
||||||
|
<!-- wp:paragraph -->
|
||||||
|
<p><strong>Things I'm Bribing Myself With<br></strong></p>
|
||||||
|
<!-- /wp:paragraph -->
|
||||||
|
|
||||||
|
<!-- wp:paragraph -->
|
||||||
|
<p> In early December 2025 I bought a digital wall calendar, it looks like a photo frame with an Android tablet in it, it's fucking awesome. It has a “rewards” system on its corresponding app; you complete tasks, you get stars, you use stars to buy rewards. I often do better when I have something to work for – that's the entire point of <a href="https://hospital.alien.town/doku.php?id=badges">my fandom badges page, LOL</a> – so I figured I'd try it out to get myself writing/working. </p>
|
||||||
|
<!-- /wp:paragraph -->
|
||||||
|
|
||||||
|
<!-- wp:paragraph -->
|
||||||
|
<p> Currently, my bribes are… </p>
|
||||||
|
<!-- /wp:paragraph -->
|
||||||
|
|
||||||
|
<!-- wp:paragraph -->
|
||||||
|
<p> At 100 stars, 5 stars for each completed writing task, I have <a href="https://www.amazon.com/dp/B0FH7JCZ8L/?coliid=I24EN5OHHMO8W9&colid=1PMFBP9SPA9HM&psc=1&ref_=list_c_wl_lv_ov_lig_dp_it">these stimmy scented lava gel pens</a>. I think they're so cute and would definitely be a good addition to my journalling hyperfixation, especially how you can stim with them. I want to start a writing journal - like, a journal for fiction/poetry/fanfiction/anything more in the realm of writing as opposed to general diary-ing - so I feel like this would help me write a bit more. Rewarding myself for writing with more writing - yay! </p>
|
||||||
|
<!-- /wp:paragraph -->
|
||||||
|
|
||||||
|
<!-- wp:paragraph -->
|
||||||
|
<p> For every 100 stars earned for writing after that, I'll buy… probably <a href="https://www.amazon.com/Coffee-Smens-Scented-Black-Medium/dp/B0D1DMMX88/ref=sims_dp_d_dex_ai_rank_model_1_d_v1_d_sccl_1_4/141-7448205-6165714?pd_rd_w=JzQfs&content-id=amzn1.sym.da0b205c-8cc7-4a8d-9d0a-8ed3705890a2&pf_rd_p=da0b205c-8cc7-4a8d-9d0a-8ed3705890a2&pf_rd_r=0052CJKVA3PK87JK476C&pd_rd_wg=O8HsE&pd_rd_r=a53810e3-5158-411c-ba25-e15e5fb2c6b0&pd_rd_i=B0D1DMMX88&th=1">more</a> <a href="https://www.amazon.com/dp/B0FHZDHW2J/?coliid=IDFQDBDMXI67Z&colid=11YNCOGK65TFM&ref_=list_c_wl_lv_ov_lig_dp_it&th=1">pens</a> LOL.</p>
|
||||||
|
<!-- /wp:paragraph -->
|
||||||
|
|
||||||
|
<!-- wp:paragraph -->
|
||||||
|
<p><strong>Wants<br></strong></p>
|
||||||
|
<!-- /wp:paragraph -->
|
||||||
|
|
||||||
|
<!-- wp:paragraph -->
|
||||||
|
<p> There are lots of things I *want* but don’t *need.* I really *want* <a href="https://a.co/d/3mlP5cE">this 4x6 smartphone photo printer</a> for journalling. I REALLY want <a href="https://a.co/d/aO4Y7eT">this book of essays on The Orville</a>, because The Orville is my favorite thing to chew on these days. I would love to try the <a href="https://madrinas.com/products/vanilla-bean-chapaaccino">Palia coffee</a>, but it may be gone by the time I’m ready to buy it. I’m always wanting any kind of screen-used prop from the Doom Patrol set, or scripts; linglingcollectibles on eBay and <a href="https://yallywoodprops.com/collections/doom-patrol">Yallywood Props</a> seem to carry most of them. I love Things and I am trying to not love Things so much. </p>
|
||||||
|
<!-- /wp:paragraph -->
|
||||||
|
|
||||||
|
<!-- wp:paragraph -->
|
||||||
|
<p> I also want to do some custom pins for an Orville ita bag, but I can’t figure out who it should be for quite yet. I have an extra ita bag someone very dear to me got me for my birthday, and it’s just begging to be filled. With pins! ;) </p>
|
||||||
|
<!-- /wp:paragraph -->
|
||||||
|
|
||||||
|
<!-- wp:paragraph -->
|
||||||
|
<p> I’m always wanting new headscarves and headscarf accessories and fun big chunky earrings and such. I love maximalist fashion and rainbows and over the top jewelry and clothes that make you look like a grandma. </p>
|
||||||
|
<!-- /wp:paragraph -->
|
||||||
|
|
||||||
|
<!-- wp:paragraph -->
|
||||||
|
<p><strong>Huge Dreams<br></strong></p>
|
||||||
|
<!-- /wp:paragraph -->
|
||||||
|
|
||||||
|
<!-- wp:paragraph -->
|
||||||
|
<p> If, by any chance, a super rich person is reading this…. I’d love for you to buy me <a href="https://a.co/d/aq807V5">this server</a> — or even <a href="https://a.co/d/bTYY37f">this one!</a> ;) I’m a computer geek and this is my dream server. Okay it’d be great to get it brand new instead of refurbished but the specs are irresistible. Buying this would be about two months of my income. Please. </p>
|
||||||
|
<!-- /wp:paragraph -->
|
||||||
|
|
||||||
|
<!-- wp:paragraph -->
|
||||||
|
<p> Other super expensive things I want really horribly so— </p>
|
||||||
|
<!-- /wp:paragraph -->
|
||||||
|
|
||||||
|
<!-- wp:paragraph -->
|
||||||
|
<p> I want to get back into data hoarding and take it more seriously, so I’d love <a href="https://a.co/d/fxc1cVp">this Twenty Six Terabyte desktop drive</a>. Or honestly any of those desktop drives above 2TB. Multiple so I can make backups would also be epic. </p>
|
||||||
|
<!-- /wp:paragraph -->
|
||||||
|
|
||||||
|
</div>
|
||||||
307
css/index.css
Normal file
307
css/index.css
Normal file
|
|
@ -0,0 +1,307 @@
|
||||||
|
/* Defaults */
|
||||||
|
:root {
|
||||||
|
--font-family: -apple-system, system-ui, sans-serif;
|
||||||
|
--font-family-monospace: Consolas, Menlo, Monaco, Andale Mono WT, Andale Mono, Lucida Console, Lucida Sans Typewriter, DejaVu Sans Mono, Bitstream Vera Sans Mono, Liberation Mono, Nimbus Mono L, Courier New, Courier, monospace;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Theme colors */
|
||||||
|
:root {
|
||||||
|
--color-gray-20: #e0e0e0;
|
||||||
|
--color-gray-50: #C0C0C0;
|
||||||
|
--color-gray-90: #333;
|
||||||
|
|
||||||
|
--background-color:#cfffe8;
|
||||||
|
|
||||||
|
--text-color: var(--color-gray-90);
|
||||||
|
--text-color-link: #082840;
|
||||||
|
--text-color-link-active: #5f2b48;
|
||||||
|
--text-color-link-visited: #17050F;
|
||||||
|
|
||||||
|
--syntax-tab-size: 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (prefers-color-scheme: dark) {
|
||||||
|
:root {
|
||||||
|
--color-gray-20: #e0e0e0;
|
||||||
|
--color-gray-50: #C0C0C0;
|
||||||
|
--color-gray-90: #dad8d8;
|
||||||
|
|
||||||
|
/* --text-color is assigned to --color-gray-_ above */
|
||||||
|
--text-color-link: #1493fb;
|
||||||
|
--text-color-link-active: #6969f7;
|
||||||
|
--text-color-link-visited: #a6a6f8;
|
||||||
|
|
||||||
|
--background-color: #15202b;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Global stylesheet */
|
||||||
|
* {
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
@view-transition {
|
||||||
|
navigation: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
html,
|
||||||
|
body {
|
||||||
|
padding: 0;
|
||||||
|
margin: 0 auto;
|
||||||
|
font-family:Arial;
|
||||||
|
color: var(--text-color);
|
||||||
|
background-color: var(--background-color);
|
||||||
|
font-size:18px;
|
||||||
|
}
|
||||||
|
html {
|
||||||
|
overflow-y: scroll;
|
||||||
|
}
|
||||||
|
body {
|
||||||
|
max-width: 40em;
|
||||||
|
}
|
||||||
|
|
||||||
|
header img {
|
||||||
|
width: 100px;
|
||||||
|
height: 104px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.container {
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
/* https://www.a11yproject.com/posts/how-to-hide-content/ */
|
||||||
|
.visually-hidden:not(:focus):not(:active) {
|
||||||
|
clip: rect(0 0 0 0);
|
||||||
|
clip-path: inset(50%);
|
||||||
|
height: 1px;
|
||||||
|
overflow: hidden;
|
||||||
|
position: absolute;
|
||||||
|
white-space: nowrap;
|
||||||
|
width: 1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Fluid images via https://www.zachleat.com/web/fluid-images/ */
|
||||||
|
img{
|
||||||
|
max-width: 100%;
|
||||||
|
}
|
||||||
|
img[width][height] {
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
img[src$=".svg"] {
|
||||||
|
width: 100%;
|
||||||
|
height: auto;
|
||||||
|
max-width: none;
|
||||||
|
}
|
||||||
|
video,
|
||||||
|
iframe {
|
||||||
|
width: 100%;
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
iframe {
|
||||||
|
aspect-ratio: 16/9;
|
||||||
|
}
|
||||||
|
|
||||||
|
p:last-child {
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
p {
|
||||||
|
line-height: 1.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
li {
|
||||||
|
line-height: 1.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
a[href] {
|
||||||
|
color: var(--text-color-link);
|
||||||
|
}
|
||||||
|
a[href]:visited {
|
||||||
|
color: var(--text-color-link-visited);
|
||||||
|
}
|
||||||
|
a[href]:hover,
|
||||||
|
a[href]:active {
|
||||||
|
color: var(--text-color-link-active);
|
||||||
|
}
|
||||||
|
|
||||||
|
main,
|
||||||
|
footer {
|
||||||
|
padding: 1rem;
|
||||||
|
}
|
||||||
|
main :first-child {
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
header {
|
||||||
|
border-bottom: 1px dashed var(--color-gray-20);
|
||||||
|
align-content: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
#skip-link {
|
||||||
|
text-decoration: none;
|
||||||
|
background: var(--background-color);
|
||||||
|
color: var(--text-color);
|
||||||
|
padding: 0.5rem 1rem;
|
||||||
|
border: 1px solid var(--color-gray-90);
|
||||||
|
border-radius: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Prevent visually-hidden skip link fom pushing content around when focused */
|
||||||
|
#skip-link.visually-hidden:focus {
|
||||||
|
position: absolute;
|
||||||
|
top: 1rem;
|
||||||
|
left: 1rem;
|
||||||
|
/* Ensure it is positioned on top of everything else when it is shown */
|
||||||
|
z-index: 999;
|
||||||
|
}
|
||||||
|
|
||||||
|
.links-nextprev {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
gap: .5em 1em;
|
||||||
|
list-style: "";
|
||||||
|
border-top: 1px dashed var(--color-gray-20);
|
||||||
|
padding: 1em 0;
|
||||||
|
}
|
||||||
|
.links-nextprev > * {
|
||||||
|
flex-grow: 1;
|
||||||
|
}
|
||||||
|
.links-nextprev-next {
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
table {
|
||||||
|
margin: 1em 0;
|
||||||
|
}
|
||||||
|
table td,
|
||||||
|
table th {
|
||||||
|
padding-right: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
pre,
|
||||||
|
code {
|
||||||
|
font-family: var(--font-family-monospace);
|
||||||
|
}
|
||||||
|
pre:not([class*="language-"]) {
|
||||||
|
margin: .5em 0;
|
||||||
|
line-height: 1.375; /* 22px /16 */
|
||||||
|
-moz-tab-size: var(--syntax-tab-size);
|
||||||
|
-o-tab-size: var(--syntax-tab-size);
|
||||||
|
tab-size: var(--syntax-tab-size);
|
||||||
|
-webkit-hyphens: none;
|
||||||
|
-ms-hyphens: none;
|
||||||
|
hyphens: none;
|
||||||
|
direction: ltr;
|
||||||
|
text-align: left;
|
||||||
|
white-space: pre;
|
||||||
|
word-spacing: normal;
|
||||||
|
word-break: normal;
|
||||||
|
overflow-x: auto;
|
||||||
|
}
|
||||||
|
code {
|
||||||
|
word-break: break-all;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Header */
|
||||||
|
header {
|
||||||
|
display: flex;
|
||||||
|
gap: 1em;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
padding: 1em;
|
||||||
|
}
|
||||||
|
.home-link {
|
||||||
|
flex-grow: 1;
|
||||||
|
font-size: 1em; /* 16px /16 */
|
||||||
|
font-weight: 700;
|
||||||
|
}
|
||||||
|
.home-link:link:not(:hover) {
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Nav */
|
||||||
|
.nav {
|
||||||
|
display: flex;
|
||||||
|
gap: .5em 1em;
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
list-style: none;
|
||||||
|
}
|
||||||
|
.nav-item {
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
.nav-item a[href]:not(:hover) {
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
.nav a[href][aria-current="page"] {
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Posts list */
|
||||||
|
.postlist {
|
||||||
|
counter-reset: start-from var(--postlist-index);
|
||||||
|
list-style: none;
|
||||||
|
padding: 0;
|
||||||
|
|
||||||
|
}
|
||||||
|
.postlist-item {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
align-items: baseline;
|
||||||
|
counter-increment: start-from -1;
|
||||||
|
margin-bottom: 1em;
|
||||||
|
}
|
||||||
|
.postlist-item:before {
|
||||||
|
display: inline-block;
|
||||||
|
pointer-events: none;
|
||||||
|
content: "" counter(start-from, decimal-leading-zero) ". ";
|
||||||
|
line-height: 100%;
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
.postlist-date,
|
||||||
|
.postlist-item:before {
|
||||||
|
font-size: 0.8125em; /* 13px /16 */
|
||||||
|
color: var(--color-gray-90);
|
||||||
|
}
|
||||||
|
.postlist-date {
|
||||||
|
word-spacing: -0.5px;
|
||||||
|
}
|
||||||
|
.postlist-link {
|
||||||
|
font-size: 1.1875em; /* 19px /16 */
|
||||||
|
font-weight: 700;
|
||||||
|
flex-basis: calc(100% - 1.5rem);
|
||||||
|
padding-left: .25em;
|
||||||
|
padding-right: .5em;
|
||||||
|
text-underline-position: from-font;
|
||||||
|
text-underline-offset: 0;
|
||||||
|
text-decoration-thickness: 1px;
|
||||||
|
}
|
||||||
|
.postlist-item-active .postlist-link {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Tags */
|
||||||
|
.post-tag {
|
||||||
|
display: inline-flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
text-transform: capitalize;
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
.postlist-item > .post-tag {
|
||||||
|
align-self: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Tags list */
|
||||||
|
.post-metadata {
|
||||||
|
display: inline-flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
gap: .5em;
|
||||||
|
list-style: none;
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
.post-metadata time {
|
||||||
|
margin-right: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
18
css/message-box.css
Normal file
18
css/message-box.css
Normal file
|
|
@ -0,0 +1,18 @@
|
||||||
|
/* Message Box */
|
||||||
|
.message-box {
|
||||||
|
--color-message-box: #ffc;
|
||||||
|
|
||||||
|
display: block;
|
||||||
|
background-color: var(--color-message-box);
|
||||||
|
color: var(--color-gray-90);
|
||||||
|
padding: 1em 0.625em; /* 16px 10px /16 */
|
||||||
|
}
|
||||||
|
.message-box ol {
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (prefers-color-scheme: dark) {
|
||||||
|
.message-box {
|
||||||
|
--color-message-box: #082840;
|
||||||
|
}
|
||||||
|
}
|
||||||
45
css/prism-diff.css
Normal file
45
css/prism-diff.css
Normal file
|
|
@ -0,0 +1,45 @@
|
||||||
|
/*
|
||||||
|
* New diff- syntax
|
||||||
|
*/
|
||||||
|
|
||||||
|
pre[class*="language-diff-"] {
|
||||||
|
--eleventy-code-padding: 1.25em;
|
||||||
|
padding-left: var(--eleventy-code-padding);
|
||||||
|
padding-right: var(--eleventy-code-padding);
|
||||||
|
}
|
||||||
|
.token.deleted {
|
||||||
|
background-color: hsl(0, 51%, 37%);
|
||||||
|
color: inherit;
|
||||||
|
}
|
||||||
|
.token.inserted {
|
||||||
|
background-color: hsl(126, 31%, 39%);
|
||||||
|
color: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Make the + and - characters unselectable for copy/paste */
|
||||||
|
.token.prefix.unchanged,
|
||||||
|
.token.prefix.inserted,
|
||||||
|
.token.prefix.deleted {
|
||||||
|
-webkit-user-select: none;
|
||||||
|
user-select: none;
|
||||||
|
display: inline-flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
padding-top: 2px;
|
||||||
|
padding-bottom: 2px;
|
||||||
|
}
|
||||||
|
.token.prefix.inserted,
|
||||||
|
.token.prefix.deleted {
|
||||||
|
width: var(--eleventy-code-padding);
|
||||||
|
background-color: rgba(0,0,0,.2);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Optional: full-width background color */
|
||||||
|
.token.inserted:not(.prefix),
|
||||||
|
.token.deleted:not(.prefix) {
|
||||||
|
display: block;
|
||||||
|
margin-left: calc(-1 * var(--eleventy-code-padding));
|
||||||
|
margin-right: calc(-1 * var(--eleventy-code-padding));
|
||||||
|
text-decoration: none; /* override del, ins, mark defaults */
|
||||||
|
color: inherit; /* override del, ins, mark defaults */
|
||||||
|
}
|
||||||
1
deploy-to-neocities.json
Normal file
1
deploy-to-neocities.json
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
{"siteName":"agneslove"}
|
||||||
200
indexbundle.css
Normal file
200
indexbundle.css
Normal file
|
|
@ -0,0 +1,200 @@
|
||||||
|
|
||||||
|
body {
|
||||||
|
background: #e0589c;
|
||||||
|
background: radial-gradient(circle, rgba(224, 88, 156, 1) 0%, rgba(179, 255, 208, 1) 100%); font-family: Arial, sans-serif;
|
||||||
|
font-size: 1.3em;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
.footyr {
|
||||||
|
border: 1px hotpink solid;
|
||||||
|
height: 180px;
|
||||||
|
overflow: scroll;
|
||||||
|
padding:5px;
|
||||||
|
text-align: center;
|
||||||
|
align-content: center;
|
||||||
|
}
|
||||||
|
.font-size1 {
|
||||||
|
|
||||||
|
font-size: 19px;
|
||||||
|
}
|
||||||
|
header,
|
||||||
|
nav,
|
||||||
|
section,
|
||||||
|
footer {
|
||||||
|
width: 90%;
|
||||||
|
max-width: 1000px;
|
||||||
|
margin: 10px auto;
|
||||||
|
background: #F0D8E6;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ughh {
|
||||||
|
height: 100px;
|
||||||
|
overflow: scroll;
|
||||||
|
margin: 0 auto;
|
||||||
|
border: 1px solid hotpink;
|
||||||
|
}
|
||||||
|
header {
|
||||||
|
border: 8px hotpink inset;
|
||||||
|
background: #F0D8E6;
|
||||||
|
padding: 10px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
header img {
|
||||||
|
width:35%;
|
||||||
|
height:35%;
|
||||||
|
}
|
||||||
|
|
||||||
|
section .sitemap {
|
||||||
|
flex: 1 2 250px;
|
||||||
|
border: 1px solid hotpink;
|
||||||
|
overflow: scroll;
|
||||||
|
max-height: 55%;
|
||||||
|
width:250px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sillyheader {
|
||||||
|
margin-left: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
nav {
|
||||||
|
padding: 0.5rem;
|
||||||
|
background: #F0D8E6;
|
||||||
|
border: 8px hotpink inset;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main {
|
||||||
|
display: flex;
|
||||||
|
gap: 10px;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: flex-start;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
width: 90%;
|
||||||
|
margin: 0 auto;
|
||||||
|
background: #F0D8E6;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
section .main-sitemap {
|
||||||
|
justify-content: center;
|
||||||
|
align-items: flex-start;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
width: 90%;
|
||||||
|
max-width: 1500px;
|
||||||
|
margin: 0 auto;
|
||||||
|
background: #F0D8E6;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.main-blog {
|
||||||
|
width: 60%;
|
||||||
|
border:8px inset hotpink;
|
||||||
|
padding: 1%;
|
||||||
|
|
||||||
|
max-width: 1500px;
|
||||||
|
margin: 0 auto;
|
||||||
|
background: #F0D8E6;
|
||||||
|
line-height:160%;
|
||||||
|
}
|
||||||
|
.posts,
|
||||||
|
.intro,
|
||||||
|
.updates {
|
||||||
|
border: 1px solid hotpink;
|
||||||
|
box-sizing: border-box;
|
||||||
|
background: rgba(255,255,255,0.2;
|
||||||
|
overflow: scroll;
|
||||||
|
}
|
||||||
|
|
||||||
|
.posts {
|
||||||
|
flex: 2 1 500px;
|
||||||
|
height: 700px;
|
||||||
|
padding-left: 4px;
|
||||||
|
padding-right: 4px;
|
||||||
|
overflow: scroll;
|
||||||
|
}
|
||||||
|
|
||||||
|
.intro {
|
||||||
|
flex: 1 1 300px;
|
||||||
|
min-height: 700px;
|
||||||
|
width: 350px;
|
||||||
|
}
|
||||||
|
.updates {
|
||||||
|
flex: 2 1 300px;
|
||||||
|
overflow:scroll;
|
||||||
|
height:700px;
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.status {
|
||||||
|
font-size: 15px;
|
||||||
|
border: 1px solid hotpink;
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ugh {
|
||||||
|
width: 100%;
|
||||||
|
max-width: 200px;
|
||||||
|
height: 100px;
|
||||||
|
overflow-y: auto;
|
||||||
|
border: 1px solid hotpink;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main img {
|
||||||
|
max-width: 100%;
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
section {
|
||||||
|
padding: 1%;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
footer {
|
||||||
|
padding: 1%;
|
||||||
|
border: 8px hotpink inset;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
color: #300023;
|
||||||
|
text-decoration: underline;
|
||||||
|
text-decoration-style: dashed;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* mobile shit */
|
||||||
|
@media (max-width: 768px) {
|
||||||
|
|
||||||
|
body {
|
||||||
|
font-size: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main {
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.posts,
|
||||||
|
.intro,
|
||||||
|
.updates {
|
||||||
|
width: 100%;
|
||||||
|
min-height: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sillyheader {
|
||||||
|
position: static;
|
||||||
|
float: none;
|
||||||
|
margin: 0 auto;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
header,
|
||||||
|
nav,
|
||||||
|
section,
|
||||||
|
footer {
|
||||||
|
width: 95%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
3
netlify.toml
Normal file
3
netlify.toml
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
[build]
|
||||||
|
publish = "_site"
|
||||||
|
command = "npm run build"
|
||||||
4824
package-lock.json
generated
Normal file
4824
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load diff
56
package.json
Normal file
56
package.json
Normal file
|
|
@ -0,0 +1,56 @@
|
||||||
|
{
|
||||||
|
"name": "eleventy-base-blog",
|
||||||
|
"version": "9.0.0",
|
||||||
|
"description": "A starter repository for a blog web site using the Eleventy site generator.",
|
||||||
|
"type": "module",
|
||||||
|
"scripts": {
|
||||||
|
"build": "npx @11ty/eleventy",
|
||||||
|
"build-nocolor": "cross-env NODE_DISABLE_COLORS=1 npx @11ty/eleventy",
|
||||||
|
"build-ghpages": "npx @11ty/eleventy --pathprefix=/eleventy-base-blog/",
|
||||||
|
"start": "npx @11ty/eleventy --serve --quiet",
|
||||||
|
"start-ghpages": "npx @11ty/eleventy --pathprefix=/eleventy-base-blog/ --serve --quiet",
|
||||||
|
"debug": "cross-env DEBUG=Eleventy* npx @11ty/eleventy",
|
||||||
|
"debugstart": "cross-env DEBUG=Eleventy* npx @11ty/eleventy --serve --quiet",
|
||||||
|
"benchmark": "cross-env DEBUG=Eleventy:Benchmark* npx @11ty/eleventy"
|
||||||
|
},
|
||||||
|
"repository": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "git://github.com/11ty/eleventy-base-blog.git"
|
||||||
|
},
|
||||||
|
"author": {
|
||||||
|
"name": "Zach Leatherman",
|
||||||
|
"email": "zachleatherman@gmail.com",
|
||||||
|
"url": "https://zachleat.com/"
|
||||||
|
},
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=18"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"type": "opencollective",
|
||||||
|
"url": "https://opencollective.com/11ty"
|
||||||
|
},
|
||||||
|
"bugs": {
|
||||||
|
"url": "https://github.com/11ty/eleventy-base-blog/issues"
|
||||||
|
},
|
||||||
|
"homepage": "https://github.com/11ty/eleventy-base-blog#readme",
|
||||||
|
"devDependencies": {
|
||||||
|
"@11ty/eleventy": "^3.1.6",
|
||||||
|
"@11ty/eleventy-img": "^6.0.4",
|
||||||
|
"@11ty/eleventy-navigation": "^1.0.5",
|
||||||
|
"@11ty/eleventy-plugin-rss": "^3.0.0",
|
||||||
|
"@11ty/eleventy-plugin-syntaxhighlight": "^5.0.2",
|
||||||
|
"@rknightuk/eleventy-plugin-post-graph": "^1.0.8",
|
||||||
|
"cross-env": "^10.1.0",
|
||||||
|
"luxon": "^3.7.2",
|
||||||
|
"prismjs": "^1.30.0",
|
||||||
|
"zod": "^4.3.6",
|
||||||
|
"zod-validation-error": "^5.0.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@quasibit/eleventy-plugin-sitemap": "^2.2.0",
|
||||||
|
"@zachleat/heading-anchors": "^1.0.5",
|
||||||
|
"async-neocities": "^4.1.2",
|
||||||
|
"eleventy-plugin-post-stats": "^0.2.13"
|
||||||
|
}
|
||||||
|
}
|
||||||
1
post.js
Normal file
1
post.js
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
const numberOfLatestPostsToShow = 3;
|
||||||
186
publc
Normal file
186
publc
Normal file
|
|
@ -0,0 +1,186 @@
|
||||||
|
|
||||||
|
html {
|
||||||
|
font-size: 19px;
|
||||||
|
}
|
||||||
|
body {
|
||||||
|
background: #e0589c;
|
||||||
|
background: radial-gradient(circle, rgba(224, 88, 156, 1) 0%, rgba(179, 255, 208, 1) 100%); font-family: Arial, sans-serif;
|
||||||
|
font-size: 19px;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
header,
|
||||||
|
nav,
|
||||||
|
section,
|
||||||
|
footer {
|
||||||
|
width: 90%;
|
||||||
|
max-width: 1000px;
|
||||||
|
margin: 10px auto;
|
||||||
|
background: #F0D8E6;
|
||||||
|
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
header {
|
||||||
|
border: 8px hotpink inset;
|
||||||
|
background: #F0D8E6;
|
||||||
|
padding: 10px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
header img {
|
||||||
|
width:35%;
|
||||||
|
height:35%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sitemap {
|
||||||
|
border: 1px solid hotpink;
|
||||||
|
overflow: scroll;
|
||||||
|
max-height: 55%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sillyheader {
|
||||||
|
margin-left: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
nav {
|
||||||
|
padding: 0.5rem;
|
||||||
|
background: #F0D8E6;
|
||||||
|
border: 8px hotpink inset;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main {
|
||||||
|
display: flex;
|
||||||
|
gap: 10px;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: flex-start;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
width: 90%;
|
||||||
|
max-width: 1500px;
|
||||||
|
margin: 0 auto;
|
||||||
|
background: #F0D8E6;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
section .main-sitemap {
|
||||||
|
justify-content: center;
|
||||||
|
align-items: flex-start;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
width: 90%;
|
||||||
|
max-width: 1500px;
|
||||||
|
margin: 0 auto;
|
||||||
|
background: #F0D8E6;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.main-blog {
|
||||||
|
width: 60%;
|
||||||
|
border:8px inset hotpink;
|
||||||
|
padding: 1%;
|
||||||
|
|
||||||
|
max-width: 1500px;
|
||||||
|
margin: 0 auto;
|
||||||
|
background: #F0D8E6;
|
||||||
|
line-height:160%;
|
||||||
|
}
|
||||||
|
.posts,
|
||||||
|
.intro,
|
||||||
|
.updates {
|
||||||
|
border: 1px solid hotpink;
|
||||||
|
box-sizing: border-box;
|
||||||
|
background: rgba(255,255,255,0.2);
|
||||||
|
overflow: scroll;
|
||||||
|
}
|
||||||
|
|
||||||
|
.posts {
|
||||||
|
flex: 2 1 500px;
|
||||||
|
height: 700px;
|
||||||
|
padding-left: 4px;
|
||||||
|
padding-right: 4px;
|
||||||
|
overflow: scroll;
|
||||||
|
}
|
||||||
|
|
||||||
|
.intro {
|
||||||
|
flex: 1 1 300px;
|
||||||
|
min-height: 700px;
|
||||||
|
}
|
||||||
|
section .updates {
|
||||||
|
width:300px;
|
||||||
|
overflow:scroll;
|
||||||
|
height:700px;
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.status {
|
||||||
|
font-size: 15px;
|
||||||
|
border: 1px solid hotpink;
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ugh {
|
||||||
|
width: 100%;
|
||||||
|
max-width: 200px;
|
||||||
|
height: 100px;
|
||||||
|
overflow-y: auto;
|
||||||
|
border: 1px solid hotpink;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main img {
|
||||||
|
max-width: 100%;
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
section {
|
||||||
|
border: 8px hotpink inset;
|
||||||
|
padding: 1%;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
footer {
|
||||||
|
padding: 1%;
|
||||||
|
border: 8px hotpink inset;
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
color: #300023;
|
||||||
|
text-decoration: underline;
|
||||||
|
text-decoration-style: dashed;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* mobile shit */
|
||||||
|
@media (max-width: 768px) {
|
||||||
|
|
||||||
|
body {
|
||||||
|
font-size: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main {
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.posts,
|
||||||
|
.intro,
|
||||||
|
.updates {
|
||||||
|
width: 100%;
|
||||||
|
min-height: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sillyheader {
|
||||||
|
position: static;
|
||||||
|
float: none;
|
||||||
|
margin: 0 auto;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
header,
|
||||||
|
nav,
|
||||||
|
section,
|
||||||
|
footer {
|
||||||
|
width: 95%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
0
public/assets/css/main.css
Normal file
0
public/assets/css/main.css
Normal file
186
public/bigger.css
Normal file
186
public/bigger.css
Normal file
|
|
@ -0,0 +1,186 @@
|
||||||
|
|
||||||
|
html {
|
||||||
|
font-size: 19px;
|
||||||
|
}
|
||||||
|
body {
|
||||||
|
background: #e0589c;
|
||||||
|
background: radial-gradient(circle, rgba(224, 88, 156, 1) 0%, rgba(179, 255, 208, 1) 100%); font-family: Arial, sans-serif;
|
||||||
|
font-size: 19px;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
header,
|
||||||
|
nav,
|
||||||
|
section,
|
||||||
|
footer {
|
||||||
|
width: 90%;
|
||||||
|
max-width: 1000px;
|
||||||
|
margin: 10px auto;
|
||||||
|
background: #F0D8E6;
|
||||||
|
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
header {
|
||||||
|
border: 8px hotpink inset;
|
||||||
|
background: #F0D8E6;
|
||||||
|
padding: 10px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
header img {
|
||||||
|
width:35%;
|
||||||
|
height:35%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sitemap {
|
||||||
|
border: 1px solid hotpink;
|
||||||
|
overflow: scroll;
|
||||||
|
max-height: 55%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sillyheader {
|
||||||
|
margin-left: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
nav {
|
||||||
|
padding: 0.5rem;
|
||||||
|
background: #F0D8E6;
|
||||||
|
border: 8px hotpink inset;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main {
|
||||||
|
display: flex;
|
||||||
|
gap: 10px;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: flex-start;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
width: 90%;
|
||||||
|
max-width: 1500px;
|
||||||
|
margin: 0 auto;
|
||||||
|
background: #F0D8E6;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
section .main-sitemap {
|
||||||
|
justify-content: center;
|
||||||
|
align-items: flex-start;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
width: 90%;
|
||||||
|
max-width: 1500px;
|
||||||
|
margin: 0 auto;
|
||||||
|
background: #F0D8E6;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.main-blog {
|
||||||
|
width: 60%;
|
||||||
|
border:8px inset hotpink;
|
||||||
|
padding: 1%;
|
||||||
|
|
||||||
|
max-width: 1500px;
|
||||||
|
margin: 0 auto;
|
||||||
|
background: #F0D8E6;
|
||||||
|
line-height:160%;
|
||||||
|
}
|
||||||
|
.posts,
|
||||||
|
.intro,
|
||||||
|
.updates {
|
||||||
|
border: 1px solid hotpink;
|
||||||
|
box-sizing: border-box;
|
||||||
|
background: rgba(255,255,255,0.2);
|
||||||
|
overflow: scroll;
|
||||||
|
}
|
||||||
|
|
||||||
|
.posts {
|
||||||
|
flex: 2 1 500px;
|
||||||
|
height: 700px;
|
||||||
|
padding-left: 4px;
|
||||||
|
padding-right: 4px;
|
||||||
|
overflow: scroll;
|
||||||
|
}
|
||||||
|
|
||||||
|
.intro {
|
||||||
|
flex: 1 1 300px;
|
||||||
|
min-height: 700px;
|
||||||
|
}
|
||||||
|
section .updates {
|
||||||
|
width:300px;
|
||||||
|
overflow:scroll;
|
||||||
|
height:700px;
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.status {
|
||||||
|
font-size: 15px;
|
||||||
|
border: 1px solid hotpink;
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ugh {
|
||||||
|
width: 100%;
|
||||||
|
max-width: 200px;
|
||||||
|
height: 100px;
|
||||||
|
overflow-y: auto;
|
||||||
|
border: 1px solid hotpink;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main img {
|
||||||
|
max-width: 100%;
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
section {
|
||||||
|
border: 8px hotpink inset;
|
||||||
|
padding: 1%;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
footer {
|
||||||
|
padding: 1%;
|
||||||
|
border: 8px hotpink inset;
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
color: #300023;
|
||||||
|
text-decoration: underline;
|
||||||
|
text-decoration-style: dashed;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* mobile shit */
|
||||||
|
@media (max-width: 768px) {
|
||||||
|
|
||||||
|
body {
|
||||||
|
font-size: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main {
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.posts,
|
||||||
|
.intro,
|
||||||
|
.updates {
|
||||||
|
width: 100%;
|
||||||
|
min-height: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sillyheader {
|
||||||
|
position: static;
|
||||||
|
float: none;
|
||||||
|
margin: 0 auto;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
header,
|
||||||
|
nav,
|
||||||
|
section,
|
||||||
|
footer {
|
||||||
|
width: 95%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
307
public/biggerblog.css
Normal file
307
public/biggerblog.css
Normal file
|
|
@ -0,0 +1,307 @@
|
||||||
|
/* Defaults */
|
||||||
|
:root {
|
||||||
|
--font-family: -apple-system, system-ui, sans-serif;
|
||||||
|
--font-family-monospace: Consolas, Menlo, Monaco, Andale Mono WT, Andale Mono, Lucida Console, Lucida Sans Typewriter, DejaVu Sans Mono, Bitstream Vera Sans Mono, Liberation Mono, Nimbus Mono L, Courier New, Courier, monospace;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Theme colors */
|
||||||
|
:root {
|
||||||
|
--color-gray-20: #e0e0e0;
|
||||||
|
--color-gray-50: #C0C0C0;
|
||||||
|
--color-gray-90: #333;
|
||||||
|
|
||||||
|
--background-color:#cfffe8;
|
||||||
|
|
||||||
|
--text-color: var(--color-gray-90);
|
||||||
|
--text-color-link: #082840;
|
||||||
|
--text-color-link-active: #5f2b48;
|
||||||
|
--text-color-link-visited: #17050F;
|
||||||
|
|
||||||
|
--syntax-tab-size: 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (prefers-color-scheme: dark) {
|
||||||
|
:root {
|
||||||
|
--color-gray-20: #e0e0e0;
|
||||||
|
--color-gray-50: #C0C0C0;
|
||||||
|
--color-gray-90: #dad8d8;
|
||||||
|
|
||||||
|
/* --text-color is assigned to --color-gray-_ above */
|
||||||
|
--text-color-link: #1493fb;
|
||||||
|
--text-color-link-active: #6969f7;
|
||||||
|
--text-color-link-visited: #a6a6f8;
|
||||||
|
|
||||||
|
--background-color: #15202b;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Global stylesheet */
|
||||||
|
* {
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
@view-transition {
|
||||||
|
navigation: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
html,
|
||||||
|
body {
|
||||||
|
padding: 0;
|
||||||
|
margin: 0 auto;
|
||||||
|
font-family:Arial;
|
||||||
|
color: var(--text-color);
|
||||||
|
background-color: var(--background-color);
|
||||||
|
font-size:22px;
|
||||||
|
}
|
||||||
|
html {
|
||||||
|
overflow-y: scroll;
|
||||||
|
}
|
||||||
|
body {
|
||||||
|
max-width: 40em;
|
||||||
|
}
|
||||||
|
|
||||||
|
header img {
|
||||||
|
width: 100px;
|
||||||
|
height: 104px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.container {
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
/* https://www.a11yproject.com/posts/how-to-hide-content/ */
|
||||||
|
.visually-hidden:not(:focus):not(:active) {
|
||||||
|
clip: rect(0 0 0 0);
|
||||||
|
clip-path: inset(50%);
|
||||||
|
height: 1px;
|
||||||
|
overflow: hidden;
|
||||||
|
position: absolute;
|
||||||
|
white-space: nowrap;
|
||||||
|
width: 1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Fluid images via https://www.zachleat.com/web/fluid-images/ */
|
||||||
|
img{
|
||||||
|
max-width: 100%;
|
||||||
|
}
|
||||||
|
img[width][height] {
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
img[src$=".svg"] {
|
||||||
|
width: 100%;
|
||||||
|
height: auto;
|
||||||
|
max-width: none;
|
||||||
|
}
|
||||||
|
video,
|
||||||
|
iframe {
|
||||||
|
width: 100%;
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
iframe {
|
||||||
|
aspect-ratio: 16/9;
|
||||||
|
}
|
||||||
|
|
||||||
|
p:last-child {
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
p {
|
||||||
|
line-height: 1.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
li {
|
||||||
|
line-height: 1.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
a[href] {
|
||||||
|
color: var(--text-color-link);
|
||||||
|
}
|
||||||
|
a[href]:visited {
|
||||||
|
color: var(--text-color-link-visited);
|
||||||
|
}
|
||||||
|
a[href]:hover,
|
||||||
|
a[href]:active {
|
||||||
|
color: var(--text-color-link-active);
|
||||||
|
}
|
||||||
|
|
||||||
|
main,
|
||||||
|
footer {
|
||||||
|
padding: 1rem;
|
||||||
|
}
|
||||||
|
main :first-child {
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
header {
|
||||||
|
border-bottom: 1px dashed var(--color-gray-20);
|
||||||
|
align-content: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
#skip-link {
|
||||||
|
text-decoration: none;
|
||||||
|
background: var(--background-color);
|
||||||
|
color: var(--text-color);
|
||||||
|
padding: 0.5rem 1rem;
|
||||||
|
border: 1px solid var(--color-gray-90);
|
||||||
|
border-radius: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Prevent visually-hidden skip link fom pushing content around when focused */
|
||||||
|
#skip-link.visually-hidden:focus {
|
||||||
|
position: absolute;
|
||||||
|
top: 1rem;
|
||||||
|
left: 1rem;
|
||||||
|
/* Ensure it is positioned on top of everything else when it is shown */
|
||||||
|
z-index: 999;
|
||||||
|
}
|
||||||
|
|
||||||
|
.links-nextprev {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
gap: .5em 1em;
|
||||||
|
list-style: "";
|
||||||
|
border-top: 1px dashed var(--color-gray-20);
|
||||||
|
padding: 1em 0;
|
||||||
|
}
|
||||||
|
.links-nextprev > * {
|
||||||
|
flex-grow: 1;
|
||||||
|
}
|
||||||
|
.links-nextprev-next {
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
table {
|
||||||
|
margin: 1em 0;
|
||||||
|
}
|
||||||
|
table td,
|
||||||
|
table th {
|
||||||
|
padding-right: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
pre,
|
||||||
|
code {
|
||||||
|
font-family: var(--font-family-monospace);
|
||||||
|
}
|
||||||
|
pre:not([class*="language-"]) {
|
||||||
|
margin: .5em 0;
|
||||||
|
line-height: 1.375; /* 22px /16 */
|
||||||
|
-moz-tab-size: var(--syntax-tab-size);
|
||||||
|
-o-tab-size: var(--syntax-tab-size);
|
||||||
|
tab-size: var(--syntax-tab-size);
|
||||||
|
-webkit-hyphens: none;
|
||||||
|
-ms-hyphens: none;
|
||||||
|
hyphens: none;
|
||||||
|
direction: ltr;
|
||||||
|
text-align: left;
|
||||||
|
white-space: pre;
|
||||||
|
word-spacing: normal;
|
||||||
|
word-break: normal;
|
||||||
|
overflow-x: auto;
|
||||||
|
}
|
||||||
|
code {
|
||||||
|
word-break: break-all;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Header */
|
||||||
|
header {
|
||||||
|
display: flex;
|
||||||
|
gap: 1em;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
padding: 1em;
|
||||||
|
}
|
||||||
|
.home-link {
|
||||||
|
flex-grow: 1;
|
||||||
|
font-size: 1em; /* 16px /16 */
|
||||||
|
font-weight: 700;
|
||||||
|
}
|
||||||
|
.home-link:link:not(:hover) {
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Nav */
|
||||||
|
.nav {
|
||||||
|
display: flex;
|
||||||
|
gap: .5em 1em;
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
list-style: none;
|
||||||
|
}
|
||||||
|
.nav-item {
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
.nav-item a[href]:not(:hover) {
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
.nav a[href][aria-current="page"] {
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Posts list */
|
||||||
|
.postlist {
|
||||||
|
counter-reset: start-from var(--postlist-index);
|
||||||
|
list-style: none;
|
||||||
|
padding: 0;
|
||||||
|
|
||||||
|
}
|
||||||
|
.postlist-item {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
align-items: baseline;
|
||||||
|
counter-increment: start-from -1;
|
||||||
|
margin-bottom: 1em;
|
||||||
|
}
|
||||||
|
.postlist-item:before {
|
||||||
|
display: inline-block;
|
||||||
|
pointer-events: none;
|
||||||
|
content: "" counter(start-from, decimal-leading-zero) ". ";
|
||||||
|
line-height: 100%;
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
.postlist-date,
|
||||||
|
.postlist-item:before {
|
||||||
|
font-size: 0.8125em; /* 13px /16 */
|
||||||
|
color: var(--color-gray-90);
|
||||||
|
}
|
||||||
|
.postlist-date {
|
||||||
|
word-spacing: -0.5px;
|
||||||
|
}
|
||||||
|
.postlist-link {
|
||||||
|
font-size: 1.1875em; /* 19px /16 */
|
||||||
|
font-weight: 700;
|
||||||
|
flex-basis: calc(100% - 1.5rem);
|
||||||
|
padding-left: .25em;
|
||||||
|
padding-right: .5em;
|
||||||
|
text-underline-position: from-font;
|
||||||
|
text-underline-offset: 0;
|
||||||
|
text-decoration-thickness: 1px;
|
||||||
|
}
|
||||||
|
.postlist-item-active .postlist-link {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Tags */
|
||||||
|
.post-tag {
|
||||||
|
display: inline-flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
text-transform: capitalize;
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
.postlist-item > .post-tag {
|
||||||
|
align-self: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Tags list */
|
||||||
|
.post-metadata {
|
||||||
|
display: inline-flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
gap: .5em;
|
||||||
|
list-style: none;
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
.post-metadata time {
|
||||||
|
margin-right: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
313
public/blog.css
Normal file
313
public/blog.css
Normal file
|
|
@ -0,0 +1,313 @@
|
||||||
|
/* Defaults */
|
||||||
|
:root {
|
||||||
|
--font-family: -apple-system, system-ui, sans-serif;
|
||||||
|
--font-family-monospace: Consolas, Menlo, Monaco, Andale Mono WT, Andale Mono, Lucida Console, Lucida Sans Typewriter, DejaVu Sans Mono, Bitstream Vera Sans Mono, Liberation Mono, Nimbus Mono L, Courier New, Courier, monospace;
|
||||||
|
}
|
||||||
|
#HCB_comment_box .hcb-icon {
|
||||||
|
width:10px; /* Adjust to match surrounding text */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Theme colors */
|
||||||
|
:root {
|
||||||
|
--color-gray-20: #e0e0e0;
|
||||||
|
--color-gray-50: #C0C0C0;
|
||||||
|
--color-gray-90: #333;
|
||||||
|
|
||||||
|
--background-color:#cfffe8;
|
||||||
|
|
||||||
|
--text-color: var(--color-gray-90);
|
||||||
|
--text-color-link: #082840;
|
||||||
|
--text-color-link-active: #5f2b48;
|
||||||
|
--text-color-link-visited: #17050F;
|
||||||
|
|
||||||
|
--syntax-tab-size: 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (prefers-color-scheme: dark) {
|
||||||
|
:root {
|
||||||
|
--color-gray-20: #e0e0e0;
|
||||||
|
--color-gray-50: #C0C0C0;
|
||||||
|
--color-gray-90: #dad8d8;
|
||||||
|
|
||||||
|
/* --text-color is assigned to --color-gray-_ above */
|
||||||
|
--text-color-link: #1493fb;
|
||||||
|
--text-color-link-active: #6969f7;
|
||||||
|
--text-color-link-visited: #a6a6f8;
|
||||||
|
|
||||||
|
--background-color: #15202b;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Global stylesheet */
|
||||||
|
* {
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
@view-transition {
|
||||||
|
navigation: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
html,
|
||||||
|
body {
|
||||||
|
padding: 0;
|
||||||
|
margin: 0 auto;
|
||||||
|
font-family:Arial;
|
||||||
|
color: var(--text-color);
|
||||||
|
background-color: var(--background-color);
|
||||||
|
font-size:18px;
|
||||||
|
}
|
||||||
|
.theme {
|
||||||
|
font-size:2.0rem;
|
||||||
|
}
|
||||||
|
html {
|
||||||
|
overflow-y: scroll;
|
||||||
|
}
|
||||||
|
body {
|
||||||
|
max-width: 40em;
|
||||||
|
}
|
||||||
|
|
||||||
|
header img {
|
||||||
|
width: 100px;
|
||||||
|
height: 104px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.container {
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
/* https://www.a11yproject.com/posts/how-to-hide-content/ */
|
||||||
|
.visually-hidden:not(:focus):not(:active) {
|
||||||
|
clip: rect(0 0 0 0);
|
||||||
|
clip-path: inset(50%);
|
||||||
|
height: 1px;
|
||||||
|
overflow: hidden;
|
||||||
|
position: absolute;
|
||||||
|
white-space: nowrap;
|
||||||
|
width: 1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Fluid images via https://www.zachleat.com/web/fluid-images/ */
|
||||||
|
img{
|
||||||
|
max-width: 100%;
|
||||||
|
}
|
||||||
|
img[width][height] {
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
img[src$=".svg"] {
|
||||||
|
width: 100%;
|
||||||
|
height: auto;
|
||||||
|
max-width: none;
|
||||||
|
}
|
||||||
|
video,
|
||||||
|
iframe {
|
||||||
|
width: 100%;
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
iframe {
|
||||||
|
aspect-ratio: 16/9;
|
||||||
|
}
|
||||||
|
|
||||||
|
p:last-child {
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
p {
|
||||||
|
line-height: 1.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
li {
|
||||||
|
line-height: 1.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
a[href] {
|
||||||
|
color: var(--text-color-link);
|
||||||
|
}
|
||||||
|
a[href]:visited {
|
||||||
|
color: var(--text-color-link-visited);
|
||||||
|
}
|
||||||
|
a[href]:hover,
|
||||||
|
a[href]:active {
|
||||||
|
color: var(--text-color-link-active);
|
||||||
|
}
|
||||||
|
|
||||||
|
main,
|
||||||
|
footer {
|
||||||
|
padding: 1rem;
|
||||||
|
}
|
||||||
|
main :first-child {
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
header {
|
||||||
|
border-bottom: 1px dashed var(--color-gray-20);
|
||||||
|
align-content: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
#skip-link {
|
||||||
|
text-decoration: none;
|
||||||
|
background: var(--background-color);
|
||||||
|
color: var(--text-color);
|
||||||
|
padding: 0.5rem 1rem;
|
||||||
|
border: 1px solid var(--color-gray-90);
|
||||||
|
border-radius: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Prevent visually-hidden skip link fom pushing content around when focused */
|
||||||
|
#skip-link.visually-hidden:focus {
|
||||||
|
position: absolute;
|
||||||
|
top: 1rem;
|
||||||
|
left: 1rem;
|
||||||
|
/* Ensure it is positioned on top of everything else when it is shown */
|
||||||
|
z-index: 999;
|
||||||
|
}
|
||||||
|
|
||||||
|
.links-nextprev {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
gap: .5em 1em;
|
||||||
|
list-style: "";
|
||||||
|
border-top: 1px dashed var(--color-gray-20);
|
||||||
|
padding: 1em 0;
|
||||||
|
}
|
||||||
|
.links-nextprev > * {
|
||||||
|
flex-grow: 1;
|
||||||
|
}
|
||||||
|
.links-nextprev-next {
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
table {
|
||||||
|
margin: 1em 0;
|
||||||
|
}
|
||||||
|
table td,
|
||||||
|
table th {
|
||||||
|
padding-right: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
pre,
|
||||||
|
code {
|
||||||
|
font-family: var(--font-family-monospace);
|
||||||
|
}
|
||||||
|
pre:not([class*="language-"]) {
|
||||||
|
margin: .5em 0;
|
||||||
|
line-height: 1.375; /* 22px /16 */
|
||||||
|
-moz-tab-size: var(--syntax-tab-size);
|
||||||
|
-o-tab-size: var(--syntax-tab-size);
|
||||||
|
tab-size: var(--syntax-tab-size);
|
||||||
|
-webkit-hyphens: none;
|
||||||
|
-ms-hyphens: none;
|
||||||
|
hyphens: none;
|
||||||
|
direction: ltr;
|
||||||
|
text-align: left;
|
||||||
|
white-space: pre;
|
||||||
|
word-spacing: normal;
|
||||||
|
word-break: normal;
|
||||||
|
overflow-x: auto;
|
||||||
|
}
|
||||||
|
code {
|
||||||
|
word-break: break-all;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Header */
|
||||||
|
header {
|
||||||
|
display: flex;
|
||||||
|
gap: 1em;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
padding: 1em;
|
||||||
|
}
|
||||||
|
.home-link {
|
||||||
|
flex-grow: 1;
|
||||||
|
font-size: 1em; /* 16px /16 */
|
||||||
|
font-weight: 700;
|
||||||
|
}
|
||||||
|
.home-link:link:not(:hover) {
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Nav */
|
||||||
|
.nav {
|
||||||
|
display: flex;
|
||||||
|
gap: .5em 1em;
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
list-style: none;
|
||||||
|
}
|
||||||
|
.nav-item {
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
.nav-item a[href]:not(:hover) {
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
.nav a[href][aria-current="page"] {
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Posts list */
|
||||||
|
.postlist {
|
||||||
|
counter-reset: start-from var(--postlist-index);
|
||||||
|
list-style: none;
|
||||||
|
padding: 0;
|
||||||
|
|
||||||
|
}
|
||||||
|
.postlist-item {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
align-items: baseline;
|
||||||
|
counter-increment: start-from -1;
|
||||||
|
margin-bottom: 1em;
|
||||||
|
}
|
||||||
|
.postlist-item:before {
|
||||||
|
display: inline-block;
|
||||||
|
pointer-events: none;
|
||||||
|
content: "" counter(start-from, decimal-leading-zero) ". ";
|
||||||
|
line-height: 100%;
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
.postlist-date,
|
||||||
|
.postlist-item:before {
|
||||||
|
font-size: 0.8125em; /* 13px /16 */
|
||||||
|
color: var(--color-gray-90);
|
||||||
|
}
|
||||||
|
.postlist-date {
|
||||||
|
word-spacing: -0.5px;
|
||||||
|
}
|
||||||
|
.postlist-link {
|
||||||
|
font-size: 1.1875em; /* 19px /16 */
|
||||||
|
font-weight: 700;
|
||||||
|
flex-basis: calc(100% - 1.5rem);
|
||||||
|
padding-left: .25em;
|
||||||
|
padding-right: .5em;
|
||||||
|
text-underline-position: from-font;
|
||||||
|
text-underline-offset: 0;
|
||||||
|
text-decoration-thickness: 1px;
|
||||||
|
}
|
||||||
|
.postlist-item-active .postlist-link {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Tags */
|
||||||
|
.post-tag {
|
||||||
|
display: inline-flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
text-transform: capitalize;
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
.postlist-item > .post-tag {
|
||||||
|
align-self: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Tags list */
|
||||||
|
.post-metadata {
|
||||||
|
display: inline-flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
gap: .5em;
|
||||||
|
list-style: none;
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
.post-metadata time {
|
||||||
|
margin-right: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
186
public/evenbigger.css
Normal file
186
public/evenbigger.css
Normal file
|
|
@ -0,0 +1,186 @@
|
||||||
|
|
||||||
|
html {
|
||||||
|
font-size: 19px;
|
||||||
|
}
|
||||||
|
body {
|
||||||
|
background: #e0589c;
|
||||||
|
background: radial-gradient(circle, rgba(224, 88, 156, 1) 0%, rgba(179, 255, 208, 1) 100%); font-family: Arial, sans-serif;
|
||||||
|
font-size: 25px;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
header,
|
||||||
|
nav,
|
||||||
|
section,
|
||||||
|
footer {
|
||||||
|
width: 90%;
|
||||||
|
max-width: 1000px;
|
||||||
|
margin: 10px auto;
|
||||||
|
background: #F0D8E6;
|
||||||
|
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
header {
|
||||||
|
border: 8px hotpink inset;
|
||||||
|
background: #F0D8E6;
|
||||||
|
padding: 10px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
header img {
|
||||||
|
width:35%;
|
||||||
|
height:35%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sitemap {
|
||||||
|
border: 1px solid hotpink;
|
||||||
|
overflow: scroll;
|
||||||
|
max-height: 55%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sillyheader {
|
||||||
|
margin-left: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
nav {
|
||||||
|
padding: 0.5rem;
|
||||||
|
background: #F0D8E6;
|
||||||
|
border: 8px hotpink inset;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main {
|
||||||
|
display: flex;
|
||||||
|
gap: 10px;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: flex-start;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
width: 90%;
|
||||||
|
max-width: 1500px;
|
||||||
|
margin: 0 auto;
|
||||||
|
background: #F0D8E6;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
section .main-sitemap {
|
||||||
|
justify-content: center;
|
||||||
|
align-items: flex-start;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
width: 90%;
|
||||||
|
max-width: 1500px;
|
||||||
|
margin: 0 auto;
|
||||||
|
background: #F0D8E6;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.main-blog {
|
||||||
|
width: 60%;
|
||||||
|
border:8px inset hotpink;
|
||||||
|
padding: 1%;
|
||||||
|
|
||||||
|
max-width: 1500px;
|
||||||
|
margin: 0 auto;
|
||||||
|
background: #F0D8E6;
|
||||||
|
line-height:160%;
|
||||||
|
}
|
||||||
|
.posts,
|
||||||
|
.intro,
|
||||||
|
.updates {
|
||||||
|
border: 1px solid hotpink;
|
||||||
|
box-sizing: border-box;
|
||||||
|
background: rgba(255,255,255,0.2);
|
||||||
|
overflow: scroll;
|
||||||
|
}
|
||||||
|
|
||||||
|
.posts {
|
||||||
|
flex: 2 1 500px;
|
||||||
|
height: 700px;
|
||||||
|
padding-left: 4px;
|
||||||
|
padding-right: 4px;
|
||||||
|
overflow: scroll;
|
||||||
|
}
|
||||||
|
|
||||||
|
.intro {
|
||||||
|
flex: 1 1 300px;
|
||||||
|
min-height: 700px;
|
||||||
|
}
|
||||||
|
section .updates {
|
||||||
|
width:300px;
|
||||||
|
overflow:scroll;
|
||||||
|
height:700px;
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.status {
|
||||||
|
font-size: 15px;
|
||||||
|
border: 1px solid hotpink;
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ugh {
|
||||||
|
width: 100%;
|
||||||
|
max-width: 200px;
|
||||||
|
height: 100px;
|
||||||
|
overflow-y: auto;
|
||||||
|
border: 1px solid hotpink;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main img {
|
||||||
|
max-width: 100%;
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
section {
|
||||||
|
border: 8px hotpink inset;
|
||||||
|
padding: 1%;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
footer {
|
||||||
|
padding: 1%;
|
||||||
|
border: 8px hotpink inset;
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
color: #300023;
|
||||||
|
text-decoration: underline;
|
||||||
|
text-decoration-style: dashed;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* mobile shit */
|
||||||
|
@media (max-width: 768px) {
|
||||||
|
|
||||||
|
body {
|
||||||
|
font-size: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main {
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.posts,
|
||||||
|
.intro,
|
||||||
|
.updates {
|
||||||
|
width: 100%;
|
||||||
|
min-height: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sillyheader {
|
||||||
|
position: static;
|
||||||
|
float: none;
|
||||||
|
margin: 0 auto;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
header,
|
||||||
|
nav,
|
||||||
|
section,
|
||||||
|
footer {
|
||||||
|
width: 95%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
307
public/evenbiggerblog.css
Normal file
307
public/evenbiggerblog.css
Normal file
|
|
@ -0,0 +1,307 @@
|
||||||
|
* Defaults */
|
||||||
|
:root {
|
||||||
|
--font-family: -apple-system, system-ui, sans-serif;
|
||||||
|
--font-family-monospace: Consolas, Menlo, Monaco, Andale Mono WT, Andale Mono, Lucida Console, Lucida Sans Typewriter, DejaVu Sans Mono, Bitstream Vera Sans Mono, Liberation Mono, Nimbus Mono L, Courier New, Courier, monospace;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Theme colors */
|
||||||
|
:root {
|
||||||
|
--color-gray-20: #e0e0e0;
|
||||||
|
--color-gray-50: #C0C0C0;
|
||||||
|
--color-gray-90: #333;
|
||||||
|
|
||||||
|
--background-color:#cfffe8;
|
||||||
|
|
||||||
|
--text-color: var(--color-gray-90);
|
||||||
|
--text-color-link: #082840;
|
||||||
|
--text-color-link-active: #5f2b48;
|
||||||
|
--text-color-link-visited: #17050F;
|
||||||
|
|
||||||
|
--syntax-tab-size: 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (prefers-color-scheme: dark) {
|
||||||
|
:root {
|
||||||
|
--color-gray-20: #e0e0e0;
|
||||||
|
--color-gray-50: #C0C0C0;
|
||||||
|
--color-gray-90: #dad8d8;
|
||||||
|
|
||||||
|
/* --text-color is assigned to --color-gray-_ above */
|
||||||
|
--text-color-link: #1493fb;
|
||||||
|
--text-color-link-active: #6969f7;
|
||||||
|
--text-color-link-visited: #a6a6f8;
|
||||||
|
|
||||||
|
--background-color: #15202b;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Global stylesheet */
|
||||||
|
* {
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
@view-transition {
|
||||||
|
navigation: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
html,
|
||||||
|
body {
|
||||||
|
padding: 0;
|
||||||
|
margin: 0 auto;
|
||||||
|
font-family:Arial;
|
||||||
|
color: var(--text-color);
|
||||||
|
background-color: var(--background-color);
|
||||||
|
font-size:20px;
|
||||||
|
}
|
||||||
|
html {
|
||||||
|
overflow-y: scroll;
|
||||||
|
}
|
||||||
|
body {
|
||||||
|
max-width: 40em;
|
||||||
|
}
|
||||||
|
|
||||||
|
header img {
|
||||||
|
width: 100px;
|
||||||
|
height: 104px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.container {
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
/* https://www.a11yproject.com/posts/how-to-hide-content/ */
|
||||||
|
.visually-hidden:not(:focus):not(:active) {
|
||||||
|
clip: rect(0 0 0 0);
|
||||||
|
clip-path: inset(50%);
|
||||||
|
height: 1px;
|
||||||
|
overflow: hidden;
|
||||||
|
position: absolute;
|
||||||
|
white-space: nowrap;
|
||||||
|
width: 1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Fluid images via https://www.zachleat.com/web/fluid-images/ */
|
||||||
|
img{
|
||||||
|
max-width: 100%;
|
||||||
|
}
|
||||||
|
img[width][height] {
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
img[src$=".svg"] {
|
||||||
|
width: 100%;
|
||||||
|
height: auto;
|
||||||
|
max-width: none;
|
||||||
|
}
|
||||||
|
video,
|
||||||
|
iframe {
|
||||||
|
width: 100%;
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
iframe {
|
||||||
|
aspect-ratio: 16/9;
|
||||||
|
}
|
||||||
|
|
||||||
|
p:last-child {
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
p {
|
||||||
|
line-height: 1.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
li {
|
||||||
|
line-height: 1.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
a[href] {
|
||||||
|
color: var(--text-color-link);
|
||||||
|
}
|
||||||
|
a[href]:visited {
|
||||||
|
color: var(--text-color-link-visited);
|
||||||
|
}
|
||||||
|
a[href]:hover,
|
||||||
|
a[href]:active {
|
||||||
|
color: var(--text-color-link-active);
|
||||||
|
}
|
||||||
|
|
||||||
|
main,
|
||||||
|
footer {
|
||||||
|
padding: 1rem;
|
||||||
|
}
|
||||||
|
main :first-child {
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
header {
|
||||||
|
border-bottom: 1px dashed var(--color-gray-20);
|
||||||
|
align-content: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
#skip-link {
|
||||||
|
text-decoration: none;
|
||||||
|
background: var(--background-color);
|
||||||
|
color: var(--text-color);
|
||||||
|
padding: 0.5rem 1rem;
|
||||||
|
border: 1px solid var(--color-gray-90);
|
||||||
|
border-radius: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Prevent visually-hidden skip link fom pushing content around when focused */
|
||||||
|
#skip-link.visually-hidden:focus {
|
||||||
|
position: absolute;
|
||||||
|
top: 1rem;
|
||||||
|
left: 1rem;
|
||||||
|
/* Ensure it is positioned on top of everything else when it is shown */
|
||||||
|
z-index: 999;
|
||||||
|
}
|
||||||
|
|
||||||
|
.links-nextprev {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
gap: .5em 1em;
|
||||||
|
list-style: "";
|
||||||
|
border-top: 1px dashed var(--color-gray-20);
|
||||||
|
padding: 1em 0;
|
||||||
|
}
|
||||||
|
.links-nextprev > * {
|
||||||
|
flex-grow: 1;
|
||||||
|
}
|
||||||
|
.links-nextprev-next {
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
table {
|
||||||
|
margin: 1em 0;
|
||||||
|
}
|
||||||
|
table td,
|
||||||
|
table th {
|
||||||
|
padding-right: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
pre,
|
||||||
|
code {
|
||||||
|
font-family: var(--font-family-monospace);
|
||||||
|
}
|
||||||
|
pre:not([class*="language-"]) {
|
||||||
|
margin: .5em 0;
|
||||||
|
line-height: 1.375; /* 22px /16 */
|
||||||
|
-moz-tab-size: var(--syntax-tab-size);
|
||||||
|
-o-tab-size: var(--syntax-tab-size);
|
||||||
|
tab-size: var(--syntax-tab-size);
|
||||||
|
-webkit-hyphens: none;
|
||||||
|
-ms-hyphens: none;
|
||||||
|
hyphens: none;
|
||||||
|
direction: ltr;
|
||||||
|
text-align: left;
|
||||||
|
white-space: pre;
|
||||||
|
word-spacing: normal;
|
||||||
|
word-break: normal;
|
||||||
|
overflow-x: auto;
|
||||||
|
}
|
||||||
|
code {
|
||||||
|
word-break: break-all;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Header */
|
||||||
|
header {
|
||||||
|
display: flex;
|
||||||
|
gap: 1em;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
padding: 1em;
|
||||||
|
}
|
||||||
|
.home-link {
|
||||||
|
flex-grow: 1;
|
||||||
|
font-size: 1em; /* 16px /16 */
|
||||||
|
font-weight: 700;
|
||||||
|
}
|
||||||
|
.home-link:link:not(:hover) {
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Nav */
|
||||||
|
.nav {
|
||||||
|
display: flex;
|
||||||
|
gap: .5em 1em;
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
list-style: none;
|
||||||
|
}
|
||||||
|
.nav-item {
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
.nav-item a[href]:not(:hover) {
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
.nav a[href][aria-current="page"] {
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Posts list */
|
||||||
|
.postlist {
|
||||||
|
counter-reset: start-from var(--postlist-index);
|
||||||
|
list-style: none;
|
||||||
|
padding: 0;
|
||||||
|
|
||||||
|
}
|
||||||
|
.postlist-item {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
align-items: baseline;
|
||||||
|
counter-increment: start-from -1;
|
||||||
|
margin-bottom: 1em;
|
||||||
|
}
|
||||||
|
.postlist-item:before {
|
||||||
|
display: inline-block;
|
||||||
|
pointer-events: none;
|
||||||
|
content: "" counter(start-from, decimal-leading-zero) ". ";
|
||||||
|
line-height: 100%;
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
.postlist-date,
|
||||||
|
.postlist-item:before {
|
||||||
|
font-size: 0.8125em; /* 13px /16 */
|
||||||
|
color: var(--color-gray-90);
|
||||||
|
}
|
||||||
|
.postlist-date {
|
||||||
|
word-spacing: -0.5px;
|
||||||
|
}
|
||||||
|
.postlist-link {
|
||||||
|
font-size: 1.1875em; /* 19px /16 */
|
||||||
|
font-weight: 700;
|
||||||
|
flex-basis: calc(100% - 1.5rem);
|
||||||
|
padding-left: .25em;
|
||||||
|
padding-right: .5em;
|
||||||
|
text-underline-position: from-font;
|
||||||
|
text-underline-offset: 0;
|
||||||
|
text-decoration-thickness: 1px;
|
||||||
|
}
|
||||||
|
.postlist-item-active .postlist-link {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Tags */
|
||||||
|
.post-tag {
|
||||||
|
display: inline-flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
text-transform: capitalize;
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
.postlist-item > .post-tag {
|
||||||
|
align-self: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Tags list */
|
||||||
|
.post-metadata {
|
||||||
|
display: inline-flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
gap: .5em;
|
||||||
|
list-style: none;
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
.post-metadata time {
|
||||||
|
margin-right: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
3
public/htmlcommentbox.js
Normal file
3
public/htmlcommentbox.js
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
/*<!--*/ if(!window.hcb_user){hcb_user={};} (function(){var s=document.createElement("script"), l=hcb_user.PAGE || (""+window.location).replace(/'/g,"%27"), h="https://www.htmlcommentbox.com";s.setAttribute("type","text/javascript");s.setAttribute("src", h+"/jread?page="+encodeURIComponent(l).replace("+","%2B")+"&mod=%241%24wq1rdBcg%24kbjUM8MS.IvEmWHN3VntS%2F"+"&opts=16798&num=10&ts=1782005268508");if (typeof s!="undefined") document.getElementsByTagName("head")[0].appendChild(s);})(); /*-->*/
|
||||||
|
|
||||||
|
|
||||||
0
public/img/.gitkeep
Normal file
0
public/img/.gitkeep
Normal file
186
public/largest.css
Normal file
186
public/largest.css
Normal file
|
|
@ -0,0 +1,186 @@
|
||||||
|
|
||||||
|
html {
|
||||||
|
font-size: 25px;
|
||||||
|
}
|
||||||
|
body {
|
||||||
|
background: #e0589c;
|
||||||
|
background: radial-gradient(circle, rgba(224, 88, 156, 1) 0%, rgba(179, 255, 208, 1) 100%); font-family: Arial, sans-serif;
|
||||||
|
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
header,
|
||||||
|
nav,
|
||||||
|
section,
|
||||||
|
footer {
|
||||||
|
width: 90%;
|
||||||
|
max-width: 1000px;
|
||||||
|
margin: 10px auto;
|
||||||
|
background: #F0D8E6;
|
||||||
|
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
header {
|
||||||
|
border: 8px hotpink inset;
|
||||||
|
background: #F0D8E6;
|
||||||
|
padding: 10px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
header img {
|
||||||
|
width:35%;
|
||||||
|
height:35%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sitemap {
|
||||||
|
border: 1px solid hotpink;
|
||||||
|
overflow: scroll;
|
||||||
|
max-height: 55%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sillyheader {
|
||||||
|
margin-left: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
nav {
|
||||||
|
padding: 0.5rem;
|
||||||
|
background: #F0D8E6;
|
||||||
|
border: 8px hotpink inset;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main {
|
||||||
|
display: flex;
|
||||||
|
gap: 10px;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: flex-start;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
width: 90%;
|
||||||
|
max-width: 1500px;
|
||||||
|
margin: 0 auto;
|
||||||
|
background: #F0D8E6;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
section .main-sitemap {
|
||||||
|
justify-content: center;
|
||||||
|
align-items: flex-start;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
width: 90%;
|
||||||
|
max-width: 1500px;
|
||||||
|
margin: 0 auto;
|
||||||
|
background: #F0D8E6;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.main-blog {
|
||||||
|
width: 60%;
|
||||||
|
border:8px inset hotpink;
|
||||||
|
padding: 1%;
|
||||||
|
|
||||||
|
max-width: 1500px;
|
||||||
|
margin: 0 auto;
|
||||||
|
background: #F0D8E6;
|
||||||
|
line-height:160%;
|
||||||
|
}
|
||||||
|
.posts,
|
||||||
|
.intro,
|
||||||
|
.updates {
|
||||||
|
border: 1px solid hotpink;
|
||||||
|
box-sizing: border-box;
|
||||||
|
background: rgba(255,255,255,0.2);
|
||||||
|
overflow: scroll;
|
||||||
|
}
|
||||||
|
|
||||||
|
.posts {
|
||||||
|
flex: 2 1 500px;
|
||||||
|
height: 700px;
|
||||||
|
padding-left: 4px;
|
||||||
|
padding-right: 4px;
|
||||||
|
overflow: scroll;
|
||||||
|
}
|
||||||
|
|
||||||
|
.intro {
|
||||||
|
flex: 1 1 300px;
|
||||||
|
min-height: 700px;
|
||||||
|
}
|
||||||
|
section .updates {
|
||||||
|
width:300px;
|
||||||
|
overflow:scroll;
|
||||||
|
height:700px;
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.status {
|
||||||
|
font-size: 15px;
|
||||||
|
border: 1px solid hotpink;
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ugh {
|
||||||
|
width: 100%;
|
||||||
|
max-width: 200px;
|
||||||
|
height: 100px;
|
||||||
|
overflow-y: auto;
|
||||||
|
border: 1px solid hotpink;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main img {
|
||||||
|
max-width: 100%;
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
section {
|
||||||
|
border: 8px hotpink inset;
|
||||||
|
padding: 1%;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
footer {
|
||||||
|
padding: 1%;
|
||||||
|
border: 8px hotpink inset;
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
color: #300023;
|
||||||
|
text-decoration: underline;
|
||||||
|
text-decoration-style: dashed;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* mobile shit */
|
||||||
|
@media (max-width: 768px) {
|
||||||
|
|
||||||
|
body {
|
||||||
|
font-size: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main {
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.posts,
|
||||||
|
.intro,
|
||||||
|
.updates {
|
||||||
|
width: 100%;
|
||||||
|
min-height: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sillyheader {
|
||||||
|
position: static;
|
||||||
|
float: none;
|
||||||
|
margin: 0 auto;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
header,
|
||||||
|
nav,
|
||||||
|
section,
|
||||||
|
footer {
|
||||||
|
width: 95%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
307
public/largestblog.css
Normal file
307
public/largestblog.css
Normal file
|
|
@ -0,0 +1,307 @@
|
||||||
|
/* Defaults */
|
||||||
|
:root {
|
||||||
|
--font-family: -apple-system, system-ui, sans-serif;
|
||||||
|
--font-family-monospace: Consolas, Menlo, Monaco, Andale Mono WT, Andale Mono, Lucida Console, Lucida Sans Typewriter, DejaVu Sans Mono, Bitstream Vera Sans Mono, Liberation Mono, Nimbus Mono L, Courier New, Courier, monospace;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Theme colors */
|
||||||
|
:root {
|
||||||
|
--color-gray-20: #e0e0e0;
|
||||||
|
--color-gray-50: #C0C0C0;
|
||||||
|
--color-gray-90: #333;
|
||||||
|
|
||||||
|
--background-color:#cfffe8;
|
||||||
|
|
||||||
|
--text-color: var(--color-gray-90);
|
||||||
|
--text-color-link: #082840;
|
||||||
|
--text-color-link-active: #5f2b48;
|
||||||
|
--text-color-link-visited: #17050F;
|
||||||
|
|
||||||
|
--syntax-tab-size: 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (prefers-color-scheme: dark) {
|
||||||
|
:root {
|
||||||
|
--color-gray-20: #e0e0e0;
|
||||||
|
--color-gray-50: #C0C0C0;
|
||||||
|
--color-gray-90: #dad8d8;
|
||||||
|
|
||||||
|
/* --text-color is assigned to --color-gray-_ above */
|
||||||
|
--text-color-link: #1493fb;
|
||||||
|
--text-color-link-active: #6969f7;
|
||||||
|
--text-color-link-visited: #a6a6f8;
|
||||||
|
|
||||||
|
--background-color: #15202b;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Global stylesheet */
|
||||||
|
* {
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
@view-transition {
|
||||||
|
navigation: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
html,
|
||||||
|
body {
|
||||||
|
padding: 0;
|
||||||
|
margin: 0 auto;
|
||||||
|
font-family:Arial;
|
||||||
|
color: var(--text-color);
|
||||||
|
background-color: var(--background-color);
|
||||||
|
font-size:26px;
|
||||||
|
}
|
||||||
|
html {
|
||||||
|
overflow-y: scroll;
|
||||||
|
}
|
||||||
|
body {
|
||||||
|
max-width: 40em;
|
||||||
|
}
|
||||||
|
|
||||||
|
header img {
|
||||||
|
width: 100px;
|
||||||
|
height: 104px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.container {
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
/* https://www.a11yproject.com/posts/how-to-hide-content/ */
|
||||||
|
.visually-hidden:not(:focus):not(:active) {
|
||||||
|
clip: rect(0 0 0 0);
|
||||||
|
clip-path: inset(50%);
|
||||||
|
height: 1px;
|
||||||
|
overflow: hidden;
|
||||||
|
position: absolute;
|
||||||
|
white-space: nowrap;
|
||||||
|
width: 1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Fluid images via https://www.zachleat.com/web/fluid-images/ */
|
||||||
|
img{
|
||||||
|
max-width: 100%;
|
||||||
|
}
|
||||||
|
img[width][height] {
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
img[src$=".svg"] {
|
||||||
|
width: 100%;
|
||||||
|
height: auto;
|
||||||
|
max-width: none;
|
||||||
|
}
|
||||||
|
video,
|
||||||
|
iframe {
|
||||||
|
width: 100%;
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
iframe {
|
||||||
|
aspect-ratio: 16/9;
|
||||||
|
}
|
||||||
|
|
||||||
|
p:last-child {
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
p {
|
||||||
|
line-height: 1.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
li {
|
||||||
|
line-height: 1.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
a[href] {
|
||||||
|
color: var(--text-color-link);
|
||||||
|
}
|
||||||
|
a[href]:visited {
|
||||||
|
color: var(--text-color-link-visited);
|
||||||
|
}
|
||||||
|
a[href]:hover,
|
||||||
|
a[href]:active {
|
||||||
|
color: var(--text-color-link-active);
|
||||||
|
}
|
||||||
|
|
||||||
|
main,
|
||||||
|
footer {
|
||||||
|
padding: 1rem;
|
||||||
|
}
|
||||||
|
main :first-child {
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
header {
|
||||||
|
border-bottom: 1px dashed var(--color-gray-20);
|
||||||
|
align-content: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
#skip-link {
|
||||||
|
text-decoration: none;
|
||||||
|
background: var(--background-color);
|
||||||
|
color: var(--text-color);
|
||||||
|
padding: 0.5rem 1rem;
|
||||||
|
border: 1px solid var(--color-gray-90);
|
||||||
|
border-radius: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Prevent visually-hidden skip link fom pushing content around when focused */
|
||||||
|
#skip-link.visually-hidden:focus {
|
||||||
|
position: absolute;
|
||||||
|
top: 1rem;
|
||||||
|
left: 1rem;
|
||||||
|
/* Ensure it is positioned on top of everything else when it is shown */
|
||||||
|
z-index: 999;
|
||||||
|
}
|
||||||
|
|
||||||
|
.links-nextprev {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
gap: .5em 1em;
|
||||||
|
list-style: "";
|
||||||
|
border-top: 1px dashed var(--color-gray-20);
|
||||||
|
padding: 1em 0;
|
||||||
|
}
|
||||||
|
.links-nextprev > * {
|
||||||
|
flex-grow: 1;
|
||||||
|
}
|
||||||
|
.links-nextprev-next {
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
table {
|
||||||
|
margin: 1em 0;
|
||||||
|
}
|
||||||
|
table td,
|
||||||
|
table th {
|
||||||
|
padding-right: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
pre,
|
||||||
|
code {
|
||||||
|
font-family: var(--font-family-monospace);
|
||||||
|
}
|
||||||
|
pre:not([class*="language-"]) {
|
||||||
|
margin: .5em 0;
|
||||||
|
line-height: 1.375; /* 22px /16 */
|
||||||
|
-moz-tab-size: var(--syntax-tab-size);
|
||||||
|
-o-tab-size: var(--syntax-tab-size);
|
||||||
|
tab-size: var(--syntax-tab-size);
|
||||||
|
-webkit-hyphens: none;
|
||||||
|
-ms-hyphens: none;
|
||||||
|
hyphens: none;
|
||||||
|
direction: ltr;
|
||||||
|
text-align: left;
|
||||||
|
white-space: pre;
|
||||||
|
word-spacing: normal;
|
||||||
|
word-break: normal;
|
||||||
|
overflow-x: auto;
|
||||||
|
}
|
||||||
|
code {
|
||||||
|
word-break: break-all;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Header */
|
||||||
|
header {
|
||||||
|
display: flex;
|
||||||
|
gap: 1em;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
padding: 1em;
|
||||||
|
}
|
||||||
|
.home-link {
|
||||||
|
flex-grow: 1;
|
||||||
|
font-size: 1em; /* 16px /16 */
|
||||||
|
font-weight: 700;
|
||||||
|
}
|
||||||
|
.home-link:link:not(:hover) {
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Nav */
|
||||||
|
.nav {
|
||||||
|
display: flex;
|
||||||
|
gap: .5em 1em;
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
list-style: none;
|
||||||
|
}
|
||||||
|
.nav-item {
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
.nav-item a[href]:not(:hover) {
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
.nav a[href][aria-current="page"] {
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Posts list */
|
||||||
|
.postlist {
|
||||||
|
counter-reset: start-from var(--postlist-index);
|
||||||
|
list-style: none;
|
||||||
|
padding: 0;
|
||||||
|
|
||||||
|
}
|
||||||
|
.postlist-item {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
align-items: baseline;
|
||||||
|
counter-increment: start-from -1;
|
||||||
|
margin-bottom: 1em;
|
||||||
|
}
|
||||||
|
.postlist-item:before {
|
||||||
|
display: inline-block;
|
||||||
|
pointer-events: none;
|
||||||
|
content: "" counter(start-from, decimal-leading-zero) ". ";
|
||||||
|
line-height: 100%;
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
.postlist-date,
|
||||||
|
.postlist-item:before {
|
||||||
|
font-size: 0.8125em; /* 13px /16 */
|
||||||
|
color: var(--color-gray-90);
|
||||||
|
}
|
||||||
|
.postlist-date {
|
||||||
|
word-spacing: -0.5px;
|
||||||
|
}
|
||||||
|
.postlist-link {
|
||||||
|
font-size: 1.1875em; /* 19px /16 */
|
||||||
|
font-weight: 700;
|
||||||
|
flex-basis: calc(100% - 1.5rem);
|
||||||
|
padding-left: .25em;
|
||||||
|
padding-right: .5em;
|
||||||
|
text-underline-position: from-font;
|
||||||
|
text-underline-offset: 0;
|
||||||
|
text-decoration-thickness: 1px;
|
||||||
|
}
|
||||||
|
.postlist-item-active .postlist-link {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Tags */
|
||||||
|
.post-tag {
|
||||||
|
display: inline-flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
text-transform: capitalize;
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
.postlist-item > .post-tag {
|
||||||
|
align-self: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Tags list */
|
||||||
|
.post-metadata {
|
||||||
|
display: inline-flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
gap: .5em;
|
||||||
|
list-style: none;
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
.post-metadata time {
|
||||||
|
margin-right: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
1
public/post.js
Normal file
1
public/post.js
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
const numberOfLatestPostsToShow = 3;
|
||||||
19
public/test.js
Normal file
19
public/test.js
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
<script>
|
||||||
|
const defaultTheme = "/bigger.css";
|
||||||
|
|
||||||
|
// Set default if nothing is stored yet
|
||||||
|
if (!localStorage.getItem("theme")) {
|
||||||
|
localStorage.setItem("theme", defaultTheme);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Load the selected theme
|
||||||
|
document.write(
|
||||||
|
`<link rel="stylesheet" href="${localStorage.getItem("theme")}">`
|
||||||
|
);
|
||||||
|
|
||||||
|
// Make function globally available to onclick
|
||||||
|
window.setTheme = function(themeFile) {
|
||||||
|
localStorage.setItem("theme", themeFile);
|
||||||
|
location.reload();
|
||||||
|
};
|
||||||
|
</script>
|
||||||
4
public/theme.js
Normal file
4
public/theme.js
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
function myFunction() {
|
||||||
|
let element = document.body;
|
||||||
|
element.classList.toggle("theme");
|
||||||
|
}
|
||||||
15
public/themeswitcher.js
Normal file
15
public/themeswitcher.js
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
|
||||||
|
const defaultTheme = "/bigger.css";
|
||||||
|
|
||||||
|
// Set default if nothing is sto
|
||||||
|
// Load the selected theme
|
||||||
|
document.write(
|
||||||
|
`<link rel="stylesheet" href="${localStorage.getItem("theme")}">`
|
||||||
|
);
|
||||||
|
|
||||||
|
// Make function globally available to onclick
|
||||||
|
window.setTheme = function(themeFile) {
|
||||||
|
localStorage.setItem("theme", themeFile);
|
||||||
|
location.reload();
|
||||||
|
};
|
||||||
|
|
||||||
11
public/themeswitcherblog.js
Normal file
11
public/themeswitcherblog.js
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
|
||||||
|
const defaultTheme = "/bigger.css"
|
||||||
|
|
||||||
|
document.write(
|
||||||
|
`<link rel="stylesheet" href="${localStorage.getItem("theme")}">`
|
||||||
|
);
|
||||||
|
|
||||||
|
function setTheme(themeFile) {
|
||||||
|
localStorage.setItem("theme", themeFile);
|
||||||
|
location.reload();
|
||||||
|
}
|
||||||
17
public/themeswitchersave.js
Normal file
17
public/themeswitchersave.js
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
|
||||||
|
const defaultTheme = "/bigger.css";
|
||||||
|
|
||||||
|
if (!localStorage.getItem("theme")) {
|
||||||
|
localStorage.setItem("theme", defaultTheme);
|
||||||
|
}
|
||||||
|
|
||||||
|
document.write(
|
||||||
|
`<link rel="stylesheet" href="${localStorage.getItem("theme")}">`
|
||||||
|
);
|
||||||
|
|
||||||
|
function setTheme(themeFile) {
|
||||||
|
localStorage.setItem("theme", themeFile);
|
||||||
|
location.reload();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
23
theme-switcher.js
Normal file
23
theme-switcher.js
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
<script>
|
||||||
|
const defaultTheme = "bundle.css";
|
||||||
|
// Check if `theme` is set
|
||||||
|
if (localStorage.getItem("bundle.css") === null) {
|
||||||
|
// Set to default theme
|
||||||
|
localStorage.setItem("bundle.css", defaultTheme);
|
||||||
|
}
|
||||||
|
// Load theme CSS
|
||||||
|
document.head.insertAdjacentHTML(
|
||||||
|
'beforeend',
|
||||||
|
`<link rel="stylesheet" href="${localStorage.getItem('bundle.css')}"/>`);
|
||||||
|
document.head.insertAdjacentHTML(
|
||||||
|
'beforeend',
|
||||||
|
`<link rel="stylesheet" href="${localStorage.getItem('bigger.css')}"/>`);
|
||||||
|
//
|
||||||
|
Theme switcher
|
||||||
|
function setTheme(themeFile) {
|
||||||
|
// Set theme to new theme
|
||||||
|
localStorage.setItem('theme', themeFile);
|
||||||
|
// Refresh the page
|
||||||
|
location.reload();
|
||||||
|
}
|
||||||
|
</script>
|
||||||
1
vercel.json
Normal file
1
vercel.json
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
{ "trailingSlash": true }
|
||||||
Loading…
Reference in a new issue