commit fe92cc06ddedab6dfa9080c212d7c77767f9b2b0 Author: Madeleine Date: Fri Apr 7 23:19:05 2023 +0100 initial commit diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..0da2f68 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,6 @@ +[submodule "themes/themes/risotto"] + path = themes/themes/risotto + url = https://github.com/joeroe/risotto.git +[submodule "themes/risotto"] + path = themes/risotto + url = https://github.com/joeroe/risotto.git diff --git a/.hugo_build.lock b/.hugo_build.lock new file mode 100644 index 0000000..e69de29 diff --git a/archetypes/default.md b/archetypes/default.md new file mode 100644 index 0000000..00e77bd --- /dev/null +++ b/archetypes/default.md @@ -0,0 +1,6 @@ +--- +title: "{{ replace .Name "-" " " | title }}" +date: {{ .Date }} +draft: true +--- + diff --git a/config.toml b/config.toml new file mode 100644 index 0000000..a078d14 --- /dev/null +++ b/config.toml @@ -0,0 +1,46 @@ +# Website +baseURL = "https://spyhoodle.me" +languageCode = "en-gb" +title = "spyhoodle.me" +theme = "developer" +author = "Madeleine" + +# Enable _index.md +[params] +noindex = false + +# Theme colours +[params.theme] +palette = "base16-dark" + +# Sidebar: about +[params.about] +title = "spyhoodle.me" +description = "Maddie's personal website with blog posts, tutorials, and opinions." + +# Sidebar: social +[[params.socialLinks]] +icon = "fa-brands fa-github" +title = "GitHub" +url = "https://github.com/SpyHoodle" + +[[params.socialLinks]] +icon = "fa-solid fa-envelope" +title = "Email" +url = "mailto:maddie@spyhoodle.me" + +[[params.socialLinks]] +icon = "fa-solid fa-lock" +title = "Matrix" +url = "@maddie:spyhoodle.me" + +[menu] +[[menu.main]] + identifier = "articles" + name = "articles/" + url = "/articles/" + +[[menu.main]] + identifier = "updates" + name = "updates/" + url = "/updates/" diff --git a/content/_index.md b/content/_index.md new file mode 100644 index 0000000..33ee806 --- /dev/null +++ b/content/_index.md @@ -0,0 +1,21 @@ +--- +title: "spyhoodle.me" +date: 2023-04-03T20:18:46+01:00 +--- + +# 🏳️‍⚧️ Maddie's Website +Welcome to my small corner of the internet. + +--- + +## About myself +I'm a 📔 college student interested in 🖱️ computer science, 🧰 engineering, and ⚛️ physics. + +## Contact me +- 🔓 Email: maddie@spyhoodle.me +- 🔒 Matrix: @maddie:spyhoodle.me +- 🔒 Signal: My personal phone number + +## About the site +- It'll contain mostly my blog and projects. +- It's still a work in progress. diff --git a/content/articles/casio.md b/content/articles/casio.md new file mode 100644 index 0000000..409ebb0 --- /dev/null +++ b/content/articles/casio.md @@ -0,0 +1,31 @@ +--- +title: "Casio Watches" +date: 2022-08-04T22:32:24+01:00 +--- + +Many people may know Casio as the calculator brand, especially in the UK. However, Casio is also known for their impressive, functional, reliable and stunning watches. Recently, I have discovered the Casio world of watches, and I must say they have shot up to one of my favourite brands of all time (as mindless capitalist consumerist that sounds.) + +## Why the Casio watch? +- Reliability - They will continue to work effortlessly without glitches or bugs. Their batteries last for up to 10 years on some watches! Some watches even charge with solar power, meaning that you'll always have the time. +- Accuracy - They keep time much better than a mechanical watch (+/- 15s a month), and some Casio watches even sync to atomic clocks every night for constant accuracy down to the millisecond. Accuracy is very important to me as keeping things on time is as important to me as breathing. +- Strength - Some Casio watches are known as "G-Shock," which is really it's own brand and set of watches. They are built to be unbreakable and rugged, surviving drops, large depths of water and scratches. G-Shocks are pretty much unbreakable. Casio watches in general are built strong, they won't fall apart unless you really try to break them. +- Functionality - They come with all the functions that you will ever need in a watch with no extra rubbish you find in smartwatches; they are the most minimal and perfect watches for any use case. +- Range - There are so many different watches for different use cases, there really is a watch for everyone from Casio. +- Affordability - Casio watches come at a fraction of the cost of shiny expensive mechanical watches that provide little function other than supposed "style." +- Aesthetics - Vintage Casio watches have a retro aesthetic that no other brand like Casio can master. They are becoming increasingly popular because of the design that is so unique to Casio. The retro designs are just perfect, with no margin for error, unlike some other brands that try and pull off the same look. +- Disconnection - No more relying on Apple or Samsung to update your watch, keep the time in sync or even to keep it working. There's no relying on a phone, which may one day make your watch useless or obsolete (take the Pebble watch for example.) Casio watches are yours - they give you freedom and control. With this, you get privacy as well as reliability. Yes, other watches by design offer this too, but without the functionality of a Casio watch, meaning that you don't have to have a smartwatch for functionality. +- Repairability - They have replaceable batteries, and replaceable everything really - unlike incredibly locked down smartwatches, a battery replacement only takes a few minutes and a cheap £1-3 battery. They mostly use plastic glass covers, which when scratched can be easily repaired with some PolyWatch. In addition, a lot of Casio watches are extremely cheap, so if you manage to break them completely, you can always replace them. +- Modable - Thanks to the large community around these watches, you can parts almost anywhere to add to your watch. Whether it be bumper bars, a screen protector, a new case or strap, you can always customise and make your Casio different than the rest. + +## Ditching the smartwatch +I previously used an Apple Watch, and found it incredibly useful for school, being able to see messages and my upcoming classes. As I've moved on, I'll no longer need these features, and instead I would take the features of a Casio over a smartwatch anytime. I now have watches that are in my control, and are not in control of some big tech corporation which now knows literally every bit of information about me. I have gotten fed up of charging my watch every single night, and often by accident missing a charge. I now have timekeeping available to me always. +(Well, I still wear a smartwatch, on my other wrist, pretty much for notifications only and reminders at college.) + +## My Casio watches +So far, I have only added two to my collection, and they are the only two I think I will ever need. + +### Casio Royale (AE-1200WH-1AVCF) +I got this watch for it's amazing design and functionality in such a small package. This watch really does look high-tech, yet everything on it is genuinely useful. The tiny map display is so cool to look at, especially when travelling. It's incredibly affordable, at only £25, which is a bargain for the features. The ten-year battery in this watch means that I can keep it away, and when I need it for an event it'll always be ready for me. + +### G-Shock Square (GW-M5610U-1ER) +This watch will forever be my go-to, reliable, perfect watch. It has absolutely everything to keep it going forever, such as Casio's Tough Solar and Multi Band 6. The upgraded model ("U" in the model number) improves the previous model with some small but significant improvements which make the watch much better than the previous. This is my daily watch, ready to handle any situation I throw at it. diff --git a/content/articles/computers.md b/content/articles/computers.md new file mode 100644 index 0000000..86f8cbe --- /dev/null +++ b/content/articles/computers.md @@ -0,0 +1,6 @@ +--- +title: "Computers" +date: 2023-04-07T22:32:30+01:00 +draft: true +--- + diff --git a/content/articles/hdmi-vs-dp.md b/content/articles/hdmi-vs-dp.md new file mode 100644 index 0000000..a0171ad --- /dev/null +++ b/content/articles/hdmi-vs-dp.md @@ -0,0 +1,19 @@ +--- +title: "HDMI is terrible" +date: 2022-07-01T22:32:35+01:00 +--- + +There's nothing I hate more than the HDMI connector. DisplayPort beats it in 3 main areas. + +## Bandwidth +HDMI is always the worse connector when it comes to bandwidth. Recently HDMI 2.1 was introduced, which is has more bandwidth than DisplayPort 1.4, however DisplayPort 2.0 was also introduced which absolutely destroys HDMI 2.1. The bandwidth is up to ~80Gbps with the ability to fucking power two 8K monitors at 120Hz with 4:4:4 colour. Obviously such a monitor is yet to exist, but this makes DisplayPort much more future proof. Regardless, a lot of monitors only allow better features with display port connected - my LG UltraGear only overclocks with DisplayPort at 180Hz, and through HDMI provides a significantly lower refresh rate of just 100Hz. + +## Licensing +HDMI does not support the freedom and availability of technology. You have to pay a licence to add HDMI to your products. The concept of a licence is just shocking, it doesn't matter how much you have to pay - technology shouldn't be licensed or owned - standards like video connections should be available and free as in freedom. Choosing DisplayPort over HDMI means that you support free as in freedom technology and open standards for industry created by VESA. + +## Extra features +* DisplayPort works great with Thunderbolt USB-C. It allows laptops to be charged, and power two monitors with a single fucking cable. +* DisplayPort locks into place when you plug it in. This makes sure it can't come loose or be tugged out by small movements or gravity if it's a heavy cable. + +## In conclusion +The most annoying part is that HDMI has the advantage when it comes to consumers. Not many people understand the differences and since HDMI is available everywhere everyone just assumes it's a fine port. If a business makes a product and they want a single port, they'll choose HDMI as it's the most supported everywhere. And HDMI will keep making money off licences. diff --git a/content/articles/ipods.md b/content/articles/ipods.md new file mode 100644 index 0000000..1f0a585 --- /dev/null +++ b/content/articles/ipods.md @@ -0,0 +1,30 @@ +--- +title: "iPods" +date: 2022-09-04T22:32:39+01:00 +--- + +iPods are simple and effective music players, which don't have a high cost yet are probably the best music player you can buy. They are products that give you freedom over your music and control over your device. + +## Why are old iPods so great? +* Higher sound quality with a built in DAC for the shockingly rare included headphone jack. +* Supports high sound quality formats, like FLAC and ALAC. +* Mods - you can repair them, upgrade them, mod them etc. +* No internet connection - you won't suddenly loose your music if Apple or Spotify goes down. +* Less distraction - just plays music with some games you probably won't play again anyway. +* You own your music - you can buy music and put it on here (this is also better for artists.) +* Piracy - you can rip music off youtube and take it anywhere. You'll still be able to listen to it when the music on youtube is taken down. + +## Rockbox +If you don't like the proprietary Apple iPod operating system, there's an alternative called Rockbox. However devices without an internet connection (as long as your not syncing to iTunes) can't communicate back to apple or the internet, so I'd say there's no privacy concern here. With rockbox you do get more features and themes, but I prefer how the original operating system looks. + +## My iPods +I have a collection of iPods, for different reasons, and I have only actually bought one. + +### iPod Shuffle +This is probably my favourite and coolest iPod, it's a simple, small device that you can literally fit anywhere and play your favourite music playlist on (the storage is pretty limited.) There's no screen, no messing about, just press play. It even has a cool voice feature, where it can tell you the name of the song, battery level, etc. + +### iPod Mini (Gen 2) +Even though the storage is also kind of limited, it's enough for me. I love the screen, the old iPod design, and how easy it is to use. The UI is so simple and effective. I don't need album art. I don't need fancy graphics to look at. It's so minimal and yet does the job so well. + +### iPod Classic (Gen 6?) +This has the most storage, but I'm not a fan of this iPod because it's a bit too new, with a modern display and games and such. The UI also looks terrible, a lot worse compared to the iPod Mini. diff --git a/content/articles/planners.md b/content/articles/planners.md new file mode 100644 index 0000000..c14c776 --- /dev/null +++ b/content/articles/planners.md @@ -0,0 +1,21 @@ +--- +title: "Planners" +date: 2022-10-25T22:32:42+01:00 +--- + +I literally cannot find a good planner and it's driving me crazy. + +## A good planner would: +* Follow GTD - capture with an inbox, tags, etc. +* Be native - I don't want a slow unresponsive electron app +* Be open-source - I dont want people spying on what I'm actually doing +* Have an easy to use phone app - so I can check, update or add tasks from anywhere quickly +* Sync with git - reliable, easy, sustainable sync that doesnt require use of a cloud service +* Not be bloated - we don't need timers (super productivity) or calculators (taskwarrior) in our task managers +* Have do and due dates - one of the best features from things (app on iOS and macOS), saying when you'll do something but also keeping the date it's due for (i.e. assignments, projects) + +## Is there anything? +There literally nothing that ticks all of these boxes. It's shocking. Regardless, I would say that dstask is probably the best at the moment, but it's still a bit clunky, lacking an actual phone app and do dates, which is pretty critical to my work. + +## So, in conclusion +I'm probably going to have to make one of these things myself. diff --git a/content/updates/_index.md b/content/updates/_index.md new file mode 100644 index 0000000..3d5c5fb --- /dev/null +++ b/content/updates/_index.md @@ -0,0 +1,6 @@ +--- +title: "Updates" +date: 2023-04-04T12:29:40+01:00 +draft: true +--- + diff --git a/public/categories/index.html b/public/categories/index.html new file mode 100644 index 0000000..2966252 --- /dev/null +++ b/public/categories/index.html @@ -0,0 +1,30 @@ + + + + Categories | spyhoodle.me + + + + + + + + + + +
+

Categories

+
+ +
    +
+ +
+
+ + + + + diff --git a/public/categories/index.xml b/public/categories/index.xml new file mode 100644 index 0000000..18fce37 --- /dev/null +++ b/public/categories/index.xml @@ -0,0 +1,13 @@ + + + spyhoodle.me + https://spyhoodle.me/categories/ + Recent content in Categories on spyhoodle.me + Hugo -- gohugo.io + en-gb + + + + + + diff --git a/public/index.html b/public/index.html new file mode 100644 index 0000000..0fd451c --- /dev/null +++ b/public/index.html @@ -0,0 +1,31 @@ + + + + + spyhoodle.me + + + + + + + + + + +
+

Spyhoodle.me

+
+ +
    +
+ +
+
+ + + + + diff --git a/public/index.xml b/public/index.xml new file mode 100644 index 0000000..9bd4964 --- /dev/null +++ b/public/index.xml @@ -0,0 +1,13 @@ + + + spyhoodle.me + https://spyhoodle.me/ + Recent content on spyhoodle.me + Hugo -- gohugo.io + en-gb + + + + + + diff --git a/public/rss.svg b/public/rss.svg new file mode 100644 index 0000000..dfda038 --- /dev/null +++ b/public/rss.svg @@ -0,0 +1 @@ + diff --git a/public/sitemap.xml b/public/sitemap.xml new file mode 100644 index 0000000..985d880 --- /dev/null +++ b/public/sitemap.xml @@ -0,0 +1,11 @@ + + + + https://spyhoodle.me/categories/ + + https://spyhoodle.me/ + + https://spyhoodle.me/tags/ + + diff --git a/public/style.css b/public/style.css new file mode 100644 index 0000000..d3b2088 --- /dev/null +++ b/public/style.css @@ -0,0 +1,45 @@ +body { + font-family: sans-serif ; + background: #110000 ; + color: #ccc ; +} + +main { + max-width: 800px ; + margin: auto ; +} + +img { + max-width: 100% ; +} + +header h1 { + text-align: center ; +} + +footer { + text-align: center ; + clear: both ; +} + +/* For TAGLIST.HTML */ +.taglist { + text-align: center ; + clear: both ; +} + +/* For NEXTPREV.HTML */ +#nextprev { + /* The container for both the previous and next articles. */ +} +#prevart { + float: left ; + text-align: left ; +} +#nextart { + float: right ; + text-align: right ; +} +#nextart,#prevart { + max-width: 33% ; +} diff --git a/public/tags/index.html b/public/tags/index.html new file mode 100644 index 0000000..824cca8 --- /dev/null +++ b/public/tags/index.html @@ -0,0 +1,30 @@ + + + + Tags | spyhoodle.me + + + + + + + + + + +
+

Tags

+
+ +
    +
+ +
+
+ + + + + diff --git a/public/tags/index.xml b/public/tags/index.xml new file mode 100644 index 0000000..f20619d --- /dev/null +++ b/public/tags/index.xml @@ -0,0 +1,13 @@ + + + spyhoodle.me + https://spyhoodle.me/tags/ + Recent content in Tags on spyhoodle.me + Hugo -- gohugo.io + en-gb + + + + + + diff --git a/static/logo.png b/static/logo.png new file mode 100644 index 0000000..8ddb015 Binary files /dev/null and b/static/logo.png differ diff --git a/themes/developer/archetypes/default.md b/themes/developer/archetypes/default.md new file mode 100644 index 0000000..fdccff8 --- /dev/null +++ b/themes/developer/archetypes/default.md @@ -0,0 +1,4 @@ +--- +title: "{{ replace .Name "-" " " | title }}" +date: {{ .Date }} +--- diff --git a/themes/developer/exampleSite/config.toml b/themes/developer/exampleSite/config.toml new file mode 100644 index 0000000..5e67390 --- /dev/null +++ b/themes/developer/exampleSite/config.toml @@ -0,0 +1,16 @@ +baseURL = "https://mynewhugosite.com" +title = "My New Hugo Site" +theme = "hugo-starter" + +[menu] + [[menu.main]] + identifier = "posts" + name = "Posts" + url = "/posts" + weight = 10 + + [[menu.main]] + identifier = "about" + name = "About" + url = "/about" + weight = 20 diff --git a/themes/developer/exampleSite/content/_index.md b/themes/developer/exampleSite/content/_index.md new file mode 100644 index 0000000..0e6a35a --- /dev/null +++ b/themes/developer/exampleSite/content/_index.md @@ -0,0 +1,9 @@ +--- +title: "Home" +--- + +# Hi there + +Welcome to your new Hugo site. + +Now go build something great. diff --git a/themes/developer/exampleSite/content/about/index.md b/themes/developer/exampleSite/content/about/index.md new file mode 100644 index 0000000..6f5bcdb --- /dev/null +++ b/themes/developer/exampleSite/content/about/index.md @@ -0,0 +1,5 @@ +--- +title: "About" +--- + +Here's a bit about me. diff --git a/themes/developer/exampleSite/content/posts/my-first-post.md b/themes/developer/exampleSite/content/posts/my-first-post.md new file mode 100644 index 0000000..bc12660 --- /dev/null +++ b/themes/developer/exampleSite/content/posts/my-first-post.md @@ -0,0 +1,6 @@ +--- +title: "My First Post" +date: 2020-09-03T17:27:59+07:00 +--- + +Here's an example blog post. diff --git a/themes/developer/layouts/404.html b/themes/developer/layouts/404.html new file mode 100644 index 0000000..f3a7769 --- /dev/null +++ b/themes/developer/layouts/404.html @@ -0,0 +1,9 @@ +{{ partial "header.html" . }} + +

404 Page Not Found

+ +

This page doesn't exist.

+ +

<- 🚪 Go back to home

+ +{{ partial "footer.html" . }} diff --git a/themes/developer/layouts/_default/list.html b/themes/developer/layouts/_default/list.html new file mode 100644 index 0000000..3b81019 --- /dev/null +++ b/themes/developer/layouts/_default/list.html @@ -0,0 +1,22 @@ +{{ partial "header.html" . }} + +

{{ .Title }}

+
+ +{{ .Content }} + +{{ range.Data.Pages }} + +{{ end }} + +{{ partial "footer.html" . }} diff --git a/themes/developer/layouts/_default/single.html b/themes/developer/layouts/_default/single.html new file mode 100644 index 0000000..0a57222 --- /dev/null +++ b/themes/developer/layouts/_default/single.html @@ -0,0 +1,14 @@ +{{ partial "header.html" . }} + +

{{ .Title }}

+

+ +

+
+ +{{ .Content }} + +{{ partial "footer.html" . }} diff --git a/themes/developer/layouts/index.html b/themes/developer/layouts/index.html new file mode 100644 index 0000000..de7cc5f --- /dev/null +++ b/themes/developer/layouts/index.html @@ -0,0 +1,5 @@ +{{ partial "header.html" . }} + +{{ .Content }} + +{{ partial "footer.html" . }} diff --git a/themes/developer/layouts/partials/footer.html b/themes/developer/layouts/partials/footer.html new file mode 100644 index 0000000..20c1c78 --- /dev/null +++ b/themes/developer/layouts/partials/footer.html @@ -0,0 +1,9 @@ + + + + + + diff --git a/themes/developer/layouts/partials/header.html b/themes/developer/layouts/partials/header.html new file mode 100644 index 0000000..a7605a5 --- /dev/null +++ b/themes/developer/layouts/partials/header.html @@ -0,0 +1,22 @@ + + + + + + + + {{ if not .IsHome }}{{ .Title }} - {{ end }}{{ .Site.Title }} + + + + {{ with .OutputFormats.Get "rss" -}} + {{ printf `` .Rel .MediaType.Type .Permalink $.Site.Title | safeHTML }} + {{ end -}} + + + + + +{{ partial "nav.html" . }} + +
diff --git a/themes/developer/layouts/partials/nav.html b/themes/developer/layouts/partials/nav.html new file mode 100644 index 0000000..cf07600 --- /dev/null +++ b/themes/developer/layouts/partials/nav.html @@ -0,0 +1,14 @@ + diff --git a/themes/developer/readme.md b/themes/developer/readme.md new file mode 100644 index 0000000..c411d16 --- /dev/null +++ b/themes/developer/readme.md @@ -0,0 +1,20 @@ +# Hugo Starter Theme + +Dead-simple Hugo theme with everything you need to get started. Intended to be a starter for creating your own theme without including useless bloat like most Hugo themes. + +## Getting started + +Inside your project folder, copy the theme to your `themes` folder. Since you're just using it as a starter for your theme, remove the git history. + +```bash +git clone https://github.com/ericmurphyxyz/hugo-starter-theme themes/your-theme-name +rm -rf themes/your-theme-name/.git +``` + +If you'd like some example content and an example config file to get started, you can copy the `exampleSite` directory into your root Hugo directory. + +```bash +cp -r themes/your-theme-name/exampleSite/* ./ +``` + +To learn more about building themes in Hugo, refer to Hugo's [templating documentation](https://gohugo.io/templates/). diff --git a/themes/developer/static/css/style.css b/themes/developer/static/css/style.css new file mode 100644 index 0000000..d7ff2fd --- /dev/null +++ b/themes/developer/static/css/style.css @@ -0,0 +1,90 @@ +/* LAYOUT */ +body { + font-family: "Iosevka Nerd Font", "Iosevka", "JetBrainsMono Nerd Font", "JetBrainsMono", monospace; + background-color: #000000; + color: #FFFFFF; + line-height: 1.5; + max-width: 45rem; + padding: 1rem; + margin: 0 auto; +} + +.content { + margin-bottom: 2rem; +} + +/* TYPOGRAPHY */ +h1 { + font-size: 25px; +} + +h2 { + font-size: 17.5px; +} + +h3, p, li { + font-size: 15px; +} + +hr { + margin: 0; + color: white; +} + +a { + color: inherit; +} + +time { + color: grey; + font-style: italic; +} + +/* NAVIGATION */ +.site-nav { + display: flex; + font-size: 13px !important; +} + +.site-nav a { + font-size: 13px !important; + display: block; + padding: 0.3rem; +} + +a:hover { + background-color: gray; +} + +.site-nav .logo { + font-weight: bold; + padding-left: 0; +} + +.main-menu { + display: flex; + list-style: none; + margin: 0; + padding: 0; +} + +@media screen and (max-width: 48rem) { + .site-nav, + .main-menu { + flex-direction: column; + } + + .site-nav a { + padding: 0rem; + padding-left: 0; + } +} + +/* LISTS */ +.post-snippet { + margin-bottom: 1rem; +} + +.post-snippet h3 { + margin-bottom: 0.25rem; +}