Code do not understand

Hi,
I read from other thread this code.

const rec = localStorage.mySavedRecipes || '';

if(rec){
    const rr = rec.split(';;')
    document.querySelector('.post:last-of-type').insertAdjacentHTML( 'afterend', rr.filter( n => n.length ).map( x => x.split('|') ).map( s => `
    <div class="post stored">
                        <h4 id="${formatContent(s[0])}">
                        ${s[0]}
                    </h4>
                        <div class="contentarea">
                            <p>
                                ${s[1]}
                            </p>
                        </div>
                    </div>
    ` ).join('') );
    document
       .querySelector('#recipe-list')
          .insertAdjacentHTML(
             'beforeend',
                [...document.querySelectorAll('.stored h4')]
                   .map( x => `<li><a href="#${x.id}">${x.textContent}</a></li>` )
                      .join(''));
}

Can somebody explains it for me?

this looks like a hybrid of html and JavaScript, i would say whoever wrote this did not keep in mind separation of concerns. this is what chatgpt has to say his is a block of JavaScript code that is using the DOM API to modify the content of a web page based on a variable called rec. Here’s what it’s doing:

  1. The code checks if rec exists and is truthy.
  2. If rec is truthy, it splits it into an array of strings using the delimiter “;;” and assigns it to the variable rr.
  3. The code then selects the last post element on the page and adds the HTML generated by the map method on the rr array, which creates a new post element for each string in rr. The filter method removes any empty strings before mapping over the array.
  4. Each string in rr is split into an array of strings using the delimiter “|” and assigned to the variable s.
  5. The map method then generates a string of HTML for each string in rr, using template literals and the values from the s array to fill in the content of the post element.
  6. The join method combines all of the generated HTML strings into a single string, which is then added to the page using the insertAdjacentHTML method.
  7. The code then selects the recipe list element on the page and adds an HTML string generated by the map method on the array of stored post elements. The map method generates a string of HTML for each post element, using its ID and text content to create a link to the post. The join method combines all of the generated HTML strings into a single string, which is then added to the recipe list using the insertAdjacentHTML method.