diff --git a/Directory.Packages.props b/Directory.Packages.props index 6803cc34b..da8fb8caf 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -42,6 +42,7 @@ + diff --git a/src/docs-assembler/Configuration/AssemblyConfiguration.cs b/Elastic.Documentation/Configuration/Assembler/AssemblyConfiguration.cs similarity index 67% rename from src/docs-assembler/Configuration/AssemblyConfiguration.cs rename to Elastic.Documentation/Configuration/Assembler/AssemblyConfiguration.cs index c8ad25452..7144c759f 100644 --- a/src/docs-assembler/Configuration/AssemblyConfiguration.cs +++ b/Elastic.Documentation/Configuration/Assembler/AssemblyConfiguration.cs @@ -2,10 +2,10 @@ // Elasticsearch B.V licenses this file to you under the Apache 2.0 License. // See the LICENSE file in the project root for more information -using Elastic.Markdown.IO.State; +using Elastic.Documentation.Serialization; using YamlDotNet.Serialization; -namespace Documentation.Assembler.Configuration; +namespace Elastic.Documentation.Configuration.Assembler; public record AssemblyConfiguration { @@ -78,53 +78,3 @@ private static TRepository RepositoryDefaults(TRepository r, string [YamlMember(Alias = "named_git_references")] public Dictionary NamedGitReferences { get; set; } = []; } - -public record PublishEnvironment -{ - [YamlIgnore] - public string Name { get; set; } = string.Empty; - - [YamlMember(Alias = "uri")] - public string Uri { get; set; } = string.Empty; - - [YamlMember(Alias = "path_prefix")] - public string? PathPrefix { get; set; } = string.Empty; - - [YamlMember(Alias = "allow_indexing")] - public bool AllowIndexing { get; set; } - - [YamlMember(Alias = "content_source")] - public ContentSource ContentSource { get; set; } - - [YamlMember(Alias = "google_tag_manager")] - public GoogleTagManager GoogleTagManager { get; set; } = new(); -} - -public record GoogleTagManager -{ - [YamlMember(Alias = "enabled")] - public bool Enabled { get; set; } - - private string _id = string.Empty; - - [YamlMember(Alias = "id")] - public string Id - { - get => _id; - set - { - if (Enabled && string.IsNullOrEmpty(value)) - throw new ArgumentException("Id is required when Enabled is true."); - _id = value; - } - } - - [YamlMember(Alias = "auth")] - public string? Auth { get; set; } - - [YamlMember(Alias = "preview")] - public string? Preview { get; set; } - - [YamlMember(Alias = "cookies_win")] - public string? CookiesWin { get; set; } -} diff --git a/src/Elastic.Markdown/IO/State/ContentSource.cs b/Elastic.Documentation/Configuration/Assembler/ContentSource.cs similarity index 90% rename from src/Elastic.Markdown/IO/State/ContentSource.cs rename to Elastic.Documentation/Configuration/Assembler/ContentSource.cs index 77f9d82c4..59282eba2 100644 --- a/src/Elastic.Markdown/IO/State/ContentSource.cs +++ b/Elastic.Documentation/Configuration/Assembler/ContentSource.cs @@ -6,7 +6,7 @@ using System.Text.Json.Serialization; using NetEscapades.EnumGenerators; -namespace Elastic.Markdown.IO.State; +namespace Elastic.Documentation.Configuration.Assembler; [EnumExtensions] public enum ContentSource diff --git a/Elastic.Documentation/Configuration/Assembler/GoogleTagManager.cs b/Elastic.Documentation/Configuration/Assembler/GoogleTagManager.cs new file mode 100644 index 000000000..4e39c659c --- /dev/null +++ b/Elastic.Documentation/Configuration/Assembler/GoogleTagManager.cs @@ -0,0 +1,36 @@ +// Licensed to Elasticsearch B.V under one or more agreements. +// Elasticsearch B.V licenses this file to you under the Apache 2.0 License. +// See the LICENSE file in the project root for more information + +using YamlDotNet.Serialization; + +namespace Elastic.Documentation.Configuration.Assembler; + +public record GoogleTagManager +{ + [YamlMember(Alias = "enabled")] + public bool Enabled { get; set; } + + private string _id = string.Empty; + + [YamlMember(Alias = "id")] + public string Id + { + get => _id; + set + { + if (Enabled && string.IsNullOrEmpty(value)) + throw new ArgumentException("Id is required when Enabled is true."); + _id = value; + } + } + + [YamlMember(Alias = "auth")] + public string? Auth { get; set; } + + [YamlMember(Alias = "preview")] + public string? Preview { get; set; } + + [YamlMember(Alias = "cookies_win")] + public string? CookiesWin { get; set; } +} diff --git a/Elastic.Documentation/Configuration/Assembler/GoogleTagManagerConfiguration.cs b/Elastic.Documentation/Configuration/Assembler/GoogleTagManagerConfiguration.cs new file mode 100644 index 000000000..d36091598 --- /dev/null +++ b/Elastic.Documentation/Configuration/Assembler/GoogleTagManagerConfiguration.cs @@ -0,0 +1,33 @@ +// Licensed to Elasticsearch B.V under one or more agreements. +// Elasticsearch B.V licenses this file to you under the Apache 2.0 License. +// See the LICENSE file in the project root for more information + +using System.Diagnostics.CodeAnalysis; +using System.Web; + +namespace Elastic.Documentation.Configuration.Assembler; + +public record GoogleTagManagerConfiguration +{ + public bool Enabled { get; init; } + [MemberNotNullWhen(returnValue: true, nameof(Enabled))] + public string? Id { get; init; } + public string? Auth { get; init; } + public string? Preview { get; init; } + public string? CookiesWin { get; init; } + + public string QueryString() + { + var queryString = HttpUtility.ParseQueryString(string.Empty); + if (Auth is not null) + queryString.Add("gtm_auth", Auth); + + if (Preview is not null) + queryString.Add("gtm_preview", Preview); + + if (CookiesWin is not null) + queryString.Add("gtm_cookies_win", CookiesWin); + + return queryString.Count > 0 ? $"&{queryString}" : string.Empty; + } +} diff --git a/Elastic.Documentation/Configuration/Assembler/PublishEnvironment.cs b/Elastic.Documentation/Configuration/Assembler/PublishEnvironment.cs new file mode 100644 index 000000000..c3dcbccce --- /dev/null +++ b/Elastic.Documentation/Configuration/Assembler/PublishEnvironment.cs @@ -0,0 +1,28 @@ +// Licensed to Elasticsearch B.V under one or more agreements. +// Elasticsearch B.V licenses this file to you under the Apache 2.0 License. +// See the LICENSE file in the project root for more information + +using YamlDotNet.Serialization; + +namespace Elastic.Documentation.Configuration.Assembler; + +public record PublishEnvironment +{ + [YamlIgnore] + public string Name { get; set; } = string.Empty; + + [YamlMember(Alias = "uri")] + public string Uri { get; set; } = string.Empty; + + [YamlMember(Alias = "path_prefix")] + public string? PathPrefix { get; set; } = string.Empty; + + [YamlMember(Alias = "allow_indexing")] + public bool AllowIndexing { get; set; } + + [YamlMember(Alias = "content_source")] + public ContentSource ContentSource { get; set; } + + [YamlMember(Alias = "google_tag_manager")] + public GoogleTagManager GoogleTagManager { get; set; } = new(); +} diff --git a/src/docs-assembler/Configuration/Repository.cs b/Elastic.Documentation/Configuration/Assembler/Repository.cs similarity index 93% rename from src/docs-assembler/Configuration/Repository.cs rename to Elastic.Documentation/Configuration/Assembler/Repository.cs index e928ca355..93d0d5667 100644 --- a/src/docs-assembler/Configuration/Repository.cs +++ b/Elastic.Documentation/Configuration/Assembler/Repository.cs @@ -2,10 +2,9 @@ // Elasticsearch B.V licenses this file to you under the Apache 2.0 License. // See the LICENSE file in the project root for more information -using Elastic.Markdown.IO.State; using YamlDotNet.Serialization; -namespace Documentation.Assembler.Configuration; +namespace Elastic.Documentation.Configuration.Assembler; public record NarrativeRepository : Repository { diff --git a/src/Elastic.Markdown/IO/Configuration/EnabledExtensions.cs b/Elastic.Documentation/Configuration/Builder/EnabledExtensions.cs similarity index 90% rename from src/Elastic.Markdown/IO/Configuration/EnabledExtensions.cs rename to Elastic.Documentation/Configuration/Builder/EnabledExtensions.cs index 1ab29db42..df3ae0997 100644 --- a/src/Elastic.Markdown/IO/Configuration/EnabledExtensions.cs +++ b/Elastic.Documentation/Configuration/Builder/EnabledExtensions.cs @@ -2,7 +2,7 @@ // Elasticsearch B.V licenses this file to you under the Apache 2.0 License. // See the LICENSE file in the project root for more information -namespace Elastic.Markdown.IO.Configuration; +namespace Elastic.Documentation.Configuration.Builder; public class EnabledExtensions(IReadOnlyCollection extensions) { diff --git a/src/Elastic.Markdown/IO/Configuration/FeatureFlags.cs b/Elastic.Documentation/Configuration/Builder/FeatureFlags.cs similarity index 93% rename from src/Elastic.Markdown/IO/Configuration/FeatureFlags.cs rename to Elastic.Documentation/Configuration/Builder/FeatureFlags.cs index 79c9e0df4..ee7ca7a7c 100644 --- a/src/Elastic.Markdown/IO/Configuration/FeatureFlags.cs +++ b/Elastic.Documentation/Configuration/Builder/FeatureFlags.cs @@ -2,7 +2,7 @@ // Elasticsearch B.V licenses this file to you under the Apache 2.0 License. // See the LICENSE file in the project root for more information -namespace Elastic.Markdown.IO.Configuration; +namespace Elastic.Documentation.Configuration.Builder; public class FeatureFlags(Dictionary featureFlags) { diff --git a/src/Elastic.Markdown/IO/Configuration/ITocItem.cs b/Elastic.Documentation/Configuration/TableOfContents/ITocItem.cs similarity index 90% rename from src/Elastic.Markdown/IO/Configuration/ITocItem.cs rename to Elastic.Documentation/Configuration/TableOfContents/ITocItem.cs index 223fd687c..c1187d87f 100644 --- a/src/Elastic.Markdown/IO/Configuration/ITocItem.cs +++ b/Elastic.Documentation/Configuration/TableOfContents/ITocItem.cs @@ -2,7 +2,9 @@ // Elasticsearch B.V licenses this file to you under the Apache 2.0 License. // See the LICENSE file in the project root for more information -namespace Elastic.Markdown.IO.Configuration; +using Elastic.Documentation.Navigation; + +namespace Elastic.Documentation.Configuration.TableOfContents; public interface ITocItem { diff --git a/Elastic.Documentation/ContentSourceMoniker.cs b/Elastic.Documentation/ContentSourceMoniker.cs new file mode 100644 index 000000000..242195207 --- /dev/null +++ b/Elastic.Documentation/ContentSourceMoniker.cs @@ -0,0 +1,18 @@ +// Licensed to Elasticsearch B.V under one or more agreements. +// Elasticsearch B.V licenses this file to you under the Apache 2.0 License. +// See the LICENSE file in the project root for more information + +namespace Elastic.Documentation; + +public static class ContentSourceMoniker +{ + public static Uri Create(string repo, string? path) => new(CreateString(repo, path)); + + public static string CreateString(string repo, string? path) + { + path = path?.Replace("\\", "/").Trim('/'); + if (string.IsNullOrWhiteSpace(path) || path == ".") + return $"{repo}://"; + return $"{repo}://{path}/"; + } +} diff --git a/Elastic.Documentation/Diagnostics/Diagnostic.cs b/Elastic.Documentation/Diagnostics/Diagnostic.cs new file mode 100644 index 000000000..f0c230216 --- /dev/null +++ b/Elastic.Documentation/Diagnostics/Diagnostic.cs @@ -0,0 +1,15 @@ +// Licensed to Elasticsearch B.V under one or more agreements. +// Elasticsearch B.V licenses this file to you under the Apache 2.0 License. +// See the LICENSE file in the project root for more information + +namespace Elastic.Documentation.Diagnostics; + +public readonly record struct Diagnostic +{ + public Severity Severity { get; init; } + public int? Line { get; init; } + public int? Column { get; init; } + public int? Length { get; init; } + public string File { get; init; } + public string Message { get; init; } +} diff --git a/src/Elastic.Markdown/Diagnostics/DiagnosticsChannel.cs b/Elastic.Documentation/Diagnostics/DiagnosticsChannel.cs similarity index 91% rename from src/Elastic.Markdown/Diagnostics/DiagnosticsChannel.cs rename to Elastic.Documentation/Diagnostics/DiagnosticsChannel.cs index c04101d1f..a6e418c54 100644 --- a/src/Elastic.Markdown/Diagnostics/DiagnosticsChannel.cs +++ b/Elastic.Documentation/Diagnostics/DiagnosticsChannel.cs @@ -6,24 +6,7 @@ using System.Threading.Channels; using Microsoft.Extensions.Hosting; -namespace Elastic.Markdown.Diagnostics; - -public enum Severity -{ - Error, - Warning, - Hint -} - -public readonly record struct Diagnostic -{ - public Severity Severity { get; init; } - public int? Line { get; init; } - public int? Column { get; init; } - public int? Length { get; init; } - public string File { get; init; } - public string Message { get; init; } -} +namespace Elastic.Documentation.Diagnostics; public sealed class DiagnosticsChannel : IDisposable { @@ -69,8 +52,7 @@ public interface IDiagnosticsOutput void Write(Diagnostic diagnostic); } -public class DiagnosticsCollector(IReadOnlyCollection outputs) - : IHostedService, IAsyncDisposable +public class DiagnosticsCollector(IReadOnlyCollection outputs) : IHostedService, IAsyncDisposable { public DiagnosticsChannel Channel { get; } = new(); diff --git a/Elastic.Documentation/Diagnostics/Severity.cs b/Elastic.Documentation/Diagnostics/Severity.cs new file mode 100644 index 000000000..28ab2e8bb --- /dev/null +++ b/Elastic.Documentation/Diagnostics/Severity.cs @@ -0,0 +1,12 @@ +// Licensed to Elasticsearch B.V under one or more agreements. +// Elasticsearch B.V licenses this file to you under the Apache 2.0 License. +// See the LICENSE file in the project root for more information + +namespace Elastic.Documentation.Diagnostics; + +public enum Severity +{ + Error = 0, + Warning = 1, + Hint = 2 +} diff --git a/Elastic.Documentation/Elastic.Documentation.csproj b/Elastic.Documentation/Elastic.Documentation.csproj new file mode 100644 index 000000000..d3495f776 --- /dev/null +++ b/Elastic.Documentation/Elastic.Documentation.csproj @@ -0,0 +1,19 @@ + + + + net9.0 + enable + enable + Elastic.Documentation + + + + + + + + + + + + diff --git a/src/Elastic.Markdown/IO/Discovery/GitCheckoutInformation.cs b/Elastic.Documentation/GitCheckoutInformation.cs similarity index 97% rename from src/Elastic.Markdown/IO/Discovery/GitCheckoutInformation.cs rename to Elastic.Documentation/GitCheckoutInformation.cs index aeb554e50..c724b7dc2 100644 --- a/src/Elastic.Markdown/IO/Discovery/GitCheckoutInformation.cs +++ b/Elastic.Documentation/GitCheckoutInformation.cs @@ -7,7 +7,7 @@ using Microsoft.Extensions.Logging; using SoftCircuits.IniFileParser; -namespace Elastic.Markdown.IO.Discovery; +namespace Elastic.Documentation; public record GitCheckoutInformation { @@ -60,7 +60,7 @@ public static GitCheckoutInformation Create(IDirectoryInfo? source, IFileSystem var gitRef = head; var branch = head.Replace("refs/heads/", string.Empty); //not detached HEAD - if (head.StartsWith("ref:")) + if (head.StartsWith("ref:", StringComparison.OrdinalIgnoreCase)) { head = head.Replace("ref: ", string.Empty); gitRef = Read(source, Path.Combine(".git", head)) ?? fakeRef; diff --git a/src/Elastic.Markdown/IO/State/LinkReference.cs b/Elastic.Documentation/LinkReference.cs similarity index 73% rename from src/Elastic.Markdown/IO/State/LinkReference.cs rename to Elastic.Documentation/LinkReference.cs index acf0dd6a1..5e2d5a3c7 100644 --- a/src/Elastic.Markdown/IO/State/LinkReference.cs +++ b/Elastic.Documentation/LinkReference.cs @@ -2,12 +2,11 @@ // Elasticsearch B.V licenses this file to you under the Apache 2.0 License. // See the LICENSE file in the project root for more information -using System.Runtime.InteropServices; using System.Text.Json; using System.Text.Json.Serialization; -using Elastic.Markdown.IO.Discovery; +using Elastic.Documentation.Serialization; -namespace Elastic.Markdown.IO.State; +namespace Elastic.Documentation; public record LinkMetadata { @@ -70,28 +69,4 @@ public static LinkReference Deserialize(string json) => public static string Serialize(LinkReference reference) => JsonSerializer.Serialize(reference, SourceGenerationContext.Default.LinkReference); - - public static LinkReference Create(DocumentationSet set) - { - var redirects = set.Configuration.Redirects; - var crossLinks = set.Build.Collector.CrossLinks.ToHashSet().ToArray(); - var links = set.MarkdownFiles.Values - .Select(m => (m.LinkReferenceRelativePath, File: m)) - .ToDictionary(k => RuntimeInformation.IsOSPlatform(OSPlatform.Windows) - ? k.LinkReferenceRelativePath.Replace('\\', '/') - : k.LinkReferenceRelativePath, v => - { - var anchors = v.File.Anchors.Count == 0 ? null : v.File.Anchors.ToArray(); - return new LinkMetadata { Anchors = anchors, Hidden = v.File.Hidden }; - }); - - return new LinkReference - { - Redirects = redirects, - UrlPathPrefix = set.Build.UrlPathPrefix, - Origin = set.Build.Git, - Links = links, - CrossLinks = crossLinks - }; - } } diff --git a/Elastic.Documentation/Links/LinkIndex.cs b/Elastic.Documentation/Links/LinkIndex.cs new file mode 100644 index 000000000..d32559c42 --- /dev/null +++ b/Elastic.Documentation/Links/LinkIndex.cs @@ -0,0 +1,47 @@ +// Licensed to Elasticsearch B.V under one or more agreements. +// Elasticsearch B.V licenses this file to you under the Apache 2.0 License. +// See the LICENSE file in the project root for more information + +using System.Text.Json; +using System.Text.Json.Serialization; +using Elastic.Documentation.Serialization; + +namespace Elastic.Documentation.Links; + +public record LinkIndex +{ + [JsonPropertyName("repositories")] public required Dictionary> Repositories { get; init; } + + public static LinkIndex Deserialize(Stream json) => + JsonSerializer.Deserialize(json, SourceGenerationContext.Default.LinkIndex)!; + + public static LinkIndex Deserialize(string json) => + JsonSerializer.Deserialize(json, SourceGenerationContext.Default.LinkIndex)!; + + public static string Serialize(LinkIndex index) => + JsonSerializer.Serialize(index, SourceGenerationContext.Default.LinkIndex); +} + +public record LinkIndexEntry +{ + [JsonPropertyName("repository")] + public required string Repository { get; init; } + + [JsonPropertyName("path")] + public required string Path { get; init; } + + [JsonPropertyName("branch")] + public required string Branch { get; init; } + + [JsonPropertyName("etag")] + public required string ETag { get; init; } + + // TODO can be made required after all doc_sets have published again + [JsonPropertyName("ref")] + public string GitReference { get; init; } = "unknown"; + + // TODO can be made required after all doc_sets have published again + [JsonPropertyName("updated_at")] + public DateTime UpdatedAt { get; init; } = DateTime.MinValue; +} + diff --git a/Elastic.Documentation/Navigation/ITableOfContentsScope.cs b/Elastic.Documentation/Navigation/ITableOfContentsScope.cs new file mode 100644 index 000000000..8e4e6e117 --- /dev/null +++ b/Elastic.Documentation/Navigation/ITableOfContentsScope.cs @@ -0,0 +1,12 @@ +// Licensed to Elasticsearch B.V under one or more agreements. +// Elasticsearch B.V licenses this file to you under the Apache 2.0 License. +// See the LICENSE file in the project root for more information + +using System.IO.Abstractions; + +namespace Elastic.Documentation.Navigation; + +public interface ITableOfContentsScope +{ + IDirectoryInfo ScopeDirectory { get; } +} diff --git a/src/Elastic.Markdown/SourceGenerationContext.cs b/Elastic.Documentation/Serialization/SourceGenerationContext.cs similarity index 83% rename from src/Elastic.Markdown/SourceGenerationContext.cs rename to Elastic.Documentation/Serialization/SourceGenerationContext.cs index 850734d8a..e310e4d75 100644 --- a/src/Elastic.Markdown/SourceGenerationContext.cs +++ b/Elastic.Documentation/Serialization/SourceGenerationContext.cs @@ -3,11 +3,10 @@ // See the LICENSE file in the project root for more information using System.Text.Json.Serialization; -using Elastic.Markdown.IO.Discovery; -using Elastic.Markdown.IO.State; -using Elastic.Markdown.Links.CrossLinks; +using Elastic.Documentation.Links; +using Elastic.Documentation.State; -namespace Elastic.Markdown; +namespace Elastic.Documentation.Serialization; // This configures the source generation for json (de)serialization. diff --git a/src/docs-assembler/YamlStaticContext.cs b/Elastic.Documentation/Serialization/YamlStaticContext.cs similarity index 83% rename from src/docs-assembler/YamlStaticContext.cs rename to Elastic.Documentation/Serialization/YamlStaticContext.cs index 118ec943b..13538fd87 100644 --- a/src/docs-assembler/YamlStaticContext.cs +++ b/Elastic.Documentation/Serialization/YamlStaticContext.cs @@ -2,11 +2,10 @@ // Elasticsearch B.V licenses this file to you under the Apache 2.0 License. // See the LICENSE file in the project root for more information -using Documentation.Assembler.Configuration; -using Elastic.Markdown.IO.State; +using Elastic.Documentation.Configuration.Assembler; using YamlDotNet.Serialization; -namespace Documentation.Assembler; +namespace Elastic.Documentation.Serialization; [YamlStaticContext] [YamlSerializable(typeof(AssemblyConfiguration))] diff --git a/src/Elastic.Markdown/IO/State/GenerationState.cs b/Elastic.Documentation/State/GenerationState.cs similarity index 76% rename from src/Elastic.Markdown/IO/State/GenerationState.cs rename to Elastic.Documentation/State/GenerationState.cs index 00aaa4d9a..2c25f06dd 100644 --- a/src/Elastic.Markdown/IO/State/GenerationState.cs +++ b/Elastic.Documentation/State/GenerationState.cs @@ -3,10 +3,8 @@ // See the LICENSE file in the project root for more information using System.Text.Json.Serialization; -using Elastic.Markdown.Exporters; -using Elastic.Markdown.IO.Discovery; -namespace Elastic.Markdown.IO.State; +namespace Elastic.Documentation.State; public record GenerationState { @@ -17,7 +15,7 @@ public record GenerationState public required string[] InvalidFiles { get; init; } = []; [JsonPropertyName("exporter")] - public string Exporter { get; init; } = nameof(DocumentationFileExporter); + public required string Exporter { get; init; } [JsonPropertyName("git")] public required GitCheckoutInformation Git { get; init; } diff --git a/docs-builder.sln b/docs-builder.sln index a045d3eee..4790affff 100644 --- a/docs-builder.sln +++ b/docs-builder.sln @@ -83,6 +83,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "validate-path-prefixes-loca actions\validate-path-prefixes-local\action.yml = actions\validate-path-prefixes-local\action.yml EndProjectSection EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elastic.Documentation", "Elastic.Documentation\Elastic.Documentation.csproj", "{09CE30F6-013A-49ED-B3D6-60AFA84682AC}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -136,6 +138,10 @@ Global {CDC0ECF4-6597-4FBA-8D25-5C244F0877E3}.Debug|Any CPU.Build.0 = Debug|Any CPU {CDC0ECF4-6597-4FBA-8D25-5C244F0877E3}.Release|Any CPU.ActiveCfg = Release|Any CPU {CDC0ECF4-6597-4FBA-8D25-5C244F0877E3}.Release|Any CPU.Build.0 = Release|Any CPU + {09CE30F6-013A-49ED-B3D6-60AFA84682AC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {09CE30F6-013A-49ED-B3D6-60AFA84682AC}.Debug|Any CPU.Build.0 = Debug|Any CPU + {09CE30F6-013A-49ED-B3D6-60AFA84682AC}.Release|Any CPU.ActiveCfg = Release|Any CPU + {09CE30F6-013A-49ED-B3D6-60AFA84682AC}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(NestedProjects) = preSolution {4D198E25-C211-41DC-9E84-B15E89BD7048} = {BE6011CC-1200-4957-B01F-FCCA10C5CF5A} @@ -155,5 +161,6 @@ Global {4894063D-0DEF-4B7E-97D0-0D0A5B85C608} = {BE6011CC-1200-4957-B01F-FCCA10C5CF5A} {C559D52D-100B-4B2B-BE87-2344D835761D} = {4894063D-0DEF-4B7E-97D0-0D0A5B85C608} {BB789671-B262-43DD-91DB-39F9186B8257} = {245023D2-D3CA-47B9-831D-DAB91A2FFDC7} + {09CE30F6-013A-49ED-B3D6-60AFA84682AC} = {BE6011CC-1200-4957-B01F-FCCA10C5CF5A} EndGlobalSection EndGlobal diff --git a/src/Elastic.Documentation.Tooling/Diagnostics/Console/ConsoleDiagnosticsCollector.cs b/src/Elastic.Documentation.Tooling/Diagnostics/Console/ConsoleDiagnosticsCollector.cs index 5aa5ce497..dedf1f4e5 100644 --- a/src/Elastic.Documentation.Tooling/Diagnostics/Console/ConsoleDiagnosticsCollector.cs +++ b/src/Elastic.Documentation.Tooling/Diagnostics/Console/ConsoleDiagnosticsCollector.cs @@ -3,10 +3,11 @@ // See the LICENSE file in the project root for more information using Actions.Core.Services; +using Elastic.Documentation.Diagnostics; using Elastic.Markdown.Diagnostics; using Microsoft.Extensions.Logging; using Spectre.Console; -using Diagnostic = Elastic.Markdown.Diagnostics.Diagnostic; +using Diagnostic = Elastic.Documentation.Diagnostics.Diagnostic; namespace Elastic.Documentation.Tooling.Diagnostics.Console; diff --git a/src/Elastic.Documentation.Tooling/Diagnostics/Console/ErrataFileSourceRepository.cs b/src/Elastic.Documentation.Tooling/Diagnostics/Console/ErrataFileSourceRepository.cs index 74962613c..1ceca1093 100644 --- a/src/Elastic.Documentation.Tooling/Diagnostics/Console/ErrataFileSourceRepository.cs +++ b/src/Elastic.Documentation.Tooling/Diagnostics/Console/ErrataFileSourceRepository.cs @@ -5,10 +5,11 @@ using System.Diagnostics.CodeAnalysis; using System.Text; using Cysharp.IO; +using Elastic.Documentation.Diagnostics; using Elastic.Markdown.Diagnostics; using Errata; using Spectre.Console; -using Diagnostic = Elastic.Markdown.Diagnostics.Diagnostic; +using Diagnostic = Elastic.Documentation.Diagnostics.Diagnostic; namespace Elastic.Documentation.Tooling.Diagnostics.Console; diff --git a/src/Elastic.Documentation.Tooling/Diagnostics/Console/GithubAnnotationOutput.cs b/src/Elastic.Documentation.Tooling/Diagnostics/Console/GithubAnnotationOutput.cs index cfa66d913..a1ba21fe4 100644 --- a/src/Elastic.Documentation.Tooling/Diagnostics/Console/GithubAnnotationOutput.cs +++ b/src/Elastic.Documentation.Tooling/Diagnostics/Console/GithubAnnotationOutput.cs @@ -4,6 +4,7 @@ using Actions.Core; using Actions.Core.Services; +using Elastic.Documentation.Diagnostics; using Elastic.Markdown.Diagnostics; namespace Elastic.Documentation.Tooling.Diagnostics.Console; diff --git a/src/Elastic.Documentation.Tooling/Diagnostics/Log.cs b/src/Elastic.Documentation.Tooling/Diagnostics/Log.cs index 2334e5412..60f0bb0ac 100644 --- a/src/Elastic.Documentation.Tooling/Diagnostics/Log.cs +++ b/src/Elastic.Documentation.Tooling/Diagnostics/Log.cs @@ -2,6 +2,7 @@ // Elasticsearch B.V licenses this file to you under the Apache 2.0 License. // See the LICENSE file in the project root for more information +using Elastic.Documentation.Diagnostics; using Elastic.Markdown.Diagnostics; using Microsoft.Extensions.Logging; diff --git a/src/Elastic.Markdown/BuildContext.cs b/src/Elastic.Markdown/BuildContext.cs index 1d5d26613..2f5db3170 100644 --- a/src/Elastic.Markdown/BuildContext.cs +++ b/src/Elastic.Markdown/BuildContext.cs @@ -2,14 +2,12 @@ // Elasticsearch B.V licenses this file to you under the Apache 2.0 License. // See the LICENSE file in the project root for more information -using System.Diagnostics.CodeAnalysis; using System.IO.Abstractions; -using System.Web; -using Elastic.Markdown.Diagnostics; +using Elastic.Documentation; +using Elastic.Documentation.Configuration.Assembler; +using Elastic.Documentation.Diagnostics; using Elastic.Markdown.IO; using Elastic.Markdown.IO.Configuration; -using Elastic.Markdown.IO.Discovery; -using Elastic.Markdown.IO.State; namespace Elastic.Markdown; @@ -117,28 +115,3 @@ from folder in knownFolders } } - -public record GoogleTagManagerConfiguration -{ - public bool Enabled { get; init; } - [MemberNotNullWhen(returnValue: true, nameof(Enabled))] - public string? Id { get; init; } - public string? Auth { get; init; } - public string? Preview { get; init; } - public string? CookiesWin { get; init; } - - public string QueryString() - { - var queryString = HttpUtility.ParseQueryString(string.Empty); - if (Auth is not null) - queryString.Add("gtm_auth", Auth); - - if (Preview is not null) - queryString.Add("gtm_preview", Preview); - - if (CookiesWin is not null) - queryString.Add("gtm_cookies_win", CookiesWin); - - return queryString.Count > 0 ? $"&{queryString}" : string.Empty; - } -} diff --git a/src/Elastic.Markdown/Diagnostics/ProcessorDiagnosticExtensions.cs b/src/Elastic.Markdown/Diagnostics/ProcessorDiagnosticExtensions.cs index c644e3395..136f3c605 100644 --- a/src/Elastic.Markdown/Diagnostics/ProcessorDiagnosticExtensions.cs +++ b/src/Elastic.Markdown/Diagnostics/ProcessorDiagnosticExtensions.cs @@ -3,6 +3,7 @@ // See the LICENSE file in the project root for more information using System.IO.Abstractions; +using Elastic.Documentation.Diagnostics; using Elastic.Markdown.Myst; using Elastic.Markdown.Myst.Directives; using Markdig.Parsers; diff --git a/src/Elastic.Markdown/DocumentationGenerator.cs b/src/Elastic.Markdown/DocumentationGenerator.cs index 282195508..be029b2ba 100644 --- a/src/Elastic.Markdown/DocumentationGenerator.cs +++ b/src/Elastic.Markdown/DocumentationGenerator.cs @@ -5,10 +5,11 @@ using System.IO.Abstractions; using System.Reflection; using System.Text.Json; +using Elastic.Documentation.Serialization; +using Elastic.Documentation.State; using Elastic.Markdown.Exporters; using Elastic.Markdown.IO; using Elastic.Markdown.IO.HistoryMapping; -using Elastic.Markdown.IO.State; using Elastic.Markdown.Links.CrossLinks; using Elastic.Markdown.Slices; using Markdig.Syntax; @@ -268,7 +269,7 @@ private bool CompilationNotNeeded(GenerationState? generationState, out HashSet< private async Task GenerateLinkReference(Cancel ctx) { var file = DocumentationSet.LinkReferenceFile; - var state = LinkReference.Create(DocumentationSet); + var state = DocumentationSet.CreateLinkReference(); var bytes = JsonSerializer.SerializeToUtf8Bytes(state, SourceGenerationContext.Default.LinkReference); await DocumentationSet.OutputDirectory.FileSystem.File.WriteAllBytesAsync(file.FullName, bytes, ctx); diff --git a/src/Elastic.Markdown/Elastic.Markdown.csproj b/src/Elastic.Markdown/Elastic.Markdown.csproj index 5dbb7560b..39084cb72 100644 --- a/src/Elastic.Markdown/Elastic.Markdown.csproj +++ b/src/Elastic.Markdown/Elastic.Markdown.csproj @@ -53,7 +53,6 @@ - @@ -65,4 +64,8 @@ + + + + diff --git a/src/Elastic.Markdown/Extensions/DetectionRules/DetectionRulesDocsBuilderExtension.cs b/src/Elastic.Markdown/Extensions/DetectionRules/DetectionRulesDocsBuilderExtension.cs index 66d29a176..2d89613d4 100644 --- a/src/Elastic.Markdown/Extensions/DetectionRules/DetectionRulesDocsBuilderExtension.cs +++ b/src/Elastic.Markdown/Extensions/DetectionRules/DetectionRulesDocsBuilderExtension.cs @@ -3,6 +3,7 @@ // See the LICENSE file in the project root for more information using System.IO.Abstractions; +using Elastic.Documentation.Configuration.TableOfContents; using Elastic.Markdown.Exporters; using Elastic.Markdown.IO; using Elastic.Markdown.IO.Configuration; diff --git a/src/Elastic.Markdown/Extensions/DetectionRules/DetectionRulesReference.cs b/src/Elastic.Markdown/Extensions/DetectionRules/DetectionRulesReference.cs index a9db2a53f..9dd3b804b 100644 --- a/src/Elastic.Markdown/Extensions/DetectionRules/DetectionRulesReference.cs +++ b/src/Elastic.Markdown/Extensions/DetectionRules/DetectionRulesReference.cs @@ -2,6 +2,8 @@ // Elasticsearch B.V licenses this file to you under the Apache 2.0 License. // See the LICENSE file in the project root for more information +using Elastic.Documentation.Configuration.TableOfContents; +using Elastic.Documentation.Navigation; using Elastic.Markdown.IO.Configuration; namespace Elastic.Markdown.Extensions.DetectionRules; diff --git a/src/Elastic.Markdown/Extensions/IDocsBuilderExtension.cs b/src/Elastic.Markdown/Extensions/IDocsBuilderExtension.cs index cc5a5546b..730fda0d3 100644 --- a/src/Elastic.Markdown/Extensions/IDocsBuilderExtension.cs +++ b/src/Elastic.Markdown/Extensions/IDocsBuilderExtension.cs @@ -3,6 +3,7 @@ // See the LICENSE file in the project root for more information using System.IO.Abstractions; +using Elastic.Documentation.Configuration.TableOfContents; using Elastic.Markdown.Exporters; using Elastic.Markdown.IO; using Elastic.Markdown.IO.Configuration; diff --git a/src/Elastic.Markdown/Helpers/Interpolation.cs b/src/Elastic.Markdown/Helpers/Interpolation.cs index ef11e9bf1..332c5e172 100644 --- a/src/Elastic.Markdown/Helpers/Interpolation.cs +++ b/src/Elastic.Markdown/Helpers/Interpolation.cs @@ -4,6 +4,7 @@ using System.Diagnostics.CodeAnalysis; using System.Text.RegularExpressions; +using Elastic.Documentation.Diagnostics; using Elastic.Markdown.Diagnostics; using Elastic.Markdown.Myst; diff --git a/src/Elastic.Markdown/IO/Configuration/ConfigurationFile.cs b/src/Elastic.Markdown/IO/Configuration/ConfigurationFile.cs index d733e6287..d2953ee2f 100644 --- a/src/Elastic.Markdown/IO/Configuration/ConfigurationFile.cs +++ b/src/Elastic.Markdown/IO/Configuration/ConfigurationFile.cs @@ -4,17 +4,22 @@ using System.IO.Abstractions; using DotNet.Globbing; +using Elastic.Documentation; +using Elastic.Documentation.Configuration.Builder; +using Elastic.Documentation.Configuration.TableOfContents; +using Elastic.Documentation.Navigation; using Elastic.Markdown.Diagnostics; using Elastic.Markdown.Extensions; using Elastic.Markdown.Extensions.DetectionRules; -using Elastic.Markdown.IO.State; namespace Elastic.Markdown.IO.Configuration; -public record ConfigurationFile : DocumentationFile, ITableOfContentsScope +public record ConfigurationFile : ITableOfContentsScope { private readonly BuildContext _context; + public IFileInfo SourceFile => _context.ConfigurationPath; + public string? Project { get; } public Glob[] Exclude { get; } = []; @@ -57,7 +62,6 @@ Project is not null && Project.Equals("Elastic documentation", StringComparison.OrdinalIgnoreCase); public ConfigurationFile(BuildContext context) - : base(context.ConfigurationPath, context.DocumentationSourceDirectory, context.Git.RepositoryName) { _context = context; ScopeDirectory = context.ConfigurationPath.Directory!; diff --git a/src/Elastic.Markdown/IO/Configuration/RedirectFile.cs b/src/Elastic.Markdown/IO/Configuration/RedirectFile.cs index 9c24d2066..e44439114 100644 --- a/src/Elastic.Markdown/IO/Configuration/RedirectFile.cs +++ b/src/Elastic.Markdown/IO/Configuration/RedirectFile.cs @@ -3,7 +3,7 @@ // See the LICENSE file in the project root for more information using System.IO.Abstractions; -using Elastic.Markdown.IO.State; +using Elastic.Documentation; using YamlDotNet.RepresentationModel; namespace Elastic.Markdown.IO.Configuration; diff --git a/src/Elastic.Markdown/IO/Configuration/TableOfContentsConfiguration.cs b/src/Elastic.Markdown/IO/Configuration/TableOfContentsConfiguration.cs index 69e1bd2b0..e8ef5c8fb 100644 --- a/src/Elastic.Markdown/IO/Configuration/TableOfContentsConfiguration.cs +++ b/src/Elastic.Markdown/IO/Configuration/TableOfContentsConfiguration.cs @@ -4,29 +4,14 @@ using System.IO.Abstractions; using System.Runtime.InteropServices; +using Elastic.Documentation; +using Elastic.Documentation.Configuration.TableOfContents; +using Elastic.Documentation.Navigation; using Elastic.Markdown.Extensions.DetectionRules; using YamlDotNet.RepresentationModel; namespace Elastic.Markdown.IO.Configuration; -public interface ITableOfContentsScope -{ - IDirectoryInfo ScopeDirectory { get; } -} - -public static class ContentSourceMoniker -{ - public static Uri Create(string repo, string? path) => new(CreateString(repo, path)); - - public static string CreateString(string repo, string? path) - { - path = path?.Replace("\\", "/").Trim('/'); - if (string.IsNullOrWhiteSpace(path) || path == ".") - return $"{repo}://"; - return $"{repo}://{path}/"; - } -} - public record TableOfContentsConfiguration : ITableOfContentsScope { private readonly BuildContext _context; diff --git a/src/Elastic.Markdown/IO/Configuration/YamlStreamReader.cs b/src/Elastic.Markdown/IO/Configuration/YamlStreamReader.cs index c85d5836e..d691f156b 100644 --- a/src/Elastic.Markdown/IO/Configuration/YamlStreamReader.cs +++ b/src/Elastic.Markdown/IO/Configuration/YamlStreamReader.cs @@ -4,6 +4,7 @@ using System.Diagnostics.CodeAnalysis; using System.IO.Abstractions; +using Elastic.Documentation.Diagnostics; using Elastic.Markdown.Diagnostics; using YamlDotNet.Core; using YamlDotNet.RepresentationModel; diff --git a/src/Elastic.Markdown/IO/DocumentationSet.cs b/src/Elastic.Markdown/IO/DocumentationSet.cs index eac36321c..3c3d896c5 100644 --- a/src/Elastic.Markdown/IO/DocumentationSet.cs +++ b/src/Elastic.Markdown/IO/DocumentationSet.cs @@ -5,10 +5,11 @@ using System.Collections.Frozen; using System.IO.Abstractions; using System.Runtime.InteropServices; +using Elastic.Documentation; +using Elastic.Documentation.Configuration.TableOfContents; using Elastic.Markdown.Diagnostics; using Elastic.Markdown.Extensions; using Elastic.Markdown.IO.Configuration; -using Elastic.Markdown.IO.Discovery; using Elastic.Markdown.IO.Navigation; using Elastic.Markdown.Links.CrossLinks; using Elastic.Markdown.Myst; @@ -111,7 +112,6 @@ public class DocumentationSet : INavigationLookups, IPositionalNavigation public FrozenDictionary MarkdownNavigationLookup { get; } - // FrozenDictionary? indexedTableOfContents = null public DocumentationSet( BuildContext build, ILoggerFactory logger, @@ -320,7 +320,6 @@ void ValidateExists(string from, string to, IReadOnlyDictionary return null; } - public async Task ResolveDirectoryTree(Cancel ctx) => await Tree.Resolve(ctx); @@ -358,6 +357,31 @@ MarkdownFile ExtensionOrDefaultMarkdown() return new MarkdownFile(file, SourceDirectory, MarkdownParser, context, this); } } + + public LinkReference CreateLinkReference() + { + var redirects = Configuration.Redirects; + var crossLinks = Build.Collector.CrossLinks.ToHashSet().ToArray(); + var links = MarkdownFiles.Values + .Select(m => (m.LinkReferenceRelativePath, File: m)) + .ToDictionary(k => RuntimeInformation.IsOSPlatform(OSPlatform.Windows) + ? k.LinkReferenceRelativePath.Replace('\\', '/') + : k.LinkReferenceRelativePath, v => + { + var anchors = v.File.Anchors.Count == 0 ? null : v.File.Anchors.ToArray(); + return new LinkMetadata { Anchors = anchors, Hidden = v.File.Hidden }; + }); + + return new LinkReference + { + Redirects = redirects, + UrlPathPrefix = Build.UrlPathPrefix, + Origin = Build.Git, + Links = links, + CrossLinks = crossLinks + }; + } + public void ClearOutputDirectory() { if (OutputDirectory.Exists) diff --git a/src/Elastic.Markdown/IO/MarkdownFile.cs b/src/Elastic.Markdown/IO/MarkdownFile.cs index f5089a884..a5f021cf4 100644 --- a/src/Elastic.Markdown/IO/MarkdownFile.cs +++ b/src/Elastic.Markdown/IO/MarkdownFile.cs @@ -4,6 +4,8 @@ using System.IO.Abstractions; using System.Runtime.InteropServices; +using Elastic.Documentation.Diagnostics; +using Elastic.Documentation.Navigation; using Elastic.Markdown.Diagnostics; using Elastic.Markdown.Helpers; using Elastic.Markdown.IO.Configuration; diff --git a/src/Elastic.Markdown/IO/Navigation/DocumentationGroup.cs b/src/Elastic.Markdown/IO/Navigation/DocumentationGroup.cs index 60b9f02c9..fd5c31b6b 100644 --- a/src/Elastic.Markdown/IO/Navigation/DocumentationGroup.cs +++ b/src/Elastic.Markdown/IO/Navigation/DocumentationGroup.cs @@ -4,6 +4,7 @@ using System.Diagnostics; using System.Diagnostics.CodeAnalysis; +using Elastic.Documentation.Configuration.TableOfContents; using Elastic.Markdown.Diagnostics; using Elastic.Markdown.IO.Configuration; diff --git a/src/Elastic.Markdown/Links/CrossLinks/ConfigurationCrossLinkFetcher.cs b/src/Elastic.Markdown/Links/CrossLinks/ConfigurationCrossLinkFetcher.cs index f62202715..81a7e33e4 100644 --- a/src/Elastic.Markdown/Links/CrossLinks/ConfigurationCrossLinkFetcher.cs +++ b/src/Elastic.Markdown/Links/CrossLinks/ConfigurationCrossLinkFetcher.cs @@ -3,8 +3,9 @@ // See the LICENSE file in the project root for more information using System.Collections.Frozen; +using Elastic.Documentation; +using Elastic.Documentation.Links; using Elastic.Markdown.IO.Configuration; -using Elastic.Markdown.IO.State; using Microsoft.Extensions.Logging; namespace Elastic.Markdown.Links.CrossLinks; diff --git a/src/Elastic.Markdown/Links/CrossLinks/CrossLinkFetcher.cs b/src/Elastic.Markdown/Links/CrossLinks/CrossLinkFetcher.cs index 6fd7c9acd..5c3d7ccd5 100644 --- a/src/Elastic.Markdown/Links/CrossLinks/CrossLinkFetcher.cs +++ b/src/Elastic.Markdown/Links/CrossLinks/CrossLinkFetcher.cs @@ -4,8 +4,10 @@ using System.Collections.Frozen; using System.Text.Json; +using Elastic.Documentation; +using Elastic.Documentation.Links; +using Elastic.Documentation.Serialization; using Elastic.Markdown.IO; -using Elastic.Markdown.IO.State; using Microsoft.Extensions.Logging; namespace Elastic.Markdown.Links.CrossLinks; diff --git a/src/Elastic.Markdown/Links/CrossLinks/CrossLinkResolver.cs b/src/Elastic.Markdown/Links/CrossLinks/CrossLinkResolver.cs index 60a070aef..82bf88003 100644 --- a/src/Elastic.Markdown/Links/CrossLinks/CrossLinkResolver.cs +++ b/src/Elastic.Markdown/Links/CrossLinks/CrossLinkResolver.cs @@ -4,49 +4,10 @@ using System.Collections.Frozen; using System.Diagnostics.CodeAnalysis; -using System.Text.Json; -using System.Text.Json.Serialization; -using Elastic.Markdown.IO.State; +using Elastic.Documentation; namespace Elastic.Markdown.Links.CrossLinks; -public record LinkIndex -{ - [JsonPropertyName("repositories")] public required Dictionary> Repositories { get; init; } - - public static LinkIndex Deserialize(Stream json) => - JsonSerializer.Deserialize(json, SourceGenerationContext.Default.LinkIndex)!; - - public static LinkIndex Deserialize(string json) => - JsonSerializer.Deserialize(json, SourceGenerationContext.Default.LinkIndex)!; - - public static string Serialize(LinkIndex index) => - JsonSerializer.Serialize(index, SourceGenerationContext.Default.LinkIndex); -} - -public record LinkIndexEntry -{ - [JsonPropertyName("repository")] - public required string Repository { get; init; } - - [JsonPropertyName("path")] - public required string Path { get; init; } - - [JsonPropertyName("branch")] - public required string Branch { get; init; } - - [JsonPropertyName("etag")] - public required string ETag { get; init; } - - // TODO can be made required after all doc_sets have published again - [JsonPropertyName("updated_at")] - public DateTime UpdatedAt { get; init; } = DateTime.MinValue; - - // TODO can be made required after all doc_sets have published again - [JsonPropertyName("ref")] - public string GitReference { get; init; } = "unknown"; -} - public interface ICrossLinkResolver { Task FetchLinks(Cancel ctx); diff --git a/src/Elastic.Markdown/Links/InboundLinks/LinkIndexCrossLinkFetcher.cs b/src/Elastic.Markdown/Links/InboundLinks/LinkIndexCrossLinkFetcher.cs index d9ecfe50d..0caa7917e 100644 --- a/src/Elastic.Markdown/Links/InboundLinks/LinkIndexCrossLinkFetcher.cs +++ b/src/Elastic.Markdown/Links/InboundLinks/LinkIndexCrossLinkFetcher.cs @@ -3,7 +3,8 @@ // See the LICENSE file in the project root for more information using System.Collections.Frozen; -using Elastic.Markdown.IO.State; +using Elastic.Documentation; +using Elastic.Documentation.Links; using Elastic.Markdown.Links.CrossLinks; using Microsoft.Extensions.Logging; diff --git a/src/Elastic.Markdown/Links/InboundLinks/LinkIndexLinkChecker.cs b/src/Elastic.Markdown/Links/InboundLinks/LinkIndexLinkChecker.cs index 1183e2b91..d6777b926 100644 --- a/src/Elastic.Markdown/Links/InboundLinks/LinkIndexLinkChecker.cs +++ b/src/Elastic.Markdown/Links/InboundLinks/LinkIndexLinkChecker.cs @@ -2,9 +2,9 @@ // Elasticsearch B.V licenses this file to you under the Apache 2.0 License. // See the LICENSE file in the project root for more information -using Elastic.Markdown.Diagnostics; +using Elastic.Documentation; +using Elastic.Documentation.Diagnostics; using Elastic.Markdown.IO; -using Elastic.Markdown.IO.State; using Elastic.Markdown.Links.CrossLinks; using Microsoft.Extensions.Logging; diff --git a/src/Elastic.Markdown/Slices/HtmlWriter.cs b/src/Elastic.Markdown/Slices/HtmlWriter.cs index 19c48096c..f23f432ac 100644 --- a/src/Elastic.Markdown/Slices/HtmlWriter.cs +++ b/src/Elastic.Markdown/Slices/HtmlWriter.cs @@ -4,9 +4,9 @@ using System.Collections.Concurrent; using System.IO.Abstractions; +using Elastic.Documentation; using Elastic.Markdown.Extensions.DetectionRules; using Elastic.Markdown.IO; -using Elastic.Markdown.IO.Discovery; using Elastic.Markdown.IO.HistoryMapping; using Elastic.Markdown.IO.Navigation; using Markdig.Syntax; diff --git a/src/Elastic.Markdown/Slices/_ViewModels.cs b/src/Elastic.Markdown/Slices/_ViewModels.cs index 8e0bf3c07..cc845c2be 100644 --- a/src/Elastic.Markdown/Slices/_ViewModels.cs +++ b/src/Elastic.Markdown/Slices/_ViewModels.cs @@ -2,8 +2,9 @@ // Elasticsearch B.V licenses this file to you under the Apache 2.0 License. // See the LICENSE file in the project root for more information +using Elastic.Documentation.Configuration.Assembler; +using Elastic.Documentation.Configuration.Builder; using Elastic.Markdown.IO; -using Elastic.Markdown.IO.Configuration; using Elastic.Markdown.IO.HistoryMapping; using Elastic.Markdown.IO.Navigation; using Elastic.Markdown.Myst.FrontMatter; diff --git a/src/docs-assembler/AssembleContext.cs b/src/docs-assembler/AssembleContext.cs index da6f71679..5cc98e192 100644 --- a/src/docs-assembler/AssembleContext.cs +++ b/src/docs-assembler/AssembleContext.cs @@ -4,10 +4,9 @@ using System.IO.Abstractions; using System.Reflection; -using Documentation.Assembler.Configuration; -using Elastic.Markdown.Diagnostics; +using Elastic.Documentation.Configuration.Assembler; +using Elastic.Documentation.Diagnostics; using Elastic.Markdown.IO; -using Elastic.Markdown.IO.State; namespace Documentation.Assembler; diff --git a/src/docs-assembler/AssembleSources.cs b/src/docs-assembler/AssembleSources.cs index e11a8b553..c31868bc5 100644 --- a/src/docs-assembler/AssembleSources.cs +++ b/src/docs-assembler/AssembleSources.cs @@ -5,9 +5,10 @@ using System.Collections.Frozen; using System.IO.Abstractions; using Documentation.Assembler.Building; -using Documentation.Assembler.Configuration; using Documentation.Assembler.Navigation; using Documentation.Assembler.Sourcing; +using Elastic.Documentation; +using Elastic.Documentation.Configuration.Assembler; using Elastic.Markdown.IO.Configuration; using Elastic.Markdown.IO.Navigation; using Elastic.Markdown.Links.CrossLinks; diff --git a/src/docs-assembler/Building/AssemblerCrossLinkFetcher.cs b/src/docs-assembler/Building/AssemblerCrossLinkFetcher.cs index 815a5f442..624c5beb0 100644 --- a/src/docs-assembler/Building/AssemblerCrossLinkFetcher.cs +++ b/src/docs-assembler/Building/AssemblerCrossLinkFetcher.cs @@ -3,8 +3,9 @@ // See the LICENSE file in the project root for more information using System.Collections.Frozen; -using Documentation.Assembler.Configuration; -using Elastic.Markdown.IO.State; +using Elastic.Documentation; +using Elastic.Documentation.Configuration.Assembler; +using Elastic.Documentation.Links; using Elastic.Markdown.Links.CrossLinks; using Microsoft.Extensions.Logging; diff --git a/src/docs-assembler/Building/PublishEnvironmentUriResolver.cs b/src/docs-assembler/Building/PublishEnvironmentUriResolver.cs index 8d279c99a..b588bb97f 100644 --- a/src/docs-assembler/Building/PublishEnvironmentUriResolver.cs +++ b/src/docs-assembler/Building/PublishEnvironmentUriResolver.cs @@ -3,8 +3,8 @@ // See the LICENSE file in the project root for more information using System.Collections.Frozen; -using Documentation.Assembler.Configuration; using Documentation.Assembler.Extensions; +using Elastic.Documentation.Configuration.Assembler; using Elastic.Markdown.Links.CrossLinks; namespace Documentation.Assembler.Building; diff --git a/src/docs-assembler/Cli/InboundLinkCommands.cs b/src/docs-assembler/Cli/InboundLinkCommands.cs index 631ee891b..aa3238ff5 100644 --- a/src/docs-assembler/Cli/InboundLinkCommands.cs +++ b/src/docs-assembler/Cli/InboundLinkCommands.cs @@ -6,9 +6,9 @@ using System.IO.Abstractions; using Actions.Core.Services; using ConsoleAppFramework; +using Elastic.Documentation; using Elastic.Documentation.Tooling.Diagnostics.Console; using Elastic.Markdown.IO; -using Elastic.Markdown.IO.Discovery; using Elastic.Markdown.Links.InboundLinks; using Microsoft.Extensions.Logging; diff --git a/src/docs-assembler/Cli/NavigationCommands.cs b/src/docs-assembler/Cli/NavigationCommands.cs index 0c8cfc165..64deccc8c 100644 --- a/src/docs-assembler/Cli/NavigationCommands.cs +++ b/src/docs-assembler/Cli/NavigationCommands.cs @@ -6,14 +6,12 @@ using System.IO.Abstractions; using Actions.Core.Services; using ConsoleAppFramework; -using Documentation.Assembler.Building; using Documentation.Assembler.Links; using Documentation.Assembler.Navigation; +using Elastic.Documentation; using Elastic.Documentation.Tooling.Diagnostics.Console; using Elastic.Documentation.Tooling.Filters; using Elastic.Markdown.IO; -using Elastic.Markdown.IO.Discovery; -using Elastic.Markdown.Links.InboundLinks; using Microsoft.Extensions.Logging; namespace Documentation.Assembler.Cli; diff --git a/src/docs-assembler/Cli/RepositoryCommands.cs b/src/docs-assembler/Cli/RepositoryCommands.cs index c2b7c0552..85e757150 100644 --- a/src/docs-assembler/Cli/RepositoryCommands.cs +++ b/src/docs-assembler/Cli/RepositoryCommands.cs @@ -12,15 +12,14 @@ using Amazon.S3.Model; using ConsoleAppFramework; using Documentation.Assembler.Building; -using Documentation.Assembler.Configuration; using Documentation.Assembler.Mapping; using Documentation.Assembler.Navigation; using Documentation.Assembler.Sourcing; +using Elastic.Documentation.Configuration.Assembler; using Elastic.Documentation.Tooling.Diagnostics.Console; using Elastic.Markdown; using Elastic.Markdown.Exporters; using Elastic.Markdown.IO; -using Elastic.Markdown.IO.State; using Microsoft.Extensions.Logging; namespace Documentation.Assembler.Cli; diff --git a/src/docs-assembler/Links/NavigationPrefixChecker.cs b/src/docs-assembler/Links/NavigationPrefixChecker.cs index 88413df81..c693e2326 100644 --- a/src/docs-assembler/Links/NavigationPrefixChecker.cs +++ b/src/docs-assembler/Links/NavigationPrefixChecker.cs @@ -3,13 +3,11 @@ // See the LICENSE file in the project root for more information using System.Collections.Immutable; -using System.Diagnostics.CodeAnalysis; using Documentation.Assembler.Building; -using Documentation.Assembler.Configuration; using Documentation.Assembler.Navigation; -using Elastic.Markdown.Diagnostics; +using Elastic.Documentation; +using Elastic.Documentation.Diagnostics; using Elastic.Markdown.IO; -using Elastic.Markdown.IO.State; using Elastic.Markdown.Links.CrossLinks; using Elastic.Markdown.Links.InboundLinks; using Microsoft.Extensions.Logging; diff --git a/src/docs-assembler/Navigation/AssemblerDocumentationSet.cs b/src/docs-assembler/Navigation/AssemblerDocumentationSet.cs index 38b5c3c25..caef24b34 100644 --- a/src/docs-assembler/Navigation/AssemblerDocumentationSet.cs +++ b/src/docs-assembler/Navigation/AssemblerDocumentationSet.cs @@ -3,9 +3,10 @@ // See the LICENSE file in the project root for more information using Documentation.Assembler.Sourcing; +using Elastic.Documentation; +using Elastic.Documentation.Configuration.Assembler; using Elastic.Markdown; using Elastic.Markdown.IO; -using Elastic.Markdown.IO.Discovery; using Elastic.Markdown.IO.Navigation; using Elastic.Markdown.Links.CrossLinks; using Microsoft.Extensions.Logging; diff --git a/src/docs-assembler/Navigation/GlobalNavigation.cs b/src/docs-assembler/Navigation/GlobalNavigation.cs index 967cc247c..5560e09f4 100644 --- a/src/docs-assembler/Navigation/GlobalNavigation.cs +++ b/src/docs-assembler/Navigation/GlobalNavigation.cs @@ -3,6 +3,7 @@ // See the LICENSE file in the project root for more information using System.Collections.Frozen; +using Elastic.Documentation.Configuration.TableOfContents; using Elastic.Markdown.IO; using Elastic.Markdown.IO.Configuration; using Elastic.Markdown.IO.Navigation; diff --git a/src/docs-assembler/Navigation/GlobalNavigationFile.cs b/src/docs-assembler/Navigation/GlobalNavigationFile.cs index a04cd2950..1af4eae69 100644 --- a/src/docs-assembler/Navigation/GlobalNavigationFile.cs +++ b/src/docs-assembler/Navigation/GlobalNavigationFile.cs @@ -4,7 +4,10 @@ using System.Collections.Immutable; using System.IO.Abstractions; -using Documentation.Assembler.Configuration; +using Elastic.Documentation; +using Elastic.Documentation.Configuration.Assembler; +using Elastic.Documentation.Configuration.TableOfContents; +using Elastic.Documentation.Navigation; using Elastic.Markdown.IO.Configuration; using YamlDotNet.RepresentationModel; diff --git a/src/docs-assembler/Navigation/GlobalNavigationPathProvider.cs b/src/docs-assembler/Navigation/GlobalNavigationPathProvider.cs index 83d54c109..a5cd4f60b 100644 --- a/src/docs-assembler/Navigation/GlobalNavigationPathProvider.cs +++ b/src/docs-assembler/Navigation/GlobalNavigationPathProvider.cs @@ -5,11 +5,11 @@ using System.Collections.Immutable; using System.IO.Abstractions; using Documentation.Assembler.Extensions; +using Elastic.Documentation; using Elastic.Markdown; using Elastic.Markdown.Diagnostics; using Elastic.Markdown.Extensions.DetectionRules; using Elastic.Markdown.IO; -using Elastic.Markdown.IO.Configuration; namespace Documentation.Assembler.Navigation; diff --git a/src/docs-assembler/Program.cs b/src/docs-assembler/Program.cs index 6cce8258d..96f198715 100644 --- a/src/docs-assembler/Program.cs +++ b/src/docs-assembler/Program.cs @@ -5,6 +5,7 @@ using Actions.Core.Services; using ConsoleAppFramework; using Documentation.Assembler.Cli; +using Elastic.Documentation.Diagnostics; using Elastic.Documentation.Tooling; using Elastic.Documentation.Tooling.Filters; using Elastic.Markdown.Diagnostics; diff --git a/src/docs-assembler/Sourcing/Checkout.cs b/src/docs-assembler/Sourcing/Checkout.cs index 655b25302..c6ea887b6 100644 --- a/src/docs-assembler/Sourcing/Checkout.cs +++ b/src/docs-assembler/Sourcing/Checkout.cs @@ -3,7 +3,7 @@ // See the LICENSE file in the project root for more information using System.IO.Abstractions; -using Documentation.Assembler.Configuration; +using Elastic.Documentation.Configuration.Assembler; namespace Documentation.Assembler.Sourcing; diff --git a/src/docs-assembler/Sourcing/RepositorySourcesFetcher.cs b/src/docs-assembler/Sourcing/RepositorySourcesFetcher.cs index d3ed69ebe..743b3b198 100644 --- a/src/docs-assembler/Sourcing/RepositorySourcesFetcher.cs +++ b/src/docs-assembler/Sourcing/RepositorySourcesFetcher.cs @@ -6,11 +6,9 @@ using System.Diagnostics; using System.Diagnostics.CodeAnalysis; using System.IO.Abstractions; -using Documentation.Assembler.Configuration; -using Elastic.Documentation.Tooling.Diagnostics.Console; -using Elastic.Markdown.Diagnostics; +using Elastic.Documentation.Configuration.Assembler; +using Elastic.Documentation.Diagnostics; using Elastic.Markdown.IO; -using Elastic.Markdown.IO.State; using Microsoft.Extensions.Logging; using ProcNet; using ProcNet.Std; diff --git a/src/docs-assembler/docs-assembler.csproj b/src/docs-assembler/docs-assembler.csproj index d28197929..eca28182e 100644 --- a/src/docs-assembler/docs-assembler.csproj +++ b/src/docs-assembler/docs-assembler.csproj @@ -26,6 +26,7 @@ + @@ -35,4 +36,8 @@ + + + + diff --git a/src/docs-builder/Cli/InboundLinkCommands.cs b/src/docs-builder/Cli/InboundLinkCommands.cs index 6c07ea930..7463a854a 100644 --- a/src/docs-builder/Cli/InboundLinkCommands.cs +++ b/src/docs-builder/Cli/InboundLinkCommands.cs @@ -6,10 +6,10 @@ using System.IO.Abstractions; using Actions.Core.Services; using ConsoleAppFramework; +using Elastic.Documentation; using Elastic.Documentation.Tooling.Diagnostics.Console; using Elastic.Documentation.Tooling.Filters; using Elastic.Markdown.IO; -using Elastic.Markdown.IO.Discovery; using Elastic.Markdown.Links.InboundLinks; using Microsoft.Extensions.Logging; diff --git a/src/docs-builder/Diagnostics/LiveMode/LiveModeDiagnosticsCollector.cs b/src/docs-builder/Diagnostics/LiveMode/LiveModeDiagnosticsCollector.cs index 66f39cadf..3d38c2cd9 100644 --- a/src/docs-builder/Diagnostics/LiveMode/LiveModeDiagnosticsCollector.cs +++ b/src/docs-builder/Diagnostics/LiveMode/LiveModeDiagnosticsCollector.cs @@ -2,10 +2,11 @@ // Elasticsearch B.V licenses this file to you under the Apache 2.0 License. // See the LICENSE file in the project root for more information +using Elastic.Documentation.Diagnostics; using Elastic.Documentation.Tooling.Diagnostics; using Elastic.Markdown.Diagnostics; using Microsoft.Extensions.Logging; -using Diagnostic = Elastic.Markdown.Diagnostics.Diagnostic; +using Diagnostic = Elastic.Documentation.Diagnostics.Diagnostic; namespace Documentation.Builder.Diagnostics.LiveMode; diff --git a/src/docs-builder/Http/StaticWebHost.cs b/src/docs-builder/Http/StaticWebHost.cs index a4950137a..a6599e121 100644 --- a/src/docs-builder/Http/StaticWebHost.cs +++ b/src/docs-builder/Http/StaticWebHost.cs @@ -3,6 +3,7 @@ // See the LICENSE file in the project root for more information using System.IO.Abstractions; +using Elastic.Documentation.Diagnostics; using Elastic.Documentation.Tooling; using Elastic.Markdown; using Elastic.Markdown.Diagnostics; diff --git a/src/docs-builder/Program.cs b/src/docs-builder/Program.cs index dea9f7007..a73494faa 100644 --- a/src/docs-builder/Program.cs +++ b/src/docs-builder/Program.cs @@ -4,6 +4,7 @@ using ConsoleAppFramework; using Documentation.Builder.Cli; +using Elastic.Documentation.Diagnostics; using Elastic.Documentation.Tooling; using Elastic.Markdown.Diagnostics; using Microsoft.Extensions.DependencyInjection; diff --git a/src/infra/docs-lambda-index-publisher/LinkIndexProvider.cs b/src/infra/docs-lambda-index-publisher/LinkIndexProvider.cs index 6b00ab82b..3f7a3e9b5 100644 --- a/src/infra/docs-lambda-index-publisher/LinkIndexProvider.cs +++ b/src/infra/docs-lambda-index-publisher/LinkIndexProvider.cs @@ -5,7 +5,7 @@ using Amazon.Lambda.Core; using Amazon.S3; using Amazon.S3.Model; -using Elastic.Markdown.Links.CrossLinks; +using Elastic.Documentation.Links; namespace Elastic.Documentation.Lambda.LinkIndexUploader; diff --git a/src/infra/docs-lambda-index-publisher/LinkReferenceProvider.cs b/src/infra/docs-lambda-index-publisher/LinkReferenceProvider.cs index cafcdb5b0..8be53f2d5 100644 --- a/src/infra/docs-lambda-index-publisher/LinkReferenceProvider.cs +++ b/src/infra/docs-lambda-index-publisher/LinkReferenceProvider.cs @@ -5,7 +5,6 @@ using Amazon.Lambda.Core; using Amazon.S3; using Amazon.S3.Model; -using Elastic.Markdown.IO.State; namespace Elastic.Documentation.Lambda.LinkIndexUploader; diff --git a/src/infra/docs-lambda-index-publisher/Program.cs b/src/infra/docs-lambda-index-publisher/Program.cs index 2ba317e28..ab434ab16 100644 --- a/src/infra/docs-lambda-index-publisher/Program.cs +++ b/src/infra/docs-lambda-index-publisher/Program.cs @@ -9,9 +9,9 @@ using Amazon.Lambda.SQSEvents; using Amazon.S3; using Amazon.S3.Util; +using Elastic.Documentation; using Elastic.Documentation.Lambda.LinkIndexUploader; -using Elastic.Markdown.IO.State; -using Elastic.Markdown.Links.CrossLinks; +using Elastic.Documentation.Links; const string bucketName = "elastic-docs-link-index"; const string indexFile = "link-index.json"; diff --git a/tests/Elastic.Markdown.Tests/Directives/ImageTests.cs b/tests/Elastic.Markdown.Tests/Directives/ImageTests.cs index 8a6bcfc72..673e3eb9d 100644 --- a/tests/Elastic.Markdown.Tests/Directives/ImageTests.cs +++ b/tests/Elastic.Markdown.Tests/Directives/ImageTests.cs @@ -3,6 +3,7 @@ // See the LICENSE file in the project root for more information using System.IO.Abstractions.TestingHelpers; +using Elastic.Documentation.Diagnostics; using Elastic.Markdown.Diagnostics; using Elastic.Markdown.Myst.Directives; using FluentAssertions; diff --git a/tests/Elastic.Markdown.Tests/Directives/UnsupportedTests.cs b/tests/Elastic.Markdown.Tests/Directives/UnsupportedTests.cs index ad8a8ca47..d2ed9f71b 100644 --- a/tests/Elastic.Markdown.Tests/Directives/UnsupportedTests.cs +++ b/tests/Elastic.Markdown.Tests/Directives/UnsupportedTests.cs @@ -2,6 +2,7 @@ // Elasticsearch B.V licenses this file to you under the Apache 2.0 License. // See the LICENSE file in the project root for more information +using Elastic.Documentation.Diagnostics; using Elastic.Markdown.Diagnostics; using Elastic.Markdown.Myst.Directives; using FluentAssertions; diff --git a/tests/Elastic.Markdown.Tests/DocSet/LinkReferenceTests.cs b/tests/Elastic.Markdown.Tests/DocSet/LinkReferenceTests.cs index d11ff457f..18e67b44c 100644 --- a/tests/Elastic.Markdown.Tests/DocSet/LinkReferenceTests.cs +++ b/tests/Elastic.Markdown.Tests/DocSet/LinkReferenceTests.cs @@ -2,16 +2,15 @@ // Elasticsearch B.V licenses this file to you under the Apache 2.0 License. // See the LICENSE file in the project root for more information +using Elastic.Documentation; using Elastic.Markdown.IO; -using Elastic.Markdown.IO.Discovery; -using Elastic.Markdown.IO.State; using FluentAssertions; namespace Elastic.Markdown.Tests.DocSet; public class LinkReferenceTests : NavigationTestsBase { - public LinkReferenceTests(ITestOutputHelper output) : base(output) => Reference = LinkReference.Create(Set); + public LinkReferenceTests(ITestOutputHelper output) : base(output) => Reference = Set.CreateLinkReference(); private LinkReference Reference { get; } diff --git a/tests/Elastic.Markdown.Tests/FileInclusion/IncludeTests.cs b/tests/Elastic.Markdown.Tests/FileInclusion/IncludeTests.cs index 072fd206a..d6f345583 100644 --- a/tests/Elastic.Markdown.Tests/FileInclusion/IncludeTests.cs +++ b/tests/Elastic.Markdown.Tests/FileInclusion/IncludeTests.cs @@ -3,6 +3,7 @@ // See the LICENSE file in the project root for more information using System.IO.Abstractions.TestingHelpers; +using Elastic.Documentation.Diagnostics; using Elastic.Markdown.Diagnostics; using Elastic.Markdown.Myst.Directives; using Elastic.Markdown.Tests.Directives; diff --git a/tests/Elastic.Markdown.Tests/Inline/InlineLinkTests.cs b/tests/Elastic.Markdown.Tests/Inline/InlineLinkTests.cs index ad5558d27..8d44e07ed 100644 --- a/tests/Elastic.Markdown.Tests/Inline/InlineLinkTests.cs +++ b/tests/Elastic.Markdown.Tests/Inline/InlineLinkTests.cs @@ -3,6 +3,7 @@ // See the LICENSE file in the project root for more information using System.IO.Abstractions.TestingHelpers; +using Elastic.Documentation.Diagnostics; using Elastic.Markdown.Diagnostics; using FluentAssertions; using JetBrains.Annotations; diff --git a/tests/Elastic.Markdown.Tests/SettingsInclusion/IncludeTests.cs b/tests/Elastic.Markdown.Tests/SettingsInclusion/IncludeTests.cs index 8c639ff4c..5f4283810 100644 --- a/tests/Elastic.Markdown.Tests/SettingsInclusion/IncludeTests.cs +++ b/tests/Elastic.Markdown.Tests/SettingsInclusion/IncludeTests.cs @@ -3,6 +3,7 @@ // See the LICENSE file in the project root for more information using System.IO.Abstractions.TestingHelpers; +using Elastic.Documentation.Diagnostics; using Elastic.Markdown.Diagnostics; using Elastic.Markdown.IO; using Elastic.Markdown.Myst.Directives; diff --git a/tests/Elastic.Markdown.Tests/TestCrossLinkResolver.cs b/tests/Elastic.Markdown.Tests/TestCrossLinkResolver.cs index 6d739f2a6..b359b415a 100644 --- a/tests/Elastic.Markdown.Tests/TestCrossLinkResolver.cs +++ b/tests/Elastic.Markdown.Tests/TestCrossLinkResolver.cs @@ -4,7 +4,8 @@ using System.Collections.Frozen; using System.Diagnostics.CodeAnalysis; -using Elastic.Markdown.IO.State; +using Elastic.Documentation; +using Elastic.Documentation.Links; using Elastic.Markdown.Links.CrossLinks; using Xunit.Internal; diff --git a/tests/Elastic.Markdown.Tests/TestDiagnosticsCollector.cs b/tests/Elastic.Markdown.Tests/TestDiagnosticsCollector.cs index 820808d23..fd28aa402 100644 --- a/tests/Elastic.Markdown.Tests/TestDiagnosticsCollector.cs +++ b/tests/Elastic.Markdown.Tests/TestDiagnosticsCollector.cs @@ -2,6 +2,7 @@ // Elasticsearch B.V licenses this file to you under the Apache 2.0 License. // See the LICENSE file in the project root for more information +using Elastic.Documentation.Diagnostics; using Elastic.Markdown.Diagnostics; namespace Elastic.Markdown.Tests; diff --git a/tests/authoring/Framework/ErrorCollectorAssertions.fs b/tests/authoring/Framework/ErrorCollectorAssertions.fs index 95c4c9033..9e844f67a 100644 --- a/tests/authoring/Framework/ErrorCollectorAssertions.fs +++ b/tests/authoring/Framework/ErrorCollectorAssertions.fs @@ -6,7 +6,7 @@ namespace authoring open System.Diagnostics open System.Linq -open Elastic.Markdown.Diagnostics +open Elastic.Documentation.Diagnostics open FsUnitTyped open Swensen.Unquote diff --git a/tests/authoring/Framework/TestCrossLinkResolver.fs b/tests/authoring/Framework/TestCrossLinkResolver.fs index cc97b3027..9e645e92a 100644 --- a/tests/authoring/Framework/TestCrossLinkResolver.fs +++ b/tests/authoring/Framework/TestCrossLinkResolver.fs @@ -10,9 +10,10 @@ open System.Collections.Frozen open System.Runtime.InteropServices open System.Threading.Tasks open System.Linq +open Elastic.Documentation +open Elastic.Documentation.Links open Elastic.Markdown.Links.CrossLinks open Elastic.Markdown.IO.Configuration -open Elastic.Markdown.IO.State type TestCrossLinkResolver (config: ConfigurationFile) = diff --git a/tests/authoring/Framework/TestValues.fs b/tests/authoring/Framework/TestValues.fs index c68c6c6b2..63dffdabd 100644 --- a/tests/authoring/Framework/TestValues.fs +++ b/tests/authoring/Framework/TestValues.fs @@ -7,8 +7,8 @@ namespace authoring open System open System.Collections.Concurrent open System.IO.Abstractions +open Elastic.Documentation.Diagnostics open Elastic.Markdown -open Elastic.Markdown.Diagnostics open Elastic.Markdown.IO open Markdig.Syntax open Microsoft.Extensions.Logging diff --git a/tests/docs-assembler.Tests/src/docs-assembler.Tests/AssemblerConfigurationTests.cs b/tests/docs-assembler.Tests/src/docs-assembler.Tests/AssemblerConfigurationTests.cs index 2b527db89..5fad5cc61 100644 --- a/tests/docs-assembler.Tests/src/docs-assembler.Tests/AssemblerConfigurationTests.cs +++ b/tests/docs-assembler.Tests/src/docs-assembler.Tests/AssemblerConfigurationTests.cs @@ -3,10 +3,9 @@ // See the LICENSE file in the project root for more information using System.IO.Abstractions; -using Documentation.Assembler.Configuration; -using Elastic.Markdown.Diagnostics; +using Elastic.Documentation.Configuration.Assembler; +using Elastic.Documentation.Diagnostics; using Elastic.Markdown.IO; -using Elastic.Markdown.IO.State; using FluentAssertions; namespace Documentation.Assembler.Tests; diff --git a/tests/docs-assembler.Tests/src/docs-assembler.Tests/GlobalNavigationTests.cs b/tests/docs-assembler.Tests/src/docs-assembler.Tests/GlobalNavigationTests.cs index 39972f022..9ba1503bd 100644 --- a/tests/docs-assembler.Tests/src/docs-assembler.Tests/GlobalNavigationTests.cs +++ b/tests/docs-assembler.Tests/src/docs-assembler.Tests/GlobalNavigationTests.cs @@ -3,10 +3,10 @@ // See the LICENSE file in the project root for more information using System.IO.Abstractions; -using Documentation.Assembler.Configuration; using Documentation.Assembler.Navigation; using Documentation.Assembler.Sourcing; -using Elastic.Markdown.Diagnostics; +using Elastic.Documentation.Configuration.Assembler; +using Elastic.Documentation.Diagnostics; using Elastic.Markdown.IO; using Elastic.Markdown.IO.Navigation; using FluentAssertions;