diff options
-rw-r--r-- | _includes/base.njk | 4 | ||||
-rw-r--r-- | _includes/blogpost.njk | 2 | ||||
-rw-r--r-- | eleventy.config.js | 3 | ||||
-rw-r--r-- | js/moon-phase.js | 48 | ||||
-rw-r--r-- | src/blog.njk | 4 |
5 files changed, 57 insertions, 4 deletions
diff --git a/_includes/base.njk b/_includes/base.njk index 22f94b6..e31e4dc 100644 --- a/_includes/base.njk +++ b/_includes/base.njk @@ -9,6 +9,7 @@ title = "Starfall" <meta name=robots content="noindex, nofollow"> <meta name=viewport content="width=device-width, initial-scale=1"> <link rel=stylesheet href=/css/terminal.css> + <script src='/js/moon-phase.js'></script> {{ extraHeadContent | safe }} </head> @@ -17,6 +18,7 @@ title = "Starfall" <header> <h1>{{ title }}</h1> + <span style="float: right; user-select: none" id=decor-moons aria-hidden=true></span> <nav aria-label=primary> {% set navs = collections.all | eleventyNavigation %} <ul>{%- for nav in navs %} @@ -35,7 +37,7 @@ title = "Starfall" <section> <p>This site is 100% <a href=https://git.starfall.systems/web>source-available</a>. © 2020-2023 Starfall. See <a href=https://git.starfall.systems/web/tree/COPYING.md rel=license>COPYING.md</a>. </section> -<div style=text-align:center>⋁/⋀</div> +<div style=text-align:center>∨/∧</div> </footer> </body> diff --git a/_includes/blogpost.njk b/_includes/blogpost.njk index dce49b7..94541c4 100644 --- a/_includes/blogpost.njk +++ b/_includes/blogpost.njk @@ -9,6 +9,7 @@ title = "Starfall" <meta name=robots content="noindex, nofollow"> <meta name=viewport content="width=device-width, initial-scale=1"> <link rel=stylesheet href=/css/terminal.css> + <script src='/js/moon-phase.js'></script> {{ extraHeadContent | safe }} </head> @@ -17,6 +18,7 @@ title = "Starfall" <header> <h1>{{ title }}</h1> + <span style="float: right; user-select: none" id=decor-moons aria-hidden=true></span> <nav aria-label=primary> {% set navs = collections.all | eleventyNavigation %} <ul>{%- for nav in navs %} diff --git a/eleventy.config.js b/eleventy.config.js index 07da99d..7268139 100644 --- a/eleventy.config.js +++ b/eleventy.config.js @@ -28,8 +28,9 @@ module.exports = function(eleventyConfig) { eleventyConfig.addPlugin(eleventyRss) eleventyConfig.addPassthroughCopy('./css/') - eleventyConfig.addPassthroughCopy('./img/') eleventyConfig.addPassthroughCopy('./files/') + eleventyConfig.addPassthroughCopy('./img/') + eleventyConfig.addPassthroughCopy('./js/') eleventyConfig.addFilter('local_date', filter_local_date) eleventyConfig.addFilter('rfc3339_datetime', filter_rfc3339_datetime) diff --git a/js/moon-phase.js b/js/moon-phase.js new file mode 100644 index 0000000..8feaced --- /dev/null +++ b/js/moon-phase.js @@ -0,0 +1,48 @@ +// truncated to the day, America/Chicago time +// only includes moons through end of 2024 (brown lunation number 1262) +moons = [ +19585, 19593, 19599, 19606, +19614, 19622, 19629, 19636, +19644, 19651, 19658, 19666, +19674, 19681, 19688, 19695, +19703, 19710, 19717, 19725, +19733, 19739, 19747, 19755, +19762, 19769, 19777, 19785, +19792, 19798, 19807, 19814, +19821, 19828, 19836, 19844, +19850, 19858, 19866, 19873, +19880, 19888, 19895, 19902, +19909, 19917, 19925, 19931, +19939, 19947, 19954, 19961, +19968, 19977, 19983, 19990, +19998, 20006, 20013, 20020, +20028, 20035, 20042, 20049, +20058, 20065, 20072, 20079, +20087, 20094, 20101, 20109 +] +icons = ['\u{1f311}', '\u{1f313}', '\u{1f315}', '\u{1f317}'] +icons_inverted = ['\u{1f315}', '\u{1f317}', '\u{1f311}', '\u{1f313}'] + +function getMoonsString(disable_emoji, inverted_icons) { + today = Math.floor((Date.now() - 18e6) / 86.4e6) + + next_index = moons.findIndex((element) => element > today) + next_days = moons.slice(next_index, next_index + 4) + + str = "" + for (let i = today; i < today + 30; i++) { + j = next_days.indexOf(i) + 1 + if(j != 0) { + icon = disable_emoji && inverted_icons ? icons_inverted[j%4] : icons[j%4] + str = str.concat(icon) + if(disable_emoji) + str = str.concat('\ufe0e') + } + else str = str.concat('\u2500') + } + return str +} + +document.addEventListener('DOMContentLoaded', (event) => { + document.getElementById('decor-moons').innerHTML = getMoonsString(true, true) +}) diff --git a/src/blog.njk b/src/blog.njk index b353545..b0f12db 100644 --- a/src/blog.njk +++ b/src/blog.njk @@ -17,8 +17,8 @@ order = 1 .feed-icon { display: block; float: right; - height: 1em; - width: 1em; + height: 1.5em; + width: 1.5em; background: url('/img/feed-icon.svg') center/contain, var(--fg); background-blend-mode: luminosity; mask: url('/img/feed-icon.svg') 0 0/100% 100%; |