diff --git a/src/Quartz.Plugins.RecentHistory/Quartz.Plugins.RecentHistory.csproj b/src/Quartz.Plugins.RecentHistory/Quartz.Plugins.RecentHistory.csproj index 2978c6b..1639ed0 100644 --- a/src/Quartz.Plugins.RecentHistory/Quartz.Plugins.RecentHistory.csproj +++ b/src/Quartz.Plugins.RecentHistory/Quartz.Plugins.RecentHistory.csproj @@ -1,7 +1,7 @@  - netstandard2.1 + net6.0 PackageReference true true diff --git a/src/SilkierQuartz/Configuration/ApplicationBuilderExtensions.cs b/src/SilkierQuartz/Configuration/ApplicationBuilderExtensions.cs index 633cd70..1ee558e 100644 --- a/src/SilkierQuartz/Configuration/ApplicationBuilderExtensions.cs +++ b/src/SilkierQuartz/Configuration/ApplicationBuilderExtensions.cs @@ -1,4 +1,5 @@ -using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Hosting; +using Microsoft.AspNetCore.Http; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.FileProviders; using Quartz; @@ -44,7 +45,7 @@ namespace Microsoft.AspNetCore.Builder [Obsolete("We recommend UseSilkierQuartz")] public static IApplicationBuilder UseQuartzmin(this IApplicationBuilder app, Action configure = null) - => app.UseSilkierQuartz(configure); + => app.UseSilkierQuartz(configure: configure); /// /// Use SilkierQuartz and automatically discover IJob subclasses with SilkierQuartzAttribute @@ -52,8 +53,7 @@ namespace Microsoft.AspNetCore.Builder /// /// public static IApplicationBuilder UseSilkierQuartz( - this IApplicationBuilder app, - Action configure = null) + this IApplicationBuilder app ,Action configure = null) { var options = app.ApplicationServices .GetService() ?? throw new ArgumentNullException(nameof(SilkierQuartzOptions)); @@ -140,11 +140,12 @@ namespace Microsoft.AspNetCore.Builder private static void UseFileServer(this IApplicationBuilder app, SilkierQuartzOptions options) { IFileProvider fs; - if (string.IsNullOrEmpty(options.ContentRootDirectory)) - fs = new ManifestEmbeddedFileProvider(Assembly.GetExecutingAssembly(), "Content"); - else - fs = new PhysicalFileProvider(options.ContentRootDirectory); + + var manifestEmbeddedProvider = + new EmbeddedFileProvider(typeof(SilkierQuartzOptions).Assembly); + + fs = new EmbeddedFileProvider(typeof(SilkierQuartzOptions).Assembly, "SilkierQuartz.Content"); var fsOptions = new FileServerOptions() { RequestPath = new PathString($"{options.VirtualPathRoot}/Content"), diff --git a/src/SilkierQuartz/Content/Lib/semantic-ui/calendar.min.css b/src/SilkierQuartz/Content/Lib/semanticui/calendar.min.css similarity index 100% rename from src/SilkierQuartz/Content/Lib/semantic-ui/calendar.min.css rename to src/SilkierQuartz/Content/Lib/semanticui/calendar.min.css diff --git a/src/SilkierQuartz/Content/Lib/semantic-ui/calendar.min.js b/src/SilkierQuartz/Content/Lib/semanticui/calendar.min.js similarity index 100% rename from src/SilkierQuartz/Content/Lib/semantic-ui/calendar.min.js rename to src/SilkierQuartz/Content/Lib/semanticui/calendar.min.js diff --git a/src/SilkierQuartz/Content/Lib/semantic-ui/semantic.min.css b/src/SilkierQuartz/Content/Lib/semanticui/semantic.min.css similarity index 100% rename from src/SilkierQuartz/Content/Lib/semantic-ui/semantic.min.css rename to src/SilkierQuartz/Content/Lib/semanticui/semantic.min.css diff --git a/src/SilkierQuartz/Content/Lib/semantic-ui/semantic.min.js b/src/SilkierQuartz/Content/Lib/semanticui/semantic.min.js similarity index 100% rename from src/SilkierQuartz/Content/Lib/semantic-ui/semantic.min.js rename to src/SilkierQuartz/Content/Lib/semanticui/semantic.min.js diff --git a/src/SilkierQuartz/Content/Lib/semantic-ui/state.min.js b/src/SilkierQuartz/Content/Lib/semanticui/state.min.js similarity index 100% rename from src/SilkierQuartz/Content/Lib/semantic-ui/state.min.js rename to src/SilkierQuartz/Content/Lib/semanticui/state.min.js diff --git a/src/SilkierQuartz/Content/Lib/semantic-ui/themes/default/assets/fonts/brand-icons.eot b/src/SilkierQuartz/Content/Lib/semanticui/themes/default/assets/fonts/brand-icons.eot similarity index 100% rename from src/SilkierQuartz/Content/Lib/semantic-ui/themes/default/assets/fonts/brand-icons.eot rename to src/SilkierQuartz/Content/Lib/semanticui/themes/default/assets/fonts/brand-icons.eot diff --git a/src/SilkierQuartz/Content/Lib/semantic-ui/themes/default/assets/fonts/brand-icons.svg b/src/SilkierQuartz/Content/Lib/semanticui/themes/default/assets/fonts/brand-icons.svg similarity index 100% rename from src/SilkierQuartz/Content/Lib/semantic-ui/themes/default/assets/fonts/brand-icons.svg rename to src/SilkierQuartz/Content/Lib/semanticui/themes/default/assets/fonts/brand-icons.svg diff --git a/src/SilkierQuartz/Content/Lib/semantic-ui/themes/default/assets/fonts/brand-icons.ttf b/src/SilkierQuartz/Content/Lib/semanticui/themes/default/assets/fonts/brand-icons.ttf similarity index 100% rename from src/SilkierQuartz/Content/Lib/semantic-ui/themes/default/assets/fonts/brand-icons.ttf rename to src/SilkierQuartz/Content/Lib/semanticui/themes/default/assets/fonts/brand-icons.ttf diff --git a/src/SilkierQuartz/Content/Lib/semantic-ui/themes/default/assets/fonts/brand-icons.woff b/src/SilkierQuartz/Content/Lib/semanticui/themes/default/assets/fonts/brand-icons.woff similarity index 100% rename from src/SilkierQuartz/Content/Lib/semantic-ui/themes/default/assets/fonts/brand-icons.woff rename to src/SilkierQuartz/Content/Lib/semanticui/themes/default/assets/fonts/brand-icons.woff diff --git a/src/SilkierQuartz/Content/Lib/semantic-ui/themes/default/assets/fonts/brand-icons.woff2 b/src/SilkierQuartz/Content/Lib/semanticui/themes/default/assets/fonts/brand-icons.woff2 similarity index 100% rename from src/SilkierQuartz/Content/Lib/semantic-ui/themes/default/assets/fonts/brand-icons.woff2 rename to src/SilkierQuartz/Content/Lib/semanticui/themes/default/assets/fonts/brand-icons.woff2 diff --git a/src/SilkierQuartz/Content/Lib/semantic-ui/themes/default/assets/fonts/icons.eot b/src/SilkierQuartz/Content/Lib/semanticui/themes/default/assets/fonts/icons.eot similarity index 100% rename from src/SilkierQuartz/Content/Lib/semantic-ui/themes/default/assets/fonts/icons.eot rename to src/SilkierQuartz/Content/Lib/semanticui/themes/default/assets/fonts/icons.eot diff --git a/src/SilkierQuartz/Content/Lib/semantic-ui/themes/default/assets/fonts/icons.otf b/src/SilkierQuartz/Content/Lib/semanticui/themes/default/assets/fonts/icons.otf similarity index 100% rename from src/SilkierQuartz/Content/Lib/semantic-ui/themes/default/assets/fonts/icons.otf rename to src/SilkierQuartz/Content/Lib/semanticui/themes/default/assets/fonts/icons.otf diff --git a/src/SilkierQuartz/Content/Lib/semantic-ui/themes/default/assets/fonts/icons.svg b/src/SilkierQuartz/Content/Lib/semanticui/themes/default/assets/fonts/icons.svg similarity index 100% rename from src/SilkierQuartz/Content/Lib/semantic-ui/themes/default/assets/fonts/icons.svg rename to src/SilkierQuartz/Content/Lib/semanticui/themes/default/assets/fonts/icons.svg diff --git a/src/SilkierQuartz/Content/Lib/semantic-ui/themes/default/assets/fonts/icons.ttf b/src/SilkierQuartz/Content/Lib/semanticui/themes/default/assets/fonts/icons.ttf similarity index 100% rename from src/SilkierQuartz/Content/Lib/semantic-ui/themes/default/assets/fonts/icons.ttf rename to src/SilkierQuartz/Content/Lib/semanticui/themes/default/assets/fonts/icons.ttf diff --git a/src/SilkierQuartz/Content/Lib/semantic-ui/themes/default/assets/fonts/icons.woff b/src/SilkierQuartz/Content/Lib/semanticui/themes/default/assets/fonts/icons.woff similarity index 100% rename from src/SilkierQuartz/Content/Lib/semantic-ui/themes/default/assets/fonts/icons.woff rename to src/SilkierQuartz/Content/Lib/semanticui/themes/default/assets/fonts/icons.woff diff --git a/src/SilkierQuartz/Content/Lib/semantic-ui/themes/default/assets/fonts/icons.woff2 b/src/SilkierQuartz/Content/Lib/semanticui/themes/default/assets/fonts/icons.woff2 similarity index 100% rename from src/SilkierQuartz/Content/Lib/semantic-ui/themes/default/assets/fonts/icons.woff2 rename to src/SilkierQuartz/Content/Lib/semanticui/themes/default/assets/fonts/icons.woff2 diff --git a/src/SilkierQuartz/Content/Lib/semantic-ui/themes/default/assets/fonts/outline-icons.eot b/src/SilkierQuartz/Content/Lib/semanticui/themes/default/assets/fonts/outline-icons.eot similarity index 100% rename from src/SilkierQuartz/Content/Lib/semantic-ui/themes/default/assets/fonts/outline-icons.eot rename to src/SilkierQuartz/Content/Lib/semanticui/themes/default/assets/fonts/outline-icons.eot diff --git a/src/SilkierQuartz/Content/Lib/semantic-ui/themes/default/assets/fonts/outline-icons.svg b/src/SilkierQuartz/Content/Lib/semanticui/themes/default/assets/fonts/outline-icons.svg similarity index 100% rename from src/SilkierQuartz/Content/Lib/semantic-ui/themes/default/assets/fonts/outline-icons.svg rename to src/SilkierQuartz/Content/Lib/semanticui/themes/default/assets/fonts/outline-icons.svg diff --git a/src/SilkierQuartz/Content/Lib/semantic-ui/themes/default/assets/fonts/outline-icons.ttf b/src/SilkierQuartz/Content/Lib/semanticui/themes/default/assets/fonts/outline-icons.ttf similarity index 100% rename from src/SilkierQuartz/Content/Lib/semantic-ui/themes/default/assets/fonts/outline-icons.ttf rename to src/SilkierQuartz/Content/Lib/semanticui/themes/default/assets/fonts/outline-icons.ttf diff --git a/src/SilkierQuartz/Content/Lib/semantic-ui/themes/default/assets/fonts/outline-icons.woff b/src/SilkierQuartz/Content/Lib/semanticui/themes/default/assets/fonts/outline-icons.woff similarity index 100% rename from src/SilkierQuartz/Content/Lib/semantic-ui/themes/default/assets/fonts/outline-icons.woff rename to src/SilkierQuartz/Content/Lib/semanticui/themes/default/assets/fonts/outline-icons.woff diff --git a/src/SilkierQuartz/Content/Lib/semantic-ui/themes/default/assets/fonts/outline-icons.woff2 b/src/SilkierQuartz/Content/Lib/semanticui/themes/default/assets/fonts/outline-icons.woff2 similarity index 100% rename from src/SilkierQuartz/Content/Lib/semantic-ui/themes/default/assets/fonts/outline-icons.woff2 rename to src/SilkierQuartz/Content/Lib/semanticui/themes/default/assets/fonts/outline-icons.woff2 diff --git a/src/SilkierQuartz/Content/Lib/src b/src/SilkierQuartz/Content/Lib/src index a8ee30d..f50ca71 100644 --- a/src/SilkierQuartz/Content/Lib/src +++ b/src/SilkierQuartz/Content/Lib/src @@ -1,8 +1,8 @@ -https://cdn.jsdelivr.net/npm/semantic-ui@2.3.3/dist/semantic.min.css -https://cdn.rawgit.com/mdehoog/Semantic-UI-Calendar/76959c6f7d33a527b49be76789e984a0a407350b/dist/calendar.min.css +https://cdn.jsdelivr.net/npm/semanticui@2.3.3/dist/semantic.min.css +https://cdn.rawgit.com/mdehoog/semanticui-Calendar/76959c6f7d33a527b49be76789e984a0a407350b/dist/calendar.min.css https://code.jquery.com/jquery-3.3.1.min.js" -https://cdn.jsdelivr.net/npm/semantic-ui@2.3.3/dist/semantic.min.js -https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.3.0/components/state.min.js +https://cdn.jsdelivr.net/npm/semanticui@2.3.3/dist/semantic.min.js +https://cdnjs.cloudflare.com/ajax/libs/semanticui/2.3.0/components/state.min.js https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js -https://cdn.rawgit.com/mdehoog/Semantic-UI-Calendar/76959c6f7d33a527b49be76789e984a0a407350b/dist/calendar.min.js +https://cdn.rawgit.com/mdehoog/semanticui-Calendar/76959c6f7d33a527b49be76789e984a0a407350b/dist/calendar.min.js diff --git a/src/SilkierQuartz/SilkierQuartz.csproj b/src/SilkierQuartz/SilkierQuartz.csproj index 9aa4e9e..072c497 100644 --- a/src/SilkierQuartz/SilkierQuartz.csproj +++ b/src/SilkierQuartz/SilkierQuartz.csproj @@ -1,7 +1,7 @@  - netcoreapp3.1;net5.0;net6.0 + net6.0 PackageReference true true @@ -29,10 +29,37 @@ logo.png true - + + true + Library + full + + + + True + + + + True + + + + True + + + + False + + + + False + + + + False diff --git a/src/SilkierQuartz/SilkierQuartzOptions.cs b/src/SilkierQuartz/SilkierQuartzOptions.cs index 6a06f36..f2935e2 100644 --- a/src/SilkierQuartz/SilkierQuartzOptions.cs +++ b/src/SilkierQuartz/SilkierQuartzOptions.cs @@ -74,17 +74,8 @@ namespace SilkierQuartz StandardTypes.Add(new StringHandler() { Name = "MultilineString", DisplayName = "String (Multiline)", IsMultiline = true }); } -#if DEBUG - public string SitePhysicalDirectory { get; set; } - - internal string ContentRootDirectory => - string.IsNullOrEmpty(SitePhysicalDirectory) ? null : Path.Combine(SitePhysicalDirectory, "Content"); - internal string ViewsRootDirectory => - string.IsNullOrEmpty(SitePhysicalDirectory) ? null : Path.Combine(SitePhysicalDirectory, "Views"); - -#else + internal string ContentRootDirectory => null; internal string ViewsRootDirectory => null; -#endif } } diff --git a/src/SilkierQuartz/ViewFileSystemFactory.cs b/src/SilkierQuartz/ViewFileSystemFactory.cs index a2833a9..a7c4f0a 100644 --- a/src/SilkierQuartz/ViewFileSystemFactory.cs +++ b/src/SilkierQuartz/ViewFileSystemFactory.cs @@ -1,4 +1,6 @@ using HandlebarsDotNet; +using Microsoft.Extensions.FileProviders; +using System.Diagnostics; using System.IO; using System.Reflection; using System.Text; @@ -10,7 +12,6 @@ namespace SilkierQuartz public static ViewEngineFileSystem Create(SilkierQuartzOptions options) { ViewEngineFileSystem fs; - if (string.IsNullOrEmpty(options.ViewsRootDirectory)) { fs = new EmbeddedFileSystem(); @@ -55,18 +56,19 @@ namespace SilkierQuartz private class EmbeddedFileSystem : ViewEngineFileSystem { + private EmbeddedFileProvider fs = new EmbeddedFileProvider(Assembly.GetExecutingAssembly(), "SilkierQuartz.Views"); public override string GetFileContent(string filename) { - using (var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(GetFullPath(filename))) + string result = string.Empty; + var fi = fs.GetFileInfo(GetFullPath(filename)); + using (var stream =fi.CreateReadStream()) { - if (stream == null) - return null; - - using (var reader = new StreamReader(stream, Encoding.UTF8)) + using (StreamReader reader = new StreamReader(stream)) { - return reader.ReadToEnd(); + result = reader.ReadToEnd(); } } + return result; } protected override string CombinePath(string dir, string otherFileName) @@ -76,13 +78,13 @@ namespace SilkierQuartz public override bool FileExists(string filePath) { - return Assembly.GetExecutingAssembly().GetManifestResourceInfo(GetFullPath(filePath)) != null; + return fs.GetFileInfo(GetFullPath(filePath)).Exists; } - string GetFullPath(string filePath) { - return Path.Combine(nameof(SilkierQuartz) + ".Views", filePath.Replace("partials/", "Partials/")).Replace('/', '.').Replace('\\', '.'); + return filePath.Replace("partials/", "Partials/").Replace('/', Path.DirectorySeparatorChar); } + } } diff --git a/src/SilkierQuartz/Views/Error.hbs b/src/SilkierQuartz/Views/Error.hbs index 82fc0e1..76e165f 100644 --- a/src/SilkierQuartz/Views/Error.hbs +++ b/src/SilkierQuartz/Views/Error.hbs @@ -9,7 +9,7 @@ Error - +