| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 | 
							- diff --git a/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.contribution.ts b/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.contribution.ts
 
- index c581ac0..f11c0f0 100644
 
- --- a/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.contribution.ts
 
- +++ b/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.contribution.ts
 
- @@ -319,2 +319,8 @@ configurationRegistry.registerConfiguration({
 
-  		},
 
- +		'workbench.welcomePage.extraAnnouncements': {
 
- +			scope: ConfigurationScope.MACHINE,
 
- +			type: 'boolean',
 
- +			default: true,
 
- +			description: localize('workbench.welcomePage.extraAnnouncements', "When enabled, the get started page loads additional announcements from !!APP_NAME!!'s repository.")
 
- +		},
 
-  		'workbench.startupEditor': {
 
- diff --git a/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.ts b/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.ts
 
- index 664c55b..43f9e2e 100644
 
- --- a/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.ts
 
- +++ b/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.ts
 
- @@ -113,4 +113,8 @@ type GettingStartedActionEvent = {
 
-  type RecentEntry = (IRecentFolder | IRecentWorkspace) & { id: string };
 
- +type AnnouncementEntry = { id: string, title: string, url: string };
 
-  
 
-  const REDUCED_MOTION_KEY = 'workbench.welcomePage.preferReducedMotion';
 
- +
 
- +const BUILTIN_ANNOUNCEMENTS: AnnouncementEntry[] = [/* BUILTIN_ANNOUNCEMENTS */];
 
- +
 
-  export class GettingStartedPage extends EditorPane {
 
- @@ -149,2 +153,4 @@ export class GettingStartedPage extends EditorPane {
 
-  	private gettingStartedList?: GettingStartedIndexList<IResolvedWalkthrough>;
 
- +	private announcementList?: GettingStartedIndexList<AnnouncementEntry>;
 
- +	private announcementData?: AnnouncementEntry[];
 
-  
 
- @@ -812,2 +818,3 @@ export class GettingStartedPage extends EditorPane {
 
-  		const gettingStartedList = this.buildGettingStartedWalkthroughsList();
 
- +		const announcementList = await this.buildAnnouncementList();
 
-  
 
- @@ -822,3 +829,3 @@ export class GettingStartedPage extends EditorPane {
 
-  				this.container.classList.remove('noWalkthroughs');
 
- -				reset(rightColumn, gettingStartedList.getDomElement());
 
- +				reset(rightColumn, gettingStartedList.getDomElement(), announcementList.getDomElement());
 
-  			}
 
- @@ -826,3 +833,3 @@ export class GettingStartedPage extends EditorPane {
 
-  				this.container.classList.add('noWalkthroughs');
 
- -				reset(rightColumn);
 
- +				reset(rightColumn, announcementList.getDomElement());
 
-  			}
 
- @@ -978,2 +985,55 @@ export class GettingStartedPage extends EditorPane {
 
-  
 
- +	private async buildAnnouncementList(): Promise<GettingStartedIndexList<AnnouncementEntry>> {
 
- +		const renderAnnouncement = (announcement: AnnouncementEntry) => {
 
- +			const { title, url } = announcement;
 
- +			const li = $('li');
 
- +
 
- +			const anchor: HTMLLinkElement = $('a');
 
- +			anchor.href = url;
 
- +			anchor.innerText = title;
 
- +			anchor.target = '_blank';
 
- +			li.appendChild(anchor);
 
- +
 
- +			return li;
 
- +		};
 
- +
 
- +		if (this.announcementList) { this.announcementList.dispose(); }
 
- +
 
- +		const announcementList = this.announcementList = new GettingStartedIndexList({
 
- +			title: localize('announcements', "!!APP_NAME!! Announcements"),
 
- +			klass: 'announcements',
 
- +			limit: 5,
 
- +			empty: $('.empty-recent', {}, localize('noAnnouncements', "There are no current announcements.")),
 
- +			renderElement: renderAnnouncement,
 
- +			contextService: this.contextService
 
- +		});
 
- +
 
- +		if (!this.announcementData) {
 
- +			const showExtras = this.configurationService.getValue<boolean>('workbench.welcomePage.extraAnnouncements');
 
- +
 
- +			if (showExtras) {
 
- +				const branch = this.productService.quality === 'insider' ? 'insider' : 'master';
 
- +				await fetch(`https://raw.githubusercontent.com/!!GH_REPO_PATH!!/${branch}/announcements-extra.json`)
 
- +					.then(async res => {
 
- +						if (res.ok) {
 
- +							var extraAnnouncements = await res.json() as AnnouncementEntry[];
 
- +
 
- +							this.announcementData = [...extraAnnouncements, ...BUILTIN_ANNOUNCEMENTS];
 
- +						} else {
 
- +							this.announcementData = BUILTIN_ANNOUNCEMENTS;
 
- +						}
 
- +					})
 
- +					.catch(err => {
 
- +						this.announcementData = BUILTIN_ANNOUNCEMENTS;
 
- +					});
 
- +			} else {
 
- +				this.announcementData = BUILTIN_ANNOUNCEMENTS;
 
- +			}
 
- +		}
 
- +
 
- +		announcementList.setEntries(this.announcementData);
 
- +
 
- +		return announcementList;
 
- +	}
 
- +
 
-  	private buildStartList(): GettingStartedIndexList<IWelcomePageStartEntry> {
 
 
  |