1. /**
  2. * Limits HTML output to a predefined set of default values.
  3. *
  4. * @param {object} data - An object containing data to be used in the HTML.
  5. * @param {object} defaults - An object containing default values for HTML elements.
  6. * @returns {string} - The generated HTML string.
  7. */
  8. function generateLimitedHTML(data, defaults) {
  9. let html = '';
  10. // Header
  11. html += `<div class="container">`;
  12. html += `<h1>${data.title || defaults.title}</h1>`; // Use data or default
  13. html += `<p>${data.description || defaults.description}</p>`;
  14. // Content
  15. html += `<div class="content">`;
  16. if (data.content) {
  17. html += `<p>${data.content}</p>`;
  18. } else {
  19. html += `<p>${defaults.content}</p>`;
  20. }
  21. // Footer
  22. html += `</div>`; // close content
  23. html += `</div>`; // close container
  24. return html;
  25. }
  26. //Example usage
  27. // const myData = { title: "My Title", description: "My description", content: "My content" };
  28. // const myDefaults = { title: "Default Title", description: "Default Description", content: "Default Content" };
  29. // const limitedHTML = generateLimitedHTML(myData, myDefaults);
  30. // console.log(limitedHTML);

Add your comment