</h1></header></div><meta itemprop="headline" content="<TITLE>"><div class="article__info clearfix"><ul class="left-col menu"><li> <a class="button button--secondary button--pill button--sm" href="/archive.html?tag=ChatGPT">ChatGPT</a> </li><li> <a class="button button--secondary button--pill button--sm" href="/archive.html?tag=DALLE-2">DALLE-2</a> </li></ul><ul class="right-col menu"><li><i class="fas fa-user"></i> <span>ChatGPT</span></li></ul></div><meta itemprop="author" content="ChatGPT"/> <meta itemprop="keywords" content="ChatGPT,DALLE-2"><div class="js-article-content"><div class="layout--article"><!-- start custom article top snippet --> <!-- end custom article top snippet --> <div class="article__content" itemprop="articleBody"><p><img src="/docs/assets/images/IMAGE.png" alt="Image" title="Image_rounded" class="rounded" width="50%" height="50%" style="float: left; margin-right: 2em;" /></p> <p>–INTRO–</p> <!--more--> <!-- need the "more" above, to define that it should only show the text above the "more" for the brief introductions in the homepage, otherwise it would include everything in the homepage--> <h3 id="ingredients">Ingredients</h3> <ul> <li>Ingredient 1</li> <li>Ingredient 2</li> </ul> <h3 id="directions">Directions</h3> <ol> <li>Direction 1</li> <li>Direction 2</li> </ol> <hr /> <p><strong>IMPORTANT:</strong> As this is an AI generated recipe, the results may not be satisfactory, or more importantly, not even be edible. With that in mind, if you do decide to follow this recipe and directions exactly, <strong>make sure that the result is safe to eat</strong> before you eat it.</p> </div><div class="d-print-none"><footer class="article__footer"><!-- start custom article footer snippet --> <!-- end custom article footer snippet --> </footer> </div> </div> <script>(function() { var SOURCES = window.TEXT_VARIABLES.sources; window.Lazyload.js(SOURCES.jquery, function() { $(function() { var $this ,$scroll; var $articleContent = $('.js-article-content'); var hasSidebar = $('.js-page-root').hasClass('layout--page--sidebar'); var scroll = hasSidebar ? '.js-page-main' : 'html, body'; $scroll = $(scroll); $articleContent.find('.highlight').each(function() { $this = $(this); $this.attr('data-lang', $this.find('code').attr('data-lang')); }); $articleContent.find('h1[id], h2[id], h3[id], h4[id], h5[id], h6[id]').each(function() { $this = $(this); $this.append($('<a class="anchor d-print-none" aria-hidden="true"></a>').html('<i class="fas fa-anchor"></i>')); }); $articleContent.on('click', '.anchor', function() { $scroll.scrollToAnchor('#' + $(this).parent().attr('id'), 400); }); }); }); })(); </script> </div></article><!-- start custom main bottom snippet --> <!-- end custom main bottom snippet --> </div> </div></div></div><div class="page__footer d-print-none"> <footer class="footer py-4 js-page-footer"> <div class="main"><div itemscope itemtype="http://schema.org/Person"> <meta itemprop="name" content="Gelo"><meta itemprop="url" content="/"><meta itemprop="description" content="A human."><div class="footer__author-links"><div class="author-links"> <ul class="menu menu--nowrap menu--inline"><li title="Follow me on Twitter."> <a class="button button--circle twitter-button" itemprop="sameAs" href="https://twitter.com/mgelo04" target="_blank"> <div class="icon"><svg fill="#000000" width="24px" height="24px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"> <path d="M1024.032 194.432c-37.664 16.704-78.176 28-120.672 33.088 43.36-26.016 76.672-67.168 92.384-116.224-40.608 24.064-85.568 41.568-133.408 50.976-38.336-40.832-92.928-66.336-153.344-66.336-116.032 0-210.08 94.048-210.08 210.08 0 16.48 1.856 32.512 5.44 47.872-174.592-8.768-329.408-92.416-433.024-219.52-18.08 31.04-28.448 67.104-28.448 105.632 0 72.896 37.088 137.184 93.472 174.88-34.432-1.088-66.816-10.528-95.168-26.272-0.032 0.864-0.032 1.76-0.032 2.656 0 101.792 72.416 186.688 168.512 205.984-17.632 4.8-36.192 7.36-55.36 7.36-13.536 0-26.688-1.312-39.52-3.776 26.72 83.456 104.32 144.192 196.256 145.888-71.904 56.352-162.496 89.92-260.928 89.92-16.96 0-33.664-0.992-50.112-2.944 92.96 59.616 203.392 94.4 322.048 94.4 386.432 0 597.728-320.128 597.728-597.76 0-9.12-0.192-18.176-0.608-27.168 41.056-29.632 76.672-66.624 104.832-108.736z" /> </svg> </div> </a> </li></ul> </div> </div> </div><div class="site-info mt-2"> <div>© AI Made Recipes 2021, Powered by <a title="Jekyll is a simple, blog-aware, static site generator." href="http://jekyllrb.com/">Jekyll</a> & <a title="TeXt is a super customizable Jekyll theme." href="https://github.com/kitian616/jekyll-TeXt-theme">TeXt Theme</a>. </div> </div> </div> </footer> </div></div> </div><script>(function() { var SOURCES = window.TEXT_VARIABLES.sources; window.Lazyload.js(SOURCES.jquery, function() { var $body = $('body'), $window = $(window); var $pageRoot = $('.js-page-root'), $pageMain = $('.js-page-main'); var activeCount = 0; function modal(options) { var $root = this, visible, onChange, hideWhenWindowScroll = false; var scrollTop; function setOptions(options) { var _options = options || {}; visible = _options.initialVisible === undefined ? false : show; onChange = _options.onChange; hideWhenWindowScroll = _options.hideWhenWindowScroll; } function init() { setState(visible); } function setState(isShow) { if (isShow === visible) { return; } visible = isShow; if (visible) { activeCount++; scrollTop = $(window).scrollTop() || $pageMain.scrollTop(); $root.addClass('modal--show'); $pageMain.scrollTop(scrollTop); activeCount === 1 && ($pageRoot.addClass('show-modal'), $body.addClass('of-hidden')); hideWhenWindowScroll && window.hasEvent('touchstart') && $window.on('scroll', hide); $window.on('keyup', handleKeyup); } else { activeCount > 0 && activeCount--; $root.removeClass('modal--show'); $window.scrollTop(scrollTop); activeCount === 0 && ($pageRoot.removeClass('show-modal'), $body.removeClass('of-hidden')); hideWhenWindowScroll && window.hasEvent('touchstart') && $window.off('scroll', hide); $window.off('keyup', handleKeyup); } onChange && onChange(visible); } function show() { setState(true); } function hide() { setState(false); } function handleKeyup(e) { // Char Code: 27 ESC if (e.which === 27) { hide(); } } setOptions(options); init(); return { show: show, hide: hide, $el: $root }; } $.fn.modal = modal; }); })(); </script><div class="modal modal--overflow page__search-modal d-print-none js-page-search-modal"><script> (function () { var SOURCES = window.TEXT_VARIABLES.sources; window.Lazyload.js(SOURCES.jquery, function() { // search panel var search = (window.search || (window.search = {})); var useDefaultSearchBox = window.useDefaultSearchBox === undefined ? true : window.useDefaultSearchBox ; var $searchModal = $('.js-page-search-modal'); var $searchToggle = $('.js-search-toggle'); var searchModal = $searchModal.modal({ onChange: handleModalChange, hideWhenWindowScroll: true }); var modalVisible = false; search.searchModal = searchModal; var $searchBox = null; var $searchInput = null; var $searchClear = null; function getModalVisible() { return modalVisible; } search.getModalVisible = getModalVisible; function handleModalChange(visible) { modalVisible = visible; if (visible) { search.onShow && search.onShow(); useDefaultSearchBox && $searchInput[0] && $searchInput[0].focus(); } else { search.onShow && search.onHide(); useDefaultSearchBox && $searchInput[0] && $searchInput[0].blur(); setTimeout(function() { useDefaultSearchBox && ($searchInput.val(''), $searchBox.removeClass('not-empty')); search.clear && search.clear(); window.pageAsideAffix && window.pageAsideAffix.refresh(); }, 400); } } $searchToggle.on('click', function() { modalVisible ? searchModal.hide() : searchModal.show(); }); // Char Code: 83 S, 191 / $(window).on('keyup', function(e) { if (!modalVisible && !window.isFormElement(e.target || e.srcElement) && (e.which === 83 || e.which === 191)) { modalVisible || searchModal.show(); } }); if (useDefaultSearchBox) { $searchBox = $('.js-search-box'); $searchInput = $searchBox.children('input'); $searchClear = $searchBox.children('.js-icon-clear'); search.getSearchInput = function() { return $searchInput.get(0); }; search.getVal = function() { return $searchInput.val(); }; search.setVal = function(val) { $searchInput.val(val); }; $searchInput.on('focus', function() { $(this).addClass('focus'); }); $searchInput.on('blur', function() { $(this).removeClass('focus'); }); $searchInput.on('input', window.throttle(function() { var val = $(this).val(); if (val === '' || typeof val !== 'string') { search.clear && search.clear(); } else { $searchBox.addClass('not-empty'); search.onInputNotEmpty && search.onInputNotEmpty(val); } }, 400)); $searchClear.on('click', function() { $searchInput.val(''); $searchBox.removeClass('not-empty'); search.clear && search.clear(); }); } }); })(); </script><div class="search search--dark"> <div class="main"> <div class="search__header">Search</div> <div class="search-bar"> <div class="search-box js-search-box"> <div class="search-box__icon-search"><i class="fas fa-search"></i></div> <input type="text" /> <div class="search-box__icon-clear js-icon-clear"> <a><i class="fas fa-times"></i></a> </div> </div> <button class="button button--theme-dark button--pill search__cancel js-search-toggle"> Cancel</button> </div> <div class="search-result js-search-result"></div> </div> </div> <script>var SOURCES = window.TEXT_VARIABLES.sources; var PAHTS = window.TEXT_VARIABLES.paths; window.Lazyload.js([SOURCES.jquery, PAHTS.search_js], function() { var search = (window.search || (window.search = {})); var searchData = window.TEXT_SEARCH_DATA || {}; function memorize(f) { var cache = {}; return function () { var key = Array.prototype.join.call(arguments, ','); if (key in cache) return cache[key]; else return cache[key] = f.apply(this, arguments); }; } /// search function searchByQuery(query) { var i, j, key, keys, cur, _title, result = {}; keys = Object.keys(searchData); for (i = 0; i < keys.length; i++) { key = keys[i]; for (j = 0; j < searchData[key].length; j++) { cur = searchData[key][j], _title = cur.title; if ((result[key] === undefined || result[key] && result[key].length < 4 ) && _title.toLowerCase().indexOf(query.toLowerCase()) >= 0) { if (result[key] === undefined) { result[key] = []; } result[key].push(cur); } } } return result; } var renderHeader = memorize(function(header) { return $('<p class="search-result__header">' + header + '</p>'); }); var renderItem = function(index, title, url) { return $('<li class="search-result__item" data-index="' + index + '"><a class="button" href="' + url + '">' + title + '</a></li>'); }; function render(data) { if (!data) { return null; } var $root = $('<ul></ul>'), i, j, key, keys, cur, itemIndex = 0; keys = Object.keys(data); for (i = 0; i < keys.length; i++) { key = keys[i]; $root.append(renderHeader(key)); for (j = 0; j < data[key].length; j++) { cur = data[key][j]; $root.append(renderItem(itemIndex++, cur.title, cur.url)); } } return $root; } // search box var $result = $('.js-search-result'), $resultItems; var lastActiveIndex, activeIndex; function clear() { $result.html(null); $resultItems = $('.search-result__item'); activeIndex = 0; } function onInputNotEmpty(val) { $result.html(render(searchByQuery(val))); $resultItems = $('.search-result__item'); activeIndex = 0; $resultItems.eq(0).addClass('active'); } search.clear = clear; search.onInputNotEmpty = onInputNotEmpty; function updateResultItems() { lastActiveIndex >= 0 && $resultItems.eq(lastActiveIndex).removeClass('active'); activeIndex >= 0 && $resultItems.eq(activeIndex).addClass('active'); } function moveActiveIndex(direction) { var itemsCount = $resultItems ? $resultItems.length : 0; if (itemsCount > 1) { lastActiveIndex = activeIndex; if (direction === 'up') { activeIndex = (activeIndex - 1 + itemsCount) % itemsCount; } else if (direction === 'down') { activeIndex = (activeIndex + 1 + itemsCount) % itemsCount; } updateResultItems(); } } // Char Code: 13 Enter, 37 ⬅, 38 ⬆, 39 ➡, 40 ⬇ $(window).on('keyup', function(e) { var modalVisible = search.getModalVisible && search.getModalVisible(); if (modalVisible) { if (e.which === 38) { modalVisible && moveActiveIndex('up'); } else if (e.which === 40) { modalVisible && moveActiveIndex('down'); } else if (e.which === 13) { modalVisible && $resultItems && activeIndex >= 0 && $resultItems.eq(activeIndex).children('a')[0].click(); } } }); $result.on('mouseover', '.search-result__item > a', function() { var itemIndex = $(this).parent().data('index'); itemIndex >= 0 && (lastActiveIndex = activeIndex, activeIndex = itemIndex, updateResultItems()); }); }); </script> </div></div> <script>(function() { var SOURCES = window.TEXT_VARIABLES.sources; window.Lazyload.js(SOURCES.jquery, function() { function scrollToAnchor(anchor, duration, callback) { var $root = this; $root.animate({ scrollTop: $(anchor).position().top }, duration, function() { window.history.replaceState(null, '', window.location.href.split('#')[0] + anchor); callback && callback(); }); } $.fn.scrollToAnchor = scrollToAnchor; }); })(); (function() { var SOURCES = window.TEXT_VARIABLES.sources; window.Lazyload.js(SOURCES.jquery, function() { function affix(options) { var $root = this, $window = $(window), $scrollTarget, $scroll, offsetBottom = 0, scrollTarget = window, scroll = window.document, disabled = false, isOverallScroller = true, rootTop, rootLeft, rootHeight, scrollBottom, rootBottomTop, hasInit = false, curState; function setOptions(options) { var _options = options || {}; _options.offsetBottom && (offsetBottom = _options.offsetBottom); _options.scrollTarget && (scrollTarget = _options.scrollTarget); _options.scroll && (scroll = _options.scroll); _options.disabled !== undefined && (disabled = _options.disabled); $scrollTarget = $(scrollTarget); isOverallScroller = window.isOverallScroller($scrollTarget[0]); $scroll = $(scroll); } function preCalc() { top(); rootHeight = $root.outerHeight(); rootTop = $root.offset().top + (isOverallScroller ? 0 : $scrollTarget.scrollTop()); rootLeft = $root.offset().left; } function calc(needPreCalc) { needPreCalc && preCalc(); scrollBottom = $scroll.outerHeight() - offsetBottom - rootHeight; rootBottomTop = scrollBottom - rootTop; } function top() { if (curState !== 'top') { $root.removeClass('fixed').css({ left: 0, top: 0 }); curState = 'top'; } } function fixed() { if (curState !== 'fixed') { $root.addClass('fixed').css({ left: rootLeft + 'px', top: 0 }); curState = 'fixed'; } } function bottom() { if (curState !== 'bottom') { $root.removeClass('fixed').css({ left: 0, top: rootBottomTop + 'px' }); curState = 'bottom'; } } function setState() { var scrollTop = $scrollTarget.scrollTop(); if (scrollTop >= rootTop && scrollTop <= scrollBottom) { fixed(); } else if (scrollTop < rootTop) { top(); } else { bottom(); } } function init() { if(!hasInit) { var interval, timeout; calc(true); setState(); // run calc every 100 millisecond interval = setInterval(function() { calc(); }, 100); timeout = setTimeout(function() { clearInterval(interval); }, 45000); window.pageLoad.then(function() { setTimeout(function() { clearInterval(interval); clearTimeout(timeout); }, 3000); }); $scrollTarget.on('scroll', function() { disabled || setState(); }); $window.on('resize', function() { disabled || (calc(true), setState()); }); hasInit = true; } } setOptions(options); if (!disabled) { init(); } $window.on('resize', window.throttle(function() { init(); }, 200)); return { setOptions: setOptions, refresh: function() { calc(true, { animation: false }); setState(); } }; } $.fn.affix = affix; }); })(); (function() { var SOURCES = window.TEXT_VARIABLES.sources; window.Lazyload.js(SOURCES.jquery, function() { function toc(options) { var $root = this, $window = $(window), $scrollTarget, $scroller, $tocUl = $('<ul class="toc toc--ellipsis"></ul>'), $tocLi, $headings, $activeLast, $activeCur, selectors = 'h1,h2,h3', container = 'body', scrollTarget = window, scroller = 'html, body', disabled = false, headingsPos, scrolling = false, hasRendered = false, hasInit = false; function setOptions(options) { var _options = options || {}; _options.selectors && (selectors = _options.selectors); _options.container && (container = _options.container); _options.scrollTarget && (scrollTarget = _options.scrollTarget); _options.scroller && (scroller = _options.scroller); _options.disabled !== undefined && (disabled = _options.disabled); $headings = $(container).find(selectors).filter('[id]'); $scrollTarget = $(scrollTarget); $scroller = $(scroller); } function calc() { headingsPos = []; $headings.each(function() { headingsPos.push(Math.floor($(this).position().top)); }); } function setState(element, disabled) { var scrollTop = $scrollTarget.scrollTop(), i; if (disabled || !headingsPos || headingsPos.length < 1) { return; } if (element) { $activeCur = element; } else { for (i = 0; i < headingsPos.length; i++) { if (scrollTop >= headingsPos[i]) { $activeCur = $tocLi.eq(i); } else { $activeCur || ($activeCur = $tocLi.eq(i)); break; } } } $activeLast && $activeLast.removeClass('active'); ($activeLast = $activeCur).addClass('active'); } function render() { if(!hasRendered) { $root.append($tocUl); $headings.each(function() { var $this = $(this); $tocUl.append($('<li></li>').addClass('toc-' + $this.prop('tagName').toLowerCase()) .append($('<a></a>').text($this.text()).attr('href', '#' + $this.prop('id')))); }); $tocLi = $tocUl.children('li'); $tocUl.on('click', 'a', function(e) { e.preventDefault(); var $this = $(this); scrolling = true; setState($this.parent()); $scroller.scrollToAnchor($this.attr('href'), 400, function() { scrolling = false; }); }); } hasRendered = true; } function init() { var interval, timeout; if(!hasInit) { render(); calc(); setState(null, scrolling); // run calc every 100 millisecond interval = setInterval(function() { calc(); }, 100); timeout = setTimeout(function() { clearInterval(interval); }, 45000); window.pageLoad.then(function() { setTimeout(function() { clearInterval(interval); clearTimeout(timeout); }, 3000); }); $scrollTarget.on('scroll', function() { disabled || setState(null, scrolling); }); $window.on('resize', window.throttle(function() { if (!disabled) { render(); calc(); setState(null, scrolling); } }, 100)); } hasInit = true; } setOptions(options); if (!disabled) { init(); } $window.on('resize', window.throttle(function() { init(); }, 200)); return { setOptions: setOptions }; } $.fn.toc = toc; }); })(); /*(function () { })();*/ </script><script> /* toc must before affix, since affix need to konw toc' height. */(function() { var SOURCES = window.TEXT_VARIABLES.sources; var TOC_SELECTOR = window.TEXT_VARIABLES.site.toc.selectors; window.Lazyload.js(SOURCES.jquery, function() { var $window = $(window); var $articleContent = $('.js-article-content'); var $tocRoot = $('.js-toc-root'), $col2 = $('.js-col-aside'); var toc; var tocDisabled = false; var hasSidebar = $('.js-page-root').hasClass('layout--page--sidebar'); var hasToc = $articleContent.find(TOC_SELECTOR).length > 0; function disabled() { return $col2.css('display') === 'none' || !hasToc; } tocDisabled = disabled(); toc = $tocRoot.toc({ selectors: TOC_SELECTOR, container: $articleContent, scrollTarget: hasSidebar ? '.js-page-main' : null, scroller: hasSidebar ? '.js-page-main' : null, disabled: tocDisabled }); $window.on('resize', window.throttle(function() { tocDisabled = disabled(); toc && toc.setOptions({ disabled: tocDisabled }); }, 100)); }); })(); (function() { var SOURCES = window.TEXT_VARIABLES.sources; window.Lazyload.js(SOURCES.jquery, function() { var $window = $(window), $pageFooter = $('.js-page-footer'); var $pageAside = $('.js-page-aside'); var affix; var tocDisabled = false; var hasSidebar = $('.js-page-root').hasClass('layout--page--sidebar'); affix = $pageAside.affix({ offsetBottom: $pageFooter.outerHeight(), scrollTarget: hasSidebar ? '.js-page-main' : null, scroller: hasSidebar ? '.js-page-main' : null, scroll: hasSidebar ? $('.js-page-main').children() : null, disabled: tocDisabled }); $window.on('resize', window.throttle(function() { affix && affix.setOptions({ disabled: tocDisabled }); }, 100)); window.pageAsideAffix = affix; }); })(); </script><script> window.Lazyload.js(['https://unpkg.com/jquery@3.3.1/dist/jquery.min.js', 'https://unpkg.com/chart.js@2.7.2/dist/Chart.min.js'], function() { var $canvas = null, $this = null, _ctx = null, _text = ''; $('.language-chart').each(function(){ $this = $(this); $canvas = $('<canvas></canvas>'); _text = $this.text(); $this.text('').append($canvas); _ctx = $canvas.get(0).getContext('2d'); (_ctx && _text) && (new Chart(_ctx, JSON.parse(_text)) && $this.attr('data-processed', true)); }); }); </script> <script type="text/x-mathjax-config"> var _config = { tex2jax: { inlineMath: [['$','$'], ['\\(','\\)']] }};_config.TeX = { equationNumbers: { autoNumber: "all" } };MathJax.Hub.Config(_config); </script> <script type="text/javascript" src="https://unpkg.com/mathjax@2.7.4/unpacked/MathJax.js?config=TeX-MML-AM_CHTML" async></script> <script> window.Lazyload.js('https://unpkg.com/mermaid@8.0.0-rc.8/dist/mermaid.min.js', function() { mermaid.initialize({ startOnLoad: true }); mermaid.init(undefined, '.language-mermaid'); }); </script> </div> <script>(function () { var $root = document.getElementsByClassName('root')[0]; if (window.hasEvent('touchstart')) { $root.dataset.isTouch = true; document.addEventListener('touchstart', function(){}, false); } })(); </script> </body> </html>