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

weru
13.54.2020 7e552b6eb3680b8f8daf8161b446219c38cce22b
update
3 files modified
50 ■■■■■ changed files
assets/js/functions.js 40 ●●●● patch | view | raw | blame | history
assets/js/search.js 8 ●●●● patch | view | raw | blame | history
assets/sass/_components.sass 2 ●●● patch | view | raw | blame | history
assets/js/functions.js
@@ -107,33 +107,49 @@
  }
}
function wrapText(text, context, wrapper = 'div') {
  let c = context.textContent;
  let index = c.indexOf(text);
  function wrap() {
function wrapText(text, context) {
  function wrap(context, wrapper = 'mark') {
    let c = context.innerHTML;
    let open = `<${wrapper}>`;
    let close = `</${wrapper}>`;
    let index = c.indexOf(text);
    if (index >= 0) {
      let stop = index + text.length;
      let s = c.substring(index,stop);
      let before = c.substring(0,index);
      let after = c.substring(stop);
      c = `${before}<${wrapper}>${s}</${wrapper}>${after}`;
      context.textContent = c;
      c = `${before}${open}${s}${close}${after}`;
      context.innerHTML = c;
      // add class attribute later if need be
      const attributes = ["href", "id", "title"];
      attributes.forEach(function(attr){
        if(context.hasAttribute(attr)) {
          let attrValue = context.getAttribute(attr);
          context.setAttribute(attr, attrValue.replaceAll(`${open}`,"").replaceAll(`${close}`,""));
        }
      });
    }
  }
  const contents = ["h1", "h2", "h3", "h4", "h5", "h6", "p", "code"];
  const attributes = ["href", "title", "class", "id"];
  const contents = ["h1", "h2", "h3", "h4", "h5", "h6", "p", "code", "td", "pre"];
  const children = ["span", "em", "strong", "b", "a"];
  contents.forEach(function(c){
    const cs = elems(c);
    const cs = elems(c, context);
    if(cs.length) {
      cs.forEach(function(cx){
        // console.log(cx);
        if(cx.children.length >= 1) {
          wrap(cx);
          Array.from(cx.children).forEach(function(child){
            wrap(child);
          })
        } else {
          wrap(cx);
        }
        // check if
        // if has children
           // check if childen is in children array above
           // filter out children if listed in cs array above
           // check if children contain attributes
          // process before replacing
        // else replace and move on
assets/js/search.js
@@ -70,9 +70,9 @@
  const urlParams = new URLSearchParams(window.location.search);
  if(urlParams.has(query)){
    let c = urlParams.get(query);
    window.find(c);
    // window.find(c);
    cc = `${c.charAt(0).toUpperCase()}${c.substring(1,c.length)}`;
    window.find(cc);
    // window.find(cc);
    return [c, cc];
  }
  return ["",""];
@@ -84,7 +84,7 @@
}
const searchQuery = findQuery();
// console.log(searchQuery);
// wrapText(searchQuery[0],main,'mark');
wrapText(searchQuery[1],main,'mark');
wrapText(searchQuery[0],main);
wrapText(searchQuery[1],main);
window.addEventListener('load', () => search());
assets/sass/_components.sass
@@ -71,7 +71,7 @@
  background-color: var(--theme)
  color: var(--light)
  border-radius: 0.25rem
  display: inline-grid
  display: inline-flex
  padding: 0.75rem 1.5rem
  text-align: center
  &:hover