diff --git a/.build.Nuke/Build.Publish.cs b/.build.Nuke/Build.Publish.cs
index 5894445ed20ec1dcdedfa37694f38c732516bca0..0e5dd123cc8a5f50f5ecc31ea175cabaa0bab53c 100644
--- a/.build.Nuke/Build.Publish.cs
+++ b/.build.Nuke/Build.Publish.cs
@@ -27,6 +27,9 @@ sealed partial class Build : NukeBuild
[Parameter("publish-trimmed (default: false)")]
readonly bool publishTrimmed = false;
+ [Parameter("publish-ready-to-run (default: true)")]
+ readonly bool publishReadyToRun = true;
+
Target Publish => td => td
.After(Restore)
.Executes(() =>
@@ -40,7 +43,7 @@ sealed partial class Build : NukeBuild
.SetSelfContained(publishSelfContained)
.SetPublishSingleFile(publishSingleFile)
.SetPublishTrimmed(publishTrimmed)
- .SetAuthors("Bruno Massa")
+ .SetPublishReadyToRun(publishReadyToRun)
.SetVersion(CurrentVersion)
.SetAssemblyVersion(CurrentVersion)
.SetInformationalVersion(CurrentVersion)
diff --git a/.editorconfig b/.editorconfig
index ad36a90334510e08067810c742edcd495a8068f5..ca0a0b95304e3eba862b3e4cfa39df432cff49c0 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -68,3 +68,5 @@ dotnet_diagnostic.CS8019.severity = warning
[**/obj/**/*.cs]
dotnet_diagnostic.CS8019.severity = none # disable on debug genereated files
+exclude = true
+generated_code = true
diff --git a/.nuke/build.schema.json b/.nuke/build.schema.json
index 930db2d70579deaefe5f4319137536fe0511186a..a534aacdcff8d3eabcb98ae272886bfad6f58371 100644
--- a/.nuke/build.schema.json
+++ b/.nuke/build.schema.json
@@ -82,6 +82,10 @@
"type": "string",
"description": "publish-directory (default: ./publish/{runtimeIdentifier})"
},
+ "publishReadyToRun": {
+ "type": "boolean",
+ "description": "publish-ready-to-run (default: true)"
+ },
"publishSelfContained": {
"type": "boolean",
"description": "publish-self-contained (default: true)"
diff --git a/source/BaseGeneratorCommand.cs b/source/BaseGeneratorCommand.cs
index d70757e3f13daa2ea19b8b4377268cae6e553414..31710dde2c85c55179a1284218629ee3fceeb6c6 100644
--- a/source/BaseGeneratorCommand.cs
+++ b/source/BaseGeneratorCommand.cs
@@ -26,7 +26,7 @@ public abstract class BaseGeneratorCommand
///
/// The front matter parser instance. The default is YAML.
///
- protected IFrontMatterParser frontMatterParser { get; } = new YAMLParser();
+ protected IMetadataParser frontMatterParser { get; } = new YAMLParser();
///
/// The stopwatch reporter.
diff --git a/source/CheckLinkCommand.cs b/source/CheckLinkCommand.cs
index f978458ce7f321e6f98832f204f3e6ce2ad6dfe0..a98dc92339aa191cc13a3cd6ea058b8348867e5c 100644
--- a/source/CheckLinkCommand.cs
+++ b/source/CheckLinkCommand.cs
@@ -14,8 +14,8 @@ public sealed partial class CheckLinkCommand(CheckLinkOptions settings, ILogger
{
[GeneratedRegex(@"https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9@:%_\+.~#?&\/=]*)")]
- private static partial Regex MyRegex();
- private static readonly Regex linkRegex = MyRegex();
+ private static partial Regex URLRegex();
+ private static readonly Regex urlRegex = URLRegex();
private const int retriesCount = 3;
private readonly TimeSpan retryInterval = TimeSpan.FromSeconds(1);
private HttpClient httpClient = null!;
@@ -77,7 +77,7 @@ public sealed partial class CheckLinkCommand(CheckLinkOptions settings, ILogger
{
var fileNameSanitized = filePath[directoryPath.Length..].Trim('/', '\\');
var fileText = File.ReadAllText(filePath);
- var matches = linkRegex.Matches(fileText);
+ var matches = urlRegex.Matches(fileText);
if (matches.Count == 0)
{
LogInformation("{fileName}: no links found", fileNameSanitized);
diff --git a/source/Helpers/SiteHelper.cs b/source/Helpers/SiteHelper.cs
index a6a6d37acab89bac8fc909b280883b60e57efbbc..06dd373281ad8ffd682721f86f6973725ec8a3f1 100644
--- a/source/Helpers/SiteHelper.cs
+++ b/source/Helpers/SiteHelper.cs
@@ -25,7 +25,7 @@ public static class SiteHelper
/// Creates the pages dictionary.
///
///
- public static Site Init(string configFile, IGenerateOptions options, IFrontMatterParser frontMatterParser, FilterDelegate whereParamsFilter, ILogger logger, StopwatchReporter stopwatch)
+ public static Site Init(string configFile, IGenerateOptions options, IMetadataParser frontMatterParser, FilterDelegate whereParamsFilter, ILogger logger, StopwatchReporter stopwatch)
{
ArgumentNullException.ThrowIfNull(stopwatch);
@@ -92,7 +92,7 @@ public static class SiteHelper
/// The front matter parser.
/// The site settings file.
/// The site settings.
- private static SiteSettings ParseSettings(string configFile, IGenerateOptions options, IFrontMatterParser frontMatterParser)
+ private static SiteSettings ParseSettings(string configFile, IGenerateOptions options, IMetadataParser frontMatterParser)
{
ArgumentNullException.ThrowIfNull(options);
ArgumentNullException.ThrowIfNull(frontMatterParser);
diff --git a/source/Helpers/SourceFileWatcher.cs b/source/Helpers/SourceFileWatcher.cs
index 4da2e2da1ffe347746264be2243b1e2668e40344..bcacae6c145ccbad688b97f87c1c225668f9dd52 100644
--- a/source/Helpers/SourceFileWatcher.cs
+++ b/source/Helpers/SourceFileWatcher.cs
@@ -17,7 +17,7 @@ public sealed class SourceFileWatcher : IFileWatcher, IDisposable
public void Start(string SourceAbsolutePath, Action