big ass refactor #2
This commit is contained in:
parent
2a1dcd7e4d
commit
511dd010b2
89
build.sh
89
build.sh
|
@ -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/&/\&/g' -e 's/</\</g' -e 's/>/\>/g' -e 's/"/\"/g' -e "s/'/\\'/g" <<-EOF
|
||||
$*
|
||||
EOF
|
||||
else
|
||||
sed -e 's/&/\&/g' -e 's/</\</g' -e 's/>/\>/g' -e 's/"/\"/g' -e "s/'/\\'/g"
|
||||
fi
|
||||
__ESC_STR=$*
|
||||
# do this first to not create an infinite loop
|
||||
while :; do
|
||||
case "$__ESC_STR" in
|
||||
*\&*) __ESC_STR_INT="${__ESC_STR%%&*}&"; __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%<*}<${__ESC_STR##*<}" ;;
|
||||
*\>*) __ESC_STR="${__ESC_STR%>*}>${__ESC_STR##*>}" ;;
|
||||
*\"*) __ESC_STR="${__ESC_STR%\"*}"${__ESC_STR##*\"}" ;;
|
||||
*\'*) __ESC_STR="${__ESC_STR%\'*}'${__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/&/\&/g' -e 's/</\</g' -e 's/>/\>/g' -e 's/"/\"/g' -e "s/'/\\'/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 {} +
|
||||
|
|
|
@ -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>'
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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"
|
||||
}
|
||||
|
|
|
@ -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"
|
||||
?>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<section class="lbartop">
|
||||
<?shp gen_titlebar 'navigation' random ?>
|
||||
<?shp gen_titlebar 'navigation' ?>
|
||||
<nav>
|
||||
<h2>navigation</h2>
|
||||
<ul>
|
||||
|
|
|
@ -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/)?
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
(-)
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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...
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
|
@ -1,2 +1,4 @@
|
|||
# credits
|
||||
---
|
||||
title = credits
|
||||
---
|
||||
renard queenston background image by [squeedgemonster](https://www.furaffinity.net/user/squeedgemonster)
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
# furry internet
|
||||
---
|
||||
title = furry internet
|
||||
---
|
||||
a random collection of links to anyone interested in furry sites
|
||||
|
||||
## modern sites
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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"
|
|
@ -1,7 +0,0 @@
|
|||
credits.md
|
||||
TITLE="credits"
|
||||
TB_TITLE="credits"
|
||||
|
||||
my-things.md
|
||||
TITLE="my things"
|
||||
TB_TITLE="my things"
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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"
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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"
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue