Refactors site to use interactive terminal UI

Moves site from static HTML to a dynamic terminal interface.

This commit represents a major overhaul, introducing:
- A functional terminal emulator implemented in JavaScript.
- Command parsing and execution framework.
- Various terminal commands for navigation and utility functions.
- SASS conversion.

The old CSS and simple HTML are completely removed. A new Hugo theme is implemented.
This commit is contained in:
Dan 2025-12-08 13:46:35 +00:00
parent d22b4ec65a
commit 23369f4ace
46 changed files with 3524 additions and 860 deletions

View file

@ -1,63 +1,31 @@
baseURL: "https://ritual.sh/"
title: ritual.sh
paginate: 5
theme: PaperMod
theme: "hugo-starter"
enableRobotsTXT: true
buildDrafts: false
buildFuture: false
buildExpired: false
googleAnalytics: UA-123-45
enableEmoji: true
# Fixed: Changed from 'paginate: 5' to pagination block
pagination:
pagerSize: 5
minify:
disableXML: true
minifyOutput: true
params:
env: production # to enable google analytics, opengraph, twitter-cards and schema.
title: ritual
description: "Personal website of Dan Baker - Software Engineer"
keywords: [Blog]
author: Me
# author: ["Me", "You"] # multiple authors
images: ["<link or path of image for opengraph, twitter-cards>"]
DateFormat: "January 2, 2006"
defaultTheme: dark # dark, light
disableThemeToggle: false
ShowReadingTime: true
ShowShareButtons: false
ShowPostNavLinks: true
ShowBreadCrumbs: false
ShowCodeCopyButtons: false
ShowWordCount: true
ShowRssButtonInSectionTermList: true
UseHugoToc: true
disableSpecial1stPost: false
disableScrollToTop: false
comments: true
hidemeta: false
hideSummary: false
hideAuthor: true
showtoc: false
tocopen: false
mainSections:
- posts
- gear
env: production
label:
text: "ritual"
icon: /images/android-chrome-512x512.png
iconImageHeight: 35
iconHeight: 70
# profile-mode
profileMode:
enabled: false # needs to be explicitly set
enabled: false
title: ExampleSite
subtitle: "This is subtitle"
imageUrl: "<img location>"
@ -69,12 +37,7 @@ params:
url: posts
- name: Tags
url: tags
# home-info mode
homeInfoParams:
Title: "Im Dan. I live in the Golden Valley, Herefordshire. I work remotely as a software engineer, team leader, and system architect. "
Content: "I like to talk about engineering, networking, and system design. Theres a higher change I will also talk about many of my other interests photography, digital minimalism, lego, gaming and game dev, coffee, or the great outdoors."
socialIcons:
- name: instagram
url: "https://www.instagram.com/ritualphotos"
@ -85,26 +48,12 @@ params:
- name: lastfm
url: "https://www.last.fm/user/ritualplays"
analytics:
google:
SiteVerificationTag: "XYZabc"
bing:
SiteVerificationTag: "XYZabc"
yandex:
SiteVerificationTag: "XYZabc"
cover:
hidden: false # hide everywhere but not in structured data
hiddenInList: true # hide on list pages and home
hiddenInSingle: false # hide on single page
editPost:
URL: "https://github.com/<path_to_repo>/content"
Text: "Suggest Changes" # edit text
appendFilePath: true # to append file path to Edit link
# for search
# https://fusejs.io/api/options.html
hidden: false
hiddenInList: true
hiddenInSingle: false
fuseOpts:
isCaseSensitive: false
shouldSort: true
@ -112,8 +61,9 @@ params:
distance: 1000
threshold: 0.4
minMatchCharLength: 0
limit: 10 # refer: https://www.fusejs.io/api/methods.html#search
limit: 10
keys: ["title", "permalink", "summary", "content"]
menu:
main:
- identifier: about
@ -132,17 +82,19 @@ menu:
name: tags
url: /tags/
weight: 20
# Read: https://github.com/adityatelange/hugo-PaperMod/wiki/FAQs#using-hugos-syntax-highlighter-chroma
pygmentsUseClasses: true
markup:
highlight:
noClasses: false
# anchorLineNos: true
# codeFences: true
# guessSyntax: true
# lineNos: true
# style: monokai
# Fixed: Added goldmark renderer to allow raw HTML
goldmark:
renderer:
unsafe: true
module:
imports:
- path: github.com/hugo-mods/lazyimg
- path: github.com/hugo-mods/lazyimg