Compare commits
162 Commits
5953a260fc
...
main
Author | SHA1 | Date | |
---|---|---|---|
6f7934f8ff | |||
998f5ed338 | |||
71cdccbeae | |||
2fb438b199 | |||
7eda07995f | |||
e7c4296724 | |||
369d8a736e | |||
073377532e | |||
18cd38b194 | |||
aa20bd67ee | |||
b4d9bae246 | |||
fcb091a164 | |||
55742e50db | |||
e13a1633dd | |||
add3a2865c | |||
6fd8525dad | |||
c7f4613d22 | |||
c6fd3f4786 | |||
474c258a83 | |||
b35856fa88 | |||
290f1524a2 | |||
fb0ff39013 | |||
79c6a34e38 | |||
a26081d13f | |||
7ccb7e2ac7 | |||
dc7fd3f834 | |||
a3b8025876 | |||
6876cd34b7 | |||
60f9241fbd | |||
698e2aa680 | |||
ff10025e05 | |||
72b1afdedd | |||
00660cef98 | |||
fc129124b8 | |||
805b4ef8e0 | |||
f7b60e0944 | |||
f598d8f401 | |||
78ab7735d7 | |||
e141347222 | |||
94246ddaeb | |||
652bc8d35d | |||
5c515f0d1d | |||
c73ec1fb4e | |||
71ac8f3cfe | |||
297e0c90a9 | |||
76429b1ace | |||
c000140040 | |||
a48c767ffb | |||
5d6e33a72c | |||
5832e5d4ab | |||
28fa1cd359 | |||
f8f74b3aac | |||
64defc9885 | |||
6ee9530b21 | |||
42905688b3 | |||
92c2aa6a42 | |||
d316251af9 | |||
dc11ec7456 | |||
ba667207db | |||
8465e7e362 | |||
c0425b6de6 | |||
129cd43e3e | |||
465bf50e51 | |||
e820196ba7 | |||
3fdb1339c6 | |||
b1d652a3fd | |||
fc8c80b98a | |||
66f9c0561e | |||
78decea24e | |||
641815e178 | |||
c74f48d19a | |||
60a56115f3 | |||
7f9fc0321f | |||
f9f89c0f84 | |||
a1623c6fb5 | |||
bc2db0d631 | |||
e5b2bc0961 | |||
d96c328fa3 | |||
925963f3fd | |||
16dcfe5aec | |||
7506101e62 | |||
6bee3f793c | |||
150f8aebb5 | |||
ed18d210fd | |||
d2b115ced3 | |||
2d24d0c971 | |||
612bf7b3cb | |||
020453e521 | |||
d9e2dc6875 | |||
ef96e715f6 | |||
e2c08b0326 | |||
cdb462f2ec | |||
0bda5d18a6 | |||
2b6caa3f89 | |||
ceb25e00f8 | |||
7ad4d29024 | |||
113a208019 | |||
8cdefe48fa | |||
ee26ce1112 | |||
1082496b3e | |||
63459cc098 | |||
8142057673 | |||
4a1e376bd5 | |||
56a08aaaa2 | |||
22289e1a64 | |||
7c8a59abc5 | |||
d962f1ac74 | |||
760b2f79bc | |||
ab3265b095 | |||
0bc2384cd2 | |||
576b7a0adf | |||
4e194e584b | |||
589146343b | |||
1498aeefb9 | |||
db83b2211d | |||
35102cafca | |||
b75a47c847 | |||
8218498bd0 | |||
3b37e251c1 | |||
cf57b5576b | |||
a3f6f63be9 | |||
c50f790827 | |||
9ff2b29b51 | |||
b8c0471589 | |||
9ddf63fff0 | |||
b41fc43e7d | |||
2bb66d4b47 | |||
103b725ed5 | |||
7a02f185e9 | |||
5d4c8cb54b | |||
20fba003a7 | |||
2a1ebae2ce | |||
c4daad5c3b | |||
34a6ff5f62 | |||
0ae0590c22 | |||
73a8c820c3 | |||
bd4e7684c9 | |||
3cb079d111 | |||
6f979f00d9 | |||
a1a76a1985 | |||
4ed4290f67 | |||
1114b65e57 | |||
2ff05403b6 | |||
968d68312a | |||
4955b13905 | |||
429f419220 | |||
1104d28b28 | |||
1728600f66 | |||
a22b875bd2 | |||
7ac2eaf745 | |||
b404e26530 | |||
2fa6d7272c | |||
c0b043f515 | |||
d2aef28044 | |||
276a4857ff | |||
1044b60d92 | |||
ee213ee9f7 | |||
6adf13ef06 | |||
6fd747aa1d | |||
6b07c420e5 | |||
1b414d4d72 | |||
022905ff71 |
@ -1,3 +1,9 @@
|
|||||||
# Hyperling.com - files/photos/
|
# Hyperling.com - files/photos/
|
||||||
|
|
||||||
Used by `http://localhost:8080/photos` to build albums for sharing.
|
## index.html
|
||||||
|
|
||||||
|
Used by `http://localhost:8080/photos` to build and show list of albums.
|
||||||
|
|
||||||
|
## all.html
|
||||||
|
|
||||||
|
Used by `http://localhost:8080/photos-all` to show all albums at once.
|
||||||
|
20
main.js
20
main.js
@ -104,7 +104,14 @@ async function main() {
|
|||||||
</url>
|
</url>
|
||||||
`;
|
`;
|
||||||
let sitemap_html = `
|
let sitemap_html = `
|
||||||
<html><body>
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<title>
|
||||||
|
Sitemap for Hyperling
|
||||||
|
</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
<strong>Special Pages</strong>
|
<strong>Special Pages</strong>
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
@ -134,6 +141,7 @@ async function main() {
|
|||||||
/* AUTOMATIC METHOD BASED ON OBJECT/ARRAY OF WEB SCRIPTS
|
/* AUTOMATIC METHOD BASED ON OBJECT/ARRAY OF WEB SCRIPTS
|
||||||
// Creates routes with the URL of the key and location of the value.
|
// Creates routes with the URL of the key and location of the value.
|
||||||
*/
|
*/
|
||||||
|
// TBD/TODO would be great to log this as "DATE: ADDRESS hit ROUTER requesting RESOURCE"
|
||||||
for (let key in pages) {
|
for (let key in pages) {
|
||||||
console.log(" * Creating router for", key);
|
console.log(" * Creating router for", key);
|
||||||
router.get("/" + key, function (req,res) {
|
router.get("/" + key, function (req,res) {
|
||||||
@ -175,6 +183,7 @@ async function main() {
|
|||||||
`;
|
`;
|
||||||
|
|
||||||
// Provide sitemap.xml file for "SEO".
|
// Provide sitemap.xml file for "SEO".
|
||||||
|
// TBD/TODO would be great to log this as "DATE: ADDRESS hit ROUTER requesting RESOURCE"
|
||||||
console.log(" * Creating router for sitemap.xml");
|
console.log(" * Creating router for sitemap.xml");
|
||||||
router.get('/sitemap.xml', function (req, res) {
|
router.get('/sitemap.xml', function (req, res) {
|
||||||
console.log("sitemap.xml being provided to", req.socket.remoteAddress)
|
console.log("sitemap.xml being provided to", req.socket.remoteAddress)
|
||||||
@ -183,6 +192,7 @@ async function main() {
|
|||||||
});
|
});
|
||||||
|
|
||||||
// Provide human-usable sitemap links.
|
// Provide human-usable sitemap links.
|
||||||
|
// TBD/TODO would be great to log this as "DATE: ADDRESS hit ROUTER requesting RESOURCE"
|
||||||
console.log(" * Creating router for sitemap*");
|
console.log(" * Creating router for sitemap*");
|
||||||
router.get('/sitemap*', function (req, res) {
|
router.get('/sitemap*', function (req, res) {
|
||||||
console.log("sitemap.html being provided to", req.socket.remoteAddress)
|
console.log("sitemap.html being provided to", req.socket.remoteAddress)
|
||||||
@ -190,6 +200,7 @@ async function main() {
|
|||||||
});
|
});
|
||||||
|
|
||||||
// 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"
|
||||||
console.log(" * Creating router for files");
|
console.log(" * Creating router for files");
|
||||||
router.get('/files*', function (req, res) {
|
router.get('/files*', function (req, res) {
|
||||||
console.log("file response to", req.socket.remoteAddress, "asking for", req.url)
|
console.log("file response to", req.socket.remoteAddress, "asking for", req.url)
|
||||||
@ -205,7 +216,8 @@ async function main() {
|
|||||||
case "apk":
|
case "apk":
|
||||||
mime = "application/vnd.android.package-archive";
|
mime = "application/vnd.android.package-archive";
|
||||||
break;
|
break;
|
||||||
case "jpg" || "jpeg":
|
case "jpg":
|
||||||
|
case "jpeg":
|
||||||
mime = "image/jpeg";
|
mime = "image/jpeg";
|
||||||
break;
|
break;
|
||||||
case "png":
|
case "png":
|
||||||
@ -217,7 +229,9 @@ async function main() {
|
|||||||
case "zip":
|
case "zip":
|
||||||
mime = "application/zip";
|
mime = "application/zip";
|
||||||
break;
|
break;
|
||||||
case "txt" || "csv" || "md":
|
case "md":
|
||||||
|
case "txt":
|
||||||
|
case "csv":
|
||||||
mime = "text/*";
|
mime = "text/*";
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"express": ">=4.18.1"
|
"express": ">=4.18.1 < 5.0.0"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"start": "./run.sh"
|
"start": "./run.sh"
|
||||||
|
@ -1,14 +1,15 @@
|
|||||||
#!/usr/bin/php
|
#!/usr/bin/php
|
||||||
<?php
|
<?php
|
||||||
|
if (!isset($GLOBALS["HEADER_TITLE"])) {
|
||||||
|
$GLOBALS["HEADER_TITLE"] = "About";
|
||||||
|
}
|
||||||
include "helpers/body_open.php";
|
include "helpers/body_open.php";
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<h1 class="col-12 title">Who Am I?</h1>
|
<h1 class="col-12 title">Who Am I?</h1>
|
||||||
</div>
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-12 header center" >
|
<div class="col-12 header center" >
|
||||||
<img src="/files/media/icons/about.jpg">
|
<img src="/files/media/icons/about.jpg" alt="">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
|
10
pages/apps.php
Executable file
10
pages/apps.php
Executable file
@ -0,0 +1,10 @@
|
|||||||
|
#!/usr/bin/php
|
||||||
|
<!--
|
||||||
|
Synonym for home page.
|
||||||
|
-->
|
||||||
|
<?php
|
||||||
|
if (!isset($GLOBALS["HEADER_TITLE"])) {
|
||||||
|
$GLOBALS["HEADER_TITLE"] = "Apps";
|
||||||
|
}
|
||||||
|
include "home.php";
|
||||||
|
?>
|
@ -1,21 +1,22 @@
|
|||||||
#!/usr/bin/php
|
#!/usr/bin/php
|
||||||
<?php
|
<?php
|
||||||
|
if (!isset($GLOBALS["HEADER_TITLE"])) {
|
||||||
|
$GLOBALS["HEADER_TITLE"] = "Contact";
|
||||||
|
}
|
||||||
include "helpers/body_open.php";
|
include "helpers/body_open.php";
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<h1 class="col-12 title">Contact</h1>
|
<h1 class="col-12 title">Contact</h1>
|
||||||
</div>
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-12 header center" >
|
<div class="col-12 header center" >
|
||||||
<img src="/files/media/icons/contact.jpg">
|
<img src="/files/media/icons/contact.jpg" alt="">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-12 title">
|
<div class="col-12 title center">
|
||||||
<p>
|
<p>
|
||||||
Timely responses are not guarenteed, as I spend a majority of
|
Timely responses are not guarenteed, as I spend a majority of
|
||||||
my time offline and enjoy traveling in signal-free zones.
|
my time offline and enjoy traveling in reception-free zones.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
214
pages/diet.php
Executable file
214
pages/diet.php
Executable file
@ -0,0 +1,214 @@
|
|||||||
|
#!/usr/bin/php
|
||||||
|
<?php
|
||||||
|
if (!isset($GLOBALS["HEADER_TITLE"])) {
|
||||||
|
$GLOBALS["HEADER_TITLE"] = "Diet";
|
||||||
|
}
|
||||||
|
include "helpers/body_open.php";
|
||||||
|
?>
|
||||||
|
|
||||||
|
<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">
|
||||||
|
<p>
|
||||||
|
My diet is 100% vegan and focuses on a high carb low fat
|
||||||
|
macronutrient ratio from whole foods. I consume as many raw meals
|
||||||
|
as possible and prefer to cook for myself.
|
||||||
|
<!--Purchase priorities are 1) Non-GMO, 2) Local, 3) Organic.-->
|
||||||
|
</p>
|
||||||
|
<!-- -- >
|
||||||
|
<p>
|
||||||
|
I generally water fast until the sensation of an empty stomach
|
||||||
|
actually turns to hunger, then eat a raw fruit meal. If it's date
|
||||||
|
season or other high calorie fruit is readily available, the
|
||||||
|
whole day may be fruit, otherwise I make 1 large cooked meal such
|
||||||
|
as rice with veggies to cover the rest of the day's needs.
|
||||||
|
</p>
|
||||||
|
<!-- -->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<h2 class="col-12 header" id="faves">Favorites</h2>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-12 text">
|
||||||
|
<strong>Fruit</strong>
|
||||||
|
<ol>
|
||||||
|
<li>Soursop</li>
|
||||||
|
<li>Durian</li>
|
||||||
|
<li>Pawpaw</li>
|
||||||
|
<li>Mamey Sapote</li>
|
||||||
|
</ol>
|
||||||
|
<p>Notable Mentions</p>
|
||||||
|
<ul>
|
||||||
|
<li>Dates</li>
|
||||||
|
<li>Longans</li>
|
||||||
|
<li>Cherimoya</li>
|
||||||
|
<li>Persimmons</li>
|
||||||
|
<li>Peaches & Nectarines</li>
|
||||||
|
<li>Fresh Coconut</li>
|
||||||
|
<li>Mango</li>
|
||||||
|
</ul>
|
||||||
|
<!-- -- >
|
||||||
|
<strong>Cooked</strong>
|
||||||
|
<ol>
|
||||||
|
<li></li>
|
||||||
|
<li></li>
|
||||||
|
<li></li>
|
||||||
|
</ol>
|
||||||
|
<!-- -->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<h2 class="col-12 header" id="staples">Staples</h2>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-12 text">
|
||||||
|
<strong>Raw</strong>
|
||||||
|
<ul>
|
||||||
|
<li>Dates (Khadrawi, Barhi, Medjool)</li>
|
||||||
|
<li>Bananas</li>
|
||||||
|
<li>Apples (Autumn Crisp, Cosmic Crisp, Pink Lady, Granny Smith, Gala, Fuji)</li>
|
||||||
|
<li>Dried Mango (Natural Grocer's brand)
|
||||||
|
<ul><li>
|
||||||
|
This is best consumed rehydrated. The nectar is amazing!!
|
||||||
|
</li></ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<strong>Cooked</strong>
|
||||||
|
<ul>
|
||||||
|
<li>Rice</li>
|
||||||
|
<li>Sweet Potato</li>
|
||||||
|
<li>Zucchini & Yellow Squash</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<h2 class="col-12 header" id="avoid">Allergies / Aversions</h2>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-12 text">
|
||||||
|
<p>
|
||||||
|
I've found that my body doesn't tolerate many foods found in modern diets.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Basically, if you wouldn't feed it to a dog or rabbit, I probably avoid it too.
|
||||||
|
</p>
|
||||||
|
<strong>High Reactivity</strong>
|
||||||
|
<p>
|
||||||
|
These are a quick "no". I'll smell the dish, but not eat!
|
||||||
|
</p>
|
||||||
|
<ul>
|
||||||
|
<li>Alliums (garlic, onions)
|
||||||
|
<!-- -- >
|
||||||
|
<ul><li>
|
||||||
|
Headaches, migraines, nightmares, night terrors, poor digestion.
|
||||||
|
</li></ul>
|
||||||
|
<!-- -->
|
||||||
|
</li>
|
||||||
|
<li>Caffeine (coffee, chocolate, cacao, cocoa)
|
||||||
|
<!-- -- >
|
||||||
|
<ul><li>
|
||||||
|
Headaches, intense sweating, jitters, anxiety, awful digestion.
|
||||||
|
</li></ul>
|
||||||
|
<!-- -->
|
||||||
|
</li>
|
||||||
|
<li>Grapes
|
||||||
|
<!-- -- >
|
||||||
|
<ul><li>Terrible digestion.</li></ul>
|
||||||
|
<!-- -->
|
||||||
|
</li>
|
||||||
|
<li>Tropical Nuts (peanuts, cashews, brazil nuts, etc)
|
||||||
|
<!-- -- >
|
||||||
|
<ul>
|
||||||
|
<li>Terrible digestion, lethargy, headaches.</li>
|
||||||
|
</ul>
|
||||||
|
<!-- -->
|
||||||
|
</li>
|
||||||
|
<li>Drugs & Alcohol
|
||||||
|
<!-- -- >
|
||||||
|
<ul><li>
|
||||||
|
People know me as the sober kid. I used cannabis on and off
|
||||||
|
until 2024 but was over recreational drugs by 2012. Now
|
||||||
|
that I'm happy I no longer need an escape. :)
|
||||||
|
</li></ul>
|
||||||
|
<!-- -->
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<strong>Medium Reactivity</strong>
|
||||||
|
<p>
|
||||||
|
I normally avoid these and only have them as rare exceptions.
|
||||||
|
</p>
|
||||||
|
<ul>
|
||||||
|
<li>Nightshades (tomato, peppers, potato, eggplant, tobacco, datura)
|
||||||
|
<!-- -- >
|
||||||
|
<ul>
|
||||||
|
<li>Mucous and lymph for days, poor digestion.</li>
|
||||||
|
<li>If cooked at a high enough temperature, like fries,
|
||||||
|
they become tolerable as long as theyre not overly oily.
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<!-- -->
|
||||||
|
</li>
|
||||||
|
<li>Cinnamon
|
||||||
|
<!-- -- >
|
||||||
|
<ul><li>Intense sweating, overheating.</li></ul>
|
||||||
|
<!-- -->
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<strong>Lower Reactivity</strong>
|
||||||
|
<p>
|
||||||
|
I may have these from time to time, but in very small amounts.
|
||||||
|
</p>
|
||||||
|
<ul>
|
||||||
|
<li>Fatty Nuts & Seeds (almonds, walnuts, pecans, sunflower seeds, etc)
|
||||||
|
<!-- -- >
|
||||||
|
<ul><li>Poor digestion, lethargy, </li></ul>
|
||||||
|
<!-- -->
|
||||||
|
</li>
|
||||||
|
<!-- -- >
|
||||||
|
<li>Quinoa
|
||||||
|
<!-- -- >
|
||||||
|
<ul><li>I want to love it, it just doesn't do anything!</li></ul>
|
||||||
|
-- >
|
||||||
|
</li>
|
||||||
|
<!-- -->
|
||||||
|
<li>Storebought/Pasteurized Juices
|
||||||
|
<!-- -- >
|
||||||
|
<ul><li>.</li></ul>
|
||||||
|
<!-- -->
|
||||||
|
</li>
|
||||||
|
<li>Tea (including herbal)
|
||||||
|
<!-- -- >
|
||||||
|
<ul><li>Needs to be comsumed with a meal, otherwise body may try to process it as one and leads to horrible digestion.</li></ul>
|
||||||
|
<!-- -->
|
||||||
|
</li>
|
||||||
|
<li>Legumes (beans, peas)
|
||||||
|
<!-- -- >
|
||||||
|
<ul><li>If not properly stored and cooked they cause me havoc.</li></ul>
|
||||||
|
<!-- -->
|
||||||
|
</li>
|
||||||
|
<li>Oily Meals
|
||||||
|
<!-- -- >
|
||||||
|
<ul><li></li></ul>
|
||||||
|
<!-- -->
|
||||||
|
</li>
|
||||||
|
<li>Empty Calories (donuts, cake, corn/potato chips, etc)
|
||||||
|
<!-- -- >
|
||||||
|
<ul><li>I want to love it, it just doesn't do anything!</li></ul>
|
||||||
|
<!-- -->
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<?php
|
||||||
|
include "helpers/body_close.php";
|
||||||
|
?>
|
10
pages/donate.php
Executable file
10
pages/donate.php
Executable file
@ -0,0 +1,10 @@
|
|||||||
|
#!/usr/bin/php
|
||||||
|
<!--
|
||||||
|
Alias for the support page with a more common name.
|
||||||
|
-->
|
||||||
|
<?php
|
||||||
|
if (!isset($GLOBALS["HEADER_TITLE"])) {
|
||||||
|
$GLOBALS["HEADER_TITLE"] = "Donate";
|
||||||
|
}
|
||||||
|
include "support.php";
|
||||||
|
?>
|
@ -4,6 +4,9 @@
|
|||||||
-->
|
-->
|
||||||
<?php
|
<?php
|
||||||
$GLOBALS["ADVISORY"] = false;
|
$GLOBALS["ADVISORY"] = false;
|
||||||
|
if (!isset($GLOBALS["HEADER_TITLE"])) {
|
||||||
|
$GLOBALS["HEADER_TITLE"] = "Health";
|
||||||
|
}
|
||||||
include "helpers/body_open.php";
|
include "helpers/body_open.php";
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
@ -10,14 +10,14 @@
|
|||||||
<a href="/health/">
|
<a href="/health/">
|
||||||
<div class="col-12 text">
|
<div class="col-12 text">
|
||||||
<u class="orange">2024-03-07</u>
|
<u class="orange">2024-03-07</u>
|
||||||
<br/>
|
<br>
|
||||||
Find my free new eBook, "Hyperling's Health Protocol",
|
Find my free eBook, "Hyperling's Health Protocol",
|
||||||
<u class="orange">here</u>!
|
<u class="orange">here</u>!
|
||||||
</div>
|
</div>
|
||||||
</a>
|
</a>
|
||||||
<!--<div class="col-12 text">
|
<!--<div class="col-12 text">
|
||||||
<u>2024-03-31</u>
|
<u>2024-03-31</u>
|
||||||
<br/>
|
<br>
|
||||||
There's a
|
There's a
|
||||||
<a href="/home/#tictactoe">new app</a>
|
<a href="/home/#tictactoe">new app</a>
|
||||||
in town,
|
in town,
|
||||||
|
@ -8,6 +8,9 @@
|
|||||||
<?php
|
<?php
|
||||||
include "banner.php";
|
include "banner.php";
|
||||||
include "menu.php";
|
include "menu.php";
|
||||||
|
|
||||||
|
/* 2025-01-29 Disable advisory now that Books is explicitly a menu item. * /
|
||||||
if (!isset($GLOBALS["ADVISORY"]) || $GLOBALS["ADVISORY"] !== false)
|
if (!isset($GLOBALS["ADVISORY"]) || $GLOBALS["ADVISORY"] !== false)
|
||||||
include "advisory.php";
|
include "advisory.php";
|
||||||
|
/* */
|
||||||
?>
|
?>
|
||||||
|
@ -30,3 +30,7 @@
|
|||||||
.text {
|
.text {
|
||||||
background-color: #333333;
|
background-color: #333333;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.code {
|
||||||
|
background-color: #444444;
|
||||||
|
}
|
||||||
|
34
pages/helpers/font.css
Normal file
34
pages/helpers/font.css
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
/*** Fonts and text sizes. ***/
|
||||||
|
|
||||||
|
/* For debugging anything which does not have a font size yet. * /
|
||||||
|
* {
|
||||||
|
color: cyan;
|
||||||
|
font-size: xx-large;
|
||||||
|
}
|
||||||
|
/* */
|
||||||
|
|
||||||
|
p,li,code,a,pre {
|
||||||
|
font-size: medium;
|
||||||
|
}
|
||||||
|
|
||||||
|
b,figcaption {
|
||||||
|
font-size: large;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
strong,img {
|
||||||
|
font-size: larger;
|
||||||
|
font-weight: bolder;
|
||||||
|
}
|
||||||
|
|
||||||
|
h6,h5 {
|
||||||
|
font-size: larger;
|
||||||
|
}
|
||||||
|
|
||||||
|
h4,h3 {
|
||||||
|
font-size: x-large;
|
||||||
|
}
|
||||||
|
|
||||||
|
h2,h1 {
|
||||||
|
font-size: xx-large;
|
||||||
|
}
|
@ -7,20 +7,20 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row" id="footer">
|
<div class="row" id="footer">
|
||||||
<div class="col-12 text center">
|
<div class="col-12 title center">
|
||||||
|
<p>
|
||||||
Have a Health or Freedom related project which could use my help?
|
Have a Health or Freedom related project which could use my help?
|
||||||
<a href="mailto:me@hyperling.com">Please let me know</a>!
|
<a href="mailto:me@hyperling.com">Please let me know</a>!
|
||||||
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row center">
|
||||||
<div class="col-3"></div>
|
<div class="col-6">
|
||||||
<h6 class="col-3 center">
|
|
||||||
<a href="https://git.hyperling.com/me/nodejs-website/src/branch/main/LICENSE"
|
<a href="https://git.hyperling.com/me/nodejs-website/src/branch/main/LICENSE"
|
||||||
target="_blank" rel="noopener noreferrer"
|
target="_blank" rel="noopener noreferrer"
|
||||||
>This website is free software! Click here to learn more.</a>
|
>This website is free software! Click here to learn more.</a>
|
||||||
</h6>
|
</div>
|
||||||
<h6 class="col-3 center">
|
<div class="col-6">
|
||||||
<a href="/sitemap/">Full Site Map</a>
|
<a href="/sitemap/">Full Site Map</a>
|
||||||
</h6>
|
</div>
|
||||||
<div class="col-3"></div>
|
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,18 +1,28 @@
|
|||||||
#!/usr/bin/php
|
#!/usr/bin/php
|
||||||
|
<?php
|
||||||
|
if (!isset($GLOBALS["HEADER_TITLE"])) {
|
||||||
|
$GLOBALS["HEADER_TITLE"] = "";
|
||||||
|
} else {
|
||||||
|
$GLOBALS["HEADER_TITLE"] = ": " . $GLOBALS["HEADER_TITLE"];
|
||||||
|
}
|
||||||
|
?>
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html lang="en">
|
||||||
<head>
|
<head>
|
||||||
<title>Hyperling</title>
|
<title>Hyperling<?php echo($GLOBALS["HEADER_TITLE"]); ?></title>
|
||||||
<link rel="icon" sizes="32x32"
|
<link rel="icon" sizes="32x32"
|
||||||
href="/files/media/icons/favicon.ico"
|
href="/files/media/icons/favicon.ico"
|
||||||
/>
|
>
|
||||||
<link rel="icon" sizes="192x192"
|
<link rel="icon" sizes="192x192"
|
||||||
href="/files/media/icons/favicon.ico"
|
href="/files/media/icons/favicon.ico"
|
||||||
/>
|
>
|
||||||
<!-- CSS -->
|
<!-- CSS -->
|
||||||
<style>
|
<style>
|
||||||
<?php include "main.css"; ?>
|
<?php include "main.css"; ?>
|
||||||
</style>
|
</style>
|
||||||
|
<style>
|
||||||
|
<?php include "font.css"; ?>
|
||||||
|
</style>
|
||||||
<style>
|
<style>
|
||||||
<?php include "dark.css"; ?>
|
<?php include "dark.css"; ?>
|
||||||
</style>
|
</style>
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/*** 2022-09-14 CSS for the website. ***/
|
/*** 2022-09-14 CSS for the website. ***/
|
||||||
/* https://www.w3schools.com/Css/css_rwd_grid.asp */
|
/* https://www.w3schools.com/Css/css_rwd_grid.asp */
|
||||||
|
|
||||||
/* Enable dynamic stuffs, maks the element think its entire size includes padding. */
|
/* Enable dynamic stuffs, makes the element think its entire size includes padding. */
|
||||||
* {
|
* {
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
}
|
}
|
||||||
@ -24,7 +24,9 @@
|
|||||||
[class*="col-"] {
|
[class*="col-"] {
|
||||||
float: left;
|
float: left;
|
||||||
padding: 15px;
|
padding: 15px;
|
||||||
/*border: 1px solid green;*/ /* FORTESTING otherwise disable */
|
|
||||||
|
/* FORTESTING, otherwise disable */
|
||||||
|
/*border: 1px solid green;*/
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Ensure columns are respected as if they always exist. */
|
/* Ensure columns are respected as if they always exist. */
|
||||||
@ -34,7 +36,18 @@
|
|||||||
display: table;
|
display: table;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.row {
|
||||||
|
border: 1px solid #131313;
|
||||||
|
border-radius: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
/** Make the menu items centered and layout horizontal. **/
|
/** Make the menu items centered and layout horizontal. **/
|
||||||
|
/*
|
||||||
|
.menu {
|
||||||
|
padding-top: 10px;
|
||||||
|
padding-bottom: 10px;
|
||||||
|
}
|
||||||
|
*/
|
||||||
.menu-list {
|
.menu-list {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
list-style-type: none;
|
list-style-type: none;
|
||||||
@ -42,6 +55,8 @@
|
|||||||
}
|
}
|
||||||
.menu_item {
|
.menu_item {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
|
padding: 0px;
|
||||||
|
white-space: nowrap;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Be able to position anything easily. **/
|
/** Be able to position anything easily. **/
|
||||||
@ -60,14 +75,21 @@
|
|||||||
list-style-type: none;
|
list-style-type: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Objects which need borders **/
|
/** Extra objects which need borders **/
|
||||||
.border {
|
.border {
|
||||||
border: 1px solid #33CC33;
|
border: 1px solid #131313;
|
||||||
|
border-radius: 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Also have this apply to a table's cells. */
|
/** Explicitly remove border from some objects. **/
|
||||||
.border * th,td {
|
.no-border {
|
||||||
border: 1px solid #33CC33;
|
border: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** When a field needs more background color above and below. **/
|
||||||
|
.spacing {
|
||||||
|
padding-top: 5px;
|
||||||
|
padding-bottom: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Format tables and allow contents to be broken up. **/
|
/** Format tables and allow contents to be broken up. **/
|
||||||
@ -88,9 +110,35 @@
|
|||||||
max-height: 500px;
|
max-height: 500px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* FORTESTING, otherwise disable */
|
||||||
|
/*
|
||||||
|
div {
|
||||||
|
border: 1px solid red;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
.code {
|
||||||
|
max-width: 90%;
|
||||||
|
margin-left: 5%;
|
||||||
|
|
||||||
|
overflow: auto;
|
||||||
|
overflow-x: scroll;
|
||||||
|
overflow-y: hidden;
|
||||||
|
|
||||||
|
padding: 10px;
|
||||||
|
border: 2px solid #131313;
|
||||||
|
border-radius: 8px;
|
||||||
|
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
|
||||||
|
}
|
||||||
|
|
||||||
body {
|
body {
|
||||||
max-width: 1300px;
|
max-width: 1300px;
|
||||||
margin-left: auto;
|
margin-left: auto;
|
||||||
margin-right: auto;
|
margin-right: auto;
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.app-icon {
|
||||||
|
width: 25%;
|
||||||
|
height: 25%;
|
||||||
|
}
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
#!/usr/bin/php
|
#!/usr/bin/php
|
||||||
<div class="row header">
|
<div class="row header menu">
|
||||||
<ul class="menu-list">
|
<ul class="menu-list">
|
||||||
<li class="col-1"></li>
|
<li class="col-1"></li>
|
||||||
<li class="col-2 menu-item"><a href="/home/">Apps</a></li>
|
<li class="col-2 menu-item"><a href="/apps/">Apps</a></li>
|
||||||
<li class="col-2 menu-item"><a href="/media/">Media</a></li>
|
<li class="col-2 menu-item"><a href="/media/">Media</a></li>
|
||||||
<li class="col-2 menu-item"><a href="/about/">About</a></li>
|
<li class="col-2 menu-item"><a href="/about/">About</a></li>
|
||||||
<li class="col-2 menu-item"><a href="/contact/">Contact</a></li>
|
<li class="col-2 menu-item"><a href="/contact/">Contact</a></li>
|
||||||
|
@ -3,15 +3,16 @@
|
|||||||
Landing page, keeping it apps and development projects like old WordPress site.
|
Landing page, keeping it apps and development projects like old WordPress site.
|
||||||
-->
|
-->
|
||||||
<?php
|
<?php
|
||||||
|
if (!isset($GLOBALS["HEADER_TITLE"])) {
|
||||||
|
$GLOBALS["HEADER_TITLE"] = "Home";
|
||||||
|
}
|
||||||
include "helpers/body_open.php";
|
include "helpers/body_open.php";
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<h1 class="col-12 title">Welcome!</h1>
|
<h1 class="col-12 title">Welcome!</h1>
|
||||||
</div>
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-12 header center" >
|
<div class="col-12 header center" >
|
||||||
<img src="/files/media/icons/home.jpg">
|
<img src="/files/media/icons/home.jpg" alt="">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
cd `dirname $0`
|
cd `dirname $0`
|
||||||
|
|
||||||
# Create the necessary HTML components for a web page.
|
# Create the necessary HTML components for a web page.
|
||||||
./helpers/body_open.php
|
./helpers/body_open.php | sed -e 's/Hyperling/Hyperling: Journey/'
|
||||||
|
|
||||||
#Content for this page
|
#Content for this page
|
||||||
cat << EOF
|
cat << EOF
|
||||||
|
@ -1,8 +1,11 @@
|
|||||||
#!/usr/bin/php
|
#!/usr/bin/php
|
||||||
<!--
|
<!--
|
||||||
Page to provide ways people can support me.
|
Lists of items which I'd like to share such as gear and frequently used apps.
|
||||||
-->
|
-->
|
||||||
<?php
|
<?php
|
||||||
|
if (!isset($GLOBALS["HEADER_TITLE"])) {
|
||||||
|
$GLOBALS["HEADER_TITLE"] = "Lists";
|
||||||
|
}
|
||||||
include "helpers/body_open.php";
|
include "helpers/body_open.php";
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
@ -3,17 +3,45 @@
|
|||||||
Page for my video links.
|
Page for my video links.
|
||||||
-->
|
-->
|
||||||
<?php
|
<?php
|
||||||
|
if (!isset($GLOBALS["HEADER_TITLE"])) {
|
||||||
|
$GLOBALS["HEADER_TITLE"] = "Media";
|
||||||
|
}
|
||||||
include "helpers/body_open.php";
|
include "helpers/body_open.php";
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<h1 class="col-12 title">Videos</h1>
|
<h1 class="col-12 title">Media</h1>
|
||||||
|
<div class="col-12 header center" >
|
||||||
|
<img src="/files/media/icons/videos.jpg" alt="">
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-12 header center" >
|
<div class="col-12 text center">
|
||||||
<img src="/files/media/icons/videos.jpg">
|
<p>
|
||||||
|
My written works, social platforms, and photos can be found here.
|
||||||
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<h2 class="col-12 header">Books</h2>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-12 text">
|
||||||
|
<p>
|
||||||
|
I enjoy writing! Find my free eBooks below.
|
||||||
|
</p>
|
||||||
|
<ul class="indent"><li>
|
||||||
|
<a href="/health/">My Health Protocol</a>
|
||||||
|
</li></ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row" id="donate">
|
||||||
|
<h2 class="col-12 header">Videos</h2>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-12 text">
|
<div class="col-12 text">
|
||||||
<p>
|
<p>
|
||||||
@ -47,20 +75,6 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row">
|
|
||||||
<h1 class="col-12 title">Books</h1>
|
|
||||||
</div>
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-12 text">
|
|
||||||
<p>
|
|
||||||
I enjoy writing! Find my free eBooks below.
|
|
||||||
</p>
|
|
||||||
<ul class="indent"><li>
|
|
||||||
<a href="/health/">My Health Protocol</a>
|
|
||||||
</li></ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- WIP
|
<!-- WIP
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<h1 class="col-12 title">Art / Poetry</h1>
|
<h1 class="col-12 title">Art / Poetry</h1>
|
||||||
@ -78,7 +92,7 @@
|
|||||||
-->
|
-->
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<h1 class="col-12 title">Personal Media</h1>
|
<h2 class="col-12 header">Photography</h2>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-12 text">
|
<div class="col-12 text">
|
||||||
|
20
pages/photos-all.sh
Executable file
20
pages/photos-all.sh
Executable file
@ -0,0 +1,20 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# Alias for new All Photos feed.
|
||||||
|
|
||||||
|
# Move to main directory.
|
||||||
|
DIR=`dirname $0`
|
||||||
|
cd $DIR/..
|
||||||
|
|
||||||
|
# Locations of photo scripts.
|
||||||
|
photos_all=./files/photos/all.html
|
||||||
|
photos=./pages/photos.sh
|
||||||
|
|
||||||
|
# If the all script does not exist,call the generator and ignore its output.
|
||||||
|
if [[ ! -e $photos_all ]]; then
|
||||||
|
$photos > /dev/null
|
||||||
|
fi
|
||||||
|
|
||||||
|
## Main ##
|
||||||
|
cat $photos_all
|
||||||
|
|
||||||
|
exit 0
|
161
pages/photos.sh
161
pages/photos.sh
@ -2,12 +2,11 @@
|
|||||||
# 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.
|
||||||
|
|
||||||
# Static Variables
|
## Static Variables ##
|
||||||
DIR=`dirname $0`
|
DIR=`dirname $0`
|
||||||
header="<html>\n\t<header>\n\t\t<title>ALBUM</title>\n\t</header>\n\t<body>"
|
a="a target='_blank' rel='noopener noreferrer'"
|
||||||
footer="\n\t</body>\n</html>"
|
|
||||||
|
|
||||||
# Functions
|
## Functions ##
|
||||||
function remove_problem_strings {
|
function remove_problem_strings {
|
||||||
file="$1"
|
file="$1"
|
||||||
sed -i -e 's/#!\/usr\/bin\/php//g' $file
|
sed -i -e 's/#!\/usr\/bin\/php//g' $file
|
||||||
@ -20,6 +19,7 @@ cd $DIR/..
|
|||||||
HELPER_DIR=./pages/helpers
|
HELPER_DIR=./pages/helpers
|
||||||
PHOTOS_DIR=./files/photos
|
PHOTOS_DIR=./files/photos
|
||||||
mainpage=$PHOTOS_DIR/index.html
|
mainpage=$PHOTOS_DIR/index.html
|
||||||
|
allpage=$PHOTOS_DIR/all.html
|
||||||
|
|
||||||
# Use the cached version if available.
|
# Use the cached version if available.
|
||||||
if [[ -e $mainpage ]]; then
|
if [[ -e $mainpage ]]; then
|
||||||
@ -28,8 +28,11 @@ if [[ -e $mainpage ]]; then
|
|||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
## Start the main /photos/ page. ##
|
||||||
|
function start_main_page {
|
||||||
# Create the necessary HTML components for a web page.
|
# Create the necessary HTML components for a web page.
|
||||||
$HELPER_DIR/body_open.php > $mainpage
|
$HELPER_DIR/body_open.php > $mainpage
|
||||||
|
sed -i -e 's/Hyperling/Hyperling: Photos/' $mainpage
|
||||||
echo "" >> $mainpage
|
echo "" >> $mainpage
|
||||||
|
|
||||||
# Give the page a description.
|
# Give the page a description.
|
||||||
@ -46,10 +49,27 @@ echo -e "video name to pull up the full resolution for download.</p>" >> $mainpa
|
|||||||
echo -e "\t\t\t</div>" >> $mainpage
|
echo -e "\t\t\t</div>" >> $mainpage
|
||||||
echo -e "\t\t</div>" >> $mainpage
|
echo -e "\t\t</div>" >> $mainpage
|
||||||
|
|
||||||
|
echo -e "\t\t<div class='row'>" >> $mainpage
|
||||||
|
echo -e "\t\t\t<$a href='/photos-all'" >> $mainpage
|
||||||
|
echo -e "\t\t\t\tclass='col-12 header'>Click Here for the Full Photo Feed" >> $mainpage
|
||||||
|
echo -e "\t\t\t</a>" >> $mainpage
|
||||||
|
echo -e "\t\t</div>" >> $mainpage
|
||||||
|
}
|
||||||
|
|
||||||
|
## Close out the main page after the sub pages are done being added. ##
|
||||||
|
function end_main_page {
|
||||||
|
# Finish the main /photos/ page.
|
||||||
|
$HELPER_DIR/body_close.php >> $mainpage
|
||||||
|
echo "<!-- Built on `date`. -->" >> $mainpage
|
||||||
|
remove_problem_strings $mainpage
|
||||||
|
}
|
||||||
|
|
||||||
|
## Create the album pages. ##
|
||||||
|
function build_album_pages {
|
||||||
# Display the album names descending.
|
# Display the album names descending.
|
||||||
ls $PHOTOS_DIR/ | sort -r | while read album; do
|
ls $PHOTOS_DIR/ | sort -r | while read album; do
|
||||||
# Skip files, only read directories.
|
# Skip files, only read directories.
|
||||||
if [[ ! -d $PHOTOS_DIR/$album ]]; then
|
if [[ ! -d "$PHOTOS_DIR/$album" || "$album" == "all" ]]; then
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -59,8 +79,8 @@ ls $PHOTOS_DIR/ | sort -r | while read album; do
|
|||||||
album_name=${album_name//-/ }
|
album_name=${album_name//-/ }
|
||||||
echo -e "\t\t<div class='row'>" >> $mainpage
|
echo -e "\t\t<div class='row'>" >> $mainpage
|
||||||
echo -en "\t\t\t<h2 class='col-12 title'>" >> $mainpage
|
echo -en "\t\t\t<h2 class='col-12 title'>" >> $mainpage
|
||||||
echo -en "<a href='/files/photos/$album/index.html' " >> $mainpage
|
echo -en "<$a href='/files/photos/$album/index.html'>" >> $mainpage
|
||||||
echo -e "target='_blank' rel='noopener noreferrer'>$album_name</a></h2>" >> $mainpage
|
echo -e "$album_name</a></h2>" >> $mainpage
|
||||||
echo -e "\t\t</div>" >> $mainpage
|
echo -e "\t\t</div>" >> $mainpage
|
||||||
|
|
||||||
# Catch all the upcoming photo records.
|
# Catch all the upcoming photo records.
|
||||||
@ -70,6 +90,8 @@ ls $PHOTOS_DIR/ | sort -r | while read album; do
|
|||||||
page=""
|
page=""
|
||||||
subpage="$PHOTOS_DIR/$album/index.html"
|
subpage="$PHOTOS_DIR/$album/index.html"
|
||||||
$HELPER_DIR/body_open.php > $subpage
|
$HELPER_DIR/body_open.php > $subpage
|
||||||
|
sed -i -e "s/Hyperling/Hyperling: $album_name/" $subpage
|
||||||
|
echo "" >> $subpage
|
||||||
|
|
||||||
# Add a back button
|
# Add a back button
|
||||||
echo -en "\n\t\t<div class='row'>\n\t\t\t<a href='/photos'>" >> $subpage
|
echo -en "\n\t\t<div class='row'>\n\t\t\t<a href='/photos'>" >> $subpage
|
||||||
@ -101,8 +123,7 @@ ls $PHOTOS_DIR/ | sort -r | while read album; do
|
|||||||
echo -e "\t\t\t\t<p>`cat $photo`</p>" >> $mainpage
|
echo -e "\t\t\t\t<p>`cat $photo`</p>" >> $mainpage
|
||||||
else
|
else
|
||||||
# Otherwise put in the PHOTOS page list.
|
# Otherwise put in the PHOTOS page list.
|
||||||
echo -en "\t\t\t\t<li class='indent'><a href=/$photo target='_blank' " >> $mainpage
|
echo -en "\t\t\t\t<li class='indent'><$a href='/$photo'>$filename" >> $mainpage
|
||||||
echo -en "rel='noopener noreferrer'>$filename" >> $mainpage
|
|
||||||
if [[ $photo == *".mp4" ]]; then
|
if [[ $photo == *".mp4" ]]; then
|
||||||
echo -en " [VIDEO]" >> $mainpage
|
echo -en " [VIDEO]" >> $mainpage
|
||||||
fi
|
fi
|
||||||
@ -120,8 +141,7 @@ ls $PHOTOS_DIR/ | sort -r | while read album; do
|
|||||||
fi
|
fi
|
||||||
# Add the container for the image and its text.
|
# Add the container for the image and its text.
|
||||||
echo -e "\t\t\t<div class='col-6 center'>" >> $subpage
|
echo -e "\t\t\t<div class='col-6 center'>" >> $subpage
|
||||||
echo -en "\t\t\t\t<a href=/$photo target='_blank' " >> $subpage
|
echo -en "\t\t\t\t<$a href='/$photo'>" >> $subpage
|
||||||
echo -e "rel='noopener noreferrer'>" >> $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' controls>" >> $subpage
|
||||||
@ -131,7 +151,7 @@ ls $PHOTOS_DIR/ | sort -r | while read album; do
|
|||||||
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'/>" >> $subpage
|
echo -e "\t\t\t\t\t<img src='/$photo' alt=''>" >> $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
|
||||||
@ -159,15 +179,122 @@ ls $PHOTOS_DIR/ | sort -r | while read album; do
|
|||||||
# Close out the ALBUM's page.
|
# Close out the ALBUM's page.
|
||||||
$HELPER_DIR/body_close.php >> $subpage
|
$HELPER_DIR/body_close.php >> $subpage
|
||||||
echo "<!-- Built on `date`. -->" >> $subpage
|
echo "<!-- Built on `date`. -->" >> $subpage
|
||||||
|
|
||||||
remove_problem_strings $subpage
|
remove_problem_strings $subpage
|
||||||
done
|
done
|
||||||
|
}
|
||||||
|
|
||||||
# Finish the web page.
|
## Create an ALL page. ##
|
||||||
$HELPER_DIR/body_close.php >> $mainpage
|
function build_all_page {
|
||||||
echo "<!-- Built on `date`. -->" >> $mainpage
|
# - Shows all photos in descending order, as an overall feed.
|
||||||
|
# - Four images wide.
|
||||||
|
# - Has 2 URLs below the image. One to the album, and one to the image.
|
||||||
|
# - Image is a URL to itself as with other pages.
|
||||||
|
# - Images are shown at maximum 500px or so vertical for quick scrolling.
|
||||||
|
|
||||||
remove_problem_strings $mainpage
|
# Create/overwrite file.
|
||||||
|
$HELPER_DIR/body_open.php > $allpage
|
||||||
|
sed -i -e 's/Hyperling/Hyperling: All Photos/' $allpage
|
||||||
|
echo "" >> $allpage
|
||||||
|
|
||||||
|
# Add header.
|
||||||
|
echo -e "\t\t<div class='row'>" >> $allpage
|
||||||
|
echo -e "\t\t\t<h1 class='col-12 title'>All Photo Feed</h1>" >> $allpage
|
||||||
|
echo -e "\t\t</div>" >> $allpage
|
||||||
|
|
||||||
|
# Add images to the page
|
||||||
|
find $PHOTOS_DIR/ ! -name "*".html | sort -r | while read media_file; do
|
||||||
|
if [[ -d $media_file
|
||||||
|
|| "$media_file" == *"/photos/README.md"
|
||||||
|
]]; then
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Remove the initial '.' from the URI.
|
||||||
|
media_uri="${media_file//\.\//\/}"
|
||||||
|
|
||||||
|
# Path to the image home.
|
||||||
|
dir_uri="`dirname $media_uri`"
|
||||||
|
|
||||||
|
# Prepare variables which will be used throughout the loop.
|
||||||
|
media_name="`basename $media_uri`"
|
||||||
|
dir_name="`basename $dir_uri`"
|
||||||
|
|
||||||
|
# This must be after the dir_name has been pulled.
|
||||||
|
dir_uri="$dir_uri/index.html"
|
||||||
|
|
||||||
|
# Do not show the file extension for the filename.
|
||||||
|
media_name="${media_name%%.*}"
|
||||||
|
|
||||||
|
# Change underscores and dashes to be spaces for better overflow.
|
||||||
|
media_name="${media_name//_/ }"
|
||||||
|
media_name="${media_name//-/ }"
|
||||||
|
dir_name="${dir_name//_/ }"
|
||||||
|
dir_name="${dir_name//-/ }"
|
||||||
|
|
||||||
|
media="<img src='$media_uri' alt='' style='width:100%'>"
|
||||||
|
|
||||||
|
# Determine how to show the file.
|
||||||
|
if [[ $media_uri == *".mp4" ]]; then
|
||||||
|
media="<video controls style='width:100%'>"
|
||||||
|
media="${media}<source src='$media_uri' type=video/mp4>"
|
||||||
|
media="${media}Your browser does not support videos."
|
||||||
|
media="${media}</video>"
|
||||||
|
media_name="$media_name [VIDEO]"
|
||||||
|
elif [[ $media_uri == *".md" || $media_uri == *".txt" ]]; then
|
||||||
|
media="<p>`cat $media_file`</p>"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Add a row if count has reset.
|
||||||
|
if [[ -z $count ]]; then
|
||||||
|
count=0
|
||||||
|
fi
|
||||||
|
if [[ $count == 0 ]]; then
|
||||||
|
echo -e "\t\t<div class=row text>" >> $allpage
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Add a column.
|
||||||
|
echo -e "\t\t\t<div class=col-3>" >> $allpage
|
||||||
|
|
||||||
|
# Add the image.
|
||||||
|
echo -e "\t\t\t\t<div class=center>" >> $allpage
|
||||||
|
echo -e "\t\t\t\t\t<$a href='$media_uri'>$media</a>" >> $allpage
|
||||||
|
echo -e "\t\t\t\t</div>" >> $allpage
|
||||||
|
|
||||||
|
# Add the URLs.
|
||||||
|
echo -e "\t\t\t\t<div class=center>" >> $allpage
|
||||||
|
echo -e "\t\t\t\t\t<p><$a href='$dir_uri'>$dir_name</a></p>" >> $allpage
|
||||||
|
echo -e "\t\t\t\t</div>" >> $allpage
|
||||||
|
echo -e "\t\t\t\t<div class=center>" >> $allpage
|
||||||
|
echo -e "\t\t\t\t\t<p><$a href='$media_uri'>$media_name</a></p>" >> $allpage
|
||||||
|
echo -e "\t\t\t\t</div>" >> $allpage
|
||||||
|
|
||||||
|
# Close the column.
|
||||||
|
echo -e "\t\t\t</div>" >> $allpage
|
||||||
|
|
||||||
|
# Close the row and reset the the count if full.
|
||||||
|
if [[ $count == 3 ]]; then
|
||||||
|
echo -e "\t\t</div>" >> $allpage
|
||||||
|
count=0
|
||||||
|
else
|
||||||
|
count=$(( count + 1 ))
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# Add a final back button.
|
||||||
|
echo -en "\n\t\t<div class='row'>\n\t\t\t<a href='/photos'>" >> $allpage
|
||||||
|
echo -e "<h3 class='col-12 title'>Back</h3></a>\n\t\t</div>" >> $allpage
|
||||||
|
|
||||||
|
# Finish the ALL page.
|
||||||
|
$HELPER_DIR/body_close.php >> $allpage
|
||||||
|
echo "<!-- Built on `date`. -->" >> $allpage
|
||||||
|
remove_problem_strings $allpage
|
||||||
|
}
|
||||||
|
|
||||||
|
## Main ##
|
||||||
|
start_main_page
|
||||||
|
build_album_pages
|
||||||
|
build_all_page
|
||||||
|
end_main_page
|
||||||
|
|
||||||
cat $mainpage
|
cat $mainpage
|
||||||
exit 0
|
exit 0
|
||||||
|
@ -3,22 +3,23 @@
|
|||||||
Page for my resume and work skill links.
|
Page for my resume and work skill links.
|
||||||
-->
|
-->
|
||||||
<?php
|
<?php
|
||||||
|
if (!isset($GLOBALS["HEADER_TITLE"])) {
|
||||||
|
$GLOBALS["HEADER_TITLE"] = "Resume";
|
||||||
|
}
|
||||||
include "helpers/body_open.php";
|
include "helpers/body_open.php";
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<h1 class="col-12 title">Resume</h1>
|
<h1 class="col-12 title">Resume</h1>
|
||||||
</div>
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-12 header center" >
|
<div class="col-12 header center" >
|
||||||
<img src="/files/media/icons/home.jpg"> <!-- TBD use a new photo -->
|
<img src="/files/media/icons/home.jpg" alt=""> <!-- TBD use a new photo -->
|
||||||
</div>
|
</div>
|
||||||
|
<h2 class="col-12 title center">Current Status : Traveling Full Time</h2>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<h2 class="col-12 header">Current Status : Full Time Contractor</h2>
|
<div class="col-12 text center">
|
||||||
<div class="col-12 text">
|
|
||||||
<p>
|
<p>
|
||||||
Interested in hiring me? Please find my resume below!
|
Interested in hiring me? View my resume below!
|
||||||
</p>
|
</p>
|
||||||
<ul class="indent"><li>
|
<ul class="indent"><li>
|
||||||
<a href="https://hyperling.com/files/media/documents/Resume.pdf"
|
<a href="https://hyperling.com/files/media/documents/Resume.pdf"
|
||||||
|
@ -12,12 +12,14 @@
|
|||||||
I have not been sick since I cleaned up my lifestyle in 2014. No
|
I have not been sick since I cleaned up my lifestyle in 2014. No
|
||||||
colds, flus, fevers, etc. My suggestions for accomplishing this
|
colds, flus, fevers, etc. My suggestions for accomplishing this
|
||||||
are simple. Consistently:
|
are simple. Consistently:
|
||||||
|
</p>
|
||||||
<ul class="indent">
|
<ul class="indent">
|
||||||
<li>eat enough clean food,</li>
|
<li>eat enough clean food,</li>
|
||||||
<li>drink enough clean water,</li>
|
<li>drink enough clean water,</li>
|
||||||
<li>get enough good sleep, and</li>
|
<li>get enough good sleep, and</li>
|
||||||
<li>enjoy a low-stress life.</li>
|
<li>enjoy a low-stress life.</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
<p>
|
||||||
Unfortunately our society today has many different views on how
|
Unfortunately our society today has many different views on how
|
||||||
to do these things, most of which I would say do not work. A
|
to do these things, most of which I would say do not work. A
|
||||||
quick list of my protocol without getting too into the weeds can
|
quick list of my protocol without getting too into the weeds can
|
||||||
|
@ -5,16 +5,11 @@
|
|||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-12 text">
|
<div class="col-12 text">
|
||||||
<p>
|
<p>
|
||||||
I'm a self-taught, college graduated, and professional software
|
I'm a professional software engineer who's been playing with
|
||||||
developer with nearly a decade of experience in the corporate
|
Linux system administration from a young age. Much of my career
|
||||||
world. I have been playing with Linux from a young age and have
|
has focused on back-end / database systems and optimizing
|
||||||
always enjoyed doing system administration type activities.
|
workflows. In my free time I enjoy learning new languages and
|
||||||
<p>
|
writing apps for Android.
|
||||||
</p>
|
|
||||||
Much of my career has focused on back-end type systems such as
|
|
||||||
databases as well as optimizing workflows. I've learned many
|
|
||||||
languages over the years and hope to learn many more. In my free
|
|
||||||
time I have also enjoyed writing user-facing apps for Android.
|
|
||||||
</p>
|
</p>
|
||||||
<!--<p><a href="/resume/">My resume can be found here</a>.</p>-->
|
<!--<p><a href="/resume/">My resume can be found here</a>.</p>-->
|
||||||
</div>
|
</div>
|
||||||
@ -26,7 +21,7 @@
|
|||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-12 text">
|
<div class="col-12 text">
|
||||||
<p>
|
<p>
|
||||||
Please feel free to use any of my free software below.
|
Please feel welcome to use any of my free software below.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -34,15 +29,44 @@
|
|||||||
<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>
|
||||||
<div class="row center">
|
|
||||||
<div class="col-12 text" id="tictactoe">
|
<div class="row center text">
|
||||||
|
|
||||||
|
<div class="col-12 text border" id="expense">
|
||||||
|
<a href="https://git.hyperling.com/me/flutter-expense-tracker/releases">
|
||||||
<figure>
|
<figure>
|
||||||
<a href="https://git.hyperling.com/me/android-tictactoe/releases">
|
<img class="app-icon" loading="lazy" alt=""
|
||||||
<img width="50%" height="50%" alt="tictactoe_image"
|
src="/files/media/icons/expense.png"
|
||||||
src="/files/media/icons/tictactoe.png"
|
>
|
||||||
/>
|
|
||||||
<figcaption>
|
<figcaption>
|
||||||
<p>Tic-Tac-Toe</p>
|
Recurring Expense Tracker
|
||||||
|
</figcaption>
|
||||||
|
</figure>
|
||||||
|
</a>
|
||||||
|
<p>
|
||||||
|
Keep track of repeating expenses and
|
||||||
|
view projections of their effect on your finances.
|
||||||
|
First app written with Flutter.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<!--[<s><a>F-Droid</a></s>]-->
|
||||||
|
[<a href="https://git.hyperling.com/me/flutter-expense-tracker/"
|
||||||
|
target="_blank" rel="noopener noreferrer">Source Code</a>]
|
||||||
|
[<a href="https://git.hyperling.com/me/flutter-expense-tracker/releases"
|
||||||
|
target="_blank" rel="noopener noreferrer">APKs / Obtainium URL</a>]
|
||||||
|
</p>
|
||||||
|
</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=""
|
||||||
|
src="/files/media/icons/tictactoe.png"
|
||||||
|
>
|
||||||
|
<figcaption>
|
||||||
|
Tic-Tac-Toe
|
||||||
|
</figcaption>
|
||||||
|
</figure>
|
||||||
</a>
|
</a>
|
||||||
<p>
|
<p>
|
||||||
Play against a friend or a range of AIs.
|
Play against a friend or a range of AIs.
|
||||||
@ -55,20 +79,19 @@
|
|||||||
[<a href="https://git.hyperling.com/me/android-tictactoe/releases"
|
[<a href="https://git.hyperling.com/me/android-tictactoe/releases"
|
||||||
target="_blank" rel="noopener noreferrer">APKs / Obtainium URL</a>]
|
target="_blank" rel="noopener noreferrer">APKs / Obtainium URL</a>]
|
||||||
</p>
|
</p>
|
||||||
</figcaption>
|
|
||||||
</figure>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row center">
|
<div class="col-12 text border" id="ctfu">
|
||||||
<div class="col-6 text" id="ctfu">
|
|
||||||
<figure>
|
|
||||||
<a href="https://git.hyperling.com/me/android-carb-up/releases"
|
<a href="https://git.hyperling.com/me/android-carb-up/releases"
|
||||||
target="_blank" rel="noopener noreferrer">
|
target="_blank" rel="noopener noreferrer">
|
||||||
<img width="100%" height="100%" alt="ctfu_image"
|
<figure>
|
||||||
|
<img class="app-icon" loading="lazy" alt=""
|
||||||
src="/files/media/icons/ctfu.png"
|
src="/files/media/icons/ctfu.png"
|
||||||
/>
|
>
|
||||||
<figcaption>
|
<figcaption>
|
||||||
<p>Carb Up! BETA</p>
|
Carb Up! BETA
|
||||||
|
</figcaption>
|
||||||
|
</figure>
|
||||||
</a>
|
</a>
|
||||||
<p>
|
<p>
|
||||||
Calculate cost-effective foods on a High Carb Low Fat lifestyle.
|
Calculate cost-effective foods on a High Carb Low Fat lifestyle.
|
||||||
@ -86,20 +109,20 @@
|
|||||||
[<a target="_blank" rel="noopener noreferrer">F-Droid</a>]
|
[<a target="_blank" rel="noopener noreferrer">F-Droid</a>]
|
||||||
</s>
|
</s>
|
||||||
</p>-->
|
</p>-->
|
||||||
</figcaption>
|
|
||||||
</figure>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-6 text" id="timer">
|
<div class="col-12 text border" id="timer">
|
||||||
<figure>
|
|
||||||
<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"
|
||||||
>
|
>
|
||||||
<img loading="lazy" width="100%" height="100%" alt="infinitetimer_image"
|
<figure>
|
||||||
|
<img class="app-icon" loading="lazy" alt=""
|
||||||
src="/files/media/icons/infinitetimer.png"
|
src="/files/media/icons/infinitetimer.png"
|
||||||
/>
|
>
|
||||||
<figcaption>
|
<figcaption>
|
||||||
<p>Infinite Timer</p>
|
Infinite Timer
|
||||||
|
</figcaption>
|
||||||
|
</figure>
|
||||||
</a>
|
</a>
|
||||||
<p>
|
<p>
|
||||||
Play a notification at your chosen interval.
|
Play a notification at your chosen interval.
|
||||||
@ -117,21 +140,19 @@
|
|||||||
[<a target="_blank" rel="noopener noreferrer">F-Droid</a>]
|
[<a target="_blank" rel="noopener noreferrer">F-Droid</a>]
|
||||||
</s>
|
</s>
|
||||||
</p>-->
|
</p>-->
|
||||||
</figcaption>
|
|
||||||
</figure>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row center">
|
<div class="col-12 text border" id="sleep">
|
||||||
<div class="col-6 text" id="sleep">
|
|
||||||
<figure>
|
|
||||||
<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">
|
||||||
<img loading="lazy" width="100%" height="100%" alt="45minuterule"
|
<figure>
|
||||||
|
<img class="app-icon" loading="lazy" alt=""
|
||||||
src="/files/media/icons/t45mr.png"
|
src="/files/media/icons/t45mr.png"
|
||||||
/>
|
>
|
||||||
<figcaption>
|
<figcaption>
|
||||||
<p>45 Minute Rule</p>
|
45 Minute Rule
|
||||||
|
</figcaption>
|
||||||
|
</figure>
|
||||||
</a>
|
</a>
|
||||||
<p>
|
<p>
|
||||||
Determine a good bedtime for waking during light sleep.
|
Determine a good bedtime for waking during light sleep.
|
||||||
@ -149,22 +170,20 @@
|
|||||||
[<a target="_blank" rel="noopener noreferrer">F-Droid</a>]
|
[<a target="_blank" rel="noopener noreferrer">F-Droid</a>]
|
||||||
</s>
|
</s>
|
||||||
</p>-->
|
</p>-->
|
||||||
</figcaption>
|
|
||||||
</figure>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-6 text" id="games">
|
<div class="col-12 text border" id="games">
|
||||||
<figure>
|
|
||||||
<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"
|
||||||
>
|
>
|
||||||
<img loading="lazy" width="100%" height="100%" alt="hypergames_image"
|
<figure>
|
||||||
|
<img class="app-icon" loading="lazy" alt=""
|
||||||
src="/files/media/icons/hypergames.png"
|
src="/files/media/icons/hypergames.png"
|
||||||
/>
|
>
|
||||||
<figcaption>
|
<figcaption>
|
||||||
<p>
|
|
||||||
HyperGames
|
HyperGames
|
||||||
</p>
|
</figcaption>
|
||||||
|
</figure>
|
||||||
</a>
|
</a>
|
||||||
<p>
|
<p>
|
||||||
Started as a fun project for learning.
|
Started as a fun project for learning.
|
||||||
@ -178,13 +197,13 @@
|
|||||||
[<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">APKs / Obtainium URL</a>]
|
target="_blank" rel="noopener noreferrer">APKs / Obtainium URL</a>]
|
||||||
</p>
|
</p>
|
||||||
<!--<p>
|
<!--
|
||||||
|
<p>
|
||||||
<s>
|
<s>
|
||||||
[<a target="_blank" rel="noopener noreferrer">F-Droid</a>]
|
[<a target="_blank" rel="noopener noreferrer">F-Droid</a>]
|
||||||
</s>-->
|
</s>
|
||||||
</p>
|
</p>
|
||||||
</figcaption>
|
-->
|
||||||
</figure>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -3,66 +3,71 @@
|
|||||||
<div class="row" id="donate">
|
<div class="row" id="donate">
|
||||||
<h2 class="col-12 header">Donate</h2>
|
<h2 class="col-12 header">Donate</h2>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
|
||||||
<div class="col-12 text">
|
<div class="row text">
|
||||||
<p>
|
|
||||||
Donations can be provided directly to my crypto addresses.
|
<div class="col-4 center border">
|
||||||
</p>
|
<strong class="spacing">Preference 1 - Private Crypto</strong>
|
||||||
<!--<ul class="indent"><li>
|
<p>Send any type of coin.</p>
|
||||||
<table class="border">
|
<div class="header">
|
||||||
<thead>
|
<!-- https://trocador.app/en/anonpayurlgenerator -->
|
||||||
<tr>
|
<iframe src="https://trocador.app/anonpay/?ticker_to=xmr&network_to=Mainnet&address=4ATk6owoMki46CuVfyAHS57FB5deqVFudTsaifQC1cfmcaQemgPEftcjZcW9DmcyfrfdRjxHQ9m4JAVSorYTgm6h8JnT7ao&donation=True&amount=1337.0&name=Chad&description=Support+Chad+%40+Hyperling&email=me@hyperling,com&ticker_from=doge&network_from=Mainnet&buttonbgcolor=663399&textcolor=cccccc&bgcolor=" width="310" height="350" style="border:0; overflow:hidden;"></iframe>
|
||||||
<th class="center"><strong>Description</strong></th>
|
</div>
|
||||||
<th class="center"><strong>Ticker#</strong></th>
|
|
||||||
<th class="left"><strong>Address</strong></th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td class="center">Monero</td>
|
|
||||||
<td class="center">XMR</td>
|
|
||||||
<td class="left">4ATk6owoMki46CuVfyAHS57FB5deqVFudTsaifQC1cfmcaQemgPEftcjZcW9DmcyfrfdRjxHQ9m4JAVSorYTgm6h8JnT7ao</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td class="center">LBRY/Odysee Credit</td>
|
|
||||||
<td class="center">LBC</td>
|
|
||||||
<td class="left">bDWP6qZajtm9Q9EkryKTorRwKFd5eDbPJj</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</li></ul>-->
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-12 header">
|
<div class="col-4 center border">
|
||||||
<p>
|
<strong class="spacing">Preference 2 - Public Crypto</strong>
|
||||||
|
<p>Donate directly to an address.</p>
|
||||||
|
<div class="header">
|
||||||
|
<br>
|
||||||
|
|
||||||
<strong><code>XMR | Monero</code></strong>
|
<strong><code>XMR | Monero</code></strong>
|
||||||
<ul class="indent"><li>
|
<div class="code"><code>4ATk6owoMki46CuVfyAHS57FB5deqVFudTsaifQC1cfmcaQemgPEftcjZcW9DmcyfrfdRjxHQ9m4JAVSorYTgm6h8JnT7ao</code></div>
|
||||||
<kbd>4ATk6owoMki46CuVfyAHS57FB5deqVFudTsaifQC1cfmcaQemgPEftcjZcW9DmcyfrfdRjxHQ9m4JAVSorYTgm6h8JnT7ao</kbd>
|
<br>
|
||||||
</li></ul>
|
|
||||||
|
|
||||||
<strong><code>BTC | Bitcoin</code></strong>
|
<strong><code>BTC | Bitcoin</code></strong>
|
||||||
<ul class="indent"><li>
|
<div class="code"><code>bc1qsfe8dkvry3d34kztz449gkq67wq8fu2nkgfkh0</code></div>
|
||||||
<kbd>bc1qsfe8dkvry3d34kztz449gkq67wq8fu2nkgfkh0</kbd>
|
<br>
|
||||||
</li></ul>
|
|
||||||
|
|
||||||
<strong><code>LTC | Litecoin</code></strong>
|
<strong><code>LTC | Litecoin</code></strong>
|
||||||
<ul class="indent"><li>
|
<div class="code"><code>ltc1qavmpu5d6ljntxsd6jj548m4yys83zwscl0dzkx</code></div>
|
||||||
<kbd>ltc1qavmpu5d6ljntxsd6jj548m4yys83zwscl0dzkx</kbd>
|
<br>
|
||||||
</li></ul>
|
|
||||||
|
|
||||||
<strong><code>LBC | LBRY/Odysee Credit</code></strong>
|
<strong><code>LBC | Odysee's Coin</code></strong>
|
||||||
<ul class="indent"><li>
|
<div class="code"><code>bDWP6qZajtm9Q9EkryKTorRwKFd5eDbPJj</code></div>
|
||||||
<kbd>bDWP6qZajtm9Q9EkryKTorRwKFd5eDbPJj</kbd>
|
<br>
|
||||||
</li></ul>
|
</div>
|
||||||
<p>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-12 text">
|
<div class="col-4 center border">
|
||||||
<p>Or use the widget below to send me any coin you'd like!</p>
|
<strong class="spacing">Preference 3 - Public USD</strong>
|
||||||
|
<p>Send USD to a fiat-based account.</p>
|
||||||
|
<div class="header">
|
||||||
|
<br>
|
||||||
|
|
||||||
|
<strong><code>Zelle</code></strong>
|
||||||
|
<div class="code">
|
||||||
|
<code>me@hyperling.com</code>
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
|
<img src="/files/media/icons/zelle.png" alt="">
|
||||||
|
</div>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
<strong><code>Venmo</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>
|
||||||
|
<br>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-12 center header">
|
|
||||||
<!-- https://trocador.app/en/anonpayurlgenerator -->
|
|
||||||
<iframe src="https://trocador.app/anonpay/?ticker_to=xmr&network_to=Mainnet&address=4ATk6owoMki46CuVfyAHS57FB5deqVFudTsaifQC1cfmcaQemgPEftcjZcW9DmcyfrfdRjxHQ9m4JAVSorYTgm6h8JnT7ao&donation=True&amount=1337.0&name=Chad&description=Support+Chad+%40+Hyperling&email=me@hyperling,com&ticker_from=doge&network_from=Mainnet&buttonbgcolor=663399&textcolor=cccccc&bgcolor=" width="310" height="350" style="border:0" scrolling="no"></iframe>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
@ -3,20 +3,20 @@
|
|||||||
Page to provide ways people can support me.
|
Page to provide ways people can support me.
|
||||||
-->
|
-->
|
||||||
<?php
|
<?php
|
||||||
|
if (!isset($GLOBALS["HEADER_TITLE"])) {
|
||||||
|
$GLOBALS["HEADER_TITLE"] = "Support";
|
||||||
|
}
|
||||||
include "helpers/body_open.php";
|
include "helpers/body_open.php";
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<h1 class="col-12 title">Support</h1>
|
<h1 class="col-12 title">Support</h1>
|
||||||
</div>
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-12 header center" >
|
<div class="col-12 header center" >
|
||||||
<img src="/files/media/icons/support.jpg">
|
<img src="/files/media/icons/support.jpg" alt="">
|
||||||
</div>
|
</div>
|
||||||
<div class="col-12 text">
|
<div class="col-12 text center">
|
||||||
<p>
|
<p>
|
||||||
Your contributions are completely optional and very much
|
Anything is very much appreciated!! Thank you for considering me!
|
||||||
appreciated. Thank you for considering me and my work!
|
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -4,26 +4,33 @@
|
|||||||
cd `dirname $0`
|
cd `dirname $0`
|
||||||
|
|
||||||
# Create the necessary HTML components for a web page.
|
# Create the necessary HTML components for a web page.
|
||||||
./helpers/body_open.php
|
./helpers/body_open.php | sed -e 's/Hyperling/Hyperling: Test Page!/'
|
||||||
echo -e "\t\t<h1>This is a web page written in BASH!!!</h1>"
|
echo -e "\t\t<div class='row'>"
|
||||||
|
echo -e "\t\t\t<h1 class='col-12 title'>This is a web page written in BASH!!!</h1>"
|
||||||
|
|
||||||
cat << EOF
|
cat << EOF
|
||||||
<p>
|
<p class="col-12 text">
|
||||||
Look at all the fancy things we can do!
|
Look at all the fancy things we can do!
|
||||||
</p>
|
</p>
|
||||||
<h2>Current Time</h2>
|
|
||||||
|
<h2 class="col-12 header">Current Time</h2>
|
||||||
|
<div class="col-12 text">
|
||||||
<p>
|
<p>
|
||||||
We can use the date command to spit out the time!
|
We can use the date command to spit out the time!
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
`date`
|
`date`
|
||||||
</p>
|
</p>
|
||||||
|
</div>
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
# Create a subsection
|
# Create a subsection
|
||||||
echo -e "\t\t<h2>Server Neofetch</h2>"
|
echo -e "\t\t\t<h2 class='col-12 header'>Server Neofetch</h2>"
|
||||||
echo -e "\t\t<p>"
|
echo -en "\t\t\t<p class='col-12 text'>"
|
||||||
neofetch --stdout
|
#neofetch --stdout | sed -e 's/\n/<br>/g'
|
||||||
echo -e "\t\t</p>"
|
echo -n "jk lol"
|
||||||
|
echo -e "</p>"
|
||||||
|
echo -e "\t\t</div>"
|
||||||
|
|
||||||
# Finish the web page
|
# Finish the web page
|
||||||
./helpers/body_close.php
|
./helpers/body_close.php
|
||||||
|
@ -4,5 +4,8 @@
|
|||||||
Deprecated 2024-03-06 for /media.
|
Deprecated 2024-03-06 for /media.
|
||||||
-->
|
-->
|
||||||
<?php
|
<?php
|
||||||
|
if (!isset($GLOBALS["HEADER_TITLE"])) {
|
||||||
|
$GLOBALS["HEADER_TITLE"] = "Videos";
|
||||||
|
}
|
||||||
include "media.php";
|
include "media.php";
|
||||||
?>
|
?>
|
||||||
|
52
run.sh
52
run.sh
@ -21,6 +21,11 @@ function usage {
|
|||||||
exit $1
|
exit $1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function log {
|
||||||
|
message="$1"
|
||||||
|
echo -e "`date` - $message"
|
||||||
|
}
|
||||||
|
|
||||||
## Parameters ##
|
## Parameters ##
|
||||||
|
|
||||||
while getopts ':p:h' opt; do
|
while getopts ':p:h' opt; do
|
||||||
@ -36,18 +41,25 @@ while getopts ':p:h' opt; do
|
|||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
|
if [[ -z $ports ]]; then
|
||||||
|
ports=8080
|
||||||
|
fi
|
||||||
|
|
||||||
## Build Environment ##
|
## Build Environment ##
|
||||||
|
|
||||||
# Ensure we are executing from this file's directory.
|
# Ensure we are executing from this file's directory.
|
||||||
cd $DIR
|
cd $DIR
|
||||||
|
|
||||||
sudo=""
|
sudo=""
|
||||||
|
if [[ -z $LOGNAME ]]; then
|
||||||
|
LOGNAME="`whoami`"
|
||||||
|
fi
|
||||||
if [[ $LOGNAME != "root" ]]; then
|
if [[ $LOGNAME != "root" ]]; then
|
||||||
echo "`date` - Using sudo since user is '$LOGNAME'."
|
log "Using sudo since user is '$LOGNAME'."
|
||||||
sudo="sudo"
|
sudo="sudo"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "`date` - Check if any system dependencies need installed."
|
log "Check if any system dependencies need installed."
|
||||||
if [[ ! `which php` ]]; then
|
if [[ ! `which php` ]]; then
|
||||||
echo "- Installing PHP"
|
echo "- Installing PHP"
|
||||||
$sudo apt-get install -y php-cli
|
$sudo apt-get install -y php-cli
|
||||||
@ -60,9 +72,13 @@ if [[ ! `which npm` ]]; then
|
|||||||
echo "- Installing NPM"
|
echo "- Installing NPM"
|
||||||
$sudo apt-get install -y npm
|
$sudo apt-get install -y npm
|
||||||
fi
|
fi
|
||||||
|
if [[ ! `which curl` ]]; then
|
||||||
|
echo "- Installing Curl"
|
||||||
|
$sudo apt-get install -y curl
|
||||||
|
fi
|
||||||
|
|
||||||
# Directories and allowed page types are executable, others are not.
|
# Directories and allowed page types are executable, others are not.
|
||||||
echo "`date` - Fix any strange file permissions."
|
log "Fix any strange file permissions."
|
||||||
find ./pages/ | while read file; do
|
find ./pages/ | while read file; do
|
||||||
if [[ $file == *".php" || $file == *".sh" || -d $file ]]; then
|
if [[ $file == *".php" || $file == *".sh" || -d $file ]]; then
|
||||||
mode=755
|
mode=755
|
||||||
@ -72,16 +88,40 @@ find ./pages/ | while read file; do
|
|||||||
chmod -c $mode $file
|
chmod -c $mode $file
|
||||||
done
|
done
|
||||||
|
|
||||||
echo "`date` - Check if any node modules need updated/installed."
|
log "Check if any node modules need updated/installed."
|
||||||
npm install
|
npm install
|
||||||
|
|
||||||
|
# Reset generated index files.
|
||||||
|
log "Removing old index files."
|
||||||
|
find files/photos/ -name "*".html -print -delete
|
||||||
|
{
|
||||||
|
count=1
|
||||||
|
http_code=0
|
||||||
|
port="${ports%% *}"
|
||||||
|
photos_uri=":$port/photos/"
|
||||||
|
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
|
||||||
|
log "Finished checking for /photos/."
|
||||||
|
} &
|
||||||
|
|
||||||
## Main ##
|
## Main ##
|
||||||
|
|
||||||
echo "`date` - Start website API."
|
log "Start website API."
|
||||||
node ./main.js $ports
|
node ./main.js $ports
|
||||||
status=$?
|
status=$?
|
||||||
|
|
||||||
## Finish ##
|
## Finish ##
|
||||||
|
|
||||||
echo "`date` - Exiting with status '$status'."
|
log "Exiting with status '$status'."
|
||||||
exit $status
|
exit $status
|
||||||
|
Reference in New Issue
Block a user