public Embed BuildParticipantStatsForCategoryEmbed(LeaderboardParticipant participant, List <DetailedActivity> activities, string type, DateTime start, DateTime end) { var categoryResult = _leaderboardResultService.GetTopResultsForCategory( new Dictionary <LeaderboardParticipant, List <DetailedActivity> > { { participant, activities } }, type, x => x.Type == type); var embedBuilder = new EmbedBuilder() .WithTitle( $"'{type}' stats for '{start:yyyy MMMM dd} - {end:yyyy MMMM dd}'") .WithCurrentTimestamp() .WithColor(Color.Gold); if (!categoryResult.ChallengeByChallengeResultDictionary.Any()) { embedBuilder.WithDescription("Something went wrong"); return(embedBuilder.Build()); } foreach (var(categoryName, participantResults) in categoryResult.ChallengeByChallengeResultDictionary) { foreach (var participantResult in participantResults) { embedBuilder.AddField(categoryName, OutputFormatters.ParticipantResultForChallenge(categoryName, participantResult.Value), true); } } return(embedBuilder.Build()); }
public Embed BuildLeaderboardEmbed(CategoryResult categoryResult, DateTime start, DateTime end) { var embedBuilder = new EmbedBuilder() .WithTitle( $"'{categoryResult.Name}' leaderboard for '{start:yyyy MMMM dd} - {end:yyyy MMMM dd}'") .WithCurrentTimestamp() .WithColor(Color.Green); foreach (var(participant, participantResults) in categoryResult.ChallengeByChallengeResultDictionary) { embedBuilder.AddField(efb => efb.WithName("Category") .WithValue($"{participant}") .WithIsInline(false)); var place = 1; foreach (var participantResult in participantResults) { embedBuilder.AddField(efb => efb.WithValue(participantResult.Participant.GetDiscordMention()) .WithName( $"{OutputFormatters.PlaceToEmote(place)} - {OutputFormatters.ParticipantResultForChallenge(participant, participantResult.Value)}") .WithIsInline(true)); place++; if (place > 3) { break; } } } return(embedBuilder.Build()); }
public void RountripEncoding() { string html = "<span>Test nbsp</span>"; var dom = CQ.Create(html); var output = dom.Render(OutputFormatters.Create(HtmlEncoders.Minimum)).Replace("" + (char)160, " "); Assert.AreEqual(html, output); }
public void ClassAndStyleAsBoolean() { string html = @"<span class="""" style="""">Test </span><div class style><br /></div>"; var dom = CQ.Create(html); var output = dom.Render(OutputFormatters.Create(HtmlEncoders.Minimum)).Replace("" + (char)160, " "); Assert.AreEqual(@"<span style>Test </span><div style><br></div>", output); }
public void TextOnly2() { string html = "a < bsdf <>"; var cs = CsQuery.CQ.Create(html); Assert.AreEqual("a < bsdf <>", cs.Render()); Assert.AreEqual("a < bsdf <>", cs.Render(OutputFormatters.Create(HtmlEncoders.Minimum))); }
void Save() { lock (_lock) { var txt = Doc.Render(OutputFormatters.Create(HtmlEncoders.MinimumNbsp)); txt = Regex.Replace(txt, @"\s*</head>", Environment.NewLine + "</head>"); txt = Regex.Replace(txt, @"\s*</body>", Environment.NewLine + "</body>"); File.WriteAllText(Path, txt); } }
public void TextOnly() { string html = "a<b"; var dom = CQ.Create(html); Assert.AreEqual("a", dom.Render()); html = "a < b"; dom = CQ.Create(html); //Assert.AreEqual("a < b", dom.Render(DomRenderingOptions.HtmlEncodingNone)); Assert.AreEqual("a < b", dom.Render(OutputFormatters.Create(HtmlEncoders.None))); }
public void Render() { string textIn = "><&" + (char)160 + "æøå"; var dom = CQ.CreateFragment("<span></span>"); dom["span"].Text(textIn); var text = dom.Render(); Assert.AreEqual("<span>><& æøå</span>", text); //text = dom.Render(DomRenderingOptions.HtmlEncodingMinimum); text = dom.Render(OutputFormatters.Create(HtmlEncoders.Minimum)); Assert.AreEqual("<span>><&" + (char)160 + "æøå</span>", text); var noEncoding = "<span>" + textIn + "</span>"; //text = dom.Render(DomRenderingOptions.HtmlEncodingNone); text = dom.Render(OutputFormatters.Create(HtmlEncoders.None)); Assert.AreEqual(noEncoding, text); }