Localise all URL generation for now to avoid weird Schedule logic

This commit is contained in:
Dean Herbert 2021-06-01 13:32:52 +09:00
parent 113f90e92e
commit 3ff97f787a
4 changed files with 10 additions and 15 deletions

View File

@ -6,13 +6,11 @@ using Markdig.Extensions.AutoIdentifiers;
using Markdig.Extensions.Tables; using Markdig.Extensions.Tables;
using Markdig.Extensions.Yaml; using Markdig.Extensions.Yaml;
using Markdig.Syntax; using Markdig.Syntax;
using osu.Framework.Allocation;
using osu.Framework.Graphics; using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers; using osu.Framework.Graphics.Containers;
using osu.Framework.Graphics.Containers.Markdown; using osu.Framework.Graphics.Containers.Markdown;
using osu.Framework.Graphics.Sprites; using osu.Framework.Graphics.Sprites;
using osu.Game.Graphics.Sprites; using osu.Game.Graphics.Sprites;
using osu.Game.Online.API;
namespace osu.Game.Graphics.Containers.Markdown namespace osu.Game.Graphics.Containers.Markdown
{ {
@ -23,16 +21,6 @@ namespace osu.Game.Graphics.Containers.Markdown
LineSpacing = 21; LineSpacing = 21;
} }
protected override IReadOnlyDependencyContainer CreateChildDependencies(IReadOnlyDependencyContainer parent)
{
var api = parent.Get<IAPIProvider>();
// needs to be set before the base BDL call executes to avoid invalidating any already populated markdown content.
DocumentUrl = api.WebsiteRootUrl;
return base.CreateChildDependencies(parent);
}
protected override void AddMarkdownComponent(IMarkdownObject markdownObject, FillFlowContainer container, int level) protected override void AddMarkdownComponent(IMarkdownObject markdownObject, FillFlowContainer container, int level)
{ {
switch (markdownObject) switch (markdownObject)

View File

@ -5,17 +5,22 @@ using System.Linq;
using Markdig.Extensions.Yaml; using Markdig.Extensions.Yaml;
using Markdig.Syntax; using Markdig.Syntax;
using Markdig.Syntax.Inlines; using Markdig.Syntax.Inlines;
using osu.Framework.Allocation;
using osu.Framework.Graphics.Containers; using osu.Framework.Graphics.Containers;
using osu.Framework.Graphics.Containers.Markdown; using osu.Framework.Graphics.Containers.Markdown;
using osu.Game.Graphics.Containers.Markdown; using osu.Game.Graphics.Containers.Markdown;
using osu.Game.Online.API;
namespace osu.Game.Overlays.Wiki.Markdown namespace osu.Game.Overlays.Wiki.Markdown
{ {
public class WikiMarkdownContainer : OsuMarkdownContainer public class WikiMarkdownContainer : OsuMarkdownContainer
{ {
[Resolved]
private IAPIProvider api { get; set; }
public string CurrentPath public string CurrentPath
{ {
set => Schedule(() => DocumentUrl = $"{DocumentUrl}wiki/{value}"); set => DocumentUrl = value;
} }
protected override void AddMarkdownComponent(IMarkdownObject markdownObject, FillFlowContainer container, int level) protected override void AddMarkdownComponent(IMarkdownObject markdownObject, FillFlowContainer container, int level)

View File

@ -13,6 +13,7 @@ using osu.Framework.Graphics.Shapes;
using osu.Framework.Graphics.Sprites; using osu.Framework.Graphics.Sprites;
using osu.Game.Graphics; using osu.Game.Graphics;
using osu.Game.Graphics.Containers.Markdown; using osu.Game.Graphics.Containers.Markdown;
using osu.Game.Online.API;
using osu.Game.Overlays.Wiki.Markdown; using osu.Game.Overlays.Wiki.Markdown;
using osuTK; using osuTK;
using osuTK.Graphics; using osuTK.Graphics;
@ -37,7 +38,7 @@ namespace osu.Game.Overlays.Wiki
} }
[BackgroundDependencyLoader] [BackgroundDependencyLoader]
private void load(OverlayColourProvider colourProvider) private void load(OverlayColourProvider colourProvider, IAPIProvider api)
{ {
Children = new Drawable[] Children = new Drawable[]
{ {
@ -61,6 +62,7 @@ namespace osu.Game.Overlays.Wiki
}, },
panelContainer = new WikiPanelMarkdownContainer(isFullWidth) panelContainer = new WikiPanelMarkdownContainer(isFullWidth)
{ {
CurrentPath = $@"{api.WebsiteRootUrl}/wiki/",
Text = text, Text = text,
RelativeSizeAxes = Axes.X, RelativeSizeAxes = Axes.X,
AutoSizeAxes = Axes.Y, AutoSizeAxes = Axes.Y,

View File

@ -73,7 +73,7 @@ namespace osu.Game.Overlays
{ {
RelativeSizeAxes = Axes.X, RelativeSizeAxes = Axes.X,
AutoSizeAxes = Axes.Y, AutoSizeAxes = Axes.Y,
CurrentPath = $"{path.Value}/", CurrentPath = $@"{api.WebsiteRootUrl}/wiki/{path.Value}/",
Text = response.Markdown, Text = response.Markdown,
DocumentMargin = new MarginPadding(0), DocumentMargin = new MarginPadding(0),
DocumentPadding = new MarginPadding DocumentPadding = new MarginPadding