2022-02-08
This commit is contained in:
		
							parent
							
								
									5b8e914783
								
							
						
					
					
						commit
						d5df24e20d
					
				
							
								
								
									
										144
									
								
								homepage/blog
									
									
									
									
									
								
							
							
						
						
									
										144
									
								
								homepage/blog
									
									
									
									
									
								
							@ -37,6 +37,150 @@ __NAVIGATION__
 | 
			
		||||
</PRE></BODY></HTML>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
2022-02-08
 | 
			
		||||
 | 
			
		||||
	If you had ghosts in your blood cocaine would totally work on getting
 | 
			
		||||
rid of the ghosts.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
2022-02-07
 | 
			
		||||
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
set -ex;mkdir -p blah;python -c "import os;os.chdir('blah')
 | 
			
		||||
with open('../$0', 'r') as f:
 | 
			
		||||
	for day in f.read().split('\n\n\n'):
 | 
			
		||||
		if day.split('\n')[0] == '#!/bin/sh':
 | 
			
		||||
			prefix='\n'.join(day.split('\n')[day.split('\n').index(
 | 
			
		||||
				'exit 0')+1:])+'\n';continue
 | 
			
		||||
		elif day.split('\n')[0][:4] == '<!--': suffix=day;continue
 | 
			
		||||
		with open(day.split('\n')[0]+'.html', 'x') as g:
 | 
			
		||||
			g.write(prefix+day+'\n'+suffix)
 | 
			
		||||
";cd blah;for f in *.html;do #in glob we trust
 | 
			
		||||
test -z "$last" || sed -i "s,__NAVIGATION__,$nav<A HREF=\"$f\">\></A></P>," \
 | 
			
		||||
"$last";nav="<P>";test -z "$last"||nav="$nav<A HREF=\"$last\">\<</A>"
 | 
			
		||||
nav="$nav<A HREF=\"index.html\">^</A>";last="$f";done
 | 
			
		||||
sed -i "s,__NAVIGATION__,$nav</P>," "$last";for f in *.html;do #e unibus puellam
 | 
			
		||||
fi="$(echo "$f" | cut -d . -f 1)";test "$fi" = "index" && continue
 | 
			
		||||
printf '<A HREF="/blah/%s.html">%s</A>\n' "$fi" "$fi"; done|sort -r|\
 | 
			
		||||
sed -e "1i<!DOCTYPE html><HTML><HEAD><TITLE>blah</TITLE></HEAD><BODY><PRE>\
 | 
			
		||||
<A HREF="..">..</A>" -e '$a</PRE></BODY></HTML>'>index.html
 | 
			
		||||
exit 0
 | 
			
		||||
 | 
			
		||||
	That's the source code to this blog, in its entirety. My writing
 | 
			
		||||
process was simple:
 | 
			
		||||
	- write the beginning and initial Python portion
 | 
			
		||||
	- pass out
 | 
			
		||||
	- wake up at 0600 not knowing who or where I am
 | 
			
		||||
	- see this code and continue it
 | 
			
		||||
	- pass out again
 | 
			
		||||
	- wake up at 1700 knowing who but not where I am
 | 
			
		||||
	- write most of the rest
 | 
			
		||||
	- pass out again
 | 
			
		||||
	- wake up half an hour later, finish
 | 
			
		||||
 | 
			
		||||
	It's organized in sections though it doesn't appear to be organized
 | 
			
		||||
whatsoever:
 | 
			
		||||
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
set -ex
 | 
			
		||||
mkdir -p blah
 | 
			
		||||
python -c "
 | 
			
		||||
import os
 | 
			
		||||
os.chdir('blah')
 | 
			
		||||
with open('../$0', 'r') as f:
 | 
			
		||||
	for day in f.read().split('\n\n\n'):
 | 
			
		||||
		if day.split('\n')[0] == '#!/bin/sh':
 | 
			
		||||
			prefix = '\n'.join(
 | 
			
		||||
				day.split('\n')[
 | 
			
		||||
					day.split('\n').index('exit 0')+1:
 | 
			
		||||
				
 | 
			
		||||
				]
 | 
			
		||||
			) + '\n'
 | 
			
		||||
			continue
 | 
			
		||||
		elif day.split('\n')[0][:4] == '<!--':
 | 
			
		||||
			suffix = day
 | 
			
		||||
			continue
 | 
			
		||||
		with open(day.split('\n')[0]+'.html', 'x') as g:
 | 
			
		||||
			g.write(prefix + day + '\n' + suffix)
 | 
			
		||||
"
 | 
			
		||||
 | 
			
		||||
	This splits the blog into days, where each day is delimited by three
 | 
			
		||||
newlines. Every day is two lines apart.
 | 
			
		||||
	A day that starts with the POSIX shell shebang is the /prefix/, which
 | 
			
		||||
is prepended to each day. It cuts off everything until after "exit 0", the end
 | 
			
		||||
of the script, and after that is the actual HTML prefix to each blah page.
 | 
			
		||||
	A day that starts as an HTML comment is the /suffix/, appended to each
 | 
			
		||||
day. This obligates an HTML comment at the end of each post, the same comment,
 | 
			
		||||
so I just made it something sort of interesting yet sort of bog standard.
 | 
			
		||||
	I explained this poorly but I spread the code out so it's a little
 | 
			
		||||
easier to read, I think it's pretty simple. git.sr.ht/~trinity/homepage/tree
 | 
			
		||||
/main/blog, you can see how it's laid out.
 | 
			
		||||
	Each day, prefixed and suffixed, is output as its own [day].html to the
 | 
			
		||||
created blah/ directory.
 | 
			
		||||
 | 
			
		||||
	Next:
 | 
			
		||||
 | 
			
		||||
cd blah
 | 
			
		||||
for f in *.html
 | 
			
		||||
	do
 | 
			
		||||
		test -z "$last" || sed -i \
 | 
			
		||||
-e "s,_NAVIGATION_,$nav<A HREF=\"$f\">\></A></P>," "$last"
 | 
			
		||||
		nav="<P>"
 | 
			
		||||
		test -z "$last" \
 | 
			
		||||
			|| nav="$nav<A HREF=\"$last\">\<</A>"
 | 
			
		||||
		nav="$nav<A HREF=\"index.html\">^</A>"
 | 
			
		||||
		last="$f"
 | 
			
		||||
	done
 | 
			
		||||
sed -i "s,_NAVIGATION_,$nav</P>," "$last"
 | 
			
		||||
 | 
			
		||||
	This replaces _NAVIGATION_ with an actual navigation bar. The actual
 | 
			
		||||
string has two underscores before and after NAVIGATION but this blog is held
 | 
			
		||||
together with shoelaces and bubble gum and I don't wanna fuck around and find
 | 
			
		||||
out.
 | 
			
		||||
	I don't know how this works, I let my fingers handle the flow.
 | 
			
		||||
		(The secret is that I just run it in my head and adjust the
 | 
			
		||||
		 beginnings and ends until it runs in my head for two times
 | 
			
		||||
		 correctly. Then as long as state doesn't drift it's all good.
 | 
			
		||||
		 This is fucky and I don't know how to explain it and I don't
 | 
			
		||||
		 really know how it all goes about but you can do really
 | 
			
		||||
		 complex but really really tight program flow just by vibing
 | 
			
		||||
		 against it and letting your fingers tap tap tap, yknow?)
 | 
			
		||||
 | 
			
		||||
Next:
 | 
			
		||||
 | 
			
		||||
for f in *.html
 | 
			
		||||
	do
 | 
			
		||||
		fi="$(echo "$f" | cut -d . -f 1)"
 | 
			
		||||
		test "$fi" = "index" \
 | 
			
		||||
			&& continue
 | 
			
		||||
		printf '<A HREF="/blah/%s.html">%s</A>\n' "$fi" "$fi"
 | 
			
		||||
	done \
 | 
			
		||||
		| sort -r \
 | 
			
		||||
		| sed \
 | 
			
		||||
			-e "1i\
 | 
			
		||||
<!DOCTYPE html><HTML><HEAD><TITLE>blah</TITLE></HEAD><BODY><PRE><A HREF="..">..</A>" \
 | 
			
		||||
			-e '$a</PRE></BODY></HTML>' \
 | 
			
		||||
		> index.html
 | 
			
		||||
exit 0
 | 
			
		||||
 | 
			
		||||
	This takes all the files in blah/, builds an index, adds a prefix and
 | 
			
		||||
suffix to the stream, and outputs it all to blah/index.html in one go. This is
 | 
			
		||||
the simplest part of the script and I was worried it would be hard but it
 | 
			
		||||
wasn't really, it just required a little bit of embracing of UNIX piping.
 | 
			
		||||
 | 
			
		||||
	["Streambreak"]: After experiencing a genocide, Ada Karina time travels
 | 
			
		||||
back to the past to prevent it from happening. However things start diverging
 | 
			
		||||
from plan when a soup-fueled arsonist grows from nuisance to idol to
 | 
			
		||||
geopolitical disaster.
 | 
			
		||||
	["Antero"]: Tales from a future dystopia where the very formation of
 | 
			
		||||
memories is outlawed.
 | 
			
		||||
	["Sponge"]: Olive Edgerton is an employee at an impossibly popular
 | 
			
		||||
burger joint, where every ingredient is grown or produced in-house.
 | 
			
		||||
	["Saikokon"]: After an apocalypse, the last survivor is selected as an
 | 
			
		||||
exhibit at Saikokon, a conference for psychic time travelers.
 | 
			
		||||
	["Pasture"]: Tales from after the end of the world.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
2023-02-06
 | 
			
		||||
 | 
			
		||||
2022年03月02日
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user