From eae198df4294694af4d437298c4ab5875acbdfb9 Mon Sep 17 00:00:00 2001 From: dtb Date: Sun, 16 Jul 2023 10:20:48 -0400 Subject: [PATCH] progress --- homepage/homepage | 71 ++++++++++++++++++++++++++++++++++++----------- 1 file changed, 55 insertions(+), 16 deletions(-) diff --git a/homepage/homepage b/homepage/homepage index 5bc6eea..6bb493c 100644 --- a/homepage/homepage +++ b/homepage/homepage @@ -1,24 +1,42 @@ #!/bin/sh #llllmmmm11234567892123456789312345678941234567895123456789612345678971234567890 set -ex -<"$0" python3 -c "import os, sys +<"$0" python3 -c " +import os, sys +cleanupsh = '#!/bin/sh\n' for day in sys.stdin.read().split('\n\n\n'): f = day.split('\n')[0] + if '\t' in f: + fa = f.split('\t')[1].split(',') + f = f.split('\t')[0] + else: + fa = [''] if f[0] != '/': continue f = '.' + f + if os.path.isfile(f): + continue + print(f) d = '/'.join(f.split('/')[:-1]) + print(d) if '/' in f and not(os.path.isdir(d)) and not(d == ''): os.makedirs(d) + cleanupsh += 'rm -r -- ' + d + '\n' with open(f,'w') as fd: - fd.write(day)" + fd.write(day) + if cleanupsh == '': + cleanupsh = '#!/bin/sh\n' + cleanupsh += 'rm -- ' + f + '\n' +if len(cleanupsh.split('\n')) > 2: + with open('cleanup.sh', 'w') as fd: + fd.write(cleanupsh) +" test -f homepage.local \ && exec ./homepage.local \ || exit 0 -/LICENSE -$! __VERBATIM__ true +/LICENSE verbatim Other than noted exceptions, this is free and unencumbered data released into the public domain. @@ -70,7 +88,33 @@ directory containing homepage). A file path that starts with a hash ('#') is discarded. For all non-slash- non-hash- prefixed file paths, the behavior of homepage is undefined.

+

file attributes

+On the same line as the file path, if, after the path, a tab ('\t') is +present, the substring following the first tab in the line and spanning to +and excluding the next tab or newline describes the attributes of the file as +it is exported to the file system. These file attributes are delimited by +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 "literal" attribute indicates that the file should not be subject to +macro expansion despite any other directives. The "figurative" attribute +indicates the opposite, though its behavior is default. +

/x200t/index.html @@ -358,8 +402,7 @@ $! __TITLE__ home

-/bookmarks/index.html -$! __VERBATIM__ true +/bookmarks/index.html verbatim @@ -1767,8 +1810,7 @@ If I don't, escalate the issue to the host of this site (this can also be found -/js/sheets.js -$! __VERBATIM__ true +/js/sheets.js verbatim /* Depends on cookies.js */ /* sheets.js; Deven Blake 2021 */ @@ -1906,8 +1948,7 @@ window.setStyling = function(sheet){ { "quotes": [ -/js/quotes.js -$! __VERBATIM__ true +/js/quotes.js verbatim /* quotes.js; Deven Blake 2021-2022 */ /* @license magnet:?xt=urn:btih:5ac446d35272cc2e4e85e4325b146d0b7ca8f50c&dn=unlicense.txt Unlicense */ @@ -1965,8 +2006,7 @@ window.quote_new = function(){ /* @license-end */ -/js/cookies.js -$! __VERBATIM__ true +/js/cookies.js verbatim /* cookies.js; Deven Blake 2021 */ /* @license magnet:?xt=urn:btih:5ac446d35272cc2e4e85e4325b146d0b7ca8f50c&dn=unlicense.txt Unlicense */ @@ -2011,8 +2051,7 @@ window.getCookie = function(name){ /* @license-end */ -/knowledge/true/index.html -$! __VERBATIM__ true +/knowledge/true/index.html verbatim @@ -2100,14 +2139,14 @@ have much to say.

-/zelda.sh +/zelda.sh verbatim #!/bin/sh printf "what, are you crazy? you're gonna get us all killed!\n" >&2 -/zeldb.sh +/zeldb.sh verbatim #!/bin/sh -x set -e