commit
e73e84e5dc
43
README.md
43
README.md
@ -1,2 +1,41 @@
|
|||||||
# www
|
# My Website
|
||||||
My Website
|
|
||||||
|
Custom website rather than using WordPress or anything else that handles the code for you.
|
||||||
|
|
||||||
|
Rather than using apache or nginx just using Node.js to serve an HTML API. Gives more control.
|
||||||
|
|
||||||
|
Use HTML and PHP files for the content because it sounds fun and I like challenges.
|
||||||
|
|
||||||
|
Basically a "page" is just a program that echo's HTML content for the API.
|
||||||
|
|
||||||
|
Will likely play with some pages being Bash and other fun things.
|
||||||
|
|
||||||
|
All content is formatted so that the page source is readible.
|
||||||
|
|
||||||
|
# How To Run
|
||||||
|
|
||||||
|
The install script is currently only set up for apt, and the package names only tested on Ubuntu.
|
||||||
|
|
||||||
|
`git clone https://github.com/Hyperling/www www`
|
||||||
|
|
||||||
|
`cd www`
|
||||||
|
|
||||||
|
`./run.sh`
|
||||||
|
|
||||||
|
Then in a web browser, navigate to `your_machines_ip_address:8080`.
|
||||||
|
|
||||||
|
## TODO
|
||||||
|
|
||||||
|
Add New Content
|
||||||
|
- HEALTH (My Priorities Sheet)
|
||||||
|
- How to host files? Put them in reverse-proxy's files.hyperling.com site?
|
||||||
|
- JOURNEY
|
||||||
|
|
||||||
|
## Inspiration
|
||||||
|
|
||||||
|
- [https://liquorix.net/]
|
||||||
|
- The linux-zen kernel, a really great one if you're running FOSS OS's!
|
||||||
|
- [https://cahlen.org/]
|
||||||
|
- Also has really interesting and important content, it is highly recommended.
|
||||||
|
- [https://merkinvineyardsosteria.com/]
|
||||||
|
- A winery website for MJ Keenan.
|
||||||
|
196
main.js
Executable file
196
main.js
Executable file
@ -0,0 +1,196 @@
|
|||||||
|
#!/usr/bin/node
|
||||||
|
'use strict';
|
||||||
|
/*
|
||||||
|
2022-09-14 Hyperling
|
||||||
|
Coding my own website rather than using WordPress or anything bloaty.
|
||||||
|
*/
|
||||||
|
|
||||||
|
//// Libraries ////
|
||||||
|
|
||||||
|
let express = require('express');
|
||||||
|
let app = express();
|
||||||
|
|
||||||
|
const execSync = require('child_process').execSync;
|
||||||
|
|
||||||
|
const fs = require('fs');
|
||||||
|
|
||||||
|
//// Global Variables ////
|
||||||
|
|
||||||
|
const DEBUG = false;
|
||||||
|
|
||||||
|
const app_name = "hyperling.com";
|
||||||
|
|
||||||
|
let pages = [];
|
||||||
|
const pages_dir = "./pages/";
|
||||||
|
const file_types = ["php", "sh"];
|
||||||
|
|
||||||
|
let ports = [];
|
||||||
|
ports.push(8080);
|
||||||
|
|
||||||
|
//// Functions ////
|
||||||
|
|
||||||
|
/* Code exists inside a main function so that we may use async/await.
|
||||||
|
*/
|
||||||
|
async function main() {
|
||||||
|
console.log("...Starting Main...");
|
||||||
|
|
||||||
|
// Getting dates in Node.js is awful, just use Linux.
|
||||||
|
const start_datetime = "" + await execSync('date "+%Y-%m-%dT%H:%M:%S%:z"');
|
||||||
|
const start_datetime_trimmed = start_datetime.trim();
|
||||||
|
|
||||||
|
console.log("Set app to return HTML documents.");
|
||||||
|
app.use(function (req, res, next) {
|
||||||
|
res.contentType('text/html');
|
||||||
|
next();
|
||||||
|
});
|
||||||
|
|
||||||
|
/* Loop through all file in the pages subdirectory and add the allowed
|
||||||
|
// file types into the pages array for automatic router creation.
|
||||||
|
*/
|
||||||
|
console.log("...Starting Main...");
|
||||||
|
let ls = await fs.promises.readdir(pages_dir);
|
||||||
|
if (DEBUG) console.log("DEBUG: Results of ls, ", ls);
|
||||||
|
for (let file of ls) {
|
||||||
|
let file_test = file.split(".");
|
||||||
|
let file_name = file_test[0];
|
||||||
|
let file_type = file_test[file_test.length - 1];
|
||||||
|
if (file_types.includes(file_type)) {
|
||||||
|
if (DEBUG) console.log("DEBUG: Hooray!", file, "is being added.");
|
||||||
|
pages[file_name] = pages_dir + file;
|
||||||
|
console.log(" * Added page", file);
|
||||||
|
} else {
|
||||||
|
if (DEBUG) console.log("DEBUG: ", file, "is not an approved type, skipping.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
console.log(" * Pages loaded: ", pages);
|
||||||
|
//return; // Stop execution FORTESTING
|
||||||
|
|
||||||
|
/* Create both an XML and HTML sitemap based on these entries. XML is used for
|
||||||
|
// bots like SEO scrapers. HTML will be for human users looking for a list of
|
||||||
|
// all pages. Some are not in the menu. Generated an example XML sitemap at
|
||||||
|
// www.xml-sitemaps.com then stripped it apart and made it dynamic.
|
||||||
|
*/
|
||||||
|
let sitemap_xml = `<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<urlset
|
||||||
|
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9
|
||||||
|
http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd"
|
||||||
|
>
|
||||||
|
<url>
|
||||||
|
<loc>https://hyperling.com/</loc>
|
||||||
|
<lastmod>`+start_datetime_trimmed+`</lastmod>
|
||||||
|
<priority>1.00</priority>
|
||||||
|
</url>
|
||||||
|
<url>
|
||||||
|
<loc>https://hyperling.com/sitemap/</loc>
|
||||||
|
<lastmod>`+start_datetime_trimmed+`</lastmod>
|
||||||
|
<priority>0.80</priority>
|
||||||
|
</url>
|
||||||
|
`;
|
||||||
|
let sitemap_html = `
|
||||||
|
<html><body>
|
||||||
|
<strong>Special Pages</strong>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<b>Main Site</b>
|
||||||
|
(<a href="/">Local</a>)
|
||||||
|
(<a href="https://`+app_name+`/">Hardlink</a>)
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<b>XML Site Map</b>
|
||||||
|
(<a href="/sitemap.xml">Local</a>)
|
||||||
|
(<a href="https://`+app_name+`/sitemap.xml">Hardlink</a>)
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<b>HTML Site Map</b>
|
||||||
|
(<a href="/sitemap/">Local</a>)
|
||||||
|
(<a href="https://`+app_name+`/sitemap/">Hardlink</a>)
|
||||||
|
<i>[You are here!]</i>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<strong>Web Pages (Alphabetical)</strong>
|
||||||
|
<ul>
|
||||||
|
`;
|
||||||
|
|
||||||
|
console.log("...Adding Routes...");
|
||||||
|
let router = express.Router();
|
||||||
|
|
||||||
|
/* AUTOMATIC METHOD BASED ON OBJECT/ARRAY OF WEB SCRIPTS
|
||||||
|
// Creates routes with the URL of the key and location of the value.
|
||||||
|
*/
|
||||||
|
for (let key in pages) {
|
||||||
|
console.log(" * Creating router for", key);
|
||||||
|
router.get("/" + key, function (req,res) {
|
||||||
|
console.log(key, "fulfilling request to", req.socket.remoteAddress, "asking for", req.url)
|
||||||
|
res.send("" + execSync(pages[key]));
|
||||||
|
});
|
||||||
|
|
||||||
|
/* Append the page to the sitemap variables.
|
||||||
|
*/
|
||||||
|
console.log(" * * Adding to sitemap.xml");
|
||||||
|
sitemap_xml = sitemap_xml + `
|
||||||
|
<url>
|
||||||
|
<loc>https://hyperling.com/`+key+`/</loc>
|
||||||
|
<lastmod>`+start_datetime_trimmed+`</lastmod>
|
||||||
|
<priority>0.80</priority>
|
||||||
|
</url>
|
||||||
|
`;
|
||||||
|
console.log(" * * Adding to sitemap.html");
|
||||||
|
sitemap_html = sitemap_html + `
|
||||||
|
<li>
|
||||||
|
<b>`+key+`</b>
|
||||||
|
(<a href="/`+key+`/">Local</a>)
|
||||||
|
(<a href="https://`+app_name+`/`+key+`/">Hardlink</a>)
|
||||||
|
</li>
|
||||||
|
`;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Close the sitemap variables
|
||||||
|
*/
|
||||||
|
sitemap_xml = sitemap_xml + `
|
||||||
|
</urlset>
|
||||||
|
`;
|
||||||
|
sitemap_html = sitemap_html + `
|
||||||
|
</ul></body></html>
|
||||||
|
`;
|
||||||
|
|
||||||
|
// Provide sitemap.xml file for "SEO".
|
||||||
|
console.log(" * Creating router for sitemap.xml");
|
||||||
|
router.get('/sitemap.xml', function (req, res) {
|
||||||
|
console.log("sitemap.xml being provided to", req.socket.remoteAddress)
|
||||||
|
res.contentType('text/xml');
|
||||||
|
res.send(sitemap_xml);
|
||||||
|
});
|
||||||
|
|
||||||
|
// Provide human-usable sitemap links.
|
||||||
|
console.log(" * Creating router for sitemap*");
|
||||||
|
router.get('/sitemap*', function (req, res) {
|
||||||
|
console.log("sitemap.html being provided to", req.socket.remoteAddress)
|
||||||
|
res.send(sitemap_html);
|
||||||
|
});
|
||||||
|
|
||||||
|
// Originally a test, now a catch-all redirection to Home!
|
||||||
|
console.log(" * Creating router for redirection");
|
||||||
|
router.get('/*', function (req, res) {
|
||||||
|
// WARNING: These are huge so only look when you need to.
|
||||||
|
//console.log(req);
|
||||||
|
//console.log(res);
|
||||||
|
console.log("*wildcard* replying to", req.socket.remoteAddress, "asking for", req.url)
|
||||||
|
let html = execSync("./pages/home.php");
|
||||||
|
res.send(html);
|
||||||
|
});
|
||||||
|
|
||||||
|
app.use('', router);
|
||||||
|
|
||||||
|
console.log("...Adding Ports...");
|
||||||
|
ports.forEach(port => {
|
||||||
|
app.listen(port);
|
||||||
|
console.log(" * Now listening on port " + port + ".");
|
||||||
|
});
|
||||||
|
console.log("Done! Now we wait...");
|
||||||
|
}
|
||||||
|
|
||||||
|
//// Program Execution ////
|
||||||
|
|
||||||
|
main();
|
5
package.json
Normal file
5
package.json
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"dependencies": {
|
||||||
|
"express": ">=4.18.1"
|
||||||
|
}
|
||||||
|
}
|
62
pages/about.php
Executable file
62
pages/about.php
Executable file
@ -0,0 +1,62 @@
|
|||||||
|
#!/usr/bin/php
|
||||||
|
<?php
|
||||||
|
include "helpers/body_open.php";
|
||||||
|
?>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<h1 class="col-12 title">Who Am I?</h1>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-12 text">
|
||||||
|
<p>
|
||||||
|
Hi there! My name is Chad, I am the primary content creator behind the
|
||||||
|
Hyperling and HyperVegan brands. Thank you for your interest!
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
My hobbies go further than just coding and video making. I am big into
|
||||||
|
health and believe it is humanity's most important asset. I was fortunate
|
||||||
|
to have time off school/work/hobbies in my early 20's was able to lock
|
||||||
|
in a great lifestyle after a life of chronic sickness. See more below in
|
||||||
|
<a href="#health">My Health Protocol</a>,
|
||||||
|
it also includes a link to the full history.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
I am also an avid gardener, focusing on the principles of nature-based
|
||||||
|
permaculture in order to grow fruits and vegetables, like in a Food
|
||||||
|
Forest system. This comes with other outdoor interests such as hiking,
|
||||||
|
camping, backpacking, foraging, and traveling.
|
||||||
|
</p>
|
||||||
|
<!--
|
||||||
|
<p>
|
||||||
|
Currently I reside in the US state of Indiana and am working to move
|
||||||
|
to the southwest, starting in Arizona. Colorado and Mexico will likely
|
||||||
|
be explored. New Mexico and other locations will be visited as well
|
||||||
|
but have not yet revealed areas which offer exactly what I'm looking
|
||||||
|
for.
|
||||||
|
</p>
|
||||||
|
-->
|
||||||
|
<p>
|
||||||
|
As of 2022 I reside in the US state of Indiana and am working to move
|
||||||
|
to the southwest for the following reasons:
|
||||||
|
</p>
|
||||||
|
<ul>
|
||||||
|
<li>Dry Climate</li>
|
||||||
|
<li>Mountains</li>
|
||||||
|
<li>Lack of Bugs</li>
|
||||||
|
<li>Permaculture Possibilities</li>
|
||||||
|
<li>Native Cactus and/or Spruce</li>
|
||||||
|
</ul>
|
||||||
|
<p>
|
||||||
|
The search will begin in Arizona. Colorado and Mexico will likely
|
||||||
|
be explored. New Mexico and other locations will be visited as well.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<?php
|
||||||
|
include "subpages/about/notice.php";
|
||||||
|
include "subpages/about/health.php";
|
||||||
|
include "subpages/about/stance.php";
|
||||||
|
|
||||||
|
include "helpers/body_close.php";
|
||||||
|
?>
|
34
pages/contact.php
Executable file
34
pages/contact.php
Executable file
@ -0,0 +1,34 @@
|
|||||||
|
#!/usr/bin/php
|
||||||
|
<?php
|
||||||
|
include "helpers/body_open.php";
|
||||||
|
?>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<h1 class="col-12 title">Contact Me</h1>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-12 text">
|
||||||
|
<p>
|
||||||
|
Public inquries can be made on my Odysee channel's discussion board.
|
||||||
|
</p>
|
||||||
|
<ul class="indent"><li>
|
||||||
|
<a href="https://odysee.com/@HyperVegan:2?view=discussion"
|
||||||
|
target="_blank" rel="noopener noreferrer"
|
||||||
|
>
|
||||||
|
https://odysee.com/@HyperVegan:2?view=discussion
|
||||||
|
</a>
|
||||||
|
</li></ul>
|
||||||
|
<p>
|
||||||
|
For private matters, my email address may be used, but there is no
|
||||||
|
guarantee of timely response. If I do not know of you then please be
|
||||||
|
sure to form the email in a way that does not look like spam.
|
||||||
|
</p>
|
||||||
|
<ul class="indent"><li>
|
||||||
|
<a href="mailto:me@hyperling.com">me@hyperling.com</a>
|
||||||
|
</li></ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<?php
|
||||||
|
include "helpers/body_close.php";
|
||||||
|
?>
|
4
pages/helpers/advisory.php
Executable file
4
pages/helpers/advisory.php
Executable file
@ -0,0 +1,4 @@
|
|||||||
|
#!/usr/bin/php
|
||||||
|
<div class="row" id="advisory">
|
||||||
|
<!-- No advisories at this moment. -->
|
||||||
|
</div>
|
23
pages/helpers/banner.css
Normal file
23
pages/helpers/banner.css
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
/*** Logo In Header ***/
|
||||||
|
|
||||||
|
/* Shared Attributes */
|
||||||
|
.banner-top, .banner-middle, .banner-bottom {
|
||||||
|
color: white;
|
||||||
|
width: 100%;
|
||||||
|
height: 69px;
|
||||||
|
font-size: 50px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Specific Attributes */
|
||||||
|
.banner-top {
|
||||||
|
background-color: #6633FF;
|
||||||
|
}
|
||||||
|
|
||||||
|
.banner-middle {
|
||||||
|
background-color: #FF9900;
|
||||||
|
}
|
||||||
|
|
||||||
|
.banner-bottom {
|
||||||
|
background-color: #339933;
|
||||||
|
}
|
6
pages/helpers/banner.php
Executable file
6
pages/helpers/banner.php
Executable file
@ -0,0 +1,6 @@
|
|||||||
|
#!/usr/bin/php
|
||||||
|
<div class="row col-12 header">
|
||||||
|
<div class="banner-top">Peace</div>
|
||||||
|
<div class="banner-middle">Love</div>
|
||||||
|
<div class="banner-bottom">Happiness</div>
|
||||||
|
</div>
|
7
pages/helpers/body_close.php
Executable file
7
pages/helpers/body_close.php
Executable file
@ -0,0 +1,7 @@
|
|||||||
|
#!/usr/bin/php
|
||||||
|
<?php
|
||||||
|
include "footer.php"
|
||||||
|
?>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
12
pages/helpers/body_open.php
Executable file
12
pages/helpers/body_open.php
Executable file
@ -0,0 +1,12 @@
|
|||||||
|
#!/usr/bin/php
|
||||||
|
<?php
|
||||||
|
include "header.php";
|
||||||
|
?>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<?php
|
||||||
|
include "banner.php";
|
||||||
|
include "menu.php";
|
||||||
|
include "advisory.php";
|
||||||
|
?>
|
29
pages/helpers/dark.css
Normal file
29
pages/helpers/dark.css
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
/*** Dark Theme ***/
|
||||||
|
body {
|
||||||
|
background-color: #444444;
|
||||||
|
}
|
||||||
|
|
||||||
|
* {
|
||||||
|
color: #CCCCCC;
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
color: #FF9900
|
||||||
|
}
|
||||||
|
|
||||||
|
h1,h2,h3,h4,h5,h6 {
|
||||||
|
color: #6633FF;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header {
|
||||||
|
/*background-color: #113311;*/
|
||||||
|
background-color: #222222;
|
||||||
|
}
|
||||||
|
|
||||||
|
.title {
|
||||||
|
background-color: #111111;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text {
|
||||||
|
background-color: #333333;
|
||||||
|
}
|
16
pages/helpers/footer.php
Executable file
16
pages/helpers/footer.php
Executable file
@ -0,0 +1,16 @@
|
|||||||
|
#!/usr/bin/php
|
||||||
|
<?php
|
||||||
|
include "menu.php"
|
||||||
|
?>
|
||||||
|
<div class="row" id="footer">
|
||||||
|
<div class="col-3"></div>
|
||||||
|
<h6 class="col-3 center">
|
||||||
|
<a href="https://github.com/Hyperling/www/blob/main/LICENSE"
|
||||||
|
target="_blank" rel="noopener noreferrer"
|
||||||
|
>This website is free software! Click to learn more.</a>
|
||||||
|
</h6>
|
||||||
|
<h6 class="col-3 center">
|
||||||
|
<a href="/sitemap/">Full Site Map</a>
|
||||||
|
</h6>
|
||||||
|
<div class="col-3"></div>
|
||||||
|
</div>
|
23
pages/helpers/header.php
Executable file
23
pages/helpers/header.php
Executable file
@ -0,0 +1,23 @@
|
|||||||
|
#!/usr/bin/php
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>Hyperling</title>
|
||||||
|
<!-- TBD move these favicons to files.hyperling.com -->
|
||||||
|
<link rel="icon" sizes="32x32"
|
||||||
|
href="https://www.hyperling.com/wp-content/uploads/2020/09/favicon.ico"
|
||||||
|
/>
|
||||||
|
<link rel="icon" sizes="192x192"
|
||||||
|
href="https://www.hyperling.com/wp-content/uploads/2020/09/favicon.ico"
|
||||||
|
/>
|
||||||
|
<!-- CSS -->
|
||||||
|
<style>
|
||||||
|
<?php include "main.css"; ?>
|
||||||
|
</style>
|
||||||
|
<style>
|
||||||
|
<?php include "dark.css"; ?>
|
||||||
|
</style>
|
||||||
|
<style>
|
||||||
|
<?php include "banner.css"; ?>
|
||||||
|
</style>
|
||||||
|
</head>
|
84
pages/helpers/main.css
Normal file
84
pages/helpers/main.css
Normal file
@ -0,0 +1,84 @@
|
|||||||
|
/*** 2022-09-14 CSS for the website. ***/
|
||||||
|
/* https://www.w3schools.com/Css/css_rwd_grid.asp */
|
||||||
|
|
||||||
|
/* Enable dynamic stuffs, maks the element think its entire size includes padding. */
|
||||||
|
* {
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*** Page Sections ***/
|
||||||
|
/** Page with 12 columns **/
|
||||||
|
.col-1 {width: 8.33%;}
|
||||||
|
.col-2 {width: 16.66%;}
|
||||||
|
.col-3 {width: 25%;}
|
||||||
|
.col-4 {width: 33.33%;}
|
||||||
|
.col-5 {width: 41.66%;}
|
||||||
|
.col-6 {width: 50%;}
|
||||||
|
.col-7 {width: 58.33%;}
|
||||||
|
.col-8 {width: 66.66%;}
|
||||||
|
.col-9 {width: 75%;}
|
||||||
|
.col-10 {width: 83.33%;}
|
||||||
|
.col-11 {width: 91.66%;}
|
||||||
|
.col-12 {width: 100%;}
|
||||||
|
|
||||||
|
[class*="col-"] {
|
||||||
|
float: left;
|
||||||
|
padding: 15px;
|
||||||
|
/*border: 1px solid green;*/ /* FORTESTING otherwise disable */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Ensure columns are respected as if they always exist. */
|
||||||
|
.row::after {
|
||||||
|
content: "";
|
||||||
|
clear: both;
|
||||||
|
display: table;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Make the menu items centered and layout horizontal. **/
|
||||||
|
.menu-list {
|
||||||
|
text-align: center;
|
||||||
|
list-style-type: none;
|
||||||
|
padding-left: 0px;
|
||||||
|
}
|
||||||
|
.menu_item {
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Be able to position anything easily. **/
|
||||||
|
.center {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.left {
|
||||||
|
text-align: start;
|
||||||
|
}
|
||||||
|
.right {
|
||||||
|
text-align: end;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Use ul to create an indent but without the bullet point. **/
|
||||||
|
.indent {
|
||||||
|
list-style-type: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Objects which need borders **/
|
||||||
|
.border {
|
||||||
|
border: 1px solid #339933;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Also have this apply to a table's cells. */
|
||||||
|
.border * th,td {
|
||||||
|
border: 1px solid #339933;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Format tables and allow contents to be broken up. **/
|
||||||
|
table {
|
||||||
|
/*width: 100%;*/
|
||||||
|
border-collapse: collapse;
|
||||||
|
/*table-layout: fixed;*/
|
||||||
|
}
|
||||||
|
table * th,td {
|
||||||
|
word-wrap: break-word;
|
||||||
|
overflow-wrap: break-word;
|
||||||
|
/*max-width: 1px;*/
|
||||||
|
padding: 7px;
|
||||||
|
}
|
12
pages/helpers/menu.php
Executable file
12
pages/helpers/menu.php
Executable file
@ -0,0 +1,12 @@
|
|||||||
|
#!/usr/bin/php
|
||||||
|
<div class="row header">
|
||||||
|
<ul class="menu-list">
|
||||||
|
<li class="col-1"></li>
|
||||||
|
<li class="col-2 menu-item"><a href="/home/">Home</a></li>
|
||||||
|
<li class="col-2 menu-item"><a href="/videos/">Videos</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="/support/">Support</a></li>
|
||||||
|
<li class="col-1"></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
30
pages/home.php
Executable file
30
pages/home.php
Executable file
@ -0,0 +1,30 @@
|
|||||||
|
#!/usr/bin/php
|
||||||
|
<!--
|
||||||
|
Landing page, keeping it apps and development projects like old WordPress site.
|
||||||
|
-->
|
||||||
|
<?php
|
||||||
|
include "helpers/body_open.php";
|
||||||
|
?>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<h1 class="col-12 title">Welcome!</h1>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-12 text">
|
||||||
|
<p>
|
||||||
|
[ Website is still in development, please treat this as an unfinished product. ]
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Thanks for visiting my site! It is the central hub of my activities,
|
||||||
|
linking you to most of my projects and providing ways to contact and
|
||||||
|
support me. I've also included information such as my health protocol
|
||||||
|
which was currently only scattered throughout videos.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<?php
|
||||||
|
include "subpages/home/apps.php";
|
||||||
|
|
||||||
|
include "helpers/body_close.php";
|
||||||
|
?>
|
211
pages/journey.sh
Executable file
211
pages/journey.sh
Executable file
@ -0,0 +1,211 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Move to the directory that this file is in.
|
||||||
|
cd `dirname $0`
|
||||||
|
|
||||||
|
# Create the necessary HTML components for a web page.
|
||||||
|
./helpers/body_open.php
|
||||||
|
|
||||||
|
#Content for this page
|
||||||
|
cat << EOF
|
||||||
|
<div class="row">
|
||||||
|
<h1 class="col-12 title">
|
||||||
|
My Journey
|
||||||
|
</h1>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-12 text">
|
||||||
|
<strong>Fast Asleep</strong>
|
||||||
|
<p>
|
||||||
|
Headaches, depression, digestive issues, lack of energy, and eventually
|
||||||
|
unprovoked anxiety/panic attacks. This was the norm for me for most of
|
||||||
|
my life. I ate a standard diet including fast food with meat always
|
||||||
|
being the main portion whether going out or cooking at home.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Eventually I became lactose intolerant due to antibiotics but that was
|
||||||
|
only a minor inconvenience, and did not always stop me from consuming
|
||||||
|
things anyways. I had tried the pills which are supposed to help but
|
||||||
|
didn't notice any difference. This didn't phase my diet though, just
|
||||||
|
had to ask for "no cheese" and stop drinking milkshakes.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
What finally hit me hard enough to start changing things was the panic
|
||||||
|
attacks and an itchy mole that had to be surgically removed. By this point
|
||||||
|
in my early 20s I was already plenty skeptical of things like organized
|
||||||
|
religion and businesses profiting off of people, but it started to occur
|
||||||
|
to me that there were not many facts about health in my knowledge bank.
|
||||||
|
What most people were doing and what I was doing is not working for us.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
When I looked in the mirror to see my eyes dilating frantically and body
|
||||||
|
feeling shaky and nervous when simply resting or eating a meal I knew that
|
||||||
|
something was wrong. Then it occurred to me: "Why would God or Evolution
|
||||||
|
ever produce a species that thinks of itself as so advanced, but has
|
||||||
|
so many health issues that they consistently die prematurely or suffer
|
||||||
|
chronically?"
|
||||||
|
</p>
|
||||||
|
<strong>Waking Up</strong>
|
||||||
|
<p>
|
||||||
|
This lead me into a more nature-based approach to my lifestyle. Obvious
|
||||||
|
things such as soda and candy were eliminated first. Next was fast food.
|
||||||
|
By the end of it I had eliminated "food" such as meat as well since I
|
||||||
|
admitted that if I was living in the wild, I wouldn't be able to kill
|
||||||
|
a cow with my bare hands or teeth, much less chew on its raw carcass.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
At this point my meals were mostly fruit and vegetables. I didn't really
|
||||||
|
know what I was doing though. I still allowed myself bread, so most meals
|
||||||
|
were oatmeal or peanut butter sandwiches with either jelly or bananas. I
|
||||||
|
was feeling better, but knew that bread didn't grow on trees so I needed
|
||||||
|
to keep going further. This was around the time that a nasty looking and
|
||||||
|
extremely itchy mole had to be cut out of the back of my leg.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
My saving grace was quitting a restaurant job in order to seek a job
|
||||||
|
related to my upcoming career field of Computer Science. This was the
|
||||||
|
summer of 2014 before my final year of school. I had figured out that my
|
||||||
|
hydration was trash and was now drinking at least a gallon of water a day.
|
||||||
|
I didn't have luck finding an internship, but I had plenty of time to
|
||||||
|
research health, and ended up doing an apple fast.
|
||||||
|
</p>
|
||||||
|
<strong>Enter Fruitarianism</strong>
|
||||||
|
<p>
|
||||||
|
I gorged on apples. Multiple pounds a day for at least three days. I
|
||||||
|
honestly did it not expecting it to work. Being able to live on apples
|
||||||
|
seemed like a joke, but I was willing to try it as an experiment. To my
|
||||||
|
surprise I started feeling better and better! By the end I had decided
|
||||||
|
that there was power to this and needed to explore even more!
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
For the following three months I was a 100% raw fruitarian eating as many
|
||||||
|
calories as I could. I followed the advice of many people, mostly vegan
|
||||||
|
athletes such as Durianrider and Freelee, but also others like John Kohler
|
||||||
|
and Dan "The Man" McDonald. Dan also provided lots of good advice on loving
|
||||||
|
oneself and improving mental, emotional, and spiritual life. I also made
|
||||||
|
sure what I was doing was backed by medical staff such as John McDougall.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
I still tell people this to this day: those three months in 2014 were the
|
||||||
|
best feeling of my life. My body felt like lightning. I had so much energy
|
||||||
|
and felt like I could literally accomplish anything. I started riding a bike
|
||||||
|
without having done it since I was a kid, and was able to ride to a town
|
||||||
|
dozens of miles away with no training or practice, and didn't even feel
|
||||||
|
sore. My body was finally to the point that God or Evolution intended!!
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Acne, gone. Skin was glowing and I got many compliments. Suffering from
|
||||||
|
the heat and humidity of summer? Gone as well! My body was able to cool
|
||||||
|
off so much faster without having cooked food stuck in digestion. There
|
||||||
|
were so many weird things that people wouldn't think of being related to
|
||||||
|
diet and lifestyle. Michael Arnstein even mentions in some interviews that
|
||||||
|
being fruitarian stopped him from getting earwax!
|
||||||
|
</p>
|
||||||
|
<strong>Health is a Lifestyle, not Diet</strong>
|
||||||
|
<p>
|
||||||
|
Speaking of lifestyle, that is something else I learned from listening to
|
||||||
|
my new role models. "Sleep Water Sugar" as Durianrider used to say. The
|
||||||
|
<a href="https://files.hyperling.com/Priorities2015.docx" target="_blank">[TBD: PDF]</a>
|
||||||
|
on my main
|
||||||
|
<a href="/about/#health" target="_blank">Health</a>
|
||||||
|
section covers the 6 pillars that I found to be highly important.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
"CTFU" (Carb The Fuck Up) is first for a reason, in my experimentation
|
||||||
|
it was the most important one. Water and sleep follow because I found
|
||||||
|
my body does not operate or digest well if those are missing. Exercise
|
||||||
|
is next because it can go longer without being kept up. The last two
|
||||||
|
are more spiritual, and require the first four to be maintained in
|
||||||
|
order for them to be beneficial, but once they are achieved then they
|
||||||
|
can help keep the first four in check when they dwindle.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
There was a day where I wondered if I was now cured of something and could
|
||||||
|
go back to foods from my old diet. So one night for dinner I ate with my
|
||||||
|
family and had some sort of pasta with meat. After eating I ran an errand,
|
||||||
|
and remember within less than a few minutes, after only getting to the
|
||||||
|
street after our home, I started nodding off at the wheel. What a quick
|
||||||
|
indication that certain foods are a no-go!
|
||||||
|
</p>
|
||||||
|
<strong>Back to the Real World</strong>
|
||||||
|
<p>
|
||||||
|
Why would I stop eating like this, you ask? This was a temporary situation.
|
||||||
|
I was on summer break from school and free from any job. When the fall
|
||||||
|
semester started I needed a job again to pay for gas, books, etc. So I
|
||||||
|
added in clean RawTil4 type foods like rice. For many years I ate like this
|
||||||
|
and still felt great. No oil, which I still don't do to this day. Also no
|
||||||
|
seasoning, I firmly believe in only eating food that you like the taste
|
||||||
|
of alone and would be happy eating as a monomeal. This is one of many
|
||||||
|
reasons I don't like seasonings and prefer not to use them.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Eventually I was corrupted and did end up adding more junk food vegan
|
||||||
|
foods. I tried the fake cheeses, meats, ate food with oils, had processed
|
||||||
|
snacks, etc. During this time though I stuck to the main principles of
|
||||||
|
the PDF, and kept the carb ratio high as well as stayed hydrated and
|
||||||
|
rested. I could tell that the processed food was lowering my energy levels
|
||||||
|
but I remained disease free and was still able to accomplish a lot. I
|
||||||
|
still ate simple meals like fruits and rice when alone but was more
|
||||||
|
willing to go out with coworkers and family to restaurants.
|
||||||
|
</p>
|
||||||
|
<strong>Learning My Sensitivities</strong>
|
||||||
|
<p>
|
||||||
|
There are other things I was able to discover about my body as well when
|
||||||
|
reintroducing cooked foods, such as alliums causing headaches, body pain,
|
||||||
|
nightmares, and with garlic specifically it becomes full-on night terrors.
|
||||||
|
These are an absolute no when I'm able to control it.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Nightshades have also been slowly phased out. I avoid all potato unless
|
||||||
|
deep fried so that the poison is destroyed, although I do try to avoid
|
||||||
|
deep fried food when possible. In 2022 as an experiment with my wife
|
||||||
|
while she tried a low histamine experiment I also found that tomatoes
|
||||||
|
were the reason that my nose has been running consistently for years!
|
||||||
|
I had been blaming bad air, but just goes to show that you can never
|
||||||
|
stop learning! So now even things like tomatoes and non-spicy peppers
|
||||||
|
have been cut out. These are less of an issue, but raw and undercooked
|
||||||
|
potatoes cause an obvious head and body tingle/ache. I've also found
|
||||||
|
that eggplant digests terribly for me.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Stress is also a sensitivity for me. I tend to put myself in my work,
|
||||||
|
so creating a work/life balance is important to prevent me from getting
|
||||||
|
overwhelmed from a needy environment. When deadlines are not realistic
|
||||||
|
or there is just too much work to go around I have learned to accept
|
||||||
|
that it is other's responsibilities to manage these things wisely. If
|
||||||
|
the people saying these things need done are the same people who do not
|
||||||
|
offer overtime compensation or other benefits for overworking then the
|
||||||
|
blame and stress of not accomplishing these things cannot be mine. I
|
||||||
|
cannot accept the responsibility of other people's mismanagement.
|
||||||
|
</p>
|
||||||
|
<strong>Current Lifestyle</strong>
|
||||||
|
<p>
|
||||||
|
Today I lean towards a more RawTilX style diet again. Breakfast consists
|
||||||
|
of fruit, such as a pound or two of apples, or half a pound of dried
|
||||||
|
mango rehydrated for a few hours in water. Lunch is a grain such as
|
||||||
|
rice or quinoa. Dinner is usually a high-vegetable dish and tends to
|
||||||
|
include beans. Sometimes breakfast may be a water or dry fast, the fruit
|
||||||
|
meal is done as lunch, and lunch and dinner are combined into one meal.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Exercise comes and goes. Cycling is no longer a hobby of mine. A normal
|
||||||
|
week will have multiple 20-30 minute dog walks as well as a few strenuous
|
||||||
|
hikes. Yard and garden work also contribute to keeping the body active
|
||||||
|
and strong. It also aids in getting sunand fresh air!
|
||||||
|
</p>
|
||||||
|
<strong>Thank You!</strong>
|
||||||
|
<p>
|
||||||
|
I appreciate you making it through this! Hopefully you've not only learned
|
||||||
|
a thing or two about me, but you've also obtained knowledge that you can
|
||||||
|
help improve your life. That's my goal after all, helping others!
|
||||||
|
Take care, friend. :)
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
EOF
|
||||||
|
|
||||||
|
# Any subpages
|
||||||
|
###./subpages/journey/???
|
||||||
|
|
||||||
|
# Finish the web page
|
||||||
|
./helpers/body_close.php
|
60
pages/subpages/about/health.php
Executable file
60
pages/subpages/about/health.php
Executable file
@ -0,0 +1,60 @@
|
|||||||
|
#!/usr/bin/php
|
||||||
|
<div class="row" id="health">
|
||||||
|
<h2 class="col-12 header">My Health Protocol</h2>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-12 text">
|
||||||
|
<p>
|
||||||
|
I have not been sick since I cleaned up my lifestyle in 2014. No colds,
|
||||||
|
flus, fevers, etc. My suggestions for accomplishing this are simple.
|
||||||
|
Consistently:
|
||||||
|
<ul class="indent">
|
||||||
|
<li>eat enough clean food,</li>
|
||||||
|
<li>drink enough clean water,</li>
|
||||||
|
<li>get enough good sleep, and</li>
|
||||||
|
<li>enjoy a low-stress life.</li>
|
||||||
|
</ul>
|
||||||
|
Unfortunately our society today has many different views on how to
|
||||||
|
do these things, most of which I would say do not work. A full list of
|
||||||
|
my protocol without getting too into the weeds can be found here:
|
||||||
|
</p>
|
||||||
|
<!-- URL/image/something to MyPriorities.pdf on files.hyperling.com -->
|
||||||
|
<a href="https://files.hyperling.com/Priorities2015.docx" target="_blank">
|
||||||
|
Health Is A Priority (PDF Download) [TBD]
|
||||||
|
</a>
|
||||||
|
<p>
|
||||||
|
Other free sources of imformation I recommend would be
|
||||||
|
<a href="https://www.drmcdougall.com/"
|
||||||
|
target="_blank" rel="noopener noreferrer"
|
||||||
|
>Dr John McDougall</a>,
|
||||||
|
<a href="https://www.pcrm.org/about-us/staff/neal-barnard-md-facc"
|
||||||
|
target="_blank" rel="noopener noreferrer"
|
||||||
|
>Dr Neal Barnard</a>, and
|
||||||
|
<a href="https://www.dresselstyn.com/"
|
||||||
|
target="_blank" rel="noopener noreferrer"
|
||||||
|
>Dr Caldwell Esselstyn</a>.
|
||||||
|
All of them have plenty of free videos and resources online, there is
|
||||||
|
no need to buy their books unless you want to support them. They have
|
||||||
|
been reversing sickness for decades and their plans follow a similar
|
||||||
|
whole food carb-based lifestyle such as my own, with NO OIL!
|
||||||
|
</p>
|
||||||
|
<!-- Need to rewrite or remove this to be more positive.
|
||||||
|
<p>
|
||||||
|
Even though I run the brand HyperVegan, I am like the doctors and do
|
||||||
|
not have a strict adherence to the cultism of "veganism". Yes, when I
|
||||||
|
waver from healthy eating I <b><i>always</i></b> keep my diet plant
|
||||||
|
based due to compassion, but I do not and <b><i>will never</i></b>
|
||||||
|
subscribe to an absolutist ideaology which divides people. Think of
|
||||||
|
people shaming others for stepping on ants, accidentally eating gelatin
|
||||||
|
or a certain food coloring, etc. I do what I can for the planet and its
|
||||||
|
beings but am also practical and stay friendly with carnists, just as
|
||||||
|
I am still friendly with statists. The banner at the top of the page
|
||||||
|
is not just for decoration, I truly believe in those values. ;)
|
||||||
|
</p>
|
||||||
|
-->
|
||||||
|
<p>
|
||||||
|
For more information on my specifics and why I came to this lifestyle please visit
|
||||||
|
<a href="/journey/">My Journey</a>.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
23
pages/subpages/about/notice.php
Executable file
23
pages/subpages/about/notice.php
Executable file
@ -0,0 +1,23 @@
|
|||||||
|
#!/usr/bin/php
|
||||||
|
<div class="row" id="notice">
|
||||||
|
<h2 class="col-12 header">Public Notice</h2>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-12 text">
|
||||||
|
<strong>No Guarentee</strong>
|
||||||
|
<p>
|
||||||
|
Anything I say, do, or produce comes with no guarentee or warranty
|
||||||
|
unless explicitly noted.
|
||||||
|
</p>
|
||||||
|
<strong>Freedom of Choice</strong>
|
||||||
|
<p>
|
||||||
|
My time is my own and I choose what to do with it. I am in the process
|
||||||
|
of reclaiming any of it which I feel has been given away in error.
|
||||||
|
</p>
|
||||||
|
<strong>Freedom of Association</strong>
|
||||||
|
<p>
|
||||||
|
I choose who and what I do my business with and hold the right to make
|
||||||
|
different choices at any time.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
39
pages/subpages/about/stance.php
Executable file
39
pages/subpages/about/stance.php
Executable file
@ -0,0 +1,39 @@
|
|||||||
|
#!/usr/bin/php
|
||||||
|
<!-- My stance on philosophy, politics, and non-human entities. -->
|
||||||
|
<div class="row" id="stance">
|
||||||
|
<h2 class="col-12 header">Philosophical Stance</h2>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-12 text">
|
||||||
|
<strong>General</strong>
|
||||||
|
<p>
|
||||||
|
My thoughts are my own. I do not subscribe to any external systems.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
I believe in:
|
||||||
|
</p>
|
||||||
|
<ul>
|
||||||
|
<li>Peace over War</li>
|
||||||
|
<li>Love over Hate</li>
|
||||||
|
<li>Happiness over Currency</li>
|
||||||
|
<li>Free Time over Salaray</li>
|
||||||
|
<li>People over Profit</li>
|
||||||
|
<li>Freedom over Security</li>
|
||||||
|
<li>Rules over Rulers</li>
|
||||||
|
<li>Simplicity over Features</li>
|
||||||
|
<li>Trust over Discipline</li>
|
||||||
|
</ul>
|
||||||
|
<p>
|
||||||
|
I prefer interacting with human beings and creatures of the Earth.
|
||||||
|
Electronics and artifical persons are of decreasing interest to me.
|
||||||
|
</p>
|
||||||
|
<strong>Politics</strong>
|
||||||
|
<p>
|
||||||
|
I would like to be left alone to be a morally responsible adult. I do
|
||||||
|
not choose a side in the divisive hobby known as politics. I follow
|
||||||
|
arbitrary and meaningless rules only to avoid being abused by a
|
||||||
|
fictitious entity called government. I refuse any rules which are
|
||||||
|
immoral such as requiring one to cause harm to another living being.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
145
pages/subpages/home/apps.php
Executable file
145
pages/subpages/home/apps.php
Executable file
@ -0,0 +1,145 @@
|
|||||||
|
#!/usr/bin/php
|
||||||
|
<div class="row" id="programs">
|
||||||
|
<h2 class="col-12 header">My Public Programs</h2>
|
||||||
|
<p class="col-12 text">
|
||||||
|
I write free software! Please feel welcome to browse and use anything I have created.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row" id="android">
|
||||||
|
<h3 class="col-12 header">Android Apps</h3>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row text center">
|
||||||
|
<div class="col-6" id="ctfu">
|
||||||
|
<figure>
|
||||||
|
<a href="https://play.google.com/store/apps/details?id=com.hyperling.carbupbeta"
|
||||||
|
target="_blank" rel="noopener noreferrer">
|
||||||
|
<img width="100%" height="100%" alt="ctfu_image"
|
||||||
|
src="https://www.hyperling.com/wp-content/uploads/2020/09/ctfu.png"
|
||||||
|
/>
|
||||||
|
<figcaption>
|
||||||
|
<p>Carb Up! BETA</p>
|
||||||
|
</a>
|
||||||
|
<p>
|
||||||
|
Calculate cost-effectiveness of 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://files.hyperling.com/apks/CarbUpBeta.apk">APK</a>]
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
TBD:
|
||||||
|
<s>
|
||||||
|
[<a target="_blank" rel="noopener noreferrer">F-Droid</a>]
|
||||||
|
[<a target="_blank" rel="noopener noreferrer">Github</a>]
|
||||||
|
</s>
|
||||||
|
</p>
|
||||||
|
</figcaption>
|
||||||
|
</figure>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-6" id="sleep">
|
||||||
|
<figure>
|
||||||
|
<a href="https://play.google.com/store/apps/details?id=com.hyperling.apps.the45minuterule"
|
||||||
|
target="_blank" rel="noopener noreferrer">
|
||||||
|
<img loading="lazy" width="100%" height="100%" alt="45minuterule"
|
||||||
|
src="https://www.hyperling.com/wp-content/uploads/2020/09/t45mr.png"
|
||||||
|
/>
|
||||||
|
<figcaption>
|
||||||
|
<p>45 Minute Rule</p>
|
||||||
|
</a>
|
||||||
|
<p>
|
||||||
|
Determine when to go to bed if you'd like to wake up during light sleep.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
[<a href="https://play.google.com/store/apps/details?id=com.hyperling.apps.the45minuterule"
|
||||||
|
target="_blank" rel="noopener noreferrer">Play Store</a>]
|
||||||
|
[<a href="https://files.hyperling.com/apks/45MinuteRule.apk">APK</a>]
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
TBD:
|
||||||
|
<s>
|
||||||
|
[<a target="_blank" rel="noopener noreferrer">F-Droid</a>]
|
||||||
|
[<a target="_blank" rel="noopener noreferrer">Github</a>]
|
||||||
|
</s>
|
||||||
|
</p>
|
||||||
|
</figcaption>
|
||||||
|
</figure>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-6" id="timer">
|
||||||
|
<figure>
|
||||||
|
<a href="https://play.google.com/store/apps/details?id=com.hyperling.apps.infinitetimer"
|
||||||
|
target="_blank" rel="noopener noreferrer"
|
||||||
|
>
|
||||||
|
<img loading="lazy" width="100%" height="100%" alt="infinitetimer_image"
|
||||||
|
src="https://www.hyperling.com/wp-content/uploads/2020/09/infinitetimer.png"
|
||||||
|
/>
|
||||||
|
<figcaption>
|
||||||
|
<p>Infinite Timer</p>
|
||||||
|
</a>
|
||||||
|
<p>
|
||||||
|
Play your notification sound at your chosen Hour:Minute:Second interval.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
[<a href="https://play.google.com/store/apps/details?id=com.hyperling.apps.infinitetimer"
|
||||||
|
target="_blank" rel="noopener noreferrer">Play Store</a>]
|
||||||
|
[<a href="https://files.hyperling.com/apks/InfiniteTimer.apk">APK</a>]
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
TBD:
|
||||||
|
<s>
|
||||||
|
[<a target="_blank" rel="noopener noreferrer">F-Droid</a>]
|
||||||
|
[<a target="_blank" rel="noopener noreferrer">Github</a>]
|
||||||
|
</s>
|
||||||
|
</p>
|
||||||
|
</figcaption>
|
||||||
|
</figure>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-6" id="games">
|
||||||
|
<figure>
|
||||||
|
<a href="https://play.google.com/store/apps/details?id=apps.hyperling.com.platformer"
|
||||||
|
target="_blank" rel="noopener noreferrer"
|
||||||
|
>
|
||||||
|
<img loading="lazy" width="100%" height="100%" alt="hypergames_image"
|
||||||
|
src="https://www.hyperling.com/wp-content/uploads/2020/09/hypergames.png"
|
||||||
|
/>
|
||||||
|
<figcaption>
|
||||||
|
<p>
|
||||||
|
HyperGames
|
||||||
|
</p>
|
||||||
|
</a>
|
||||||
|
<p>
|
||||||
|
Began developing some games for fun. Not near a finished state, but "playable".
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
[<a href="https://play.google.com/store/apps/details?id=apps.hyperling.com.platformer"
|
||||||
|
target="_blank" rel="noopener noreferrer">Play Store</a>]
|
||||||
|
[<a href="https://files.hyperling.com/apks/HyperGames.apk">APK</a>]
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
TBD:
|
||||||
|
<s>
|
||||||
|
[<a target="_blank" rel="noopener noreferrer">F-Droid</a>]
|
||||||
|
[<a target="_blank" rel="noopener noreferrer">Github</a>]
|
||||||
|
</s>
|
||||||
|
</p>
|
||||||
|
</figcaption>
|
||||||
|
</figure>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row" id="other">
|
||||||
|
<h3 class="col-12 header">Other Programs</h3>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<p class="col-12 text">
|
||||||
|
For a full list of programs including my Ansible automation,
|
||||||
|
Docker setup, source code for this website, and fun projects
|
||||||
|
like an obfuscating editor and music fixer, check out
|
||||||
|
<a href="https://github.com/Hyperling" target="_blank">My Github</a>.
|
||||||
|
</p>
|
||||||
|
</div>
|
35
pages/subpages/support/donate.php
Executable file
35
pages/subpages/support/donate.php
Executable file
@ -0,0 +1,35 @@
|
|||||||
|
#!/usr/bin/php
|
||||||
|
<!-- How people can support me with currency if they so desire. -->
|
||||||
|
<div class="row" id="donate">
|
||||||
|
<h2 class="col-12 header">Donate</h2>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-12 text">
|
||||||
|
<p>
|
||||||
|
Monetary donations can be provided below through cryptocurrencies.
|
||||||
|
</p>
|
||||||
|
<ul class="indent"><li>
|
||||||
|
<table class="border">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th class="center"><strong>Description</strong></th>
|
||||||
|
<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>
|
64
pages/subpages/support/gifts.php
Executable file
64
pages/subpages/support/gifts.php
Executable file
@ -0,0 +1,64 @@
|
|||||||
|
#!/usr/bin/php
|
||||||
|
<!-- Gift ideas such as dried fruit, teas, etc. -->
|
||||||
|
<div class="row" id="gifts">
|
||||||
|
<h2 class="col-12 header">Gifts</h2>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-12 text">
|
||||||
|
<p>
|
||||||
|
Please reach out before purchasing any of these to make sure that I do
|
||||||
|
not already have an excess supply. I can also provide a good address
|
||||||
|
in case I have moved around. I also recommend you buying these for
|
||||||
|
yourself if you'd like to add delicious nutritious food to your diet!
|
||||||
|
</p>
|
||||||
|
<strong>Food Items</strong>
|
||||||
|
<ul class="indent">
|
||||||
|
<li><a href="https://foodtolive.com/shop/organic-mango-cheeks/"
|
||||||
|
target="_blank" rel="noopener noreferrer"
|
||||||
|
>
|
||||||
|
Mango
|
||||||
|
</a></li>
|
||||||
|
<li><a href="https://foodtolive.com/shop/organic-jasmine-rice/"
|
||||||
|
target="_blank" rel="noopener noreferrer"
|
||||||
|
>
|
||||||
|
Jasmine Rice</a> (tends to be out of stock)
|
||||||
|
</li>
|
||||||
|
<li><a href="https://foodtolive.com/shop/organic-long-grain-white-rice/"
|
||||||
|
target="_blank" rel="noopener noreferrer"
|
||||||
|
>
|
||||||
|
Long Grain White Rice</a> (if jasmine is still out of stock)
|
||||||
|
</li>
|
||||||
|
<li><a href="https://foodtolive.com/shop/organic-green-lentils/"
|
||||||
|
target="_blank" rel="noopener noreferrer"
|
||||||
|
>
|
||||||
|
Lentils</a> (prefer green or brown)
|
||||||
|
</li>
|
||||||
|
<li><a href="https://foodtolive.com/shop/organic-tri-color-quinoa/"
|
||||||
|
target="_blank" rel="noopener noreferrer"
|
||||||
|
>
|
||||||
|
Quinoa</a> (color does not matter)
|
||||||
|
</li>
|
||||||
|
<li><a href="https://foodtolive.com/shop/organic-amaranth/"
|
||||||
|
target="_blank" rel="noopener noreferrer"
|
||||||
|
>
|
||||||
|
Amaranth
|
||||||
|
</a></li>
|
||||||
|
</ul>
|
||||||
|
<strong>Bulk Teas</strong>
|
||||||
|
<ul class="indent">
|
||||||
|
<li><a href="https://www.davidsonstea.com/Tulsi_Pure_Leaves_Loose_Leaf.aspx"
|
||||||
|
target="_blank" rel="noopener noreferrer"
|
||||||
|
>
|
||||||
|
Tulsi
|
||||||
|
</a></li>
|
||||||
|
<li><a href="https://www.davidsonstea.com/South_African_Rooibos_Loose_Leaf.aspx"
|
||||||
|
target="_blank" rel="noopener noreferrer"
|
||||||
|
>
|
||||||
|
Rooibos
|
||||||
|
</a></li>
|
||||||
|
<!--<li><a href="">
|
||||||
|
???
|
||||||
|
</a></li>-->
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
27
pages/support.php
Executable file
27
pages/support.php
Executable file
@ -0,0 +1,27 @@
|
|||||||
|
#!/usr/bin/php
|
||||||
|
<!--
|
||||||
|
Page to provide ways people can support me.
|
||||||
|
-->
|
||||||
|
<?php
|
||||||
|
include "helpers/body_open.php";
|
||||||
|
?>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<h1 class="col-12 title">Support</h1>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-12 text">
|
||||||
|
<p>
|
||||||
|
While I do not ask for anything, and prefer to take care of myself,
|
||||||
|
I acknowledge that some people enjoy gift giving and would like to
|
||||||
|
help me out. Below are my preferred ways to do this.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<?php
|
||||||
|
include "subpages/support/gifts.php";
|
||||||
|
include "subpages/support/donate.php";
|
||||||
|
|
||||||
|
include "helpers/body_close.php";
|
||||||
|
?>
|
29
pages/test.sh
Executable file
29
pages/test.sh
Executable file
@ -0,0 +1,29 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Move to the directory that this file is in.
|
||||||
|
cd `dirname $0`
|
||||||
|
|
||||||
|
# Create the necessary HTML components for a web page.
|
||||||
|
./helpers/body_open.php
|
||||||
|
echo -e "\t\t<h1>This is a web page written in BASH!!!</h1>"
|
||||||
|
cat << EOF
|
||||||
|
<p>
|
||||||
|
Look at all the fancy things we can do!
|
||||||
|
</p>
|
||||||
|
<h2>Current Time</h2>
|
||||||
|
<p>
|
||||||
|
We can use the date command to spit out the time!
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
`date`
|
||||||
|
</p>
|
||||||
|
EOF
|
||||||
|
|
||||||
|
# Create a subsection
|
||||||
|
echo -e "\t\t<h2>Server Neofetch</h2>"
|
||||||
|
echo -e "\t\t<p>"
|
||||||
|
neofetch --stdout
|
||||||
|
echo -e "\t\t</p>"
|
||||||
|
|
||||||
|
# Finish the web page
|
||||||
|
./helpers/body_close.php
|
39
pages/videos.php
Executable file
39
pages/videos.php
Executable file
@ -0,0 +1,39 @@
|
|||||||
|
#!/usr/bin/php
|
||||||
|
<!--
|
||||||
|
Page for my video links.
|
||||||
|
-->
|
||||||
|
<?php
|
||||||
|
include "helpers/body_open.php";
|
||||||
|
?>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<h1 class="col-12 title">Videos</h1>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-12 text">
|
||||||
|
<p>
|
||||||
|
I enjoy making video content when I have free time. Other life duties
|
||||||
|
take priority so this is not always frequent of often. For the best
|
||||||
|
viewing experience, please go directly to my channel here:
|
||||||
|
</p>
|
||||||
|
<ul class="indent"><li>
|
||||||
|
<a href="https://odysee.com/@HyperVegan:2"
|
||||||
|
target="_blank" rel="noopener noreferrer"
|
||||||
|
>
|
||||||
|
https://odysee.com/@HyperVegan:2
|
||||||
|
</a>
|
||||||
|
</li></ul>
|
||||||
|
<p> I also have a separate channel for reposting content, found here:</p>
|
||||||
|
<ul class="indent"><li>
|
||||||
|
<a href="https://odysee.com/@HyperVegan-Reposts:5"
|
||||||
|
target="_blank" rel="noopener noreferrer"
|
||||||
|
>
|
||||||
|
https://odysee.com/@HyperVegan-Reposts:5
|
||||||
|
</a>
|
||||||
|
</li></ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<?php
|
||||||
|
include "helpers/body_close.php";
|
||||||
|
?>
|
31
run.sh
Executable file
31
run.sh
Executable file
@ -0,0 +1,31 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# 2022-09-14 Hyperling
|
||||||
|
# Ensure dependencies are met and start the webserver.
|
||||||
|
|
||||||
|
# Ensure we are executing from this file's directory.
|
||||||
|
cd `dirname $0`
|
||||||
|
|
||||||
|
### Can docker-compose do this rather than running a sh file on the host OS?
|
||||||
|
# Look at Dockerfile-ADD for doing git clones into a docker environment.
|
||||||
|
# Out of scope for this project, this project is just the site, leave for now.
|
||||||
|
if [[ ! `which php` || ! `which node`|| ! `which npm` ]]; then
|
||||||
|
sudo apt install -y php-fpm nodejs npm
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Fix any file permissions
|
||||||
|
# Directories and allowed page types are executable, others are not.
|
||||||
|
find ./pages/ | while read file; do
|
||||||
|
if [[ $file == *".php" || $file == *".sh" || -d $file ]]; then
|
||||||
|
mode=755
|
||||||
|
else
|
||||||
|
mode=644
|
||||||
|
fi
|
||||||
|
chmod -c $mode $file
|
||||||
|
done
|
||||||
|
|
||||||
|
npm install
|
||||||
|
|
||||||
|
./main.js
|
||||||
|
###
|
||||||
|
|
||||||
|
exit $?
|
Loading…
x
Reference in New Issue
Block a user