Compare commits
239 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 011e887dbc | |||
| 849cd8dca9 | |||
| 1c16b836a1 | |||
| 6ad401b951 | |||
| 4451eed3d0 | |||
| 21042fe8e0 | |||
| fd13570a30 | |||
| 1ce075d1f8 | |||
| 2650a586fc | |||
| a2cd6c853c | |||
| ea2d23957d | |||
| a4e02a0c43 | |||
| 80f8880aa9 | |||
| ed79eb891c | |||
| ab7d911937 | |||
| c547eac69e | |||
| 5cffb1ea62 | |||
| 144ce59f3b | |||
| a89665f6a4 | |||
| 9f8ab1d2d5 | |||
| 79ae67a4c0 | |||
| e5854a5778 | |||
| 27da4cbadd | |||
| f6e36aa6c6 | |||
| f9be04dc7d | |||
| 26964d8675 | |||
| de78abd352 | |||
| 6123692906 | |||
| 20f874a586 | |||
| b3531c6f1f | |||
| c3d905aa15 | |||
| 62048fa055 | |||
| b654c9db08 | |||
| 15bf95cdfa | |||
| bbf9428ea9 | |||
| 2a9523a63b | |||
| 0a9c7270fb | |||
| 98db946a83 | |||
| 15850d3c92 | |||
| 04eab8ff39 | |||
| 8d1be5af57 | |||
| 54b7f45754 | |||
| 8b039b54d1 | |||
| 419e8e3383 | |||
| 8729da7efb | |||
| 427018d2c8 | |||
| 70ccf6d733 | |||
| 94c1331121 | |||
| d43b5959bf | |||
| 696a2e635e | |||
| 15edd8f006 | |||
| 98b3edb7a8 | |||
| af0fe569a3 | |||
| 1543c5602f | |||
| a10daf86fd | |||
| 927613629f | |||
| 207f95f374 | |||
| cc40cf9540 | |||
| 8fa2423e98 | |||
| e9a32cced5 | |||
| 2cfef15d49 | |||
| 7a4539fab4 | |||
| b724d280c5 | |||
| 86f5c90096 | |||
| a8a69ea376 | |||
| 5159751b44 | |||
| ca6e98ecef | |||
| 026adf68a5 | |||
| 9ea203b2f7 | |||
| 7da019a2ee | |||
| cc8110901c | |||
| 58ee8ddb68 | |||
| 2362423a87 | |||
| d4e76877e9 | |||
| c53161a723 | |||
| 5098f4ac1e | |||
| 789fd6ec8d | |||
| a7c437c14b | |||
| 73b1f415f6 | |||
| 82b6f78627 | |||
| 4b13c1a771 | |||
| e94792ce04 | |||
| ca54b70d56 | |||
| 0f332ec4ee | |||
| 8c434ab71d | |||
| d836315946 | |||
| 854cdf2fd7 | |||
| 67fcc20a3a | |||
| 2ea3d73112 | |||
| 8d9cee36bf | |||
| c2b53e85d2 | |||
| e60c63626b | |||
| 7b8342eba0 | |||
| d8ef8a370a | |||
| 3f2b174a93 | |||
| 53deccc716 | |||
| 500eee955d | |||
| 0471787ed5 | |||
| 303d51066a | |||
| e67709bb0d | |||
| a9377c0817 | |||
| 03738c6660 | |||
| 0c0d912e4d | |||
| 48c2aeff49 | |||
| c143eae7c5 | |||
| 574715a9a5 | |||
| f16adabe36 | |||
| 20aaa302ad | |||
| 7598116ffa | |||
| 8e7ae95780 | |||
| cad77175e2 | |||
| 4b59058e95 | |||
| a07a87f838 | |||
| d6291eb290 | |||
| 24dcb51281 | |||
| 2e76bf14f2 | |||
| 2178d14790 | |||
| d80b284b2f | |||
| b7c6d8657d | |||
| 2e8ce5b686 | |||
| 1a9d159502 | |||
| 2f1401e085 | |||
| af8e2649b2 | |||
| 867e9f596b | |||
| cac4f0930f | |||
| 41ab07dda9 | |||
| 863814cae4 | |||
| 11d3782660 | |||
| 9d75d03c7a | |||
| 99ac6bc550 | |||
| 45f196b6ca | |||
| 3837fb901f | |||
| 8db8015791 | |||
| 6dafca0137 | |||
| 85c2e0bcf8 | |||
| dbebbc17b8 | |||
| d2189b6d42 | |||
| 7a9d6a6583 | |||
| da010d3962 | |||
| 7861b85a8d | |||
| 6344bca49f | |||
| 6d339429bd | |||
| 22d6555258 | |||
| 81180db034 | |||
| 8e93082439 | |||
| 03dbf09a32 | |||
| 5e342af097 | |||
| 13abde7352 | |||
| c01eff270e | |||
| 4d74d18d40 | |||
| eb5212b724 | |||
| ebb32f84c9 | |||
| 01913fae9e | |||
| cc1ccb0be3 | |||
| f80f37c537 | |||
| 20aedf7567 | |||
| 5e72771e60 | |||
| 7ea4a8f6ef | |||
| 7a92b2499a | |||
| f27273ad83 | |||
| 129ed3313a | |||
| 5ffb04d102 | |||
| 34517a429a | |||
| cfe039bb2c | |||
| f848686503 | |||
| c00c8fda28 | |||
| abbde66cae | |||
| c2d2cc3360 | |||
| e34e6eada3 | |||
| 2685d0f829 | |||
| ead7fc5408 | |||
| c217bfb39a | |||
| 24acf79b10 | |||
| 939af0db20 | |||
| eb3959805f | |||
| 8c536089b1 | |||
| 626af9629e | |||
| feb58e4ff0 | |||
| bd3eb90983 | |||
| 0e316888b8 | |||
| 99827e7328 | |||
| 5e167e8403 | |||
| 0120f08a06 | |||
| b24be4288a | |||
| 3e70e0784f | |||
| e557486cea | |||
| af76888031 | |||
| 3de7c080a9 | |||
| 85dbcaf449 | |||
| 6f4c2bb4d6 | |||
| 0f17647677 | |||
| 7d737ef610 | |||
| 57cb830c7c | |||
| 3d776b0c25 | |||
| 8d09f1e935 | |||
| cb4ebddd33 | |||
| 1092576efe | |||
| a4153918d7 | |||
| cf28512422 | |||
| 03f0921e81 | |||
| e469d3b9cf | |||
| 5d921166b9 | |||
| ea0bd8a4f8 | |||
| 5399675a4b | |||
| 047f8639ab | |||
| 3a51b543c4 | |||
| 7da72175e8 | |||
| 5ad587d954 | |||
| 24f36167ef | |||
| 708259400c | |||
| ef1e1047f4 | |||
| d9190236b8 | |||
| 55f27e21fe | |||
| 7d710e2fa4 | |||
| 1721d50882 | |||
| 1141a33da3 | |||
| f33088d00e | |||
| 0418e22cad | |||
| d4aee13652 | |||
| 886bc684bd | |||
| cb471290a1 | |||
| fe7119a197 | |||
| 95382b4bca | |||
| ef3b783170 | |||
| dea57439ea | |||
| 7b1e539f5b | |||
| d87ecfd8b5 | |||
| dcf874a11a | |||
| 3cb71a0ecd | |||
| e2a28edb3c | |||
| 4dfd00a121 | |||
| 203bc6f63e | |||
| 6e8b96ae04 | |||
| 1499a6b3c5 | |||
| 539a0afe3a | |||
| 47d6142209 | |||
| dae43818f6 | |||
| fc1467de30 | |||
| 6663a571d0 |
1
.gitignore
vendored
@@ -12,4 +12,3 @@ hugo.linux
|
||||
|
||||
# Temporary lock file while building
|
||||
/.hugo_build.lock
|
||||
|
||||
|
||||
6
.gitmodules
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
[submodule "themes/hugo-classic"]
|
||||
path = themes/hugo-classic
|
||||
url = https://github.com/goodroot/hugo-classic
|
||||
[submodule "themes/hello-friend-ng"]
|
||||
path = themes/hello-friend-ng
|
||||
url = https://github.com/rhazdon/hugo-theme-hello-friend-ng.git
|
||||
46
README.md
@@ -1,3 +1,45 @@
|
||||
# hugo-recipes
|
||||
# Hugo Recipes Subsite
|
||||
|
||||
Moving my recipes from a local flash drive to a small and simple website.
|
||||
Orignally created to move my recipes from a local flash drive to a small and simple website.
|
||||
|
||||
# November 2025 - Hijack In Progress
|
||||
|
||||
This website is going to be turned into something bigger, like a blog site of sorts.
|
||||
|
||||
Subdomain is going to be changed to musings., writings., articles., blog., works., or something more appropriate. [TBD/TODO]
|
||||
|
||||
# Project Structure
|
||||
|
||||
## layouts
|
||||
|
||||
### _default
|
||||
|
||||
TBD
|
||||
|
||||
### partials
|
||||
|
||||
TBD
|
||||
|
||||
### Short Codes
|
||||
|
||||
Short codes provide code utility in content files. They can call partials but not other short codes.
|
||||
|
||||
`comment.html` is intentionally blank, it allows comments in content files which do nothing.
|
||||
|
||||
For block comments, use `hide.html` such as:
|
||||
|
||||
```
|
||||
{{< hide >}}
|
||||
lalala
|
||||
|
||||
this is markdown content
|
||||
|
||||
# secret section not published yet
|
||||
|
||||
super duper unfinished content
|
||||
{{< /hide >}}
|
||||
```
|
||||
|
||||
### posts
|
||||
|
||||
Layouts specifically related to content under `/posts/`
|
||||
|
||||
19
archetypes/poetry.md
Normal file
@@ -0,0 +1,19 @@
|
||||
---
|
||||
draft: true
|
||||
pinned: false
|
||||
title: "{{ replace .Name "-" " " | title }}"
|
||||
subtitle: ""
|
||||
author: Bug
|
||||
date: "{{ .Date }}"
|
||||
started:
|
||||
lastmod:
|
||||
toc: true
|
||||
images:
|
||||
tags:
|
||||
- poetry
|
||||
series:
|
||||
- TBD
|
||||
categories:
|
||||
- musings
|
||||
aliases:
|
||||
---
|
||||
19
archetypes/posts.md
Normal file
@@ -0,0 +1,19 @@
|
||||
---
|
||||
draft: true
|
||||
pinned: false
|
||||
title: "{{ replace .Name "-" " " | title }}"
|
||||
subtitle: ""
|
||||
author: authorDefault
|
||||
date: "{{ .Date }}"
|
||||
started:
|
||||
lastmod:
|
||||
toc: true
|
||||
images:
|
||||
tags:
|
||||
- TBD # food, craft, poem, blog
|
||||
series:
|
||||
- TBD
|
||||
categories:
|
||||
- TBD # recipes, musings
|
||||
aliases:
|
||||
---
|
||||
BIN
assets/img/veganarchism.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
5
content/_index.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
title: "Home"
|
||||
---
|
||||
|
||||
Welcome to my recipes site! Feel free to contact [`me at hyperling dot com`](mailto:me@hyperling.com) if you have any questions.
|
||||
5
content/categories/_index.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
title: "All Categories"
|
||||
---
|
||||
|
||||
Categories attributed to recent articles. You may also [view all articles by date here](/posts).
|
||||
3
content/categories/ebooks/_index.md
Normal file
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: eBooks
|
||||
---
|
||||
4
content/posts/_index.md
Normal file
@@ -0,0 +1,4 @@
|
||||
---
|
||||
title: "All Posts"
|
||||
subtitle: "Every article listed chronologically. You may also browse by [category](/categories), [series](/series), or [tag](/tags)."
|
||||
---
|
||||
71
content/posts/blog/is-chad-alive.md
Normal file
@@ -0,0 +1,71 @@
|
||||
---
|
||||
pinned: true
|
||||
draft: true
|
||||
title: "Is Chad Alive??"
|
||||
subtitle: "How to easily check if I'm alive and well!"
|
||||
author: Hyperling
|
||||
date: "2025-11-21T09:00:00-07:00"
|
||||
toc: true
|
||||
tags:
|
||||
- blog
|
||||
series:
|
||||
- solitude
|
||||
categories:
|
||||
- blogposts
|
||||
aliases:
|
||||
- /is-chad-alive
|
||||
---
|
||||
|
||||
**This page has yet to be completed. Please check back later.**
|
||||
|
||||
If you've been sent here because you asked if I'm doing alright, please bookmark this page so that you don't need to ask again. :)
|
||||
|
||||
## Where to find "Signs of Life"
|
||||
|
||||
Here are a few ways to confirm that I'm alive and have been online recently.
|
||||
|
||||
### Most Likely
|
||||
|
||||
#### Code Changes
|
||||
|
||||
I love working on my projects. The longest I'd likely go without changing something is a week. Don't worry about the technical details, just check the timestamps.
|
||||
|
||||
- {{< external-link "https://git.hyperling.com/me?tab=activity" >}}
|
||||
|
||||
#### Written Posts
|
||||
|
||||
This website is new (at least compared to when this article is being posted) and I'm enjoying adding things every few days. Eventually it may just be weekly or biweekly though.
|
||||
|
||||
- {{< external-link "https://works.hyperling.com/posts" "/posts" >}}
|
||||
|
||||
### Somewhat Likely
|
||||
|
||||
#### Odysee Videos
|
||||
|
||||
There's not much rhyme or reason as to when I make videos. Someties there are a few ina week, sometimes only one every quarter or half year. It's a better proof of life than just code and written changes though, I suppose.
|
||||
|
||||
- {{< external-link "https://odysee.com/@HyperVegan:2" >}}
|
||||
|
||||
### Least Likely
|
||||
|
||||
#### Recent Photos
|
||||
|
||||
As of this article I'm well over a year late on posting photos. I've worked on organizing them but it's just not much of a priority. I'll get to them eventually, probably.
|
||||
|
||||
- {{< external-link "https://hyperling.com/photos/" >}}
|
||||
|
||||
## Conclusion
|
||||
|
||||
I really don't like check-ins, please don't ask for them. xD
|
||||
|
||||
Ask me to hang out instead! Or if we're not currently near each other, tell me some cool news and I'll respond when I can.
|
||||
|
||||
I tend to ignore messages such as "Everything alright?". So seriously, don't do it. 😂
|
||||
|
||||
{{% hide %}}
|
||||
- Please see "{{< external-link "Managing Your Emotions" "/stop-projecting-fear-on-me" >}}" to understand why.]
|
||||
{{% /hide %}}
|
||||
|
||||
Otherwise don't be surprised if I take longer to get back to you than others. 😈
|
||||
|
||||
{{% tbd "lalalalla! This is a test! :)" %}}
|
||||
117
content/posts/blog/my-people.md
Normal file
@@ -0,0 +1,117 @@
|
||||
---
|
||||
draft: true
|
||||
pinned: true
|
||||
title: "My People"
|
||||
subtitle: "Searching for Community"
|
||||
author: Bug
|
||||
# date: "2025-11-17T07:30:00-07:00" # Started Notes
|
||||
# date: "2025-11-17T13:30:00-07:00" # Started File
|
||||
date: "2025-11-17T13:30:00-07:00" # Published
|
||||
toc: true
|
||||
images:
|
||||
tags:
|
||||
- blog
|
||||
- freedom
|
||||
- life
|
||||
- care
|
||||
- sobriety
|
||||
- love
|
||||
- courage
|
||||
- patience
|
||||
- athleticism
|
||||
series:
|
||||
- community
|
||||
- friendship
|
||||
- spirituality
|
||||
categories:
|
||||
- musings
|
||||
- pinned
|
||||
aliases:
|
||||
- /my-people
|
||||
- /pinned/my-people
|
||||
---
|
||||
|
||||
**Table of Desired Traits**
|
||||
|
||||
`A few of the characteristics that each individual would demonstrate.`
|
||||
|
||||
| Chakra | Trait | Liberation | Explanation |
|
||||
| :-: | :--: | :-----: | :------------- |
|
||||
| 🤍 🤍 🩷 | [TBD: Service] | Freedom from Materialism | Looks towards improving the life of others rather than the lower self. |
|
||||
| 💜 💜 💜 | Sober | Freedom from Vices | Able to control the Mind so that the Self may remain in control. |
|
||||
| 💙 💙 💙 | Assertive | Freedom from Laziness | Speaks when ideas need voiced; contributes to the collective voice. |
|
||||
| 💚 💚 🖤 | Peaceful | Freedom from Violence | Does not cause harm to others, including non-human entities. |
|
||||
| 💛 💛 💛 | Brave | Freedom from Fear | Can muster strength when required and stand up for Truth when it is threatened. |
|
||||
| 🧡 🧡 🧡 | Patient | Freedom from Assumption | Makes informed decisions and refrains from jumping to harmful conclusions. |
|
||||
| ❤️ ❤️ 🤎 | Fit | Freedom from Pain | Athletic, clean, and capable. Healed from chronic aches and sicknesses. |
|
||||
|
||||
## Prologue
|
||||
|
||||
I have met a few others who live a lifestyle similar to myself. Long term vegans who are active and say No to processed foods. They're physically active, even if older than most people would think possible. Any health ailments are due to stress and lifestyle, and are typically minuscule and considered nearly negligible compared to the current level of health being displayed by the mainstream.
|
||||
|
||||
Yet most the time, since these folks are so far and few, all spread thin across the globe, it is easy to feel that others do not exist. I've visited communities, ashrams, festivals, "healthy" restaurants, trails, gyms, [TBD: X], and [TBD: Y], yet found no place where we are abundant. Most people, even if they have awakened their mind to the madness consuming our world, still remain ignorant when it comes to their Health. They do not fully align themselves with Nature and seek a more natural lifestyle.
|
||||
|
||||
Some of the closest folks I have met with these traits are vegan Hare Krishna monks. Those which are not vegan are typically overweight and sometimes even have a less than desirable attitude towards life or others, which in my opinion does not reflect true Krishna Consciousness, and pushes me further from their "spiritual path", which appears to me as a religion. There is decent overlap with objective moral codes, and there is also oddness and absurdity in some of the rituals which does not align with what I see being truly needed in this world.
|
||||
|
||||
### What I Am Seeking
|
||||
|
||||
Folks who care about themselves or others so much that they are willing to take their lives seriously; improving themselves to be the best being they can while striving to help others in an effort to make the world a better place.
|
||||
|
||||
Gardens, orchards, [TBD: berry patches], and all sorts of ways to grow our own food, foraging what we can't. Tending to both the cultivated crops and the native plants of our surroundings, being a benefactor of the area and allowing it to enjoy our prescence. [TBD: more?]
|
||||
|
||||
Community kitchens, sweat lodges, group activities such as hikes, drum circles, and stargazing. A rotating schedule of checking in on community members to see if they could use a hand in any projects or personal [TBD: problems? emotions? healing? dilemmas?]. [TBD]
|
||||
|
||||
All of this in a respectuful, voluntary, non-culty way which also respects people's desire to take solitude from time to time. Obligatory events would mean coercion, oppression, and violence which have no place in such a group.
|
||||
|
||||
## The Problems
|
||||
|
||||
Truly, going out into society feels like a fairy tale when I am present. People are so far removed from Nature in today's world. I sometimes must pause and remind myself that it's not a dream, and that I too was once living under these conditions.
|
||||
|
||||
### Technology Addictions
|
||||
|
||||
Perfumes and cologne, makeup and [Z]. Many artificial [TBD: objects] exist in the cities which most people are so desensitized to that they don't even notice. Enter the overwhelming obsession with technology. A complete addiction at this point. Even in remote areas such as mountain tops or hike-in hot springs, you will be sure to see smartphones being used to take photos or videos. I see using them as a map as one thing, since the user is in control and the device is a tool for adventure. This new trend feels more like a perversion, a distraction, of what is truly important.
|
||||
|
||||
[Consuming the landscape as a social media [TBD: hit,blurb]], however, feels sacrilege. Insulting. I would rather see the beautiful sunrises and sunsets, waterfalls, forests, hillsides, rivers, and mountain peaks as paintings and drawings, listen to an instrumental piece created in their honor, or hear campfire stories of how amazing it was. When someone puts a digital device in my face to view pictures, they feel mute, dead, and dishonorable compared to the real thing.
|
||||
|
||||
This doesn't even get into video games, television and streaming, etc which also take up obscene amounts of time. Engaging in a distraction here and there can be helpful in reducing stress. Living this way leads to a consumerist attitude and sidebars creative feats and [TBD: ABC'd] endeavors from coming to fruition.
|
||||
|
||||
### Ignorance to Food
|
||||
|
||||
Even if someone is to go vegan, committing themselves to a lifestyle on non-violence to non-human animals, they are likely to continue consuming junk foods. Most people I talk to seem to think that oil is a health food. It is one of the most refined substances in the dietary world, the fatty version of processed sugar. If it does not grow immediately on a plant, then it is not a `Whole Food`. If it is not a `Whole Food`, then it did not come from `Nature`, it has been altered by the industrialized "food" system and has lost many of its beneficial qualities.
|
||||
|
||||
It also still astounds me that things like McDonald's still exist. That people actually go to places such as that, and that they still get enough business to keep them happily popping up all over the place. That people are so oblivious to the Truth that they elect to work in these harmful places and help perpetuate the damage being done to the animals and the planet.
|
||||
|
||||
I enjoy asking people a simple question. "Would you rather live in a garden, or a slaughterhouse?" This can be substituted with many examples which show the direct oppression and duality of the situation.
|
||||
|
||||
| Plant Agriculture | Animal Domination |
|
||||
| :-------: | :-------: |
|
||||
| Orchard | [TBD: hen house thing] |
|
||||
| Farm Field | [TBD: cow pasture] |
|
||||
| [TBD: berry patch??] | [TBD: holding cell] |
|
||||
| [TBD: ] | [TBD: baby animal pen] |
|
||||
|
||||
## The Solutions
|
||||
|
||||
### Get Outside
|
||||
|
||||
We may be born in an artificially lit box with stagnant air in today's times, but that's not how our ancestors came about (unless you get into the theories that we're not from here -- but that's not what this is about 😜). The outdoors were our home before we started constructing our own shelters. This allowed us to move away from locations where we may have been able to survive year-round without fire, clothing, and man-made shade structures.
|
||||
|
||||
Most of us still live somewhere that we can enjoy the outdoors for at least a few of the seasons. Even in the less desirable seasons, there are ways we can improve our comfort and help motivate ourselves to breathe some fresh air while moving our lymphatic system.
|
||||
|
||||
### Electronic Free Time
|
||||
|
||||
Not everyone wants to be a luddite, and that's fine. This blog post is a digitally created piece, after all. There is a time and place for technology in today's world. If a task can be completed without powering on any electronics, consider completing it in an analog way. I personally carry a small notepad and pen rather than a smartphone so that I may still jot down reminders and exchange contact information.
|
||||
|
||||
I also spend certain times of the day and sometimes days of the week without using the Internet, even if I still get on devices in order to work on projects. And some days I avoid using any digital devices and instead choose to read, hike, swim, visit with friends, do camp duties or vehicle maintenance, etc. if you haven;t already tried it, you'll be blown away with how much time there is in the day, and how much you can find to do.
|
||||
|
||||
### Grow Your Own Food
|
||||
|
||||
Don't have a yard, you say? A friend or family member may be wishing they had help with theirs! Many communities also have spaces for raised bed gardening.
|
||||
|
||||
Joining a Master Gardener group was a simple and easy way that I got involved with educating myself on these topics. It required taking a single course which was about a semester long (12 weeks) and you get filled with all the required horticultural, botanical, and soil science knowledge that it takes to then know how to find the answer any gardening type question. That's all a Master Gardener is, not one who knows it all, but one who knows how to find out.
|
||||
|
||||
If there's truly not anywhere to tend to your own plants, perhaps learn foraging instead. This skill is highly efficient at getting you outdoors and you may learn there is quite a bit more food around than you thought!
|
||||
|
||||
## Conclusion
|
||||
|
||||
[TBD]
|
||||
43
content/posts/blog/my-will.md
Normal file
@@ -0,0 +1,43 @@
|
||||
---
|
||||
draft: yes
|
||||
title: "My Will"
|
||||
subtitle: ""
|
||||
author: ""
|
||||
date: TBD
|
||||
tags:
|
||||
- blog
|
||||
series:
|
||||
- public notice
|
||||
categories:
|
||||
- TBD
|
||||
toc: yes
|
||||
aliases:
|
||||
---
|
||||
|
||||
**This page has yet to be completed. Please check back later.**
|
||||
|
||||
## Remains
|
||||
|
||||
### Do Not
|
||||
|
||||
#### Embalm
|
||||
|
||||
#### Wrap In Plastic
|
||||
|
||||
#### Trap In Coffin
|
||||
|
||||
### Please
|
||||
|
||||
#### Toss Into Woods
|
||||
|
||||
#### Burn In Celebration
|
||||
|
||||
## Belongings
|
||||
|
||||
### Liquid Assets
|
||||
|
||||
### Physical Assets
|
||||
|
||||
### Crypto Assets
|
||||
|
||||
### TBD
|
||||
40
content/posts/blog/where-is-chad.md
Normal file
@@ -0,0 +1,40 @@
|
||||
---
|
||||
draft: yes
|
||||
title: "Where is Chad???"
|
||||
date: TBD
|
||||
tags:
|
||||
- blog
|
||||
series:
|
||||
- solitude
|
||||
categories:
|
||||
- blogposts
|
||||
---
|
||||
|
||||
**This page has yet to be completed. Please check back later.**
|
||||
|
||||
## I Enjoy Solitude
|
||||
|
||||
Checking in is not something I enjoy, especially since it direcly impacts my desire to spend time to myself and take extended tech breaks.
|
||||
|
||||
Phone calls are not enjoyable to me and idle texting is not satisfying either. My primary focus in any electronic communications is to make plans to meet in person as efficiently as possible.
|
||||
|
||||
## TBD
|
||||
|
||||
Normally the only people who know where I am are those who are in the same area which are actively making plans with me. Locals in the area which I spend time with also usually know which areas I camp at.
|
||||
|
||||
If you are not in the area and are not actively making plans with me then it is highly unlikely that you will be told my location, even if you ask.
|
||||
|
||||
Please respect my privacy and desire for solitude. Mind your own business. Do good for others rather than projecting fear onto me.
|
||||
|
||||
Thank you for understanding. Peace be with you, and God bless.
|
||||
|
||||
```
|
||||
Hare Krishna
|
||||
Hare Krishna
|
||||
Krishna Krishna
|
||||
Hare Hare
|
||||
Hare Rama
|
||||
Hare Rama
|
||||
Rama Rama
|
||||
Hare Hare
|
||||
```
|
||||
8
content/posts/blog/why-check-ins-are-unhelpful.md
Normal file
@@ -0,0 +1,8 @@
|
||||
---
|
||||
draft: true
|
||||
---
|
||||
|
||||
## 1. It shows a fear-based mentality.
|
||||
### It projects that feat onto me.
|
||||
## 2. It shows a lack of trust.
|
||||
## 3. It shows a lack of support.
|
||||
51
content/posts/books/freedom.md
Normal file
@@ -0,0 +1,51 @@
|
||||
---
|
||||
title: Voluntary Sovereignty
|
||||
date: "2025-09-28T12:00:00-07:00"
|
||||
author: hyperling
|
||||
tags:
|
||||
- books
|
||||
- natural law
|
||||
- morality
|
||||
- ethics
|
||||
- government
|
||||
- love
|
||||
- spirituality
|
||||
- order followers
|
||||
- police
|
||||
- military
|
||||
- anarchism
|
||||
- voluntaryism
|
||||
- peace
|
||||
- prosperity
|
||||
series:
|
||||
- freedom
|
||||
categories:
|
||||
- ebooks
|
||||
aliases:
|
||||
- /freedom
|
||||
- /books/freedom
|
||||
- /voluntary-sovereignty
|
||||
- /books/voluntary-sovereignty
|
||||
TBD:
|
||||
- Change URLs to be external-link.
|
||||
---
|
||||
|
||||
Short eBook and printable booklet succinctly covering Morality and Sovereignty.
|
||||
|
||||
Also covers topics such as police encounters and provides resources for further education.
|
||||
|
||||
___
|
||||
|
||||
Use the links below to download the 4-page PDF:
|
||||
|
||||
- [[PDF] | eBook](https://git.hyperling.com/me/ebook-freedom-flyer/releases/download/latest/VoluntarySovereignty.pdf)
|
||||
- [[PDF] | Booklet](https://git.hyperling.com/me/ebook-freedom-flyer/releases/download/latest/VoluntarySovereignty-booklet-default.pdf)
|
||||
- [[PDF] | Booklet (Duplex Rotations)](https://git.hyperling.com/me/ebook-freedom-flyer/releases/download/latest/VoluntarySovereignty-booklet-rotated.pdf)
|
||||
|
||||
Curious how I made it? Check out its Git repository:
|
||||
|
||||
- [[CODE] | Source Code](https://git.hyperling.com/me/ebook-freedom-flyer)
|
||||
|
||||
Here is the video it was announced in:
|
||||
|
||||
- [[Odysee] | HyperVegan: "Announcements: Skipped Midfest, Voluntary Sovereignty eBook, CheapRVLiving Interview"](https://odysee.com/@HyperVegan:2/20251003-Announcements:0)
|
||||
56
content/posts/books/health.md
Normal file
@@ -0,0 +1,56 @@
|
||||
---
|
||||
title: "Hyperling's Health Protocol"
|
||||
date: "2024-03-07T12:00:00-07:00"
|
||||
author: hypervegan
|
||||
tags:
|
||||
- books
|
||||
- diet
|
||||
- hydration
|
||||
- exercise
|
||||
- sleep
|
||||
- environment
|
||||
- mood
|
||||
- positivity
|
||||
- love
|
||||
- natural law
|
||||
- spirituality
|
||||
series:
|
||||
- health
|
||||
categories:
|
||||
- ebooks
|
||||
aliases:
|
||||
- /health
|
||||
- /books/health
|
||||
- /health-protocol
|
||||
- /books/health-protocol
|
||||
- /health-hyperlings-protocol
|
||||
- /books/hyperlings-health-protocol
|
||||
TBD:
|
||||
- Change URLs to be external-link.
|
||||
---
|
||||
|
||||
I define health as a 6-pillar system based on body dynamics, environment, and mentality. "Hyperling's Health Protocol" is my explanation of how to keep each pillar in peak condition by living as naturally as possible in an industrial world.
|
||||
|
||||
Some advice is common with the mainstream, while others would not be known by the average person. Also contains bonus material and an explanation of my healing achievements. Please enjoy!
|
||||
|
||||
___
|
||||
|
||||
Use the links below to download the 10-page PDF:
|
||||
|
||||
- [[PDF] | eBook](https://git.hyperling.com/me/ebook-health-protocol/releases/download/latest/HyperlingsHealthProtocol.pdf)
|
||||
- [[PDF] | Booklet](https://git.hyperling.com/me/ebook-health-protocol/releases/download/latest/HyperlingsHealthProtocol-booklet-default.pdf)
|
||||
- [[PDF] | Booklet (Duplex Rotations)](https://git.hyperling.com/me/ebook-health-protocol/releases/download/latest/HyperlingsHealthProtocol-booklet-rotated.pdf)
|
||||
|
||||
There is also a 30 minute audio version which can be found here:
|
||||
|
||||
- [[MP3] | Download](https://hyperling.com/files/media/documents/HyperlingsHealthProtocol.mp3)
|
||||
- [[MP3] | Odysee](https://odysee.com/@HyperVegan:2/20240307_MyHealthProtocolAudio:1)
|
||||
|
||||
Curious how I made it? Check out its Git repository:
|
||||
|
||||
- [[CODE] | Source Code](https://git.hyperling.com/me/ebook-health-protocol)
|
||||
|
||||
Other related URLs:
|
||||
|
||||
- [Book Release Announcement | Odysee](https://odysee.com/@HyperVegan:2/20240306_MyHealthProtocol-Book:9)
|
||||
- [Dr. McDougall's Color Picture Book | DrMcDougall.com](https://www.drmcdougall.com/education/information/cpb/)
|
||||
258
content/posts/crafts/wooden-camping-chair.md
Normal file
@@ -0,0 +1,258 @@
|
||||
---
|
||||
title: "Wooden Camping Chair"
|
||||
author: bug
|
||||
date: "2025-09-15"
|
||||
tags:
|
||||
- crafts
|
||||
- wood
|
||||
- woodworking
|
||||
- outdoors
|
||||
- camping
|
||||
series:
|
||||
- chairs
|
||||
categories:
|
||||
- recipes
|
||||
toc: true
|
||||
aliases:
|
||||
- /posts/wooden-camping-chair
|
||||
- /posts/recipes/wooden-camping-chair
|
||||
- /posts/crafts/wooden-camping-chair
|
||||
- /wooden-camping-chair
|
||||
TBD:
|
||||
- Also make the CAD images URLs to the full size resolution.
|
||||
---
|
||||
|
||||
## Video
|
||||
|
||||
{{< odysee
|
||||
"https://odysee.com/%24/embed/%40HyperVegan%3A2%2F20251104-HyperVegan-WoodenCampingChair%3A9?r=4q2dQKSs36tFPf8KCfHEopK8EYPchiaG" >}}
|
||||
|
||||
{{< external-link
|
||||
text="HyperVegan | Wooden Camping Chair"
|
||||
url="https://odysee.com/@HyperVegan:2/20251104-HyperVegan-WoodenCampingChair:9" >}}
|
||||
|
||||
## What You'll Need
|
||||
|
||||
### "Ingredients"
|
||||
|
||||
- 8ft long 2x10 (about $20 USD at Home Depot)
|
||||
- {{< external-link
|
||||
text="`example`"
|
||||
url="https://www.homedepot.com/p/2-in-x-10-in-x-8-ft-2-Premium-Grade-Fir-Dimensional-Lumber-915564/206182030" >}}
|
||||
- 8 2.5in wood screws
|
||||
- {{< external-link
|
||||
text="`example`"
|
||||
url="https://www.homedepot.com/p/DECKMATE-9-2-1-2-in-Black-Exterior-Self-Starting-Star-Drive-Flat-Head-Deck-Screw-1-lb-87-Piece-115923/313358323" >}}
|
||||
|
||||
### Tools
|
||||
|
||||
- circular saw
|
||||
- jigsaw
|
||||
- or oscillating saw
|
||||
- or wood boring spade bit + folding saw
|
||||
- or anything else which can sculpt holes
|
||||
- smoothing device such as hand axe, knife, sandpaper, or file
|
||||
- drill
|
||||
- 1/8in drill bit or similar (for wood screw pilot holes)
|
||||
- bit for your woodscrews (such as t25 star drive or phillips)
|
||||
|
||||
I used a circular saw on the long cuts and corner cuts, otherwise on my first chair I only had a folding saw and hand axe to bore out the seat hole.
|
||||
|
||||
A jigsaw would have been great and I purchased one shortly thereafter. I've also helped someone who used an oscillating saw.
|
||||
|
||||
I've tried using a reciprocating saw but it did not seem precise enough for this project.
|
||||
|
||||
## Basic Cuts
|
||||
|
||||
1. Cut in half, 48 inches in length each side.
|
||||
1. Decide which piece will be the backrest vs seat based on knots, cracks, etc.
|
||||
1. Also decide which side will be the front vs back, and top vs bottom, for each board.
|
||||
|
||||
The coordinates provided assume the 2x10 is functionally 9in wide, but it may be up to 9.25 inches in practice. So if it says ~9, it means the right edge of the board, and ~7 would be 2 inches away from the right edge.
|
||||
|
||||
### Back Piece
|
||||
|
||||
```
|
||||
.....................
|
||||
| | | |
|
||||
3---|-----------|---4
|
||||
| 5 X X X X X 6 |
|
||||
1---|-----------|---2
|
||||
| | | |
|
||||
| |
|
||||
| |
|
||||
| |
|
||||
| |
|
||||
| |
|
||||
|___________________|
|
||||
Coordinates:
|
||||
P1 ( 0, 13)
|
||||
P2 (~9, 13)
|
||||
P3 ( 0, 14.5)
|
||||
P4 (~9, 14.5)
|
||||
P5 ( 2, [13,14.5])
|
||||
P6 (~7, [13,14.5])
|
||||
```
|
||||
|
||||
1. Measure 13 inches up from the bottom on the backrest board and draw a horizontal line. (P1 + P2)
|
||||
1. Measure another 1.5 inches above that and draw a horizontal line. (P3 + P4)
|
||||
1. Measure 2 inches in from each side and draw vertical lines. (P5 + P6)
|
||||
1. Mark this on the other side of the board so that it can be managed from both directions.
|
||||
1. Use your tool(s) of preference to bore out the hole evenly from both sides. (X'd portion)
|
||||
|
||||
Cutting out the portion can be done with a jigsaw, oscillating saw, wood boring spade set and folding saw, a hatchet, etc.
|
||||
|
||||
### Seat Piece
|
||||
|
||||
```
|
||||
_____________________
|
||||
| X 4 6 X |
|
||||
|X X| |X X|
|
||||
| X 4 6 X |
|
||||
|X X| |X X|
|
||||
| X 4 6 X |
|
||||
.....................
|
||||
| X 4 6 X |
|
||||
|X X| |X X|
|
||||
| X 4 6 X |
|
||||
|X X| |X X|
|
||||
1---3-----------5---2
|
||||
| | | |
|
||||
| |
|
||||
| |
|
||||
| |
|
||||
| |
|
||||
| |
|
||||
|___________________|
|
||||
Coordinates:
|
||||
P1 ( 0, 13)
|
||||
P2 (~9, 13)
|
||||
P3 ( 2, 13)
|
||||
P4 ( 2, >13)
|
||||
P5 (~7, 13)
|
||||
P6 (~7, >13)
|
||||
```
|
||||
|
||||
1. Measure 13 inches back from the front of the seat and draw a horizontal line. (P1 + P2)
|
||||
1. Measure 2 inches in from each side and draw vertical lines all the way to the end of the board. (P3 to P4, P5 to P6)
|
||||
1. You now have the two areas to cut off of the seat board. (X'd portions)
|
||||
1. Try fitting it into the back. Use whatever tools necessary to clean up the hole or shave off the edges of the seat insert. I used a folding saw to open up the hole and a hand axe to shave the insert.
|
||||
|
||||
Keep these scrap pieces if you wish to add a carrying and storage case to the back.
|
||||
|
||||
## Useful Cuts
|
||||
|
||||
Technically the chair is now fully functional. I kept it simple like this for a few weeks before opting for a few more changes.
|
||||
|
||||
### Seat Comfort
|
||||
|
||||
Removing the corners from the seat allows your legs to rest more naturally. It also helps with other positions like sitting cross legged.
|
||||
|
||||
```
|
||||
.....................
|
||||
| |
|
||||
| |
|
||||
1--__ __--2
|
||||
|X X \__ __/ X X|
|
||||
|_X_X_X_3___4_X_X_X_|
|
||||
Coordinates:
|
||||
P1 ( 0, 2)
|
||||
P2 (~9, 2)
|
||||
P3 ( 3, 0)
|
||||
P4 (~6, 0)
|
||||
```
|
||||
|
||||
1. From each front corner of the seat, measure 2 inches back (P1 + P2) and 3 inches towards the front center (P3 + P4).
|
||||
2. For each side, draw lines from the edge point to the front point.
|
||||
3. Cut off the corners and smooth the edges with a hand axe, sandpaper, or other edging device.
|
||||
|
||||
I also did this to the top of the backrest for aesthetics. This also helped it fit better in the van and gave a slight reduction in weight.
|
||||
|
||||
### Floor Stability
|
||||
|
||||
The 9 inch base tends to wobble a bit. This helps it be much steadier.
|
||||
|
||||
```
|
||||
.....................
|
||||
| |
|
||||
| |
|
||||
| _4--3--5_ |
|
||||
| / X X X X \ |
|
||||
|___1_X_X_X_X_X_2___|
|
||||
Coordinates:
|
||||
P1 (2, 0)
|
||||
P2 (7, 0)
|
||||
P3 (4.5, 1.5)
|
||||
P4 (3, 1.5)
|
||||
P5 (6, 1.5)
|
||||
```
|
||||
|
||||
1. At the bottom of the backrest board, measure in 2 inches from each side and mark these points. (POINTS 1 and 2)
|
||||
1. Find the middle of the board, around 4.5 to 4.6 inches, and mark it vertically.
|
||||
1. Measure up 1.5 inches from the center vertical line and mark horizontally. (POINT 3)
|
||||
1. Measure in 3 inches from each side and mark them vertically (POINTS 4 and 5)
|
||||
1. Draw lines from P1 to P4, P2 to P5, and then from P4 to P5 which should pass through P3. See the diagram.
|
||||
1. Remove the section below the bottom lines. (X'd portion)
|
||||
|
||||
On my first chair I used a circular saw to do P1 to P4 and P2 to P5, then a folding saw to start cutting out chunks and eventually make it from P4 to P5. A jigsaw would probably work great.
|
||||
|
||||
## Storage & Carrying Case
|
||||
|
||||
I personally choose to eyeball most of this work.
|
||||
|
||||
```
|
||||
B B
|
||||
B S S B
|
||||
B S S S S B
|
||||
S S S S S S
|
||||
S S S S S S
|
||||
S S S S S S
|
||||
B O O O O B
|
||||
B L S S L B
|
||||
B L S S L B
|
||||
. . . . . .
|
||||
B L S S L B
|
||||
B L S S L B
|
||||
B O O O O B
|
||||
B B S S B B
|
||||
B S S B
|
||||
Legend:
|
||||
S: Seat
|
||||
B: Back
|
||||
L: Long Frame Pieces
|
||||
O: Short Frame Pieces
|
||||
```
|
||||
|
||||
1. On each seat scrap piece, cut off 8.5 inches.
|
||||
1. Lay the backrest piece on its front, so that its backside is facing up.
|
||||
1. Place the seat on top, lining up the sitting part with the top of the backrest.
|
||||
1. The long scrap pieces are approximately 1.5in x 2in x 26.5in. Place the shorter sides of these (1.5in) against the back piece along the sides of the backrest, parallel to the seat leg.
|
||||
1. The short scrap pieces are about 1.5in x 2in x 8.5in. They sit on the ends of the long pieces, over the seat leg, so that the seat can slide in and out of the frame. Place them with the 2in sides facing down.
|
||||
1. At each corner of the frame where the short pieces are sitting on the long pieces, drill a pilot hole and add a 2.5in screw or similar.
|
||||
1. After carefully aligning the seat and having the frame centered, attach the long pieces to the backrest with pilot holes and more 2.5in screws just below where the short pieces were joined.
|
||||
|
||||
If done properly the seat should now be contained within the carry handles, and is also able to slide up and out. It also allows the seat to function as a short bench or table.
|
||||
|
||||
{{< external-link
|
||||
text="The video discusses the back frame at 07:35 if you'd like to see an example"
|
||||
url="https://odysee.com/@HyperVegan:2/20251104-HyperVegan-WoodenCampingChair:9?t=455"
|
||||
>}}.
|
||||
|
||||
## CAD Schematics
|
||||
|
||||
{{< external-link
|
||||
text="A friend drew up images for the build"
|
||||
url="https://odysee.com/@HyperVegan:2/20251104-HyperVegan-WoodenCampingChair:9?lc=56c1f4fcf38db6a5584215e6db24ce4ca02afe1eb76648da6a8f5f827d6198ab" >}}
|
||||
, they're included below. Feel free to use them!
|
||||
|
||||
### Back Rest
|
||||
|
||||
{{< image-with-fallback alt="Back rest image failed to load. :("
|
||||
img1="https://thumbnails.odycdn.com/optimize/s:0:0/quality:85/plain/https://i.postimg.cc/T1XMdZxr/2x10-backrest-dimensions.webp"
|
||||
img2="/img/viking-chair/2x10-backrest-dimensions.webp" >}}
|
||||
|
||||
### Seat
|
||||
|
||||
{{< image-with-fallback alt="Seat image failed to load. :("
|
||||
img1="https://thumbnails.odycdn.com/optimize/s:0:0/quality:85/plain/https://i.postimg.cc/d07z8qtH/2x10-seat-dimensions.webp"
|
||||
img2="/img/viking-chair/2x10-seat-dimensions.webp" >}}
|
||||
28
content/posts/poetry/birthday-2025.md
Normal file
@@ -0,0 +1,28 @@
|
||||
---
|
||||
title: "Birthday 2025"
|
||||
subtitle: ""
|
||||
author: Bug
|
||||
date: "2025-11-15T09:00:00-07:00"
|
||||
toc: false
|
||||
images:
|
||||
tags:
|
||||
- poetry
|
||||
series:
|
||||
- birthday
|
||||
categories:
|
||||
- musings
|
||||
aliases:
|
||||
---
|
||||
|
||||
To the tune of "Happy Birthday."
|
||||
|
||||
{{% audio src="/audio/poetry/birthday-2025.aac" %}}
|
||||
|
||||
> Happy Birthday to me, <br>
|
||||
> I hiked up Rice Peak! <br>
|
||||
> I spent the whole day alone, <br>
|
||||
> and without using a phone!
|
||||
>
|
||||
> -- {{% author "bug" %}}
|
||||
|
||||
On the day after my birthday I gave myself the gift of a large hike and no means of communication. :)
|
||||
26
content/posts/poetry/friends.md
Normal file
@@ -0,0 +1,26 @@
|
||||
---
|
||||
title: "Friends"
|
||||
author: Bug
|
||||
date: "2025-11-04T10:00:00-07:00"
|
||||
toc: false
|
||||
images:
|
||||
tags:
|
||||
- poetry
|
||||
series:
|
||||
- friendship
|
||||
categories:
|
||||
- musings
|
||||
---
|
||||
|
||||
{{% audio src="/audio/poetry/friends.aac" %}}
|
||||
|
||||
> Friend, friend, what is a friend? <br>
|
||||
> Surely much more than a means to an end!
|
||||
>
|
||||
> Someone to care, someone to dare. <br>
|
||||
> Someone you trust to borrow your chair!
|
||||
>
|
||||
> What a dilemma, to find such a one. <br>
|
||||
> And then once you've done it -- enjoy the fun!
|
||||
>
|
||||
> -- {{% author "bug" %}}
|
||||
39
content/posts/poetry/gullible.md
Normal file
@@ -0,0 +1,39 @@
|
||||
---
|
||||
title: "Gullible"
|
||||
subtitle: ""
|
||||
author: Bug
|
||||
date: "2025-11-16T06:30:00-07:00"
|
||||
toc: false
|
||||
images:
|
||||
tags:
|
||||
- poetry
|
||||
series:
|
||||
- truth
|
||||
categories:
|
||||
- musings
|
||||
aliases:
|
||||
---
|
||||
|
||||
{{% audio src="/audio/poetry/gullible.aac" %}}
|
||||
|
||||
> They give you a whale, <br>
|
||||
> a big fairy tale. <br>
|
||||
> You don't take it to heart, <br>
|
||||
> but that's not the bad part...
|
||||
>
|
||||
> The common folk, <br>
|
||||
> they believe it until they choke. <br>
|
||||
> They act it out <br>
|
||||
> as if they don't know how to doubt
|
||||
>
|
||||
> Convincing them otherwise -- <br>
|
||||
> good luck with that. <br>
|
||||
> They're not open minded enough to change <br>
|
||||
> and may come at you with a bat!
|
||||
>
|
||||
> We shouldn't give up though, <br>
|
||||
> no matter how tough it gets. <br>
|
||||
> Disseminating the truth, <br>
|
||||
> until it's all that exists.
|
||||
>
|
||||
> -- {{< author "bug" >}}
|
||||
30
content/posts/poetry/self-love.md
Normal file
@@ -0,0 +1,30 @@
|
||||
---
|
||||
title: "Self Love"
|
||||
subtitle: ""
|
||||
author: Bug
|
||||
date: "2025-11-16T06:00:00-07:00"
|
||||
toc: false
|
||||
images:
|
||||
tags:
|
||||
- poetry
|
||||
series:
|
||||
- spirituality
|
||||
categories:
|
||||
- musings
|
||||
aliases:
|
||||
---
|
||||
|
||||
{{% audio src="/audio/poetry/self-love.aac" %}}
|
||||
|
||||
> Life is an incredible thing to cherish <br>
|
||||
> all the way until we perish.
|
||||
>
|
||||
> There are ups and downs every here and there, <br>
|
||||
> and it's all determined by Mind if we choose to care.
|
||||
>
|
||||
> If ever there were a thing to do: <br>
|
||||
> let your expectations go; <br>
|
||||
> don't take things personally; <br>
|
||||
> and learn to be best friends -- with You.
|
||||
>
|
||||
> -- {{% author "bug" %}}
|
||||
45
content/posts/recipes/dahl-zucchini-seasoned.md
Normal file
@@ -0,0 +1,45 @@
|
||||
---
|
||||
title: "Simple Dahl w/ Zucchini"
|
||||
author: HyperVegan
|
||||
date: "2025-09-01"
|
||||
tags:
|
||||
- food
|
||||
- pressure cooker
|
||||
- rice
|
||||
- lentils
|
||||
- dahl
|
||||
- vegetables
|
||||
- curry
|
||||
- black pepper
|
||||
- clove
|
||||
- ginger
|
||||
series:
|
||||
- "curries"
|
||||
categories:
|
||||
- "recipes"
|
||||
aliases:
|
||||
- /posts/dahl-zucchini-seasoned
|
||||
- /posts/recipes/dahl-zucchini-seasoned
|
||||
---
|
||||
|
||||
## Ingredients
|
||||
|
||||
- 1.5 cups green lentils
|
||||
- 1 cup rice
|
||||
- 5 cups water
|
||||
|
||||
## Seasonings
|
||||
|
||||
- 7 cracks black pepper
|
||||
- 7 cloves
|
||||
- ginger to taste (half pinky to full thumb)
|
||||
- 2 zucchinis, chopped or sliced
|
||||
|
||||
## Directions
|
||||
|
||||
1. soak overnight (12 hours) in 5+ cups water
|
||||
1. drain and rinse
|
||||
1. pressure cook with 5 cups of water for 20 minutes on high (bean setting)
|
||||
1. allow to release pressure naturally (15-20 minutes)
|
||||
|
||||
Enjoy!
|
||||
59
content/posts/recipes/refried-pinto-beans.md
Normal file
@@ -0,0 +1,59 @@
|
||||
---
|
||||
title: "Refried Pinto Beans"
|
||||
subtitle: "Nightshade Free Pasta / Pizza Sauce!"
|
||||
author: HyperVegan
|
||||
date: "2025-11-16T14:00:00-07:00"
|
||||
toc: true
|
||||
images:
|
||||
tags:
|
||||
- food
|
||||
- beans
|
||||
- dip
|
||||
- sauce
|
||||
- pizza
|
||||
- pasta
|
||||
- pinto bean
|
||||
- oregano
|
||||
- black pepper
|
||||
- thyme
|
||||
series:
|
||||
- beans
|
||||
- sauces
|
||||
- dips
|
||||
categories:
|
||||
- recipes
|
||||
TBD:
|
||||
- Change URLs to be external-link.
|
||||
---
|
||||
|
||||
Here's something which can be a main, side, dip, sauce, or whatever!
|
||||
|
||||
## Ingredients
|
||||
|
||||
- 7oz bag instant refried pinto beans
|
||||
- [Natural Grocer's](https://www.naturalgrocers.com/products/beans-instant-rfrd-pinto-org-7-oz)
|
||||
- 750ml or 4 cups of water
|
||||
|
||||
### Seasonings
|
||||
|
||||
- 0.5 tsp oregano
|
||||
- 0.5 tsp thyme
|
||||
- 7 cracks black pepper
|
||||
|
||||
Double these for a bolder flavor.
|
||||
|
||||
## Directions
|
||||
|
||||
1. Bring water to rolling boil.
|
||||
1. Add pinto beans and seasonings.
|
||||
1. Stir continuously until beans come to a boil.
|
||||
1. Turn off heat and continue to stir until beans are no longer bubbling.
|
||||
1. Allow to cool until desired texture / temperature is reached, 15-20 minutes.
|
||||
- Stirring occasionally helps speed this up.
|
||||
- Use a lid once the texture is where you'd like it.
|
||||
1. Beans may be used as soon as they're the desired texture.
|
||||
- If eating as a dip, also ensure the temperature is safe.
|
||||
|
||||
Best used thinner for sauces and thicker for dips. If going on a pizza, keep in mind that the oven will help thicken the beans up even more. If used for pasta then ensure it's about the same consistency as it should be served at.
|
||||
|
||||
I use an electric pressure cooker on Brown/Saute to do the boiling. If I don't stir it after it stops boiling then I leave the unit on Keep Warm for 30 minutes without a lid which helps evaporate more water if I want it thick.
|
||||
215
content/posts/tech/apple-debian-wireless-issues.md
Normal file
@@ -0,0 +1,215 @@
|
||||
---
|
||||
title: "Apple Wireless Issues on Debian 13 (Trixie)"
|
||||
subtitle: ""
|
||||
author: Hyperling
|
||||
date: "2025-11-19T13:00:00-07:00"
|
||||
toc: true
|
||||
images:
|
||||
tags:
|
||||
- tech
|
||||
- networking
|
||||
- linux
|
||||
- wireless
|
||||
- apple
|
||||
- macbook air
|
||||
- kernel
|
||||
- broadcom
|
||||
- bcm4360
|
||||
- wl
|
||||
- dkms
|
||||
- wireless-tools
|
||||
- iwconfig
|
||||
- uname
|
||||
- modprobe
|
||||
- lsmod
|
||||
- lspci
|
||||
- debian
|
||||
- trixie
|
||||
series:
|
||||
- sysadmin
|
||||
categories:
|
||||
- guides
|
||||
aliases:
|
||||
---
|
||||
|
||||
## Disclaimer
|
||||
|
||||
This article assumes that your system has had the wireless card working on Debian recently.
|
||||
|
||||
I have a Macbook Air 7,2 (early 2015, i5) with a BCM4360 [14e4:43a0] and use the `wl` driver.
|
||||
|
||||
``` console
|
||||
$ sudo apt list broadcom*
|
||||
broadcom-sta-common/stable 6.30.223.271-26 amd64
|
||||
broadcom-sta-dkms/stable,now 6.30.223.271-26 amd64 [installed]
|
||||
broadcom-sta-source/stable 6.30.223.271-26 amd64
|
||||
```
|
||||
|
||||
I do not have experience with other Mac devices, the Debian wiki and forums are your best bet if this article does not apply to you.
|
||||
{{< external-link "Debian Wiki: Macbook Wireless" "https://wiki.debian.org/MacBook/Wireless" >}}
|
||||
|
||||
## Introduction -- Define the Problem
|
||||
|
||||
If your wireless card is no longer being recognized on a Debian device, ensure the latest version of the Linux kernel came with its headers.
|
||||
|
||||
I'm not sure why this happened, but it was when the kernel version jumped from `6.12.41` to `6.12.43` that its symptoms showed up. I had already migrated from Bookworm to Trixie and thought I had went through a few kernel updates since then without issues, but wasn't sure.
|
||||
|
||||
Later versions such as `6.12.48` and `6.12.57` continued to get pulled and I'd try them before having to reboot back to `6.12.41`. While booted into the newer kernel versions `/sbin/iwconfig` would show no wireless network and GNOME didn't have a Wi-Fi button listed in the Settings app nor its system menu. Then I tried this:
|
||||
|
||||
``` console
|
||||
$ sudo modprobe wl
|
||||
modprobe: FATAL: Module wl not found in directory /lib/modules/6.12.57+deb13-amd64
|
||||
```
|
||||
|
||||
After realizing that the `wl` module wasn't being loaded I thought maybe there was a packaging issue. I was confused since it said it was not found, even though I knew it was installed since it was still working if I booted to the older installed kernel versions. I saw no error when the new versions were being installed, either. And thus began my discovery...
|
||||
|
||||
## Solution -- Install Headers Automagically
|
||||
|
||||
Ubuntu provides the packages `linux-image-generic` and `linux headers-generic`. Debian names them slightly different.
|
||||
|
||||
``` bash
|
||||
sudo apt install linux-image-amd64 linux-headers-amd64 --reinstall
|
||||
```
|
||||
|
||||
Some sources say that Debian has no generic/meta package for the kernel and its headers. I can't find any information as to the release date of these to confirm or deny that claim.
|
||||
|
||||
I'm just glad they work to now keep the headers installed automatically! I've since added the packages to my provisioning setup.
|
||||
|
||||
## Still Not Working?
|
||||
|
||||
If you're still having problems then it may be something else.
|
||||
|
||||
Some good troubleshooting commands are below, as well as examples of when I was running them trying to troubleshoot my system.
|
||||
|
||||
- `uname -a`
|
||||
- `lspci -vnn | grep -i net`
|
||||
- `/sbin/iwconfig`
|
||||
- `lsmod`
|
||||
- `modprobe`
|
||||
- `apt list`
|
||||
|
||||
### Example -- Missing Kernel Headers (6.12.57)
|
||||
|
||||
``` console
|
||||
[user@hostname ~]$ uname -a
|
||||
Linux debian 6.12.57+deb13-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.57-1 (2025-11-05) x86_64 GNU/Linux
|
||||
[user@hostname ~]$
|
||||
```
|
||||
|
||||
``` console
|
||||
[user@hostname ~]$ lspci -vnn | grep -i net
|
||||
03:00.0 Network controller [0280]: Broadcom Inc. and subsidiaries BCM4360 802.11ac Dual Band Wireless Network Adapter [14e4:43a0] (rev 03)
|
||||
[user@hostname ~]$
|
||||
```
|
||||
``` console
|
||||
[user@hostname ~]$ /sbin/iwconfig
|
||||
lo no wireless extensions.
|
||||
|
||||
docker0 no wireless extensions.
|
||||
|
||||
[user@hostname ~]$
|
||||
```
|
||||
|
||||
``` console
|
||||
[user@hostname ~]$ lsmod | grep wl
|
||||
[user@hostname ~]$
|
||||
```
|
||||
|
||||
``` console
|
||||
[user@hostname ~]$ sudo modprobe wl
|
||||
modprobe: FATAL: Module wl not found in directory /lib/modules/6.12.57+deb13-amd64
|
||||
[user@hostname ~]$
|
||||
```
|
||||
|
||||
``` console
|
||||
[user@hostname ~]$ sudo apt list broadcom*
|
||||
broadcom-sta-common/stable 6.30.223.271-26 amd64
|
||||
broadcom-sta-dkms/stable,now 6.30.223.271-26 amd64 [installed]
|
||||
broadcom-sta-source/stable 6.30.223.271-26 amd64
|
||||
[user@hostname ~]$
|
||||
```
|
||||
|
||||
### Example -- Wireless Working Correctly (6.12.41)
|
||||
|
||||
``` console
|
||||
[user@hostname ~]$ uname -a
|
||||
Linux debian 6.12.41+deb13-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.41-1 (2025-08-12) x86_64 GNU/Linux
|
||||
[user@hostname ~]$
|
||||
```
|
||||
|
||||
``` console
|
||||
[user@hostname ~]$ lspci -vnn | grep -i net
|
||||
03:00.0 Network controller [0280]: Broadcom Inc. and subsidiaries BCM4360 802.11ac Dual Band Wireless Network Adapter [14e4:43a0] (rev 03)
|
||||
[user@hostname ~]$
|
||||
```
|
||||
|
||||
``` console
|
||||
[user@hostname ~]$ /sbin/iwconfig
|
||||
lo no wireless extensions.
|
||||
|
||||
wlp3s0 IEEE 802.11 ESSID:"Private :)"
|
||||
Mode:Managed Frequency:2.412 GHz Access Point: na:na:na:na:na:na
|
||||
Retry short limit:7 RTS thr:off Fragment thr:off
|
||||
Power Management:off
|
||||
|
||||
wg0-vpn no wireless extensions.
|
||||
|
||||
docker0 no wireless extensions.
|
||||
|
||||
[user@hostname ~]$
|
||||
```
|
||||
|
||||
``` console
|
||||
[user@hostname ~]$ lsmod | grep wl | sort
|
||||
cfg80211 1392640 1 wl
|
||||
wl 6459392 0
|
||||
[user@hostname ~]$
|
||||
```
|
||||
|
||||
``` console
|
||||
[user@hostname ~]$ sudo modprobe wl
|
||||
[user@hostname ~]$
|
||||
```
|
||||
|
||||
|
||||
### Example -- Wireless Working Correctly (6.12.57)
|
||||
|
||||
``` console
|
||||
[user@hostname ~]$ uname -a
|
||||
Linux debian 6.12.57+deb13-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.57-1 (2025-11-05) x86_64 GNU/Linux
|
||||
[user@hostname ~]$
|
||||
```
|
||||
|
||||
``` console
|
||||
[user@hostname ~]$ lspci -vnn | grep -i net
|
||||
03:00.0 Network controller [0280]: Broadcom Inc. and subsidiaries BCM4360 802.11ac Dual Band Wireless Network Adapter [14e4:43a0] (rev 03)
|
||||
[user@hostname ~]$
|
||||
```
|
||||
|
||||
``` console
|
||||
[user@hostname ~]$ /sbin/iwconfig
|
||||
lo no wireless extensions.
|
||||
|
||||
wlp3s0 IEEE 802.11 ESSID:"Private :)"
|
||||
Mode:Managed Frequency:2.412 GHz Access Point: na:na:na:na:na:na
|
||||
Retry short limit:7 RTS thr:off Fragment thr:off
|
||||
Power Management:off
|
||||
|
||||
wg0-vpn no wireless extensions.
|
||||
|
||||
docker0 no wireless extensions.
|
||||
|
||||
[user@hostname ~]$
|
||||
```
|
||||
|
||||
``` console
|
||||
[user@hostname ~]$ lsmod | grep wl | sort
|
||||
cfg80211 1392640 1 wl
|
||||
wl 6459392 0
|
||||
[user@hostname ~]$
|
||||
```
|
||||
|
||||
``` console
|
||||
[user@hostname ~]$ sudo modprobe wl
|
||||
[user@hostname ~]$
|
||||
```
|
||||
105
content/posts/tech/linux-laptop.md
Normal file
@@ -0,0 +1,105 @@
|
||||
---
|
||||
draft: false
|
||||
pinned: false
|
||||
title: "Linux Laptop"
|
||||
subtitle: "Buying a device with Linux pre-installed."
|
||||
author: Hyperling
|
||||
date: "2025-12-08T07:00:00-07:00"
|
||||
started: "2025-12-04T11:38:00-07:00"
|
||||
lastmod:
|
||||
toc: true
|
||||
images:
|
||||
tags:
|
||||
- tech
|
||||
- laptop
|
||||
- desktop
|
||||
- linux
|
||||
- Debian
|
||||
- Arch
|
||||
- Ubuntu
|
||||
- Dell
|
||||
- Lenovo
|
||||
series:
|
||||
- sysadmin
|
||||
categories:
|
||||
- advice
|
||||
aliases:
|
||||
---
|
||||
|
||||
## Introduction
|
||||
|
||||
I was recently contacted for advice on for buying a laptop with Linux already installed. Below is my response as well as some extra thoughts on the subject.
|
||||
|
||||
## Laptop Advice
|
||||
|
||||
> Howdy!! Thanks for reaching out about this! From my experience the preinstalled Linux sphere is usually expensive gaming, developer, or other specialty type systems for enthusiasts. (NovaCustom, System76, Purism)
|
||||
>
|
||||
> The Pinebook Pro is the only budget device for daily driving that I can think of, and you may be able to buy an SD card with an OS preinstalled. It has an ARM processor rather than a normal desktop type processor, but depending on what you're doing it may not matter, like for web browsing.
|
||||
>
|
||||
> It looks like both Lenovo and Dell allow choosing Ubuntu and maybe other Linux distributions when configuring some of their laptops. It knocks down the price some too since they don't have to license out a proprietary OS. This option would probably be ideal for someone with no tech background. There may be other companies too.
|
||||
>
|
||||
> [https://www.lenovo.com/us/en/d/deals/custom/?visibleDatas=1014%3ALaptops%3B699%3ALinux&sortBy=priceUp](https://www.lenovo.com/us/en/d/deals/custom/?visibleDatas=1014%3ALaptops%3B699%3ALinux&sortBy=priceUp)
|
||||
>
|
||||
> [https://www.dell.com/en-us/shop/dell-laptops/scr/laptops/appref=ubuntu-linux-os?sortBy=price-ascending](https://www.dell.com/en-us/shop/dell-laptops/scr/laptops/appref=ubuntu-linux-os?sortBy=price-ascending)
|
||||
>
|
||||
> Otherwise I've always bought the device which fits my needs best and then wiped it and installed the OS of my choosing. Used laptops are great for that if you don't want big tech companies getting kickbacks from places like Best Buy which sell laptops with licensed OS's.
|
||||
>
|
||||
> Linux can run on most hardware, and can give life back to devices over 10 years old which people thought were too slow to be useful anymore. I'd avoid Apple since they can be a pain to set up. Otherwise anything with a working battery, screen, and keyboard would be fine. If it has 8GB of RAM or more then it will have plenty of power for today's needs.
|
||||
>
|
||||
> Also, I recommend keeping backups of important documents on an external flash or hard drive in case of drive failure. Especially if going the used device route. Private cloud storage can be okay too if you trust the owner. Most drives last a long time but I've been burned by one going out early, it's not fun. 🙃
|
||||
>
|
||||
> I'd love to hear what you end up doing! Let me know if you have any other questions. :)
|
||||
|
||||
## Final Thoughts
|
||||
|
||||
The requester already had a refurbished laptop and opted to back up their files to an external device and give installing the OS a go.
|
||||
|
||||
If you have a spare USB drive, the process is fairly simply. There are applications for putting the installer on the flash drive, then you just plug it in and reboot the device. When it shows the laptop's brand name on the screen, you press a button, usually F10 or similar, choose the USB device, then follow the prompts from the installer.
|
||||
|
||||
There are plenty of guides on how to do this. I've listed a few below. It can be a very educational process, especially if you already have some experience at the terminal or with Linux in general. Then once you get fairly experienced, installing a system like Arch is extremely rewarding and teaches you a lot about what it actually takes to make a distribution and what all the running components are under the hood.
|
||||
|
||||
All in all, getting away from big tech is highly recommended. Windows, MacOS, and ChromeOS are all spyware meant to keep you in a locked down consumerist cycle. iOS and Google Android are no better. Liberating your devices by installing a FLOSS operating system! As of this writing I choose to use Debian on my desktops and servers, and on my smartphones I run LineageOS with microG.
|
||||
|
||||
Feel free to give me a holler if you make a dive into this sphere and need any pointers! :)
|
||||
|
||||
## Installation Guides (Desktop)
|
||||
|
||||
Walkthroughs of how to put a new operating system on your device.
|
||||
|
||||
### Beginner
|
||||
|
||||
- Ubuntu
|
||||
- {{% external-link "https://ubuntu.com/tutorials/install-ubuntu-desktop#1-overview" %}}
|
||||
- Pop!_OS
|
||||
- {{% external-link "https://support.system76.com/articles/install-pop/" %}}
|
||||
- Linux Mint
|
||||
- {{% external-link "https://linuxmint-installation-guide.readthedocs.io/en/latest/" %}}
|
||||
|
||||
### Intermediate
|
||||
|
||||
- Debian
|
||||
- {{% external-link "https://www.debian.org/releases/trixie/arm64/" %}}
|
||||
- Fedora
|
||||
- Shorter: {{% external-link "https://docs.fedoraproject.org/en-US/fedora/latest/getting-started" %}}
|
||||
- Detailed: {{% external-link "https://docs.fedoraproject.org/en-US/fedora/f36/install-guide/" %}}
|
||||
- openSUSE
|
||||
- {{% external-link "https://doc.opensuse.org/documentation/leap/startup/html/book-startup/art-opensuse-installquick.html" %}}
|
||||
|
||||
### Advanced
|
||||
|
||||
- Arch Linux
|
||||
- {{% external-link "https://wiki.archlinux.org/title/Installation_guide" %}}
|
||||
- FreeBSD
|
||||
- {{% external-link "https://docs.freebsd.org/en/books/handbook/bsdinstall/" %}}
|
||||
|
||||
## Installation Guides (Mobile)
|
||||
|
||||
### Beginner
|
||||
|
||||
- GrapheneOS
|
||||
- {{% external-link "https://grapheneos.org/install/" %}}
|
||||
|
||||
### Intermediate
|
||||
|
||||
- LineageOS
|
||||
- {{% external-link "https://wiki.lineageos.org/" %}}
|
||||
47
content/posts/tech/ssh-keys.md
Normal file
@@ -0,0 +1,47 @@
|
||||
---
|
||||
title: "SSH Key Access"
|
||||
subtitle:
|
||||
author: hyperling
|
||||
date: "2025-11-13T20:00:00-07:00"
|
||||
tags:
|
||||
- tech
|
||||
- networking
|
||||
- linux
|
||||
- ssh
|
||||
series:
|
||||
- sysadmin
|
||||
categories:
|
||||
- guides
|
||||
aliases:
|
||||
---
|
||||
|
||||
How to set up an SSH key and use it to access a remote machine.
|
||||
|
||||
### Generate Key
|
||||
|
||||
``` bash
|
||||
ssh-keygen
|
||||
```
|
||||
|
||||
### Copy the Key
|
||||
|
||||
``` bash
|
||||
ssh-copy-id [-p port_nbr] username@server_or_IP
|
||||
```
|
||||
|
||||
So this may look like one of the below.
|
||||
|
||||
``` bash
|
||||
ssh-copy-id sftp@12.34.56.78
|
||||
ssh-copy-id -p 2222 leethaxor@pwnnoobs.pro
|
||||
```
|
||||
|
||||
### Profit
|
||||
|
||||
Now you should be able to log in or copy files without needing to type a password.
|
||||
|
||||
``` bash
|
||||
ssh [-p port_nbr] username@server_or_IP
|
||||
scp [-P port_nbr] username@server_or_IP:file_to_pull local_path_to_save
|
||||
scp [-P port_nbr] local_path_to_send username@server_or_IP:remote_path_to_save
|
||||
```
|
||||
147
content/posts/tech/system-hardening.md
Normal file
@@ -0,0 +1,147 @@
|
||||
---
|
||||
title: "System Hardening"
|
||||
subtitle: "Preventing Hacks"
|
||||
author: Hyperling
|
||||
date: "2025-11-13T21:00:00-07:00"
|
||||
tags:
|
||||
- tech
|
||||
- hacking
|
||||
- cracking
|
||||
- exploit
|
||||
- networking
|
||||
- lynis
|
||||
- nmap
|
||||
- metasploit
|
||||
series:
|
||||
- sysadmin
|
||||
categories:
|
||||
- guides
|
||||
toc: true
|
||||
#toc_start_level: 2
|
||||
#toc_end_level: 5
|
||||
---
|
||||
|
||||
## Tips on System Penetration Testing
|
||||
|
||||
How to check for system vulnerabilities through self-audits.
|
||||
|
||||
*A few of these tools can be used offensively. It is bad etiquette to use them on systems which you do not own. Please respect others and do not attempt to cause harm.*
|
||||
|
||||
### Lynis
|
||||
|
||||
Local testing suite which not only tests for security weaknesses, but also that best practices are being used in a POSIX environment (UNIX/Linux type standard).
|
||||
|
||||
#### Install
|
||||
|
||||
This program is best installed as root.
|
||||
|
||||
``` bash
|
||||
sudo su -
|
||||
git clone https://github.com/CISOfy/lynis /opt/lynis
|
||||
chmod -R 644 /opt/lynis
|
||||
chmod 755 /opt/lynis/lynis
|
||||
```
|
||||
|
||||
#### Testing
|
||||
|
||||
It is also best run as root, and executed from the install directory.
|
||||
|
||||
``` bash
|
||||
sudo su -
|
||||
cd /opt/lynis
|
||||
./lynis audit system
|
||||
```
|
||||
|
||||
If placing the contents into a file, you'll want to disable the colors to prevent unreadable special characters meant for terminal output.
|
||||
|
||||
``` bash
|
||||
./lynis audit system --no-colors > /root/lynis_results.txt 2>&1
|
||||
```
|
||||
|
||||
#### Results
|
||||
|
||||
The output has a human readable section of results which give a description and ID for anything which is found. Suggestions are the lowest priority, with Found and Warning being the more important items to correct.
|
||||
|
||||
### NMap
|
||||
|
||||
***This tool can be considered aggressive and should not be used against any systems you do not own or have explicit permission to test against.***
|
||||
|
||||
#### Setup
|
||||
|
||||
Install `nmap` from your package manager.
|
||||
|
||||
- Debian Distros
|
||||
``` bash
|
||||
sudo apt update && sudo apt install -y nmap
|
||||
```
|
||||
- Fedora Distros
|
||||
``` bash
|
||||
sudo dnf install -y nmap
|
||||
```
|
||||
- Arch Distros
|
||||
``` bash
|
||||
sudo pacman -Syq nmap
|
||||
```
|
||||
|
||||
#### Testing
|
||||
|
||||
**Never run the `-A` parameter against an unsuspecting system.**
|
||||
|
||||
Run this command to get a detailed summary of ports with an attackable surface:
|
||||
|
||||
``` bash
|
||||
nmap -A -p- --script=vuln server_or_IP
|
||||
```
|
||||
|
||||
To simply see the open ports on a device, you may use the `--open` parameter:
|
||||
|
||||
``` bash
|
||||
nmap --open server_or_IP
|
||||
```
|
||||
|
||||
This program executes more quickly if run from the local machine by using `localhost`, `127.0.0.1`, `0.0.0.0`, etc.
|
||||
|
||||
If you'd like the output saved into a file, pipe it with `>` to your desired directory.
|
||||
|
||||
For example, to place a local vulnerability scan into your Downloads directory:
|
||||
|
||||
``` bash
|
||||
nmap -A -p- --script=vuln localhost > ~/Downloads/nmap_report.txt 2>&1
|
||||
```
|
||||
|
||||
#### Resolving Discoveries
|
||||
|
||||
If any vulnerabilities show up they usually come with a CVE which can be researched, such as `CVE-2007-6750`.
|
||||
|
||||
There are many reputable sites which come up when placing this in a search engine.
|
||||
{{< external-link
|
||||
text="cve.org"
|
||||
url="https://www.cve.org" >}}
|
||||
is also supposed to be a good centralized repository,
|
||||
|
||||
Here are examples for the provided ID.
|
||||
|
||||
- {{< external-link
|
||||
text="www.suse.com/security/cve/CVE-2007-6750.html"
|
||||
url="https://www.suse.com/security/cve/CVE-2007-6750.html" >}}
|
||||
- {{< external-link
|
||||
text="www.cve.org/CVERecord?id=CVE-2007-6750"
|
||||
url="https://www.cve.org/CVERecord?id=CVE-2007-6750" >}}
|
||||
|
||||
Most vulnerabilities are fixed by upgrading software, migrating to safer software, and by following best practices such as not exposing databases to the Internet.
|
||||
|
||||
### Metasploit
|
||||
|
||||
***This tool IS aggressive and should NEVER be used against any systems you do not own or have explicit permission to test against.*** **Thank you.**
|
||||
|
||||
I recommend playing with Metasploit if you have extra time so that you can learn how easy it is to penetrate an exploit once it is found with NMap.
|
||||
|
||||
- {{< external-link
|
||||
text="www.metasploit.com"
|
||||
url="https://www.metasploit.com/" >}}
|
||||
|
||||
Please be sure to test against your own machines, such as setting up a VM running an old Ubuntu LTS, starting up some services like CUPS, SSH, Apache, etc.
|
||||
|
||||
There are also VMs available such as Metasplotable 2 and 3 which come with the attack surfaces already set up for you.
|
||||
|
||||
This what "script kiddies" use to crack systems and "hack" people. From my experience it makes the process very easy.
|
||||
6
content/tags/_index.md
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
title: "All Tags"
|
||||
#subtitle: "Chronologically posted tags."
|
||||
---
|
||||
|
||||
Tags attributed to recent articles. You may also [view all articles by date here](/posts).
|
||||
4
content/tags/books/_index.md
Normal file
@@ -0,0 +1,4 @@
|
||||
---
|
||||
title: Books
|
||||
subtitle: eBooks I've authored to date.
|
||||
---
|
||||
4
content/tags/crafts/_index.md
Normal file
@@ -0,0 +1,4 @@
|
||||
---
|
||||
title: "Crafts"
|
||||
subtitle: "Fun projects with useful outputs. ^_^"
|
||||
---
|
||||
6
content/tags/food/_index.md
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
title: "Food"
|
||||
subtitle: "Recipes which have kept me sickness free and athletic since 2014!"
|
||||
---
|
||||
|
||||
I cook high carb low fat (HCLF) whole food plant based (WFPB) meals. My allergens mostly overlap with items which cannot be fed to dogs or rabbits. This includes alliums [onion, garlic], nightshades [tomatos, peppers, eggplant, potato], grapes, caffeine, etc.
|
||||
4
content/tags/poetry/_index.md
Normal file
@@ -0,0 +1,4 @@
|
||||
---
|
||||
title: "Poetry"
|
||||
subtitle: "Poems with audio readings."
|
||||
---
|
||||
4
content/tags/tech/_index.md
Normal file
@@ -0,0 +1,4 @@
|
||||
---
|
||||
title: "Tech"
|
||||
subtitle: "Guides for computer related topics. 🤓"
|
||||
---
|
||||
186
hugo.yaml
Normal file
@@ -0,0 +1,186 @@
|
||||
# 2025-11-21 Changed to be YAML rather than TOML. Much easier to understand.
|
||||
|
||||
### My Params ###
|
||||
|
||||
baseURL: '/'
|
||||
languageCode: 'en-us'
|
||||
title: "Hyperling's Works"
|
||||
subtitle: "My recipes, blogposts, musings, and more."
|
||||
|
||||
#paginate = 25
|
||||
paginate: 99999
|
||||
|
||||
markup:
|
||||
goldmark:
|
||||
# Allow direct HTML.
|
||||
renderer:
|
||||
unsafe: true
|
||||
|
||||
# Prevent URLs from becoming links which open in the same tab.
|
||||
extensions:
|
||||
linkify: false
|
||||
|
||||
tableOfContents:
|
||||
endLevel: 4
|
||||
ordered: false
|
||||
startLevel: 2
|
||||
|
||||
### End My Params ###
|
||||
|
||||
|
||||
### Theme ###
|
||||
# Seems pretty good, just need to add more config params so it acts better.
|
||||
theme: "hello-friend-ng"
|
||||
|
||||
# Main Documentation
|
||||
# https://github.com/rhazdon/hugo-theme-hello-friend-ng/blob/master/docs/config.md
|
||||
|
||||
# Favicon documentation for this theme.
|
||||
# https://github.com/rhazdon/hugo-theme-hello-friend-ng/blob/master/docs/favicons.md
|
||||
# Generator
|
||||
# https://realfavicongenerator.net/your-favicon-is-ready
|
||||
|
||||
## Theme Suggested Params ##
|
||||
# The parameters below were copied, modified, or inspired from:
|
||||
# https://github.com/rhazdon/hugo-theme-hello-friend-ng?tab=readme-ov-file#how-to-configure
|
||||
params:
|
||||
dateform : "Jan 2, 2006"
|
||||
dateformShort : "Jan 2"
|
||||
dateformNum : "2006-01-02"
|
||||
dateformNumTime : "2006-01-02 15:04"
|
||||
|
||||
# Subtitle for home
|
||||
homeSubtitle: "Blogposts, recipes, musings, and more."
|
||||
|
||||
# Set disableReadOtherPosts to true in order to hide the links to other posts.
|
||||
disableReadOtherPosts: false
|
||||
|
||||
# Enable sharing buttons, if you like
|
||||
enableSharingButtons: false
|
||||
|
||||
# Show a global language switcher in the navigation bar
|
||||
enableGlobalLanguageMenu: false
|
||||
|
||||
# Metadata mostly used in document's head
|
||||
description: "Written works by Hyperling."
|
||||
keywords: "homepage, blog, recipes, crafts, food, seasonings, woodworking, poetry, poems"
|
||||
images: [""]
|
||||
|
||||
# My Custom Params #
|
||||
authorBug: "Chad Michael \"Bug\" Greenwood"
|
||||
authorHyperling: "Chad Michael \"Hyperling\" Greenwood"
|
||||
authorHyperVegan: "Chad Michael \"HyperVegan\" Greenwood"
|
||||
authorDefault: "Chad Michael Greenwood"
|
||||
# End My Custom Params #
|
||||
|
||||
taxonomies:
|
||||
categories : "categories"
|
||||
tags : "tags"
|
||||
series : "series"
|
||||
|
||||
languages:
|
||||
en:
|
||||
title: "Hyperling's Written Works"
|
||||
keywords: ""
|
||||
copyright: '<a href="https://creativecommons.org/licenses/by-nc/4.0/" target="_blank" rel="noopener">CC BY-NC 4.0</a>'
|
||||
readOtherPosts: "Read other posts"
|
||||
|
||||
params:
|
||||
#subtitle = "Blogposts, recipes, musings, and more."
|
||||
|
||||
logo:
|
||||
logoText: "Hyperling's Works"
|
||||
logoHomeLink: "/"
|
||||
# or
|
||||
#
|
||||
# path = "/img/your-example-logo.svg"
|
||||
# alt = "Your example logo alt text"
|
||||
|
||||
# [languages.es]
|
||||
# title = "Hola Amigo!"
|
||||
# keywords = ""
|
||||
# copyright = '<a href="https://creativecommons.org/licenses/by-nc/4.0/" target="_blank" rel="noopener">CC BY-NC 4.0</a>'
|
||||
# readOtherPosts = "Read other posts"
|
||||
|
||||
# And you can even create generic menu
|
||||
menu:
|
||||
main:
|
||||
- identifier : "00-all"
|
||||
name : "All"
|
||||
url : "/posts"
|
||||
weight : 1
|
||||
|
||||
- identifier : "01-tags"
|
||||
name : "Tags"
|
||||
url : "/tags"
|
||||
weight : 1
|
||||
parent : "00-all"
|
||||
|
||||
- identifier : "02-cats"
|
||||
name : "Categories"
|
||||
url : "/categories"
|
||||
weight : 2
|
||||
parent : "00-all"
|
||||
|
||||
- identifier : "20-food"
|
||||
name : "Food"
|
||||
url : "/tags/food"
|
||||
weight : 2
|
||||
|
||||
- identifier : "30-crafts"
|
||||
name : "Crafts"
|
||||
url : "/tags/crafts"
|
||||
weight : 3
|
||||
|
||||
#[[menu.main]]
|
||||
# identifier = "50-blog"
|
||||
# name = "Blogposts"
|
||||
# url = "/tags/blog"
|
||||
# weight = 5
|
||||
|
||||
- identifier : "60-poetry"
|
||||
name : "Poetry"
|
||||
url : "/tags/poetry"
|
||||
weight : 6
|
||||
|
||||
- identifier : "70-tech"
|
||||
name : "Tech"
|
||||
url : "/tags/tech"
|
||||
weight : 7
|
||||
|
||||
- identifier : "80-books"
|
||||
name : "Books"
|
||||
url : "/tags/books" #"https://hyperling.com/books"
|
||||
weight : 8
|
||||
|
||||
# End parameters related to:
|
||||
# https://github.com/rhazdon/hugo-theme-hello-friend-ng?tab=readme-ov-file#how-to-configure
|
||||
##
|
||||
|
||||
### End Theme ###
|
||||
|
||||
|
||||
### Failed Themes ###
|
||||
# Do not go back to these unless figuring out what was done wrong.
|
||||
|
||||
# not functioning well
|
||||
#theme = "recipes"
|
||||
|
||||
# requires creating recipe objects?
|
||||
#theme = "cookbook"
|
||||
|
||||
# not showing index files
|
||||
#theme = "awesome"
|
||||
|
||||
# outdated
|
||||
#theme = "simple-dark"
|
||||
|
||||
# too complicated? Failing to compile.
|
||||
#theme = "congo"
|
||||
|
||||
# works, reads index files, shows cool header at the beginning of posts,
|
||||
# but FAILS at monospace fonts in code blocks and CSS for URLs is horrible.
|
||||
# Could maybe be modified to serve well enough.
|
||||
#theme = "hugo-classic"
|
||||
|
||||
### End Failed Themes ###
|
||||
29
layouts/_default/baseof.html
Normal file
@@ -0,0 +1,29 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="{{ .Site.Language }}">
|
||||
<head>
|
||||
{{ partial "head.html" . }}
|
||||
{{ partial "favicons.html" . }}
|
||||
{{ partial "meta.html" . }}
|
||||
<link rel="stylesheet" href="/css/styles.css">
|
||||
<link rel="stylesheet" href="/css/style.css">
|
||||
</head>
|
||||
|
||||
{{ block "body" . }}
|
||||
<body>
|
||||
{{ end }}
|
||||
|
||||
<div class="container">
|
||||
{{ partial "header.html" . }}
|
||||
|
||||
<div class="content">
|
||||
{{ block "main" . }}{{ end }}
|
||||
</div>
|
||||
|
||||
{{ block "footer" . }}
|
||||
{{ partial "footer.html" . }}
|
||||
{{ end }}
|
||||
</div>
|
||||
|
||||
{{ partial "javascript.html" . }}
|
||||
</body>
|
||||
</html>
|
||||
48
layouts/_default/list.html
Normal file
@@ -0,0 +1,48 @@
|
||||
{{ define "main" }}
|
||||
{{ $paginator := .Paginate .Data.Pages }}
|
||||
|
||||
<main class="posts">
|
||||
<h1>{{ .Title }}</h1>
|
||||
{{ if .Params.subtitle }}
|
||||
<strong>{{ .Params.subtitle | markdownify }}</strong>
|
||||
{{ end }}
|
||||
|
||||
{{ if .Content }}
|
||||
<div class="content">{{ .Content }}</div>
|
||||
{{ end }}
|
||||
|
||||
{{ range $paginator.Pages.GroupByDate "2006" }}
|
||||
<div class="posts-group">
|
||||
<div class="post-year">{{ .Key }}</div>
|
||||
|
||||
<ul class="posts-list">
|
||||
{{ range .Pages }}
|
||||
<li class="post-item">
|
||||
<a href="{{.Permalink}}" class="post-item-inner">
|
||||
<span class="post-title">
|
||||
{{ if or .Params.pinned (eq (.Title | title) "Pinned") }}
|
||||
<img style="display: inline-block; vertical-align: middle; margin-right: 4px;"
|
||||
src="/feathericons/16px-a9a9b3/paperclip.svg" alt="Pinned:"
|
||||
>
|
||||
{{ end }}
|
||||
{{ if .Params.tags }}{{ index .Params.tags 0 | title }}:{{ end }}
|
||||
{{ .Title }}{{ if and (.Params.subtitle) (and (.Params.author) (.Params.date)) }}
|
||||
{{ "--" | markdownify }} {{ .Params.subtitle}}
|
||||
{{ end }}
|
||||
</span>
|
||||
<span class="post-day">
|
||||
{{ if .Site.Params.dateformShort }}
|
||||
{{ time.Format .Site.Params.dateformShort .Date }}
|
||||
{{ else }}
|
||||
{{ time.Format "Jan 2" .Date }}
|
||||
{{ end }}
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
{{ end }}
|
||||
</ul>
|
||||
</div>
|
||||
{{ end }}
|
||||
{{ partial "pagination-list.html" . }}
|
||||
</main>
|
||||
{{ end }}
|
||||
59
layouts/_default/single.html
Normal file
@@ -0,0 +1,59 @@
|
||||
{{ define "main" }}
|
||||
<main class="post">
|
||||
|
||||
<div class="post-info">
|
||||
{{ if .IsTranslated }}
|
||||
{{ i18n "postAvailable" }}
|
||||
{{ range .Translations }}
|
||||
<a href="{{ .Permalink }}"><span class="flag fi fi-{{ index $.Site.Data.langFlags (.Lang) }}"></span></a>
|
||||
{{ end}}
|
||||
{{ end }}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<article>
|
||||
<h1 class="post-title"><a href="{{ .Permalink }}">{{ .Title | markdownify }}</a></h1>
|
||||
{{ if .Params.subtitle }}
|
||||
<strong>{{ .Params.subtitle | markdownify }}</strong>
|
||||
{{ end }}
|
||||
{{ if .Params.author }}
|
||||
<pre>{{ partial "byline.html" . }}</pre>
|
||||
{{ end }}
|
||||
|
||||
{{ if .Params.Cover }}
|
||||
<figure class="post-cover">
|
||||
<img src="{{ .Params.Cover | absURL }}" alt="{{ .Title }}" />
|
||||
|
||||
{{ if .Params.CoverCaption }}
|
||||
<figcaption class="center">{{ .Params.CoverCaption | markdownify }}</figcaption>
|
||||
{{ end }}
|
||||
</figure>
|
||||
{{ end }}
|
||||
|
||||
{{ if .Params.toc }}
|
||||
<hr />
|
||||
<aside id="toc">
|
||||
<div class="toc-title">{{ i18n "tableOfContents" }}</div>
|
||||
{{ .TableOfContents }}
|
||||
</aside>
|
||||
<hr />
|
||||
{{ end }}
|
||||
|
||||
<div class="post-content">
|
||||
{{ .Content }}
|
||||
</div>
|
||||
</article>
|
||||
|
||||
<hr />
|
||||
|
||||
<div class="post-info">
|
||||
{{ partial "tags.html" . }}
|
||||
{{ partial "series.html" . }}
|
||||
{{ partial "categories.html" . }}
|
||||
|
||||
{{- if .GitInfo }}
|
||||
<p><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-git-commit"><circle cx="12" cy="12" r="4"></circle><line x1="1.05" y1="12" x2="7" y2="12"></line><line x1="17.01" y1="12" x2="22.96" y2="12"></line></svg><a href="{{ .Site.Params.gitUrl -}}{{ .GitInfo.Hash }}" target="_blank" rel="noopener">{{ .GitInfo.AbbreviatedHash }}</a> @ {{ if .Site.Params.dateformNum }}{{ dateFormat .Site.Params.dateformNum .GitInfo.AuthorDate.Local }}{{ else }}{{ dateFormat "2006-01-02" .GitInfo.AuthorDate.Local }}{{ end }}</p>
|
||||
{{- end }}
|
||||
</div>
|
||||
</main>
|
||||
{{ end }}
|
||||
17
layouts/partials/byline.html
Normal file
@@ -0,0 +1,17 @@
|
||||
{{ $author := (lower .Page.Params.author)
|
||||
}}{{ if or (eq $author "authorbug") (eq $author "bug")
|
||||
}}{{ .Scratch.Set "author" .Site.Params.authorBug
|
||||
}}{{ else if or (eq $author "authorhyperling") (eq $author "hyperling")
|
||||
}}{{ .Scratch.Set "author" .Site.Params.authorHyperling
|
||||
}}{{ else if or (eq $author "authorhypervegan") (eq $author "hypervegan")
|
||||
}}{{ .Scratch.Set "author" .Site.Params.authorHyperVegan
|
||||
}}{{ else if and ($author) (not (eq $author ""))
|
||||
}}{{ .Scratch.Set "author" $author
|
||||
}}{{ else
|
||||
}}{{ .Scratch.Set "author" .Site.Params.authorDefault
|
||||
}}{{ end
|
||||
}}{{ $author := .Scratch.Get "author"
|
||||
}}{{ if $author
|
||||
}}{{ print "by " $author
|
||||
}}{{ end
|
||||
}}
|
||||
12
layouts/partials/categories.html
Normal file
@@ -0,0 +1,12 @@
|
||||
{{ with .Params.categories }}
|
||||
<p>
|
||||
<img style="display: inline-block; vertical-align: middle; margin-right: 4px;"
|
||||
src="/feathericons/16px-a9a9b3/folder.svg" alt="Categories:"
|
||||
>
|
||||
{{ range . -}}
|
||||
{{ if (not (eq . "pinned")) }}
|
||||
<span class="tag"><a href="{{ "categories/" | absLangURL }}{{ . | urlize }}/">{{.}}</a></span>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
</p>
|
||||
{{ end }}
|
||||
2
layouts/partials/email.html
Normal file
@@ -0,0 +1,2 @@
|
||||
{{ $email := .email | default .Email
|
||||
}}<a href="mailto:{{ $email }}">{{ $email }}</a>
|
||||
6
layouts/partials/favicons.html
Normal file
@@ -0,0 +1,6 @@
|
||||
<link rel="icon" type="image/png" href="/favicon-96x96.png" sizes="96x96" />
|
||||
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
||||
<link rel="shortcut icon" href="/favicon.ico" />
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" />
|
||||
<meta name="apple-mobile-web-app-title" content="HyperMusings" />
|
||||
<link rel="manifest" href="/site.webmanifest" />
|
||||
13
layouts/partials/meta.html
Normal file
@@ -0,0 +1,13 @@
|
||||
|
||||
<meta property="og:title" content="Hyperling's Works">
|
||||
<meta property="og:description" content="Blogposts, poetry, eBooks, recipes, more.">
|
||||
<meta property="og:site_name" content="Hyperling's Works">
|
||||
<meta property="og:url" content="https://works.hyperling.com/">
|
||||
<meta property="og:type" content="article">
|
||||
<meta property="og:image" content="https://hyperling.com/files/media/icons/home.jpg">
|
||||
<meta name="referrer" content="same-origin">
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:title" content="Hyperling's Works">
|
||||
<meta name="twitter:description" content="Blogposts, poetry, eBooks, recipes, more.">
|
||||
<meta name="twitter:image" content="https://hyperling.com/files/media/icons/home.jpg">
|
||||
12
layouts/partials/series.html
Normal file
@@ -0,0 +1,12 @@
|
||||
{{ with .Params.series }}
|
||||
<p>
|
||||
<img style="display: inline-block; vertical-align: middle; margin-right: 4px;"
|
||||
src="/feathericons/16px-a9a9b3/tv.svg" alt="Series:"
|
||||
>
|
||||
{{ range . -}}
|
||||
{{ if (not (eq . "pinned")) }}
|
||||
<span class="tag"><a href="{{ "series/" | absLangURL }}{{ . | urlize }}/">{{.}}</a></span>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
</p>
|
||||
{{ end }}
|
||||
12
layouts/partials/tags.html
Normal file
@@ -0,0 +1,12 @@
|
||||
{{ with .Params.tags }}
|
||||
<p>
|
||||
<img style="display: inline-block; vertical-align: middle; margin-right: 4px;"
|
||||
src="/feathericons/16px-a9a9b3/tag.svg" alt="Tags:"
|
||||
>
|
||||
{{ range . -}}
|
||||
{{ if (not (eq . "pinned")) }}
|
||||
<span class="tag"><a href="{{ "tags/" | absLangURL }}{{ . | urlize }}/">{{.}}</a></span>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
</p>
|
||||
{{ end }}
|
||||
3
layouts/partials/wip.html
Normal file
@@ -0,0 +1,3 @@
|
||||
{{ $text := .text | default .Text
|
||||
}}{{ $wip := .sep | default .Sep | default .wip | default .WIP | default "WIP"
|
||||
}}*{{ $wip }}:* {{ $text }} *:{{ $wip }}*
|
||||
166
layouts/posts/single.html
Normal file
@@ -0,0 +1,166 @@
|
||||
{{ define "main" }}
|
||||
<main class="post">
|
||||
|
||||
<div class="post-info">
|
||||
<p>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-clock">
|
||||
<circle cx="12" cy="12" r="10"></circle>
|
||||
<polyline points="12 6 12 12 16 14"></polyline>
|
||||
</svg>
|
||||
{{ i18n "readingTime" .Page.ReadingTime }}
|
||||
|
||||
{{ if .IsTranslated }} | {{ i18n "postAvailable" }}
|
||||
{{ range .Translations }}
|
||||
<a href="{{ .Permalink }}"><span class="flag fi fi-{{ index $.Site.Data.langFlags (.Lang) }}"></span></a>
|
||||
{{ end}}
|
||||
{{ end }}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<article>
|
||||
<h1 class="post-title">
|
||||
<a href="{{ .Permalink }}">{{ .Title | markdownify }}</a>
|
||||
</h1>
|
||||
{{ if .Params.subtitle }}
|
||||
<strong>{{ .Params.subtitle | markdownify }}</strong>
|
||||
{{ end }}
|
||||
{{ if (isset .Params "author") }}
|
||||
<pre>{{ partial "byline.html" . }}</pre>
|
||||
{{ end }}
|
||||
|
||||
{{ with .Params.Description }}
|
||||
<div class="post-excerpt">{{ . }}</div>
|
||||
{{ end }}
|
||||
|
||||
{{ if .Params.Cover }}
|
||||
<figure class="post-cover">
|
||||
<img src="{{ .Params.Cover | absURL }}" alt="{{ .Title }}" />
|
||||
|
||||
{{ if .Params.CoverCaption }}
|
||||
<figcaption class="center">{{ .Params.CoverCaption | markdownify }}</figcaption>
|
||||
{{ end }}
|
||||
</figure>
|
||||
{{ end }}
|
||||
|
||||
{{- if .Params.toc }}
|
||||
<hr />
|
||||
<aside id="toc">
|
||||
<div class="toc-title">{{ i18n "tableOfContents" }}</div>
|
||||
{{ .TableOfContents }}
|
||||
</aside>
|
||||
<hr />
|
||||
{{- end }}
|
||||
|
||||
{{ if .Params.Audio }}
|
||||
<div class="post-audio">
|
||||
<audio controls>
|
||||
<source src="{{ .Params.Audio }}">
|
||||
</audio>
|
||||
</div>
|
||||
{{ end }}
|
||||
|
||||
<div class="post-content">
|
||||
{{ .Content }}
|
||||
</div>
|
||||
</article>
|
||||
|
||||
<hr />
|
||||
|
||||
<div class="post-info">
|
||||
{{ if .Params.pinned }}
|
||||
<img style="display: inline-block; vertical-align: middle; margin-right: 4px;"
|
||||
src="/feathericons/16px-a9a9b3/paperclip.svg" alt="Pinned:"
|
||||
> <a href="/categories/pinned">This article is pinned.</a>
|
||||
{{ end }}
|
||||
{{ partial "tags.html" . }}
|
||||
{{ partial "series.html" . }}
|
||||
{{ partial "categories.html" . }}
|
||||
|
||||
<p>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-file-text">
|
||||
<path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path>
|
||||
<polyline points="14 2 14 8 20 8"></polyline>
|
||||
<line x1="16" y1="13" x2="8" y2="13"></line>
|
||||
<line x1="16" y1="17" x2="8" y2="17"></line>
|
||||
<polyline points="10 9 9 9 8 9"></polyline>
|
||||
</svg>
|
||||
{{ i18n "wordCount" .Page.WordCount }}
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-calendar">
|
||||
<rect x="3" y="4" width="18" height="18" rx="2" ry="2"></rect>
|
||||
<line x1="16" y1="2" x2="16" y2="6"></line>
|
||||
<line x1="8" y1="2" x2="8" y2="6"></line>
|
||||
<line x1="3" y1="10" x2="21" y2="10"></line>
|
||||
</svg>
|
||||
{{ if .Site.Params.dateformNumTime }}
|
||||
{{ dateFormat .Site.Params.dateformNumTime .Date.Local }}
|
||||
{{ else }}
|
||||
{{ dateFormat "2006-01-02 15:04" .Date.Local }}
|
||||
{{ end }}
|
||||
|
||||
{{ if .Lastmod }}
|
||||
{{ if not (eq .Lastmod .Date )}}
|
||||
{{ if .Site.Params.dateformNumTime }}
|
||||
({{ i18n "lastModified" }}: {{ dateFormat .Site.Params.dateformNumTime .Lastmod.Local }})
|
||||
{{ else }}
|
||||
({{ i18n "lastModified" }}: {{ dateFormat "2006-01-02 15:04" .Lastmod.Local }})
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
</p>
|
||||
|
||||
{{- if .GitInfo }}
|
||||
<p>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-git-commit">
|
||||
<circle cx="12" cy="12" r="4"></circle>
|
||||
<line x1="1.05" y1="12" x2="7" y2="12"></line>
|
||||
<line x1="17.01" y1="12" x2="22.96" y2="12"></line>
|
||||
</svg>
|
||||
|
||||
<a href="{{ .Site.Params.gitUrl -}}{{ .GitInfo.Hash }}" target="_blank" rel="noopener">{{ .GitInfo.AbbreviatedHash }}</a>
|
||||
@ {{ if .Site.Params.dateformNum }}{{ dateFormat .Site.Params.dateformNum .GitInfo.AuthorDate.Local }}{{ else }}{{ dateFormat "2006-01-02" .GitInfo.AuthorDate.Local }}{{ end }}
|
||||
</p>
|
||||
{{- end }}
|
||||
</div>
|
||||
|
||||
{{- if .Site.Params.EnableSharingButtons }}
|
||||
<hr />
|
||||
<div class="sharing-buttons">
|
||||
{{ partial "sharing-buttons.html" . }}
|
||||
</div>
|
||||
{{- end }}
|
||||
|
||||
{{ partial "pagination-single.html" . }}
|
||||
|
||||
{{ if .Site.Config.Services.Disqus.Shortname }}
|
||||
{{ if not (eq .Params.Comments "false") }}
|
||||
<div id="comments">
|
||||
{{ template "_internal/disqus.html" . }}
|
||||
</div>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
{{ if .Site.Params.Commento.Url }}
|
||||
<script defer src={{ .Site.Params.Commento.Url }}></script>
|
||||
<div id="commento"></div>
|
||||
{{ end }}
|
||||
|
||||
{{ if .Site.Params.Utterances.Repository }}
|
||||
<script src="https://utteranc.es/client.js"
|
||||
repo="{{ .Site.Params.Utterances.Repository }}"
|
||||
{{ if .Site.Params.Utterances.Label }}label="{{ .Site.Params.Utterances.Label }}"{{ end }}
|
||||
issue-term="{{ .Site.Params.Utterances.IssueTerm }}"
|
||||
theme="{{ .Site.Params.Utterances.Theme }}"
|
||||
crossorigin="anonymous"
|
||||
async>
|
||||
</script>
|
||||
{{ end }}
|
||||
|
||||
<p style="text-align: center">
|
||||
Questions? Concerns? Email {{ partial "email.html" (dict "email" "me@hyperling.com") }} any time!
|
||||
</p>
|
||||
|
||||
</main>
|
||||
{{ end }}
|
||||
25
layouts/shortcodes/audio.html
Normal file
@@ -0,0 +1,25 @@
|
||||
{{ $src := .Get "src" | default (.Get 0)
|
||||
}}
|
||||
{{ $type := .Get "type"
|
||||
}}{{ if and (isset .Params "type") (not (eq $type ""))
|
||||
}}{{ .Scratch.Set "type" $type
|
||||
}}{{ else
|
||||
}}{{ $type := strings.TrimSuffix $src (path.Ext $src)
|
||||
}}{{ $type := strings.TrimPrefix "." $type
|
||||
}}{{ .Scratch.Set "type" $type
|
||||
}}{{ end
|
||||
}}
|
||||
{{ $text := .Get "text"
|
||||
}}{{ if and (isset .Params "text") (not (eq $text ""))
|
||||
}}{{ .Scratch.Set "text" $text
|
||||
}}{{ else
|
||||
}}{{ .Scratch.Set "text" "Audio playback is not available on your browser."
|
||||
}}{{ end
|
||||
}}
|
||||
<audio controls>
|
||||
<source
|
||||
src='{{ $src }}'
|
||||
type='audio/{{ .Scratch.Get "type" }}'
|
||||
>
|
||||
{{ .Scratch.Get "text" | markdownify }}
|
||||
</audio>
|
||||
17
layouts/shortcodes/author.html
Normal file
@@ -0,0 +1,17 @@
|
||||
{{ $author := (lower (.Get 0))
|
||||
}}{{ if or (eq $author "authorbug") (eq $author "bug")
|
||||
}}{{ .Scratch.Set "author" .Site.Params.authorBug
|
||||
}}{{ else if or (eq $author "authorhyperling") (eq $author "hyperling")
|
||||
}}{{ .Scratch.Set "author" .Site.Params.authorHyperling
|
||||
}}{{ else if or (eq $author "authorhypervegan") (eq $author "hypervegan")
|
||||
}}{{ .Scratch.Set "author" .Site.Params.authorHyperVegan
|
||||
}}{{ else if and ($author) (not (eq $author ""))
|
||||
}}{{ .Scratch.Set "author" $author
|
||||
}}{{ else
|
||||
}}{{ .Scratch.Set "author" .Site.Params.authorDefault
|
||||
}}{{ end
|
||||
}}{{ $author := .Scratch.Get "author"
|
||||
}}{{ if $author
|
||||
}}{{ print $author
|
||||
}}{{ end
|
||||
}}
|
||||
0
layouts/shortcodes/comment.html
Normal file
1
layouts/shortcodes/email.html
Normal file
@@ -0,0 +1 @@
|
||||
[me@hyperling.com](mailto:me@hyperling.com)
|
||||
3
layouts/shortcodes/external-link.html
Normal file
@@ -0,0 +1,3 @@
|
||||
{{ $url := .Get "url" | default (.Get 1) | default (.Get 0)
|
||||
}}{{ $text := .Get "text" | default (.Get 0) | default $url
|
||||
}}<a href="{{ $url }}" target="_blank" rel="noopener noreferrer">{{ $text | markdownify }}</a>
|
||||
1
layouts/shortcodes/hide.html
Normal file
@@ -0,0 +1 @@
|
||||
{{ if .Inner }}{{ end }}
|
||||
15
layouts/shortcodes/image-with-fallback.html
Normal file
@@ -0,0 +1,15 @@
|
||||
{{ $url1 := .Get "img1" | default (.Get "url") | default (.Get 0)
|
||||
}}{{ $url2 := .Get "img2" | default (.Get "fallback") | default (.Get 1)
|
||||
}}{{ $alt := .Get "alt" | default (.Get 2)
|
||||
}}
|
||||
<!-- These do not seem to work. Using JS solution.
|
||||
<picture>
|
||||
<source srcset="{{ $url1 }}">
|
||||
<img src="{{ $url2 }}" alt="{{ $alt }}">
|
||||
</picture>
|
||||
<picture>
|
||||
<source media="(min-width: 1px)" srcset="{{ $url1 }}">
|
||||
<img src="{{ $url2 }}" alt="{{ $alt }}">
|
||||
</picture>
|
||||
-->
|
||||
<img src="{{ $url1 }}" alt="{{ $alt | markdownify }}" onerror="this.onerror=null; this.src='{{ $url2 }}';">
|
||||
9
layouts/shortcodes/odysee.html
Normal file
@@ -0,0 +1,9 @@
|
||||
{{ $src := .Get 0 | default (.Get "url") | default (.Get "src")
|
||||
}}{{ $width := .Get 1 | default (.Get "width") | default "65" }}
|
||||
<iframe
|
||||
id="odysee-iframe"
|
||||
style="width:{{ $width }}%; aspect-ratio:16 / 9;"
|
||||
src="{{ $src }}"
|
||||
allowfullscreen>
|
||||
</iframe>
|
||||
<br>
|
||||
3
layouts/shortcodes/tbd.html
Normal file
@@ -0,0 +1,3 @@
|
||||
{{ $text := .Get 0
|
||||
}}{{ partial "wip.html" (dict "text" $text "sep" "TBD")
|
||||
}}
|
||||
4
layouts/shortcodes/wip.html
Normal file
@@ -0,0 +1,4 @@
|
||||
{{ $text := .Get 0
|
||||
}}{{ $wip := .Get 1 | default "WIP"
|
||||
}}{{ partial "wip.html" (dict "text" $text "wip" $wip)
|
||||
}}
|
||||
188
old-hugo.toml
Normal file
@@ -0,0 +1,188 @@
|
||||
# Abandoned 2025-11-21 because it was not working as needed. Moved to YAML.
|
||||
|
||||
### My Params ###
|
||||
|
||||
baseURL = '/'
|
||||
languageCode = 'en-us'
|
||||
title = "Hyperling's Works"
|
||||
subtitle = "My recipes, blogposts, musings, and more."
|
||||
|
||||
#paginate = 25
|
||||
paginate = 99999
|
||||
|
||||
# Allow direct HTML.
|
||||
markup.goldmark.renderer.unsafe = true
|
||||
|
||||
# Prevent URLs from becoming links which open in the same tab.
|
||||
markup.goldmark.extensions.linkify = false
|
||||
|
||||
[markup.tableOfContents]
|
||||
endLevel = 4
|
||||
ordered = false
|
||||
startLevel = 2
|
||||
|
||||
### End My Params ###
|
||||
|
||||
|
||||
### Theme ###
|
||||
# Seems pretty good, just need to add more config params so it acts better.
|
||||
theme = "hello-friend-ng"
|
||||
|
||||
# Main Documentation
|
||||
# https://github.com/rhazdon/hugo-theme-hello-friend-ng/blob/master/docs/config.md
|
||||
|
||||
# Favicon documentation for this theme.
|
||||
# https://github.com/rhazdon/hugo-theme-hello-friend-ng/blob/master/docs/favicons.md
|
||||
# Generator
|
||||
# https://realfavicongenerator.net/your-favicon-is-ready
|
||||
|
||||
## Theme Suggested Params ##
|
||||
# The parameters below were copied, modified, or inspired from:
|
||||
# https://github.com/rhazdon/hugo-theme-hello-friend-ng?tab=readme-ov-file#how-to-configure
|
||||
[params]
|
||||
dateform = "Jan 2, 2006"
|
||||
dateformShort = "Jan 2"
|
||||
dateformNum = "2006-01-02"
|
||||
dateformNumTime = "2006-01-02 15:04"
|
||||
|
||||
# Subtitle for home
|
||||
homeSubtitle = "Blogposts, recipes, musings, and more."
|
||||
|
||||
# Set disableReadOtherPosts to true in order to hide the links to other posts.
|
||||
disableReadOtherPosts = false
|
||||
|
||||
# Enable sharing buttons, if you like
|
||||
enableSharingButtons = false
|
||||
|
||||
# Show a global language switcher in the navigation bar
|
||||
enableGlobalLanguageMenu = false
|
||||
|
||||
# Metadata mostly used in document's head
|
||||
description = "Written works by Hyperling."
|
||||
keywords = "homepage, blog, recipes, crafts, food, seasonings, woodworking, poetry, poems"
|
||||
images = [""]
|
||||
|
||||
# My Custom Params #
|
||||
authorBug = "Chad Michael \"Bug\" Greenwood"
|
||||
authorHyperling = "Chad Michael \"Hyperling\" Greenwood"
|
||||
authorHyperVegan = "Chad Michael \"HyperVegan\" Greenwood"
|
||||
authorDefault = "Chad Michael Greenwood"
|
||||
# End My Custom Params #
|
||||
|
||||
[taxonomies]
|
||||
categories = "categories"
|
||||
tags = "tags"
|
||||
series = "series"
|
||||
|
||||
[languages]
|
||||
[languages.en]
|
||||
title = "Hyperling's Written Works"
|
||||
keywords = ""
|
||||
copyright = '<a href="https://creativecommons.org/licenses/by-nc/4.0/" target="_blank" rel="noopener">CC BY-NC 4.0</a>'
|
||||
readOtherPosts = "Read other posts"
|
||||
|
||||
[languages.en.params]
|
||||
#subtitle = "Blogposts, recipes, musings, and more."
|
||||
|
||||
[languages.en.params.logo]
|
||||
logoText = "Hyperling's Works"
|
||||
logoHomeLink = "/"
|
||||
# or
|
||||
#
|
||||
# path = "/img/your-example-logo.svg"
|
||||
# alt = "Your example logo alt text"
|
||||
|
||||
# [languages.es]
|
||||
# title = "Hola Amigo!"
|
||||
# keywords = ""
|
||||
# copyright = '<a href="https://creativecommons.org/licenses/by-nc/4.0/" target="_blank" rel="noopener">CC BY-NC 4.0</a>'
|
||||
# readOtherPosts = "Read other posts"
|
||||
|
||||
# And you can even create generic menu
|
||||
[[menu.main]]
|
||||
identifier = "00-all"
|
||||
name = "All"
|
||||
url = "/posts"
|
||||
weight = 1
|
||||
|
||||
[[menu.main]]
|
||||
identifier = "01-tags"
|
||||
name = "Tags"
|
||||
url = "/tags"
|
||||
parent = "00-all"
|
||||
weight = 1
|
||||
|
||||
[[menu.main]]
|
||||
identifier = "02-cats"
|
||||
name = "Categories"
|
||||
url = "/categories"
|
||||
parent = "00-all"
|
||||
weight = 2
|
||||
|
||||
[[menu.main]]
|
||||
identifier = "20-food"
|
||||
name = "Food"
|
||||
url = "/tags/food"
|
||||
weight = 2
|
||||
|
||||
[[menu.main]]
|
||||
identifier = "30-crafts"
|
||||
name = "Crafts"
|
||||
url = "/tags/crafts"
|
||||
weight = 3
|
||||
|
||||
#[[menu.main]]
|
||||
# identifier = "50-blog"
|
||||
# name = "Blogposts"
|
||||
# url = "/tags/blog"
|
||||
# weight = 5
|
||||
|
||||
[[menu.main]]
|
||||
identifier = "60-poetry"
|
||||
name = "Poetry"
|
||||
url = "/tags/poetry"
|
||||
weight = 6
|
||||
|
||||
[[menu.main]]
|
||||
identifier = "70-tech"
|
||||
name = "Tech"
|
||||
url = "/tags/tech"
|
||||
weight = 7
|
||||
|
||||
[[menu.main]]
|
||||
identifier = "80-books"
|
||||
name = "Books"
|
||||
url = "/tags/books" #"https://hyperling.com/books"
|
||||
weight = 8
|
||||
|
||||
# End parameters related to:
|
||||
# https://github.com/rhazdon/hugo-theme-hello-friend-ng?tab=readme-ov-file#how-to-configure
|
||||
##
|
||||
|
||||
### End Theme ###
|
||||
|
||||
|
||||
### Failed Themes ###
|
||||
# Do not go back to these unless figuring out what was done wrong.
|
||||
|
||||
# not functioning well
|
||||
#theme = "recipes"
|
||||
|
||||
# requires creating recipe objects?
|
||||
#theme = "cookbook"
|
||||
|
||||
# not showing index files
|
||||
#theme = "awesome"
|
||||
|
||||
# outdated
|
||||
#theme = "simple-dark"
|
||||
|
||||
# too complicated? Failing to compile.
|
||||
#theme = "congo"
|
||||
|
||||
# works, reads index files, shows cool header at the beginning of posts,
|
||||
# but FAILS at monospace fonts in code blocks and CSS for URLs is horrible.
|
||||
# Could maybe be modified to serve well enough.
|
||||
#theme = "hugo-classic"
|
||||
|
||||
### End Failed Themes ###
|
||||
BIN
static/apple-touch-icon.png
Normal file
|
After Width: | Height: | Size: 6.6 KiB |
BIN
static/audio/poetry/birthday-2025.aac
Normal file
BIN
static/audio/poetry/friends.aac
Normal file
BIN
static/audio/poetry/gullible.aac
Normal file
BIN
static/audio/poetry/self-love.aac
Normal file
34
static/css/style.css
Normal file
@@ -0,0 +1,34 @@
|
||||
/* Prevent excess gaps underneath headers. Looks horrible! */
|
||||
h1,h2,p,div,blockquote {
|
||||
margin-top: 16px;
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
h3,h4 {
|
||||
margin-top: 12px;
|
||||
margin-bottom: 6px;
|
||||
}
|
||||
h5,h6,ul,ol {
|
||||
margin-top: 8px;
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
pre,strong {
|
||||
margin-top: 4px;
|
||||
margin-bottom: 2px;
|
||||
}
|
||||
|
||||
pre {
|
||||
padding: 2px;
|
||||
padding-left: 20px;
|
||||
}
|
||||
|
||||
audio {
|
||||
margin: 5px;
|
||||
}
|
||||
|
||||
.post-content {
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.highlight {
|
||||
margin: 10px auto;
|
||||
}
|
||||
BIN
static/favicon-96x96.png
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
BIN
static/favicon.ico
Normal file
|
After Width: | Height: | Size: 15 KiB |
1
static/favicon.svg
Normal file
|
After Width: | Height: | Size: 17 KiB |
1
static/feathericons/12px-a9a9b3/activity.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="#a9a9b3" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-activity"><polyline points="22 12 18 12 15 21 9 3 6 12 2 12"></polyline></svg>
|
||||
|
After Width: | Height: | Size: 277 B |
1
static/feathericons/12px-a9a9b3/airplay.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="#a9a9b3" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-airplay"><path d="M5 17H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-1"></path><polygon points="12 15 17 21 7 21 12 15"></polygon></svg>
|
||||
|
After Width: | Height: | Size: 357 B |
1
static/feathericons/12px-a9a9b3/alert-circle.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="#a9a9b3" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-alert-circle"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>
|
||||
|
After Width: | Height: | Size: 351 B |
1
static/feathericons/12px-a9a9b3/alert-octagon.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="#a9a9b3" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-alert-octagon"><polygon points="7.86 2 16.14 2 22 7.86 22 16.14 16.14 22 7.86 22 2 16.14 2 7.86 7.86 2"></polygon><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>
|
||||
|
After Width: | Height: | Size: 411 B |
1
static/feathericons/12px-a9a9b3/alert-triangle.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="#a9a9b3" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-alert-triangle"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
|
||||
|
After Width: | Height: | Size: 419 B |
1
static/feathericons/12px-a9a9b3/align-center.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="#a9a9b3" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-align-center"><line x1="18" y1="10" x2="6" y2="10"></line><line x1="21" y1="6" x2="3" y2="6"></line><line x1="21" y1="14" x2="3" y2="14"></line><line x1="18" y1="18" x2="6" y2="18"></line></svg>
|
||||
|
After Width: | Height: | Size: 393 B |
1
static/feathericons/12px-a9a9b3/align-justify.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="#a9a9b3" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-align-justify"><line x1="21" y1="10" x2="3" y2="10"></line><line x1="21" y1="6" x2="3" y2="6"></line><line x1="21" y1="14" x2="3" y2="14"></line><line x1="21" y1="18" x2="3" y2="18"></line></svg>
|
||||
|
After Width: | Height: | Size: 394 B |
1
static/feathericons/12px-a9a9b3/align-left.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="#a9a9b3" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-align-left"><line x1="17" y1="10" x2="3" y2="10"></line><line x1="21" y1="6" x2="3" y2="6"></line><line x1="21" y1="14" x2="3" y2="14"></line><line x1="17" y1="18" x2="3" y2="18"></line></svg>
|
||||
|
After Width: | Height: | Size: 391 B |
1
static/feathericons/12px-a9a9b3/align-right.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="#a9a9b3" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-align-right"><line x1="21" y1="10" x2="7" y2="10"></line><line x1="21" y1="6" x2="3" y2="6"></line><line x1="21" y1="14" x2="3" y2="14"></line><line x1="21" y1="18" x2="7" y2="18"></line></svg>
|
||||
|
After Width: | Height: | Size: 392 B |
1
static/feathericons/12px-a9a9b3/anchor.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="#a9a9b3" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-anchor"><circle cx="12" cy="5" r="3"></circle><line x1="12" y1="22" x2="12" y2="8"></line><path d="M5 12H2a10 10 0 0 0 20 0h-3"></path></svg>
|
||||
|
After Width: | Height: | Size: 340 B |
1
static/feathericons/12px-a9a9b3/aperture.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="#a9a9b3" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-aperture"><circle cx="12" cy="12" r="10"></circle><line x1="14.31" y1="8" x2="20.05" y2="17.94"></line><line x1="9.69" y1="8" x2="21.17" y2="8"></line><line x1="7.38" y1="12" x2="13.12" y2="2.06"></line><line x1="9.69" y1="16" x2="3.95" y2="6.06"></line><line x1="14.31" y1="16" x2="2.83" y2="16"></line><line x1="16.62" y1="12" x2="10.88" y2="21.94"></line></svg>
|
||||
|
After Width: | Height: | Size: 563 B |
1
static/feathericons/12px-a9a9b3/archive.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="#a9a9b3" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-archive"><polyline points="21 8 21 21 3 21 3 8"></polyline><rect x="1" y="3" width="22" height="5"></rect><line x1="10" y1="12" x2="14" y2="12"></line></svg>
|
||||
|
After Width: | Height: | Size: 356 B |
1
static/feathericons/12px-a9a9b3/arrow-down-circle.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="#a9a9b3" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-arrow-down-circle"><circle cx="12" cy="12" r="10"></circle><polyline points="8 12 12 16 16 12"></polyline><line x1="12" y1="8" x2="12" y2="16"></line></svg>
|
||||
|
After Width: | Height: | Size: 355 B |
1
static/feathericons/12px-a9a9b3/arrow-down-left.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="#a9a9b3" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-arrow-down-left"><line x1="17" y1="7" x2="7" y2="17"></line><polyline points="17 17 7 17 7 7"></polyline></svg>
|
||||
|
After Width: | Height: | Size: 310 B |
1
static/feathericons/12px-a9a9b3/arrow-down-right.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="#a9a9b3" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-arrow-down-right"><line x1="7" y1="7" x2="17" y2="17"></line><polyline points="17 7 17 17 7 17"></polyline></svg>
|
||||
|
After Width: | Height: | Size: 312 B |
1
static/feathericons/12px-a9a9b3/arrow-down.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="#a9a9b3" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-arrow-down"><line x1="12" y1="5" x2="12" y2="19"></line><polyline points="19 12 12 19 5 12"></polyline></svg>
|
||||
|
After Width: | Height: | Size: 308 B |
1
static/feathericons/12px-a9a9b3/arrow-left-circle.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="#a9a9b3" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-arrow-left-circle"><circle cx="12" cy="12" r="10"></circle><polyline points="12 8 8 12 12 16"></polyline><line x1="16" y1="12" x2="8" y2="12"></line></svg>
|
||||
|
After Width: | Height: | Size: 354 B |
1
static/feathericons/12px-a9a9b3/arrow-left.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="#a9a9b3" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-arrow-left"><line x1="19" y1="12" x2="5" y2="12"></line><polyline points="12 19 5 12 12 5"></polyline></svg>
|
||||
|
After Width: | Height: | Size: 307 B |
1
static/feathericons/12px-a9a9b3/arrow-right-circle.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="#a9a9b3" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-arrow-right-circle"><circle cx="12" cy="12" r="10"></circle><polyline points="12 16 16 12 12 8"></polyline><line x1="8" y1="12" x2="16" y2="12"></line></svg>
|
||||
|
After Width: | Height: | Size: 356 B |
1
static/feathericons/12px-a9a9b3/arrow-right.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="#a9a9b3" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-arrow-right"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg>
|
||||
|
After Width: | Height: | Size: 309 B |
1
static/feathericons/12px-a9a9b3/arrow-up-circle.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="#a9a9b3" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-arrow-up-circle"><circle cx="12" cy="12" r="10"></circle><polyline points="16 12 12 8 8 12"></polyline><line x1="12" y1="16" x2="12" y2="8"></line></svg>
|
||||
|
After Width: | Height: | Size: 352 B |
1
static/feathericons/12px-a9a9b3/arrow-up-left.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="#a9a9b3" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-arrow-up-left"><line x1="17" y1="17" x2="7" y2="7"></line><polyline points="7 17 7 7 17 7"></polyline></svg>
|
||||
|
After Width: | Height: | Size: 307 B |
1
static/feathericons/12px-a9a9b3/arrow-up-right.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="#a9a9b3" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-arrow-up-right"><line x1="7" y1="17" x2="17" y2="7"></line><polyline points="7 7 17 7 17 17"></polyline></svg>
|
||||
|
After Width: | Height: | Size: 309 B |
1
static/feathericons/12px-a9a9b3/arrow-up.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="#a9a9b3" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-arrow-up"><line x1="12" y1="19" x2="12" y2="5"></line><polyline points="5 12 12 5 19 12"></polyline></svg>
|
||||
|
After Width: | Height: | Size: 305 B |
1
static/feathericons/12px-a9a9b3/at-sign.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="#a9a9b3" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-at-sign"><circle cx="12" cy="12" r="4"></circle><path d="M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-3.92 7.94"></path></svg>
|
||||
|
After Width: | Height: | Size: 317 B |
1
static/feathericons/12px-a9a9b3/award.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="#a9a9b3" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-award"><circle cx="12" cy="8" r="7"></circle><polyline points="8.21 13.89 7 23 12 20 17 23 15.79 13.88"></polyline></svg>
|
||||
|
After Width: | Height: | Size: 320 B |
1
static/feathericons/12px-a9a9b3/bar-chart-2.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="#a9a9b3" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-bar-chart-2"><line x1="18" y1="20" x2="18" y2="10"></line><line x1="12" y1="20" x2="12" y2="4"></line><line x1="6" y1="20" x2="6" y2="14"></line></svg>
|
||||
|
After Width: | Height: | Size: 350 B |
1
static/feathericons/12px-a9a9b3/bar-chart.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="#a9a9b3" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-bar-chart"><line x1="12" y1="20" x2="12" y2="10"></line><line x1="18" y1="20" x2="18" y2="4"></line><line x1="6" y1="20" x2="6" y2="16"></line></svg>
|
||||
|
After Width: | Height: | Size: 348 B |
1
static/feathericons/12px-a9a9b3/battery-charging.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="#a9a9b3" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-battery-charging"><path d="M5 18H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h3.19M15 6h2a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-3.19"></path><line x1="23" y1="13" x2="23" y2="11"></line><polyline points="11 6 7 12 13 12 9 18"></polyline></svg>
|
||||
|
After Width: | Height: | Size: 422 B |
1
static/feathericons/12px-a9a9b3/battery.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="#a9a9b3" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-battery"><rect x="1" y="6" width="18" height="12" rx="2" ry="2"></rect><line x1="23" y1="13" x2="23" y2="11"></line></svg>
|
||||
|
After Width: | Height: | Size: 321 B |
1
static/feathericons/12px-a9a9b3/bell-off.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="#a9a9b3" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-bell-off"><path d="M13.73 21a2 2 0 0 1-3.46 0"></path><path d="M18.63 13A17.89 17.89 0 0 1 18 8"></path><path d="M6.26 6.26A5.86 5.86 0 0 0 6 8c0 7-3 9-3 9h14"></path><path d="M18 8a6 6 0 0 0-9.33-5"></path><line x1="1" y1="1" x2="23" y2="23"></line></svg>
|
||||
|
After Width: | Height: | Size: 455 B |
1
static/feathericons/12px-a9a9b3/bell.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="#a9a9b3" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-bell"><path d="M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9"></path><path d="M13.73 21a2 2 0 0 1-3.46 0"></path></svg>
|
||||
|
After Width: | Height: | Size: 316 B |
1
static/feathericons/12px-a9a9b3/bluetooth.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="#a9a9b3" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-bluetooth"><polyline points="6.5 6.5 17.5 17.5 12 23 12 1 17.5 6.5 6.5 17.5"></polyline></svg>
|
||||
|
After Width: | Height: | Size: 293 B |