From ee59ff5c4d489eb66808acc8d5f0994bb610304f Mon Sep 17 00:00:00 2001
From: dtb
Date: Fri, 28 Jul 2023 14:46:47 -0400
Subject: [PATCH] stuff
---
homepage/homepage | 393 ++++++++++++++++++++++++++++++++++++++++------
1 file changed, 343 insertions(+), 50 deletions(-)
diff --git a/homepage/homepage b/homepage/homepage
index b83315d..30230c0 100644
--- a/homepage/homepage
+++ b/homepage/homepage
@@ -16,14 +16,15 @@ class File:
for key in kwargs:
if key == "attributes": self.addattribute(*kwargs[key])
else: setattr(self, key, kwargs[key])
-files = {"./cleanup.sh": File(attributes=["verbatim"], content="#!/bin/sh\n")}
+files = dict()
for part in reversed(sys.stdin.read().split("\n\n\n")):
name = "." + part.split("\n")[0]
if "\t" in "." + name:
attributes = name.split("\t")[1].split(",")
name = name.split("\t")[0]
else: attributes = []
- if len(name) <= 1 or name[1] != "/": continue
+ if len(name) <= 1 or name[1] != "/" or "ignore" in attributes:
+ continue
content = part.split("\n\n")[0].split("\n")
substitutions = dict()
if(len(content) > 1):
@@ -31,9 +32,9 @@ for part in reversed(sys.stdin.read().split("\n\n\n")):
s = s.split("\t")
if len(s) == 2: substitutions[s[0]] = s[1]
mode = "replace"
- for i in range(len(attributes)):
- if attributes[i] in ["append", "replace"]:
- mode = attributes[i]
+ for attribute in attributes:
+ if attribute in ["append", "replace"]:
+ mode = attribute
attributes = list(set(attributes) ^ {"append", "replace"})
content = part[len("\n".join(content))+2:]
file = File(attributes = attributes, content = content,
@@ -45,19 +46,25 @@ for part in reversed(sys.stdin.read().split("\n\n\n")):
else:
file.content = files[name].content + file.content
files[name] = file
+mop = ""
for name in files:
- if name == "./cleanup.sh":
- continue
- directory = "/".join(name.split("/")[:-1])
if files[name].stub:
- prefix = ""
- suffix = ""
- for d in directory.split("/"):
- if d + "/Prefix" in files.keys():
- prefix = files[d + "/Prefix"].content
- if d + "/Suffix" in files.keys():
- suffix = files[d + "/Suffix"].content
- files[name].content = prefix + files[name].content + suffix
+ p = ""; s = ""; d = name
+ while True:
+ d = os.path.dirname(name)
+ if d == "" or (not(p == "") and not(s == "")):
+ break
+ p = (
+ (p == "")
+ * (os.path.join(d, "Prefix") in files.keys())
+ * files[os.path.join(d, "Prefix")].content
+ )
+ s = (
+ (s == "")
+ * (os.path.join(d, "Suffix") in files.keys())
+ * files[os.path.join(d, "Suffix")].content
+ )
+ files[name].content = p + files[name].content + s
if files[name].figurative:
content = files[name].content
for s in files[name].substitutions:
@@ -74,12 +81,12 @@ for name in files:
+ files[name].substitutions[s]
+ content[i+len(s):])
files[name].content = content
- if not(os.path.isdir(directory)):
- os.makedirs(directory)
- files["./cleanup.sh"].content += "rm -r -- " + directory + "\n"
- elif directory == ".":
- files["./cleanup.sh"].content += "rm -- " + name + "\n"
+ # TODO error checking
+ if not(os.path.isdir(os.path.dirname(name))):
+ os.makedirs(os.path.dirname(name))
with open(name, "w") as fd: fd.write(files[name].content)
+d = ""
+for file in files.keys()
if len(files["./cleanup.sh"].content.split("\n")) > 2:
with open("./cleanup.sh", "w") as fd:
fd.write(files["./cleanup.sh"].content + "rm cleanup.sh\n")
@@ -151,23 +158,20 @@ commas (',') and there's no limit to the amount of attributes a file can
have, though in the event of conflicting attributes the later attribute
"wins" the conflict.
-
-In the absence of file attributes, the file will be exported to the
-filesystem, the appropriate Prefix and Suffix files will be prepended and
-appended respectively, and any requested macro substitutions will be
-performed.
-
-
-The "verbatim" attribute indicates that the file should be exported to the
-filesystem without the appropriate Prefix and Suffix files prepended or
-appended. The "stub" attribute indicates the opposite, though its behavior is
-default.
-
-
-The "literally" attribute indicates that the file should not be subject to
-macro expansion despite any other directives. The "figuratively" attribute
-indicates the opposite, though its behavior is default.
-
+
+attribute | default? | action |
+"figuratively" | yes |
+ Indicates the file should be subject to macro expansion. |
+"ignore" | no | Ignore the current entry. |
+
+"literally" | no |
+ Opposite of "figuratively". |
+"stub" | yes |
+ Indicates the file should be exported to the filesystem with the
+ appropriate Prefix and Suffix files prepended or appended. |
+
+"verbatim" | no | Opposite of "stub". |
+
/praise/index.html append,literally
@@ -2280,8 +2284,274 @@ fi
exit 0
+/blah/2023-07-26.html
+
+https://en.wikipedia.org/wiki/Tank_Girl
+https://tankgirl.fandom.com/
+Tank Girl
+https://web.archive.org/web/20160303193237/
+ http://comicbookdb.com/title.php?ID=2006
+https://en.wikipedia.org/wiki/Deadline_(magazine)
+- Deadline (1988-1995)
+ - First appearance - issue #1 (1988).
+https://tankgirl.fandom.com/wiki/Comics
+ - In issues 1-3,5,7-10,12,13,15-17,19-21,23,25,26,29-31,39,40,45-47,50,
+ | 55,56,58,59,61,63,66.
+http://web.archive.org/web/20230726144832/
+ https://www.mycomicshop.com/search?TID=125641
+- Deadline USA (1991-1992)
+ - Appears in all three issues.
+- Tank Girl (1991)
+ - #1 (May) to #4 (August).
+- Tank Girl 2 (1993)
+ - #1 (June) to #4 (September).
+- Tank Girl - The Movie (1995)
+ - 1995-03-28 according to Wikipedia.
+https://en.wikipedia.org/wiki/Tank_Girl_(film)
+- Tank Girl [Movie] (1995)
+ - 1995-03-31 according to Wikipedia.
+- Tank Girl: The Odyssey (1995)
+ - #1 (June) to #4 (November)
+- Tank Girl: Apocalypse (1995-1996)
+ - #1 (November 1995) to #4 (February 1996).
+https://www1.thepiratebay3.to/torrent/11327499/
+ Tank_Girl_Ultimate_Mega_Collection
+- Tank Girl 3 (1996)
+- Tank Girl: The Gifting (2007)
+ - #1 (May) to #4 (August).
+https://archive.org/details/tankgirlarmadill0000mart/
+- Tank Girl: Armadillo! And a Bushel of Other Stories (2008)
+ - Not a comic book but instead a novel(?)
+ - Inside cover mentions Tank Girl 1-3, Odyssey, Apocalypse, and The
+ | Gifting as other Tank Girl publications.
+ - Internet Archive copy has a date on the inside cover of 2008-04-07.
+- Tank Girl: Visions of Booga (2008)
+ - #1 (May) to #4 (August).
+http://web.archive.org/web/20101017222217/http://rufusdayglo.blogspot.com/2008/
+ 07/cream-of-tank-girl.html
+https://www.angusrobertson.com.au/books/the-cream-of-tank-girl-alan-c-martin/p/
+ 9781845769420
+https://www.goodreads.com/en/book/show/4241646
+- The Cream of Tank Girl (2008)
+ - Angus & Robertson lists a publication date of 2008-10-24.
+ - Per "Jennifer" on Goodreads:
+ > This book...does fill in a few missing pieces. ...it's a much
+ | broader history of the authors and the comic, but told in
+ | short bursts of text wedged between lots of art, including
+ | storyboards for an animation that never came to be, lots of
+ | design drawings for the movies, comic covers, and a side
+ | project comic about pirates.
+https://www.suicidegirls.com/girls/nicole_powers/blog/2680051/
+ alan-martin-tank-girl-resurrected/
+http://web.archive.org/web/20101017203627/http://rufusdayglo.blogspot.com/2008/
+ 11/exclusive-tank-girl-art-on-suicide.html
+http://web.archive.org/web/20101017215352/http://rufusdayglo.blogspot.com/2008/
+ 12/second-suicide-girls-exclusive-up-on.html
+http://web.archive.org/web/20101017201911/http://rufusdayglo.blogspot.com/2009/
+ 03/new-tankie-pin-up-on-suicide-girls.html
+http://web.archive.org/web/20101017214638/http://rufusdayglo.blogspot.com/2009/
+ 04/easter-pin-up.html
+http://web.archive.org/web/20090416013112/http://suicidegirls.com:80/members/
+ TankGirl_TGonSG/
+http://web.archive.org/web/20090725162238/http://www.hypergeek.ca/2009/07/
+ thrill-power-thursday-the-weekly-droid-watch-july-23rd-2009.html
+- Suicide Girls appearance (2008-2009)
+ - Promotional pages done monthly.
+ - Eight total; pg. 1 (November 2008) to pg. 8 [presumably June 2009?].
+- Tank Girl: Skidmarks (2009-2010)
+ - #1 (November 2009) to #4 (February 2010).
+ - Collects stories originally published in Judge Dredd Megazine.
+- Tank Girl: Dark Nuggets (2009)
+ - One-shot (December).
+- Tank Girl: The Royal Escape (2010)
+ - #1 (March) to #4 (June).
+- Tank Girl: Dirty Helmets (2010)
+ - One-shot (April).
+- Tank Girl: Hairy Heroes (2010)
+ - One-shot (August).
+- Tank Girl & Booga Split! (2010)
+ - One-shot (November).
+- Tank Girl: Bad Wind Rising (2011)
+ - #1 (January) to #4 (June).
+- Tank Girl: Carioca (2011-2012)
+ - Three issues in print, six in digital.
+ - Digitally, #1 (November 2011) to #6 (January 2012).
+ - Collected in Dirty Old Tank Girl (2019).
+- Everybody Loves Tank Girl (2012)
+ - #1 (August) to #3 (October).
+ - Collected in Total Tank Girl (2017).
+- The Hole of Tank Girl (2012)
+ - Collects Tank Girl 1-3 with bonus material.
+- Solid State Tank Girl (2013)
+ - #1 (June) to #4 (November).
+ - Collected in Total Tank Girl (2017).
+- 21st Century Tank Girl (2015)
+ - #1 (July) to #3 (September).
+- Tank Girl: Two Girls, One Tank (2016)
+ - #1 (June) to #4 (September).
+ - Collected in The Legend of Tank Girl (2018).
+- Tank Girl: Gold (2016-2017)
+ - #1 (September 2016) to #4 (March 2017).
+ - Collected in The Legend of Tank Girl (2018).
+- World War Tank Girl (2017)
+ - #1 (May) to #4 (September).
+ - Collected in The Legend of Tank Girl (2018).
+- The Wonderful World of Tank Girl (2017-2018)
+ - #1 (November 2017) to #4 (May 2018).
+- The Way of Tank Girl (2018)
+ - Art book.
+- A Brief History of Tank Girl (2018)
+ - One-shot (June).
+- Tank Girl All Stars (2018)
+ - #1 (July) to #4 (October).
+- Tank Girl Coloring Book (2018)
+- Tank Girl: Action Alley (2019)
+ - #1 (January) to #4 (May).
+ - #1-4 of Tank Girl Ongoing.
+- Tank Girl Forever (2019)
+ - #1 (August) to #4 (December).
+ - #5-8 of Tank Girl Ongoing.
+https://comicvine.gamespot.com/king-tank-girl-1/4000-813470/
+- King Tank Girl (2020-2021)
+ - #1 (October 2020) to #5 (June 2021).
+
+
+You were good to me and now you're good to go
+ still, I lie awake at night dreaming 'bout the wendigo
+ Its forsaken autophagic mind control
+ Will we meet again or have I eaten at your soul
+Everyone wants someone else for whom they can profess
+ An undying love eternal worship, egoless
+ All I want is an unending episodic mess
+ of a serialized formatted wacky hinjinks-based friendship
+Now I'm a recycling center wage slave, who'd have guessed
+ that I'd be doing unskilled labor in ten hour shifts
+ And everyone else has already had their life condensed
+ into the other fourteen hours where they simply rest
+Yet
+When do I get to live among the cans that we all press?
+ Take the bottle bags off the trucks, feed them into baler vents
+ One fifteen minute pause and then a thirty minute break
+ Work six hundred minutes then a hundred twenty's made
+Can you blame the homeless bum, confined to a park bench?
+ At least he gets to think without breaking his back and neck
+
+
+/blah/2023-07-22.html
+
+2020-10-27
+
+ + +
+ o +
+ + +
+ o
+ o o o
+ + o o
+
+ o +
+ + o
+ o
+ 0 o
+ o o +
+ + o o
+ + + +
+ p
+
+
+ + +
+ o +
+ + +
+ o
+ o o o
+ + o o
+
+ 0 +
+ o +
+ + o
+ o
+ 0 o
+ o o +
+ + o o
+ + + +
+ p
+
+
+ + +
+ o +
+ + +
+ o i d k o i d k o i d k o i d k
+ d k o i d k o i d k o i d k o
+ o i d k o i d k o i d k o i d
+ \
+ k o i d k o i d k o i d k o i
+ o i d k o i d k o i d k o i d k
+ d k o i d k o i d k o i d k o
+ \
+ doki doki
+ \
+ that's the sound my heart makes when i
+ think of her
+ \
+ she occupies every thought i think eve-
+ ry neuron in my brain leads to a neuro-
+ n that leads to another neuron that le-
+ ads me to her
+ \
+ symlinked to every single file
+ \
+ when i wake up i imagine her next to m-
+ e i imagine her perfect hair her perfe-
+ ct smile her perfect being her perfect
+ flaws that make her human more human t-
+ han anything else on the planet i'd se-
+ nd a thousand helens of ships a hundre-
+ d thousand a thousand thousand a milli-
+ on million i'd send so many ships the
+ historians put the number in scientifi-
+ c notation it's the only notation fit
+ to describe her
+ \
+ there are four hundred seventy thousan-
+ d words in the merriam webster third n-
+ ew international dictionary if you inc-
+ lude its nineteen ninety three (that i-
+ s a date) addenda section there are th-
+ at many words and not a single one cou-
+ ld describe the feeling that feeling i-
+ 'd get from running my fingers through her hair. it makes me feel real.
+: ships.txt
+ i'd send those ships out if she
+ went missing
+ what the hell would i do
+ if she did
+ i can't imagine a world without her
+ when i do tears near my eye-lids
+ \
+ the earth, too, may sigh
+ when she leaves its sights
+ the sky, too, will shake
+ retch acid at the end of her wake
+ but the oceans, thankfully, may stay
+ calm
+ because poseidon will sympathize
+ with my longing
+ and i'll voyage on my own if need be
+ for the most beautiful girl
+ to come back to me
+ \
+ if she leaves on her own
+ i'll cry and i'll groan
+ though it's her choice and one
+ i respect
+ but if she's forced by those forces
+ that see joy and put out the torches
+ i will not cease until she is well
+
+
/blah/2023-07-21.html
+2019? 2020?
+
: the usual situation in eurasia, from a distance
say thanks to my wife for making this meal
she toiled all day cooked this supper with zeal
@@ -2837,6 +3107,7 @@ No rights reserved, all rights exercised, rights turned to lefts, left in this c
/Prefix
+
@@ -2856,6 +3127,7 @@ No rights reserved, all rights exercised, rights turned to lefts, left in this c
/blah/Prefix
+
blah
THE WRITER MUST EAT -> patreon.com/trn1ty <-
@@ -9838,18 +10110,6 @@ MUSK FUCK YEAH!!! REDDIT.COM 4CHAN SOYJACK GREENTEXT COPE SEETHE BASED CRINGE
ewon musk owns twittew uwu teswa caw man vwoom vwoom tweet tweet
- thwee six nine
- damn she fine
- hopin' shew sock it to me one mow time
- get low, get low, get low, get low
- FWOM THE WINDOWWW
- TO THE WAWW (to the waww)
- TIW THE SWEAT WUNS OFF MY BAWWS
- TIW AWW THESE BITCHES CWAWW
- TIW AWW SKEET SKEET MOTHEWFUCKEW
- TIW AWW SKEET SKEET GODDAMN
- TIW AWW SKEET SKEET MOTHEWFUCKEW
- TIW AWW SKEET SKEET GODDAMN
/blah/2022-10-27.html
@@ -9933,6 +10193,18 @@ start drinking, like dude, chill out, like, alcohol is just kinda a turn-off in
general. [horns blaring] What's something heavier? Oh damn.
[21:01] Um, methamphetamine, um, I dunno, seems pretty cool, I watched
the entirety of Breaking Bad and Better Call Saul, which recently ended, um,
+it always makes me break out. I get, like, a shit ton of acne, whenever I smoke
+a cigarette. Um, but, it is nice, it's something to do. I don't know, I think
+all those people who are like "oh no, don't smoke cigarettes, they're, they're
+incredibly dangerous, they're gonna kill us all", like, dawg, you can have one
+or two cigarettes, and you'll survive. Um, I had like one cigarette, and I was
+like yeah, this is pretty cool, but it's - it's a really expensive hobby.
+ [21:00] [redacted] but uh, marijuana sounds interesting. Alcohol,
+boring, only losers drink, I lose respect for people pretty fast when they
+start drinking, like dude, chill out, like, alcohol is just kinda a turn-off in
+general. [horns blaring] What's something heavier? Oh damn.
+ [21:01] Um, methamphetamine, um, I dunno, seems pretty cool, I watched
+the entirety of Breaking Bad and Better Call Saul, which recently ended, um,
and judging by that I would say meth seems like something that someone could
do, and it would probably mess them up a little bit, but I dunno, um, [sigh], I
dunno, I don't really judge people who go for hard stuff, like, you know, if
@@ -10646,3 +10918,24 @@ of lawful slavery in the United States.
/clean.sh
# cleanup script
+#!/bin/sh
+#llllmmmm11234567892123456789312345678941234567895123456789612345678971234567890
+set -ex
+<"$0" python3 -c '
+import os, sys
+class File:
+ attributes = []; content = ""; substitutions = dict()
+ figurative = True; stub = True
+ def addattribute(self, *args):
+ for a in args: # sloppy but works
+ if a == "stub": self.stub = True
+ elif a == "verbatim": self.stub = False
+ elif a == "figuratively": self.figurative = True
+ elif a == "literally": self.figurative = False
+ def __init__(self, **kwargs):
+ for key in kwargs:
+ if key == "attributes": self.addattribute(*kwargs[key])
+ else: setattr(self, key, kwargs[key])
+files = dict()
+for part in reversed(sys.stdin.read().split("\n\n\n")):
+ name = "." + part.split("\n")[0]