private static async Task GenerateSitemap() { var config = new Config(); var client = new VocaDbClient(config.SiteRootUrl); s_log.Info("Getting entries from VocaDB"); var artists = await client.GetArtists(); var albums = await client.GetAlbums(); var events = await client.GetEvents(); var songs = await client.GetSongs(); var tags = await client.GetTags(); s_log.Info("Generating sitemap"); var generator = new SitemapGenerator(config.SiteRootUrl, config.SitemapRootUrl); generator.Generate(config.OutFolder, new Dictionary <EntryType, IEnumerable <EntryReference> > { { EntryType.Artist, artists.Select(e => new EntryReference(e)) }, { EntryType.Album, albums.Select(e => new EntryReference(e)) }, { EntryType.ReleaseEvent, events.Items.Select(e => new EntryReference(e.Id, e.UrlSlug)) }, { EntryType.Song, songs.Select(e => new EntryReference(e)) }, { EntryType.Tag, tags.Items.Select(e => new EntryReference(e.Id, e.UrlSlug)) }, }); }