Compare commits
44 Commits
15bbb2e33e
...
2.0
| Author | SHA1 | Date | |
|---|---|---|---|
| 8a8845d898 | |||
| 65be246673 | |||
| eabf56ed93 | |||
| d55b13ecbf | |||
| cc8a7710a1 | |||
| ad83090b05 | |||
| 684c237ac1 | |||
| 23c0090a47 | |||
| e57ec6de50 | |||
| c790dd6736 | |||
| 6e3666cea2 | |||
| 7379df38de | |||
| 2a915fec69 | |||
| fa0e9907ee | |||
| 2c3b5056ae | |||
| f5e0c39458 | |||
| 645093da36 | |||
| f57583b1a9 | |||
| 51b2ebf8e6 | |||
| 5a6d91296d | |||
| 5306cb78d3 | |||
| 749a018a6e | |||
| f212c41734 | |||
| cba46bfc23 | |||
| b734be4054 | |||
| 45915d2914 | |||
| 1fa30724d2 | |||
| 6def1a3007 | |||
| ed7c2b8b29 | |||
| 3fcd6af3a9 | |||
| 8507cbd189 | |||
| 8207702442 | |||
| 0ec47180e2 | |||
| c28f7a92d9 | |||
| 2d270542f0 | |||
| ba0cfe8b56 | |||
| fa8eef51ff | |||
| 730940b003 | |||
| 58fab1850b | |||
| a5b6227fef | |||
| 999a919a7f | |||
| 9afec80742 | |||
| 550485093c | |||
| 3a736dec82 |
@@ -25,7 +25,7 @@ cd www
|
||||
|
||||
Then in a web browser, navigate to `localhost:8080`.
|
||||
|
||||
## TODO
|
||||
## TODO Items
|
||||
|
||||
All goals are currently completed.
|
||||
|
||||
|
||||
66
cronjob.sh
Executable file
66
cronjob.sh
Executable file
@@ -0,0 +1,66 @@
|
||||
#!/usr/bin/env bash
|
||||
# 2025-10-14 Hyperling
|
||||
# Copied cronjob.sh from env-docker/Config/Hugo-Example/files/ to use for this
|
||||
# project so that docker container can do periodic git pulls rather than having
|
||||
# to reload /rebuild the container each time a release is pushed out.
|
||||
|
||||
## Setup ##
|
||||
|
||||
DIR="$(dirname -- "${BASH_SOURCE[0]}")"
|
||||
PROG="$(basename -- "${BASH_SOURCE[0]}")"
|
||||
cd $DIR
|
||||
DIR="`pwd`"
|
||||
NAME="'$PROG'"
|
||||
|
||||
function log {
|
||||
echo -e "`date` : $NAME - $1"
|
||||
}
|
||||
|
||||
function kill-project {
|
||||
# Kill node.js which will complete run.sh and restart any Docker containers.
|
||||
# This is more intended towards Development and Stage sites since Production
|
||||
# will only see git changes when a pull request is manually completed.
|
||||
log "Stopping continuous processes!"
|
||||
pkill node
|
||||
}
|
||||
|
||||
function reload-project {
|
||||
# Nothing to do, run.sh and main.js automatically uses the latest files.
|
||||
log "Project reloaded successfully!"
|
||||
}
|
||||
|
||||
## Main ##
|
||||
|
||||
# Pull any updates, and if the project is already up to date, exit successfully.
|
||||
output="`git pull`"
|
||||
git_status="$?"
|
||||
|
||||
echo "$output" | grep -v "up to date"
|
||||
grep_status="$?"
|
||||
|
||||
log "Pull status is '$git_status', checking for changes is '$grep_status'."
|
||||
|
||||
# Check whether the continuously running jobs have been updated.
|
||||
echo "$output" | grep "main.js"
|
||||
main_changed="$?"
|
||||
echo "$output" | grep "run.sh"
|
||||
run_changed="$?"
|
||||
|
||||
# Determine where we've landed and whether we need to do anything.
|
||||
if [[ $git_status != 0 ]]; then
|
||||
log "*** ERROR: Git reported a failure! ***"
|
||||
exit 1
|
||||
elif [[ $git_status == 0 && ($main_changed == 0 || $run_changed == 0) ]]; then
|
||||
log "Either main ('$main_changed'), or run ('$run_changed') were changed!"
|
||||
kill-project
|
||||
elif [[ $git_status == 0 && $grep_status == 0 ]]; then
|
||||
reload-project
|
||||
elif [[ $git_status == 0 && $grep_status != 0 ]]; then
|
||||
log "Nothing to do. '$output'"
|
||||
else
|
||||
log "*** WARNING: Unknown Situation ***"
|
||||
fi
|
||||
|
||||
## Success! ##
|
||||
|
||||
exit 0
|
||||
@@ -29,7 +29,6 @@
|
||||
planted at least one fruit tree or had a small square foot
|
||||
garden. We would be in paradise!
|
||||
</p>
|
||||
<!-- TBD change this to 'Coding, videos, and art' :) -->
|
||||
<p>
|
||||
Coding and videos aren't my only hobbies, I'm also big into
|
||||
health. I see it as humanity's most important asset and take a
|
||||
|
||||
@@ -11,7 +11,6 @@
|
||||
<div class="row" id="experience">
|
||||
<h2 class="col-12 title">My Profession</h2>
|
||||
</div>
|
||||
<!-- TBD/TODO: Add image? Me at laptop with Cleo? Or none like other Media pages? -->
|
||||
<div class="row">
|
||||
<div class="col-12 header">
|
||||
<p>
|
||||
@@ -19,9 +18,9 @@
|
||||
Linux system administration from a young age.
|
||||
Much of my career has focused on back-end / database systems
|
||||
and optimizing workflows.
|
||||
I feel that I specialize in building systems with "no sharp edges",
|
||||
meaning that I make sure there isn't a way the user can hurt
|
||||
themselves or the system.
|
||||
I feel that I specialize in building systems with "no sharp
|
||||
edges", meaning that I test rigorously to ensure there aren't any
|
||||
ways the user can hurt themselves or the system.
|
||||
In my free time I enjoy learning new
|
||||
languages and writing apps for Android.
|
||||
</p>
|
||||
|
||||
@@ -7,9 +7,6 @@
|
||||
?>
|
||||
<div class="row">
|
||||
<h1 class="col-12 title">Current Diet</h1>
|
||||
<div class="col-12 header center" >
|
||||
<img src="/files/media/icons/tbd.jpg" alt="Image TBD">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-12 text">
|
||||
|
||||
@@ -58,13 +58,28 @@
|
||||
<p>
|
||||
Curious how I made it? Check out its Git repository:
|
||||
</p>
|
||||
<ul class="indent"><li>
|
||||
<ul class="indent">
|
||||
<li>
|
||||
<a href="https://git.hyperling.com/me/ebook-freedom-flyer"
|
||||
target="_blank" rel="noopener noreferrer"
|
||||
>
|
||||
[CODE] | Source Code
|
||||
</a>
|
||||
</li></ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
Here is the video it was announced in:
|
||||
</p>
|
||||
<ul class="indent">
|
||||
<li>
|
||||
<a href="https://odysee.com/@HyperVegan:2/20251003-Announcements:0"
|
||||
target="_blank" rel="noopener noreferrer"
|
||||
>
|
||||
[Odysee] | HyperVegan: "Announcements: Skipped Midfest, Voluntary Sovereignty eBook, CheapRVLiving Interview"
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<?php
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Page to provide ways people can support me.
|
||||
-->
|
||||
<?php
|
||||
$GLOBALS["ADVISORY"] = false;
|
||||
//$GLOBALS["ADVISORY"] = false;
|
||||
if (!isset($GLOBALS["HEADER_TITLE"])) {
|
||||
$GLOBALS["HEADER_TITLE"] = "Health";
|
||||
}
|
||||
|
||||
@@ -1,15 +1,13 @@
|
||||
#!/usr/bin/php
|
||||
<?php
|
||||
$show_advisory = false;
|
||||
$show_advisory = true;
|
||||
if ($show_advisory) echo '
|
||||
<div class="row">
|
||||
<p><!-- Gap Area --></p>
|
||||
</div>
|
||||
|
||||
<div class="row center" id="advisory">
|
||||
<div class="col-12 title">
|
||||
<i><h2>Announcements</h2></i>
|
||||
</div>
|
||||
<div class="row center title" id="advisory">
|
||||
<i><h2 class="col-12 title">Latest Announcement</h2></i>
|
||||
<a href="/freedom/">
|
||||
<div class="col-12 text">
|
||||
<u class="orange">2025-09-28</u>
|
||||
|
||||
@@ -6,11 +6,6 @@
|
||||
}
|
||||
$show_pics = $GLOBALS["SHOW_BANNER_PICS"];
|
||||
$banner_width = $show_pics ? 6 : 12;
|
||||
|
||||
// TBD / TODO:
|
||||
// Check if user has vertical screen?
|
||||
// Is that possible in this environment?
|
||||
//$image_width = $vertical_screen ? 6 : 3;
|
||||
?>
|
||||
<a href='/about/'>
|
||||
<div class="row">
|
||||
|
||||
@@ -35,11 +35,18 @@
|
||||
<p>
|
||||
I enjoy writing! Find my free eBooks below.
|
||||
</p>
|
||||
<ul class="indent"><li>
|
||||
2025-09-28: <a href="/freedom/">Voluntary Sovereignty</a>
|
||||
</li><li>
|
||||
2024-03-07: <a href="/health/">My Health Protocol</a>
|
||||
</li></ul>
|
||||
<ul class="indent">
|
||||
<li>
|
||||
2025-09-28: <a href="/freedom/">Voluntary Sovereignty</a> |
|
||||
Existing in a statist society with the least amount of friction.
|
||||
</li>
|
||||
<li><p><!-- Small Gap --></p></li>
|
||||
<li>
|
||||
2024-03-07: <a href="/health/">Hyperling's Health Protocol</a> |
|
||||
Health is a lifestyle, not a diet. Align yourself with Nature
|
||||
to receive its blessings.
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -10,9 +10,8 @@
|
||||
?>
|
||||
<div class="row">
|
||||
<h1 class="col-12 title">Resume</h1>
|
||||
<div class="col-12 header center" >
|
||||
<img src="/files/media/icons/home.jpg" alt="<<home.jpg>>"> <!-- TBD use a new photo -->
|
||||
</div>
|
||||
<div class="row">
|
||||
<h2 class="col-12 title center">Current Status : Traveling Full Time</h2>
|
||||
</div>
|
||||
<div class="row">
|
||||
@@ -20,22 +19,13 @@
|
||||
<p>
|
||||
Interested in hiring me? View my resume below!
|
||||
</p>
|
||||
<ul class="indent"><li>
|
||||
<!--<ul class="indent"><li>-->
|
||||
<a href="https://hyperling.com/files/media/documents/Resume.pdf"
|
||||
target="_blank" rel="noopener noreferrer"
|
||||
>
|
||||
[PDF] | Direct Download
|
||||
</a>
|
||||
</li></ul>
|
||||
<!-- For those sneaky folks who look at source code. ;)
|
||||
<ul class="indent"><li>
|
||||
<a href="https://hyperling.com/files/media/documents/resume.md"
|
||||
target="_blank" rel="noopener noreferrer"
|
||||
>
|
||||
[Markdown] | Direct Download
|
||||
</a>
|
||||
</li></ul>
|
||||
-->
|
||||
<!--</li></ul>-->
|
||||
</div>
|
||||
</div>
|
||||
<?php
|
||||
|
||||
@@ -3,12 +3,12 @@
|
||||
$long = true;
|
||||
?>
|
||||
<div class="row" id="obtainium">
|
||||
<h2 class="col-12 header">All Announcements</h2>
|
||||
<h2 class="col-12 header">Announcements</h2>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-12 text">
|
||||
<a href="/freedom/">2025-09-28</a>
|
||||
<strong><a href="/freedom/">2025-09-28</a></strong>
|
||||
<p>
|
||||
I wrote another short free eBook, "Voluntary Sovereignty", check it out
|
||||
<a href="/freedom/">here</a>!
|
||||
@@ -33,7 +33,7 @@
|
||||
|
||||
<div class="row">
|
||||
<div class="col-12 text">
|
||||
<a href="/apps/#expense">2025-05-XX</a>
|
||||
<strong><a href="/apps/#expense">2025-03-27</a></strong>
|
||||
<p>
|
||||
My new Android app
|
||||
<a href="/apps/#expense">"Expense Tracker"</a>
|
||||
@@ -59,7 +59,7 @@
|
||||
|
||||
<div class="row">
|
||||
<div class="col-12 text">
|
||||
<a href="/health/">2024-03-07</a>
|
||||
<strong><a href="/health/">2024-03-07</a></strong>
|
||||
<p>
|
||||
Find my free eBook, "Hyperling's Health Protocol",
|
||||
<a href="/health/">here</a>!
|
||||
@@ -86,7 +86,7 @@
|
||||
|
||||
<div class="row">
|
||||
<div class="col-12 text">
|
||||
<a href="/apps/#tictactoe">2024-03-31</a>
|
||||
<strong><a href="/apps/#tictactoe">2024-03-31</a></strong>
|
||||
<p>
|
||||
There's a new app in town,
|
||||
<a href="/apps/#tictactoe">Tic-Tac-Toe</a>!
|
||||
|
||||
56
run.sh
56
run.sh
@@ -4,8 +4,14 @@
|
||||
|
||||
## Setup ##
|
||||
|
||||
DIR=`dirname $0`
|
||||
PROG=`basename $0`
|
||||
DIR="$(dirname -- "${BASH_SOURCE[0]}")"
|
||||
PROG="$(basename -- "${BASH_SOURCE[0]}")"
|
||||
|
||||
# Ensure we are executing from this file's directory.
|
||||
cd $DIR
|
||||
DIR="`pwd`"
|
||||
NAME="'$DIR/$PROG'"
|
||||
echo $NAME
|
||||
|
||||
## Functions ##
|
||||
|
||||
@@ -26,6 +32,22 @@ function log {
|
||||
echo -e "`date` - $message"
|
||||
}
|
||||
|
||||
log "Local process information:"
|
||||
ps $$
|
||||
function check_main {
|
||||
if [[ -z "$1" ]]; then
|
||||
echo "ERROR: Subprocess name was not provided. $1"
|
||||
exit 0
|
||||
fi
|
||||
log "Subprocess '$1' checking if main process is still running..."
|
||||
ps $$ >/dev/null
|
||||
status=$?
|
||||
if [[ $status != 0 ]]; then
|
||||
log "Process '$$' not found, '$1' from '$DIR/$PROG' exiting."
|
||||
exit 0
|
||||
fi
|
||||
}
|
||||
|
||||
## Parameters ##
|
||||
|
||||
while getopts ':p:h' opt; do
|
||||
@@ -47,9 +69,6 @@ fi
|
||||
|
||||
## Build Environment ##
|
||||
|
||||
# Ensure we are executing from this file's directory.
|
||||
cd $DIR
|
||||
|
||||
sudo=""
|
||||
if [[ -z $LOGNAME ]]; then
|
||||
LOGNAME="`whoami`"
|
||||
@@ -60,21 +79,29 @@ if [[ $LOGNAME != "root" ]]; then
|
||||
fi
|
||||
|
||||
log "Check if any system dependencies need installed."
|
||||
progs=""
|
||||
if [[ ! `which php` ]]; then
|
||||
echo "- Installing PHP"
|
||||
$sudo apt-get install -y php-cli
|
||||
progs="$progs php-cli"
|
||||
fi
|
||||
if [[ ! `which node` ]]; then
|
||||
echo "- Installing Node"
|
||||
$sudo apt-get install -y nodejs
|
||||
progs="$progs nodejs"
|
||||
fi
|
||||
if [[ ! `which npm` ]]; then
|
||||
echo "- Installing NPM"
|
||||
$sudo apt-get install -y npm
|
||||
progs="$progs npm"
|
||||
fi
|
||||
if [[ ! `which curl` ]]; then
|
||||
echo "- Installing Curl"
|
||||
$sudo apt-get install -y curl
|
||||
progs="$progs curl"
|
||||
fi
|
||||
if [[ ! `which ps` ]]; then
|
||||
echo "- Installing PS"
|
||||
progs="$progs procps"
|
||||
fi
|
||||
if [[ -n "$progs" ]]; then
|
||||
$sudo apt-get install -y $progs
|
||||
fi
|
||||
|
||||
# Directories and allowed page types are executable, others are not.
|
||||
@@ -95,6 +122,7 @@ npm install
|
||||
log "Removing old index files."
|
||||
find files/photos/ -name "*".html -print -delete
|
||||
{
|
||||
check_main photos
|
||||
count=1
|
||||
http_code=0
|
||||
port="${ports%% *}"
|
||||
@@ -120,11 +148,21 @@ find files/photos/ -name "*".html -print -delete
|
||||
|
||||
## Main ##
|
||||
|
||||
log "Start local cronjob."
|
||||
while true; do
|
||||
check_main cronjob
|
||||
$DIR/cronjob.sh
|
||||
sleep 30
|
||||
done &
|
||||
|
||||
log "Start website API."
|
||||
node ./main.js $ports
|
||||
status=$?
|
||||
|
||||
## Finish ##
|
||||
|
||||
log "Kill spawned processes."
|
||||
pkill -eP $$
|
||||
|
||||
log "Exiting with status '$status'."
|
||||
exit $status
|
||||
|
||||
Reference in New Issue
Block a user