More websites, better licenses with TOML, more minute improvements
This commit is contained in:
parent
5559cea720
commit
92123a305d
26 changed files with 414 additions and 138 deletions
|
|
@ -6,5 +6,5 @@ export default {
|
||||||
singleQuote: false,
|
singleQuote: false,
|
||||||
printWidth: 120,
|
printWidth: 120,
|
||||||
bracketSpacing: true,
|
bracketSpacing: true,
|
||||||
plugins: ["prettier-plugin-astro", "prettier-plugin-tailwindcss"],
|
plugins: ["prettier-plugin-astro", "prettier-plugin-tailwindcss", "prettier-plugin-toml"],
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
See [public/licenses.txt](public/licenses.txt)
|
See [public/licenses.toml](public/licenses.toml)
|
||||||
|
|
|
||||||
41
package-lock.json
generated
41
package-lock.json
generated
|
|
@ -1,12 +1,12 @@
|
||||||
{
|
{
|
||||||
"name": "badmanners.xyz",
|
"name": "badmanners.xyz",
|
||||||
"version": "2.1.4",
|
"version": "2.1.5",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "badmanners.xyz",
|
"name": "badmanners.xyz",
|
||||||
"version": "2.1.4",
|
"version": "2.1.5",
|
||||||
"hasInstallScript": true,
|
"hasInstallScript": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@astrojs/check": "^0.9.2",
|
"@astrojs/check": "^0.9.2",
|
||||||
|
|
@ -24,6 +24,7 @@
|
||||||
"prettier": "^3.3.3",
|
"prettier": "^3.3.3",
|
||||||
"prettier-plugin-astro": "^0.14.1",
|
"prettier-plugin-astro": "^0.14.1",
|
||||||
"prettier-plugin-tailwindcss": "^0.6.6",
|
"prettier-plugin-tailwindcss": "^0.6.6",
|
||||||
|
"prettier-plugin-toml": "^2.0.1",
|
||||||
"tsx": "^4.17.0"
|
"tsx": "^4.17.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
@ -1762,6 +1763,23 @@
|
||||||
"@types/hast": "^3.0.4"
|
"@types/hast": "^3.0.4"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@taplo/core": {
|
||||||
|
"version": "0.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@taplo/core/-/core-0.1.1.tgz",
|
||||||
|
"integrity": "sha512-BG/zLGf5wiNXGEVPvUAAX/4ilB3PwDUY2o0MV0y47mZbDZ9ad9UK/cIQsILat3bqbPJsALVbU6k3cskNZ3vAQg==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
|
"node_modules/@taplo/lib": {
|
||||||
|
"version": "0.4.0-alpha.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/@taplo/lib/-/lib-0.4.0-alpha.2.tgz",
|
||||||
|
"integrity": "sha512-DV/Re3DPVY+BhBtLZ3dmP4mP6YMLSsgq9qGLXwOV38lvNF/fBlgvQswzlXmzCEefL/3q2eMoefZpOI/+GLuCNA==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"@taplo/core": "^0.1.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@tsconfig/node10": {
|
"node_modules/@tsconfig/node10": {
|
||||||
"version": "1.0.10",
|
"version": "1.0.10",
|
||||||
"resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.10.tgz",
|
"resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.10.tgz",
|
||||||
|
|
@ -5497,6 +5515,25 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/prettier-plugin-toml": {
|
||||||
|
"version": "2.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/prettier-plugin-toml/-/prettier-plugin-toml-2.0.1.tgz",
|
||||||
|
"integrity": "sha512-99z1YOkViECHtXQjGIigd3talI/ybUI1zB3yniAwUrlWBXupNXThB1hM6bwSMUEj2/+tomTlMtT98F5t4s8IWA==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"@taplo/lib": "^0.4.0-alpha.2"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=16.0.0"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://opencollective.com/unts"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"prettier": "^3.0.3"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/prismjs": {
|
"node_modules/prismjs": {
|
||||||
"version": "1.29.0",
|
"version": "1.29.0",
|
||||||
"resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz",
|
"resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz",
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"name": "badmanners.xyz",
|
"name": "badmanners.xyz",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"version": "2.1.4",
|
"version": "2.1.5",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"postinstall": "astro sync",
|
"postinstall": "astro sync",
|
||||||
"dev": "astro dev",
|
"dev": "astro dev",
|
||||||
|
|
@ -30,6 +30,7 @@
|
||||||
"prettier": "^3.3.3",
|
"prettier": "^3.3.3",
|
||||||
"prettier-plugin-astro": "^0.14.1",
|
"prettier-plugin-astro": "^0.14.1",
|
||||||
"prettier-plugin-tailwindcss": "^0.6.6",
|
"prettier-plugin-tailwindcss": "^0.6.6",
|
||||||
|
"prettier-plugin-toml": "^2.0.1",
|
||||||
"tsx": "^4.17.0"
|
"tsx": "^4.17.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
97
public/licenses.toml
Normal file
97
public/licenses.toml
Normal file
|
|
@ -0,0 +1,97 @@
|
||||||
|
# licenses.toml
|
||||||
|
|
||||||
|
[copyright]
|
||||||
|
title = "badmanners.xyz"
|
||||||
|
description = "Bad Manners's personal website."
|
||||||
|
date = "2023–2024"
|
||||||
|
author = "Bad Manners <me@badmanners.xyz>"
|
||||||
|
source = "https://git.badmanners.xyz/badmanners/badmanners.xyz"
|
||||||
|
license = { name = "MIT", url = "https://opensource.org/license/mit" }
|
||||||
|
notes = "All rights reserved."
|
||||||
|
|
||||||
|
[copyright.additional]
|
||||||
|
notes = "The briefcase logo and Sam Brendan are copyrighted and tradermarked by me."
|
||||||
|
|
||||||
|
[[attributions]]
|
||||||
|
description = "Reference sheet of Sam Brendan, a mimic x maned wolf hybrid."
|
||||||
|
type = "artwork"
|
||||||
|
author = { name = "Rimmi", url = "https://linktr.ee/Rimmi1357" }
|
||||||
|
notes = "Distributed under non-commercial use."
|
||||||
|
|
||||||
|
[[attributions]]
|
||||||
|
description = "A set of ten stickers featuring my fursona, Sam Brendan."
|
||||||
|
type = "artwork"
|
||||||
|
author = { name = "OliveCow", url = "https://olivecow.carrd.co" }
|
||||||
|
note = "Distributed under non-commercial use."
|
||||||
|
|
||||||
|
[[attributions]]
|
||||||
|
title = "Jost*"
|
||||||
|
type = "font"
|
||||||
|
author = "indestructible type*"
|
||||||
|
source = "https://indestructibletype.com/Jost.html"
|
||||||
|
license = { name = "SIL Open Font License v1.1", url = "https://opensource.org/license/ofl-1-1" }
|
||||||
|
|
||||||
|
[[attributions]]
|
||||||
|
title = "Simple Icons"
|
||||||
|
description = "Icons for third-party brands."
|
||||||
|
type = "icons"
|
||||||
|
source = "https://simpleicons.org"
|
||||||
|
license = { name = "CC0 1.0 Universal", url = "https://creativecommons.org/publicdomain/zero/1.0/" }
|
||||||
|
icons = [
|
||||||
|
"Bluesky",
|
||||||
|
"Codeberg",
|
||||||
|
"Discord",
|
||||||
|
"Itch.io",
|
||||||
|
"Keybase",
|
||||||
|
"Ko-fi",
|
||||||
|
"GitHub",
|
||||||
|
"GitLab",
|
||||||
|
"Google",
|
||||||
|
"Mastodon",
|
||||||
|
"Picarto",
|
||||||
|
"Reddit",
|
||||||
|
"Signal",
|
||||||
|
"Steam",
|
||||||
|
"Telegram",
|
||||||
|
"Tumblr",
|
||||||
|
"Twitch",
|
||||||
|
"Weasyl",
|
||||||
|
"X",
|
||||||
|
"YouTube",
|
||||||
|
]
|
||||||
|
notes = "All third-party copyrights and trademarks belong to their respective owners."
|
||||||
|
|
||||||
|
[[attributions]]
|
||||||
|
description = "Edited icons for other websites."
|
||||||
|
type = "icons"
|
||||||
|
author = "Bad Manners <me@badmanners.xyz>"
|
||||||
|
icons = [
|
||||||
|
"Cohost",
|
||||||
|
"Eka's Portal",
|
||||||
|
"Fur Affinity",
|
||||||
|
"Inkbunny",
|
||||||
|
"Itaku",
|
||||||
|
"Keyoxide",
|
||||||
|
"Neocities",
|
||||||
|
"SoFurry",
|
||||||
|
"SubscribeStar",
|
||||||
|
]
|
||||||
|
notes = "All third-party copyrights and trademarks belong to their respective owners."
|
||||||
|
|
||||||
|
[[attributions]]
|
||||||
|
title = "Font Awesome"
|
||||||
|
description = "Generic icons."
|
||||||
|
type = "icons"
|
||||||
|
source = "https://fontawesome.com"
|
||||||
|
license = { name = "CC-BY-4.0", url = "https://creativecommons.org/licenses/by/4.0/" }
|
||||||
|
icons = [
|
||||||
|
"arrow-up-right-from-square",
|
||||||
|
"briefcase",
|
||||||
|
"comment-dots",
|
||||||
|
"envelope",
|
||||||
|
"link",
|
||||||
|
"moon",
|
||||||
|
"square-rss",
|
||||||
|
"sun",
|
||||||
|
"triangle-exclamation",
|
||||||
|
]
|
||||||
|
|
@ -1,15 +0,0 @@
|
||||||
The source code of this website is licensed under the MIT License: https://opensource.org/license/mit
|
|
||||||
|
|
||||||
The briefcase logo and Sam Brendan are copyrighted and trademarked by me, Bad Manners.
|
|
||||||
|
|
||||||
All attributed artwork is copyrighted by their respective creators and distributed under non-commercial use.
|
|
||||||
|
|
||||||
The Jost* typeface is copyrighted by indestructible type* and is distributed under the SIL Open Font License v1.1: https://opensource.org/license/ofl-1-1
|
|
||||||
|
|
||||||
The SVG icons for Bluesky, Codeberg, Discord, Itch.io, Keybase, Ko-fi, GitHub, GitLab, Google, Mastodon, Picarto, Reddit, Signal, Steam, Telegram, Twitch, Weasyl, X, and YouTube were created for the Simple Icons project and are distributed under the Creative Commons Zero v1.0 Universal license: https://creativecommons.org/publicdomain/zero/1.0/
|
|
||||||
|
|
||||||
The SVG icons for Cohost, Eka's Portal, Fur Affinity, Inkbunny, Itaku, Keyoxide, Neocities, SoFurry, SSH, and SubscribeStar were edited by me (Bad Manners) from their respective logos, for personal use.
|
|
||||||
|
|
||||||
The generic SVG icons were created by Font Awesome and are distributed under CC-BY-4.0: https://creativecommons.org/licenses/by/4.0/
|
|
||||||
|
|
||||||
All third-party trademarks belong to their respective owners, and I (Bad Manners) am not affiliated with any of them.
|
|
||||||
3
src/assets/images/index.ts
Normal file
3
src/assets/images/index.ts
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
export { default as ImageSamAllStickers } from "./sam_all_stickers.webp";
|
||||||
|
export { default as ImageSamRefsheet } from "./sam_refsheet.webp";
|
||||||
|
export { default as ImageSamStickerJuicebox } from "./sam_sticker_juicebox.webp";
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
---
|
---
|
||||||
import AgeRestrictedScriptInline from "./AgeRestrictedScriptInline.astro";
|
import AgeRestrictedScriptInline from "./AgeRestrictedScriptInline.astro";
|
||||||
import IconTriangleExclamation from "./icons/IconTriangleExclamation.astro";
|
import { IconTriangleExclamation } from "./icons";
|
||||||
---
|
---
|
||||||
|
|
||||||
<div
|
<div
|
||||||
|
|
|
||||||
15
src/components/icons/IconCommentDots.astro
Normal file
15
src/components/icons/IconCommentDots.astro
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
---
|
||||||
|
import SVGIcon from "./SVGIcon.astro";
|
||||||
|
|
||||||
|
type Props = {
|
||||||
|
width: string;
|
||||||
|
height: string;
|
||||||
|
class?: string;
|
||||||
|
};
|
||||||
|
---
|
||||||
|
|
||||||
|
<SVGIcon {...Astro.props} viewBox="0 0 512 512">
|
||||||
|
<path
|
||||||
|
d="M256 448c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6 .6-1 1.1-1.3 1.4l-.3 .3c0 0 0 0 0 0c0 0 0 0 0 0s0 0 0 0s0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9zM128 208a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm128 0a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm96 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z"
|
||||||
|
></path>
|
||||||
|
</SVGIcon>
|
||||||
15
src/components/icons/IconHome.astro
Normal file
15
src/components/icons/IconHome.astro
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
---
|
||||||
|
import SVGIcon from "./SVGIcon.astro";
|
||||||
|
|
||||||
|
type Props = {
|
||||||
|
width: string;
|
||||||
|
height: string;
|
||||||
|
class?: string;
|
||||||
|
};
|
||||||
|
---
|
||||||
|
|
||||||
|
<SVGIcon {...Astro.props} viewBox="0 0 576 512">
|
||||||
|
<path
|
||||||
|
d="M575.8 255.5c0 18-15 32.1-32 32.1h-32l.7 160.2c0 2.7-.2 5.4-.5 8.1V472c0 22.1-17.9 40-40 40H456c-1.1 0-2.2 0-3.3-.1c-1.4 .1-2.8 .1-4.2 .1H416 392c-22.1 0-40-17.9-40-40V448 384c0-17.7-14.3-32-32-32H256c-17.7 0-32 14.3-32 32v64 24c0 22.1-17.9 40-40 40H160 128.1c-1.5 0-3-.1-4.5-.2c-1.2 .1-2.4 .2-3.6 .2H104c-22.1 0-40-17.9-40-40V360c0-.9 0-1.9 .1-2.8V287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L564.8 231.5c8 7 12 15 11 24z"
|
||||||
|
></path>
|
||||||
|
</SVGIcon>
|
||||||
15
src/components/icons/IconLink.astro
Normal file
15
src/components/icons/IconLink.astro
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
---
|
||||||
|
import SVGIcon from "./SVGIcon.astro";
|
||||||
|
|
||||||
|
type Props = {
|
||||||
|
width: string;
|
||||||
|
height: string;
|
||||||
|
class?: string;
|
||||||
|
};
|
||||||
|
---
|
||||||
|
|
||||||
|
<SVGIcon {...Astro.props} viewBox="0 0 640 512">
|
||||||
|
<path
|
||||||
|
d="M579.8 267.7c56.5-56.5 56.5-148 0-204.5c-50-50-128.8-56.5-186.3-15.4l-1.6 1.1c-14.4 10.3-17.7 30.3-7.4 44.6s30.3 17.7 44.6 7.4l1.6-1.1c32.1-22.9 76-19.3 103.8 8.6c31.5 31.5 31.5 82.5 0 114L422.3 334.8c-31.5 31.5-82.5 31.5-114 0c-27.9-27.9-31.5-71.8-8.6-103.8l1.1-1.6c10.3-14.4 6.9-34.4-7.4-44.6s-34.4-6.9-44.6 7.4l-1.1 1.6C206.5 251.2 213 330 263 380c56.5 56.5 148 56.5 204.5 0L579.8 267.7zM60.2 244.3c-56.5 56.5-56.5 148 0 204.5c50 50 128.8 56.5 186.3 15.4l1.6-1.1c14.4-10.3 17.7-30.3 7.4-44.6s-30.3-17.7-44.6-7.4l-1.6 1.1c-32.1 22.9-76 19.3-103.8-8.6C74 372 74 321 105.5 289.5L217.7 177.2c31.5-31.5 82.5-31.5 114 0c27.9 27.9 31.5 71.8 8.6 103.9l-1.1 1.6c-10.3 14.4-6.9 34.4 7.4 44.6s34.4 6.9 44.6-7.4l1.1-1.6C433.5 260.8 427 182 377 132c-56.5-56.5-148-56.5-204.5 0L60.2 244.3z"
|
||||||
|
></path>
|
||||||
|
</SVGIcon>
|
||||||
|
|
@ -10,6 +10,6 @@ type Props = {
|
||||||
|
|
||||||
<SVGIcon {...Astro.props} viewBox="0 0 64 64">
|
<SVGIcon {...Astro.props} viewBox="0 0 64 64">
|
||||||
<path
|
<path
|
||||||
d="m 48.675781,20.294922 v 23.107422 h 4.53125 v -7.814453 c 0,-1.763417 0.253035,-3.11254 0.759766,-4.044922 0.526997,-0.95265 1.470092,-1.427735 2.828125,-1.427735 1.783686,0 2.675781,1.19613 2.675781,3.587891 v 9.699219 H 64 V 32.578125 c 0,-2.128261 -0.548043,-3.668443 -1.642578,-4.621094 -1.074264,-0.97292 -2.512452,-1.460937 -4.316406,-1.460937 -1.013458,0 -1.936542,0.193011 -2.767578,0.578125 -0.831035,0.385113 -1.510111,1.004164 -2.03711,1.855469 h -0.242187 c 0.04055,-0.304038 0.08055,-0.832073 0.121093,-1.582032 0.06081,-0.749958 0.0918,-1.529077 0.0918,-2.339844 v -4.71289 z M 0,24.398438 v 3.558593 L 10.154297,32.667969 0,36.833984 v 3.556641 l 14.746094,-6.505859 v -2.128907 z m 24.019531,2.097656 c -1.986373,0 -3.577558,0.386024 -4.773437,1.15625 -1.195878,0.770226 -1.794922,1.926342 -1.794922,3.466797 0,0.932379 0.162023,1.7115 0.486328,2.339843 0.324308,0.608075 0.821353,1.13611 1.490234,1.582032 0.668883,0.42565 1.520963,0.860721 2.554688,1.30664 1.074263,0.445922 1.864363,0.809985 2.371094,1.09375 0.506726,0.283768 0.830771,0.538758 0.972656,0.761719 0.162161,0.222961 0.244141,0.475998 0.24414,0.759766 0,0.42565 -0.193013,0.769704 -0.578124,1.033203 -0.364846,0.263497 -0.992924,0.394531 -1.884766,0.394531 -0.790494,0 -1.702602,-0.131034 -2.736328,-0.394531 -1.033724,-0.263499 -1.996831,-0.598527 -2.888672,-1.003906 v 3.740234 c 0.831034,0.344576 1.661153,0.588584 2.492187,0.730469 0.831036,0.162157 1.825128,0.242187 2.980469,0.242187 2.35122,0 4.115407,-0.44605 5.291016,-1.33789 1.195878,-0.912113 1.792968,-2.208286 1.792968,-3.890626 0,-0.993186 -0.193013,-1.79427 -0.578124,-2.402343 -0.364846,-0.628345 -0.890926,-1.1454 -1.580079,-1.550781 -0.689148,-0.425653 -1.510241,-0.831684 -2.46289,-1.216797 -0.972918,-0.405382 -1.713977,-0.729427 -2.220703,-0.972657 -0.486461,-0.243228 -0.81953,-0.465278 -1.001954,-0.667968 -0.162157,-0.222961 -0.24414,-0.466969 -0.24414,-0.730469 0,-0.729687 0.670051,-1.09375 2.007812,-1.09375 0.749959,0 1.489061,0.122003 2.21875,0.365234 0.72969,0.222962 1.499784,0.505034 2.310547,0.84961 l 1.369141,-3.251953 C 28.864236,27.338497 27.90113,27.003474 26.96875,26.800781 26.036372,26.598089 25.053257,26.496094 24.019531,26.496094 Z m 15.109375,0 c -1.986375,0 -3.577557,0.386023 -4.773437,1.15625 -1.195879,0.770227 -1.792969,1.926341 -1.792969,3.466797 0,0.93238 0.162022,1.711499 0.486328,2.339843 0.324308,0.608075 0.821352,1.13611 1.490234,1.582032 0.668883,0.425651 1.519009,0.86072 2.552735,1.30664 1.074264,0.445922 1.866316,0.809984 2.373047,1.09375 0.506727,0.283768 0.830771,0.538758 0.972656,0.761719 0.162161,0.222961 0.242188,0.475998 0.242188,0.759766 0,0.425651 -0.19106,0.769704 -0.576172,1.033203 -0.364846,0.263498 -0.994876,0.394531 -1.886719,0.394531 -0.790495,0 -1.702601,-0.131033 -2.736328,-0.394531 -1.033725,-0.263499 -1.994877,-0.598526 -2.886719,-1.003906 v 3.740234 c 0.831035,0.344576 1.661152,0.588584 2.492188,0.730469 0.831035,0.162158 1.825126,0.242187 2.980468,0.242187 2.351222,0 4.113453,-0.446049 5.289063,-1.33789 1.195878,-0.912113 1.794922,-2.208285 1.794922,-3.890626 0,-0.993187 -0.193012,-1.794269 -0.578125,-2.402343 -0.364845,-0.628345 -0.892879,-1.145399 -1.582032,-1.550781 -0.689149,-0.425653 -1.51024,-0.831683 -2.46289,-1.216797 -0.972919,-0.405382 -1.712023,-0.729427 -2.21875,-0.972657 C 37.822133,32.090755 37.48711,31.868707 37.304688,31.666016 37.142529,31.443055 37.0625,31.199047 37.0625,30.935547 c 0,-0.729688 0.668097,-1.09375 2.005859,-1.09375 0.74996,0 1.491014,0.122003 2.220703,0.365234 0.729691,0.222962 1.499783,0.505034 2.310547,0.84961 l 1.367188,-3.251953 C 43.97361,27.338497 43.010506,27.003474 42.078125,26.800781 41.145746,26.598089 40.162633,26.496094 39.128906,26.496094 Z"
|
d="m 49.570312,19.189453 v 25.011719 h 4.875 v -8.978516 c 0,-0.577155 0.106552,-1.05859 0.320313,-1.443359 0.213761,-0.406146 0.513668,-0.715927 0.898437,-0.929688 0.384771,-0.235137 0.832677,-0.353515 1.345704,-0.353515 0.790916,0 1.347327,0.236757 1.667968,0.707031 0.320642,0.470274 0.480469,1.14311 0.480469,2.019531 v 8.978516 H 64 v -9.683594 c 0,-1.218438 -0.171654,-2.244456 -0.513672,-3.078125 -0.342018,-0.833668 -0.886602,-1.465056 -1.634766,-1.892578 -0.726787,-0.427522 -1.69953,-0.640625 -2.917968,-0.640625 -1.218439,0 -2.212882,0.278206 -2.982422,0.833984 -0.641283,0.470275 -1.142466,1.046434 -1.50586,1.730469 V 19.189453 Z M 0,27.271484 v 4.744141 L 9.4589844,35.863281 0,39.455078 v 4.777344 l 16.353516,-6.861328 v -3.238282 z m 25.650391,1.859375 c -1.068806,0 -2.019848,0.159827 -2.853516,0.480469 -0.812293,0.320642 -1.463427,0.790249 -1.955078,1.410156 -0.470274,0.619908 -0.705078,1.379547 -0.705078,2.277344 0,0.940549 0.203228,1.710062 0.609375,2.308594 0.406146,0.598531 0.919156,1.079966 1.539062,1.443359 0.641284,0.342018 1.31412,0.639971 2.019532,0.896485 0.790916,0.235137 1.410476,0.460067 1.859374,0.673828 0.470275,0.213761 0.801756,0.438691 0.994141,0.673828 0.192385,0.213761 0.289063,0.480139 0.289063,0.800781 0,0.342018 -0.118379,0.620223 -0.353516,0.833985 C 26.858612,41.143449 26.495556,41.25 26.003906,41.25 c -0.342017,0 -0.748475,-0.06315 -1.21875,-0.191406 -0.470274,-0.149633 -1.014858,-0.396264 -1.634765,-0.738282 -0.598532,-0.363394 -1.271368,-0.854701 -2.019532,-1.474609 l -2.021484,3.207031 c 0.662659,0.513027 1.378898,0.982634 2.148437,1.410157 0.76954,0.406146 1.604157,0.727753 2.501954,0.96289 0.919172,0.256514 1.901789,0.384766 2.949218,0.384766 1.774218,0 3.143544,-0.396584 4.105469,-1.1875 0.983301,-0.812292 1.47461,-2.009965 1.474609,-3.591797 0,-0.919173 -0.203228,-1.655159 -0.609374,-2.210938 -0.38477,-0.555778 -0.909607,-1.015511 -1.572266,-1.378906 -0.641283,-0.363393 -1.345694,-0.685001 -2.115234,-0.96289 -0.726788,-0.277889 -1.346349,-0.502819 -1.859376,-0.673828 -0.49165,-0.192386 -0.876407,-0.393661 -1.154296,-0.607422 -0.256513,-0.213761 -0.384766,-0.482093 -0.384766,-0.802735 0,-0.277889 0.106551,-0.502819 0.320312,-0.673828 0.235138,-0.171009 0.576493,-0.255859 1.025391,-0.255859 0.66266,0 1.390725,0.193354 2.181641,0.578125 0.790916,0.363393 1.495327,0.833001 2.115234,1.410156 L 31.96875,31.310547 C 31.391595,30.883025 30.770081,30.508142 30.107422,30.1875 29.466139,29.866858 28.771601,29.610354 28.023438,29.417969 27.29665,29.225584 26.505435,29.130859 25.650391,29.130859 Z m 14.623047,0 c -1.068806,0 -2.021801,0.159827 -2.855469,0.480469 -0.812292,0.320642 -1.463428,0.790249 -1.955078,1.410156 -0.470275,0.619908 -0.705079,1.379547 -0.705079,2.277344 0,0.940549 0.203229,1.710062 0.609376,2.308594 0.406145,0.598531 0.919155,1.079966 1.539062,1.443359 0.641283,0.342018 1.314119,0.639971 2.019531,0.896485 0.790916,0.235137 1.410476,0.460067 1.859375,0.673828 0.470274,0.213761 0.801756,0.438691 0.994141,0.673828 0.192385,0.213761 0.289062,0.480139 0.289062,0.800781 0,0.342018 -0.118377,0.620223 -0.353515,0.833985 C 41.479707,41.143449 41.11665,41.25 40.625,41.25 c -0.342018,0 -0.748476,-0.06315 -1.21875,-0.191406 -0.470274,-0.149633 -1.014858,-0.396264 -1.634766,-0.738282 -0.598531,-0.363394 -1.271367,-0.854701 -2.019531,-1.474609 l -2.019531,3.207031 c 0.66266,0.513027 1.376944,0.982634 2.146484,1.410157 0.76954,0.406146 1.604156,0.727753 2.501953,0.96289 0.919173,0.256514 1.90179,0.384766 2.949219,0.384766 1.774218,0 3.143544,-0.396584 4.105469,-1.1875 0.983301,-0.812292 1.474609,-2.009965 1.474609,-3.591797 0,-0.919173 -0.203228,-1.655159 -0.609375,-2.210938 -0.384769,-0.555778 -0.909605,-1.015511 -1.572265,-1.378906 -0.641284,-0.363393 -1.345695,-0.685001 -2.115235,-0.96289 -0.726788,-0.277889 -1.346348,-0.502819 -1.859375,-0.673828 -0.49165,-0.192386 -0.876407,-0.393661 -1.154297,-0.607422 -0.256513,-0.213761 -0.384765,-0.482093 -0.384765,-0.802735 0,-0.277889 0.106551,-0.502819 0.320312,-0.673828 0.235137,-0.171009 0.576493,-0.255859 1.025391,-0.255859 0.662659,0 1.390724,0.193354 2.181641,0.578125 0.790915,0.363393 1.495326,0.833001 2.115234,1.410156 l 1.732422,-3.142578 c -0.577155,-0.427522 -1.198668,-0.802405 -1.861328,-1.123047 -0.641284,-0.320642 -1.335821,-0.577146 -2.083985,-0.769531 -0.726788,-0.192385 -1.516049,-0.28711 -2.371093,-0.28711 z"
|
||||||
></path>
|
></path>
|
||||||
</SVGIcon>
|
</SVGIcon>
|
||||||
|
|
|
||||||
|
|
@ -1,15 +0,0 @@
|
||||||
---
|
|
||||||
import SVGIcon from "./SVGIcon.astro";
|
|
||||||
|
|
||||||
type Props = {
|
|
||||||
width: string;
|
|
||||||
height: string;
|
|
||||||
class?: string;
|
|
||||||
};
|
|
||||||
---
|
|
||||||
|
|
||||||
<SVGIcon {...Astro.props} viewBox="0 0 64 64">
|
|
||||||
<path
|
|
||||||
d="m 19.478516,22.262 v 2.78125 h 8.347656 V 22.262 Z m 8.347656,2.78125 v 2.783203 h 2.783203 V 25.04325 Z m -8.347656,0 h -2.783204 v 5.566406 h 2.783204 z m 0,5.566406 v 2.78125 h 8.347656 v -2.78125 z m 8.347656,2.78125 v 5.566406 h 2.783203 v -5.566406 z m 0,5.566406 h -8.347656 v 2.78125 h 8.347656 z m -8.347656,0 v -2.783203 h -2.783204 v 2.783203 z M 36.173828,22.262 v 2.78125 h 8.347656 V 22.262 Z m 8.347656,2.78125 v 2.783203 h 2.783204 V 25.04325 Z m -8.347656,0 h -2.783203 v 5.566406 h 2.783203 z m 0,5.566406 v 2.78125 h 8.347656 v -2.78125 z m 8.347656,2.78125 v 5.566406 h 2.783204 v -5.566406 z m 0,5.566406 h -8.347656 v 2.78125 h 8.347656 z m -8.347656,0 v -2.783203 h -2.783203 v 2.783203 z M 50.087891,22.262 v 19.476562 h 2.78125 v -8.347656 h 8.347656 v 8.347656 H 64 V 22.262 h -2.783203 v 8.347656 H 52.869141 V 22.262 Z M 0,25.04325 v 2.783203 H 5.5644531 V 25.04325 Z m 5.5644531,2.783203 v 2.783203 h 5.5664059 v -2.783203 z m 5.5664059,2.783203 v 2.78125 h 2.78125 v -2.78125 z m 0,2.78125 H 5.5644531 v 2.783203 H 11.130859 Z M 5.5644531,36.174109 H 0 v 2.783203 h 5.5644531 z"
|
|
||||||
></path>
|
|
||||||
</SVGIcon>
|
|
||||||
15
src/components/icons/brands/IconTumblr.astro
Normal file
15
src/components/icons/brands/IconTumblr.astro
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
---
|
||||||
|
import SVGIcon from "../SVGIcon.astro";
|
||||||
|
|
||||||
|
type Props = {
|
||||||
|
width: string;
|
||||||
|
height: string;
|
||||||
|
class?: string;
|
||||||
|
};
|
||||||
|
---
|
||||||
|
|
||||||
|
<SVGIcon {...Astro.props} viewBox="0 0 24 24">
|
||||||
|
<path
|
||||||
|
d="M14.563 24c-5.093 0-7.031-3.756-7.031-6.411V9.747H5.116V6.648c3.63-1.313 4.512-4.596 4.71-6.469C9.84.051 9.941 0 9.999 0h3.517v6.114h4.801v3.633h-4.82v7.47c.016 1.001.375 2.371 2.207 2.371h.09c.631-.02 1.486-.205 1.936-.419l1.156 3.425c-.436.636-2.4 1.374-4.156 1.404h-.178l.011.002z"
|
||||||
|
></path>
|
||||||
|
</SVGIcon>
|
||||||
29
src/components/icons/brands/index.ts
Normal file
29
src/components/icons/brands/index.ts
Normal file
|
|
@ -0,0 +1,29 @@
|
||||||
|
export { default as IconBluesky } from "./IconBluesky.astro";
|
||||||
|
export { default as IconCodeberg } from "./IconCodeberg.astro";
|
||||||
|
export { default as IconCohost } from "./IconCohost.astro";
|
||||||
|
export { default as IconDiscord } from "./IconDiscord.astro";
|
||||||
|
export { default as IconEkasPortal } from "./IconEkasPortal.astro";
|
||||||
|
export { default as IconFurAffinity } from "./IconFurAffinity.astro";
|
||||||
|
export { default as IconGithub } from "./IconGithub.astro";
|
||||||
|
export { default as IconGitlab } from "./IconGitlab.astro";
|
||||||
|
export { default as IconGoogle } from "./IconGoogle.astro";
|
||||||
|
export { default as IconInkbunny } from "./IconInkbunny.astro";
|
||||||
|
export { default as IconItaku } from "./IconItaku.astro";
|
||||||
|
export { default as IconItchIO } from "./IconItchIO.astro";
|
||||||
|
export { default as IconKeybase } from "./IconKeybase.astro";
|
||||||
|
export { default as IconKeyoxide } from "./IconKeyoxide.astro";
|
||||||
|
export { default as IconKofi } from "./IconKofi.astro";
|
||||||
|
export { default as IconMastodon } from "./IconMastodon.astro";
|
||||||
|
export { default as IconNeocities } from "./IconNeocities.astro";
|
||||||
|
export { default as IconPicarto } from "./IconPicarto.astro";
|
||||||
|
export { default as IconReddit } from "./IconReddit.astro";
|
||||||
|
export { default as IconSignal } from "./IconSignal.astro";
|
||||||
|
export { default as IconSoFurry } from "./IconSoFurry.astro";
|
||||||
|
export { default as IconSteam } from "./IconSteam.astro";
|
||||||
|
export { default as IconSubscribeStar } from "./IconSubscribeStar.astro";
|
||||||
|
export { default as IconTelegram } from "./IconTelegram.astro";
|
||||||
|
export { default as IconTumblr } from "./IconTumblr.astro";
|
||||||
|
export { default as IconTwitch } from "./IconTwitch.astro";
|
||||||
|
export { default as IconWeasyl } from "./IconWeasyl.astro";
|
||||||
|
export { default as IconX } from "./IconX.astro";
|
||||||
|
export { default as IconYouTube } from "./IconYouTube.astro";
|
||||||
11
src/components/icons/index.ts
Normal file
11
src/components/icons/index.ts
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
export { default as IconArrowUpRightFromSquare } from "./IconArrowUpRightFromSquare.astro";
|
||||||
|
export { default as IconBriefcase } from "./IconBriefcase.astro";
|
||||||
|
export { default as IconCommentDots } from "./IconCommentDots.astro";
|
||||||
|
export { default as IconEnvelope } from "./IconEnvelope.astro";
|
||||||
|
export { default as IconLink } from "./IconLink.astro";
|
||||||
|
export { default as IconMoon } from "./IconMoon.astro";
|
||||||
|
export { default as IconSquareRSS } from "./IconSquareRSS.astro";
|
||||||
|
export { default as IconSSH } from "./IconSSH.astro";
|
||||||
|
export { default as IconSun } from "./IconSun.astro";
|
||||||
|
export { default as IconTriangleExclamation } from "./IconTriangleExclamation.astro";
|
||||||
|
export { default as SVGIcon } from "./SVGIcon.astro";
|
||||||
|
|
@ -5,8 +5,7 @@ import "../styles/base.css";
|
||||||
import "../styles/fonts.css";
|
import "../styles/fonts.css";
|
||||||
import DarkModeScript from "../components/DarkModeScript.astro";
|
import DarkModeScript from "../components/DarkModeScript.astro";
|
||||||
import NavHeader from "../components/NavHeader.astro";
|
import NavHeader from "../components/NavHeader.astro";
|
||||||
import IconSun from "../components/icons/IconSun.astro";
|
import { IconSun, IconMoon } from "../components/icons";
|
||||||
import IconMoon from "../components/icons/IconMoon.astro";
|
|
||||||
import AgeRestrictedModal from "../components/AgeRestrictedModal.astro";
|
import AgeRestrictedModal from "../components/AgeRestrictedModal.astro";
|
||||||
|
|
||||||
type Props = {
|
type Props = {
|
||||||
|
|
@ -74,7 +73,7 @@ const title = pageTitle ? `${pageTitle} | Bad Manners` : "Bad Manners";
|
||||||
>
|
>
|
||||||
<span class="print:hidden" aria-hidden="true"> | </span>
|
<span class="print:hidden" aria-hidden="true"> | </span>
|
||||||
<a
|
<a
|
||||||
href="/licenses.txt"
|
href="/licenses.toml"
|
||||||
rel="license"
|
rel="license"
|
||||||
class="transition-colors hover:text-white hover:underline focus:text-white focus:underline motion-reduce:transition-none dark:hover:text-bm-300 dark:focus:text-bm-300 print:hidden"
|
class="transition-colors hover:text-white hover:underline focus:text-white focus:underline motion-reduce:transition-none dark:hover:text-bm-300 dark:focus:text-bm-300 print:hidden"
|
||||||
>
|
>
|
||||||
|
|
|
||||||
|
|
@ -21,12 +21,13 @@ RedirectMatch 301 ^/@/(ink[_-]?bunny|ib)\b https://inkbunny.net/BadManners
|
||||||
RedirectMatch 301 ^/@/itaku\b https://itaku.ee/profile/badmanners
|
RedirectMatch 301 ^/@/itaku\b https://itaku.ee/profile/badmanners
|
||||||
RedirectMatch 301 ^/@/itch\b https://bad-manners.itch.io
|
RedirectMatch 301 ^/@/itch\b https://bad-manners.itch.io
|
||||||
RedirectMatch 301 ^/@/keybase\b https://keybase.io/badmanners
|
RedirectMatch 301 ^/@/keybase\b https://keybase.io/badmanners
|
||||||
RedirectMatch 301 ^/@/keyoxide\b https://keyoxide.org/aspe%3Akeyoxide.org%3AUWYBVFCBFXTVUF2U6FS6AYJHLU
|
RedirectMatch 301 ^/@/keyoxide\b https://keyoxide.org/aspe:keyoxide.org:UWYBVFCBFXTVUF2U6FS6AYJHLU
|
||||||
RedirectMatch 301 ^/@/ko[._-]?fi\b https://ko-fi.com/badmanners
|
RedirectMatch 301 ^/@/ko[._-]?fi\b https://ko-fi.com/badmanners
|
||||||
RedirectMatch 301 ^/@/(mastodon|meow[._-]?social|gulp[._-]?cafe)\b https://meow.social/@BadManners
|
RedirectMatch 301 ^/@/(mastodon|meow[._-]?social|gulp[._-]?cafe)\b https://meow.social/@BadManners
|
||||||
RedirectMatch 301 ^/@/neo[_-]?cities\b https://badmanners.neocities.org
|
RedirectMatch 301 ^/@/neo[_-]?cities\b https://badmanners.neocities.org
|
||||||
RedirectMatch 301 ^/@/picarto\b https://www.picarto.tv/BadManners
|
RedirectMatch 301 ^/@/picarto\b https://www.picarto.tv/BadManners
|
||||||
RedirectMatch 301 ^/@/pillow[_-]?fort\b https://www.pillowfort.social/BadManners
|
RedirectMatch 301 ^/@/pillow[_-]?fort\b https://www.pillowfort.social/BadManners
|
||||||
|
RedirectMatch 301 ^/@/pronouns?\b https://pronouns.cc/@BadManners
|
||||||
RedirectMatch 301 ^/@/redd\.?it\b https://www.reddit.com/user/BadManners_
|
RedirectMatch 301 ^/@/redd\.?it\b https://www.reddit.com/user/BadManners_
|
||||||
RedirectMatch 301 ^/@/signal\b https://signal.me/#eu/ytt_rk0fFmAB2JAW-x2PbUiJyc_H3kYmfL_Pq4QNh5QIDsiFtjdFHaqFRs1D36tB
|
RedirectMatch 301 ^/@/signal\b https://signal.me/#eu/ytt_rk0fFmAB2JAW-x2PbUiJyc_H3kYmfL_Pq4QNh5QIDsiFtjdFHaqFRs1D36tB
|
||||||
RedirectMatch 301 ^/@/(so[_-]?furry|sf)\b https://bad-manners.sofurry.com
|
RedirectMatch 301 ^/@/(so[_-]?furry|sf)\b https://bad-manners.sofurry.com
|
||||||
|
|
|
||||||
|
|
@ -1,26 +1,31 @@
|
||||||
---
|
---
|
||||||
import { Image } from "astro:assets";
|
import { Image } from "astro:assets";
|
||||||
import BaseLayout from "../layouts/BaseLayout.astro";
|
import BaseLayout from "../layouts/BaseLayout.astro";
|
||||||
import IconArrowUpRightFromSquare from "../components/icons/IconArrowUpRightFromSquare.astro";
|
import { IconArrowUpRightFromSquare } from "../components/icons";
|
||||||
import ImageSamStickerJuicebox from "../assets/images/sam_sticker_juicebox.webp";
|
import { ImageSamStickerJuicebox } from "../assets/images";
|
||||||
---
|
---
|
||||||
|
|
||||||
<BaseLayout pageTitle="About me">
|
<BaseLayout pageTitle="About me">
|
||||||
<meta slot="head-description" property="og:description" content="About Bad Manners." />
|
<meta slot="head-description" property="og:description" content="About Bad Manners." />
|
||||||
<article class="h-card" aria-labelledby="title-about-me">
|
<article class="h-card" aria-labelledby="title-about-me">
|
||||||
<h1 id="title-about-me" class="text-2xl sm:text-3xl">About me</h1>
|
<h1 id="title-about-me" class="text-2xl sm:text-3xl">About me</h1>
|
||||||
<section id="section-bad-manners">
|
<section>
|
||||||
<p class="mb-4 mt-5 text-justify indent-6 sm:mb-3 sm:mt-6 sm:px-5 sm:indent-12">
|
<p class="mb-4 mt-5 text-justify indent-6 sm:mb-3 sm:mt-6 sm:px-5 sm:indent-12">
|
||||||
You can call me <b class="p-name font-semibold">Bad Manners</b>, <b class="p-nickname font-semibold">Manners</b
|
You can call me <b class="p-name font-semibold">Bad Manners</b>, <b class="p-nickname font-semibold">Manners</b
|
||||||
>, <b class="p-nickname font-semibold"><abbr>BM</abbr></b>, <b class="p-nickname font-semibold">Bad</b>, <b
|
>, <b class="p-nickname font-semibold"><abbr>BM</abbr></b>, <b class="p-nickname font-semibold">Bad</b>, <b
|
||||||
class="p-nickname font-semibold">Briefcase</b
|
class="p-nickname font-semibold">Briefcase</b
|
||||||
>... many choices to pick from! My pronouns are <span class="p-pronoun font-medium">he/him</span>. The term "bad
|
>... many choices to pick from! My pronouns are <span
|
||||||
manners" comes from gaming, where it's used to refer to acting in a purposefully disrespectful and taunting
|
class="p-pronoun font-medium underline decoration-current decoration-dotted"
|
||||||
manner towards other players, but I also chose this moniker as it has plenty of personal meanings attached to
|
data-tippy-content="he/him/his/his/himself">he/him</span
|
||||||
it.
|
> or <span
|
||||||
|
class="p-pronoun font-medium underline decoration-current decoration-dotted"
|
||||||
|
data-tippy-content="they/them/their/theirs/themself">they/them</span
|
||||||
|
>. The term "bad manners" comes from gaming, referencing when someone acts in a purposefully disrespectful and
|
||||||
|
taunting manner towards other players – and I chose this moniker as it has plenty of personal meanings
|
||||||
|
attached to it.
|
||||||
</p>
|
</p>
|
||||||
</section>
|
</section>
|
||||||
<section id="section-sam-brendan" class="h-card">
|
<section class="h-card">
|
||||||
<p class="my-4 text-justify indent-6 sm:mb-3 sm:px-5 sm:indent-12">
|
<p class="my-4 text-justify indent-6 sm:mb-3 sm:px-5 sm:indent-12">
|
||||||
You can also call me <b class="p-first-name font-semibold">Sam</b>, which is my <span class="p-category"
|
You can also call me <b class="p-first-name font-semibold">Sam</b>, which is my <span class="p-category"
|
||||||
>fursona</span
|
>fursona</span
|
||||||
|
|
@ -45,7 +50,7 @@ import ImageSamStickerJuicebox from "../assets/images/sam_sticker_juicebox.webp"
|
||||||
A sticker of Sam by
|
A sticker of Sam by
|
||||||
<a
|
<a
|
||||||
class="h-card u-url text-link transition-colors motion-reduce:transition-none"
|
class="h-card u-url text-link transition-colors motion-reduce:transition-none"
|
||||||
href="https://olivecow.carrd.co/"
|
href="https://olivecow.carrd.co"
|
||||||
rel="nofollow"
|
rel="nofollow"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
>
|
>
|
||||||
|
|
@ -57,3 +62,20 @@ import ImageSamStickerJuicebox from "../assets/images/sam_sticker_juicebox.webp"
|
||||||
</section>
|
</section>
|
||||||
</article>
|
</article>
|
||||||
</BaseLayout>
|
</BaseLayout>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { ENABLE_VIEW_TRANSITIONS } from "astro:env/client";
|
||||||
|
import tippy from "tippy.js";
|
||||||
|
import "tippy.js/dist/tippy.css";
|
||||||
|
|
||||||
|
const initTooltips = () => {
|
||||||
|
tippy("[data-tippy-content]", {
|
||||||
|
theme: "bm",
|
||||||
|
});
|
||||||
|
};
|
||||||
|
if (ENABLE_VIEW_TRANSITIONS) {
|
||||||
|
document.addEventListener("astro:page-load", initTooltips);
|
||||||
|
} else {
|
||||||
|
initTooltips();
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
|
||||||
|
|
@ -8,14 +8,14 @@ export const GET: APIRoute = ({ site }) => {
|
||||||
title: "Bad Manners",
|
title: "Bad Manners",
|
||||||
description: "Bad Manners status updates",
|
description: "Bad Manners status updates",
|
||||||
site: site!,
|
site: site!,
|
||||||
items: TOS_FEED.map(({ status, updatedAt }) => ({
|
items: TOS_FEED.map(({ status, updatedAt }, i) => ({
|
||||||
title: {
|
title: {
|
||||||
CLOSED: "Story commissions are closed.",
|
CLOSED: "Story commissions are closed.",
|
||||||
OPEN: "Story commissions are open!",
|
OPEN: "Story commissions are open!",
|
||||||
SEMI_OPEN: "Story commissions are semi-open, and I may accept them less frequently.",
|
SEMI_OPEN: "Story commissions are semi-open, and I may accept them less frequently.",
|
||||||
PRIVATE: "Story commissions are private; they are only open to select commissioners.",
|
PRIVATE: "Story commissions are private; they are only open to select commissioners.",
|
||||||
}[status],
|
}[status],
|
||||||
link: "https://badmanners.xyz/terms_of_service",
|
link: i === 0 ? "https://badmanners.xyz/terms_of_service" : undefined,
|
||||||
pubDate: subMinutes(dateSet(updatedAt, { hours: 12, minutes: 0, seconds: 0 }), updatedAt.getTimezoneOffset()),
|
pubDate: subMinutes(dateSet(updatedAt, { hours: 12, minutes: 0, seconds: 0 }), updatedAt.getTimezoneOffset()),
|
||||||
})),
|
})),
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -1,43 +1,44 @@
|
||||||
---
|
---
|
||||||
import BaseLayout from "../layouts/BaseLayout.astro";
|
import BaseLayout from "../layouts/BaseLayout.astro";
|
||||||
import IconEnvelope from "../components/icons/IconEnvelope.astro";
|
import { IconEnvelope, IconBriefcase, IconLink, IconCommentDots, IconSSH } from "../components/icons";
|
||||||
import IconBriefcase from "../components/icons/IconBriefcase.astro";
|
import {
|
||||||
import IconBluesky from "../components/icons/brands/IconBluesky.astro";
|
IconBluesky,
|
||||||
import IconCodeberg from "../components/icons/brands/IconCodeberg.astro";
|
IconCodeberg,
|
||||||
import IconCohost from "../components/icons/brands/IconCohost.astro";
|
IconCohost,
|
||||||
import IconDiscord from "../components/icons/brands/IconDiscord.astro";
|
IconDiscord,
|
||||||
import IconEkasPortal from "../components/icons/brands/IconEkasPortal.astro";
|
IconEkasPortal,
|
||||||
import IconFurAffinity from "../components/icons/brands/IconFurAffinity.astro";
|
IconFurAffinity,
|
||||||
import IconGitHub from "../components/icons/brands/IconGitHub.astro";
|
IconGithub,
|
||||||
import IconGitLab from "../components/icons/brands/IconGitLab.astro";
|
IconGitlab,
|
||||||
import IconGoogle from "../components/icons/brands/IconGoogle.astro";
|
IconGoogle,
|
||||||
import IconInkbunny from "../components/icons/brands/IconInkbunny.astro";
|
IconInkbunny,
|
||||||
import IconItaku from "../components/icons/brands/IconItaku.astro";
|
IconItaku,
|
||||||
import IconItchIO from "../components/icons/brands/IconItchIO.astro";
|
IconItchIO,
|
||||||
import IconKeybase from "../components/icons/brands/IconKeybase.astro";
|
IconKeybase,
|
||||||
import IconKeyoxide from "../components/icons/brands/IconKeyoxide.astro";
|
IconKeyoxide,
|
||||||
import IconKofi from "../components/icons/brands/IconKofi.astro";
|
IconKofi,
|
||||||
import IconMastodon from "../components/icons/brands/IconMastodon.astro";
|
IconMastodon,
|
||||||
import IconNeocities from "../components/icons/brands/IconNeocities.astro";
|
IconNeocities,
|
||||||
import IconPicarto from "../components/icons/brands/IconPicarto.astro";
|
IconPicarto,
|
||||||
import IconReddit from "../components/icons/brands/IconReddit.astro";
|
IconReddit,
|
||||||
import IconSignal from "../components/icons/brands/IconSignal.astro";
|
IconSignal,
|
||||||
import IconSoFurry from "../components/icons/brands/IconSoFurry.astro";
|
IconSoFurry,
|
||||||
import IconSSH from "../components/icons/IconSSH.astro";
|
IconSteam,
|
||||||
import IconSteam from "../components/icons/brands/IconSteam.astro";
|
IconSubscribeStar,
|
||||||
import IconSubscribeStar from "../components/icons/brands/IconSubscribeStar.astro";
|
IconTelegram,
|
||||||
import IconTelegram from "../components/icons/brands/IconTelegram.astro";
|
IconTumblr,
|
||||||
import IconTwitch from "../components/icons/brands/IconTwitch.astro";
|
IconTwitch,
|
||||||
import IconWeasyl from "../components/icons/brands/IconWeasyl.astro";
|
IconWeasyl,
|
||||||
import IconX from "../components/icons/brands/IconX.astro";
|
IconX,
|
||||||
import IconYouTube from "../components/icons/brands/IconYouTube.astro";
|
IconYouTube,
|
||||||
|
} from "../components/icons/brands";
|
||||||
---
|
---
|
||||||
|
|
||||||
<BaseLayout>
|
<BaseLayout>
|
||||||
<meta
|
<meta
|
||||||
slot="head-description"
|
slot="head-description"
|
||||||
property="og:description"
|
property="og:description"
|
||||||
content="Safe vore enthusiast, mimic hybrid, and occasional writer."
|
content="Safe vore enthusiast, mimic hybrid furry, and occasional writer."
|
||||||
/>
|
/>
|
||||||
<article class="h-card" aria-label="Homepage of Bad Manners">
|
<article class="h-card" aria-label="Homepage of Bad Manners">
|
||||||
<h1 id="title-home" class="pb-4 text-3xl tracking-tight sm:text-5xl">
|
<h1 id="title-home" class="pb-4 text-3xl tracking-tight sm:text-5xl">
|
||||||
|
|
@ -47,42 +48,35 @@ import IconYouTube from "../components/icons/brands/IconYouTube.astro";
|
||||||
<img
|
<img
|
||||||
loading="eager"
|
loading="eager"
|
||||||
src="/logo.webp"
|
src="/logo.webp"
|
||||||
alt="Logo for Bad Manners"
|
alt="A pixelated metal briefcase over a background with a green gradient."
|
||||||
class="u-logo mx-auto my-4 h-screen max-h-48 rounded-full transition-transform hover:scale-110 motion-reduce:transition-none motion-reduce:hover:scale-100 sm:max-h-72"
|
class="u-logo mx-auto my-4 h-screen max-h-48 rounded-full transition-transform hover:scale-110 motion-reduce:transition-none motion-reduce:hover:scale-100 sm:max-h-72"
|
||||||
/>
|
/>
|
||||||
<p class="p-note mt-6 sm:px-5 md:px-6">
|
<p class="p-note mt-6 sm:px-5 md:px-6">I'm a safe vore enthusiast, a furry, and occasional writer.</p>
|
||||||
I'm a safe vore enthusiast, a furry programmer, and occasionally a writer.
|
|
||||||
</p>
|
|
||||||
{
|
|
||||||
Astro.site ? (
|
|
||||||
<a id="website" href={Astro.site} class="u-url sr-only" aria-label="Permalink">
|
|
||||||
{Astro.site}
|
|
||||||
</a>
|
|
||||||
) : null
|
|
||||||
}
|
|
||||||
<ul
|
<ul
|
||||||
id="links"
|
id="links"
|
||||||
class="grid grid-cols-3 gap-x-4 gap-y-5 px-4 pt-8 sm:grid-cols-4 sm:px-20 md:px-32"
|
class="grid grid-cols-3 gap-x-4 gap-y-5 px-4 pt-8 sm:grid-cols-4 sm:px-20 md:px-32"
|
||||||
aria-label="Links"
|
aria-label="Links"
|
||||||
>
|
>
|
||||||
|
{
|
||||||
|
Astro.site ? (
|
||||||
<li>
|
<li>
|
||||||
<a
|
<a
|
||||||
id="e-mail"
|
id="permalink"
|
||||||
class="u-email text-link group block w-full transition-colors motion-reduce:transition-none"
|
class="u-url text-link group block w-full transition-colors motion-reduce:transition-none"
|
||||||
href="mailto:me@badmanners.xyz"
|
href={Astro.site}
|
||||||
rel="me"
|
aria-label="Permalink"
|
||||||
aria-label="me@badmanners.xyz"
|
data-clipboard={Astro.site}
|
||||||
data-clipboard="me@badmanners.xyz"
|
data-noun="URL"
|
||||||
data-noun="E-mail address"
|
|
||||||
>
|
>
|
||||||
<IconEnvelope
|
<IconLink
|
||||||
height="1.75rem"
|
height="1.75rem"
|
||||||
width="1.75rem"
|
width="1.75rem"
|
||||||
class="inline transition-transform group-hover:scale-150 group-focus:scale-150 motion-reduce:transition-none motion-reduce:group-hover:scale-100 motion-reduce:group-focus:scale-100"
|
class="inline transition-transform group-hover:scale-150 group-focus:scale-150 motion-reduce:transition-none motion-reduce:group-hover:scale-100 motion-reduce:group-focus:scale-100"
|
||||||
/>
|
/>
|
||||||
<p class="sr-only">E-mail address</p>
|
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
) : null
|
||||||
|
}
|
||||||
<li>
|
<li>
|
||||||
<a
|
<a
|
||||||
id="gallery"
|
id="gallery"
|
||||||
|
|
@ -99,6 +93,42 @@ import IconYouTube from "../components/icons/brands/IconYouTube.astro";
|
||||||
/>
|
/>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
<li>
|
||||||
|
<a
|
||||||
|
id="pronouns"
|
||||||
|
class="u-url text-link group block w-full transition-colors motion-reduce:transition-none"
|
||||||
|
href="https://pronouns.cc/@BadManners"
|
||||||
|
rel="me"
|
||||||
|
aria-label="Pronouns"
|
||||||
|
>
|
||||||
|
<IconCommentDots
|
||||||
|
height="1.75rem"
|
||||||
|
width="1.75rem"
|
||||||
|
class="inline transition-transform group-hover:scale-150 group-focus:scale-150 motion-reduce:transition-none motion-reduce:group-hover:scale-100 motion-reduce:group-focus:scale-100"
|
||||||
|
/>
|
||||||
|
<p class="p-nickname sr-only">@BadManners on pronouns.cc</p>
|
||||||
|
<p class="p-pronoun sr-only">he/him/his/his/himself</p>
|
||||||
|
<p class="p-pronoun sr-only">they/them/their/theirs/themself</p>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a
|
||||||
|
id="e-mail"
|
||||||
|
class="u-email text-link group block w-full transition-colors motion-reduce:transition-none"
|
||||||
|
href="mailto:me@badmanners.xyz"
|
||||||
|
rel="me"
|
||||||
|
aria-label="E-mail"
|
||||||
|
data-clipboard="me@badmanners.xyz"
|
||||||
|
data-noun="E-mail address"
|
||||||
|
>
|
||||||
|
<IconEnvelope
|
||||||
|
height="1.75rem"
|
||||||
|
width="1.75rem"
|
||||||
|
class="inline transition-transform group-hover:scale-150 group-focus:scale-150 motion-reduce:transition-none motion-reduce:group-hover:scale-100 motion-reduce:group-focus:scale-100"
|
||||||
|
/>
|
||||||
|
<p class="sr-only">E-mail address</p>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a
|
<a
|
||||||
id="bluesky"
|
id="bluesky"
|
||||||
|
|
@ -204,7 +234,7 @@ import IconYouTube from "../components/icons/brands/IconYouTube.astro";
|
||||||
rel="me"
|
rel="me"
|
||||||
aria-label="GitHub"
|
aria-label="GitHub"
|
||||||
>
|
>
|
||||||
<IconGitHub
|
<IconGithub
|
||||||
height="1.75rem"
|
height="1.75rem"
|
||||||
width="1.75rem"
|
width="1.75rem"
|
||||||
class="inline transition-transform group-hover:scale-150 group-focus:scale-150 motion-reduce:transition-none motion-reduce:group-hover:scale-100 motion-reduce:group-focus:scale-100"
|
class="inline transition-transform group-hover:scale-150 group-focus:scale-150 motion-reduce:transition-none motion-reduce:group-hover:scale-100 motion-reduce:group-focus:scale-100"
|
||||||
|
|
@ -220,7 +250,7 @@ import IconYouTube from "../components/icons/brands/IconYouTube.astro";
|
||||||
rel="me"
|
rel="me"
|
||||||
aria-label="GitLab"
|
aria-label="GitLab"
|
||||||
>
|
>
|
||||||
<IconGitLab
|
<IconGitlab
|
||||||
height="1.75rem"
|
height="1.75rem"
|
||||||
width="1.75rem"
|
width="1.75rem"
|
||||||
class="inline transition-transform group-hover:scale-150 group-focus:scale-150 motion-reduce:transition-none motion-reduce:group-hover:scale-100 motion-reduce:group-focus:scale-100"
|
class="inline transition-transform group-hover:scale-150 group-focus:scale-150 motion-reduce:transition-none motion-reduce:group-hover:scale-100 motion-reduce:group-focus:scale-100"
|
||||||
|
|
@ -234,7 +264,7 @@ import IconYouTube from "../components/icons/brands/IconYouTube.astro";
|
||||||
class="u-email text-link group block w-full transition-colors motion-reduce:transition-none"
|
class="u-email text-link group block w-full transition-colors motion-reduce:transition-none"
|
||||||
href="mailto:badmanners.vore@gmail.com"
|
href="mailto:badmanners.vore@gmail.com"
|
||||||
rel="me"
|
rel="me"
|
||||||
aria-label="badmanners.vore@gmail.com"
|
aria-label="Gmail"
|
||||||
data-clipboard="badmanners.vore@gmail.com"
|
data-clipboard="badmanners.vore@gmail.com"
|
||||||
data-noun="Gmail address"
|
data-noun="Gmail address"
|
||||||
>
|
>
|
||||||
|
|
@ -502,6 +532,22 @@ import IconYouTube from "../components/icons/brands/IconYouTube.astro";
|
||||||
<p class="p-nickname sr-only">@bad_manners on Telegram</p>
|
<p class="p-nickname sr-only">@bad_manners on Telegram</p>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
<li>
|
||||||
|
<a
|
||||||
|
id="tumblr"
|
||||||
|
class="u-url text-link group block w-full transition-colors motion-reduce:transition-none"
|
||||||
|
href="https://www.tumblr.com/badmannersxyz"
|
||||||
|
rel="me"
|
||||||
|
aria-label="Tumblr"
|
||||||
|
>
|
||||||
|
<IconTumblr
|
||||||
|
height="1.75rem"
|
||||||
|
width="1.75rem"
|
||||||
|
class="inline transition-transform group-hover:scale-150 group-focus:scale-150 motion-reduce:transition-none motion-reduce:group-hover:scale-100 motion-reduce:group-focus:scale-100"
|
||||||
|
/>
|
||||||
|
<p class="p-nickname sr-only">badmannersxyz on Tumblr</p>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a
|
<a
|
||||||
id="twitch"
|
id="twitch"
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,8 @@
|
||||||
---
|
---
|
||||||
import { Image } from "astro:assets";
|
import { Image } from "astro:assets";
|
||||||
import BaseLayout from "../layouts/BaseLayout.astro";
|
import BaseLayout from "../layouts/BaseLayout.astro";
|
||||||
import IconArrowUpRightFromSquare from "../components/icons/IconArrowUpRightFromSquare.astro";
|
import { IconArrowUpRightFromSquare } from "../components/icons";
|
||||||
import ImageSamAllStickers from "../assets/images/sam_all_stickers.webp";
|
import { ImageSamAllStickers, ImageSamRefsheet } from "../assets/images";
|
||||||
import ImageSamRefsheet from "../assets/images/sam_refsheet.webp";
|
|
||||||
---
|
---
|
||||||
|
|
||||||
<BaseLayout pageTitle="Sam Brendan">
|
<BaseLayout pageTitle="Sam Brendan">
|
||||||
|
|
@ -94,7 +93,7 @@ import ImageSamRefsheet from "../assets/images/sam_refsheet.webp";
|
||||||
A set of stickers featuring Sam Brendan, by
|
A set of stickers featuring Sam Brendan, by
|
||||||
<a
|
<a
|
||||||
class="h-card u-url text-link transition-colors motion-reduce:transition-none"
|
class="h-card u-url text-link transition-colors motion-reduce:transition-none"
|
||||||
href="https://olivecow.carrd.co/"
|
href="https://olivecow.carrd.co"
|
||||||
rel="nofollow"
|
rel="nofollow"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
>
|
>
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
---
|
---
|
||||||
import BaseLayout from "../layouts/BaseLayout.astro";
|
import BaseLayout from "../layouts/BaseLayout.astro";
|
||||||
import IconSquareRSS from "../components/icons/IconSquareRSS.astro";
|
import { IconSquareRSS } from "../components/icons";
|
||||||
|
|
||||||
import { TOS_COMMISSION_STATUS, TOS_UPDATED_AT } from "../data/tos";
|
import { TOS_COMMISSION_STATUS, TOS_UPDATED_AT } from "../data/tos";
|
||||||
---
|
---
|
||||||
|
|
@ -29,23 +29,23 @@ import { TOS_COMMISSION_STATUS, TOS_UPDATED_AT } from "../data/tos";
|
||||||
</div>
|
</div>
|
||||||
{
|
{
|
||||||
TOS_COMMISSION_STATUS == "CLOSED" ? (
|
TOS_COMMISSION_STATUS == "CLOSED" ? (
|
||||||
<p class="mb-4 text-2xl font-medium uppercase sm:mb-8 sm:px-5 md:px-6">
|
<p id="status" class="mb-4 text-2xl font-medium uppercase sm:mb-8 sm:px-5 md:px-6">
|
||||||
Commissions are
|
Commissions are
|
||||||
<span class="text-red-600 dark:text-red-500">closed</span>.
|
<span class="text-red-600 dark:text-red-500">closed</span>.
|
||||||
</p>
|
</p>
|
||||||
) : TOS_COMMISSION_STATUS == "OPEN" ? (
|
) : TOS_COMMISSION_STATUS == "OPEN" ? (
|
||||||
<p class="mb-4 text-2xl font-medium uppercase sm:mb-8 sm:px-5 md:px-6">
|
<p id="status" class="mb-4 text-2xl font-medium uppercase sm:mb-8 sm:px-5 md:px-6">
|
||||||
Commissions are <span class="text-bm-500 dark:text-bm-400">open</span>.
|
Commissions are <span class="text-bm-500 dark:text-bm-400">open</span>.
|
||||||
</p>
|
</p>
|
||||||
) : TOS_COMMISSION_STATUS == "SEMI_OPEN" ? (
|
) : TOS_COMMISSION_STATUS == "SEMI_OPEN" ? (
|
||||||
<p class="mb-4 text-2xl font-medium sm:mb-8 sm:px-5 md:px-6">
|
<p id="status" class="mb-4 text-2xl font-medium sm:mb-8 sm:px-5 md:px-6">
|
||||||
<span class="uppercase">
|
<span class="uppercase">
|
||||||
Commissions are <span class="text-orange-600 dark:text-orange-500">semi-open</span>
|
Commissions are <span class="text-orange-600 dark:text-orange-500">semi-open</span>
|
||||||
</span>
|
</span>
|
||||||
. I'll be more picky about which commissions to take.
|
. I'll be more picky about which commissions to take.
|
||||||
</p>
|
</p>
|
||||||
) : TOS_COMMISSION_STATUS == "PRIVATE" ? (
|
) : TOS_COMMISSION_STATUS == "PRIVATE" ? (
|
||||||
<p class="mb-4 text-2xl font-medium sm:mb-8 sm:px-5 md:px-6">
|
<p id="status" class="mb-4 text-2xl font-medium sm:mb-8 sm:px-5 md:px-6">
|
||||||
<span class="uppercase">
|
<span class="uppercase">
|
||||||
Commissions are <span class="text-red-600 dark:text-red-500">private</span>
|
Commissions are <span class="text-red-600 dark:text-red-500">private</span>
|
||||||
</span>
|
</span>
|
||||||
|
|
@ -54,7 +54,7 @@ import { TOS_COMMISSION_STATUS, TOS_UPDATED_AT } from "../data/tos";
|
||||||
) : null
|
) : null
|
||||||
}
|
}
|
||||||
</section>
|
</section>
|
||||||
<section>
|
<section id="terms">
|
||||||
<p class="mb-2 text-justify indent-6 sm:px-5 sm:indent-12 md:px-6">
|
<p class="mb-2 text-justify indent-6 sm:px-5 sm:indent-12 md:px-6">
|
||||||
To stay flexible with both the word count and the deadline, I'm taking payments <em>after</em> the commission is
|
To stay flexible with both the word count and the deadline, I'm taking payments <em>after</em> the commission is
|
||||||
done. My rate is <b class="font-semibold">US$ 1.50 per 100 words</b>, and the final price is only set when
|
done. My rate is <b class="font-semibold">US$ 1.50 per 100 words</b>, and the final price is only set when
|
||||||
|
|
@ -77,7 +77,7 @@ import { TOS_COMMISSION_STATUS, TOS_UPDATED_AT } from "../data/tos";
|
||||||
words <em>may</em> be requested. In such a case, the final payment will have that amount discounted.
|
words <em>may</em> be requested. In such a case, the final payment will have that amount discounted.
|
||||||
</p>
|
</p>
|
||||||
</section>
|
</section>
|
||||||
<section aria-labelledby="title-commission-subjects">
|
<section id="subjects" aria-labelledby="title-commission-subjects">
|
||||||
<h2 id="title-commission-subjects" class="my-4 text-lg sm:my-6 sm:text-2xl">Commission subjects</h2>
|
<h2 id="title-commission-subjects" class="my-4 text-lg sm:my-6 sm:text-2xl">Commission subjects</h2>
|
||||||
<ul class="mb-8 text-justify text-base sm:px-3 sm:text-lg md:px-6">
|
<ul class="mb-8 text-justify text-base sm:px-3 sm:text-lg md:px-6">
|
||||||
<li class="mx-6 mb-1 list-disc sm:mx-8">
|
<li class="mx-6 mb-1 list-disc sm:mx-8">
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,14 @@
|
||||||
---
|
---
|
||||||
import BaseLayout from "../layouts/BaseLayout.astro";
|
import BaseLayout from "../layouts/BaseLayout.astro";
|
||||||
import IconArrowUpRightFromSquare from "../components/icons/IconArrowUpRightFromSquare.astro";
|
import { IconArrowUpRightFromSquare, IconBriefcase } from "../components/icons";
|
||||||
import IconBriefcase from "../components/icons/IconBriefcase.astro";
|
import {
|
||||||
import IconEkasPortal from "../components/icons/brands/IconEkasPortal.astro";
|
IconEkasPortal,
|
||||||
import IconFurAffinity from "../components/icons/brands/IconFurAffinity.astro";
|
IconFurAffinity,
|
||||||
import IconInkbunny from "../components/icons/brands/IconInkbunny.astro";
|
IconInkbunny,
|
||||||
import IconSoFurry from "../components/icons/brands/IconSoFurry.astro";
|
IconSoFurry,
|
||||||
import IconSubscribeStar from "../components/icons/brands/IconSubscribeStar.astro";
|
IconSubscribeStar,
|
||||||
import IconWeasyl from "../components/icons/brands/IconWeasyl.astro";
|
IconWeasyl,
|
||||||
|
} from "../components/icons/brands";
|
||||||
|
|
||||||
import { TOS_COMMISSION_STATUS } from "../data/tos";
|
import { TOS_COMMISSION_STATUS } from "../data/tos";
|
||||||
import { SUBSCRIBESTAR_ENABLED } from "../data/subscribestar";
|
import { SUBSCRIBESTAR_ENABLED } from "../data/subscribestar";
|
||||||
|
|
@ -118,7 +119,7 @@ import { SUBSCRIBESTAR_ENABLED } from "../data/subscribestar";
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
<section aria-labelledby="title-story-commissions">
|
<section id="commissions" aria-labelledby="title-story-commissions">
|
||||||
<h2 id="title-story-commissions" class="my-4 text-lg sm:my-6 sm:text-2xl">Story commissions</h2>
|
<h2 id="title-story-commissions" class="my-4 text-lg sm:my-6 sm:text-2xl">Story commissions</h2>
|
||||||
{
|
{
|
||||||
TOS_COMMISSION_STATUS == "CLOSED" ? (
|
TOS_COMMISSION_STATUS == "CLOSED" ? (
|
||||||
|
|
@ -166,7 +167,7 @@ import { SUBSCRIBESTAR_ENABLED } from "../data/subscribestar";
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
</section>
|
</section>
|
||||||
<section aria-labelledby="title-paid-subscriptions">
|
<section id="subscribestar" aria-labelledby="title-paid-subscriptions">
|
||||||
<h2 id="title-paid-subscriptions" class="my-4 text-lg sm:my-6 sm:text-2xl">Paid subscriptions and tips</h2>
|
<h2 id="title-paid-subscriptions" class="my-4 text-lg sm:my-6 sm:text-2xl">Paid subscriptions and tips</h2>
|
||||||
{
|
{
|
||||||
SUBSCRIBESTAR_ENABLED ? (
|
SUBSCRIBESTAR_ENABLED ? (
|
||||||
|
|
@ -200,7 +201,7 @@ import { SUBSCRIBESTAR_ENABLED } from "../data/subscribestar";
|
||||||
) : null
|
) : null
|
||||||
}
|
}
|
||||||
</section>
|
</section>
|
||||||
<section aria-labelledby="title-other-work">
|
<section id="other" aria-labelledby="title-other-work">
|
||||||
<h2 id="title-other-work" class="my-4 text-lg sm:my-6 sm:text-2xl">Other work</h2>
|
<h2 id="title-other-work" class="my-4 text-lg sm:my-6 sm:text-2xl">Other work</h2>
|
||||||
<p class="mb-6 mt-3 sm:mb-8 sm:mt-4">
|
<p class="mb-6 mt-3 sm:mb-8 sm:mt-4">
|
||||||
Other than the above, I've done some miscellaneous work. This includes
|
Other than the above, I've done some miscellaneous work. This includes
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue