ByMaija Zummoon Fri, Jan 21, 2022 at 1:04 pm
Norwood has recently gotten a little sweeter with the addition of over-the-top donut maker Starlight Doughnut Lab.
Owner/baker Ben Greiwe opened up shop at 4603 Carter Ave.He says he’s been renovating the petite white building where his brick-and-mortar has been located for two years.
Starlight Doughnut Lab has been in operation since the start of January 2019, when Greiwe made some donuts for a New Year’s Eve party at Nine Giant Brewpub in Pleasant Ridge. After positive feedback, he began selling them weekly at the brewery. Since then, Greiwe’s small-batch baked goods have been available at destinations including Nine Giant and its Fermatorium, Apricot Coffee House in Pleasant Ridge, Proud Hound in Silverton, Copper & Flame in Over-the-Rhine and more.
The Norwood storefront offers both cake donuts and 48-hour brioche donuts. Greiwe hopes to eventually expand the menu to include cinnamon rolls, fritters and more pastries.
Starlight Doughnut Lab is located at 4603 Carter Ave., Norwood. Get more info at facebook.com/starlightdoughnutlab.
Tags:
- Starlight Doughnut Lab,
- Donuts in Cincinnati,
- Doughnuts in Cincinnati
Scroll down to view images
Stephanie Scarbrough
1 of 13
Stephanie Scarbrough
2 of 13
Stephanie Scarbrough
3 of 13
Stephanie Scarbrough
4 of 13
Stephanie Scarbrough
5 of 13
Stephanie Scarbrough
6 of 13
Stephanie Scarbrough
7 of 13
Stephanie Scarbrough
8 of 13
Stephanie Scarbrough
9 of 13
Stephanie Scarbrough
10 of 13
Stephanie Scarbrough
11 of 13
Stephanie Scarbrough
12 of 13
Stephanie Scarbrough
13 of 13
`this.removeSpinner = () => {jQuery(slideshowInstance.itemContainerSelector + ' div[uk-spinner]').remove()};this.prevPageLinkHTML = ``this.nextPageLinkHTML = ``Object.defineProperties(this, {'items': { get: function() { return jQuery(this.itemContainerSelector).find(this.itemSelector)}},'currentItem': {get: function() {var foundItem = nullvar foundItemInView = nullthis.items.each(function () {var currentInView = elementInView(jQuery(this), scrollTopOffset, 0)if (currentInView) {// An in view item is already located extra logicif (foundItemInView && foundItemInView.inView) {// The entire previously found item is visible - it winsif (foundItemInView.topInView && foundItemInView.bottomInView) return// The previously found item covers the visible area - it winsif (foundItemInView.middleCoversView) return// The previously found item has more surface area - it winsif (foundItemInView.percentVisable > currentInView.percentOfViewHeight) return}foundItem = jQuery(this)foundItemInView = currentInView}})return foundItem}},'currentItemIndex': {get: function() {var currentElement = this.currentItem.closest('[slide-index]')if(currentElement) {return parseInt(currentElement.attr('slide-index'))}return null}},'currentItemId': {get: function() {var currentElement = this.currentItem.closest('[slide-id]')if(currentElement) {return currentElement.attr('slide-id')}return null}}})var slideshowInstance = this// xxx for debuggering - igwindow.slideshowInstance = slideshowInstance;var scrollTopOffset = window.innerHeight > this.smallMenuBreakPoint ? 110 : 140var originUrl = window.location.hrefthis.scrollToIndex = function (index) {var slideItem = this.items.filter('[slide-index="' + index + '"]')if (slideItem.length) { var topOffset = slideItem.offset().top - scrollTopOffset// window.scrollTo({ top: topOffset, behavior: 'smooth' })window.scrollTo({ top: topOffset, behavior: 'auto' })}else {this.fetchMore(index, function () {slideshowInstance.scrollToIndex(index)})}}this.fetchMore = function (startIndex, callback) {var currentItemOnFetch = this.currentItemvar url = '/cincinnati/inside-starlight-doughnut-labs-new-norwood-bakery/Slideshow/12535967'var params = {ajaxComponent: componentId,action: 'grabMore',startIndex: startIndex,oid: slideshowOid,cb: '1642791270',}if (paginate) {params.paginate = paginate;}var keywords = currentItemOnFetch.attr('slide-keywords')if (keywords) {params.keywords = keywords}if (editorView === true) {params.editor = true}// jQuery.ajax({url: url,type: 'GET',data: params,dataType: 'json',// beforeSend: function () { console.log('Fetching results') },success: function (data) {console.log('success', data.results, data.results.length, data.error, data)if (data) {if (data.error) {console.log(data.error)}else if (data.results) {console.log('slideshowInstance.items', slideshowInstance.items)for (var i = 0; i < data.results.length; i++) {var resultItem = jQuery(data.results[i])// // var resultItem = jQuery.parseHTML(data.results[i], document, true);var resultItemIndex = parseInt(resultItem.attr('slide-index'))var resultAlreadyInserted = slideshowInstance.items.filter('[slide-index="' + resultItemIndex + '"]').length > 0console.log('result', resultItemIndex)var previousItem = nullvar previousItemIndex = 0if (!resultAlreadyInserted) {slideshowInstance.items.each(function () {if (resultAlreadyInserted) returnvar currentItem = jQuery(this)var currentItemIndex = parseInt(currentItem.attr('slide-index'))if (resultItemIndex === currentItemIndex ) {resultAlreadyInserted = truereturn}else if (resultItemIndex > previousItemIndex && resultItemIndex < currentItemIndex) {var topOffsetBeforeInsert = currentItemOnFetch.get(0).getBoundingClientRect().topresultItem.insertBefore(currentItem)resultAlreadyInserted = truevar adjustedTopPosition = currentItemOnFetch.offset().top - topOffsetBeforeInsertwindow.scrollTo({ top: adjustedTopPosition, behavior: 'auto' })}previousItem = currentItempreviousItemIndex = currentItemIndex})if (!resultAlreadyInserted) {var topOffsetBeforeInsert = currentItemOnFetch.get(0).getBoundingClientRect().topresultItem.insertAfter(slideshowInstance.items.last())resultAlreadyInserted = truevar adjustedTopPosition = currentItemOnFetch.offset().top - topOffsetBeforeInsertwindow.scrollTo({ top: adjustedTopPosition, behavior: 'auto' })if (typeof instgrm === 'object' && instgrm.Embeds && typeof instgrm.Embeds.process === 'function') {setTimeout(instgrm.Embeds.process, 200);}}}}}else { console.log('How did we get here?') }}else { console.log('No result or error returned from content request.') }},complete: function () { slideshowInstance.items = jQuery(slideshowInstance.itemSelector) // Update items resultslideshowInstance.removeSpinner();if (typeof callback === 'function') { callback() }},error: function (jqXHR, textStatus, errorThrown) {console.log(jqXHR, textStatus, errorThrown);if (textStatus === 'timeout') {slideshowInstance.removeSpinner();if (paginate === true) return;paginate = true;if (slideshowInstance.items.length < totalSlides) {var firstLoadedIndex = parseInt(slideshowInstance.items.first().attr('slide-index')) || 1;var lastLoadedIndex = parseInt(slideshowInstance.items.last().attr('slide-index')) || totalSlides;if(firstLoadedIndex > 1) {var prevLink = jQuery(slideshowInstance.prevPageLinkHTML);var prevLinkUrl = new URL(url, `https://www.citybeat.com`);prevLinkUrl.searchParams.append('startIndex', firstLoadedIndex - 1);prevLinkUrl.searchParams.append('paginate', 'true');prevLink.attr('href', prevLinkUrl.href);jQuery(slideshowInstance.itemContainerSelector).prepend(prevLink);}if(lastLoadedIndex < totalSlides) {var nextLink = jQuery(slideshowInstance.nextPageLinkHTML);var nextLinkUrl = new URL(url, `https://www.citybeat.com`);nextLinkUrl.searchParams.append('startIndex', lastLoadedIndex + 1);nextLinkUrl.searchParams.append('paginate', 'true');nextLink.attr('href', nextLinkUrl.href);jQuery(slideshowInstance.itemContainerSelector).append(nextLink);}}}}})}// var lazyLoadSurroundingItemsInterval = null;var lazyLoadTimeout = null;var lazyLoadSurroundingItems = function (index) {if (paginate) return;if (slideshowInstance.items.length >= totalSlides) {clearInterval(lazyLoadSurroundingItemsInterval);}if (slideshowInstance.lazyLoadMoreResults) {// Rate limit lazyloading more slidesclearTimeout(lazyLoadTimeout);lazyLoadTimeout = setTimeout(function () {var prevIndex = Math.max(index - 1, 1)var prevPrevIndex = Math.max(index - 2, 1)var nextIndex = index + 1var nextNextIndex = index + 2var prevIndexLoaded = slideshowInstance.items.filter('[slide-index="' + prevIndex + '"]').length > 0var prevPrevIndexLoaded = slideshowInstance.items.filter('[slide-index="' + prevPrevIndex + '"]').length > 0var nextIndexLoaded = slideshowInstance.items.filter('[slide-index="' + nextIndex + '"]').length > 0var nextNextIndexLoaded = slideshowInstance.items.filter('[slide-index="' + nextNextIndex + '"]').length > 0if(!prevIndexLoaded) {slideshowInstance.removeSpinner();// jQuery(slideshowInstance.itemContainerSelector).prepend(slideshowInstance.spinnerHTML)slideshowInstance.fetchMore(Math.max(prevIndex - (fetchMoreMaxCount - 1), 1))}else if(!prevPrevIndexLoaded) {slideshowInstance.removeSpinner();// jQuery(slideshowInstance.itemContainerSelector).prepend(slideshowInstance.spinnerHTML)slideshowInstance.fetchMore(Math.max(prevPrevIndex - (fetchMoreMaxCount - 1), 1))}if(!nextIndexLoaded) {slideshowInstance.removeSpinner();jQuery(slideshowInstance.itemContainerSelector).append(slideshowInstance.spinnerHTML)slideshowInstance.fetchMore(nextIndex)}else if(!nextNextIndexLoaded) {slideshowInstance.removeSpinner();jQuery(slideshowInstance.itemContainerSelector).append(slideshowInstance.spinnerHTML)slideshowInstance.fetchMore(nextNextIndex)}}, 200)}}// var lazyLoadLastCheckedIndex = slideshowInstance.currentItemIndexlazyLoadSurroundingItemsInterval = setInterval(function () {var currentIndex = slideshowInstance.currentItemIndexconsole.log(`lazyLoadSurroundingItemsInterval - currentIndex: ${currentIndex}; lazyLoadLastCheckedIndex: ${lazyLoadLastCheckedIndex}`);if(currentIndex !== lazyLoadLastCheckedIndex) {lazyLoadLastCheckedIndex = currentIndex;lazyLoadSurroundingItems(currentIndex);}}, 1000);var onScrollLastCheckedIndex = slideshowInstance.currentItemIndexjQuery(window).on('scroll resize', function () {var currentIndex = slideshowInstance.currentItemIndexif(currentIndex !== onScrollLastCheckedIndex) {onScrollLastCheckedIndex = currentIndex// console.log(`Slide Item index: ${currentIndex}`)fireEvent('foundation:slideshow:slidechange')}});// var onScrollTimeout = null;// jQuery(window).on('scroll resize', function () {// // Rate limit lazyloading more slides// clearTimeout(onScrollTimeout);// onScrollTimeout = setTimeout(function () {// var currentIndex = slideshowInstance.currentItemIndex// if(currentIndex !== onScrollLastCheckedIndex) {// onScrollLastCheckedIndex = currentIndex// console.log(`Slide Item index: ${currentIndex}`)// fireEvent('foundation:slideshow:slidechange')// }// }, 100);// });this.initialized = falsethis.init = function () {if (this.initialized === true) return// Prevent the browser from trying to scroll to the last scroll position before reloadif (history.scrollRestoration) {history.scrollRestoration = 'manual'}var startIndex = this.items.first().attr('slide-index')var oid = window.location.pathname.match(/\d+$/)if (oid) {var grabIndex = parseInt(this.items.closest('[slide-id="' + oid[0] + '"]').attr('slide-index'))if (!isNaN(grabIndex)) {var startIndex = grabIndex}}// if (startIndex > 1) {// this.scrollToIndex(startIndex)// }// if(jQuery(this.itemContainerSelector + '[single-listing]').length === 0) {// this.lazyLoadMoreResults = true// }this.lazyLoadMoreResults = truethis.initialized = truelazyLoadSurroundingItems(startIndex)}return this}var SlideshowItems = new SlideshowItemsObj()// Ad refresh on slide change handlingvar adSlideChangeRefreshThreshold = 10;var adSlideChangeRefreshTimeout = null;// adSlideChangeRefreshTimeout = setTimeout(function () {adSlideChangeRefreshTimeout = null; // Set timer to null}, adSlideChangeRefreshThreshold)// Timeout to prevent fast jogging from item to itemvar itemChangeTimeout = nulljQuery(document).on('foundation:slideshow:slidechange', function () {if (editorView !== true) {updateMetaDataFromElement(SlideshowItems.currentItem)}// Google Anayltics track pageviewif (typeof ga === 'function') {console.log("foundation:slideshow:slidechange event", "sending pageview navigation to:", window.location.href);ga('set', 'location', window.location.href)for (let i = 1; i <= 3; i++) {let currentDimension = jQuery(SlideshowItems.currentItem).attr('ga-dimension'+i)if (typeof currentDimension === 'string') {ga('set', 'dimension' + i, currentDimension)}else {ga('set', 'dimension' + i, '') }}ga('send', 'pageview')}// if (adSlideChangeRefreshTimeout === null) {// adSlideChangeRefreshTimeout = setTimeout(function () {adSlideChangeRefreshTimeout = null; // Set timer to null}, adSlideChangeRefreshThreshold)// if (Foundation.Ad && Foundation.Ad.slots) {if (typeof (Foundation.Ad.slots['CIN_Footer-1']) === 'object') {Foundation.Ad.showFooter('CIN_Footer-1');}}// if (Foundation.Gpt && Foundation.Gpt.getInPageSlotDataById) {var gptSlots = window.googletag.pubads().getSlots();var gptSlotFixedFooter = gptSlots.filter((slot) => slot.getSlotElementId() === `FixedFooter`)if (gptSlotFixedFooter.length) {Foundation.Gpt.ShowAd.refreshFixedFooter(gptSlotFixedFooter[0]);}}}});// Try to init immediatelySlideshowItems.init()// On document loadedjQuery(function () {SlideshowItems.init()})// })();