From f6f44d85d1b0960f0a6280a024abf1fe2ec03423 Mon Sep 17 00:00:00 2001 From: yequari Date: Sun, 23 Feb 2025 21:29:49 -0700 Subject: [PATCH] new theme --- assets/css/custom.css | 31 +++ config.yaml | 38 +--- .../blog/2023/re-the-art-of-hyperlinking.md | 2 +- .../dedicated-instant-messaging-was-better.md | 2 +- content/blog/2024/reflecting-on-2023/index.md | 3 +- content/blog/2025/blog-question-challenge.md | 3 +- .../2025/motion-sickness-accessibility.md | 3 +- content/links/32-bit-cafe.md | 14 ++ content/links/_index.md | 5 +- .../a-beginners-guide-away-from-scanf.md | 15 ++ content/links/a-complete-guide-to-flexbox.md | 15 ++ .../links/actually-portable-executables.md | 15 ++ content/links/advanced-pet.md | 14 ++ content/links/advanced-programming-unix.md | 15 ++ content/links/andreas-kling.md | 14 ++ content/links/beejs-guides.md | 15 ++ ...ng-projects-every-programmer-should-try.md | 15 ++ content/links/computing-and-sustainability.md | 15 ++ content/links/designing-windows-95-ui.md | 14 ++ content/links/drew-devault.md | 14 ++ content/links/flamedfury.md | 14 ++ .../forget-comcast-diy-internet-access.md | 14 ++ .../gettysburg-powerpoint-presentation.md | 14 ++ content/links/how-do-i-webmentions.md | 14 ++ .../idw-transformers-2005-reading-order.md | 14 ++ ...buying-isnt-owning-piracy-isnt-stealing.md | 14 ++ content/links/julia-evans.md | 14 ++ content/links/melonland-forum.md | 14 ++ content/links/nightfall-city.md | 14 ++ content/links/null-program.md | 14 ++ content/links/permacomputing-wiki.md | 15 ++ content/links/rss-guide.md | 14 ++ content/links/shell-script-best-practices.md | 15 ++ .../simple-balanced-ternary-computer-vm.md | 15 ++ content/links/small-technology-foundation.md | 14 ++ .../the-lost-art-of-structure-packing.md | 14 ++ content/links/the-small-things-manifesto.md | 14 ++ content/links/tiny-tools.md | 14 ++ .../links/unix-programmers-at-restaurants.md | 14 ++ ...ech-has-broken-the-webs-social-contract.md | 14 ++ content/projects/{_index.md => index.md} | 0 data/links/left/00_programming.yaml | 32 --- data/links/left/10_webdev.yaml | 11 - data/links/left/20_articles.yaml | 14 -- data/links/right/10_amusement.yaml | 14 -- data/links/right/30_smallweb.yaml | 20 -- data/links/right/40_blogs.yaml | 17 -- data/now.yaml | 4 +- data/siteupdates.yaml | 7 +- data/transformers.yaml | 11 + data/transformers/collection.yaml | 11 - layouts/_default/_markup/render-link.html | 10 - layouts/blog/list.html | 22 -- layouts/blog/single.html | 18 ++ layouts/blog/winter-baseof.html | 28 --- layouts/blog/winter.html | 20 -- layouts/index.html | 80 +++---- layouts/links/list.html | 28 ++- layouts/links/single.html | 16 ++ layouts/notes/list.html | 23 -- layouts/notes/single.html | 11 - layouts/pages/desertrock.html | 8 - layouts/partials/header.html | 7 +- layouts/partials/header.html.old | 4 + layouts/partials/socials.html | 43 ++++ layouts/projects/list.html | 6 - layouts/projects/single.html | 6 - layouts/shortcodes/imgset.html | 16 ++ layouts/transformers/single.html | 5 - layouts/transformers/transformers.html | 19 -- static/css/custom.css | 193 ----------------- static/css/winter.css | 113 ---------- static/fonts/NiseGenesis.TTF | Bin 15404 -> 0 bytes static/icons/aero-chat.svg | 146 ------------- static/icons/aero-email-2.svg | 200 ------------------ static/icons/aero-mastodon.svg | 95 --------- static/icons/aero-rss.svg | 109 ---------- static/icons/flat-chat.svg | 6 + static/icons/flat-email.svg | 22 ++ static/icons/flat-mastodon.svg | 4 + static/icons/flat-rss.svg | 2 + static/icons/mail-fill.png | Bin 629 -> 0 bytes static/icons/mail-line.png | Bin 609 -> 0 bytes static/icons/mastodon-fill.png | Bin 874 -> 0 bytes static/icons/mastodon-line.png | Bin 895 -> 0 bytes static/icons/rss-fill.png | Bin 788 -> 0 bytes static/js/quotes.js | 18 -- static/js/winter.js | 37 ---- themes/desert-breeze/LICENSE | 21 ++ themes/desert-breeze/README.md | 7 + themes/desert-breeze/archetypes/default.md | 5 + themes/desert-breeze/assets/css/main.css | 110 ++++++++++ themes/desert-breeze/assets/js/main.js | 66 ++++++ themes/desert-breeze/content/_index.md | 9 + themes/desert-breeze/content/posts/_index.md | 7 + themes/desert-breeze/content/posts/post-1.md | 10 + themes/desert-breeze/content/posts/post-2.md | 10 + .../content/posts/post-3/bryce-canyon.jpg | Bin 0 -> 19224 bytes .../content/posts/post-3/index.md | 12 ++ themes/desert-breeze/hugo.toml | 23 ++ .../layouts/_default/baseof.html | 17 ++ .../desert-breeze/layouts/_default/home.html | 7 + .../desert-breeze/layouts/_default/list.html | 8 + .../layouts/_default/single.html | 10 + .../layouts/partials/footer.html | 1 + .../desert-breeze/layouts/partials/head.html | 5 + .../layouts/partials/head/css.html | 18 ++ .../layouts/partials/head/js.html | 12 ++ .../layouts/partials/header.html | 2 + .../desert-breeze/layouts/partials/menu.html | 51 +++++ .../desert-breeze/layouts/partials/terms.html | 23 ++ themes/desert-breeze/static/favicon.ico | Bin 0 -> 15406 bytes themes/desert-breeze/theme.toml | 31 +++ themes/dreamcast/layouts/blog/single.html | 4 +- themes/saturn/layouts/blog/single.html | 4 +- 115 files changed, 1178 insertions(+), 1296 deletions(-) create mode 100644 assets/css/custom.css create mode 100644 content/links/32-bit-cafe.md create mode 100644 content/links/a-beginners-guide-away-from-scanf.md create mode 100644 content/links/a-complete-guide-to-flexbox.md create mode 100644 content/links/actually-portable-executables.md create mode 100644 content/links/advanced-pet.md create mode 100644 content/links/advanced-programming-unix.md create mode 100644 content/links/andreas-kling.md create mode 100644 content/links/beejs-guides.md create mode 100644 content/links/challenging-projects-every-programmer-should-try.md create mode 100644 content/links/computing-and-sustainability.md create mode 100644 content/links/designing-windows-95-ui.md create mode 100644 content/links/drew-devault.md create mode 100644 content/links/flamedfury.md create mode 100644 content/links/forget-comcast-diy-internet-access.md create mode 100644 content/links/gettysburg-powerpoint-presentation.md create mode 100644 content/links/how-do-i-webmentions.md create mode 100644 content/links/idw-transformers-2005-reading-order.md create mode 100644 content/links/if-buying-isnt-owning-piracy-isnt-stealing.md create mode 100644 content/links/julia-evans.md create mode 100644 content/links/melonland-forum.md create mode 100644 content/links/nightfall-city.md create mode 100644 content/links/null-program.md create mode 100644 content/links/permacomputing-wiki.md create mode 100644 content/links/rss-guide.md create mode 100644 content/links/shell-script-best-practices.md create mode 100644 content/links/simple-balanced-ternary-computer-vm.md create mode 100644 content/links/small-technology-foundation.md create mode 100644 content/links/the-lost-art-of-structure-packing.md create mode 100644 content/links/the-small-things-manifesto.md create mode 100644 content/links/tiny-tools.md create mode 100644 content/links/unix-programmers-at-restaurants.md create mode 100644 content/links/writing-when-tech-has-broken-the-webs-social-contract.md rename content/projects/{_index.md => index.md} (100%) delete mode 100644 data/links/left/00_programming.yaml delete mode 100644 data/links/left/10_webdev.yaml delete mode 100644 data/links/left/20_articles.yaml delete mode 100644 data/links/right/10_amusement.yaml delete mode 100644 data/links/right/30_smallweb.yaml delete mode 100644 data/links/right/40_blogs.yaml create mode 100644 data/transformers.yaml delete mode 100644 data/transformers/collection.yaml delete mode 100644 layouts/_default/_markup/render-link.html delete mode 100644 layouts/blog/list.html create mode 100644 layouts/blog/single.html delete mode 100644 layouts/blog/winter-baseof.html delete mode 100644 layouts/blog/winter.html create mode 100644 layouts/links/single.html delete mode 100644 layouts/notes/list.html delete mode 100644 layouts/notes/single.html delete mode 100644 layouts/pages/desertrock.html create mode 100644 layouts/partials/header.html.old create mode 100644 layouts/partials/socials.html delete mode 100644 layouts/projects/list.html delete mode 100644 layouts/projects/single.html create mode 100644 layouts/shortcodes/imgset.html delete mode 100644 layouts/transformers/single.html delete mode 100644 layouts/transformers/transformers.html delete mode 100644 static/css/custom.css delete mode 100644 static/css/winter.css delete mode 100644 static/fonts/NiseGenesis.TTF delete mode 100644 static/icons/aero-chat.svg delete mode 100644 static/icons/aero-email-2.svg delete mode 100644 static/icons/aero-mastodon.svg delete mode 100644 static/icons/aero-rss.svg create mode 100644 static/icons/flat-chat.svg create mode 100644 static/icons/flat-email.svg create mode 100644 static/icons/flat-mastodon.svg create mode 100644 static/icons/flat-rss.svg delete mode 100644 static/icons/mail-fill.png delete mode 100644 static/icons/mail-line.png delete mode 100644 static/icons/mastodon-fill.png delete mode 100644 static/icons/mastodon-line.png delete mode 100644 static/icons/rss-fill.png delete mode 100644 static/js/quotes.js delete mode 100644 static/js/winter.js create mode 100644 themes/desert-breeze/LICENSE create mode 100644 themes/desert-breeze/README.md create mode 100644 themes/desert-breeze/archetypes/default.md create mode 100644 themes/desert-breeze/assets/css/main.css create mode 100644 themes/desert-breeze/assets/js/main.js create mode 100644 themes/desert-breeze/content/_index.md create mode 100644 themes/desert-breeze/content/posts/_index.md create mode 100644 themes/desert-breeze/content/posts/post-1.md create mode 100644 themes/desert-breeze/content/posts/post-2.md create mode 100644 themes/desert-breeze/content/posts/post-3/bryce-canyon.jpg create mode 100644 themes/desert-breeze/content/posts/post-3/index.md create mode 100644 themes/desert-breeze/hugo.toml create mode 100644 themes/desert-breeze/layouts/_default/baseof.html create mode 100644 themes/desert-breeze/layouts/_default/home.html create mode 100644 themes/desert-breeze/layouts/_default/list.html create mode 100644 themes/desert-breeze/layouts/_default/single.html create mode 100644 themes/desert-breeze/layouts/partials/footer.html create mode 100644 themes/desert-breeze/layouts/partials/head.html create mode 100644 themes/desert-breeze/layouts/partials/head/css.html create mode 100644 themes/desert-breeze/layouts/partials/head/js.html create mode 100644 themes/desert-breeze/layouts/partials/header.html create mode 100644 themes/desert-breeze/layouts/partials/menu.html create mode 100644 themes/desert-breeze/layouts/partials/terms.html create mode 100644 themes/desert-breeze/static/favicon.ico create mode 100644 themes/desert-breeze/theme.toml diff --git a/assets/css/custom.css b/assets/css/custom.css new file mode 100644 index 0000000..d1c7b8e --- /dev/null +++ b/assets/css/custom.css @@ -0,0 +1,31 @@ +div.index-wrapper { + display: flex; + flex-flow: row wrap; +} + +div.index-main { + flex: 3 1 60%; + margin: 1rem; +} + +div.index-sidebar { + margin: 1rem; + flex: 1 1 30%; +} + +nav#social { + flex: 1 1 20%; +} + +header .social { + width: 1.3rem; + color: var(--nav-link); +} + +header .social:hover { + color: var(--nav-link-hover); +} + +.blurb { + font-style: italic; +} diff --git a/config.yaml b/config.yaml index c869038..8d92284 100644 --- a/config.yaml +++ b/config.yaml @@ -1,13 +1,17 @@ -baseURL: http://yequari.com/ +baseURL: https://yequari.com/ languageCode: en-us title: yequari.com -theme: dreamcast +theme: desert-breeze enableGitInfo: true params: author: yequari # about: "I write code and occasionally blog posts." webmentions: https://webmention.io/yequari.com/webmention pingbacks: https://webmention.io/yequari.com/xmlrpc + social_links: + email: "yequari@32bit.cafe" + xmpp: "yequari@omg.lol" + mastodon: "retro.pizza/@yequari" taxonomies: category: categories tag: tags @@ -19,9 +23,6 @@ permalinks: year: /blog/:slug/ menu: main: - - name: Home - pageRef: / - weight: 10 - name: Blog pageRef: /blog weight: 20 @@ -37,33 +38,6 @@ menu: - name: Links pageRef: /links weight: 60 - social: - - name: Mastodon - params: - rel: external - icon: aero-mastodon.svg - class: masto - url: https://retro.pizza/@yequari - weight: 10 - - name: RSS - params: - icon: aero-rss.svg - class: rss - url: /blog/index.xml - weight: 5 - - name: Email - params: - icon: aero-email-2.svg - rel: external - class: email - url: mailto:yequari@32bit.cafe - weight: 30 - - name: XMPP - params: - rel: external - icon: aero-chat.svg - url: xmpp:yequari@omg.lol - weight: 40 caches: getresource: dir: :cacheDir/:project diff --git a/content/blog/2023/re-the-art-of-hyperlinking.md b/content/blog/2023/re-the-art-of-hyperlinking.md index 64a95cc..acbbdd9 100644 --- a/content/blog/2023/re-the-art-of-hyperlinking.md +++ b/content/blog/2023/re-the-art-of-hyperlinking.md @@ -1,7 +1,7 @@ --- title: "Re: The Art of Hyperlinking" date: 2023-12-14T20:45:42-07:00 -reply_to: +context: url: https://flamedfury.com/posts/the-art-of-hyperlinking/ author: flamedfury title: The Art of Hyperlinking diff --git a/content/blog/2024/dedicated-instant-messaging-was-better.md b/content/blog/2024/dedicated-instant-messaging-was-better.md index b865540..43f620e 100644 --- a/content/blog/2024/dedicated-instant-messaging-was-better.md +++ b/content/blog/2024/dedicated-instant-messaging-was-better.md @@ -2,7 +2,7 @@ title: "Dedicated Instant Messaging was Better" date: 2024-04-23T18:00:35-07:00 year: "2024" -reply_to: +context: url: https://flamedfury.com/posts/instant-messaging/ author: flamedfury title: Instant Messaging diff --git a/content/blog/2024/reflecting-on-2023/index.md b/content/blog/2024/reflecting-on-2023/index.md index d1caefd..262c7c1 100644 --- a/content/blog/2024/reflecting-on-2023/index.md +++ b/content/blog/2024/reflecting-on-2023/index.md @@ -2,13 +2,14 @@ title: "Reflecting on 2023" date: 2024-01-10T15:29:00-07:00 layout: winter -context: "This page is an entry into the 32-Bit Cafe's [2023 holiday event](https://32bit.cafe/holidays2023/)." +blurb: "This page is an entry into the 32-Bit Cafe's [2023 holiday event](https://32bit.cafe/holidays2023/). The page layout has been modified since its submission, but the contents remain unchanged." year: "2024" categories: - Life tags: - 32-Bit Cafe --- +![](/images/blog/desert.png) ![32-Bit Cafe Holiday Event 2023](32bit-cafe-holidays.png) 2023 was truly one of the years of all time. In this post, I will look back at some of the cool things I did in 2023 and set some goals to achieve in 2024. diff --git a/content/blog/2025/blog-question-challenge.md b/content/blog/2025/blog-question-challenge.md index 3b12c64..7362dbe 100644 --- a/content/blog/2025/blog-question-challenge.md +++ b/content/blog/2025/blog-question-challenge.md @@ -1,13 +1,14 @@ --- title: "Blog Question Challenge" date: 2025-02-19T21:24:01-07:00 -reply_to: +context: url: https://flamedfury.com/posts/blog-question-challenge-2025/ author: fLaMEd fury title: Blog Question Challenge 2025 year: "2025" categories: - Internet + - Links --- fLaMEd fury recently tagged me in his Blog Question Challenge post that has been circulating around the indieweb over the past month. I finally got into a headspace to write for my website a bit, so here are my answers! diff --git a/content/blog/2025/motion-sickness-accessibility.md b/content/blog/2025/motion-sickness-accessibility.md index d04f540..70eb013 100644 --- a/content/blog/2025/motion-sickness-accessibility.md +++ b/content/blog/2025/motion-sickness-accessibility.md @@ -2,8 +2,7 @@ title: "Motion Sickness and Video Games" date: 2025-02-19T21:19:34-07:00 year: "2025" -external_link: -reply_to: +context: url: https://madelinemiller.dev/blog/motion-sickness-accessibility/ author: Madeline Miller title: Motion Sickness Accessibility diff --git a/content/links/32-bit-cafe.md b/content/links/32-bit-cafe.md new file mode 100644 index 0000000..c090b18 --- /dev/null +++ b/content/links/32-bit-cafe.md @@ -0,0 +1,14 @@ +--- +title: 32-Bit Cafe +date: 2025-02-23T18:29:14Z +context: + url: "https://32bit.cafe" + title: 32-Bit Cafe +year: "2025" +tags: + - smallweb +categories: + - links +--- +An inclusive community dedicated to making web development approachable to newcomers. + diff --git a/content/links/_index.md b/content/links/_index.md index 115e035..af2afb1 100644 --- a/content/links/_index.md +++ b/content/links/_index.md @@ -1,6 +1,7 @@ --- title: Links +categories: + - links --- -# Links -This is a collection of links I want to share. Some are useful resources for learning, some are interesting articles, and some are just novel and fun. +This is a collection of links I have found interesting, insightful, or fun and felt were worth sharing. diff --git a/content/links/a-beginners-guide-away-from-scanf.md b/content/links/a-beginners-guide-away-from-scanf.md new file mode 100644 index 0000000..5257a1e --- /dev/null +++ b/content/links/a-beginners-guide-away-from-scanf.md @@ -0,0 +1,15 @@ +--- +title: A beginners' guide away from scanf() +date: 2025-02-23T10:48:42-07:00 +context: + url: https://sekrit.de/webdocs/c/beginners-guide-away-from-scanf.html + title: A beginners' guide away from scanf() + +year: "2025" +tags: + - computing +categories: + - links +--- +Every C class teaches you to use scanf() to read input. Every Cbest practices guide tells you to never use scanf(). This article describes how. + diff --git a/content/links/a-complete-guide-to-flexbox.md b/content/links/a-complete-guide-to-flexbox.md new file mode 100644 index 0000000..7df0645 --- /dev/null +++ b/content/links/a-complete-guide-to-flexbox.md @@ -0,0 +1,15 @@ +--- +title: "A Complete Guide to Flexbox" +date: 2025-02-23T10:48:42-07:00 +context: + url: https://css-tricks.com/snippets/css/a-guide-to-flexbox/#aa-background + title: A Complete Guide to Flexbox + author: CSS Tricks + +year: "2025" +tags: + - web development +categories: + - links +--- +Coming from CSS Tricks is a terrific guide to using CSS flexbox with examples and explanations of all the properties. My go-to resource whenever I have questions regarding flexbox. diff --git a/content/links/actually-portable-executables.md b/content/links/actually-portable-executables.md new file mode 100644 index 0000000..40f2195 --- /dev/null +++ b/content/links/actually-portable-executables.md @@ -0,0 +1,15 @@ +--- +title: Actually Portable Executables +date: 2025-02-23T10:48:42-07:00 +context: + url: https://justine.lol/ape.html + title: Actually Portable Executables + +year: "2025" +tags: + - computing +categories: + - links +--- +An amazing and wild project that creates an executable file compatible with Unix, Windows, and MacOS. + diff --git a/content/links/advanced-pet.md b/content/links/advanced-pet.md new file mode 100644 index 0000000..769670c --- /dev/null +++ b/content/links/advanced-pet.md @@ -0,0 +1,14 @@ +--- +title: Advanced PET +date: 2025-02-23T18:27:04Z +context: + url: https://xwellingtonx.github.io/advanced-pet/ + title: Advanced PET +year: "2025" +tags: + - amusement +categories: + - links +--- +A web simulation of the old Megaman NT Warrior Advanced PET toy from the mid-2000s + diff --git a/content/links/advanced-programming-unix.md b/content/links/advanced-programming-unix.md new file mode 100644 index 0000000..d3ff2d2 --- /dev/null +++ b/content/links/advanced-programming-unix.md @@ -0,0 +1,15 @@ +--- +title: Advanced Programming in the UNIX Environment +date: 2025-02-23T10:48:42-07:00 +context: + url: https://stevens.netmeister.org/631/ + title: Advanced Programming in the UNIX Environment + +year: "2025" +tags: + - computing +categories: + - links +--- +A graduate class taught by Jan Schaumann at Stevens Institute of Technology covering the development of complex system software for UNIX systems. + diff --git a/content/links/andreas-kling.md b/content/links/andreas-kling.md new file mode 100644 index 0000000..f75c724 --- /dev/null +++ b/content/links/andreas-kling.md @@ -0,0 +1,14 @@ +--- +title: Andreas Kling +date: 2025-02-23T18:31:20Z +context: + url: https://awesomekling.github.io/ + title: Andreas Kling +year: "2025" +tags: + - blogs +categories: + - links +--- +Andreas Kling likes computers! He works on SerenityOS and the Ladybird Browser. + diff --git a/content/links/beejs-guides.md b/content/links/beejs-guides.md new file mode 100644 index 0000000..b0fda9f --- /dev/null +++ b/content/links/beejs-guides.md @@ -0,0 +1,15 @@ +--- +title: Beej's Guides +date: 2025-02-23T10:48:42-07:00 +context: + url: https://beej.us/guide/ + title: Beej's Guides + +year: "2025" +tags: + - computing +categories: + - links +--- +Beej's Guides are all excellent tools to learn various programming languages and technologies. Notably useful for me are Beej's Guide to Network Programming and Beej's Guide to C (both volumes) + diff --git a/content/links/challenging-projects-every-programmer-should-try.md b/content/links/challenging-projects-every-programmer-should-try.md new file mode 100644 index 0000000..f4bc5b2 --- /dev/null +++ b/content/links/challenging-projects-every-programmer-should-try.md @@ -0,0 +1,15 @@ +--- +title: Challenging projects every programmer should try +date: 2025-02-23T10:48:42-07:00 +context: + url: https://austinhenley.com/blog/challengingprojects.html + title: Challenging projects every programmer should try + +year: "2025" +tags: + - computing +categories: + - links +--- +Some suggestions for projects programmers should try in order to level up their skills. + diff --git a/content/links/computing-and-sustainability.md b/content/links/computing-and-sustainability.md new file mode 100644 index 0000000..bf7ecd6 --- /dev/null +++ b/content/links/computing-and-sustainability.md @@ -0,0 +1,15 @@ +--- +title: An approach to computing and sustainability inspired from permaculture +date: 2025-02-23T10:48:42-07:00 +context: + url: https://www.youtube.com/watch?v=T3u7bGgVspM + title: An approach to computing and sustainability inspired from permaculture + +year: "2025" +tags: + - computing +categories: + - links +--- +A talk from Strange Loop 2023 by Devine Lu Linvega about managing software complexity and developing software with preservation in mind. Devine show off a virtual machine and language they created for building games and software, with a focus on being well documented and easily re-implementable. + diff --git a/content/links/designing-windows-95-ui.md b/content/links/designing-windows-95-ui.md new file mode 100644 index 0000000..2529f22 --- /dev/null +++ b/content/links/designing-windows-95-ui.md @@ -0,0 +1,14 @@ +--- +title: Designing Windows 95's User Interface +date: 2025-02-23T18:23:27Z +context: + url: https://socket3.wordpress.com/2018/02/03/designing-windows-95s-user-interface/ + title: Designing Windows 95's User Interface +year: "2025" +tags: + - articles +categories: + - links +--- +A retrospective from someone who worked on the Windows 95 user interface detailing the design process and iteration that went into creating an interface that was accessible to both first-time computer users and existing power users. + diff --git a/content/links/drew-devault.md b/content/links/drew-devault.md new file mode 100644 index 0000000..7ed7bb6 --- /dev/null +++ b/content/links/drew-devault.md @@ -0,0 +1,14 @@ +--- +title: Drew DeVault's blog +date: 2025-02-23T18:31:20Z +context: + url: https://drewdevault.com/ + title: Drew DeVault's blog +year: "2025" +tags: + - blogs +categories: + - links +--- +Drew DeVault is a software engineer working on multiple projects, notably swaywm and the Hare programming language. + diff --git a/content/links/flamedfury.md b/content/links/flamedfury.md new file mode 100644 index 0000000..a6820b7 --- /dev/null +++ b/content/links/flamedfury.md @@ -0,0 +1,14 @@ +--- +title: Flamed Fury +date: 2025-02-23T18:31:20Z +context: + url: https://flamedfury.com + title: Flamed Fury +year: "2025" +tags: + - blogs +categories: + - links +--- +fLaMEd writes about his hobbies and the web. + diff --git a/content/links/forget-comcast-diy-internet-access.md b/content/links/forget-comcast-diy-internet-access.md new file mode 100644 index 0000000..b6a407e --- /dev/null +++ b/content/links/forget-comcast-diy-internet-access.md @@ -0,0 +1,14 @@ +--- +title: Forget Comcast. Here's the DIY Approach to Internet Access +date: 2025-02-23T18:23:27Z +context: + url: https://www.wired.com/2016/07/forget-comcast-heres-the-diy-approach-to-internet-access/ + title: Forget Comcast. Here's the DIY Approach to Internet Access +year: "2025" +tags: + - articles +categories: + - links +--- +A Wired article about a Spanish engineer who built up a distributed wifi network to provide Internet to his town because telecom companies wouldn't. + diff --git a/content/links/gettysburg-powerpoint-presentation.md b/content/links/gettysburg-powerpoint-presentation.md new file mode 100644 index 0000000..b3ede43 --- /dev/null +++ b/content/links/gettysburg-powerpoint-presentation.md @@ -0,0 +1,14 @@ +--- +title: The Gettysburg Powerpoint Presentation +date: 2025-02-23T18:27:04Z +context: + url: http://www.norvig.com/Gettysburg/index.htm + title: The Gettysburg Powerpoint Presentation +year: "2025" +tags: + - amusement +categories: + - links +--- +A modern interpretation of the Gettysburg Address. + diff --git a/content/links/how-do-i-webmentions.md b/content/links/how-do-i-webmentions.md new file mode 100644 index 0000000..59fea01 --- /dev/null +++ b/content/links/how-do-i-webmentions.md @@ -0,0 +1,14 @@ +--- +title: how do i webmentions +date: 2025-02-23T18:21:40Z +context: + url: https://webmentions.neocities.org + title: how do i webmentions +year: "2025" +tags: + - web development +categories: + - links +--- +An excellent tutorial on how to set up webmentions on your site, specifically tailored to neocities users. + diff --git a/content/links/idw-transformers-2005-reading-order.md b/content/links/idw-transformers-2005-reading-order.md new file mode 100644 index 0000000..d3c5811 --- /dev/null +++ b/content/links/idw-transformers-2005-reading-order.md @@ -0,0 +1,14 @@ +--- +title: IDW Transformers (2005) Complete Reading Order +date: 2025-02-23T18:27:04Z +context: + url: https://www.tfw2005.com/boards/threads/idw-transformers-complete-reading-order-2005-2018.1117009/ + title: IDW Transformers (2005) Complete Reading Order +year: "2025" +tags: + - amusement +categories: + - links +--- +A chronological reading order for IDW's Transformers series (2005). + diff --git a/content/links/if-buying-isnt-owning-piracy-isnt-stealing.md b/content/links/if-buying-isnt-owning-piracy-isnt-stealing.md new file mode 100644 index 0000000..46b7dec --- /dev/null +++ b/content/links/if-buying-isnt-owning-piracy-isnt-stealing.md @@ -0,0 +1,14 @@ +--- +title: "If buying isn't owning, piracy isn't stealing" +date: 2025-02-23T18:23:27Z +context: + url: https://pluralistic.net/2023/12/08/playstationed/#tyler-james-hill + title: "If buying isn't owning, piracy isn't stealing" +year: "2025" +tags: + - articles +categories: + - links +--- +Cory Doctorow writes about DRM and the bullshit of digital "ownership" + diff --git a/content/links/julia-evans.md b/content/links/julia-evans.md new file mode 100644 index 0000000..06e2013 --- /dev/null +++ b/content/links/julia-evans.md @@ -0,0 +1,14 @@ +--- +title: Julia Evans +date: 2025-02-23T18:31:20Z +context: + url: https://jvns.ca/ + title: Julia Evans +year: "2025" +tags: + - blogs +categories: + - links +--- +Julia's blog is all about content that dives deep into how computers work, but makes it accessible for non-experts. + diff --git a/content/links/melonland-forum.md b/content/links/melonland-forum.md new file mode 100644 index 0000000..c0ea601 --- /dev/null +++ b/content/links/melonland-forum.md @@ -0,0 +1,14 @@ +--- +title: Melonland Forum +date: 2025-02-23T18:29:14Z +context: + url: https://forum.melonland.net/ + title: Melonland Forum +year: "2025" +tags: + - smallweb +categories: + - links +--- +A forum focused on smallweb development, styled like an old-school web 1.0 website! + diff --git a/content/links/nightfall-city.md b/content/links/nightfall-city.md new file mode 100644 index 0000000..bc7a406 --- /dev/null +++ b/content/links/nightfall-city.md @@ -0,0 +1,14 @@ +--- +title: Nightfall City +date: 2025-02-23T18:29:14Z +context: + url: https://nightfall.city/ + title: Nightfall City +year: "2025" +tags: + - smallweb +categories: + - links +--- +A project from m15o, who describes it as "A vibrant metropolis in an uncharted internet territory." + diff --git a/content/links/null-program.md b/content/links/null-program.md new file mode 100644 index 0000000..0e5fa01 --- /dev/null +++ b/content/links/null-program.md @@ -0,0 +1,14 @@ +--- +title: null program +date: 2025-02-23T18:31:20Z +context: + url: https://nullprogram.com + title: null program +year: "2025" +tags: + - blogs +categories: + - links +--- +Chris Wellon's personal blog with a lot of great tips and pointers (pun intended) for C programming. + diff --git a/content/links/permacomputing-wiki.md b/content/links/permacomputing-wiki.md new file mode 100644 index 0000000..6532962 --- /dev/null +++ b/content/links/permacomputing-wiki.md @@ -0,0 +1,15 @@ +--- +title: Permacomputing Wiki +date: 2025-02-23T10:48:42-07:00 +context: + url: https://permacomputing.net + title: Permacomputing Wiki + +year: "2025" +tags: + - computing +categories: + - links +--- +Permacomputing focuses on sustainable computing, inspired by permaculture, aiming to utilize existing compute resources rather than new ones. The wiki is very incomplete, but is something to keep an eye on as it grows. + diff --git a/content/links/rss-guide.md b/content/links/rss-guide.md new file mode 100644 index 0000000..6c4b5a0 --- /dev/null +++ b/content/links/rss-guide.md @@ -0,0 +1,14 @@ +--- +title: RSS Guide - Melonland Wiki +date: 2025-02-23T18:21:40Z +context: + url: https://wiki.melonland.net/rss_guide + title: RSS Guide - Melonland Wiki +year: "2025" +tags: + - web development +categories: + - links +--- +An approachable beginner's guide to RSS, written by the folks in the Melonland community. + diff --git a/content/links/shell-script-best-practices.md b/content/links/shell-script-best-practices.md new file mode 100644 index 0000000..5a83194 --- /dev/null +++ b/content/links/shell-script-best-practices.md @@ -0,0 +1,15 @@ +--- +title: Shell Script Best Practices +date: 2025-02-23T10:48:42-07:00 +context: + url: https://sharats.me/posts/shell-script-best-practices/ + title: Shell Script Best Practices + +year: "2025" +tags: + - computing +categories: + - links +--- +A list of tips when writing shell scripts. Especially useful for me since I'm not super familiar with bash but use it on a daily basis. + diff --git a/content/links/simple-balanced-ternary-computer-vm.md b/content/links/simple-balanced-ternary-computer-vm.md new file mode 100644 index 0000000..efb7edd --- /dev/null +++ b/content/links/simple-balanced-ternary-computer-vm.md @@ -0,0 +1,15 @@ +--- +title: Simple Balanced Ternary Computer Virtual Machine +date: 2025-02-23T10:48:42-07:00 +context: + url: https://sbtcvm.blogspot.com/?m=1 + title: Simple Balanced Ternary Computer Virtual Machine + +year: "2025" +tags: + - computing +categories: + - links +--- +A virtual machine simulating a base 3 computer. Alternatives to the traditional models of computing are of great interest to me and I want to learn more about programming in base 3. + diff --git a/content/links/small-technology-foundation.md b/content/links/small-technology-foundation.md new file mode 100644 index 0000000..2966c3c --- /dev/null +++ b/content/links/small-technology-foundation.md @@ -0,0 +1,14 @@ +--- +title: Small Technology Foundation +date: 2025-02-23T18:29:14Z +context: + url: https://small-tech.org/ + title: Small Technology Foundation +year: "2025" +tags: + - smallweb +categories: + - links +--- +The work of Laura Kalbag and Aral Balkan, the Small Technology Foundation advocates for building the small web using small technology designed to increase human welfare. + diff --git a/content/links/the-lost-art-of-structure-packing.md b/content/links/the-lost-art-of-structure-packing.md new file mode 100644 index 0000000..9eb8edb --- /dev/null +++ b/content/links/the-lost-art-of-structure-packing.md @@ -0,0 +1,14 @@ +--- +title: The Lost Art of Structure Packing +date: 2025-02-23T10:48:42-07:00 +context: + url: http://www.catb.org/esr/structure-packing/ + title: The Lost Art of Structure Packing + +year: "2025" +tags: + - computing +categories: + - links +--- +An interesting look into how C structs work and how to squeeze some extra optimization out of them. diff --git a/content/links/the-small-things-manifesto.md b/content/links/the-small-things-manifesto.md new file mode 100644 index 0000000..b17d51c --- /dev/null +++ b/content/links/the-small-things-manifesto.md @@ -0,0 +1,14 @@ +--- +title: The small things Manifesto +date: 2025-02-23T18:29:14Z +context: + url: https://ajroach42.com/the-small-things-manifesto/ + title: The small things Manifesto +year: "2025" +tags: + - articles +categories: + - links +--- +A manifesto written by Andrew Roach proposing that we should try to do things on a human scale again, instead of trying to design everything to scale infinitely. + diff --git a/content/links/tiny-tools.md b/content/links/tiny-tools.md new file mode 100644 index 0000000..eacc040 --- /dev/null +++ b/content/links/tiny-tools.md @@ -0,0 +1,14 @@ +--- +title: Tiny Tools +date: 2025-02-23T18:29:14Z +context: + url: https://tinytools.directory/ + title: Tiny Tools +year: "2025" +tags: + - smallweb +categories: + - links +--- +A list of small, free, or experimental tools for building websites or games. + diff --git a/content/links/unix-programmers-at-restaurants.md b/content/links/unix-programmers-at-restaurants.md new file mode 100644 index 0000000..09be91b --- /dev/null +++ b/content/links/unix-programmers-at-restaurants.md @@ -0,0 +1,14 @@ +--- +title: How Unix programmers at restaurants search menus for their favorite plate +date: 2025-02-23T18:27:04Z +context: + url: https://dev.to/miguelmota/how-unix-programmers-at-restaurants-search-menus--46ad + title: How Unix programmers at restaurants search menus for their favorite plate +year: "2025" +tags: + - amusement +categories: + - links +--- +A real-world application of UNIX skills. + diff --git a/content/links/writing-when-tech-has-broken-the-webs-social-contract.md b/content/links/writing-when-tech-has-broken-the-webs-social-contract.md new file mode 100644 index 0000000..a04dd8d --- /dev/null +++ b/content/links/writing-when-tech-has-broken-the-webs-social-contract.md @@ -0,0 +1,14 @@ +--- +title: Writing when tech has broken the web's social contract +date: 2025-02-23T18:23:27Z +context: + url: https://www.baldurbjarnason.com/2023/tech-broke-the-webs-social-contract/https://www.baldurbjarnason.com/2023/tech-broke-the-webs-social-contract/ + title: Writing when tech has broken the web's social contract +year: "2025" +tags: + - articles +categories: + - links +--- +An article discussing how writing on the Internet is changing because of AI + diff --git a/content/projects/_index.md b/content/projects/index.md similarity index 100% rename from content/projects/_index.md rename to content/projects/index.md diff --git a/data/links/left/00_programming.yaml b/data/links/left/00_programming.yaml deleted file mode 100644 index 7f4dad4..0000000 --- a/data/links/left/00_programming.yaml +++ /dev/null @@ -1,32 +0,0 @@ -name: Computing -links: - - name: Simple Balanced Ternary Computer Virtual Machine - description: A virtual machine simulating a base 3 computer. Alternatives to the traditional models of computing are of great interest to me and I want to learn more about programming in base 3. - url: https://sbtcvm.blogspot.com/?m=1 - - name: Shell Script Best Practices - description: A list of tips when writing shell scripts. Especially useful for me since I'm not super familiar with bash but use it on a daily basis. - url: https://sharats.me/posts/shell-script-best-practices/ - - name: The Lost Art of Structure Packing - description: An interesting look into how C structs work and how to squeeze some extra optimization out of them. - url: http://www.catb.org/esr/structure-packing/ - - name: Beej's Guides - description: Beej's Guides are all excellent tools to learn various programming languages and technologies. Notably useful for me are Beej's Guide to Network Programming and Beej's Guide to C (both volumes) - url: https://beej.us/guide/ - - name: An approach to computing and sustainability inspired from permaculture - description: A talk from Strange Loop 2023 by Devine Lu Linvega about managing software complexity and developing software with preservation in mind. Devine show off a virtual machine and language they created for building games and software, with a focus on being well documented and easily re-implementable. - url: https://www.youtube.com/watch?v=T3u7bGgVspM - - name: Permacomputing Wiki - url: https://permacomputing.net - description: Permacomputing focuses on sustainable computing, inspired by permaculture, aiming to utilize existing compute resources rather than new ones. The wiki is very incomplete, but is something to keep an eye on as it grows. - - name: Advanced Programming in the UNIX Environment - url: https://stevens.netmeister.org/631/ - description: A graduate class taught by Jan Schaumann at Stevens Institute of Technology covering the development of complex system software for UNIX systems. - - name: Challenging projects every programmer should try - url: https://austinhenley.com/blog/challengingprojects.html - description: Some suggestions for projects programmers should try in order to level up their skills. - - name: A beginners' guide away from scanf() - url: https://sekrit.de/webdocs/c/beginners-guide-away-from-scanf.html - description: Every C class teaches you to use scanf() to read input. Every Cbest practices guide tells you to never use scanf(). This article describes how. - - name: Actually Portable Executables - url: https://justine.lol/ape.html - description: An amazing and wild project that creates an executable file compatible with Unix, Windows, and MacOS. diff --git a/data/links/left/10_webdev.yaml b/data/links/left/10_webdev.yaml deleted file mode 100644 index 8a1a5b8..0000000 --- a/data/links/left/10_webdev.yaml +++ /dev/null @@ -1,11 +0,0 @@ -name: Web Development -links: - - name: how do i webmentions - description: An excellent tutorial on how to set up webmentions on your site, specifically tailored to neocities users. - url: https://webmentions.neocities.org - - name: A Complete Guide to Flexbox - description: A terrific guide to using CSS flexbox with examples and explanations of all the properties. My go-to resource whenever I have questions regarding flexbox. - url: https://css-tricks.com/snippets/css/a-guide-to-flexbox/#aa-background - - name: RSS Guide - Melonland Wiki - description: An approachable beginner's guide to RSS, written by the folks in the Melonland community. - url: https://wiki.melonland.net/rss_guide diff --git a/data/links/left/20_articles.yaml b/data/links/left/20_articles.yaml deleted file mode 100644 index 94944c4..0000000 --- a/data/links/left/20_articles.yaml +++ /dev/null @@ -1,14 +0,0 @@ -name: Interesting Articles -links: - - name: Forget Comcast. Here's the DIY Approach to Internet Access - description: A Wired article about a Spanish engineer who built up a distributed wifi network to provide Internet to his town because telecom companies wouldn't. - url: https://www.wired.com/2016/07/forget-comcast-heres-the-diy-approach-to-internet-access/ - - name: Designing Windows 95's User Interface - description: A retrospective from someone who worked on the Windows 95 user interface detailing the design process and iteration that went into creating an interface that was accessible to both first-time computer users and existing power users. - url: https://socket3.wordpress.com/2018/02/03/designing-windows-95s-user-interface/ - - name: Writing when tech has broken the web's social contract - description: An article discussing how writing on the Internet is changing because of AI - url: https://www.baldurbjarnason.com/2023/tech-broke-the-webs-social-contract/https://www.baldurbjarnason.com/2023/tech-broke-the-webs-social-contract/ - - name: "Pluralistic: \"If buying isn't owning, piracy isn't stealing\"" - url: https://pluralistic.net/2023/12/08/playstationed/#tyler-james-hill - description: Cory Doctorow writes about DRM and the bullshit of digital "ownership" diff --git a/data/links/right/10_amusement.yaml b/data/links/right/10_amusement.yaml deleted file mode 100644 index 3858798..0000000 --- a/data/links/right/10_amusement.yaml +++ /dev/null @@ -1,14 +0,0 @@ -name: Amusement -links: - - name: The Gettysburg Powerpoint Presentation - description: A modern interpretation of the Gettysburg Address. - url: http://www.norvig.com/Gettysburg/index.htm - - name: How Unix programmers at restaurants search menus for their favorite plate - description: A real-world application of UNIX skills. - url: https://dev.to/miguelmota/how-unix-programmers-at-restaurants-search-menus--46ad - - name: Advanced PET - description: A web simulation of the old Megaman NT Warrior Advanced PET toy from the mid-2000s - url: https://xwellingtonx.github.io/advanced-pet/ - - name: IDW Transformers (2005) Complete Reading Order - url: https://www.tfw2005.com/boards/threads/idw-transformers-complete-reading-order-2005-2018.1117009/ - description: A chronological reading order for IDW's Transformers series (2005). diff --git a/data/links/right/30_smallweb.yaml b/data/links/right/30_smallweb.yaml deleted file mode 100644 index 8dd1041..0000000 --- a/data/links/right/30_smallweb.yaml +++ /dev/null @@ -1,20 +0,0 @@ -name: Around the Smallweb -links: - - name: 32-Bit Cafe - url: "https://32bit.cafe" - description: An inclusive community dedicated to making web development approachable to newcomers. - - name: The small things Manifesto - url: https://ajroach42.com/the-small-things-manifesto/ - description: A manifesto written by Andrew Roach proposing that we should try to do things on a human scale again, instead of trying to design everything to scale infinitely. - - name: Small Technology Foundation - url: https://small-tech.org/ - description: The work of Laura Kalbag and Aral Balkan, the Small Technology Foundation advocates for building the small web using small technology designed to increase human welfare. - - name: Melonland Forum - url: https://forum.melonland.net/ - description: A forum focused on smallweb development, styled like an old-school web 1.0 website! - - name: Tiny Tools - url: https://tinytools.directory/ - description: A list of small, free, or experimental tools for building websites or games. - - name: Nightfall City - url: https://nightfall.city/ - description: A project from m15o, who describes it as "A vibrant metropolis in an uncharted internet territory." diff --git a/data/links/right/40_blogs.yaml b/data/links/right/40_blogs.yaml deleted file mode 100644 index 8fb920c..0000000 --- a/data/links/right/40_blogs.yaml +++ /dev/null @@ -1,17 +0,0 @@ -name: Blogs -links: - - name: null program - url: https://nullprogram.com - description: Chris Wellon's personal blog with a lot of great tips and pointers (pun intended) for C programming. - - name: Julia Evans - url: https://jvns.ca/ - description: Julia's blog is all about content that dives deep into how computers work, but makes it accessible for non-experts. - - name: Flamed Fury - url: https://flamedfury.com - description: fLaMEd writes about his hobbies and the web. - - name: Drew DeVault's blog - url: https://drewdevault.com/ - description: Drew DeVault is a software engineer working on multiple projects, notably swaywm and the Hare programming language. - - name: Andreas Kling - url: https://awesomekling.github.io/ - description: Andreas Kling likes computers! He works on SerenityOS and the Ladybird Browser. diff --git a/data/now.yaml b/data/now.yaml index d02e78d..780b633 100644 --- a/data/now.yaml +++ b/data/now.yaml @@ -1,3 +1,3 @@ -- "Futzing around with iPods" -- "Building a CD collection" +- "Playing D&D" +- "Cleaning up my living space" - "Improving my physical fitness" diff --git a/data/siteupdates.yaml b/data/siteupdates.yaml index 00c36e6..0acd87f 100644 --- a/data/siteupdates.yaml +++ b/data/siteupdates.yaml @@ -1,3 +1,4 @@ -updates: - - date: 2023-06-29 - text: "new CSS!" +- date: 2025-02-23 + text: "Brand new theme! The links section now works like a blog. Sorry if you follow my RSS feed :(" +- date: 2025-02-20 + text: "Updated now page" diff --git a/data/transformers.yaml b/data/transformers.yaml new file mode 100644 index 0000000..90c2205 --- /dev/null +++ b/data/transformers.yaml @@ -0,0 +1,11 @@ +recents: + - line: Legacy United + class: Deluxe + name: G1 Optimus Prime +wants: + - line: Legacy United + class: Deluxe + name: Armada Wheeljack + - line: Age of the Primes + class: Voyager + name: Armada Red Alert diff --git a/data/transformers/collection.yaml b/data/transformers/collection.yaml deleted file mode 100644 index bb5cb6b..0000000 --- a/data/transformers/collection.yaml +++ /dev/null @@ -1,11 +0,0 @@ -wants: - - line: Legacy Evolution - class: Commander Class - name: Armada Universe Optimus Prime - - line: Legacy Evolution - class: Leader Class - name: Armada Universe Megatron -recent: - - line: Legacy Evolution - class: Leader Class - name: Transmetal II Megatron diff --git a/layouts/_default/_markup/render-link.html b/layouts/_default/_markup/render-link.html deleted file mode 100644 index 53b32bb..0000000 --- a/layouts/_default/_markup/render-link.html +++ /dev/null @@ -1,10 +0,0 @@ -{{- $u := urls.Parse .Destination -}} - - {{- with .Text | safeHTML }}{{ . }}{{ end -}} -{{- if $u.IsAbs }}🔗{{ end -}} -{{- /* chomp trailing newline */ -}} - - diff --git a/layouts/blog/list.html b/layouts/blog/list.html deleted file mode 100644 index 9992ed7..0000000 --- a/layouts/blog/list.html +++ /dev/null @@ -1,22 +0,0 @@ -{{ define "main" }} -

{{ .Title }}

-
- {{ range .Paginator.Pages.ByPublishDate.Reverse }} -
-

{{ .Title }}

- {{ partial "post-header.html" .}} - {{ if .Params.Subtitle }}

{{ .Params.Subtitle }}

{{ end }} -

- {{ .Summary }}{{ if .Truncated }}...{{ end }} -

-
- {{ end }} -
-{{ template "_internal/pagination.html" . }} -{{ end }} -{{ define "sidebar" }} - - - - -{{ end }} diff --git a/layouts/blog/single.html b/layouts/blog/single.html new file mode 100644 index 0000000..c3ac345 --- /dev/null +++ b/layouts/blog/single.html @@ -0,0 +1,18 @@ +{{ define "main" }} +

{{ .Title }}

+ {{ if .Params.Subtitle }}

{{ .Params.Subtitle }}

{{ end }} + {{ if .Params.context }} +

⬑ Reply to {{ .Params.context.title }} by {{ .Params.context.author }}.

+ {{ end }} + {{ $dateMachine := .Date | time.Format "2006-01-02T15:04:05-07:00" }} + {{ $dateHuman := .Date | time.Format ":date_long" }} + + + {{ with .Params.blurb }} +

{{ . | markdownify }}

+ {{ end }} + + {{ if .Params.toc }}{{ end }} + {{ .Content }} + {{ partial "terms.html" (dict "taxonomy" "tags" "page" .) }} +{{ end }} diff --git a/layouts/blog/winter-baseof.html b/layouts/blog/winter-baseof.html deleted file mode 100644 index 12ba4c4..0000000 --- a/layouts/blog/winter-baseof.html +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - {{ .Page.Title }} - - - - - - - - {{ range .AlternativeOutputFormats -}} - {{ printf `` .Rel .MediaType.Type .Permalink $.Site.Title | safeHTML }} - {{ end -}} - - -
-
-
-
- {{- block "main" . }}{{- end }} -
-
-
- - diff --git a/layouts/blog/winter.html b/layouts/blog/winter.html deleted file mode 100644 index 9bd4fba..0000000 --- a/layouts/blog/winter.html +++ /dev/null @@ -1,20 +0,0 @@ -{{ define "main" }} -
-
-
-

{{ .Title }}

-

← Return to yequari.com

- - - - {{ partial "tags.html" .}} - {{ if .Params.context }} -

{{ .Params.context | markdownify }}

- {{ end }} -
- {{ .Content }} -
-
-{{ partial "webmentions.html" }} - -{{ end }} diff --git a/layouts/index.html b/layouts/index.html index d782d88..33f5645 100644 --- a/layouts/index.html +++ b/layouts/index.html @@ -1,52 +1,52 @@ {{ define "main" }}
-
- {{ .Content }} -
-
-

Latest Blog Posts

-
    +
    +
    + {{ .Content }} +
    +
    +

    Latest Posts

    {{ range first 3 (where .Site.RegularPages.ByDate.Reverse "Section" "blog") }} -
  • - - {{ .Title }} -
  • +

    {{ .LinkTitle }}

    + {{ $dateMachine := .Date | time.Format "2006-01-02T15:04:05-07:00" }} + {{ $dateHuman := .Date | time.Format ":date_long" }} + + {{ .Summary }} {{ end }} -
+
-
-

Socials

- -
-
-

What I'm Up To

- +

Looking For

+ +
+
+

Site Updates

+ +
{{ end }} diff --git a/layouts/links/list.html b/layouts/links/list.html index b0d7882..f632dff 100644 --- a/layouts/links/list.html +++ b/layouts/links/list.html @@ -1,17 +1,15 @@ {{ define "main" }} -{{ .Content }} - -{{ end }} -{{ define "sidebar" }} +

{{ .Title }}

+ {{ .Content }} + {{ range .Pages }} + {{ if .Params.context }} + {{ $url := urls.Parse .Params.context.url }} +

{{ .LinkTitle }}

+

(Permalink)

+ {{ else }} +

{{ .LinkTitle }}

+ {{ end }} + {{ .Summary }} + {{ partial "terms.html" (dict "taxonomy" "tags" "page" .) }} + {{ end }} {{ end }} diff --git a/layouts/links/single.html b/layouts/links/single.html new file mode 100644 index 0000000..25a1cd7 --- /dev/null +++ b/layouts/links/single.html @@ -0,0 +1,16 @@ +{{ define "main" }} +

{{ .Title }}

+ {{ if .Params.Subtitle }}

{{ .Params.Subtitle }}

{{ end }} + {{ if .Params.context }} + {{ $url := urls.Parse .Params.context.url }} +

{{ $url.Host }}

+ {{ end }} + + {{ $dateMachine := .Date | time.Format "2006-01-02T15:04:05-07:00" }} + {{ $dateHuman := .Date | time.Format ":date_long" }} + + + {{ if .Params.toc }}{{ end }} + {{ .Content }} + {{ partial "terms.html" (dict "taxonomy" "tags" "page" .) }} +{{ end }} diff --git a/layouts/notes/list.html b/layouts/notes/list.html deleted file mode 100644 index fa3e53b..0000000 --- a/layouts/notes/list.html +++ /dev/null @@ -1,23 +0,0 @@ -{{ define "main" }} -

{{ .Title }}

-{{ .Content }} -
- -
-{{ end }} diff --git a/layouts/notes/single.html b/layouts/notes/single.html deleted file mode 100644 index d5cbb41..0000000 --- a/layouts/notes/single.html +++ /dev/null @@ -1,11 +0,0 @@ -{{ define "main" }} -

{{ .Title }}

-
-
- {{ partial "tags.html" .}} -
- {{ .Content }} -
-
-
-{{ end }} diff --git a/layouts/pages/desertrock.html b/layouts/pages/desertrock.html deleted file mode 100644 index 6144a25..0000000 --- a/layouts/pages/desertrock.html +++ /dev/null @@ -1,8 +0,0 @@ - - - - - -{{ .Content }} - - diff --git a/layouts/partials/header.html b/layouts/partials/header.html index 09b5ed8..1712e53 100644 --- a/layouts/partials/header.html +++ b/layouts/partials/header.html @@ -1,4 +1,3 @@ -
-

{{ .Site.Title }}

- {{- partial "avatar.html" . -}} -
+

{{ site.Title }}

+{{ partial "menu.html" (dict "menuID" "main" "page" .) }} +{{ partial "socials.html" . }} diff --git a/layouts/partials/header.html.old b/layouts/partials/header.html.old new file mode 100644 index 0000000..09b5ed8 --- /dev/null +++ b/layouts/partials/header.html.old @@ -0,0 +1,4 @@ +
+

{{ .Site.Title }}

+ {{- partial "avatar.html" . -}} +
diff --git a/layouts/partials/socials.html b/layouts/partials/socials.html new file mode 100644 index 0000000..d83a511 --- /dev/null +++ b/layouts/partials/socials.html @@ -0,0 +1,43 @@ + diff --git a/layouts/projects/list.html b/layouts/projects/list.html deleted file mode 100644 index dfacc6e..0000000 --- a/layouts/projects/list.html +++ /dev/null @@ -1,6 +0,0 @@ -{{ define "main" }} -

{{ .Title }}

-
- {{ .Content }} -
-{{ end }} diff --git a/layouts/projects/single.html b/layouts/projects/single.html deleted file mode 100644 index dfacc6e..0000000 --- a/layouts/projects/single.html +++ /dev/null @@ -1,6 +0,0 @@ -{{ define "main" }} -

{{ .Title }}

-
- {{ .Content }} -
-{{ end }} diff --git a/layouts/shortcodes/imgset.html b/layouts/shortcodes/imgset.html new file mode 100644 index 0000000..2114bf0 --- /dev/null +++ b/layouts/shortcodes/imgset.html @@ -0,0 +1,16 @@ +
+ {{ with .Get "link" }}{{ end }} + + {{ if .Get "link" }}{{ end }} + {{ if or (or (.Get "title") (.Get "caption")) (.Get "attr") }} +
{{ if isset .Params "title" }} +

{{ .Get "title" }}

{{ end }} + {{ if or (.Get "caption") (.Get "attr") }}

+ {{ .Get "caption" }} + {{ with .Get "attrlink" }} {{ end }} + {{ .Get "attr" }} + {{ if .Get "attrlink" }} {{ end }} +

{{ end }} +
+ {{ end }} +
diff --git a/layouts/transformers/single.html b/layouts/transformers/single.html deleted file mode 100644 index d88682e..0000000 --- a/layouts/transformers/single.html +++ /dev/null @@ -1,5 +0,0 @@ -{{ define "main" }} -
- {{ .Content }} -
-{{ end }} diff --git a/layouts/transformers/transformers.html b/layouts/transformers/transformers.html deleted file mode 100644 index a37dc6f..0000000 --- a/layouts/transformers/transformers.html +++ /dev/null @@ -1,19 +0,0 @@ -{{ define "main" }} - -
- {{ .Content }} - -{{ end }} diff --git a/static/css/custom.css b/static/css/custom.css deleted file mode 100644 index a54d266..0000000 --- a/static/css/custom.css +++ /dev/null @@ -1,193 +0,0 @@ -:root { - --avatar-width: 50px; - --avatar-padding: calc(var(--avatar-width) / 10); -} - -#avatar-frame { - width: fit-content; - max-height: var(--avatar-width); - margin: 0.5vh 0; - padding: var(--avatar-padding); - border: 1px solid #cccccf; - border-radius: 15%/23%; - position: relative; -} - -#avatar-frame img { - max-width: var(--avatar-width); - border: 1px solid grey; - border-radius: 5px; -} - -.online { - background: linear-gradient(#D6FFDB00 0%, #D6FFDB 30%, #66FF00 100%); - box-shadow: 0 5px 10px #66FF00; -} - -.busy { - background: linear-gradient(#FF9A0000 0%, #D8820055 30%, #fca30d 100%); - box-shadow: 0 5px 10px #fca30d; -} - -.gloss { - width: 100%; - height: 100%; - /* background: red; */ - background: radial-gradient(ellipse 200% 120% at 50% 0%, rgba(255,255,255,0.25) 0%, rgba(255,255,255,0.25) 50%, - rgba(255,255,255,0) 51%); - position: absolute; - top: 0; - left: 0; - z-index: 10; - border-radius: 15%/23%; - pointer-events: none; -} - -.index-wrapper { - display: grid; - grid-template-columns: repeat(10, 10% [col-start]); - grid-template-rows: 50% 50%; - grid-template-areas: - "content content content content content content recent recent recent recent" - "interests interests interests interests blog blog blog blog social social"; -} - -.box { - /* border: 1px dotted black; */ - padding: 2vh; - font-size: 1.1rem; -} - -li.note-item { - display: flex; - justify-content: space-between; -} - -.index-content { - grid-area: content; -} - -.index-social { - grid-area: social; -} - -.index-blog { - grid-area: blog; -} - -.index-banners { - grid-row: 3 / 4; - grid-column: 1 / span 5; -} - -.index-recent { - grid-area: recent; -} - -.index-bookmarks { - grid-row: 3 / 4; - grid-column: 6 / span 5; -} - -@media only screen and (max-width: 500px) { - .index-wrapper { - display: flex; - flex-flow: row wrap; - } -} - -#statuscafe { - display: flex; - flex-flow: row wrap; - justify-content: space-between; - border: 1px solid #CCCCCC; -} - -#statuscafe p { - line-height: 1.5; - margin: 5px 0; - color: var(--secondary-text); - font-style: italic; -} - -#statuscafe #statuscafe-timeago { - flex: 1 1 50%; - text-align: right; -} - -#statuscafe #statuscafe-username { - flex: 1 1 50%; -} - -#statuscafe #statuscafe-content { - flex: 1 1 100%; -} - -/* - * Links page - */ - - #links-main { - display: flex; - flex-flow: row wrap; - align-items: flex-start; - justify-content: space-between; - gap: 10px; - } - - #links-main ul { - padding: 0; - } - - #links-main li { - padding: 7px 0; - list-style-type: none; - } - - .link-list details { - border: 1px dotted var(--pewter-blue); - padding: 0.7em 0.7em; - font-size: 1.1rem; - } - - .link-list details[open] { - /* padding: 0.5em; */ - } - - .link-list details[open] summary { - border-bottom: 1px dotted var(--pewter-blue); - padding-bottom: 0.5em; - margin-bottom: 0.5em; - } - - .link-list summary p { - line-height: 1; - /* margin: -0.5em -0.5em 0; */ - /* padding: 0.5em; */ - } - - .links-column { - display: flex; - flex-direction: column; - flex: 1 3 20%; - overflow-wrap: break-word; - } - - .links-column h2 { - text-align: center; - } - - /* webmention box */ - - .send-webmention { - margin: 55px 25px; - max-width: fit-content; - border: 1px dotted var(--primary-text); - padding: 0 20px 20px; - } - - .send-webmention p { - font-size: 1.3rem; - } - - #webmentions img { max-height: 1.2em; margin-right: -1ex; } diff --git a/static/css/winter.css b/static/css/winter.css deleted file mode 100644 index 8bf6a21..0000000 --- a/static/css/winter.css +++ /dev/null @@ -1,113 +0,0 @@ - -@keyframes fall { - 0% { - opacity: 0; - } - 50% { - opacity: 1; - } - 100% { - top: 150vh; - opacity: 1; - } -} - -@keyframes sway { - 0% { - margin-left: 0; - } - 25% { - margin-left: 50px; - } - 50% { - margin-left: -50px; - } - 75% { - margin-left: 50px; - } - 100% { - margin-left: 0; - } -} - - -#winter { - z-index: 1; - height: 150vh; - overflow: hidden; - position: absolute; - top: 0; - transition: opacity 500ms; - width: 100%; - pointer-events: none; -} - -.snow { - animation: fall ease-in infinite, sway ease-in-out infinite; - color: white; - position: absolute; -} - -body { - background: #241e1e; -} - -main { - font-size: 16px; - max-width: 1250px; - margin: 0 auto; - background-color: #ffb380; - font-family: 'Krub', sans-serif; -} - -header { - height: 200px; - background-image: url('/images/blog/desert.png'); -} - -footer { - max-width: 750px; - margin: 0 auto; -} - -h1 { - font-size: 1.8rem; -} - -a:link, a:visited { - color: #C03221; - text-decoration: none; -} - -a:hover, a:active { - text-decoration: underline; -} - -.content { - max-width: 750px; - margin: 0 auto; - padding-bottom: 30px; -} - -.content p { - z-index: 2; - line-height: 1.7em; - font-size: 1.1rem; -} - -p img { - display: block; - margin: 0 auto; - width: fit-content; -} - -.context { - font-style: italic; -} - -.send-webmention { - margin: 0 auto; - max-width: fit-content; - border: 1px dotted var(--primary-text); - padding: 25px 0; -} diff --git a/static/fonts/NiseGenesis.TTF b/static/fonts/NiseGenesis.TTF deleted file mode 100644 index c9df3ab5f0d1ebec93631fcf0bd1b0904fb9845a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15404 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 T#$tU(wPq9;{) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/static/icons/aero-email-2.svg b/static/icons/aero-email-2.svg deleted file mode 100644 index 705a2db..0000000 --- a/static/icons/aero-email-2.svg +++ /dev/null @@ -1,200 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/static/icons/aero-mastodon.svg b/static/icons/aero-mastodon.svg deleted file mode 100644 index 2bb093d..0000000 --- a/static/icons/aero-mastodon.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - diff --git a/static/icons/aero-rss.svg b/static/icons/aero-rss.svg deleted file mode 100644 index 9adcd70..0000000 --- a/static/icons/aero-rss.svg +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/static/icons/flat-chat.svg b/static/icons/flat-chat.svg new file mode 100644 index 0000000..0cbb5a3 --- /dev/null +++ b/static/icons/flat-chat.svg @@ -0,0 +1,6 @@ + + + +chat + + \ No newline at end of file diff --git a/static/icons/flat-email.svg b/static/icons/flat-email.svg new file mode 100644 index 0000000..d973446 --- /dev/null +++ b/static/icons/flat-email.svg @@ -0,0 +1,22 @@ + + + + + + + + + + \ No newline at end of file diff --git a/static/icons/flat-mastodon.svg b/static/icons/flat-mastodon.svg new file mode 100644 index 0000000..cf7fadf --- /dev/null +++ b/static/icons/flat-mastodon.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/static/icons/flat-rss.svg b/static/icons/flat-rss.svg new file mode 100644 index 0000000..9f830ca --- /dev/null +++ b/static/icons/flat-rss.svg @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/static/icons/mail-fill.png b/static/icons/mail-fill.png deleted file mode 100644 index 6da3995d32672bc281cf0d462b428ab0cdbc021f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 629 zcmV-*0*d{KP)!BB3tK=yfxb)p0dCh%+anxOk~Y{a*QA~w%`$??dXm^7#ZG1usKs=um5B|y@y2}LV3;)Qr= z*0n)$|H0f_6+G*r6CfxGFlM!J2+)Otuy0KI$Rr_PNw6ns4+7fDH);ApBqLyx((8QF zXvPMo=Y5lAQUWAL1vYovDg)lvBEI{{6|evr`N2z%{lR=knHV-20l>1U7vi)|EE|%PxK_;aE{zd$tC1_^?ZxV1{1*MEoA{7Zhv+@&_$I9KAz>Wlc5JMnV^DdTjg zE(SorYkR1{yYZw12dMS1{lDG+n{eImZ79ThK_{}>Ec?ON<&kPXRZwM_ST z&udG=gA*Y8R9qiYA>gwp;Fho1W@D}!SrllJfCzgd)Upx?1>Kxi2;~0zu_#a!h}_Ag zgh~nJE}_W$$)|VzS0Xur$bhW`xTovy+{m2Crt=jyX-2a)XjNanc9W$|6A18J)8}mj v(xe+GO70dJO|uY)Uc$%#MS;i#jGq1r;A)65z+t;D00000NkvXXu0mjfP1O&~ diff --git a/static/icons/mastodon-fill.png b/static/icons/mastodon-fill.png deleted file mode 100644 index afa3a6a6501f25277065fe8020594ef5cc3d3224..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 874 zcmV-w1C{)VP)lfC?}b02N>=06I7-04m_<04g9uboAi5l zZi-1O0RTRcJ`LJ5n8O$%7t&87lErQ<1OWYh6lDjVStf7Q`&G?@m%t`~ulZZLooqZW zIrR`A@*kH**5I#5qDFw4|FL4(uN~3)BO4|lgjtnp@>2#oX(zo~ zGY+=*S_ycf|3yw;2Jq28{U|#o;Vm=h8~sm706q#NHqu(4m<#mXlTrq1wf`XuoC_dC z02)ao0gO6N8m~lv2)@XmBl3L?`RF}1pQS{8>#)ZrmkEM#P(~#JgE~CQ44R!(341^h z40ha_*sNLm1H2^yU)7uAK}u{t?1*$cO61A~JC@`wIAx=P+*nv`*zHsDSTBchLy5rO zjFVLPu+&CSu^Z{$86O_It@`B3=*kGB$lAIm`efCL&DQD!dLg2GtXKkGyAy#JN$(u+ zM%HV0%D_#|z(axK%=KTESVq02;k7H3P}4>>cMh-zpi$W5QX8XPt!@l~#LAj{N>7! zJjeI$fYdSokkn;mJOBf8$hsD(5daiXsg=>45Xsd^cnEBSiqGmLN$!$su<;N8#~{sp zBZ@e;df;HTs(1-7F{$-hDN$~$A`oVB+MkVL5PG#S!D)y1WbqPU00snHjYJEW1p5KyLqH}=YX(vSQChteQgI`*KXSy) zYbP7#(h&Ym1|B;uL0~qBISx()=0tCazDJ*de@phwF_;z2@&Et;07*qoM6N<$g0>2Z ALI3~& diff --git a/static/icons/mastodon-line.png b/static/icons/mastodon-line.png deleted file mode 100644 index 1485aee78572462be0ced5755fd48f61c4cbf87a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 895 zcmV-_1AzRAP)E42AD104g9?0Z;*<0-ypy1soL+DgY`VR{=)_w^RUBz)}HF0qA3_8%1&a6MK`% zOf;j}-FPj(C&{+FIX^pcIX`mzXD0%Oj$ms99twd6qBBwM?*>Bi1hG-tP-GDOE&5IL zd$_OiNi6{YJ{5fyv}&+|mm#te{cK1kyVVc?^he|60z6HxyqDgua~4VoECTqPz25Ca z<7LWd2?0F+X^WAcA%6+|Xu>`u2GzMjI&wb?SLRYok|c5j801GJZ9d3v7zTJRVJw`r z6us|^K9}d~*g!b~7<=P7KI#nIy_JtYmO70gm1X#vinGWRrrFrK5U3ebk`lNGMd=y5pzmZ0% z2mtD_0p%ysUk7;WL~9`C$JoG|B0vt}1r^xi1r={RnxhTi>FS+Gl=EZ09{N$YMxEfKBO6;ifkQ7hem-ipgXIvMaz8sEti__8as3CG7TV!`2jY8+FLU z1aj5z|KWEbK>gpl=CQuOJ~fst-D!_jyD0+8U`UPYX-q>)im4LbRslE%7=X{5F^WZ7 z8Q(V75YPjS67YaIm7!y}5~V-k-g{WjyIKrl6O9QrXp5fuQUp9uokZIRv_>G-AJ22N z#VJuq5g??$Trb|=2LZg!Bu10-EkywAgw1~5U?O4AE^j?OkH@b|fa{<+0)8pu%fQMJ zAhifH`D}BVF?hC{A-}O9jR61-!XbA4R5>I^AeJtiefh|%!r&BH2ay~BKnjZ%P zl6Eh6a_=Nc2rQh(V<7!EqrDL+ArOl~3?TC*`#rxmvr+;qsZ2aSAw3@6VHF|mn4JD^ zBTdD5NJH9}Eu=~bFa~)KupEgRJkbiX#y|}L>=KEUDF2i7ki8R7&_v@>l=Xkth_D}! zJ~(7&sf|EvAjr%`XCcjqlK;C%H?L9JScZpi-5I!c>_MOzM2mqFffn!e=zH`L_y-&( VwJ}>B((wQQ002ovPDHLkV1gMWP)tOEeq4`ePgE=6Di(Uiu7r;w2?V&lep8n-UPg5Yc*iiQUubszys(}q?{h6O?Y zgv+@{SAci{CZ|oH3-t~l{$>_aBixGV3lQbtLb3@!o{L6sy)X#SfQ5%w9SAJh}XvXw9Zyc%w)}ra*o+%lv-f*9xJbV zE39S(iY69UM_&LA#u^B)uiV0S9hm@nLLdaR(MwcEH~0zP_4?P0LbO3uv(*L zwFjE@{>Z(=$bX{?0Ec9AvwTmLPW=v61qqTNWGaxW16Wqj1hHIjDgbW@MK?id)hu8M zlB)?;AZwW@xv#4Wp^2)3v{YLSKuILydTeQNT+$Y1q0tNP@#E1$Y+Y#6Ci((pxtKAe S*V%gj0000 { - return Math.floor(Math.random() * num); -} - -const getRandomStyles = () => { - const top = random(100); - const left = random(100); - const dur = random(10) + 10; - const size = random(15) + 15; - return ` -top: -${top}%; -left: ${left}%; -font-size: ${size}px; -animation-duration: ${dur}s; -`; -} - -const createSnow = (num) => { - for (var i = num; i > 0; i--) { - var snow = document.createElement("div"); - snow.className = "snow"; - snow.style.cssText = getRandomStyles(); - snow.innerHTML = snowflake; - // snow.innerHTML = snowflake; - snowContainer.append(snow); - } -} - -window.addEventListener("load", () => { - createSnow(30) -}); diff --git a/themes/desert-breeze/LICENSE b/themes/desert-breeze/LICENSE new file mode 100644 index 0000000..8aa2645 --- /dev/null +++ b/themes/desert-breeze/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) [year] [fullname] + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/themes/desert-breeze/README.md b/themes/desert-breeze/README.md new file mode 100644 index 0000000..7cec74e --- /dev/null +++ b/themes/desert-breeze/README.md @@ -0,0 +1,7 @@ +# Theme Name + +## Features + +## Installation + +## Configuration diff --git a/themes/desert-breeze/archetypes/default.md b/themes/desert-breeze/archetypes/default.md new file mode 100644 index 0000000..c6f3fce --- /dev/null +++ b/themes/desert-breeze/archetypes/default.md @@ -0,0 +1,5 @@ ++++ +title = '{{ replace .File.ContentBaseName "-" " " | title }}' +date = {{ .Date }} +draft = true ++++ diff --git a/themes/desert-breeze/assets/css/main.css b/themes/desert-breeze/assets/css/main.css new file mode 100644 index 0000000..9a18df6 --- /dev/null +++ b/themes/desert-breeze/assets/css/main.css @@ -0,0 +1,110 @@ +@import url(https://fonts.bunny.net/css?family=share-tech-mono:400); + +@media (prefers-color-scheme: dark) { + :root { + --main-bg: #1b0d1f; + --content-bg: var(--main-bg); + --accent: #896a95; + --primary-text: #e4c2f1; + --primary-link: #b666d9; + --primary-link-hover: #f2e0f8; + } +} + +@media (prefers-color-scheme: light) { + :root { + --main-bg: #edf6d1; + --content-bg: var(--main-bg); + --accent: #929a79; + --primary-text: #1d2114; + --primary-link: #667937; + --primary-link-hover: #343c1f; + } +} + +html { + background: var(--main-bg); +} + +body { + color: var(--primary-text); + font-family: sans-serif; + line-height: 1.5; + margin: 1rem auto; + max-width: 900px; + background: var(--content-bg); + font-size: 1.2rem; +} + +header { + border-bottom: 1px solid var(--accent); + /* background: purple; */ + padding: 4rem 1rem 0 1rem; + margin-bottom: 1rem; + display: flex; + flex-flow: row wrap; + justify-content: space-between; + align-items: baseline; + font-family: 'Share Tech Mono', 'Courier New', Courier, monospace; + text-transform: lowercase; + font-size: 1.3rem; +} + +header h1 { + display: inline; + margin: 0; + font-size: 1.3rem; + flex: 2 1 15%; +} + +header a { + text-decoration: none; +} + +nav { + display: inline-block; + flex: 5 1 25% +} + +nav ul { + margin: 0; +} + +nav ul li { + display: inline-block; + padding: 0 0.3rem; +} + +main { + padding: 0 1.5rem; +} + +footer { + border-top: 1px solid var(--accent); + margin-top: 1rem; + text-align: center; +} + +a { + color: var(--primary-link); + transition: color 0.5s; +} + +a:hover, a:active { + color: var(--primary-link-hover); +} + +img { + max-width: 100%; +} + +figure { + max-width: 100%; +} + +@media only screen and (max-width: 450px) { + header h1 { + display: block; + } +} + diff --git a/themes/desert-breeze/assets/js/main.js b/themes/desert-breeze/assets/js/main.js new file mode 100644 index 0000000..c6241e5 --- /dev/null +++ b/themes/desert-breeze/assets/js/main.js @@ -0,0 +1,66 @@ +const darkMode = { + mainBg: '#1b0d1f', + contentBg: '#1b0d1f', + accent: '#896a95', + primaryText: '#e4c2f1', + primaryLink: '#b666d9', + primaryLinkHover: '#f2e0f8' +}; + +const lightMode = { + mainBg: '#edf6d1', + contentBg: '#edf6d1', + accent: '#929a79', + primaryText: '#1d2114', + primaryLink: '#667937', + primaryLinkHover: '#343c1f' +}; + +const root = document.querySelector(':root'); +const themeToggle = document.getElementById('theme-toggle'); + +const applyTheme = (theme) => { + root.style.setProperty("--main-bg", theme.mainBg); + root.style.setProperty("--content-bg", theme.contentBg); + root.style.setProperty("--primary-text", theme.primaryText); + root.style.setProperty("--accent", theme.accent); + root.style.setProperty("--primary-link", theme.primaryLink); + root.style.setProperty("--primary-link-hover", theme.primaryLinkHover); +} + +const enableDarkMode = () => { + applyTheme(darkMode); + localStorage.setItem('theme', 'dark'); + themeToggle.innerText = '☀️ Light Theme'; + themeToggle.value = 'Light Mode'; +} + +const disableDarkMode = () => { + applyTheme(lightMode); + localStorage.setItem('theme', 'light'); + themeToggle.innerText = '🌙 Dark Theme'; + themeToggle.value = 'Dark Mode'; +} + +const detectTheme = () => { + let theme = 'light'; + let themeObj = lightMode; + + if (localStorage.getItem('theme')) { + theme = localStorage.getItem('theme'); + } + else if (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) { + theme = 'dark'; + } + + theme === 'dark' ? enableDarkMode() : disableDarkMode(); +} + +themeToggle.className = ""; +detectTheme(); + +themeToggle.addEventListener('click', () => { + localStorage.getItem('theme') === 'light' ? enableDarkMode() : disableDarkMode(); +}); + +console.log('This site was generated by Hugo.'); diff --git a/themes/desert-breeze/content/_index.md b/themes/desert-breeze/content/_index.md new file mode 100644 index 0000000..652623b --- /dev/null +++ b/themes/desert-breeze/content/_index.md @@ -0,0 +1,9 @@ ++++ +title = 'Home' +date = 2023-01-01T08:00:00-07:00 +draft = false ++++ + +Laborum voluptate pariatur ex culpa magna nostrud est incididunt fugiat +pariatur do dolor ipsum enim. Consequat tempor do dolor eu. Non id id anim anim +excepteur excepteur pariatur nostrud qui irure ullamco. diff --git a/themes/desert-breeze/content/posts/_index.md b/themes/desert-breeze/content/posts/_index.md new file mode 100644 index 0000000..e7066c0 --- /dev/null +++ b/themes/desert-breeze/content/posts/_index.md @@ -0,0 +1,7 @@ ++++ +title = 'Posts' +date = 2023-01-01T08:30:00-07:00 +draft = false ++++ + +Tempor est exercitation ad qui pariatur quis adipisicing aliquip nisi ea consequat ipsum occaecat. Nostrud consequat ullamco laboris fugiat esse esse adipisicing velit laborum ipsum incididunt ut enim. Dolor pariatur nulla quis fugiat dolore excepteur. Aliquip ad quis aliqua enim do consequat. diff --git a/themes/desert-breeze/content/posts/post-1.md b/themes/desert-breeze/content/posts/post-1.md new file mode 100644 index 0000000..3e3fc6b --- /dev/null +++ b/themes/desert-breeze/content/posts/post-1.md @@ -0,0 +1,10 @@ ++++ +title = 'Post 1' +date = 2023-01-15T09:00:00-07:00 +draft = false +tags = ['red'] ++++ + +Tempor proident minim aliquip reprehenderit dolor et ad anim Lorem duis sint eiusmod. Labore ut ea duis dolor. Incididunt consectetur proident qui occaecat incididunt do nisi Lorem. Tempor do laborum elit laboris excepteur eiusmod do. Eiusmod nisi excepteur ut amet pariatur adipisicing Lorem. + +Occaecat nulla excepteur dolore excepteur duis eiusmod ullamco officia anim in voluptate ea occaecat officia. Cillum sint esse velit ea officia minim fugiat. Elit ea esse id aliquip pariatur cupidatat id duis minim incididunt ea ea. Anim ut duis sunt nisi. Culpa cillum sit voluptate voluptate eiusmod dolor. Enim nisi Lorem ipsum irure est excepteur voluptate eu in enim nisi. Nostrud ipsum Lorem anim sint labore consequat do. diff --git a/themes/desert-breeze/content/posts/post-2.md b/themes/desert-breeze/content/posts/post-2.md new file mode 100644 index 0000000..22b8287 --- /dev/null +++ b/themes/desert-breeze/content/posts/post-2.md @@ -0,0 +1,10 @@ ++++ +title = 'Post 2' +date = 2023-02-15T10:00:00-07:00 +draft = false +tags = ['red','green'] ++++ + +Anim eiusmod irure incididunt sint cupidatat. Incididunt irure irure irure nisi ipsum do ut quis fugiat consectetur proident cupidatat incididunt cillum. Dolore voluptate occaecat qui mollit laborum ullamco et. Ipsum laboris officia anim laboris culpa eiusmod ex magna ex cupidatat anim ipsum aute. Mollit aliquip occaecat qui sunt velit ut cupidatat reprehenderit enim sunt laborum. Velit veniam in officia nulla adipisicing ut duis officia. + +Exercitation voluptate irure in irure tempor mollit Lorem nostrud ad officia. Velit id fugiat occaecat do tempor. Sit officia Lorem aliquip eu deserunt consectetur. Aute proident deserunt in nulla aliquip dolore ipsum Lorem ut cupidatat consectetur sit sint laborum. Esse cupidatat sit sint sunt tempor exercitation deserunt. Labore dolor duis laborum est do nisi ut veniam dolor et nostrud nostrud. diff --git a/themes/desert-breeze/content/posts/post-3/bryce-canyon.jpg b/themes/desert-breeze/content/posts/post-3/bryce-canyon.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9a923bea0d182c65213ad3a105fa05f61c881976 GIT binary patch literal 19224 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 + + + {{ partial "head.html" . }} + + +
+ {{ partial "header.html" . }} +
+
+ {{ block "main" . }}{{ end }} +
+
+ {{ partial "footer.html" . }} +
+ + diff --git a/themes/desert-breeze/layouts/_default/home.html b/themes/desert-breeze/layouts/_default/home.html new file mode 100644 index 0000000..0df6597 --- /dev/null +++ b/themes/desert-breeze/layouts/_default/home.html @@ -0,0 +1,7 @@ +{{ define "main" }} + {{ .Content }} + {{ range site.RegularPages }} +

{{ .LinkTitle }}

+ {{ .Summary }} + {{ end }} +{{ end }} diff --git a/themes/desert-breeze/layouts/_default/list.html b/themes/desert-breeze/layouts/_default/list.html new file mode 100644 index 0000000..50fc92d --- /dev/null +++ b/themes/desert-breeze/layouts/_default/list.html @@ -0,0 +1,8 @@ +{{ define "main" }} +

{{ .Title }}

+ {{ .Content }} + {{ range .Pages }} +

{{ .LinkTitle }}

+ {{ .Summary }} + {{ end }} +{{ end }} diff --git a/themes/desert-breeze/layouts/_default/single.html b/themes/desert-breeze/layouts/_default/single.html new file mode 100644 index 0000000..7e286c8 --- /dev/null +++ b/themes/desert-breeze/layouts/_default/single.html @@ -0,0 +1,10 @@ +{{ define "main" }} +

{{ .Title }}

+ + {{ $dateMachine := .Date | time.Format "2006-01-02T15:04:05-07:00" }} + {{ $dateHuman := .Date | time.Format ":date_long" }} + + + {{ .Content }} + {{ partial "terms.html" (dict "taxonomy" "tags" "page" .) }} +{{ end }} diff --git a/themes/desert-breeze/layouts/partials/footer.html b/themes/desert-breeze/layouts/partials/footer.html new file mode 100644 index 0000000..a7cd916 --- /dev/null +++ b/themes/desert-breeze/layouts/partials/footer.html @@ -0,0 +1 @@ +

Copyright {{ now.Year }}. All rights reserved.

diff --git a/themes/desert-breeze/layouts/partials/head.html b/themes/desert-breeze/layouts/partials/head.html new file mode 100644 index 0000000..02c2240 --- /dev/null +++ b/themes/desert-breeze/layouts/partials/head.html @@ -0,0 +1,5 @@ + + +{{ if .IsHome }}{{ site.Title }}{{ else }}{{ printf "%s | %s" .Title site.Title }}{{ end }} +{{ partialCached "head/css.html" . }} +{{ partialCached "head/js.html" . }} diff --git a/themes/desert-breeze/layouts/partials/head/css.html b/themes/desert-breeze/layouts/partials/head/css.html new file mode 100644 index 0000000..86641d1 --- /dev/null +++ b/themes/desert-breeze/layouts/partials/head/css.html @@ -0,0 +1,18 @@ +{{- with resources.Get "css/main.css" }} + {{- if eq hugo.Environment "development" }} + + {{- else }} + {{- with . | minify | fingerprint }} + + {{- end }} + {{- end }} +{{- end }} +{{- with resources.Get "css/custom.css" }} + {{- if eq hugo.Environment "development" }} + + {{- else }} + {{- with . | minify | fingerprint }} + + {{- end }} + {{- end }} +{{- end }} diff --git a/themes/desert-breeze/layouts/partials/head/js.html b/themes/desert-breeze/layouts/partials/head/js.html new file mode 100644 index 0000000..4a8a1af --- /dev/null +++ b/themes/desert-breeze/layouts/partials/head/js.html @@ -0,0 +1,12 @@ +{{- with resources.Get "js/main.js" }} + {{- if eq hugo.Environment "development" }} + {{- with . | js.Build }} + + {{- end }} + {{- else }} + {{- $opts := dict "minify" true }} + {{- with . | js.Build $opts | fingerprint }} + + {{- end }} + {{- end }} +{{- end }} diff --git a/themes/desert-breeze/layouts/partials/header.html b/themes/desert-breeze/layouts/partials/header.html new file mode 100644 index 0000000..d06ff1d --- /dev/null +++ b/themes/desert-breeze/layouts/partials/header.html @@ -0,0 +1,2 @@ +

{{ site.Title }}

+{{ partial "menu.html" (dict "menuID" "main" "page" .) }} diff --git a/themes/desert-breeze/layouts/partials/menu.html b/themes/desert-breeze/layouts/partials/menu.html new file mode 100644 index 0000000..7183180 --- /dev/null +++ b/themes/desert-breeze/layouts/partials/menu.html @@ -0,0 +1,51 @@ +{{- /* +Renders a menu for the given menu ID. + +@context {page} page The current page. +@context {string} menuID The menu ID. + +@example: {{ partial "menu.html" (dict "menuID" "main" "page" .) }} +*/}} + +{{- $page := .page }} +{{- $menuID := .menuID }} + +{{- with index site.Menus $menuID }} + +{{- end }} + +{{- define "partials/inline/menu/walk.html" }} + {{- $page := .page }} + {{- range .menuEntries }} + {{- $attrs := dict "href" .URL }} + {{- if $page.IsMenuCurrent .Menu . }} + {{- $attrs = merge $attrs (dict "class" "active" "aria-current" "page") }} + {{- else if $page.HasMenuCurrent .Menu .}} + {{- $attrs = merge $attrs (dict "class" "ancestor" "aria-current" "true") }} + {{- end }} + {{- $name := .Name }} + {{- with .Identifier }} + {{- with T . }} + {{- $name = . }} + {{- end }} + {{- end }} +
  • + {{ $name }} + {{- with .Children }} +
      + {{- partial "inline/menu/walk.html" (dict "page" $page "menuEntries" .) }} +
    + {{- end }} +
  • + {{- end }} +{{- end }} diff --git a/themes/desert-breeze/layouts/partials/terms.html b/themes/desert-breeze/layouts/partials/terms.html new file mode 100644 index 0000000..8a6ebec --- /dev/null +++ b/themes/desert-breeze/layouts/partials/terms.html @@ -0,0 +1,23 @@ +{{- /* +For a given taxonomy, renders a list of terms assigned to the page. + +@context {page} page The current page. +@context {string} taxonomy The taxonomy. + +@example: {{ partial "terms.html" (dict "taxonomy" "tags" "page" .) }} +*/}} + +{{- $page := .page }} +{{- $taxonomy := .taxonomy }} + +{{- with $page.GetTerms $taxonomy }} + {{- $label := (index . 0).Parent.LinkTitle }} +
    +
    {{ $label }}:
    + +
    +{{- end }} diff --git a/themes/desert-breeze/static/favicon.ico b/themes/desert-breeze/static/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..67f8b777851849527933b78b1f98bd564d8255d1 GIT binary patch literal 15406 zcmeI3%WEH16vro|f`O{FV5Nc>unpZA42Xe(zeP4Fn0Fu>#YKe(c41L;qszMJ-bXDi z>L1W57+rSdLS5OG#!V^IKxvbj6n@gC#QOREdT$vg^US^Tf(#t)%-r+%o^#KA&hHll zeL;V)Z(l$;7%c7yg4co|7#w``eB{|6_?CCW!=`>H2!44k2#&ym2ojIpQ{=j)r>9?; zot^z+et!PXxw*M}BHinq>XMXKboc`~d=&+uPNklCgSOc%pC zkdxhQd};55Lm1#0hSD%6>D`)|ni^JI((I(w8QJADo{YL>VsSr%Ckg*U$-2s8+X=sG z{FIYm*irl0d{!y{D{f@u4p-n@#^$z+5S`e?RJu8p?Lq>0x`@}vIu7kfT z8Od5bMN4D{&~ch_$NgBcM#n%A`@~N^|ABlif3x_ci!t%#JQ&cWarai1&Z6~TkWOa9 zw}_GQ!9UZ~o(wFidYcy6DoF0rq<yz2-5e zTyl`ty!pUE-U+vC*KNN6@vklal>5+`8rxs}uh#LW?(tW105Q;7(Wx&Lm6uJ~)`e`X z^RF;~r?T~jY{_Q$A_iJ-m%jcoHny$5gr&~)r;P=1C}sVP-puv4#i0EM{FfkKed1Em zy4%`}me{Us{}sjpj#~DgVGO#rYen+cu9FI~=yTd>3AzfcLA`SnbFXu|pT#pXGc&>2(2!(N+83v|%y-!B zH|JI#fb9Zw1NxWuxyA*n7Wlp875YYr(Gs{zKTE)l_AX1Q6wmo%>|9k+6aP<2dk>lant}U*_E8rG3D-5uK;;yPx-8W%=Kfda!;c%(fl0 ze&XHrrr^uM0oGf>Z1DFnHhqLl>1%^5TzTuk|3H|*ul4(0o-gE;Z3>^kyq|VB2&R>$ z;3|M)g|TQza{|6pwl*t(FLk^UW^(9F%1?ditXdD)PeI>TZP%AQuxqb<#h1RS^?+T! z8Ck2^t}lCF{~KLC_TZ^~%@^LN9`I|g*;@RHecST~{FkHc(w1kiUj^&=w&0Dy`6E8G zdj4Yla1TF#N4vKWh(zA3A5dm)G|O@NEjS_AkOu zAJA`duQdQy-kiND%)+h<+}gi?*&_V<{_uGJE+68oBmMcH-Rl|t`yCgB%e&5Zsqq=>yyS- z+H#S&ls3nqdmTC0`~O|AJhXPJKi1jW{{U!5hztM# literal 0 HcmV?d00001 diff --git a/themes/desert-breeze/theme.toml b/themes/desert-breeze/theme.toml new file mode 100644 index 0000000..3ba3164 --- /dev/null +++ b/themes/desert-breeze/theme.toml @@ -0,0 +1,31 @@ +name = 'Theme name' +license = 'MIT' +licenselink = 'https://github.com/owner/repo/LICENSE' +description = 'Theme description' + +# The home page of the theme, where the source can be found +homepage = 'https://github.com/owner/repo' + +# If you have a running demo of the theme +demosite = 'https://owner.github.io/repo' + +# Taxonomy terms +tags = ['blog', 'company'] +features = ['some', 'awesome', 'features'] + +# If the theme has multiple authors +authors = [ + {name = 'Name of author', homepage = 'Website of author'}, + {name = 'Name of author', homepage = 'Website of author'} +] + +# If the theme has a single author +[author] + name = 'Your name' + homepage = 'Your website' + +# If porting an existing theme +[original] + author = 'Name of original author' + homepage = 'Website of original author' + repo = 'https://github.com/owner/repo' diff --git a/themes/dreamcast/layouts/blog/single.html b/themes/dreamcast/layouts/blog/single.html index 5647b80..8b15750 100644 --- a/themes/dreamcast/layouts/blog/single.html +++ b/themes/dreamcast/layouts/blog/single.html @@ -1,7 +1,7 @@ {{ define "main" }}
    - {{ if .Params.reply_to }} -

    ⬑ Reply to {{ .Params.reply_to.title }} by {{ .Params.reply_to.author }}.

    + {{ if .Params.context }} +

    ⬑ Reply to {{ .Params.context.title }} by {{ .Params.context.author }}.

    {{ end }} {{ partial "post-header.html" .}}
    diff --git a/themes/saturn/layouts/blog/single.html b/themes/saturn/layouts/blog/single.html index 163d16e..3f8acb7 100644 --- a/themes/saturn/layouts/blog/single.html +++ b/themes/saturn/layouts/blog/single.html @@ -2,8 +2,8 @@