Compare commits

...

6 Commits

Author SHA1 Message Date
209f613801 Update content 2026-02-16 14:40:38 -06:00
979093da35 Add Now Burning 2026-02-16 12:03:50 -06:00
f38d21ebac Add 11tyCMS config 2026-02-16 12:03:39 -06:00
c9369e4711 Changes from 11tyCMS 2026-02-16 12:03:28 -06:00
6621b20829 Add posts 2026-02-13 14:03:04 -06:00
72c0fddf02 Move styles to head, lower woo audio 2026-02-13 14:02:54 -06:00
23 changed files with 232 additions and 150 deletions

9
_11tycms.json Normal file
View File

@@ -0,0 +1,9 @@
{
"input":"/content/",
"includes":"/_includes/",
"data":"/_data/",
"output":"/_site/",
"media":"/public/img",
"build":"npx @11ty/eleventy",
"publish":"rsync -av --del /home/n_u/Repos/nathanupchurch.com/_site/ n_u@upchur.ch:/var/www/my_webapp/www/"
}

View File

@@ -12,6 +12,8 @@
<!-- /Indieweb profile links --> <!-- /Indieweb profile links -->
{% include "structuredData.njk" %} {% include "structuredData.njk" %}
{% include "analytics.html" %} {% include "analytics.html" %}
{% include "weatherStyle.njk" %}
{% include "wooModeStyle.njk" %}
</head> </head>
<body> <body>
{% include "header.njk" %} {% include "header.njk" %}

View File

@@ -1,11 +1,3 @@
<style>
#siteSettingsContainer {
& button:not(#settingsDone) {
margin-top: 0;
}
}
</style>
<div id="siteSettingsContainer"> <div id="siteSettingsContainer">
<button onclick="siteSettings.showModal();">Site Settings</button> <button onclick="siteSettings.showModal();">Site Settings</button>
<dialog id="siteSettings"> <dialog id="siteSettings">

View File

@@ -1,117 +1,6 @@
<!-- weather --> <!-- weather -->
<!-- Based on https://codepen.io/codeconvey/pen/xRzQay --> <!-- Based on https://codepen.io/codeconvey/pen/xRzQay -->
{# This include causes a symbol (text, emoji, et cetera; from metadata.weatherSymbol) to fall from the top of the viewport like snow. #} {# This include causes a symbol (text, emoji, et cetera; from metadata.weatherSymbol) to fall from the top of the viewport like snow. #}
<style>
.fallingObject {
color: #fff;
font-size: 1em;
font-family: Arial;
pointer-events: none;
text-shadow: 0 0 1px #000;
}
@keyframes fallingObjects-fall {
0% {
top: -10%;
}
100% {
top: 100%;
}
}
@keyframes fallingObjects-shake {
0% {
transform: translateX(0px);
}
50% {
transform: translateX(80px);
}
100% {
transform: translateX(0px);
}
}
.fallingObject {
position: fixed;
top: -10%;
z-index: 9999;
user-select: none;
cursor: default;
animation-name: fallingObjects-fall, fallingObjects-shake;
animation-duration: 10s, 3s;
animation-timing-function: linear, ease-in-out;
animation-iteration-count: infinite, infinite;
animation-play-state: running, running;
}
.fallingObject:nth-of-type(0) {
left: 1%;
animation-delay: 0s, 0s;
& > div {
transform: rotate(45deg);
}
}
.fallingObject:nth-of-type(1) {
left: 10%;
animation-delay: 1s, 1s;
& > div {
transform: rotate(10deg);
}
}
.fallingObject:nth-of-type(2) {
left: 20%;
animation-delay: 6s, 0.5s;
& > div {
transform: rotate(60deg);
}
}
.fallingObject:nth-of-type(3) {
left: 30%;
animation-delay: 4s, 2s;
& > div {
transform: rotate(84deg);
}
}
.fallingObject:nth-of-type(4) {
left: 40%;
animation-delay: 2s, 2s;
& > div {
transform: rotate(267deg);
}
}
.fallingObject:nth-of-type(5) {
left: 50%;
animation-delay: 8s, 3s;
& > div {
transform: rotate(200deg);
}
}
.fallingObject:nth-of-type(6) {
left: 60%;
animation-delay: 6s, 2s;
& > div {
transform: rotate(20deg);
}
}
.fallingObject:nth-of-type(7) {
left: 70%;
animation-delay: 2.5s, 1s;
& > div {
transform: rotate(78deg);
}
}
.fallingObject:nth-of-type(8) {
left: 80%;
animation-delay: 1s, 0s;
& > div {
transform: rotate(3120deg);
}
}
.fallingObject:nth-of-type(9) {
left: 90%;
animation-delay: 3s, 1.5s;
& > div {
transform: rotate(123deg);
}
}
</style>
<div class="fallingObjects" id="weather" aria-hidden="true"> <div class="fallingObjects" id="weather" aria-hidden="true">
<div class="fallingObject"> <div class="fallingObject">
<div>{{ metadata.weatherSymbol }}</div> <div>{{ metadata.weatherSymbol }}</div>

112
_includes/weatherStyle.njk Normal file
View File

@@ -0,0 +1,112 @@
<!-- Weather style -->
<style>
.fallingObject {
color: #fff;
font-size: 1em;
font-family: Arial;
pointer-events: none;
text-shadow: 0 0 1px #000;
}
@keyframes fallingObjects-fall {
0% {
top: -10%;
}
100% {
top: 100%;
}
}
@keyframes fallingObjects-shake {
0% {
transform: translateX(0px);
}
50% {
transform: translateX(80px);
}
100% {
transform: translateX(0px);
}
}
.fallingObject {
position: fixed;
top: -10%;
z-index: 9999;
user-select: none;
cursor: default;
animation-name: fallingObjects-fall, fallingObjects-shake;
animation-duration: 10s, 3s;
animation-timing-function: linear, ease-in-out;
animation-iteration-count: infinite, infinite;
animation-play-state: running, running;
}
.fallingObject:nth-of-type(0) {
left: 1%;
animation-delay: 0s, 0s;
& > div {
transform: rotate(45deg);
}
}
.fallingObject:nth-of-type(1) {
left: 10%;
animation-delay: 1s, 1s;
& > div {
transform: rotate(10deg);
}
}
.fallingObject:nth-of-type(2) {
left: 20%;
animation-delay: 6s, 0.5s;
& > div {
transform: rotate(60deg);
}
}
.fallingObject:nth-of-type(3) {
left: 30%;
animation-delay: 4s, 2s;
& > div {
transform: rotate(84deg);
}
}
.fallingObject:nth-of-type(4) {
left: 40%;
animation-delay: 2s, 2s;
& > div {
transform: rotate(267deg);
}
}
.fallingObject:nth-of-type(5) {
left: 50%;
animation-delay: 8s, 3s;
& > div {
transform: rotate(200deg);
}
}
.fallingObject:nth-of-type(6) {
left: 60%;
animation-delay: 6s, 2s;
& > div {
transform: rotate(20deg);
}
}
.fallingObject:nth-of-type(7) {
left: 70%;
animation-delay: 2.5s, 1s;
& > div {
transform: rotate(78deg);
}
}
.fallingObject:nth-of-type(8) {
left: 80%;
animation-delay: 1s, 0s;
& > div {
transform: rotate(3120deg);
}
}
.fallingObject:nth-of-type(9) {
left: 90%;
animation-delay: 3s, 1.5s;
& > div {
transform: rotate(123deg);
}
}
</style>
<!-- / Weather style -->

View File

@@ -173,22 +173,6 @@
} }
</script> </script>
<style>
body {
background: none;
}
canvas {
display: block;
opacity: .35;
pointer-events: none;
position: fixed;
top: 0;
left: 0;
z-index: -1;
}
}
</style>
<script> <script>
const wooCanvas = document.getElementById("shaderCanvas"); const wooCanvas = document.getElementById("shaderCanvas");
const wooToggle = document.getElementById("wooToggle"); const wooToggle = document.getElementById("wooToggle");
@@ -211,7 +195,8 @@
if (this.checked) { if (this.checked) {
localStorage.setItem("wooMode", 1); localStorage.setItem("wooMode", 1);
const wooAudio = new Audio("/audio/30995__unclesigmund__woo-2.mp3"); let wooAudio = new Audio("/audio/30995__unclesigmund__woo-2.mp3");
wooAudio.volume = 0.4;
wooAudio.play(); wooAudio.play();
wooCanvas.classList.remove("hidden"); wooCanvas.classList.remove("hidden");

View File

@@ -0,0 +1,16 @@
<!-- Woo mode style -->
<style>
body {
background: none;
}
canvas {
display: block;
opacity: .35;
pointer-events: none;
position: fixed;
top: 0;
left: 0;
z-index: -1;
}
</style>
<!-- / Woo mode style -->

View File

@@ -36,14 +36,12 @@ There are many different newsreader apps to choose from. Below are a few you cou
* [Raven (GNU/Linux, Windows, macOS)](https://ravenreader.app/) * [Raven (GNU/Linux, Windows, macOS)](https://ravenreader.app/)
* [NetNewsWire (macOS, iOS)](https://ravenreader.app/) * [NetNewsWire (macOS, iOS)](https://netnewswire.com/)
* [FreshRSS (Online)](https://www.freshrss.org/) * [FreshRSS (Online)](https://www.freshrss.org/)
* [Akregator (GNU/Linux)](https://apps.kde.org/akregator/) * [Akregator (GNU/Linux)](https://apps.kde.org/akregator/)
* [RSSOwl (GNU/Linux, Windows, macOS)](https://www.rssowl.org/)
* [RSS Guard (GNU/Linux, Windows, macOS, BSD, OS/2)](https://github.com/martinrotter/rssguard) * [RSS Guard (GNU/Linux, Windows, macOS, BSD, OS/2)](https://github.com/martinrotter/rssguard)

View File

@@ -1,11 +1,11 @@
--- ---
title: "100 Webmaster Questions" title: 100 Webmaster Questions
description: "Answering a lot of questions." description: Answering a lot of questions.
date: 2026-02-05 date: 2026-02-05T00:00:00.000Z
tags: tags:
- Questionnaire - Questionnaire
synopsis: "Answering a lot of questions." synopsis: Answering a lot of questions.
mastodon_id: "116021932929019975" mastodon_id: '116021932929019975'
--- ---
I found this questionnaire on the website of my [Geekring](https://geekring.net/) neighbor [Corvidae](https://corvidae.digital/100). [Original questions sheet on mousling.net](https://mouseling.net/100webmaster.txt). I found this questionnaire on the website of my [Geekring](https://geekring.net/) neighbor [Corvidae](https://corvidae.digital/100). [Original questions sheet on mousling.net](https://mouseling.net/100webmaster.txt).

View File

@@ -10,7 +10,7 @@ synopsis: "New on this website: a handy tool to generate woo, comments, and weat
mastodon_id: "116021705122518903" mastodon_id: "116021705122518903"
--- ---
## Woo-woo incense description generator ## Woo-woo incense description generator
Whether they are spiritually inclined or mere earth-bound fragrance-heads, all sorts of people are attracted to the fragrant world of incense. It's no surprise, then, that the language people use to describe incense can get pretty colorful. If you've ever wished you could write so… *interestingly* about incense, my brand new [Woo-woo incense description generator](/special/woo-woo-incense-description-generator/) is just the ticket! Occupying the "special" section of [my sitemap](/sitemap/) along-side the flying toasters, with but one click of a button it spits out a fresh serving of woo, complete with ingredients and "medicinal effects."[^1] Why not [give it a try?](/special/woo-woo-incense-description-generator/) Whether they are spiritually inclined or mere earth-bound fragrance-heads, all sorts of people are attracted to the fragrant world of incense. It's no surprise, then, that the language people use to describe the incense they make can get pretty colorful. If you've ever wished you could write so… *interestingly* about incense, my brand new [Woo-woo incense description generator](/special/woo-woo-incense-description-generator/) is just the ticket! Occupying the "special" section of [my sitemap](/sitemap/) along-side the flying toasters, with but one click of a button it spits out a fresh serving of woo, complete with ingredients and "medicinal effects."[^1] Why not [give it a try?](/special/woo-woo-incense-description-generator/)
[![A screenshot of the generator. Swirling rainbow colors form the background.](/img/woo-woo-incense-description-generator-and-other-updates/woo-woo-incense-description-generator_copy.webp "It comes with a psychedelic background animation and everything.")](/img/woo-woo-incense-description-generator-and-other-updates/woo-woo-incense-description-generator_copy.webp) [![A screenshot of the generator. Swirling rainbow colors form the background.](/img/woo-woo-incense-description-generator-and-other-updates/woo-woo-incense-description-generator_copy.webp "It comes with a psychedelic background animation and everything.")](/img/woo-woo-incense-description-generator-and-other-updates/woo-woo-incense-description-generator_copy.webp)
@@ -23,6 +23,6 @@ You may have noticed a "site settings" button at the bottom of the page. I set t
For a while, the service that powers my [guestbook](/guestbook/) went down due to [some drama with Azure](https://meadow.cafe/blog/0008-azure-disabled-my-account-trip-to-the-cabin/) and lost some data. Therefore, if you notice that your message is missing, know that I didn't delete it on purpose and feel free to leave another. For a while, the service that powers my [guestbook](/guestbook/) went down due to [some drama with Azure](https://meadow.cafe/blog/0008-azure-disabled-my-account-trip-to-the-cabin/) and lost some data. Therefore, if you notice that your message is missing, know that I didn't delete it on purpose and feel free to leave another.
## Comments now available ## Comments now available
I have, at long last, set up commenting via [Isso](https://isso-comments.de/) on blog posts and, as an unintended side effect, [quizzes](quizzes), which I kind of like so I left it (there's only one quiz at the minute anyway). I wanted to do this ages ago, but I couldn't get Isso working on my [YunoHost](https://yunohost.org/index.en.html) server until recently. YunoHost is fantastic, but support can be scarce as hen's teeth, so we'll see how things go. Hopefully, it'll be rock solid and serve me well for years to come. Hopefully people will leave polite, thoughtful comments. Hopefully, spam is thin on the ground. Time will tell all! I have, at long last, set up commenting via [Isso](https://isso-comments.de/) on blog posts and, as an unintended side effect, [quizzes](/quizzes), which I kind of like so I left it (there's only one quiz at the minute anyway). I wanted to do this ages ago, but I couldn't get Isso working on my [YunoHost](https://yunohost.org/index.en.html) server until recently. YunoHost is fantastic, but support can be scarce as hen's teeth, so we'll see how things go. Hopefully, it'll be rock solid and serve me well for years to come. Hopefully people will leave polite, thoughtful comments. Hopefully, spam is thin on the ground. Time will tell all!
[^1]: For the love of all that is good in this world do not take these seriously. [^1]: For the love of all that is good in this world do not take these seriously.

View File

@@ -4,6 +4,8 @@ title: Nathan Upchurch | Changelog
structuredData: none structuredData: none
--- ---
# Changelog # Changelog
* 2026-02-07
* Updated [/wish](/wish).
* 2026-02-04 * 2026-02-04
* Added post comments via [Isso](https://isso-comments.de/). Please don't make me regret this. * Added post comments via [Isso](https://isso-comments.de/). Please don't make me regret this.
* Add [Mochi](https://mochi.meadow.cafe/) privacy respecting analytics. * Add [Mochi](https://mochi.meadow.cafe/) privacy respecting analytics.

View File

@@ -71,6 +71,7 @@ Here are some links to pages and resources that I believe are worth sharing.
* [11tyBundle](https://11tybundle.dev/)—Learn how others are making the most of 11ty, an exceptionally simple, flexible, and performant, open-source static site generator * [11tyBundle](https://11tybundle.dev/)—Learn how others are making the most of 11ty, an exceptionally simple, flexible, and performant, open-source static site generator
* [11tyCMS](https://11tycms.com/)—A local, serverless, dependable, and FLOSS CMS for websites made with Eleventy * [11tyCMS](https://11tycms.com/)—A local, serverless, dependable, and FLOSS CMS for websites made with Eleventy
* [Pagefind](https://pagefind.app/)—A fully static search library that runs after Hugo, Eleventy, Jekyll, Next, Astro, SvelteKit, or any other website framework * [Pagefind](https://pagefind.app/)—A fully static search library that runs after Hugo, Eleventy, Jekyll, Next, Astro, SvelteKit, or any other website framework
* [Uncharted](https://uncharted.seanlunsford.com/)—A CSS-based chart plugin for Eleventy.
## Free/libre software ## Free/libre software
* [Free Software Foundation](https://fsf.org)—A nonprofit with a worldwide mission to promote computer user freedom * [Free Software Foundation](https://fsf.org)—A nonprofit with a worldwide mission to promote computer user freedom
@@ -85,17 +86,24 @@ Here are some links to pages and resources that I believe are worth sharing.
* [smelltrainingapp.com](https://smelltrainingapp.com/)—A free tool from Stockholms Universitet and and Karolinska Institutet to help patients with hyposmia or anosmia improve their sense of smell. * [smelltrainingapp.com](https://smelltrainingapp.com/)—A free tool from Stockholms Universitet and and Karolinska Institutet to help patients with hyposmia or anosmia improve their sense of smell.
## Indieweb / personal web: discovery ## Indieweb / personal web: discovery
* [Akregator](https://apps.kde.org/akregator/)—A news feed reader available for GNU/Linux and Windows
* [Alligator](https://apps.kde.org/alligator/)—A convergent, cross-platform feed reader, supporting standard RSS/Atom feeds available for GNU/Linux
* [blogroll.org](https://blogroll.org/)—Because blogs are the soul of the web * [blogroll.org](https://blogroll.org/)—Because blogs are the soul of the web
* [blogs.hn](https://blogs.hn/)—A directory of tech sites, primarily sourced from HackerNews * [blogs.hn](https://blogs.hn/)—A directory of tech sites, primarily sourced from HackerNews
* [blogscroll.com](https://blogscroll.com/)—An open directory of personal sites and blogs * [blogscroll.com](https://blogscroll.com/)—An open directory of personal sites and blogs
* [blogsearch.io](https://blogsearch.io/)—A search engine for personal blogs and independent websites * [blogsearch.io](https://blogsearch.io/)—A search engine for personal blogs and independent websites
* [Feeder](https://github.com/spacecowboy/Feeder)—An open source feed reader (RSS/Atom/JSONFeed) for Android
* [Feedle](https://feedle.world/)—A search engine for blogs and podcasts * [Feedle](https://feedle.world/)—A search engine for blogs and podcasts
* [FreshRSS](https://www.freshrss.org/cloud-providers.html)—A self-hosted RSS and Atom feed aggregator
* [indieblog.page](https://indieblog.page/)—Discover the indieweb * [indieblog.page](https://indieblog.page/)—Discover the indieweb
* [Kagi Smallweb](https://kagi.com/smallweb/) * [Kagi Smallweb](https://kagi.com/smallweb/)
* [Marginalia Search](https://marginalia-search.com/)—Search that prioritizes non-commercial content * [Marginalia Search](https://marginalia-search.com/)—Search that prioritizes non-commercial content
* [Mire](https://mire.meadow.cafe/)—A minimal, no-bullshit web-based rss/atom feed reader
* [Mwmbl](https://mwmbl.org/)—A crowd-sourced search engine * [Mwmbl](https://mwmbl.org/)—A crowd-sourced search engine
* [Mydora](https://mydora.restorativland.org/)—A continuous streaming player that gives you a deep dive into the lost archives of Myspace Music * [Mydora](https://mydora.restorativland.org/)—A continuous streaming player that gives you a deep dive into the lost archives of Myspace Music
* [ooh.directory](https://ooh.directory/)—A collection of 2,358 blogs about every topic * [ooh.directory](https://ooh.directory/)—A collection of 2,358 blogs about every topic
* [Raven](https://ravenreader.app/)—A cross-platform feed reader
* [RSS Guard](https://github.com/martinrotter/rssguard)—Feed reader (podcast player and also Gemini protocol client) which supports RSS/ATOM/JSON and many web-based feed services
* [searchmysite.net](https://searchmysite.net/)—Search real content by real people from their personal websites * [searchmysite.net](https://searchmysite.net/)—Search real content by real people from their personal websites
* [Wiby](https://wiby.me/)—Search engine for the classic web * [Wiby](https://wiby.me/)—Search engine for the classic web
@@ -108,7 +116,10 @@ Here are some links to pages and resources that I believe are worth sharing.
* [Gify Pet](https://melonking.net/frames/pet)—Who is there to watch over your site when you are gone? GifyPet will! * [Gify Pet](https://melonking.net/frames/pet)—Who is there to watch over your site when you are gone? GifyPet will!
* [goatcounter.com](https://www.goatcounter.com/)—An open source web analytics platform available as a free donation-supported hosted service or self-hosted app * [goatcounter.com](https://www.goatcounter.com/)—An open source web analytics platform available as a free donation-supported hosted service or self-hosted app
* [Guestbooks](https://guestbooks.meadow.cafe/)—A free guestbook service for your website * [Guestbooks](https://guestbooks.meadow.cafe/)—A free guestbook service for your website
* [Guestbooks (2)](https://guestbooks.kamiscorner.xyz/)—Another free guestbook service for your website
* [Hit counters](https://www.websiteout.net/counter.php) * [Hit counters](https://www.websiteout.net/counter.php)
* [Kitty](https://kitty.meadow.cafe/)—A cozy, minimal content platform focused on helping you write & publish without fuss
* [Mochi](https://mochi.meadow.cafe/)—Friendly analytics and webmentions for your little corner of the web
* [Nekoweb](https://nekoweb.org/)—A free static website hosting service * [Nekoweb](https://nekoweb.org/)—A free static website hosting service
* [neocities.org](https://neocities.org/)—Create your own free website. * [neocities.org](https://neocities.org/)—Create your own free website.
Unlimited creativity, zero ads. Unlimited creativity, zero ads.

View File

@@ -0,0 +1,7 @@
---
title: Agarwood
manufacturer: Ganesha
date: 2026-02-09 13:20:00
time: 1:20 PM
---

View File

@@ -0,0 +1,7 @@
---
title: Musk
manufacturer: "The Mothers Fragrances"
date: 2026-02-09 22:56:00
time: 10:56 PM
---

View File

@@ -0,0 +1,7 @@
---
title: Patchouli
manufacturer: "The Mothers Fragrances"
date: 2026-02-10 10:06:00
time: 10:06 AM
---

View File

@@ -0,0 +1,7 @@
---
title: Oud
manufacturer: Flora Botanical Incense
date: 2026-02-10 12:42:00
time: 12:42 PM
---

View File

@@ -0,0 +1,7 @@
---
title: Hawaiian Summer
manufacturer: Incense Apprentice
date: 2026-02-11 10:16:00
time: 10:16 AM
---
I think a little age has done this stick good. It's got a pleasant coolness.

View File

@@ -0,0 +1,7 @@
---
title: Frankincense & Myrrh with Sacred Sage
manufacturer: Fred Soll
date: 2026-02-13T10:02:00.000Z
time: '10:02 AM'
---
An incredibly strong stick. Ventilation is key!

View File

@@ -0,0 +1,7 @@
---
title: Sweet Frankincense
manufacturer: Fred Soll
date: 2026-02-16 11:59:00
time: 11:59 AM
---

View File

@@ -14,7 +14,7 @@ This is an index of all my [slash pages](https://slashpages.net/). These are pag
* [/Blogroll](/blogroll) * [/Blogroll](/blogroll)
* [/Changelog](/changelog) * [/Changelog](/changelog)
* [/Colophon](/about/colophon) * [/Colophon](/about/colophon)
* [~~Contact~~ /Me](/me) * [~~/Contact~~ /Me](/me)
* [/Feed](/feed/feed.xml) * [/Feed](/feed/feed.xml)
* [/Now](/now) * [/Now](/now)
* [/Referrals](/referrals) * [/Referrals](/referrals)

View File

@@ -6,12 +6,16 @@ forcedWoo: true
--- ---
<div class="container"> <div class="container">
<h1>Woo-Woo Incense Description Generator</h1> <h1>Woo-Woo Incense Description Generator</h1>
<p>Ever wonder how people come up with those confusing esoteric descriptions of their incense complete with “medicinal effects?” Want some ideas to spice up your Instagram profile, website, or Etsy listings? Well youre in luck! Click the button below to generate an incense description so mystical youll swear your chakras are aligned! Music by <a href="https://pixabay.com/users/saavane-32312792/">saavane on Pixabay</a>. Woo sound effect by <a href="https://freesound.org/s/30995/">UncleSigmund on freesound</a>. Background effect from <a href="https://codepen.io/tommyho/pen/JjgoZLK">Tommy Ho on Codepen</a>. No <a href="/ai">AI</a> used—I can write slop on my own!</p> <p>Ever wonder how incense makers come up with those confusing esoteric descriptions of their incense complete with “medicinal effects?” Want some ideas to spice up your Instagram profile, website, or Etsy listings? Well youre in luck! Click the button below to generate an incense description so mystical youll swear your chakras are aligned! Music by <a href="https://pixabay.com/users/saavane-32312792/">saavane on Pixabay</a>. Woo sound effect by <a href="https://freesound.org/s/30995/">UncleSigmund on freesound</a>. Background effect from <a href="https://codepen.io/tommyho/pen/JjgoZLK">Tommy Ho on Codepen</a>. No <a href="/ai">AI</a> used—I can write slop on my own!</p>
<script src="/js/incense-description-generator.js"></script> <script src="/js/incense-description-generator.js"></script>
<script> <script>
const audioOnClick = new Audio("/audio/30995__unclesigmund__woo-2.mp3"); let audioOnClick = new Audio("/audio/30995__unclesigmund__woo-2.mp3");
const bgMusic = new Audio("/audio/new-sun-428916.mp3"); let bgMusic = new Audio("/audio/new-sun-428916.mp3");
audioOnClick.volume = 0.4;
bgMusic.volume = 0.4;
bgMusic.loop = true;
window.addEventListener("pointermove", (e) => { window.addEventListener("pointermove", (e) => {
bgMusic.play(); bgMusic.play();

View File

@@ -41,18 +41,26 @@ However if abstention seems unconscionable, I would be delighted if you were to
* [Kida Jinseido Ranjatai Incense](https://kikohincense.com/collections/kida-jinseido-incense-since-1937/products/kida-jinseido-ranjatai-incense) * [Kida Jinseido Ranjatai Incense](https://kikohincense.com/collections/kida-jinseido-incense-since-1937/products/kida-jinseido-ranjatai-incense)
* [Kunmeido Shin Tokusen Reiryokoh Incense](https://kikohincense.com/collections/kunmeido-incense-kikoh/products/kunmeido-shin-tokusen-reiryokoh-incense) * [Kunmeido Shin Tokusen Reiryokoh Incense](https://kikohincense.com/collections/kunmeido-incense-kikoh/products/kunmeido-shin-tokusen-reiryokoh-incense)
* [Minorien Kyara Fu-In](https://kikohincense.com/collections/minorien-incense-kikoh/products/minorien-kyara-fu-in-incense) * [Minorien Kyara Fu-In](https://kikohincense.com/collections/minorien-incense-kikoh/products/minorien-kyara-fu-in-incense)
* [Nippon Kodo Kayuragi - Rose](https://kikohincense.com/collections/roses-and-chocolates-incense-collection/products/nippon-kodo-kayuragi-incense-rose)
* [Nippon Kodo Hana no Hana - Rose](https://kikohincense.com/collections/roses-and-chocolates-incense-collection/products/nippon-kodo-hana-no-hana-incense-rose)
* [Kin Objects Red Soil Aloeswood](https://kinobjects.com/products/red-soil-aloeswood-agarwood-incense-sticks?variant=40432647929879) * [Kin Objects Red Soil Aloeswood](https://kinobjects.com/products/red-soil-aloeswood-agarwood-incense-sticks?variant=40432647929879)
* [Kokando Kaori no Kioku Chocolate](https://kikohincense.com/collections/roses-and-chocolates-incense-collection/products/kokando-kaori-no-kioku-chocolate-incense)
* [Kokando Kunpūshi Aloeswood](https://kikohincense.com/products/kokando-kunpushi-aloeswood) * [Kokando Kunpūshi Aloeswood](https://kikohincense.com/products/kokando-kunpushi-aloeswood)
* [Kunmeido Shin Tokusen Reiryokoh](https://kikohincense.com/collections/kunmeido-incense-kikoh/products/kunmeido-shin-tokusen-reiryokoh-incense) * [Kunmeido Shin Tokusen Reiryokoh](https://kikohincense.com/collections/kunmeido-incense-kikoh/products/kunmeido-shin-tokusen-reiryokoh-incense)
* [Les Encens du Monde - Moonlit Night | Karin](https://lotuszenincense.com/products/moonlit-night-karin-by-les-encens-du-monde?shpxid=fa2eb8b9-373c-44b6-b675-585881e5540b)
* [Mysore](https://www.aliexpress.us/item/3256808362085525.html)
* [Shoyeido Horin Assortment](https://shoyeido.com/products/horin-incense-assortment-sampler) * [Shoyeido Horin Assortment](https://shoyeido.com/products/horin-incense-assortment-sampler)
* [Shoyeido Kohbai Pressed Incense](https://shoyeido.com/products/kohbai-red-plum-blossoms?variant=41714738921590) * [Shoyeido Kohbai Pressed Incense](https://shoyeido.com/products/kohbai-red-plum-blossoms?variant=41714738921590)
* [Shoyeido Kunro Incense Assortment](https://shoyeido.com/products/kunro-incense-assortment) * [Shoyeido Kunro Incense Assortment](https://shoyeido.com/products/kunro-incense-assortment)
* [Shoyeido Overtones Patchouli](https://shoyeido.com/products/overtones-patchouli-incense)
* [Shoyeido Premium Incense Sampler](https://shoyeido.com/products/premium-incense-assortment-sampler) * [Shoyeido Premium Incense Sampler](https://shoyeido.com/products/premium-incense-assortment-sampler)
* [Tennendo Hagi Rose Incense](https://kikohincense.com/collections/tennendo-incense-kikoh/products/tennendo-hagi-rose-incense) * [Tennendo Hagi Rose Incense](https://kikohincense.com/collections/tennendo-incense-kikoh/products/tennendo-hagi-rose-incense)
* [Tennendo Hanano Byakudan](https://www.japanincense.com/tn-0051.html) * [Tennendo Hanano Byakudan](https://www.japanincense.com/tn-0051.html)
* [Tennendo Kyara Incense](https://kikohincense.com/products/tennendo-kyara-incense) * [Tennendo Kyara Incense](https://kikohincense.com/products/tennendo-kyara-incense)
* [Tennendo Sumire Violet Incense](https://kikohincense.com/products/tennendo-ysumire-violet-incense) * [Tennendo Sumire Violet Incense](https://kikohincense.com/products/tennendo-ysumire-violet-incense)
* [Yamadamatsu Hyofu](https://kikohincense.com/collections/yamadamatsu-incense-kikoh/products/yamadamatsu-hyofu-incense) * [Yamadamatsu Hyofu](https://kikohincense.com/collections/yamadamatsu-incense-kikoh/products/yamadamatsu-hyofu-incense)
* [Yamadamatsu Kumoi](https://kikohincense.com/products/yamadamatsu-kumoyi-incense)
* [Yamadamatsu Shoyo](https://www.japanincense.com/ym-0037.html)
### Tea ### Tea
* A malty black tea from either [Spirit Tea](https://spirittea.co/) or [Yunnan Sourcing](https://yunnansourcing.com/). * A malty black tea from either [Spirit Tea](https://spirittea.co/) or [Yunnan Sourcing](https://yunnansourcing.com/).

View File

@@ -867,6 +867,11 @@ sup {
} }
/* Site Settings */ /* Site Settings */
#siteSettingsContainer {
& button:not(#settingsDone) {
margin-top: 0;
}
}
.siteSettingsToggle { .siteSettingsToggle {
color: var(--text-color); color: var(--text-color);
font-size: var(--step--2); font-size: var(--step--2);