pvgttm-web/src/assets/scripts/scripts.js

68 lines
2.5 KiB
JavaScript

// @license magnet:?xt=urn:btih:90dc5c0be029de84e523b9b3922520e79e0e6f08&dn=cc0.txt CC0-1.0
/****************************************************************************
* Planar Vagabond's Guide to the Multiverse (planarvagabond.com)
*
* Copyright 2023 Eric Woodward
* Source released under CC0 Public Domain License v1.0
* https://www.itsericwoodward.com/licenses/cc0
* http://creativecommons.org/publicdomain/zero/1.0/
****************************************************************************/
export default (() => {
// we load this library via "module" to guarantee baseline ES6 functionality
console.log('boot!', window.Cookies);
// 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');
// Enable cached fonts ASAP
if (!!Cookies.get('fonts_loaded')) {
document.documentElement.className += ' js-hasFontsLoaded';
}
docReady(() => {
setTimeout(() => {
// 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, (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');
});
}
if (document.documentElement.className.indexOf('is404') > -1) {
document.getElementById('searchQuery').value =
window.location.pathname
.replace(/\\.html?$/, '')
.replace(/\//g, ' ');
}
document
.getElementById('searchForm')
.addEventListener('submit', (e) => {
document.getElementById('searchQuery').value +=
' site:' + window.location.hostname;
});
}, 1);
});
})();
// @license-end