78 lines
2.3 KiB
JavaScript
78 lines
2.3 KiB
JavaScript
// @license magnet:?xt=urn:btih:90dc5c0be029de84e523b9b3922520e79e0e6f08&dn=cc0.txt CC0-1.0
|
|
/****************************************************************************
|
|
* It's Eric Woodward's Site
|
|
*
|
|
* Copyright 2014-2025 Eric Woodward
|
|
* Source released under CC0 Public Domain License v1.0
|
|
* https://www.itsericwoodward.com/licenses/cc0/
|
|
* http://creativecommons.org/publicdomain/zero/1.0/
|
|
****************************************************************************/
|
|
import backgroundScroller from './backgroundScroller.js';
|
|
import themeSwitcher from './themeSwitcher.js';
|
|
|
|
export default (() => {
|
|
// we load this library via "module" to guarantee baseline ES6 functionality
|
|
|
|
// check for loaded libraries
|
|
if (!window.Cookies) return;
|
|
|
|
if (window.dayjs) dayjs.extend(window.dayjs_plugin_relativeTime);
|
|
|
|
// Indicate JS is loaded
|
|
document.documentElement.className =
|
|
document.documentElement.className.replace("no-js", "js");
|
|
|
|
document.addEventListener("DOMContentLoaded", () => {
|
|
setTimeout(() => {
|
|
if (!window.Cookies) return;
|
|
|
|
// Lazy-Load Media
|
|
if (typeof loadMedia === "function") {
|
|
loadMedia(".js-lazyLoader", null, true);
|
|
}
|
|
|
|
// Add relative dates via dayjs
|
|
if (window.dayjs) {
|
|
const times = document.getElementsByTagName("time");
|
|
|
|
[].forEach.call(times, function (the_time) {
|
|
let pub_time = the_time.getAttribute("datetime");
|
|
if (the_time.className.indexOf("js-noRelativeTime") === -1)
|
|
the_time.innerHTML +=
|
|
' <span class="js-momentTime">(' +
|
|
dayjs(pub_time).from(dayjs()) +
|
|
")</span>";
|
|
the_time.classList.add("isDone");
|
|
});
|
|
}
|
|
|
|
const actionBoxDiv = document.querySelector("#bio .actionBox");
|
|
|
|
const actionBox = document.createElement("details");
|
|
|
|
actionBoxDiv.append(actionBox);
|
|
|
|
actionBox.setAttribute("open", "true");
|
|
|
|
themeSwitcher(actionBox);
|
|
|
|
backgroundScroller(actionBox);
|
|
|
|
if (document.documentElement.className.indexOf("is404") > -1) {
|
|
document.getElementById("searchQuery").value =
|
|
window.location.pathname
|
|
.replace(/\\.html?$/, "")
|
|
.replace(/\//g, " ");
|
|
}
|
|
|
|
document
|
|
.getElementById("searchForm")
|
|
.addEventListener("submit", function (e) {
|
|
document.getElementById("searchQuery").value +=
|
|
" site:" + window.location.hostname;
|
|
});
|
|
}, 1);
|
|
});
|
|
})();
|
|
// @license-end
|