mirror of https://github.com/onweru/compose.git

bb1950328
28.11.2021 ebe2b109efe029dce0e14efb119d39041d97a895
fixed some URL operations which don't work when hugos absolute root url is something like https://www.foo.bar (no slash at the end)
4 files modified
17 ■■■■■ changed files
assets/js/functions.js 11 ●●●●● patch | view | raw | blame | history
assets/js/index.js 2 ●●● patch | view | raw | blame | history
assets/js/search.js 2 ●●● patch | view | raw | blame | history
assets/js/variables.js 2 ●●● patch | view | raw | blame | history
assets/js/functions.js
@@ -91,10 +91,9 @@
}
function closestInt(goal, collection) {
  const closest = collection.reduce(function(prev, curr) {
  return collection.reduce(function (prev, curr) {
    return (Math.abs(curr - goal) < Math.abs(prev - goal) ? curr : prev);
  });
  return closest;
}
function hasClasses(el) {
@@ -147,14 +146,12 @@
  const hyperLinks = elems('a');
  if(hyperLinks) {
    hyperLinks.forEach(function(link){
      const href = link.href.replaceAll(encodeURI(open), "").replaceAll(encodeURI(close), "");
      link.href = href;
      link.href = link.href.replaceAll(encodeURI(open), "").replaceAll(encodeURI(close), "");
    });
  }
}
function parseBoolean(string) {
  let bool;
  string = string.trim().toLowerCase();
  switch (string) {
    case 'true':
@@ -164,10 +161,10 @@
    default:
      return undefined;
  }
};
}
function loadSvg(file, parent, path = 'icons/') {
  const link = `${parentURL}${path}${file}.svg`;
  const link = new URL(`${path}${file}.svg`, rootURL).href;
  fetch(link)
  .then((response) => {
    return response.text();
assets/js/index.js
@@ -132,7 +132,7 @@
      Array.from(links).forEach(function(link, index){
        let target, rel, blank, noopener, attr1, attr2, url, isExternal;
        url = elemAttribute(link, 'href');
        isExternal = (url && typeof url == 'string' && url.startsWith('http')) && !url.startsWith(parentURL) && link.closest(contentWrapperClass);
        isExternal = (url && typeof url == 'string' && url.startsWith('http')) && !url.startsWith(rootURL) && link.closest(contentWrapperClass);
        if(isExternal) {
          target = 'target';
          rel = 'rel';
assets/js/search.js
@@ -124,7 +124,7 @@
      searchField.addEventListener('search', function(){
        const searchTerm = searchField.value.trim().toLowerCase();
        if(searchTerm.length)  {
          window.location.href = `${parentURL}search/?query=${searchTerm}`;
          window.location.href = new URL(`search/?query=${searchTerm}`, rootURL).href;
        }
      });
    }
assets/js/variables.js
@@ -5,7 +5,7 @@
const menu = 'menu';
// defined in config.toml
const parentURL = '{{ absURL "" }}';
const rootURL = '{{ absURL "" }}';
// defined in i18n / translation files
const quickLinks = '{{ T "quick_links" }}';