Compare commits

239 Commits
main ... prod

Author SHA1 Message Date
011e887dbc Change the edited attribute to lastmod which is already implemented by the theme. 2025-12-08 08:25:48 -07:00
849cd8dca9 Add installation guides. 2025-12-08 08:23:28 -07:00
1c16b836a1 Shorten the subtitle and move its wording to the introduction. 2025-12-08 07:45:32 -07:00
6ad401b951 Spellcheck the new article. 2025-12-08 07:40:43 -07:00
4451eed3d0 Add email address to the bottom of each post. 2025-12-08 07:38:50 -07:00
21042fe8e0 Finalize content for Linux laptop article. 2025-12-08 07:38:33 -07:00
fd13570a30 Add draft with exerpt from a recent conversation about Linux laptops. 2025-12-08 07:09:11 -07:00
1ce075d1f8 Add more fields to the poetry archetype. 2025-12-08 07:07:54 -07:00
2650a586fc Change the default.md archetype to posts.md so it is used automatically by hugo new. 2025-12-08 07:07:41 -07:00
a2cd6c853c Add subheader in draft content. 2025-11-21 17:59:08 -07:00
ea2d23957d Reword as to not use you. 2025-11-21 11:25:01 -07:00
a4e02a0c43 Keep the draft tag until actually publishing. 2025-11-21 11:24:25 -07:00
80f8880aa9 Move information on layouts into main README since Hugo was actually trying to parse it as a layout file. 2025-11-21 11:23:52 -07:00
ed79eb891c Begin a file of WHY check-ins are bleh. 2025-11-21 11:20:27 -07:00
ab7d911937 Additional content for Am I Alive? 2025-11-21 11:20:10 -07:00
c547eac69e Add a README to the shortode folderwhich explains a few things.. 2025-11-21 11:19:53 -07:00
5cffb1ea62 Add a shortcode to hide blocks of content. 2025-11-21 11:19:39 -07:00
144ce59f3b Add ability to create comments by just allowing anything in the template and not doing anything with it. 2025-11-21 11:12:32 -07:00
a89665f6a4 Add ability to flag certain content as a Work In Progress or TBD. This makes it more noticeable in both content file and webpage. 2025-11-21 11:12:00 -07:00
9f8ab1d2d5 Remove extra whitespace in external links. 2025-11-21 11:11:16 -07:00
79ae67a4c0 Help the code block text stand out better by defining the languages. Remove the horizontal lines. 2025-11-21 10:01:18 -07:00
e5854a5778 Fixes for page formatting, some things were still a bit wonky. Looking better now for blogposts, tech guides, and poetry with audio sections. 2025-11-21 10:00:38 -07:00
27da4cbadd Begin adding content to a pinned blogpost. 2025-11-21 09:59:55 -07:00
f6e36aa6c6 If no text is provided for external-link, use the URL as the text. 2025-11-21 09:59:33 -07:00
f9be04dc7d Move to YAML for config, much easier to read and write. Got TOC hierarchy now working as expected. Other sections like goldmark and menu now make more sense too. 2025-11-21 09:58:19 -07:00
26964d8675 Addd TBD for CAD images. 2025-11-19 20:42:41 -07:00
de78abd352 Add TBD's to finish implementing external links. 2025-11-19 20:38:20 -07:00
6123692906 Prevent URLs from becoming links by markdownify. 2025-11-19 20:35:56 -07:00
20f874a586 Add break so that Odysee videos are never inline. 2025-11-19 20:35:38 -07:00
b3531c6f1f Do not end HTML shortcode tags on their own line, sometimes causes page to fail loading. 2025-11-19 20:29:57 -07:00
c3d905aa15 Fix external URLs and remove old URL markdown. 2025-11-19 20:20:19 -07:00
62048fa055 Shorten title for Apple WiFi Issues. 2025-11-19 20:18:30 -07:00
b654c9db08 Ensure shortcode alt text gets displayed as markdown. 2025-11-19 20:17:17 -07:00
15bf95cdfa Display external link text as markdown. 2025-11-19 20:16:02 -07:00
bbf9428ea9 Change camping chair article to completely use external links. 2025-11-19 20:15:47 -07:00
2a9523a63b Move embed for Odysee into a shortcode. 2025-11-19 20:08:44 -07:00
0a9c7270fb Remove excess newlines. 2025-11-19 20:08:14 -07:00
98db946a83 Add the viking chair's CAD images from Cognitive Delight. 2025-11-19 20:02:44 -07:00
15850d3c92 Add ability to have a fallback image if the primary no longer exists. 2025-11-19 20:02:17 -07:00
04eab8ff39 Finalize edits to the Apple WiFi article. 2025-11-19 20:01:48 -07:00
8d1be5af57 Release the Apple WiFi help guide. 2025-11-19 19:28:52 -07:00
54b7f45754 Large set of edits for Apple WiFi article. 2025-11-19 19:21:32 -07:00
8b039b54d1 Add method for creating links which open in new tabs. 2025-11-19 19:21:08 -07:00
419e8e3383 Beginning reviews and edits on Apple wifi post. 2025-11-19 14:33:42 -07:00
8729da7efb Simplify example hierarchy at the end. 2025-11-19 13:03:07 -07:00
427018d2c8 Add article on fixing Apple WiFi issue. Still needs spellchecking and review. 2025-11-19 13:01:46 -07:00
70ccf6d733 Add missing tags to SSH Keys. 2025-11-19 13:01:27 -07:00
94c1331121 Change 'disease' to 'sickness'. 2025-11-19 11:19:21 -07:00
d43b5959bf Align the dates better with th e comments. 2025-11-17 18:07:31 -07:00
696a2e635e Ensure that eBooks is capitalized correctly. 2025-11-17 18:07:17 -07:00
15edd8f006 Add a few more outline sections to will. 2025-11-17 18:07:07 -07:00
98b3edb7a8 Show the pinned category with a paperclip as well. 2025-11-17 18:01:57 -07:00
af0fe569a3 Do not show a tag, series, or category if it is called pinned. 2025-11-17 17:59:40 -07:00
1543c5602f Add a section in the footer to denote that the article is pinned. 2025-11-17 17:59:22 -07:00
a10daf86fd Add a paperclip icon for pinned articles. 2025-11-17 17:59:02 -07:00
927613629f Add aliases to eBooks. 2025-11-17 17:39:45 -07:00
207f95f374 Edits to My People. 2025-11-17 17:39:31 -07:00
cc40cf9540 Greatly increase pagination variable. Setting to 0 and -1 do not disable the feature, unfortunately. 2025-11-17 17:39:16 -07:00
8fa2423e98 Only show the subtitle if it's an article, not a tag, series, or category list, by checking if the date and author are also set. 2025-11-17 17:38:45 -07:00
e9a32cced5 Further edits and addition of content for My People. 2025-11-17 13:56:55 -07:00
2cfef15d49 Add tags to My People post. 2025-11-17 13:37:21 -07:00
7a4539fab4 Spellcheck the My People post. 2025-11-17 13:35:19 -07:00
b724d280c5 Add an initial, unfinished, unrevised, and unedited version of My People. 2025-11-17 13:33:14 -07:00
86f5c90096 Enhance main menu's list homepages. 2025-11-16 20:59:24 -07:00
a8a69ea376 Allow markdown in a list's subtitle field. 2025-11-16 20:58:14 -07:00
5159751b44 Fully implement the food list comment. 2025-11-16 20:50:17 -07:00
ca6e98ecef Remove author from list indexes. 2025-11-16 20:48:59 -07:00
026adf68a5 Add subtitle for book tags. 2025-11-16 20:48:46 -07:00
9ea203b2f7 Use strong for subtitle now that headers are truly headers again. 2025-11-16 20:44:07 -07:00
7da019a2ee Add placeholder for eventual Odysee content shortcode. 2025-11-16 20:23:21 -07:00
cc8110901c Add audio to all poems. 2025-11-16 20:20:21 -07:00
58ee8ddb68 Continue adjusting style so that posts are more succint. 2025-11-16 20:19:39 -07:00
2362423a87 Refactor the poem's author to be prettier. Does not affect functionality 2025-11-16 19:49:47 -07:00
d4e76877e9 Add more CSS elements and be more specific with header sizes. 2025-11-16 19:49:11 -07:00
c53161a723 Make the recipe's author prettier. 2025-11-16 19:48:40 -07:00
5098f4ac1e Remove deprecated / unused shortcodes. 2025-11-16 19:48:22 -07:00
789fd6ec8d Fix recipe, did not realize it was not formatted properly. 2025-11-16 19:48:00 -07:00
a7c437c14b Finalize the pinto bean recipe. 2025-11-16 19:32:38 -07:00
73b1f415f6 Use a header on lists now that the gaps have been fixed. 2025-11-16 19:32:23 -07:00
82b6f78627 Reduce the amount of space above and below headers. Now things seem much easier to read!! 2025-11-16 19:32:03 -07:00
4b13c1a771 Change eBooks menu item to Books. 2025-11-16 19:31:15 -07:00
e94792ce04 Make the author title case for testing. 2025-11-16 19:02:13 -07:00
ca54b70d56 Add logic for Default author. Make parameter lowercase for easy of validation. 2025-11-16 19:01:32 -07:00
0f332ec4ee Run the byline partial if the author tag is present, even if it's null. 2025-11-16 19:00:41 -07:00
8c434ab71d Simplify article which use HyperVegan as author. 2025-11-16 18:49:42 -07:00
d836315946 Simplify articles which use HyperVegan as author. 2025-11-16 18:49:16 -07:00
854cdf2fd7 Simplify articles which use Hyperling as author. 2025-11-16 18:49:05 -07:00
67fcc20a3a Simplify articles which use Bug as author. 2025-11-16 18:48:44 -07:00
2ea3d73112 Remove author from list indexes. 2025-11-16 18:47:48 -07:00
8d9cee36bf Add a default author. 2025-11-16 18:47:29 -07:00
c2b53e85d2 Place the modified single.html back into _default. Copy + modify layout/posts/single.html from the hello-friend-ng theme. 2025-11-16 18:40:07 -07:00
e60c63626b Rename partial author to byline. 2025-11-16 18:30:47 -07:00
7b8342eba0 Remove the 'by' portion from shortcode. 2025-11-16 18:30:35 -07:00
d8ef8a370a Use partial and shortcode for author on gulllible poem. 2025-11-16 18:29:09 -07:00
3f2b174a93 Do the author partial like how the author shortcode needed done. 2025-11-16 18:28:39 -07:00
53deccc716 Get the author shortcode working properly as well. 2025-11-16 18:28:07 -07:00
500eee955d Refactor to avoid excess spaces and newlines in output. 2025-11-16 18:25:29 -07:00
0471787ed5 Call the author partial rather than simply placing the author in the content. 2025-11-16 18:25:08 -07:00
303d51066a Add author names to site config. 2025-11-16 18:24:41 -07:00
e67709bb0d Add a working partial which gets the full author name from the site config file. 2025-11-16 18:24:30 -07:00
a9377c0817 Add shortcode for audio. 2025-11-16 17:38:05 -07:00
03738c6660 Add missing hyphens to end of poems. 2025-11-16 12:50:26 -07:00
0c0d912e4d Attempt to add a different single.html for poetry. Hugo does not seem to notice. 2025-11-16 12:49:17 -07:00
48c2aeff49 Learning if-then in Hugo/Go templates. 2025-11-16 12:48:34 -07:00
c143eae7c5 Use shortcode for the byline. 2025-11-16 12:22:05 -07:00
574715a9a5 Correct the author, food topics are HyperVegan. 2025-11-16 12:21:43 -07:00
f16adabe36 Add shortcodes. 2025-11-16 12:20:07 -07:00
20aaa302ad Refactor front matter. 2025-11-16 11:58:08 -07:00
7598116ffa Refactor the tags to be a list format rather than array. 2025-11-16 11:57:51 -07:00
8e7ae95780 Use the new tags partial properly. 2025-11-16 11:57:22 -07:00
cad77175e2 Fix extra semi-colon in series CSS. 2025-11-16 11:57:05 -07:00
4b59058e95 Add partials for tags and categories based on the now finished series partial. 2025-11-16 11:56:44 -07:00
a07a87f838 Add local icons and a note on where they came from. They are contained in folders denoting the size and color. 2025-11-16 11:51:06 -07:00
d6291eb290 Moved series2.html over series.html, remove reference to old file. 2025-11-16 11:49:38 -07:00
24dcb51281 Use local SVG icons rather than drawing them. 2025-11-16 11:49:04 -07:00
2e76bf14f2 Update wording to show that allergens do not completely/always align with dog/rabbit allergies. 2025-11-16 11:16:35 -07:00
2178d14790 Use the subtitle on the food list. 2025-11-16 11:13:10 -07:00
d80b284b2f Change the list page to still have the title and subtitle, but make them smaller yet still able to stand out. 2025-11-16 11:12:58 -07:00
b7c6d8657d Change main header to be an H1 so that article TOC flows better (not that it's working 100% as desired yet, though!). 2025-11-16 11:12:33 -07:00
2e8ce5b686 Moving single.html to the posts type gets it working, yay! Still unsure why _default was not being used, it works for list and baseof though. 2025-11-16 11:05:26 -07:00
1a9d159502 Change new script's permissions. 2025-11-16 11:03:46 -07:00
2f1401e085 Finalize new poems. 2025-11-16 11:03:29 -07:00
af8e2649b2 Add by-line, even though still not being rendered. 2025-11-16 11:03:08 -07:00
867e9f596b Add a small script which ensures the submodules are loaded before starting the development server. 2025-11-16 10:50:18 -07:00
cac4f0930f Add a poem regarding the gulllibility of folks. 2025-11-16 10:49:48 -07:00
41ab07dda9 Add a poem for Self-Love. 2025-11-16 10:48:48 -07:00
863814cae4 Add 2025 birthday poem. 2025-11-16 10:35:41 -07:00
11d3782660 Move poetry defaults tp top level, was not working properly on another device. 2025-11-16 10:31:38 -07:00
9d75d03c7a Add a section on what to do with the Lynis results. 2025-11-16 09:38:09 -07:00
99ac6bc550 Add a trailing newline to meta file. 2025-11-16 09:26:15 -07:00
45f196b6ca Show the subtitle from list indexes. 2025-11-16 09:26:06 -07:00
3837fb901f Remove subtitles from list indexes. 2025-11-16 09:25:47 -07:00
8db8015791 Simplify food recipe text. 2025-11-16 09:06:31 -07:00
6dafca0137 Fix newlines in gitignore. 2025-11-16 09:03:03 -07:00
85c2e0bcf8 Change website to SEO article type after all. 2025-11-16 09:00:24 -07:00
dbebbc17b8 Use h2 so that there is not as large of a gap between the header and content. 2025-11-16 09:00:09 -07:00
d2189b6d42 Place poetry archetype under posts. Still not working by default, but tested successfully with `-- kind poetry. 2025-11-16 08:59:47 -07:00
7a9d6a6583 Change posts archetype to be the default. 2025-11-16 08:59:05 -07:00
da010d3962 Remove comment after researching. Change subdomain. 2025-11-16 08:43:21 -07:00
7861b85a8d Correct the Subtitle tag. Local single still not working over the theme though. 2025-11-16 08:35:16 -07:00
6344bca49f Correctly add Tag0 and Subtitle to list output. 2025-11-16 08:34:05 -07:00
6d339429bd Load a meta page which holds SEO type information. 2025-11-16 07:53:28 -07:00
22d6555258 Show the subtitle in the list view. 2025-11-16 07:52:58 -07:00
81180db034 Show the subtitle if it exists. Custom single still does not seem like it's being loaded, still the theme version? 2025-11-16 07:52:43 -07:00
8e93082439 Try using a subtitle. 2025-11-16 07:51:40 -07:00
03dbf09a32 Hide blogposts menu item until the cntent is ready. 2025-11-16 07:51:01 -07:00
5e342af097 Spellcheck viking chair post. 2025-11-16 07:34:39 -07:00
13abde7352 Fix taxonomy for Health eBook. 2025-11-16 07:34:14 -07:00
c01eff270e Make the file more consistent with others. Fix its taxonomy. Spellcheck. 2025-11-16 07:33:47 -07:00
4d74d18d40 Add header tag fxes from main file. 2025-11-16 07:22:16 -07:00
eb5212b724 Pluralize the main tag. Change series to be a genre, not just related to category. 2025-11-16 07:19:55 -07:00
ebb32f84c9 Make the menu tags plural again. 2025-11-16 07:19:21 -07:00
01913fae9e Add aliases tag. Fix date quotes. Move draft tag to the top so it is easy to spot. 2025-11-16 07:16:44 -07:00
cc1ccb0be3 Add a better default name. 2025-11-16 07:14:41 -07:00
f80f37c537 Use full nme, add quotes to header data other than taxonomies, sligtly reword the line which has been modified a few times already. 2025-11-16 07:14:18 -07:00
20aedf7567 Use full name. 2025-11-16 07:13:25 -07:00
5e72771e60 Remove quotes from taxonomy section. 2025-11-16 07:02:48 -07:00
7ea4a8f6ef Fix measurement for seat hole slot. 2025-11-16 07:01:50 -07:00
7a92b2499a Change two of the PSAs into the Solitude series. 2025-11-13 22:02:24 -07:00
f27273ad83 Enhance wording. 2025-11-13 22:02:01 -07:00
129ed3313a Attempt to show series in footer area. Doesn't seem to be changing anything? 2025-11-13 21:59:48 -07:00
5ffb04d102 Change PSA category to blogposts. 2025-11-13 21:58:59 -07:00
34517a429a Fix the link to crafts. 2025-11-13 21:58:26 -07:00
cfe039bb2c Uncomment menu for Blogposts. 2025-11-13 21:44:34 -07:00
f848686503 Add unfinished PSAs to Blog section. 2025-11-13 21:44:16 -07:00
c00c8fda28 Change folder name from guides to tech. 2025-11-13 21:44:00 -07:00
abbde66cae Change category to be plural for consistency. 2025-11-13 21:22:24 -07:00
c2d2cc3360 Movie series above categories for consistency. 2025-11-13 21:22:02 -07:00
e34e6eada3 Ensure tags are singular. 2025-11-13 21:21:41 -07:00
2685d0f829 Swap tag and category since "EBook" looked bad. 2025-11-13 21:21:23 -07:00
ead7fc5408 Reword the Posts index and suggest Category before Tags. 2025-11-13 21:20:45 -07:00
c217bfb39a Add index file for Categories. 2025-11-13 21:20:22 -07:00
24acf79b10 Add H2 so that TOC looks better. Other small changes. 2025-11-13 21:20:05 -07:00
939af0db20 Change the date back to preoprly be today now that articles are both showing up. 2025-11-13 21:06:55 -07:00
eb3959805f Shorten title. Move date to more consistent location. 2025-11-13 21:06:23 -07:00
8c536089b1 Remove the attempt at changing the TOC levels since they do not seem to be taking effect. 2025-11-13 21:00:43 -07:00
626af9629e Change to previous day since some list pages do not seem to handle two posts on the same day very well. 2025-11-13 21:00:11 -07:00
feb58e4ff0 Remove draft and fix full date. 2025-11-13 20:59:22 -07:00
bd3eb90983 Change books to stay in this subsite. Add section for tech. Uncomment the Poetry section. 2025-11-13 20:58:59 -07:00
0e316888b8 Finish and activate the poem. 2025-11-13 20:45:38 -07:00
99827e7328 Update the ssh key post for consistency with system hardening. 2025-11-13 20:45:26 -07:00
5e167e8403 Finish the system hardening guide. 2025-11-13 20:45:05 -07:00
0120f08a06 Try getting TOC to go deeper but stops pages from generating properly. 2025-11-13 20:22:42 -07:00
b24be4288a Add tech guides. 2025-11-13 20:22:16 -07:00
3e70e0784f Add books. 2025-11-13 20:22:04 -07:00
e557486cea Move post files to subfolders. 2025-11-13 20:21:46 -07:00
af76888031 Update READE to reflect upcoming changes. 2025-11-13 20:21:16 -07:00
3de7c080a9 Add note of the domain change as a TBD. 2025-11-13 18:18:36 -07:00
85dbcaf449 Fix casing and punctuation in unsure part. 2025-11-10 16:58:37 -07:00
6f4c2bb4d6 Still slightly unsure of how to word the 2nd line. 2025-11-10 16:57:56 -07:00
0f17647677 Fix category element name. 2025-11-08 15:19:06 -07:00
7d737ef610 Pluralize the categories. Fix the element name. Remove the comment since it would get copied to all new files. 2025-11-08 15:18:49 -07:00
57cb830c7c More playing with the pinto table. 2025-11-08 15:16:49 -07:00
3d776b0c25 Add a poem from the other day. 2025-11-08 15:16:30 -07:00
8d09f1e935 Add my version of posts archetype. 2025-11-08 15:07:47 -07:00
cb4ebddd33 Add directions for refired pinto beans. 2025-11-08 15:07:33 -07:00
1092576efe Add table of contents. 2025-11-08 14:49:51 -07:00
a4153918d7 Begin adding recipe for refried pinto beans while testing hugo new command. 2025-11-08 14:49:43 -07:00
cf28512422 Make the posts page more succinct. 2025-11-05 12:33:23 -07:00
03f0921e81 Fix categories not showing its list properly. 2025-11-05 12:33:11 -07:00
e469d3b9cf Remove headers. Fix casing. Add URL to category page. 2025-11-05 12:30:22 -07:00
5d921166b9 Reorder parameters and try adding submenus. 2025-11-05 12:30:00 -07:00
ea0bd8a4f8 Update favicon styling, size, and theme. 2025-11-05 12:16:51 -07:00
5399675a4b Add custom index file titles. 2025-11-05 12:08:42 -07:00
047f8639ab Put the baseURL back as root. 2025-11-05 12:05:58 -07:00
3a51b543c4 Bulk changes for favicon, site title and subtitle rewording, and playing with tags / categories. 2025-11-05 12:05:31 -07:00
7da72175e8 Undecided between "Blog" and "Works". I still prefer "Musings" but the definition does not match what I thought it was. Add a link to eBooks. 2025-11-05 07:33:52 -07:00
5ad587d954 Change wordinf for food index. 2025-11-05 07:27:05 -07:00
24f36167ef Configure site title and subtitle more thoroughly. Add sections blogposts and poetry for when they exist. 2025-11-05 07:23:39 -07:00
708259400c Remove unnecessary "NOTE" pretext. 2025-11-05 07:04:22 -07:00
ef1e1047f4 More edits for wooden chair recipe. 2025-11-05 06:58:53 -07:00
d9190236b8 Reformat the tool and ingredient section. 2025-11-05 06:34:35 -07:00
55f27e21fe Add the chair video. Finalize the carry case section. Reviewing and editing full document. 2025-11-05 06:17:40 -07:00
7d710e2fa4 Remove langiage switcher. Allow raw HTML. 2025-11-05 06:08:53 -07:00
1721d50882 Add an index fie for tags page. 2025-11-05 05:28:56 -07:00
1141a33da3 Fix food recipe wording. 2025-11-05 05:26:33 -07:00
f33088d00e Add landing pages for primary tags. 2025-11-03 18:37:18 -07:00
0418e22cad Add more tags to food recipe. 2025-11-03 08:58:56 -07:00
d4aee13652 Add proper text to the index files. 2025-11-03 08:56:35 -07:00
886bc684bd Add tag. 2025-11-03 08:54:46 -07:00
cb471290a1 Try just using root as baseURL so that recipes work properly on dev and stage sites. 2025-11-03 08:46:23 -07:00
fe7119a197 Add comment block around params from the Github page. 2025-11-03 08:41:55 -07:00
95382b4bca Move content to posts folder. Changes to the wooden chair recipe. Try out other themes. 2025-11-03 08:38:11 -07:00
ef3b783170 Add notes to the sections which are not completed yet. 2025-10-30 08:01:42 -07:00
dea57439ea Chabge to use a URL instead of trying to embed a video, 2025-10-30 06:29:47 -07:00
7b1e539f5b Move recipes into the content path. 2025-10-29 22:18:44 -07:00
d87ecfd8b5 Use a theme with a decent dark mode. Still not quite what's needed, not handling multiple content folders or tagging properly. 2025-10-29 22:18:30 -07:00
dcf874a11a Change header wording. 2025-10-29 21:56:31 -07:00
3cb71a0ecd Finalize carry case section. Add placeholder for the video. 2025-10-29 21:54:42 -07:00
e2a28edb3c Fix the recipes submodule. 2025-10-29 21:49:00 -07:00
4dfd00a121 Finish adding coordinates and add tentative text for carry case section. 2025-10-29 21:48:49 -07:00
203bc6f63e Finish th recipe by adding the last TBD. Add the coordinates of the points. 2025-10-29 21:21:26 -07:00
6e8b96ae04 Fix the recipes submodule accidentally being created in root project folder. 2025-10-29 21:20:56 -07:00
1499a6b3c5 Add list of themes and their respective sites. 2025-10-17 15:47:30 -07:00
539a0afe3a Add another possible recipe-oriented theme. 2025-10-17 15:47:16 -07:00
47d6142209 Add a theme as a submodule. 2025-10-17 15:39:31 -07:00
dae43818f6 Add default hugo site. 2025-10-17 15:38:00 -07:00
fc1467de30 Add super detailed recipe for Viking Chair, with ASCII diagrams, LOL!! 2025-10-03 14:03:03 -07:00
6663a571d0 Add an example recipe to a temporary folder.. 2025-09-17 09:02:06 -07:00
1225 changed files with 3572 additions and 3 deletions

1
.gitignore vendored
View File

@@ -12,4 +12,3 @@ hugo.linux
# Temporary lock file while building # Temporary lock file while building
/.hugo_build.lock /.hugo_build.lock

6
.gitmodules vendored Normal file
View 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

View File

@@ -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
View 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
View 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

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

5
content/_index.md Normal file
View 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.

View File

@@ -0,0 +1,5 @@
---
title: "All Categories"
---
Categories attributed to recent articles. You may also [view all articles by date here](/posts).

View File

@@ -0,0 +1,3 @@
---
title: eBooks
---

4
content/posts/_index.md Normal file
View 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)."
---

View 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! :)" %}}

View 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]

View 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

View 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
```

View 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.

View 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)

View 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/)

View 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" >}}

View 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. :)

View 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" %}}

View 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" >}}

View 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" %}}

View 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!

View 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.

View 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 ~]$
```

View 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/" %}}

View 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
```

View 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
View 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).

View File

@@ -0,0 +1,4 @@
---
title: Books
subtitle: eBooks I've authored to date.
---

View File

@@ -0,0 +1,4 @@
---
title: "Crafts"
subtitle: "Fun projects with useful outputs. ^_^"
---

View 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.

View File

@@ -0,0 +1,4 @@
---
title: "Poetry"
subtitle: "Poems with audio readings."
---

View File

@@ -0,0 +1,4 @@
---
title: "Tech"
subtitle: "Guides for computer related topics. 🤓"
---

186
hugo.yaml Normal file
View 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 ###

View 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>

View 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 }}

View 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 }}

View 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
}}

View 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 }}

View File

@@ -0,0 +1,2 @@
{{ $email := .email | default .Email
}}<a href="mailto:{{ $email }}">{{ $email }}</a>

View 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" />

View 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">

View 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 }}

View 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 }}

View 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
View 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 }}

View 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>

View 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
}}

View File

View File

@@ -0,0 +1 @@
[me@hyperling.com](mailto:me@hyperling.com)

View 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>

View File

@@ -0,0 +1 @@
{{ if .Inner }}{{ end }}

View 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 }}';">

View 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>

View File

@@ -0,0 +1,3 @@
{{ $text := .Get 0
}}{{ partial "wip.html" (dict "text" $text "sep" "TBD")
}}

View 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
View 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

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

34
static/css/style.css Normal file
View 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

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

BIN
static/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

1
static/favicon.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 17 KiB

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

Some files were not shown because too many files have changed in this diff Show More