Compare with 1 courses
Prompt Engineering Professional

Prompt Engineering Professional

Learn how to design, optimize, and evaluate effective prompts to generate accurate, reliable, and task-specific outputs from AI models for real-world business and automation use cases.

Has discount
Expiry period Lifetime
Made in English
Last updated at Fri Apr 2026
Level
Beginner
Total lectures 0
Total quizzes 0
Total duration 0 Hours
Total enrolment 0
Number of reviews 0
Avg rating
Short description Learn how to design, optimize, and evaluate effective prompts to generate accurate, reliable, and task-specific outputs from AI models for real-world business and automation use cases.
Outcomes
Requirements
Robust test script (paste into browser console) (function(){ function moveCustomPagesOnce(){ try { var navRoot = document.querySelector('.navbar-collapse') || document.querySelector('nav') || document.body; if(!navRoot) return false; var moved = 0; // find all dropdown lists that might contain custom page links var drops = Array.from(navRoot.querySelectorAll('ul.navbarHover, .navbarHover, ul.dropdown-menu')); drops.forEach(function(drop){ // gather candidate custom-page anchors var anchors = Array.from(drop.querySelectorAll('a')).filter(function(a){ var href = a.getAttribute('href') || a.href || ''; // match internal page links like /page/slug or page/slug return href.indexOf('/page/') !== -1 || href.indexOf('page/') !== -1; }); if(anchors.length === 0) return; // avoid duplicating if already moved anchors = anchors.filter(function(a){ return !navRoot.querySelector('.navbar-nav a[href="' + a.href + '"]'); }); if(anchors.length === 0) return; // Insert each anchor as its own top-level nav item anchors.forEach(function(link){ var ul = document.createElement('ul'); ul.className = 'navbar-nav main-nav-wrap mb-2 mb-lg-0'; var li = document.createElement('li'); li.className = 'nav-item'; var a = document.createElement('a'); a.className = 'nav-link header-dropdown bg-white text-dark fw-600 text-nowrap'; a.href = link.href; var label = (link.textContent || link.innerText || '').trim() || 'Page'; a.innerHTML = '' + label + ''; li.appendChild(a); ul.appendChild(li); // find container to insert into (prefer before the grouped dropdown) var parentNavItem = drop.closest('.nav-item') || drop.closest('li') || drop.closest('ul') || null; if(parentNavItem && parentNavItem.parentNode){ parentNavItem.parentNode.insertBefore(ul, parentNavItem); } else { // fallback: append to navRoot navRoot.appendChild(ul); } moved++; }); // Remove the original grouped dropdown if it only contained page links (optional) // Check if remaining meaningful children exist; only remove if all links were page links var remainingAnchors = Array.from(drop.querySelectorAll('a')).filter(function(a){ var href = a.getAttribute('href') || a.href || ''; return href.indexOf('/page/') === -1 && href.indexOf('page/') === -1; }); if(remainingAnchors.length === 0){ var parent = drop.closest('.nav-item') || drop.closest('li'); if(parent && parent.parentNode) parent.parentNode.removeChild(parent); } }); return moved > 0; } catch(e) { console && console.warn && console.warn('moveCustomPagesOnce error', e); return false; } } // Try immediately, then also try after DOM mutations for dynamic renderers if (moveCustomPagesOnce()) { console.log('Custom page links moved (immediate).'); return; } // Observe DOM changes and retry up to a few times var tries = 0; var mo = new MutationObserver(function(mutations){ tries++; if (moveCustomPagesOnce() || tries > 20) { mo.disconnect(); console.log('Custom page move attempt finished (tries=' + tries + ').'); } }); mo.observe(document.body, { childList: true, subtree: true }); // final timeout fallback setTimeout(function(){ moveCustomPagesOnce(); mo.disconnect(); }, 2000); })();