68 lines
2.5 KiB
JavaScript
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
|