src/vs/workbench/contrib/welcome/gettingStarted/browser/gettingStarted.ts/GettingStartedPage/buildGettingStartedWalkthroughsList
class GettingStartedPage:	private buildGettingStartedWalkthroughsList(): GettingStartedIndexList<IGettingStartedCategoryWithProgress> {

		const renderGetttingStaredWalkthrough = (category: IGettingStartedCategoryWithProgress) => {
			const hiddenCategories = this.getHiddenCategories();

			if (category.content.type !== 'steps' || hiddenCategories.has(category.id)) {
				return undefined;
			}

			const newBadge = $('.new-badge', {});
			if (category.content.accolades === 'newCategory') {
				reset(newBadge, $('.new-category', {}, localize('new', "New")));
			} else if (category.content.accolades === 'newContent') {
				reset(newBadge, $('.new-items', {}, localize('newItems', "New Items")));
			}

			const featuredBadge = $('.featured-badge', {});
			const descriptionContent = $('.description-content', {},);

			if (category.content.accolades === 'featured') {
				reset(featuredBadge, $('.featured', {}, $('span.featured-icon.codicon.codicon-star-empty')));
				reset(descriptionContent, category.description);
			}

			return $('button.getting-started-category' + (category.content.accolades === 'featured' ? '.featured' : ''),
				{
					'x-dispatch': 'selectCategory:' + category.id,
					'role': 'listitem',
					'title': category.description
				},
				featuredBadge,
				$('.main-content', {},
					this.iconWidgetFor(category),
					$('h3.category-title.max-lines-3', { 'x-category-title-for': category.id }, category.title,),
					newBadge,
					$('a.codicon.codicon-close.hide-category-button', {
						'x-dispatch': 'hideCategory:' + category.id,
						'title': localize('close', "Hide"),
					}),
				),
				descriptionContent,
				$('.category-progress', { 'x-data-category-id': category.id, },
					$('.progress-bar-outer', { 'role': 'progressbar' },
						$('.progress-bar-inner'))));
		};

		if (this.gettingStartedList) { this.gettingStartedList.dispose(); }

		const gettingStartedList = this.gettingStartedList = new GettingStartedIndexList(
			localize('gettingStarted', "Getting Started"),
			'getting-started',
			5,
			undefined,
			undefined,
			$('button.button-link.see-all-walkthroughs', { 'tabindex': '0', 'x-dispatch': 'seeAllWalkthroughs' }, localize('seeMore', "See More")),
			renderGetttingStaredWalkthrough);

		gettingStartedList.onDidChange(() => {
			const hidden = this.getHiddenCategories();
			const someWalkthroughsHidden = hidden.size || gettingStartedList.itemCount < this.gettingStartedCategories.filter(x => x.content.type === 'steps').length;
			this.container.classList.toggle('someWalkthroughsHidden', !!someWalkthroughsHidden);
			this.registerDispatchListeners();
			this.updateCategoryProgress();
		});
		gettingStartedList.setEntries(this.gettingStartedCategories);

		return gettingStartedList;
	}