60 Commits

Author SHA1 Message Date
me cd48fc3112 Go back to using fdroid., certificate is not properly working for apps. after multiple deletions and recreations. 2026-07-04 09:55:14 -07:00
me b4556376d0 Fix the date going to the location of a previous announcement. 2026-07-04 09:44:19 -07:00
me 9d37e9e677 Fix the date going to the location of a previous announcement. 2026-07-04 09:44:10 -07:00
me 9f03b70611 Fix quotes around URL. 2026-07-04 09:29:44 -07:00
me 8b2cbb1f0e Also change announcement to say apps. not fdroid.. 2026-07-04 09:28:59 -07:00
me 734918433a Use apps.hyperling.com rather than fdroid.hyperling.com. 2026-07-04 09:01:30 -07:00
me 0dd7dad766 Capitalize Hyperling. 2026-07-03 17:23:07 -07:00
me 94e69f97c5 Change order of apps to better reflect their usefulness. 2026-07-03 15:13:30 -07:00
me 756f7625a3 Move the fdroid info to its own section, did not realize it was under the Obtainium header. 2026-07-03 13:05:06 -07:00
me 62044e48d3 Have the F-Droid link open in a new tab. 2026-07-03 12:59:02 -07:00
me ec4d7831b2 Add announcement for F-Droid repo. 2026-07-03 12:54:22 -07:00
me 6e0347e424 Add placeholder code for other payment methods. 2026-07-01 10:54:11 -07:00
me d84beef9c1 Start adding ETH. 2026-06-25 15:36:59 -07:00
me d458a866e6 Add a URL to the output for ease of opening. 2026-06-25 15:34:28 -07:00
me 51325fe8ec Add that payments can be monthly and yearly. 2026-06-25 15:34:16 -07:00
me 10b8dec786 Update permissions. 2026-06-25 15:34:02 -07:00
me af2b44d3a4 Remove the exclamation point for supporting Liberapay, already have this punctuation this paragraph. 2026-06-25 15:07:10 -07:00
me 36341648ba Add comment suggesting to support Liberapay as well. 2026-06-25 14:43:43 -07:00
me b8d331ca23 Add BitcoinCash. 2026-06-25 13:57:57 -07:00
me 12ad71707a Reduce size of the Ko-fi image. 2026-06-25 13:44:31 -07:00
me 3b93d63d20 Add content to the support subpage. 2026-06-25 13:32:15 -07:00
me e54476c931 Change header to be less repetitive and add upcoming Bitcoin Cash address. 2026-06-25 13:32:00 -07:00
me 7aa02e0ef5 Synchronize the Support and Donate pages by also moving the header to a subpage. 2026-06-25 13:30:55 -07:00
me 18701a3c56 Begin adding Suppot subpage which has recurring payment methods. 2026-06-25 11:21:02 -07:00
me 464f3aef39 Change crypto headers to be links to open wallet. 2026-06-25 11:20:35 -07:00
me 42c912e1a3 Fix log output for robots "file". 2026-05-15 13:15:38 -07:00
me a4bf722bdc Add permissive robots.txt to website. 2026-05-15 13:10:35 -07:00
me ce0dcb0f46 Fix the URL for health priority worksheet on journey page. 2026-03-16 16:15:36 -07:00
me dfe69ff4ea Add link to list of messaging links, without providing them directly on this site. 2026-01-18 15:25:21 -07:00
me eb18f54220 Adjust the menu slightly: Home page does not feel necessar now with the blog. Rebalance the amount of links in eah section. Rename Gitea link to Code. 2026-01-14 06:17:57 -07:00
me fee1b668c9 -m 2026-01-04 19:45:20 -07:00
me fd9244ede4 Move health section below stance on About. 2025-12-28 18:16:00 -07:00
me 7c09baa243 Remove spaces for browsers / devices which break the menu into multiple lines. 2025-12-28 18:15:25 -07:00
me c61c508ce8 Add space for consistency. 2025-12-28 18:12:37 -07:00
me f3785042f2 Add menu entry for articles / blogposts. 2025-12-28 18:10:24 -07:00
me 2a4aedce5e Add TBD. 2025-12-08 15:44:39 -07:00
me 0ba992352a Fix spacing in comment. 2025-12-08 15:44:35 -07:00
me e79ab36292 Merge pull request 'Update Checker Refactor, New Menu Style, Lazy Load Photos Pages' (#17) from prod into main
Reviewed-on: #17
2025-12-01 10:02:03 -07:00
me 20997473a4 Do not load metadata of videos. Too slow. 2025-12-01 08:54:58 -07:00
me c601559059 Change img options to all be before src is specified. 2025-12-01 08:49:41 -07:00
me cae8acda27 Lazy load image content. Improves performance for casual viewing. 2025-12-01 08:26:45 -07:00
me 2dcdfc745a Use the blog subdomain for more blog-ish content. 2025-11-22 10:30:49 -07:00
me 18db97629f Remove extra trailing slash. 2025-11-21 15:40:07 -07:00
me f5251c89f9 Turn off advisory. 2025-11-21 08:53:33 -07:00
me ab2dc22213 Add new menu links and recategorize existing entries. 2025-11-21 08:52:37 -07:00
me cfe7535c32 Greatly enhance the menu by no longer forcing it into columns. Allows much much in much less space!! 2025-11-16 20:43:06 -07:00
me f8d2e3ea08 Comment the 3rd row for now. Still deciding on it. 2025-10-22 19:34:01 -07:00
me 6a367bebec Add 3rd row with subdomains Blog and Recipes. 2025-10-22 19:06:28 -07:00
me 219236f167 Move PHP comments into PHP tags since they do not need to be on the website and were in front of the Doc Start tag. 2025-10-17 14:27:53 -07:00
me 2feb3e88cc Move comment to be after document start. 2025-10-17 14:19:57 -07:00
me a1a02500e4 Fix formatting and add back the removed div. 2025-10-17 14:19:04 -07:00
me 5d9f57fec4 Remove stray a closure. 2025-10-17 14:15:48 -07:00
me 30a8041fa8 Change order of i and h2 tags, specify that i should be purple in this context. 2025-10-17 14:14:26 -07:00
me ff1cf74a00 Remove unnecessary trailing slashes from meta attributes. 2025-10-17 14:12:36 -07:00
me 5ad44a8056 Remove excess div closure. 2025-10-17 14:10:11 -07:00
me b5ea457491 Remove comments which may have some malformed portions showing up on the site. 2025-10-15 09:52:04 -07:00
me eaf8d2e0bb Update wording now that there are multiple links. 2025-10-15 06:52:38 -07:00
me 616663ffe0 Move photo checking out of run.sh and into its own script. 2025-10-15 05:01:33 -07:00
me 1cd182b3a9 Rename cronjob.sh to check_git.sh. Eventually do the same with the photo checker code so that it can be called from check_git. 2025-10-14 15:13:24 -07:00
me ccd4f4d051 Of course I think of something AFTER the release, lol! Reset the photo index file so that any changed CSS is adapted. 2025-10-14 15:10:14 -07:00
28 changed files with 453 additions and 181 deletions
+3 -1
View File
@@ -25,7 +25,9 @@ function kill-project {
} }
function reload-project { function reload-project {
# Nothing to do, run.sh and main.js automatically uses the latest files. # Not much to do, run.sh and main.js automatically uses the latest files.
rm -v files/photos/index.html
# TBD/TODO: Call check_photos.sh once it has been pulled from run.sh.
log "Project reloaded successfully!" log "Project reloaded successfully!"
} }
+46
View File
@@ -0,0 +1,46 @@
#!/usr/bin/env bash
# 2025-10-15 Hyperling
# Create script which does the photo checking so that it can be called by
# scripts other than just run.sh, such as if it needs used in check_git.sh.
## Setup ##
DIR="$(dirname -- "${BASH_SOURCE[0]}")"
PROG="$(basename -- "${BASH_SOURCE[0]}")"
cd $DIR
DIR="`pwd`"
NAME="'$PROG'"
function log {
echo -e "`date` : $NAME - $1"
}
## Parameters ##
ports="$1"
## Main ##
count=1
http_code=0
port="${ports%% *}"
photos_uri=":$port/photos/"
beg_time="$SECONDS"
while [[ $http_code != "200" ]]; do
log "Sleeping for '$count' while waiting for $photos_uri to come up."
sleep $count
log "Checking if $photos_uri is available."
http_code="`curl --silent --fail -w '\n%{http_code}' localhost$photos_uri | tail -n 1`"
log "Check for $photos_uri responded with '$http_code'."
if (( $count >= 10 )); then
log "Giving up on loading $photos_uri after '$count' attempts."
break
else
count=$(( count + 1 ))
fi
done
end_time="$SECONDS"
time="$(( $end_time - $beg_time ))"
log "Finished checking for /photos/ after '$time' seconds."
exit 0
+13
View File
@@ -134,6 +134,11 @@ async function main() {
<strong>Web Pages (Alphabetical)</strong> <strong>Web Pages (Alphabetical)</strong>
<ul> <ul>
`; `;
let robots_txt = `
User-agent: *
Allow: /
Sitemap: https://hyperling.com/sitemap.xml
`;
console.log("...Adding Routes..."); console.log("...Adding Routes...");
let router = express.Router(); let router = express.Router();
@@ -199,6 +204,13 @@ async function main() {
res.send(sitemap_html); res.send(sitemap_html);
}); });
// Provide a robots.txt for where search engines should find things.
console.log(" * Creating router for robots.txt");
router.get('/robots.txt', function (req, res) {
console.log("robots.txt being provided to", req.socket.remoteAddress)
res.send(robots_txt);
});
// Return a resource from the files folder. // Return a resource from the files folder.
// TBD/TODO would be great to log this as "DATE: ADDRESS hit ROUTER requesting RESOURCE" // TBD/TODO would be great to log this as "DATE: ADDRESS hit ROUTER requesting RESOURCE"
console.log(" * Creating router for files"); console.log(" * Creating router for files");
@@ -270,6 +282,7 @@ async function main() {
ports.forEach(port => { ports.forEach(port => {
app.listen(port); app.listen(port);
console.log(" * Now listening on port " + port + "."); console.log(" * Now listening on port " + port + ".");
console.log(" * URL: http://localhost:" + port);
}); });
console.log("Done! Now we wait..."); console.log("Done! Now we wait...");
} }
+1 -1
View File
@@ -55,8 +55,8 @@
</div> </div>
<?php <?php
include "subpages/about/notice.php"; include "subpages/about/notice.php";
include "subpages/about/health.php";
include "subpages/about/stance.php"; include "subpages/about/stance.php";
include "subpages/about/health.php";
include "helpers/body_close.php"; include "helpers/body_close.php";
?> ?>
+86 -59
View File
@@ -1,8 +1,6 @@
#!/usr/bin/php #!/usr/bin/php
<!--
Synonym for home page.
-->
<?php <?php
/* Synonym for home page. */
if (!isset($GLOBALS["HEADER_TITLE"])) { if (!isset($GLOBALS["HEADER_TITLE"])) {
$GLOBALS["HEADER_TITLE"] = "Apps"; $GLOBALS["HEADER_TITLE"] = "Apps";
} }
@@ -91,6 +89,31 @@
--> -->
</div> </div>
<div class="row" id="fdroid">
<h4 class="col-12 header">F-Droid Repository</h4>
</div>
<div class="row text">
<div class="col-12 text">
<strong>F-Droid App Store</strong>
<p>
If you prefer F-Droid over Obtainium, that's an option too!
Just visit the link below, click the link, and choose 'Add repository' when F-Droid opens.
</p>
<ul class="indent">
<li>
<a href="https://fdroid.hyperling.com"
target="_blank" rel="noopener noreferrer"
>[fdroid.Hyperling.com]</a>
</li>
</ul>
<p>
It should recognize if any apps are already installed,
and depending on your settings will notify or auto-update for you.
</p>
</div>
</div>
<div class="row" id="android"> <div class="row" id="android">
<h3 class="col-12 header">Android Apps</h3> <h3 class="col-12 header">Android Apps</h3>
</div> </div>
@@ -98,7 +121,8 @@
<div class="row center text"> <div class="row center text">
<div class="col-12 text border" id="expense"> <div class="col-12 text border" id="expense">
<a href="https://git.hyperling.com/me/flutter-expense-tracker/releases"> <a href="https://git.hyperling.com/me/flutter-expense-tracker/releases"
target="_blank" rel="noopener noreferrer">
<figure> <figure>
<img class="app-icon" loading="lazy" alt="<<expense.png>>" <img class="app-icon" loading="lazy" alt="<<expense.png>>"
src="/files/media/icons/expense.png" src="/files/media/icons/expense.png"
@@ -122,60 +146,6 @@
</p> </p>
</div> </div>
<div class="col-12 text border" id="tictactoe">
<a href="https://git.hyperling.com/me/android-tictactoe/releases">
<figure>
<img class="app-icon" loading="lazy" alt="<<tictactoe.png>>"
src="/files/media/icons/tictactoe.png"
>
<figcaption>
Tic-Tac-Toe
</figcaption>
</figure>
</a>
<p>
Play against a friend or a range of AIs.
Written to practice Kotlin/Compose.
</p>
<p>
<!--[<s><a>F-Droid</a></s>]-->
[<a href="https://git.hyperling.com/me/android-tictactoe/"
target="_blank" rel="noopener noreferrer">Source Code</a>]
[<a href="https://git.hyperling.com/me/android-tictactoe/releases"
target="_blank" rel="noopener noreferrer">APKs / Obtainium URL</a>]
</p>
</div>
<div class="col-12 text border" id="ctfu">
<a href="https://git.hyperling.com/me/android-carb-up/releases"
target="_blank" rel="noopener noreferrer">
<figure>
<img class="app-icon" loading="lazy" alt="<<ctfu.png>>"
src="/files/media/icons/ctfu.png"
>
<figcaption>
Carb Up! BETA
</figcaption>
</figure>
</a>
<p>
Calculate cost-effective foods on a High Carb Low Fat lifestyle.
</p>
<p>
<!--[<a href="https://play.google.com/store/apps/details?id=com.hyperling.carbupbeta"
target="_blank" rel="noopener noreferrer">Play Store</a>]-->
[<a href="https://git.hyperling.com/me/android-carb-up/"
target="_blank" rel="noopener noreferrer">Source Code</a>]
[<a href="https://git.hyperling.com/me/android-carb-up/releases"
target="_blank" rel="noopener noreferrer">APKs / Obtainium URL</a>]
</p>
<!--<p>
<s>
[<a target="_blank" rel="noopener noreferrer">F-Droid</a>]
</s>
</p>-->
</div>
<div class="col-12 text border" id="timer"> <div class="col-12 text border" id="timer">
<a href="https://git.hyperling.com/me/android-infinite-timer/releases" <a href="https://git.hyperling.com/me/android-infinite-timer/releases"
target="_blank" rel="noopener noreferrer" target="_blank" rel="noopener noreferrer"
@@ -207,6 +177,36 @@
</p>--> </p>-->
</div> </div>
<div class="col-12 text border" id="ctfu">
<a href="https://git.hyperling.com/me/android-carb-up/releases"
target="_blank" rel="noopener noreferrer">
<figure>
<img class="app-icon" loading="lazy" alt="<<ctfu.png>>"
src="/files/media/icons/ctfu.png"
>
<figcaption>
Carb Up! BETA
</figcaption>
</figure>
</a>
<p>
Calculate cost-effective foods on a High Carb Low Fat lifestyle.
</p>
<p>
<!--[<a href="https://play.google.com/store/apps/details?id=com.hyperling.carbupbeta"
target="_blank" rel="noopener noreferrer">Play Store</a>]-->
[<a href="https://git.hyperling.com/me/android-carb-up/"
target="_blank" rel="noopener noreferrer">Source Code</a>]
[<a href="https://git.hyperling.com/me/android-carb-up/releases"
target="_blank" rel="noopener noreferrer">APKs / Obtainium URL</a>]
</p>
<!--<p>
<s>
[<a target="_blank" rel="noopener noreferrer">F-Droid</a>]
</s>
</p>-->
</div>
<div class="col-12 text border" id="sleep"> <div class="col-12 text border" id="sleep">
<a href="https://git.hyperling.com/me/android-45-minute-rule/releases" <a href="https://git.hyperling.com/me/android-45-minute-rule/releases"
target="_blank" rel="noopener noreferrer"> target="_blank" rel="noopener noreferrer">
@@ -237,6 +237,31 @@
</p>--> </p>-->
</div> </div>
<div class="col-12 text border" id="tictactoe">
<a href="https://git.hyperling.com/me/android-tictactoe/releases"
target="_blank" rel="noopener noreferrer">
<figure>
<img class="app-icon" loading="lazy" alt="<<tictactoe.png>>"
src="/files/media/icons/tictactoe.png"
>
<figcaption>
Tic-Tac-Toe
</figcaption>
</figure>
</a>
<p>
Play against a friend or a range of AIs.
Written to practice Kotlin/Compose.
</p>
<p>
<!--[<s><a>F-Droid</a></s>]-->
[<a href="https://git.hyperling.com/me/android-tictactoe/"
target="_blank" rel="noopener noreferrer">Source Code</a>]
[<a href="https://git.hyperling.com/me/android-tictactoe/releases"
target="_blank" rel="noopener noreferrer">APKs / Obtainium URL</a>]
</p>
</div>
<div class="col-12 text border" id="games"> <div class="col-12 text border" id="games">
<a href="https://git.hyperling.com/me/android-hypergames/releases" <a href="https://git.hyperling.com/me/android-hypergames/releases"
target="_blank" rel="noopener noreferrer" target="_blank" rel="noopener noreferrer"
@@ -281,7 +306,9 @@
For a full list of software including my Ansible automation, For a full list of software including my Ansible automation,
Docker setup, source code for this website, and other Docker setup, source code for this website, and other
fun/random toys, check out fun/random toys, check out
<a href="https://git.hyperling.com/me" target="_blank">My Projects</a>. <a href="https://git.hyperling.com/me"
target="_blank" rel="noopener noreferrer"
>My Projects</a>.
</p> </p>
</div> </div>
</div> </div>
+1 -3
View File
@@ -1,8 +1,6 @@
#!/usr/bin/php #!/usr/bin/php
<!--
Alias for where Books menu item should go.
-->
<?php <?php
/* Alias for where Books menu item should go. */
if (!isset($GLOBALS["HEADER_TITLE"])) { if (!isset($GLOBALS["HEADER_TITLE"])) {
$GLOBALS["HEADER_TITLE"] = "Books"; $GLOBALS["HEADER_TITLE"] = "Books";
} }
+6
View File
@@ -47,6 +47,12 @@
<ul class="indent"><li> <ul class="indent"><li>
<a href="mailto:me@hyperling.com">me@hyperling.com</a> <a href="mailto:me@hyperling.com">me@hyperling.com</a>
</li></ul> </li></ul>
<p>
Other methods such as a few messaging clients can be found here:
</p>
<ul class="indent"><li>
<a href="https://blog.hyperling.com/contact">blog.hyperling.com/contact</a>
</li></ul>
</div> </div>
</div> </div>
<?php <?php
+13 -4
View File
@@ -1,10 +1,19 @@
#!/usr/bin/php #!/usr/bin/php
<!--
Alias for the support page with a more common name.
-->
<?php <?php
/* Alias for the support page with a more common name. */
if (!isset($GLOBALS["HEADER_TITLE"])) { if (!isset($GLOBALS["HEADER_TITLE"])) {
$GLOBALS["HEADER_TITLE"] = "Donate"; $GLOBALS["HEADER_TITLE"] = "Donate";
} }
include "support.php"; include "helpers/body_open.php";
include "subpages/support/header.php";
include "subpages/support/donate.php";
include "subpages/support/support.php";
// 2025-01-04 Not really looking for this type of thing.
//include "subpages/support/gifts.php";
include "helpers/body_close.php";
?> ?>
+2 -4
View File
@@ -1,8 +1,6 @@
#!/usr/bin/php #!/usr/bin/php
<!--
Page to provide links for Freedom eBook.
-->
<?php <?php
/* Page to provide links for Freedom eBook. */
$GLOBALS["ADVISORY"] = false; $GLOBALS["ADVISORY"] = false;
if (!isset($GLOBALS["HEADER_TITLE"])) { if (!isset($GLOBALS["HEADER_TITLE"])) {
$GLOBALS["HEADER_TITLE"] = "Freedom"; $GLOBALS["HEADER_TITLE"] = "Freedom";
@@ -29,7 +27,7 @@
<div class="row"> <div class="row">
<div class="col-12 text"> <div class="col-12 text">
<p> <p>
Click the link below to download the 4-page PDF: Use the links below to download the 4-page PDF:
</p> </p>
<ul class="indent"> <ul class="indent">
<li> <li>
+2 -4
View File
@@ -1,8 +1,6 @@
#!/usr/bin/php #!/usr/bin/php
<!--
Page to provide ways people can support me.
-->
<?php <?php
/* Page to provide ways people can support me. */
//$GLOBALS["ADVISORY"] = false; //$GLOBALS["ADVISORY"] = false;
if (!isset($GLOBALS["HEADER_TITLE"])) { if (!isset($GLOBALS["HEADER_TITLE"])) {
$GLOBALS["HEADER_TITLE"] = "Health"; $GLOBALS["HEADER_TITLE"] = "Health";
@@ -30,7 +28,7 @@
<div class="row"> <div class="row">
<div class="col-12 text"> <div class="col-12 text">
<p> <p>
Click the link below to download the 10-page PDF: Use the links below to download the 10-page PDF:
</p> </p>
<ul class="indent"> <ul class="indent">
<li> <li>
+2 -2
View File
@@ -1,13 +1,13 @@
#!/usr/bin/php #!/usr/bin/php
<?php <?php
$show_advisory = true; $show_advisory = false;
if ($show_advisory) echo ' if ($show_advisory) echo '
<div class="row"> <div class="row">
<p><!-- Gap Area --></p> <p><!-- Gap Area --></p>
</div> </div>
<div class="row center title" id="advisory"> <div class="row center title" id="advisory">
<i><h2 class="col-12 title">Latest Announcement</h2></i> <h2 class="col-12 title"><i class="purple">Latest Announcement</i></h2>
<a href="/freedom/"> <a href="/freedom/">
<div class="col-12 text"> <div class="col-12 text">
<u class="orange">2025-09-28</u> <u class="orange">2025-09-28</u>
+11 -19
View File
@@ -9,24 +9,16 @@
?> ?>
<a href='/about/'> <a href='/about/'>
<div class="row"> <div class="row">
<?php if ($show_pics) echo ' <?php if ($show_pics) echo '
<div class="col-3 header center banner-image banner-image01"> <div class="col-3 header center banner-image banner-image01"></div>
<!-<img src="/files/media/icons/home.jpg" ';?>
alt="<<banner01.jpg>>" <div class="col-<?php echo "$banner_width"; ?> header">
>--> <div class="banner-top">Peace</div>
</div> <div class="banner-middle">Love</div>
';?> <div class="banner-bottom">Happiness</div>
<div class="col-<?php echo "$banner_width"; ?> header"> </div>
<div class="banner-top">Peace</div> <?php if ($show_pics) echo '
<div class="banner-middle">Love</div> <div class="col-3 header center banner-image banner-image02"></div>
<div class="banner-bottom">Happiness</div> ';?>
</div>
<?php if ($show_pics) echo '
<div class="col-3 header center banner-image banner-image02">
<!--<img src="/files/media/icons/contact.jpg"
alt="<<banner02.jpg>>"
>-->
</div>
';?>
</div> </div>
</a> </a>
+11 -11
View File
@@ -30,16 +30,16 @@
<?php include "banner.css"; ?> <?php include "banner.css"; ?>
</style> </style>
<meta property="og:title" content="Hyperling"/> <meta property="og:title" content="Hyperling">
<meta property="og:description" content="Apps, eBooks, media, and other resources from the brands Hyperling and HyperVegan."/> <meta property="og:description" content="Apps, eBooks, media, and other resources from the brands Hyperling and HyperVegan.">
<meta property="og:site_name" content="Hyperling"/> <meta property="og:site_name" content="Hyperling">
<meta property="og:url" content="https://hyperling.com/"/> <meta property="og:url" content="https://hyperling.com/">
<meta property="og:type" content="website"/> <meta property="og:type" content="website">
<meta property="og:image" content="https://hyperling.com/files/media/icons/home.jpg"/> <meta property="og:image" content="https://hyperling.com/files/media/icons/home.jpg">
<meta name="referrer" content="same-origin"/> <meta name="referrer" content="same-origin">
<meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Hyperling" /> <meta name="twitter:title" content="Hyperling">
<meta name="twitter:description" content="Apps, eBooks, media, and other resources from the brands Hyperling and HyperVegan." /> <meta name="twitter:description" content="Apps, eBooks, media, and other resources from the brands Hyperling and HyperVegan.">
<meta name="twitter:image" content="https://hyperling.com/files/media/icons/home.jpg" /> <meta name="twitter:image" content="https://hyperling.com/files/media/icons/home.jpg">
</head> </head>
+42
View File
@@ -1,5 +1,6 @@
#!/usr/bin/php #!/usr/bin/php
<div class="row header menu"> <div class="row header menu">
<!--
<ul class="menu-list"> <ul class="menu-list">
<li class="col-3 menu-item"><a href="/">Home</a></li> <li class="col-3 menu-item"><a href="/">Home</a></li>
<li class="col-3 menu-item"><a href="/about/">About</a></li> <li class="col-3 menu-item"><a href="/about/">About</a></li>
@@ -16,4 +17,45 @@
</li> </li>
<li class="col-3 menu-item"><a href="/photos/">Photos</a></li> <li class="col-3 menu-item"><a href="/photos/">Photos</a></li>
</ul> </ul>
-->
<!--
<ul class="menu-list">
<li class="col-3 menu-item"></li>
<li class="col-3 menu-item">
<a href="https://blog.hyperling.com"
target="_blank" rel="noopener noreferrer"
>Blog</a>
</li>
<li class="col-3 menu-item">
<a href="https://recipes.hyperling.com"
target="_blank" rel="noopener noreferrer"
>Recipes</a>
</li>
<li class="col-3 menu-item"></li>
</ul>
-->
<p class="menu-list">
Main:
<a href="/apps/">Apps</a>
<a href="/about/">About</a>
<a href="/contact/">Contact</a>
<a href="/support/">Support</a>
| Media:
<a href="https://git.hyperling.com/me/"
target="_blank" rel="noopener noreferrer">Code</a>
<a href="https://works.hyperling.com/tags/books/"
target="_blank" rel="noopener noreferrer">Books</a>
<a href="https://works.hyperling.com/videos/"
target="_blank" rel="noopener noreferrer">Videos</a>
<a href="/photos/">Photos</a>
| Blog:
<a href="https://blog.hyperling.com/categories/articles/"
target="_blank" rel="noopener noreferrer">Articles</a>
<a href="https://recipes.hyperling.com/categories/recipes/"
target="_blank" rel="noopener noreferrer">Recipes</a>
<a href="https://blog.hyperling.com/categories/musings/"
target="_blank" rel="noopener noreferrer">Poetry</a>
<a href="https://recipes.hyperling.com/categories/guides/"
target="_blank" rel="noopener noreferrer">Guides</a>
</div> </div>
+1 -3
View File
@@ -1,8 +1,6 @@
#!/usr/bin/php #!/usr/bin/php
<!--
Landing page, keeping it apps and development projects like old WordPress site.
-->
<?php <?php
/* Landing page, keeping it apps and development projects like old WordPress site. */
if (!isset($GLOBALS["HEADER_TITLE"])) { if (!isset($GLOBALS["HEADER_TITLE"])) {
$GLOBALS["HEADER_TITLE"] = "Announcements"; $GLOBALS["HEADER_TITLE"] = "Announcements";
} }
+1 -1
View File
@@ -111,7 +111,7 @@ cat << EOF
Speaking of lifestyle, that is something else I learned from listening Speaking of lifestyle, that is something else I learned from listening
to my new role models. "Sleep Water Sugar" as Durianrider used to say. to my new role models. "Sleep Water Sugar" as Durianrider used to say.
The The
<a href="https://files.hyperling.com/media/HealthPriorities.pdf" <a href="/files/media/documents/HealthPriorities.pdf"
target="_blank">PDF</a> target="_blank">PDF</a>
on my main on my main
<a href="/about/#health" target="_blank">Health</a> <a href="/about/#health" target="_blank">Health</a>
+2 -4
View File
@@ -1,8 +1,6 @@
#!/usr/bin/php #!/usr/bin/php
<!--
Page for my video links.
-->
<?php <?php
/* Page for my video links. */
if (!isset($GLOBALS["HEADER_TITLE"])) { if (!isset($GLOBALS["HEADER_TITLE"])) {
$GLOBALS["HEADER_TITLE"] = "Media"; $GLOBALS["HEADER_TITLE"] = "Media";
} }
@@ -109,7 +107,7 @@
<div class="row"> <div class="row">
<div class="col-12 text"> <div class="col-12 text">
<p> <p>
I don't have social media, so where do my photos and videos go? I don't have social media, so where do my personal photos and videos go?
Try right here! Try right here!
</p> </p>
<ul class="indent"><li> <ul class="indent"><li>
+1 -1
View File
@@ -9,7 +9,7 @@ cd $DIR/..
photos_all=./files/photos/all.html photos_all=./files/photos/all.html
photos=./pages/photos.sh photos=./pages/photos.sh
# If the all script does not exist,call the generator and ignore its output. # If the all script does not exist, call the generator and ignore its output.
if [[ ! -e $photos_all ]]; then if [[ ! -e $photos_all ]]; then
$photos > /dev/null $photos > /dev/null
fi fi
+8 -4
View File
@@ -2,6 +2,10 @@
# 2024-01-21 Hyperling # 2024-01-21 Hyperling
# Transition away from PhotoPrism. Helps to save system resources and downsize. # Transition away from PhotoPrism. Helps to save system resources and downsize.
## TBD ##
# - Have links at the top of the ALL page for jumping between years.
## End TBD
## Static Variables ## ## Static Variables ##
DIR=`dirname $0` DIR=`dirname $0`
a="a target='_blank' rel='noopener noreferrer'" a="a target='_blank' rel='noopener noreferrer'"
@@ -146,14 +150,14 @@ function build_album_pages {
echo -en "\t\t\t\t<$a href='/$photo'>" >> $subpage echo -en "\t\t\t\t<$a href='/$photo'>" >> $subpage
# Determine what type of media it is, and how to display it. # Determine what type of media it is, and how to display it.
if [[ $photo == *".mp4" ]]; then if [[ $photo == *".mp4" ]]; then
echo -e "\t\t\t\t\t<video width='320px' controls>" >> $subpage echo -e "\t\t\t\t\t<video width='320px' preload='none' controls>" >> $subpage
echo -e "\t\t\t\t\t\t<source src='/$photo' type=video/mp4>" >> $subpage echo -e "\t\t\t\t\t\t<source src='/$photo' type=video/mp4>" >> $subpage
echo -e "\t\t\t\t\t\tYour browser does not support videos." >> $subpage echo -e "\t\t\t\t\t\tYour browser does not support videos." >> $subpage
echo -e "\t\t\t\t\t</video>" >> $subpage echo -e "\t\t\t\t\t</video>" >> $subpage
elif [[ $photo == *".md" || $photo == *".txt" ]]; then elif [[ $photo == *".md" || $photo == *".txt" ]]; then
echo -e "\t\t\t\t\t<p>`cat $photo`</p>" >> $subpage echo -e "\t\t\t\t\t<p>`cat $photo`</p>" >> $subpage
else else
echo -e "\t\t\t\t\t<img src='/$photo' alt=''>" >> $subpage echo -e "\t\t\t\t\t<img loading='lazy' alt='' src='/$photo'>" >> $subpage
fi fi
# Check if it needs an extra descriptive detail. # Check if it needs an extra descriptive detail.
echo -en "\t\t\t\t\t<p>$filename" >> $subpage echo -en "\t\t\t\t\t<p>$filename" >> $subpage
@@ -229,11 +233,11 @@ function build_all_page {
dir_name="${dir_name//_/ }" dir_name="${dir_name//_/ }"
dir_name="${dir_name//-/ }" dir_name="${dir_name//-/ }"
media="<img src='$media_uri' alt='' style='width:100%'>" media="<img style='width:100%' loading='lazy' alt='' src='$media_uri'>"
# Determine how to show the file. # Determine how to show the file.
if [[ $media_uri == *".mp4" ]]; then if [[ $media_uri == *".mp4" ]]; then
media="<video controls style='width:100%'>" media="<video style='width:100%' preload='none' controls>"
media="${media}<source src='$media_uri' type=video/mp4>" media="${media}<source src='$media_uri' type=video/mp4>"
media="${media}Your browser does not support videos." media="${media}Your browser does not support videos."
media="${media}</video>" media="${media}</video>"
+1 -3
View File
@@ -1,8 +1,6 @@
#!/usr/bin/php #!/usr/bin/php
<!--
Lists of items which I'd like to share such as gear and frequently used apps.
-->
<?php <?php
/* Lists of items which I'd like to share such as gear and frequently used apps. */
if (!isset($GLOBALS["HEADER_TITLE"])) { if (!isset($GLOBALS["HEADER_TITLE"])) {
$GLOBALS["HEADER_TITLE"] = "Resources"; $GLOBALS["HEADER_TITLE"] = "Resources";
} }
+1 -3
View File
@@ -1,8 +1,6 @@
#!/usr/bin/php #!/usr/bin/php
<!--
Page for my resume and work skill links.
-->
<?php <?php
/* Page for my resume and work skill links. */
if (!isset($GLOBALS["HEADER_TITLE"])) { if (!isset($GLOBALS["HEADER_TITLE"])) {
$GLOBALS["HEADER_TITLE"] = "Resume"; $GLOBALS["HEADER_TITLE"] = "Resume";
} }
+12 -1
View File
@@ -6,6 +6,18 @@
<h2 class="col-12 header">Announcements</h2> <h2 class="col-12 header">Announcements</h2>
</div> </div>
<div class="row">
<div class="col-12 text">
<strong><a href="https://fdroid.hyperling.com/">2026-07-04</a></strong>
<p>
My F-Droid repo is now available for those not using Obtainium.
<a href="https://fdroid.hyperling.com/"
target="_blank" rel="noopener noreferrer"
>Find it here</a>!
</p>
</div>
</div>
<div class="row"> <div class="row">
<div class="col-12 text"> <div class="col-12 text">
<strong><a href="/freedom/">2025-09-28</a></strong> <strong><a href="/freedom/">2025-09-28</a></strong>
@@ -54,7 +66,6 @@
>Watch the announcement here | (HyperVegan: "Expense Tracker App")</a> >Watch the announcement here | (HyperVegan: "Expense Tracker App")</a>
</p> </p>
</div> </div>
</a>
</div> </div>
<div class="row"> <div class="row">
+88 -5
View File
@@ -1,7 +1,7 @@
#!/usr/bin/php #!/usr/bin/php
<!-- How people can support me with currency if they so desire. --> <!-- How people can support me with currency if they so desire. -->
<div class="row" id="donate"> <div class="row" id="donate">
<h2 class="col-12 header">Donate</h2> <h2 class="col-12 header">One-Time Gifts</h2>
</div> </div>
<div class="row text"> <div class="row text">
@@ -21,21 +21,43 @@
<div class="header"> <div class="header">
<br> <br>
<a href="monero:4ATk6owoMki46CuVfyAHS57FB5deqVFudTsaifQC1cfmcaQemgPEftcjZcW9DmcyfrfdRjxHQ9m4JAVSorYTgm6h8JnT7ao">
<strong><code>XMR | Monero</code></strong> <strong><code>XMR | Monero</code></strong>
</a>
<div class="code"><code>4ATk6owoMki46CuVfyAHS57FB5deqVFudTsaifQC1cfmcaQemgPEftcjZcW9DmcyfrfdRjxHQ9m4JAVSorYTgm6h8JnT7ao</code></div> <div class="code"><code>4ATk6owoMki46CuVfyAHS57FB5deqVFudTsaifQC1cfmcaQemgPEftcjZcW9DmcyfrfdRjxHQ9m4JAVSorYTgm6h8JnT7ao</code></div>
<br> <br>
<strong><code>BTC | Bitcoin</code></strong> <a href="bitcoin:bc1qsfe8dkvry3d34kztz449gkq67wq8fu2nkgfkh0?">
<strong><code>BTC | Bitcoin</code></strong>
</a>
<div class="code"><code>bc1qsfe8dkvry3d34kztz449gkq67wq8fu2nkgfkh0</code></div> <div class="code"><code>bc1qsfe8dkvry3d34kztz449gkq67wq8fu2nkgfkh0</code></div>
<br> <br>
<strong><code>LTC | Litecoin</code></strong> <a href="bitcoincash:qzr00gaqeldlu3amjdn59f2y73276v8jwu6vanays2">
<strong><code>BCH | Bitcoin Cash</code></strong>
</a>
<div class="code"><code>qzr00gaqeldlu3amjdn59f2y73276v8jwu6vanays2</code></div>
<br>
<a href="litecoin:ltc1qavmpu5d6ljntxsd6jj548m4yys83zwscl0dzkx">
<strong><code>LTC | Litecoin</code></strong>
</a>
<div class="code"><code>ltc1qavmpu5d6ljntxsd6jj548m4yys83zwscl0dzkx</code></div> <div class="code"><code>ltc1qavmpu5d6ljntxsd6jj548m4yys83zwscl0dzkx</code></div>
<br> <br>
<strong><code>LBC | Odysee's Coin</code></strong> <!-- TBD
<a href="">
<strong><code>ETH | Ethereum</code></strong>
</a>
<div class="code"><code></code></div>
<br>
-->
<!--
<a href=""><strong><code>LBC | Odysee's Coin</code></strong></a>
<div class="code"><code>bDWP6qZajtm9Q9EkryKTorRwKFd5eDbPJj</code></div> <div class="code"><code>bDWP6qZajtm9Q9EkryKTorRwKFd5eDbPJj</code></div>
<br> <br>
-->
</div> </div>
</div> </div>
@@ -66,8 +88,69 @@
</code> </code>
</code> </code>
</div> </div>
<br>
<?php
if (false) {
echo <<<HTML
<strong><code>PayPal</code></strong>
<div class="code">
<code>
@HyperVegan
<br>
<br>
<code>[<a href="https://account.venmo.com/u/HyperVegan"
target="_blank" rel="noopener noreferrer"
>Account Page</a>]
</code>
</code>
</div>
HTML;
}
?>
<br> <!-- Keeps border cnsistent. -->
</div> </div>
</div> </div>
<?php
if (false) {
echo <<<HTML
<div class="col-12 center border">
<strong class="spacing">Preference 4 - International USD</strong>
<p>Send international currencies to a fiat-based account.</p>
<div class="header">
<br>
<p>This section is a Work In Progress.</p>
<strong><code>Wise</code></strong>
<div class="code">
<!-- TBD
<code>me@hyperling.com</code>
<br>
<br>
<img src="/files/media/icons/zelle.png" alt="<<zelle.png>>">
-->
</div>
<br>
<strong><code>Revolut</code></strong>
<div class="code">
<!-- TBD
<code>
@HyperVegan
<br>
<br>
<code>[<a href="https://account.venmo.com/u/HyperVegan"
target="_blank" rel="noopener noreferrer"
>Account Page</a>]
</code>
</code>
-->
</div>
<br>
</div>
</div>
HTML;
}
?>
</div> </div>
+17
View File
@@ -0,0 +1,17 @@
#!/usr/bin/php
<div class="row">
<h1 class="col-12 title">Donation Methods</h1>
<?php if (isset($GLOBALS["SHOW_BANNER_PICS"])
&& !$GLOBALS["SHOW_BANNER_PICS"])
echo '
<div class="col-12 header center" >
<img src="/files/media/icons/support.jpg" alt="<<support.jpg>>">
</div>
';?>
<div class="col-12 header center">
<p>
Anything is very much appreciated!!
Thank you for considering me!
</p>
</div>
</div>
+67
View File
@@ -0,0 +1,67 @@
#!/usr/bin/php
<!-- How people can support me in a recurring manner.. -->
<div class="row" id="donate">
<h2 class="col-12 header">Recurring Support</h2>
</div>
<div class="row text">
<div class="col-6 center border">
<strong class="spacing">Preference 1 - Liberapay</strong>
<p>Send weekly / monthly / yearly without any sort of brokerage fees!</p>
<a href="https://liberapay.com/HyperVegan/donate"
target="_blank" rel="noopener noreferrer"
>
<img alt="Donate using Liberapay"
src="https://liberapay.com/assets/widgets/donate.svg"
alt="liberapay.com/HyperVegan/donate"
>
<br/>
<br/>
<img src="https://img.shields.io/liberapay/patrons/HyperVegan.svg?logo=liberapay">
<br/>
<img src="https://img.shields.io/liberapay/receives/HyperVegan.svg?logo=liberapay">
<br/>
<img src="https://img.shields.io/liberapay/goal/HyperVegan.svg?logo=liberapay">
</a>
<p>I also suggest donating to Liberapay for making this possible.</p>
<a href="https://en.liberapay.com/Liberapay/"
target="_blank" rel="noopener noreferrer"
>Donate to the platform.</a>
</div>
<div class="col-6 center border">
<strong class="spacing">Preference 2 - Ko-fi</strong>
<p>Monthly donations with 5% brokerage fee. Also supports one-time tips.</p>
<a href="https://ko-fi.com/hypervegan"
target="_blank" rel="noopener noreferrer"
>
<img alt="Donate using Ko-fi"
src="https://storage.ko-fi.com/cdn/opengraph_assets/default_creator_og/hz_profile_page.png"
alt="ko-fi.com/hypervegan"
height=200
>
</a>
</div>
<!-- Requires using Stripe, which asks for last 4 of social. Pass for now.
<div class="col-4 center border">
<strong class="spacing">Preference 3 - Buy Me A Coffee</strong>
<p>5% brokerage fee.</p>
<a href="https://buymeacoffee.com/hypervegan"
target="_blank" rel="noopener noreferrer"
>
<img alt="Donate using Ko-fi"
src="https://storage.ko-fi.com/cdn/opengraph_assets/default_creator_og/hz_profile_page.png"
alt="buymeacoffee.com/hypervegan"
>
</a>
</div>
-->
</div>
+7 -20
View File
@@ -1,30 +1,17 @@
#!/usr/bin/php #!/usr/bin/php
<!--
Page to provide ways people can support me.
-->
<?php <?php
/* Page to provide ways people can support me. */
if (!isset($GLOBALS["HEADER_TITLE"])) { if (!isset($GLOBALS["HEADER_TITLE"])) {
$GLOBALS["HEADER_TITLE"] = "Support"; $GLOBALS["HEADER_TITLE"] = "Support";
} }
include "helpers/body_open.php"; include "helpers/body_open.php";
?>
<div class="row"> include "subpages/support/header.php";
<h1 class="col-12 title">Support</h1>
<?php if (isset($GLOBALS["SHOW_BANNER_PICS"]) include "subpages/support/support.php";
&& !$GLOBALS["SHOW_BANNER_PICS"])
echo '
<div class="col-12 header center" >
<img src="/files/media/icons/support.jpg" alt="<<support.jpg>>">
</div>
';?>
<div class="col-12 header center">
<p>
Anything is very much appreciated!! Thank you for considering me!
</p>
</div>
</div>
<?php
include "subpages/support/donate.php"; include "subpages/support/donate.php";
// 2025-01-04 Not really looking for this type of thing. // 2025-01-04 Not really looking for this type of thing.
//include "subpages/support/gifts.php"; //include "subpages/support/gifts.php";
+4 -4
View File
@@ -1,9 +1,9 @@
#!/usr/bin/php #!/usr/bin/php
<!--
Old page for my video links.
Deprecated 2024-03-06 for /media.
-->
<?php <?php
/*
Old page for my video links.
Deprecated 2024-03-06 for /media.
*/
if (!isset($GLOBALS["HEADER_TITLE"])) { if (!isset($GLOBALS["HEADER_TITLE"])) {
$GLOBALS["HEADER_TITLE"] = "Videos"; $GLOBALS["HEADER_TITLE"] = "Videos";
} }
+4 -24
View File
@@ -123,35 +123,15 @@ log "Removing old index files."
find files/photos/ -name "*".html -print -delete find files/photos/ -name "*".html -print -delete
{ {
check_main photos check_main photos
count=1 $DIR/check_photos.sh "$ports"
http_code=0
port="${ports%% *}"
photos_uri=":$port/photos/"
beg_time="$SECONDS"
while [[ $http_code != "200" ]]; do
log "Sleeping for '$count' while waiting for $photos_uri to come up."
sleep $count
log "Checking if $photos_uri is available."
http_code="`curl --silent --fail -w '\n%{http_code}' localhost$photos_uri | tail -n 1`"
log "Check for $photos_uri responded with '$http_code'."
if (( $count >= 10 )); then
log "Giving up on loading $photos_uri after '$count' attempts."
break
else
count=$(( count + 1 ))
fi
done
end_time="$SECONDS"
time="$(( $end_time - $beg_time ))"
log "Finished checking for /photos/ after '$time' seconds."
} & } &
## Main ## ## Main ##
log "Start local cronjob." log "Start check_git."
while true; do while true; do
check_main cronjob check_main check_git
$DIR/cronjob.sh $DIR/check_git.sh
sleep 30 sleep 30
done & done &