big ass refactor #2

This commit is contained in:
yosh 2024-03-13 21:37:38 -04:00
parent 2a1dcd7e4d
commit 511dd010b2
41 changed files with 240 additions and 234 deletions

View File

@ -1,9 +1,9 @@
#!/bin/sh
__BASE="$PWD"
export _INCDIR="${_INCDIR:-"${__BASE}/include"}"
export _BUILDDIR="${_BUILDDIR:-"${__BASE}/build"}"
export _SRCDIR="${_SRCDIR:-"${__BASE}/src"}"
__BASE="${SHP_BASE:-"$PWD"}"
export _INCDIR="${SHP_INCDIR:-"${__BASE}/include"}"
export _BUILDDIR="${SHP_BUILDDIR:-"${__BASE}/build"}"
export _SRCDIR="${SHP_SRCDIR:-"${__BASE}/src"}"
__NL="
"
@ -13,8 +13,7 @@ __process_shp() {
__SHLVL=$((__SHLVL + 1))
eval '__SH_FLAG'$__SHLVL'=""
__LINE_EXEC_'$__SHLVL'=""
__TMP_FILE'$__SHLVL'="${1:-/dev/stdin}"
while read -r __LINE'$__SHLVL'; do
while IFS= read -r __LINE'$__SHLVL'; do
if [ -z "$__SH_FLAG'$__SHLVL'" ]; then
case "$__LINE'$__SHLVL'" in
*"<?shp"*)
@ -37,21 +36,21 @@ __process_shp() {
*) ;;
esac
fi
done < "$__TMP_FILE'$__SHLVL'"
done < "${1:-/dev/stdin}"
[ $__SH_FLAG'$__SHLVL' ] && eval "$__LINE_EXEC_'$__SHLVL'"'
__SHLVL=$((__SHLVL - 1))
}
__SHLVL=0
__lowdown() { lowdown --html-no-skiphtml --html-no-escapehtml "$@"; }
__lowdown() { lowdown --html-no-owasp --html-no-skiphtml --html-no-escapehtml "$@"; }
# process a pure markdown file
# uses a special file in _INCDIR, `markdown-template.sh` to create the html
__process_md() {
[ -f mdmeta ] && set_md_metadata "$1"
__process_shp "$_INCDIR"/_markdown-template.shp <<-EOF
$(__lowdown "$1")
EOF
{
set_md_metadata
__process_shp "$_INCDIR"/_markdown-template.shp
} < "${1:-/dev/stdin}"
}
# standard library
@ -66,35 +65,65 @@ include() {
esac
}
# set markdown metadata either given or from stdin
# why do we have this big eval here--why not use /dev/stdin?
# using /dev/stdin makes the input behave Very Weirdly, I can't really explain
# what is going on but it just doesn't work how one would expect
# this eval prevents a lengthy if-else statement
set_md_metadata() {
__MD_BASE="${1##*/}"
while read -r __MD_LINE; do
case "$__MD_LINE" in
"$__MD_BASE") __MD_FLAG="1" ;;
"" ) [ -n "$__MD_FLAG" ] && break ;;
*) [ -n "$__MD_FLAG" ] && __MD_EXEC="$__MD_EXEC$__NL$__MD_LINE" ;;
eval ' {
# if 1st line isnt all -, skip setting metadata
IFS= read -r _
case "$_" in
*[!-]*) return ;;
esac
done < mdmeta
__MD_FLAG=""
eval "$__MD_EXEC"
while IFS=" =" read -r __key __val; do
case "$__key" in
*[!-]*) eval "$__key=\$__val" ;;
*) return ;;
esac
done
} '"${1:+"< \"\$1\""}"
}
# good for inputs without many chars to escape
# so most titles, strings, etc.
# this is why it only accepts an argument and not stdin
escape() {
if [ -n "$*" ]; then
sed -e 's/&/\&amp;/g' -e 's/</\&lt;/g' -e 's/>/\&gt;/g' -e 's/"/\&quot;/g' -e "s/'/\\&#39/g" <<-EOF
$*
EOF
else
sed -e 's/&/\&amp;/g' -e 's/</\&lt;/g' -e 's/>/\&gt;/g' -e 's/"/\&quot;/g' -e "s/'/\\&#39/g"
fi
__ESC_STR=$*
# do this first to not create an infinite loop
while :; do
case "$__ESC_STR" in
*\&*) __ESC_STR_INT="${__ESC_STR%%&*}&amp;"; __ESC_STR="${__ESC_STR#*&}" ;;
*) __ESC_STR_INT="$__ESC_STR_INT$__ESC_STR"; break ;;
esac
done
__ESC_STR=$__ESC_STR_INT
while :; do
case "$__ESC_STR" in
*\<*) __ESC_STR="${__ESC_STR%<*}&lt;${__ESC_STR##*<}" ;;
*\>*) __ESC_STR="${__ESC_STR%>*}&gt;${__ESC_STR##*>}" ;;
*\"*) __ESC_STR="${__ESC_STR%\"*}&quot;${__ESC_STR##*\"}" ;;
*\'*) __ESC_STR="${__ESC_STR%\'*}&#39${__ESC_STR##*\'}" ;;
*) break;
esac
done
printf '%s\n' "$__ESC_STR"
}
# good for large inputs with lots of chars to escape
# this means mostly full files, entire posts for putting in content for a feed
escapepipe() {
sed -e 's/&/\&amp;/g' -e 's/</\&lt;/g' -e 's/>/\&gt;/g' -e 's/"/\&quot;/g' -e "s/'/\\&#39/g"
}
__cleanup() {
trap 'exit' INT HUP QUIT TERM EXIT
[ -f "${__FILE_TMP:-}" ] && rm "$__FILE_TMP"
true
}
trap '__cleanup' INT HUP QUIT EXIT
trap '__cleanup' INT HUP QUIT TERM EXIT
__FILE_TMP="$(mktemp -u)"
find "$_SRCDIR" -type d -exec sh -c 'for d; do mkdir -p "$_BUILDDIR"/"${d#"$_SRCDIR"}"; done' sh {} +

View File

@ -1,7 +1,10 @@
<?shp
# my post titles will always be the first thing, so this is fine
read -r __post_title
[ -z "$TITLE" ] && TITLE="${__post_title#*>}" && TITLE="${TITLE%<*}"
if [ -z "$title" ]; then
echo >&2 "warning: ${_FILE#"$_SRCDIR"/} has no \$title"
else
[ -z "$TITLE" ] && TITLE=$title
[ -z "$TB_TITLE" ] && TB_TITLE=$title
fi
include header-unified.shp
@ -10,13 +13,16 @@ echo "<main>"
# metadata processed before this will generate the titlebar
gen_titlebar
echo "$__post_title"
# we don't include the title with the markdown, so we do this
__lowdown <<EOF
# $title
EOF
# date below title
[ -n "$POST_TIME" ] && echo "<p>posted <time>$POST_TIME</time></p>"
# date below title for blog posts
[ -n "$time" ] && echo "<p>posted <time>$time</time></p>"
# rest of stdin is the formatted markdown
cat
# rest of stdin is the markdown
__lowdown
echo '</main>'

View File

@ -7,29 +7,31 @@ feed="$_BUILDDIR/blog/feed.atom"
last10="$(find . -type f -name "*.md" | sort -nr | head)"
max_secs=0
while read -r entry; do
html="$(__lowdown "$entry")"
title="$(head -n 1 <<-EOF
$html
EOF
)"
title="${title#*>}"
title="${title%<*}"
entry="${entry##*/}"
set_md_metadata "$entry"
while IFS= read -r _entry; do
{
_entry="${_entry##*/}"
set_md_metadata
title="$(__lowdown <<-EOF
$title
EOF
)"
title="${title#*>}"
title="${title%<*}"
secs="$(stat -c %Y "$entry")"
[ "$secs" -gt "$max_secs" ] && max_secs="$secs"
entry_date="$(date -u -d "@$secs" '+%Y-%m-%dT%R:%SZ')"
entries="$entries"'
<entry>
<title>'"$title"'</title>
<link rel="alternate" href="'"/~yosh/blog/${entry%.md}.html"'"/>
<id>urn:uuid:'"$ENTRY_UUID"'</id>
<published>'"$POST_TIME"'</published>
<updated>'"$entry_date"'</updated>
<content type="html">'"$(__lowdown "$entry" | escape)"'</content>
</entry>'
# using secs and max_secs for last updated
secs="$(git log -1 --pretty="format:%ct" "$_entry")"
[ "$secs" -gt "$max_secs" ] && max_secs="$secs"
entry_date="$(date -u -d "@$secs" '+%Y-%m-%dT%R:%SZ')"
entries="$entries"'
<entry>
<title>'"$title"'</title>
<link rel="alternate" href="'"/~yosh/blog/${_entry%.md}.html"'"/>
<id>urn:uuid:'"$uuid"'</id>
<published>'"$time"'</published>
<updated>'"$entry_date"'</updated>
<content type="html">'"$(__lowdown | escapepipe)"'</content>
</entry>'
} < "$_entry"
done <<-EOF
$last10
EOF

View File

@ -4,7 +4,7 @@ gen_titlebar() {
__tb_title="${1:-${TB_TITLE:-untitled}}"
__tb_color="${2:-${TB_COLOR:-random}}"
# make sure this matches /src/style/titlebars.css
set -- teal brown lgrey dgrey lblue purple white lblue dblue green pink
set -- teal brown lgrey dgrey lblue purple white lblue dblue green pink
if [ "$__tb_color" = "random" ]; then
# gotta start with nonzero so printf doesn't interpret as octal
__d="1$(tr -Cd '[:digit:]' < /dev/urandom | dd bs=1 count=3 2>/dev/null)"
@ -13,5 +13,5 @@ gen_titlebar() {
printf '<div class="titlebar tb-%s" aria-hidden="true">
<span class="tbl" title="%s"></span>
<span class="tbr"></span>
</div>' "$__tb_color" "$__tb_title"
</div>\n' "$__tb_color" "$__tb_title"
}

View File

@ -3,8 +3,8 @@
<head>
<meta charset="utf8">
<!-- sets "$TITLE | ~yosh" if TITLE exists, otherwise "~yosh" -->
<?shp
# sets "$TITLE | ~yosh" if TITLE exists, otherwise "~yosh" -->
TITLE="$(escape "${TITLE:+"$TITLE | "}~yosh")"
printf "<title>%s</title>\n" "$TITLE"
?>

View File

@ -1,5 +1,5 @@
<section class="lbarbot bunny">
<?shp gen_titlebar 'miscellaneous!!' random ?>
<?shp gen_titlebar 'miscellaneous!!' ?>
<ul class="displist sbgridlist" aria-hidden="true">
<li><a href="https://digboye.newgrounds.com/"><img src="/~yosh/img/buttons/boyslife_button.gif" alt="boyslife"></a></li>
<li><a href="https://enn.neocities.org/"><img src="/~yosh/img/buttons/bomf.gif" alt="bomf"></a></li>

View File

@ -1,5 +1,5 @@
<section class="lbartop">
<?shp gen_titlebar 'navigation' random ?>
<?shp gen_titlebar 'navigation' ?>
<nav>
<h2>navigation</h2>
<ul>

View File

@ -1,8 +1,12 @@
# intimacy via jankiness
---
title = intimacy via jankiness
time = 2023-07-10T19:30:00Z
uuid = 366ccb73-5e9b-4c31-b8c2-2f93887f970b
---
there's something I like about jankiness. I don't necessarily want to say unmaintainability or poor quality, but jankiness
## this website
if you've known me for any amount of time, then you probably know that I [love to shell script](http://localhost:8002/~yosh/my-things.html#shell-scripts). shell scripts are janky. [shell is a weird language](https://eklitzke.org/bash-$%2A-and-$@). shell has many caveats, ranging from the simple-yet-often-overlooked [quoting all your variables](https://stackoverflow.com/questions/10067266/when-to-wrap-quotes-around-a-shell-variable) to the cvs receipt length monster that is the [bash pitfalls page](https://mywiki.wooledge.org/BashPitfalls) (though, only a subset of these apply to POSIX shell, the dialect that [I like to use](https://j3s.sh/thought/write-posix-shell.html)).
if you've known me for any amount of time, then you probably know that I [love to shell script](/~yosh/my-things.html#shell-scripts). shell scripts are janky. [shell is a weird language](https://eklitzke.org/bash-$%2A-and-$@). shell has many caveats, ranging from the simple-yet-often-overlooked [quoting all your variables](https://stackoverflow.com/questions/10067266/when-to-wrap-quotes-around-a-shell-variable) to the cvs receipt length monster that is the [bash pitfalls page](https://mywiki.wooledge.org/BashPitfalls) (though, only a subset of these apply to POSIX shell, the dialect that [I like to use](https://j3s.sh/thought/write-posix-shell.html)).
so why do I like writing it so much? why do I use systems that are built on the foundation of shell scripts, like [void linux](https://voidlinux.org/)?

View File

@ -1,4 +1,8 @@
# discourse
---
title = discourse
time = 2023-07-18T05:55:00Z
uuid = 7051f435-4aae-4121-8774-be41dbce9b90
---
discourse is really tiring
I know. real bold thing to say. fighting over useless shit on the internet has been [a staple since usenet](https://en.wikipedia.org/wiki/Godwin%27s_law), and I'm sure people like godwin also were tired of it back then

View File

@ -1,4 +1,8 @@
# dreams of form
---
title = dreams of form
time = 2023-08-16T03:00:00Z
uuid = 212025c9-1f85-4b81-8553-d863ed798fcb
---
the moments are short, at least that's how they feel
a small couple of times, invoked thus far only in worlds i enter through rest, have those moments took shape

View File

@ -1,4 +1,10 @@
# moving away from github
---
title = moving away from github
time = 2023-09-07T04:00:00Z
uuid = f843b7c3-c27b-447b-bedc-2b1d4a2f7714
TB_COLOR = white
TB_TITLE = github
---
I started moving away from github a bit. [this blog post by ratfactor](https://ratfactor.com/leaving-github) echoes a lot of my sentiments why
I won't be moving away 100% completely. I still have to use github for two main things:

View File

@ -1,4 +1,9 @@
# there are things that I will never understand
---
title = things I don't understand
time = 2023-10-16T05:30:00Z
uuid = 935ddb27-4ca5-4840-bec9-934f39af198c
TB_COLOR = white
---
I type this post while I sit idle in [resonite](https://resonite.com). I'm listening to someone--someone as a part of multiple--talk about their experience being a system
I don't understand how it works. I don't think I can ever understand it. I hear experiences, I hear explanations, I hear causes, and yet I will never understand. I don't have those experiences. it's something incredibly personal--experiencing your own mind--that nobody who is outside that bubble can ever understand. that includes me
@ -10,5 +15,5 @@ the thoughts and feelings of others I can never truly know myself. I can at leas
there are things that I will never understand
and I wouldn't have it any other way
[back](index.html)

View File

@ -1,4 +1,8 @@
# thoughts on yash
---
title = thoughts on yash
time = 2023-11-18T01:47:00Z
uuid = d6659f13-4ed1-4894-8fd5-4d3a931ce45d
---
[a few months ago](https://git.unix.dog/yosh/dotfiles/commit/8184b44fe4db724f1645cf6f8fd977550cb49f6e), I tried out the [yash shell](https://magicant.github.io/yash/). I gave it an honest go. I want to like it--it does so many things so well for a one man project; but there's just a few, very tiny, almost inconsequential hiccups that make it just out of reach for me to want to continue using it.
this article is going to mostly be comparisons to the "standard" shell on most linuxes: bash--what yash does differently, what it does mostly the same, all the like.
@ -18,7 +22,7 @@ function completion/doas {
"s; execute the shell from \$SHELL or /etc/passwd"
"u:; specify the user to execute the command as"
) #<#
command -f completion//parseoptions
case $ARGOPT in
(-)

View File

@ -1,4 +1,9 @@
# shell: hypertext processor
---
title = shell: hypertext processor
time = 2023-11-20T23:40:00Z
uuid = 14f1934b-76d1-4dd4-ae1c-65bf0e305eea
TB_TITLE = shp
---
that name might ring a few alarm bells to anyone with a sense of morality. alas, necessity is the mother of invention, and I have willed this into existence
in normal speak, I have created probably the most cursed static site generator ever, by combining the inlining of php with the language of shell. I have spent too much time to refine this to a state where it's basically the same style of programming as php that I have looped back to being proud of it

View File

@ -1,4 +1,9 @@
# 2023 music I downloaded
---
title = 2023 music I downloaded
time = 2024-01-03T00:00:00Z
uuid = ed4f7623-c7f2-4c3a-b73e-bc5eb6c46736
TB_TITLE= 2023 music
---
here's a huge list of almost all pieces of music released in 2023 that I downloaded. this list will be organized alphabetically--by artist then by album. that's simply how ncmpcpp sorts it for me by default. not every single piece of music will be included--mostly ones that are similar albums on the same artist discography page
the format will generally be categorized by artist. don't expect long reviews of *every* album. that'd take forever. I kinda trailed off of giving in depth reviews about halfway through. hopefully you don't mind all too much

View File

@ -1,3 +1,9 @@
---
title = quartus prime on void linux
time = 2024-01-09T02:15:00Z
uuid = 6e4e758b-7090-4c35-b20b-a5fbacd0e0d8
TB_COLOR = lblue
---
# installing quartus prime on void linux
one of my classes had us install Intel's Quartus Prime Lite software for VHDL design on an Intel FPGA board. the problem with that is that...

View File

@ -11,18 +11,16 @@
<ul>
<?shp
while read -r md; do
md=${md##*/}
# title is always on first line and always separated by a space
read -r title < "$md"
title=$(__lowdown <<-EOF
$title
EOF
)
title="${title#*>}"
title="${title%<*}"
set_md_metadata "$md"
title=$(__lowdown <<-EOF
$title
EOF
)
title=${title#*>}
title=${title%<*}
md=${md##*/} # basename
printf '<li><p><time>%s</time> - <a href="%s">%s</a></li>\n' \
"${POST_TIME%%T*}" "${md%.md}.html" "$title"
"${time%%T*}" "${md%.md}.html" "$title"
done <<-EOF
$(find . -type f -name '*.md' | sort -r)
EOF

View File

@ -1,55 +0,0 @@
2023-07-10_intimacy-via-jankiness.md
TITLE="intimacy via jankiness"
TB_TITLE="intimacy via jankiness"
POST_TIME=2023-07-10T19:30:00Z
ENTRY_UUID=366ccb73-5e9b-4c31-b8c2-2f93887f970b
2023-07-18_discourse.md
TITLE="discourse"
TB_TITLE="discourse"
POST_TIME=2023-07-18T05:55:00Z
ENTRY_UUID=7051f435-4aae-4121-8774-be41dbce9b90
2023-08-16_dreams-of-form.md
TITLE="dreams of form"
TB_TITLE="dreams of form"
POST_TIME=2023-08-16T03:00:00Z
ENTRY_UUID=212025c9-1f85-4b81-8553-d863ed798fcb
2023-09-07_moving-away-from-github.md
TITLE="moving away from github"
TB_COLOR=white
TB_TITLE=github
POST_TIME=2023-09-07T04:00:00Z
ENTRY_UUID=f843b7c3-c27b-447b-bedc-2b1d4a2f7714
2023-10-16_things-i-dont-understand.md
TITLE="things I don't understand"
TB_COLOR=white
TB_TITLE="the unknowable"
POST_TIME=2023-10-16T05:30:00Z
ENTRY_UUID=935ddb27-4ca5-4840-bec9-934f39af198c
2023-11-18_thoughts_on_yash.md
TITLE="thoughts on yash"
TB_TITLE="yash"
POST_TIME=2023-11-18T01:47:00Z
ENTRY_UUID=d6659f13-4ed1-4894-8fd5-4d3a931ce45d
2023-11-20_shp-hypertext-processor.md
TITLE="shell: hypertext processor"
TB_TITLE="shp"
POST_TIME=2023-11-20T23:40:00Z
ENTRY_UUID=14f1934b-76d1-4dd4-ae1c-65bf0e305eea
2024-01-03_2023-music.md
TITLE="2023 music I downloaded"
TB_TITLE="2023 music"
POST_TIME=2024-01-03T00:00:00Z
ENTRY_UUID=ed4f7623-c7f2-4c3a-b73e-bc5eb6c46736
2024-01-09_quartus-linux.md
TITLE="quartus prime on void linux"
TB_TITLE="quartus"
POST_TIME=2024-01-09T02:15:00Z
ENTRY_UUID=6e4e758b-7090-4c35-b20b-a5fbacd0e0d8

View File

@ -1,2 +1,4 @@
# credits
---
title = credits
---
renard queenston background image by [squeedgemonster](https://www.furaffinity.net/user/squeedgemonster)

View File

@ -10,7 +10,7 @@
<img src="/~yosh/img/buttons/avali-passing.svg" alt="avali | passing" width=104>
<p>I'm yosh. or yoshi. or yoshiyosh... or yoshiyoshiyosh...</p>
<p>my names get taken a lot. wonder why.</p>
<p>I like shell scripting, programming, unix, the look of old UI, archival, anthropomorphic animals, and music. <a href="./blog/2024-01-03_2023-music.md">a lot of music</a>. I'm also kinda a video game junkie. I enjoy doing hard stuff in video games I like, though this usually means celeste more than anything</p>
<p>I like shell scripting, programming, unix, the look of old UI, archival, anthropomorphic animals, and music. <a href="/~yosh/blog/2024-01-03_2023-music.html">a lot of music</a>. I'm also kinda a video game junkie. I enjoy doing hard stuff in video games I like, though this usually means celeste more than anything</p>
<p>I am on <a href="https://resonite.com">resonite</a> a lot. I really like it there. I feel free there. you should check it out too</p>
<h2>site</h2>
<p>this site is intended to be my internet home, and a staging ground for others to explore further. it's meant to foster connections with sites of others, and to grow a web to get lost in. at least, that's what I hope. thank you to Citali for providing the hosting infrastructure for this site</p>

View File

@ -1,4 +1,6 @@
# bookmarks
---
title = bookmarks
---
a random collection of general links I like or need. no organization or whatever. if a certain category has enough links here then I'll probably separate it into its own page
I really need to organize my site more. this is just to get these links out of a completely unorganized discord channel

View File

@ -1,4 +1,6 @@
# furry internet
---
title = furry internet
---
a random collection of links to anyone interested in furry sites
## modern sites

View File

@ -1,4 +1,7 @@
# link pools
---
title = link pools
TB_TITLE = links
---
- [bookmarks](./bookmarks.html) - an unorganized, random collection of links I like and you may like too
- [various learning topics](./learning.html) - a collection of resources for learning new topics, as I am frustrated at the lack of good routes to find good resources
- [furry internet stuff](./furry-internet.html)

View File

@ -1,4 +1,7 @@
# various learning topics
---
title = various learning topics
TB_COLOR = lblue
---
I have found myself frustrated at how hard it is to find good resources for learning new things. I'm motivated to learn, but picking up conceptual ideas from surface-level youtube videos trying to tie shit together from very dense wikipedia articles and their references just doesn't cut it. here's a random assortment of websites, textbooks, videos, and whatever other resources I have either stashed for my own sake, have looked through enough to consider it satisfactory for describing something I already know, or whatever else I find that seems detailed enough about a topic. who knows
if this gets big enough, I'll make a table of contents or split stuff into separate pages. for now, just ctrl+f

View File

@ -1,13 +0,0 @@
furry-internet.md
TB_TITLE="furry internet"
bookmarks.md
TB_TITLE="bookmarks"
TB_COLOR="white"
index.md
TB_TITLE="links"
learning.md
TB_TITLE="various learning topics"
TB_COLOR="lblue"

View File

@ -1,7 +0,0 @@
credits.md
TITLE="credits"
TB_TITLE="credits"
my-things.md
TITLE="my things"
TB_TITLE="my things"

View File

@ -1,4 +1,6 @@
# my things
---
title = my things
---
here's just a collection of things that I have made and/or do that I feel is cool enough to post here
## creative works

View File

@ -1,4 +1,6 @@
# darktable stuff
---
title = darktable stuff
---
here's some random darktable things I have made note of and want written down
## haze removal

View File

@ -1,4 +1,7 @@
# furry weekend atlanta
---
title = furry weekend atlanta
TB_COLOR = purple
---
here's some things that I wish I knew during my visit to furry weekend atlanta
## utility

View File

@ -1,4 +1,6 @@
# fursuit making
---
title = fursuit making
---
I want to *eventually* make my own fursuit. I also know there's 30 million tiny little details in doing so. here's some little "life hacks" I have gathered from people's random twitter posts about fursuit making
## non-electronic

View File

@ -1,4 +1,9 @@
# random information
---
title = random information
TITLE = documentation and information
TB_TITLE = information window
TB_COLOR = lblue
---
here's a bunch of random information about various things I have collected across the years. I made this page to consolidate all the random stuff I scattered about bookmarks, group chats, etc. in my times on the internet, as well as documentation that I've wrote myself
## big writeups

View File

@ -1,40 +0,0 @@
index.md
TITLE="documentation and information"
TB_TITLE="information window"
TB_COLOR="lblue"
darktable-shenanigans.md
TITLE="darktable stuff"
TB_TITLE="darktable information"
furry-weekend-atlanta.md
TITLE="furry weekend atlanta"
TB_TITLE="furry weekend atlanta"
TB_COLOR=purple
fursuit-making.md
TITLE="fursuit making"
TB_TITLE="fursuit making!!"
posix-shell-tips.md
TITLE="posix shell tips"
TB_TITLE="posix shell"
printers.md
TITLE="printers"
TB_TITLE="printers."
TB_COLOR=lblue
resonite-desktop-workflow.md
TITLE="resonite desktop workflow"
TB_TITLE="resonite"
TB_COLOR=purple
ytdl.md
TITLE="downloading from youtube"
TB_TITLE="yt-dlp"
TB_COLOR=pink
shell-information.md
TITLE="shell information"
TB_TITLE="shell"

View File

@ -1,4 +1,8 @@
# posix shell tips and tricks
---
title = posix shell tips and tricks
TITLE = posix shell tips
TB_TITLE = posix shell
---
there's some very unknown quirky things that you can do with pure posix shell. this will focus on obscure stuff that I've rarely seen documented or talked about elsewhere. if you want some more shell resources, check out [shell information](./sell-information.md)
## BASH\_REMATCH

View File

@ -1,4 +1,8 @@
# printers
---
title = printers
TB_TITLE = printers.
TB_COLOR = lblue
---
we all know printers suck. ugh. here's some collaged info about them:
## hp printers

View File

@ -1,4 +1,8 @@
# resonite desktop workflow
---
title = resonite desktop workflow
TB_TITLE = resonite
TB_COLOR = purple
---
this page is meant as a text-based version of a [video](https://www.youtube.com/watch?v=Erg8EbHHjoY) I made about my desktop workflow in resonite, because text is king
some of the sections will be replaced with links to the eventual resonite wiki when it releases and has applicable up-to-date information. for now, you can probably look at the [neos page](https://wiki.neosvr.com/Basic_Controls#New_desktop_mode_controls) and have these controls carry over

View File

@ -1,4 +1,7 @@
# shell information
---
title = shell information
TB_TITLE = xterm - /bin/sh
---
I really like shells. here's a collection of resources for shell stuff
- [posix shell tips](./posix-shell-tips.html) - my collection of tips that I feel are less documented around the block

View File

@ -1,4 +1,8 @@
# void linux
---
title = void linux
TB_COLOR = green
SIDEBARS = top bot-void
---
[void linux](https://voidlinux.org/) is probably my favorite linux distribution. I say probably because it's the only one I have ever used outside of a VM for anything significant. who knows. nonetheless, the point is I like it. I also enjoy to do things ""properly"", and by that I mean set stuff up such that things are stable, don't look "hacky" unless required, and can easily be debugged and extended
recently, I wanted to setup void linux from scratch on my laptop. while my desktop I set up from the base as well, I was kinda figuring things out as I went and while I still ended up with a reasonably well-developed machine, I thought I could do better. then, I realized I should probably document this, as while I was guiding a friend on installing and setting up void on an old laptop (hi hex!), I found myself being very torn on what I should include, how I should explain stuff, and all the like, and I don't think I did a very good job of explaining my ideas all in all

View File

@ -1,4 +1,8 @@
# void linux - installation
---
title = void linux - installation
TB_TITLE = void linux | installation
SIDEBARS = top bot-void
---
I won't restate the already-well-documented-elsewhere. if you want a basic system steup, no fancy efistub or FDE or whatnot, the [manual](https://docs.voidlinux.org/installation/live-images/guide.html) and installer script are both very powerful and go a very long way
## full disk encryption + efistub

View File

@ -1,15 +0,0 @@
index.md
TITLE="void linux"
TB_TITLE="void linux"
TB_COLOR=green
SIDEBARS="top bot-void"
installation.md
TITLE="void linux"
TB_TITLE="void linux | installation"
SIDEBARS="top bot-void"
setup.md
TITLE="void linux"
TB_TITLE="void linux | setup"
SIDEBARS="top bot-void"

View File

@ -1,3 +1,8 @@
---
title = void linux - setup
TB_TITLE = void linux | setup
SIDEBARS = top bot-void
---
# void linux - setup
with void now installed, we need to set it up. this setup process will be geared towards people looking for a one-user desktop experience. I do not have enough experience with multi-user servers/desktops to be 100% confident on what to do in terms of security and whatnot, but this setup guide should also be relatively good for multi-user desktop systems as well (i.e. guest accounts), so long as you take modified/additional steps where applicable

View File

@ -1,4 +1,8 @@
# downloading from youtube for fun, archival, and maybe profit
---
title = downloading from youtube for fun and archival
TB_TITLE = xterm - /bin/yt-dlp
TB_COLOR = pink
---
this page will guide you through using [yt-dlp](https://github.com/yt-dlp/yt-dlp) for downloading videos from not only youtube, but like 30 thousand other sites that it supports. this guide will assume zero prior knowledge on concepts like windows environment variables, using the terminal, ffmpeg, etc. (the \*nix instructions will assume basic familiarity with your package manager and the terminal). I made this because a group I'm in recently guided someone through using yt-dlp, and it was slightly disorganized. this should serve as a good introductory guide that you can link to whoever needs to hear it
## I don't want to use yt-dlp