summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPreston Pan <preston@nullring.xyz>2023-07-09 11:42:36 +0800
committerPreston Pan <preston@nullring.xyz>2023-07-09 11:42:36 +0800
commit0595b3a81a5e952b8675ac00cec21f74d0457978 (patch)
tree3cd119c30b129cf795a9f1aea9f7a95ffa8a0140
parenta0fc9c5460dfef7183116487899f376dcff91e5c (diff)
IMPORTANT UPDATE: NO LONGER DEVELOPING THIS SITE
-rw-r--r--build/website/index.html199
-rwxr-xr-xprocess_file59
-rw-r--r--website/index.html181
3 files changed, 256 insertions, 183 deletions
diff --git a/build/website/index.html b/build/website/index.html
index d5e4492..a9063ae 100644
--- a/build/website/index.html
+++ b/build/website/index.html
@@ -10,109 +10,152 @@
<link rel="icon" type="image/png" href="/img/favicon.png">
<title>
-Preston Pan
- </title>
-</head>
-<body>
- <div class="nav" class="justcenter">
- <a href="/index.html" class="justleft">Home</a> |
- <a href="/about/" class="justleft">About</a> |
- <a href="/about/contact.html" class="justleft">Contact</a>
-
- <hr>
- </div>
-
- <div class="content">
<h1>Preston Pan (aka LiCoO2)</h1>
-
-<p>
- Hi! I'm Preston Pan, and this is my v3 of my website.
- I've got it to work with a shell script that I made.
- In the future, I might release the shell script as a separate
- thing, but for now it's a part of the
- <a href="https://society.nullring.xyz">Null Identity</a> website
- and this one.
-</p>
-
+<p>Hi! I'm Preston Pan, and this is my v3 of my website. I've got
+it to work with a shell script that I made. In the future, I might
+release the shell script as a separate thing, but for now it's a
+part of the <a href="https://society.nullring.xyz">Null
+Identity</a> website and this one.</p>
+<p>NOTICE: I AM NOT USING THIS WEBSITE ANYMORE. My new one can be
+found at https://ret2pop.nullring.xyz, as I have moved my website
+to using org-mode. Yes, I am an emacs user now.</p>
<p>Some things about myself:</p>
<ul>
<li>I play improvisational piano, and I sing as a hobby.</li>
<li>I do some amount of programming as a hobby.</li>
- <li>I also do some amount of mathematics and physics as a hobby.</li>
+ <li>I also do some amount of mathematics and physics as a
+ hobby.</li>
<li>I try to read up on economics as a hobby.</li>
<li>I'm trying to get my ham radio basic license.</li>
</ul>
-
-<p>
- Of course, those are rather surface level things, but the point is that
- you will find things related to the topics above on this website.
- The website is structured in a hiearchical format just like in filesystems
- because I find that to be the easiest balance between user simplicity
- and developer simplicity.
-</p>
-
-<p>
- Note: most things on this website will 404 right now simply because of the
- fact that I have a limited amount of time and have just changed the backend
- for this website.
-</p>
-
+<p>Of course, those are rather surface level things, but the point
+is that you will find things related to the topics above on this
+website. The website is structured in a hiearchical format just
+like in filesystems because I find that to be the easiest balance
+between user simplicity and developer simplicity.</p>
+<p>Note: most things on this website will 404 right now simply
+because of the fact that I have a limited amount of time and have
+just changed the backend for this website.</p>
<h2>Topics</h2>
-
-<p>Here, you will find topics related to: </p>
+<p>Here, you will find topics related to:</p>
<ul>
- <li><a href="./about/">About</a> -- About me and this website.</li>
- <li><a href="./mathematics/">Mathematics</a> -- An underlying framework for all things that are logical.</li>
- <li><a href="./music/">Music</a> -- my piano playing and singing (and maybe other instruments too).</li>
- <li><a href="./physics/">Physics</a> -- Rates of change!</li>
- <li><a href="./economics/">Economics</a> -- Rates of exchange!</li>
- <li><a href="./technology/">Technology</a> -- Rates of finger pain! (Just kidding, I'm not an emacs user).</li>
- <li><a href="./projects/">Projects</a> -- programming and other projects.</li>
- <li><a href="./philosophy/">Philosophy</a> -- An underlying framework for all things that are.</li>
+ <li>
+ <a href="./about/">About</a> -- About me and this website.
+ </li>
+ <li>
+ <a href="./mathematics/">Mathematics</a> -- An underlying
+ framework for all things that are logical.
+ </li>
+ <li>
+ <a href="./music/">Music</a> -- my piano playing and singing (and
+ maybe other instruments too).
+ </li>
+ <li>
+ <a href="./physics/">Physics</a> -- Rates of change!
+ </li>
+ <li>
+ <a href="./economics/">Economics</a> -- Rates of exchange!
+ </li>
+ <li>
+ <a href="./technology/">Technology</a> -- Rates of finger pain!
+ (Just kidding, I'm not an emacs user).
+ </li>
+ <li>
+ <a href="./projects/">Projects</a> -- programming and other
+ projects.
+ </li>
+ <li>
+ <a href="./philosophy/">Philosophy</a> -- An underlying framework
+ for all things that are.
+ </li>
</ul>
-
<p>Many articles will be written in groff and compiled to pdf.</p>
-
<h2>Services</h2>
-
<p>Here are the services that I run on my server/socially:</p>
<ul>
- <li><a href="https://git.nullring.xyz/prestonpan.git/atom">rss feed</a> -- atom feed for the website commit page to keep you updated on changes.</li>
- <li><a href="https://fedi.andrei.website/u/LiCoO2/rss">rss feed (2)</a> -- rss feed for my honk account, a fediverse server.</li>
- <li><a href="https://radio.nullring.xyz">Radio</a> -- listen to music that Null Identity people have composed.</li>
- <li><a href="gopher://nullring.xyz">Gopherhole</a> -- logs for andrei.website and other cool stuff, must be viewed with a gopher client.</li>
- <li><a href="https://git.nullring.xyz">Git server</a> -- see the code that I write or my dotfiles and other stuff.</li>
- <li><a href="https://nullring.xyz">The null webring</a> -- a webring that I made (apparently there is another one by this name but ignore that).</li>
- <li><a href="https://society.nullring.xyz">The Null Identity </a> -- it's a <b>ahem</b> tightly knit community located in victoria. Yeah, that's the term.</li>
- <li>I2P website: <pre class="crypto-pre"><code class="crypto">http://5ziug5tklfrep5gy3gv52xsoujq3nuxstqcj7a2s4jz4psveek4q.b32.i2p</code></pre>, if you are on i2p and want to see my clearnet website, it is at https://preston.nullring.xyz.</li>
+ <li>
+ <a href="https://git.nullring.xyz/prestonpan.git/atom">rss
+ feed</a> -- atom feed for the website commit page to keep you
+ updated on changes.
+ </li>
+ <li>
+ <a href="https://fedi.andrei.website/u/LiCoO2/rss">rss feed
+ (2)</a> -- rss feed for my honk account, a fediverse server.
+ </li>
+ <li>
+ <a href="https://radio.nullring.xyz">Radio</a> -- listen to music
+ that Null Identity people have composed.
+ </li>
+ <li>
+ <a href="gopher://nullring.xyz">Gopherhole</a> -- logs for
+ andrei.website and other cool stuff, must be viewed with a gopher
+ client.
+ </li>
+ <li>
+ <a href="https://git.nullring.xyz">Git server</a> -- see the code
+ that I write or my dotfiles and other stuff.
+ </li>
+ <li>
+ <a href="https://nullring.xyz">The null webring</a> -- a webring
+ that I made (apparently there is another one by this name but
+ ignore that).
+ </li>
+ <li>
+ <a href="https://society.nullring.xyz">The Null Identity</a> --
+ it's a <b>ahem</b> tightly knit community located in victoria.
+ Yeah, that's the term.
+ </li>
+ <li>I2P website:
+ <pre class="crypto-pre"><code class=
+ "crypto">http://5ziug5tklfrep5gy3gv52xsoujq3nuxstqcj7a2s4jz4psveek4q.b32.i2p</code></pre>,
+ if you are on i2p and want to see my clearnet website, it is at
+ https://preston.nullring.xyz.
+ </li>
</ul>
-
<h2>Webrings</h2>
-
<p>This website is a part of the following webrings:</p>
<h3>The Null Webring</h3>
-<p><a href="https://kaistevenson.com">prev</a> <a href="https://nullring.xyz">Nullring</a> <a href="https://pen15.agency">next</a></p>
-
+<p><a href="https://kaistevenson.com">prev</a> <a href=
+"https://nullring.xyz">Nullring</a> <a href=
+"https://pen15.agency">next</a></p>
<h2>Donating</h2>
-<p>
- Basically, if you like any of what I am doing, donate! My servers aren't free, and I do run a lot of stuff
- for the tech related community in our school, and I also try to write good software. I like monero as a
- donation method because:
-</p>
+<p>Basically, if you like any of what I am doing, donate! My
+servers aren't free, and I do run a lot of stuff for the tech
+related community in our school, and I also try to write good
+software. I like monero as a donation method because:</p>
<ul>
- <li>The network is probably going to last longer than other cryptocurrencies due to it actually being private and self-sustaining.</li>
- <li>Compared to services like PayPal, I don't care about having an account or any extra glitter. I just want a simple payment method that can be anonymous.</li>
- <li>The transaction fees are extremely low compared to other cryptocurrencies.</li>
- <li>Proof of work is bad for the environment, but I'll start caring about that when I get taxed for carbon consumption or something.</li>
+ <li>The network is probably going to last longer than other
+ cryptocurrencies due to it actually being private and
+ self-sustaining.</li>
+ <li>Compared to services like PayPal, I don't care about having an
+ account or any extra glitter. I just want a simple payment method
+ that can be anonymous.</li>
+ <li>The transaction fees are extremely low compared to other
+ cryptocurrencies.</li>
+ <li>Proof of work is bad for the environment, but I'll start
+ caring about that when I get taxed for carbon consumption or
+ something.</li>
</ul>
-
<p>Here are some methods of donating I support:</p>
<ul>
- <li>XMR: <pre class="crypto-pre"><code class="crypto">46RF35tTC9XhoRh745E9HkXD92t64SJw5Zby9ugNGmo2gGxM7iMhYuWAfhxp9FSQMeFKxcS2yoNLpQxPfpeThSQGH1YDr6e</code></pre></li>
+ <li>XMR:
+ <pre class="crypto-pre"><code class=
+ "crypto">46RF35tTC9XhoRh745E9HkXD92t64SJw5Zby9ugNGmo2gGxM7iMhYuWAfhxp9FSQMeFKxcS2yoNLpQxPfpeThSQGH1YDr6e</code></pre>
+ </li>
</ul>
-<p>
- Thanks a lot for your support!
-</p>
+ </title>
+</head>
+<body>
+ <div class="nav" class="justcenter">
+ <a href="/index.html" class="justleft">Home</a> |
+ <a href="/about/" class="justleft">About</a> |
+ <a href="/about/contact.html" class="justleft">Contact</a>
+
+ <hr>
+ </div>
+
+ <div class="content">
+$$VAR CONTENT
</div>
</body>
</html>
diff --git a/process_file b/process_file
index 0aa9ea4..996f151 100755
--- a/process_file
+++ b/process_file
@@ -10,45 +10,39 @@ if [ $# -eq 0 ]; then
fi
# This function recursively resolves the $$INCLUDE calls
-template_replacement()
-{
- r_templates="$(< "$TEMPLATE_BUILD_DIR/$(basename "$1")" grep "\$\$INCLUDE")" # this is the future built version of our template.
- # We are finding the $$INCLUDE lines.
- if [ -z "$r_templates" ] # Base case of recursion: there are no more $$INCLUDE calls.
- then
+template_replacement() {
+ r_templates="$(grep <"$TEMPLATE_BUILD_DIR/$(basename "$1")" "\$\$INCLUDE")" # this is the future built version of our template.
+ # We are finding the $$INCLUDE lines.
+ if [ -z "$r_templates" ]; then # Base case of recursion: there are no more $$INCLUDE calls.
return 0
fi
- echo "$r_templates" | while read -r i
- do
+ echo "$r_templates" | while read -r i; do
# Escapes special characters from line containing $$INCLUDE call
- keyword_regexp="$(printf '%s' "$i" | -e gsed 's/[]\/$*.^|[]/\\&/g' | gsed ':a;N;$!ba;s,\n,\\n,g')"
+ keyword_regexp="$(printf '%s' "$i" | -e sed 's/[]\/$*.^|[]/\\&/g' | sed ':a;N;$!ba;s,\n,\\n,g')"
r_tname="$TEMPLATE_DIR/$(echo "$i" | cut -d ' ' -f 2).html"
# Get contents of file then escapes special characters
f_contents="$(cat "$r_tname")"
- replacement_regexp="$(printf '%s' "$f_contents" | gsed -e 's/[\/&]/\\&/g' | gsed ':a;N;$!ba;s,\n,\\n,g')"
+ replacement_regexp="$(printf '%s' "$f_contents" | sed -e 's/[\/&]/\\&/g' | sed ':a;N;$!ba;s,\n,\\n,g')"
#Finally do the sed replace to replace the $$INCLUDE line with the contents of the included template file
- gsed -i "s/$keyword_regexp/$replacement_regexp/g" "$TEMPLATE_BUILD_DIR/$(basename "$1")" # BUG: This shit does not work
+ sed -i "s/$keyword_regexp/$replacement_regexp/g" "$TEMPLATE_BUILD_DIR/$(basename "$1")" # BUG: This shit does not work
# Then we do it all again on the same file.
template_replacement "$1"
done
}
-fname="$(basename "$1")" # gets the name of file in question
-if [ "${fname##*.}" != "html" ] # If it is not an html file, just copy it over to the build directory, the script does nothing.
-then
+fname="$(basename "$1")" # gets the name of file in question
+if [ "${fname##*.}" != "html" ]; then # If it is not an html file, just copy it over to the build directory, the script does nothing.
cp "$1" "$BUILD_DIR/$1"
exit 0
fi
# We want the first specified template to be the template
-template_name="$(< "$1" grep "\$\$TEMPLATE" | head -1)"
-
+template_name="$(grep <"$1" "\$\$TEMPLATE" | head -1)"
# Location of the template that is to be built from template_replacement
-if [ -n "$template_name" ] # We get the path of the template and if no template is specified it uses the default.
-then
+if [ -n "$template_name" ]; then # We get the path of the template and if no template is specified it uses the default.
template="$TEMPLATE_DIR/$(echo "$template_name" | cut -d ' ' -f 2 | tr -d '\n').html"
else
template="$DEFAULT_TEMPLATE"
@@ -57,44 +51,41 @@ fi
built_template="$TEMPLATE_BUILD_DIR/$(basename "$template")"
template_replacement "$template" # replace all the $$TEMPLATE calls.
-vars="$(< "$1" grep "\$\$START")"
+vars="$(grep <"$1" "\$\$START")"
# now we prepare to do the variable substitutions.
cp "$built_template" "$BUILD_DIR/$1"
-echo "$vars" | while read -r var;
-do
+echo "$vars" | while read -r var; do
# Get the name of the variable
name="$(echo "$var" | cut -d ' ' -f 2 | tr -d '\n')"
- keyword_regexp="$(printf '%s' "$var" | gsed -e 's/[]\/$*.^|[]/\\&/g' | gsed ':a;N;$!ba;s,\n,\\n,g')"
+ keyword_regexp="$(printf '%s' "$var" | sed -e 's/[]\/$*.^|[]/\\&/g' | sed ':a;N;$!ba;s,\n,\\n,g')"
# Get the endpoint of the variable
var_end="\$\$END $name"
- end_regexp="$(printf '%s' "$var_end" | gsed -e 's/[\/&]/\\&/g' | gsed ':a;N;$!ba;s,\n,\\n,g')"
+ end_regexp="$(printf '%s' "$var_end" | sed -e 's/[\/&]/\\&/g' | sed ':a;N;$!ba;s,\n,\\n,g')"
# Get the value of the variable
- value="$(< "$BUILD_DIR/$1" gsed -n "/$keyword_regexp/,/$end_regexp/p" "$1")"
- value_regexp="$(printf '%s' "$value" | gsed -e 's/[]\/$*.^|[]/\\&/g' | gsed ':a;N;$!ba;s,\n,\\n,g')"
+ value="$(sed <"$BUILD_DIR/$1" -n "/$keyword_regexp/,/$end_regexp/p" "$1")"
+ value_regexp="$(printf '%s' "$value" | sed -e 's/[]\/$*.^|[]/\\&/g' | sed ':a;N;$!ba;s,\n,\\n,g')"
# Get the string to replace
replacement="\$\$VAR $name"
- replacement_regexp="$(printf '%s' "$replacement" | gsed -e 's/[\/&]/\\&/g' | gsed ':a;N;$!ba;s,\n,\\n,g')"
+ replacement_regexp="$(printf '%s' "$replacement" | sed -e 's/[\/&]/\\&/g' | sed ':a;N;$!ba;s,\n,\\n,g')"
# Then do the replacement
- gsed -i "s/$replacement_regexp/$value_regexp/g" "$BUILD_DIR/$1" # BUG: Doesn't work on openBSD
+ sed -i "s/$replacement_regexp/$value_regexp/g" "$BUILD_DIR/$1" # BUG: Doesn't work on openBSD
done
# For some reason I can't trim these inside the loop (i tried) so this works.
sed -i '/\$\$START/d' "$BUILD_DIR/$1"
sed -i '/\$\$END/d' "$BUILD_DIR/$1"
-debug="$(< "$BUILD_DIR/$1" grep "\$\$SCRIPT")"
+debug="$(grep <"$BUILD_DIR/$1" "\$\$SCRIPT")"
printf "$debug\n"
-if [ -n "$debug" ]
-then
- echo "$debug" | while read -r line;
- do
+if [ -n "$debug" ]; then
+ echo "$debug" | while read -r line; do
name="$(echo "$line" | cut -d ' ' -f 2 | tr -d '\n')"
output="$(./"$PLUG_DIR/$name" "$1" "$template")"
- keyword_regexp="$(printf '%s' "$line" | gsed -e 's/[]\/$*.^|[]/\\&/g' | gsed ':a;N;$!ba;s,\n,\\n,g')"
- replacement_regexp="$(printf '%s' "$output" | gsed -e 's/[\/&]/\\&/g' | gsed ':a;N;$!ba;s,\n,\\n,g')"
+ keyword_regexp="$(printf '%s' "$line" | sed -e 's/[]\/$*.^|[]/\\&/g' | sed ':a;N;$!ba;s,\n,\\n,g')"
+ replacement_regexp="$(printf '%s' "$output" | sed -e 's/[\/&]/\\&/g' | sed ':a;N;$!ba;s,\n,\\n,g')"
sed -i "s/$keyword_regexp/$replacement_regexp/g" "$BUILD_DIR/$1" # BUG: doesn't work with openBSD
done
diff --git a/website/index.html b/website/index.html
index 587cca0..f4c9353 100644
--- a/website/index.html
+++ b/website/index.html
@@ -1,96 +1,135 @@
-$$START TITLE
-Preston Pan
-$$END TITLE
-
-$$START CONTENT
+$$START TITLE Preston Pan $$END TITLE $$START CONTENT
<h1>Preston Pan (aka LiCoO2)</h1>
-
-<p>
- Hi! I'm Preston Pan, and this is my v3 of my website.
- I've got it to work with a shell script that I made.
- In the future, I might release the shell script as a separate
- thing, but for now it's a part of the
- <a href="https://society.nullring.xyz">Null Identity</a> website
- and this one.
-</p>
-
+<p>Hi! I'm Preston Pan, and this is my v3 of my website. I've got
+it to work with a shell script that I made. In the future, I might
+release the shell script as a separate thing, but for now it's a
+part of the <a href="https://society.nullring.xyz">Null
+Identity</a> website and this one.</p>
+<p>NOTICE: I AM NOT USING THIS WEBSITE ANYMORE. My new one can be
+found at https://ret2pop.nullring.xyz, as I have moved my website
+to using org-mode. Yes, I am an emacs user now.</p>
<p>Some things about myself:</p>
<ul>
<li>I play improvisational piano, and I sing as a hobby.</li>
<li>I do some amount of programming as a hobby.</li>
- <li>I also do some amount of mathematics and physics as a hobby.</li>
+ <li>I also do some amount of mathematics and physics as a
+ hobby.</li>
<li>I try to read up on economics as a hobby.</li>
<li>I'm trying to get my ham radio basic license.</li>
</ul>
-
-<p>
- Of course, those are rather surface level things, but the point is that
- you will find things related to the topics above on this website.
- The website is structured in a hiearchical format just like in filesystems
- because I find that to be the easiest balance between user simplicity
- and developer simplicity.
-</p>
-
-<p>
- Note: most things on this website will 404 right now simply because of the
- fact that I have a limited amount of time and have just changed the backend
- for this website.
-</p>
-
+<p>Of course, those are rather surface level things, but the point
+is that you will find things related to the topics above on this
+website. The website is structured in a hiearchical format just
+like in filesystems because I find that to be the easiest balance
+between user simplicity and developer simplicity.</p>
+<p>Note: most things on this website will 404 right now simply
+because of the fact that I have a limited amount of time and have
+just changed the backend for this website.</p>
<h2>Topics</h2>
-
-<p>Here, you will find topics related to: </p>
+<p>Here, you will find topics related to:</p>
<ul>
- <li><a href="./about/">About</a> -- About me and this website.</li>
- <li><a href="./mathematics/">Mathematics</a> -- An underlying framework for all things that are logical.</li>
- <li><a href="./music/">Music</a> -- my piano playing and singing (and maybe other instruments too).</li>
- <li><a href="./physics/">Physics</a> -- Rates of change!</li>
- <li><a href="./economics/">Economics</a> -- Rates of exchange!</li>
- <li><a href="./technology/">Technology</a> -- Rates of finger pain! (Just kidding, I'm not an emacs user).</li>
- <li><a href="./projects/">Projects</a> -- programming and other projects.</li>
- <li><a href="./philosophy/">Philosophy</a> -- An underlying framework for all things that are.</li>
+ <li>
+ <a href="./about/">About</a> -- About me and this website.
+ </li>
+ <li>
+ <a href="./mathematics/">Mathematics</a> -- An underlying
+ framework for all things that are logical.
+ </li>
+ <li>
+ <a href="./music/">Music</a> -- my piano playing and singing (and
+ maybe other instruments too).
+ </li>
+ <li>
+ <a href="./physics/">Physics</a> -- Rates of change!
+ </li>
+ <li>
+ <a href="./economics/">Economics</a> -- Rates of exchange!
+ </li>
+ <li>
+ <a href="./technology/">Technology</a> -- Rates of finger pain!
+ (Just kidding, I'm not an emacs user).
+ </li>
+ <li>
+ <a href="./projects/">Projects</a> -- programming and other
+ projects.
+ </li>
+ <li>
+ <a href="./philosophy/">Philosophy</a> -- An underlying framework
+ for all things that are.
+ </li>
</ul>
-
<p>Many articles will be written in groff and compiled to pdf.</p>
-
<h2>Services</h2>
-
<p>Here are the services that I run on my server/socially:</p>
<ul>
- <li><a href="https://git.nullring.xyz/prestonpan.git/atom">rss feed</a> -- atom feed for the website commit page to keep you updated on changes.</li>
- <li><a href="https://fedi.andrei.website/u/LiCoO2/rss">rss feed (2)</a> -- rss feed for my honk account, a fediverse server.</li>
- <li><a href="https://radio.nullring.xyz">Radio</a> -- listen to music that Null Identity people have composed.</li>
- <li><a href="gopher://nullring.xyz">Gopherhole</a> -- logs for andrei.website and other cool stuff, must be viewed with a gopher client.</li>
- <li><a href="https://git.nullring.xyz">Git server</a> -- see the code that I write or my dotfiles and other stuff.</li>
- <li><a href="https://nullring.xyz">The null webring</a> -- a webring that I made (apparently there is another one by this name but ignore that).</li>
- <li><a href="https://society.nullring.xyz">The Null Identity </a> -- it's a <b>ahem</b> tightly knit community located in victoria. Yeah, that's the term.</li>
- <li>I2P website: <pre class="crypto-pre"><code class="crypto">http://5ziug5tklfrep5gy3gv52xsoujq3nuxstqcj7a2s4jz4psveek4q.b32.i2p</code></pre>, if you are on i2p and want to see my clearnet website, it is at https://preston.nullring.xyz.</li>
+ <li>
+ <a href="https://git.nullring.xyz/prestonpan.git/atom">rss
+ feed</a> -- atom feed for the website commit page to keep you
+ updated on changes.
+ </li>
+ <li>
+ <a href="https://fedi.andrei.website/u/LiCoO2/rss">rss feed
+ (2)</a> -- rss feed for my honk account, a fediverse server.
+ </li>
+ <li>
+ <a href="https://radio.nullring.xyz">Radio</a> -- listen to music
+ that Null Identity people have composed.
+ </li>
+ <li>
+ <a href="gopher://nullring.xyz">Gopherhole</a> -- logs for
+ andrei.website and other cool stuff, must be viewed with a gopher
+ client.
+ </li>
+ <li>
+ <a href="https://git.nullring.xyz">Git server</a> -- see the code
+ that I write or my dotfiles and other stuff.
+ </li>
+ <li>
+ <a href="https://nullring.xyz">The null webring</a> -- a webring
+ that I made (apparently there is another one by this name but
+ ignore that).
+ </li>
+ <li>
+ <a href="https://society.nullring.xyz">The Null Identity</a> --
+ it's a <b>ahem</b> tightly knit community located in victoria.
+ Yeah, that's the term.
+ </li>
+ <li>I2P website:
+ <pre class="crypto-pre"><code class=
+ "crypto">http://5ziug5tklfrep5gy3gv52xsoujq3nuxstqcj7a2s4jz4psveek4q.b32.i2p</code></pre>,
+ if you are on i2p and want to see my clearnet website, it is at
+ https://preston.nullring.xyz.
+ </li>
</ul>
-
<h2>Webrings</h2>
-
<p>This website is a part of the following webrings:</p>
<h3>The Null Webring</h3>
-<p><a href="https://kaistevenson.com">prev</a> <a href="https://nullring.xyz">Nullring</a> <a href="https://pen15.agency">next</a></p>
-
+<p><a href="https://kaistevenson.com">prev</a> <a href=
+"https://nullring.xyz">Nullring</a> <a href=
+"https://pen15.agency">next</a></p>
<h2>Donating</h2>
-<p>
- Basically, if you like any of what I am doing, donate! My servers aren't free, and I do run a lot of stuff
- for the tech related community in our school, and I also try to write good software. I like monero as a
- donation method because:
-</p>
+<p>Basically, if you like any of what I am doing, donate! My
+servers aren't free, and I do run a lot of stuff for the tech
+related community in our school, and I also try to write good
+software. I like monero as a donation method because:</p>
<ul>
- <li>The network is probably going to last longer than other cryptocurrencies due to it actually being private and self-sustaining.</li>
- <li>Compared to services like PayPal, I don't care about having an account or any extra glitter. I just want a simple payment method that can be anonymous.</li>
- <li>The transaction fees are extremely low compared to other cryptocurrencies.</li>
- <li>Proof of work is bad for the environment, but I'll start caring about that when I get taxed for carbon consumption or something.</li>
+ <li>The network is probably going to last longer than other
+ cryptocurrencies due to it actually being private and
+ self-sustaining.</li>
+ <li>Compared to services like PayPal, I don't care about having an
+ account or any extra glitter. I just want a simple payment method
+ that can be anonymous.</li>
+ <li>The transaction fees are extremely low compared to other
+ cryptocurrencies.</li>
+ <li>Proof of work is bad for the environment, but I'll start
+ caring about that when I get taxed for carbon consumption or
+ something.</li>
</ul>
-
<p>Here are some methods of donating I support:</p>
<ul>
- <li>XMR: <pre class="crypto-pre"><code class="crypto">46RF35tTC9XhoRh745E9HkXD92t64SJw5Zby9ugNGmo2gGxM7iMhYuWAfhxp9FSQMeFKxcS2yoNLpQxPfpeThSQGH1YDr6e</code></pre></li>
+ <li>XMR:
+ <pre class="crypto-pre"><code class=
+ "crypto">46RF35tTC9XhoRh745E9HkXD92t64SJw5Zby9ugNGmo2gGxM7iMhYuWAfhxp9FSQMeFKxcS2yoNLpQxPfpeThSQGH1YDr6e</code></pre>
+ </li>
</ul>
-<p>
- Thanks a lot for your support!
-</p>
-$$END CONTENT
+<p>Thanks a lot for your support!</p>$$END CONTENT