Browse Source

Refactor.

pull/8673/head
maliming 5 years ago
parent
commit
90f53f4f32
  1. 10
      docs/en/Text-Templating-Razor.md
  2. 10
      docs/en/Text-Templating-Scriban.md
  3. 2
      framework/Volo.Abp.sln
  4. 33
      framework/src/Volo.Abp.TextTemplating.Abstractions/Volo/Abp/TextTemplating/AbpTemplateRendererProviderOptions.cs
  5. 0
      framework/src/Volo.Abp.TextTemplating.Core/FodyWeavers.xml
  6. 0
      framework/src/Volo.Abp.TextTemplating.Core/FodyWeavers.xsd
  7. 0
      framework/src/Volo.Abp.TextTemplating.Core/Volo.Abp.TextTemplating.Core.csproj
  8. 26
      framework/src/Volo.Abp.TextTemplating.Core/Volo/Abp/TextTemplating/AbpTemplateRenderer.cs
  9. 2
      framework/src/Volo.Abp.TextTemplating.Core/Volo/Abp/TextTemplating/AbpTextTemplatingCoreModule.cs
  10. 10
      framework/src/Volo.Abp.TextTemplating.Core/Volo/Abp/TextTemplating/AbpTextTemplatingOptions.cs
  11. 0
      framework/src/Volo.Abp.TextTemplating.Core/Volo/Abp/TextTemplating/ITemplateContentContributor.cs
  12. 0
      framework/src/Volo.Abp.TextTemplating.Core/Volo/Abp/TextTemplating/ITemplateContentProvider.cs
  13. 0
      framework/src/Volo.Abp.TextTemplating.Core/Volo/Abp/TextTemplating/ITemplateDefinitionContext.cs
  14. 0
      framework/src/Volo.Abp.TextTemplating.Core/Volo/Abp/TextTemplating/ITemplateDefinitionManager.cs
  15. 0
      framework/src/Volo.Abp.TextTemplating.Core/Volo/Abp/TextTemplating/ITemplateDefinitionProvider.cs
  16. 0
      framework/src/Volo.Abp.TextTemplating.Core/Volo/Abp/TextTemplating/ITemplateRenderer.cs
  17. 2
      framework/src/Volo.Abp.TextTemplating.Core/Volo/Abp/TextTemplating/ITemplateRenderingEngine.cs
  18. 0
      framework/src/Volo.Abp.TextTemplating.Core/Volo/Abp/TextTemplating/TemplateContentContributorContext.cs
  19. 0
      framework/src/Volo.Abp.TextTemplating.Core/Volo/Abp/TextTemplating/TemplateContentProvider.cs
  20. 2
      framework/src/Volo.Abp.TextTemplating.Core/Volo/Abp/TextTemplating/TemplateDefinition.cs
  21. 0
      framework/src/Volo.Abp.TextTemplating.Core/Volo/Abp/TextTemplating/TemplateDefinitionContext.cs
  22. 0
      framework/src/Volo.Abp.TextTemplating.Core/Volo/Abp/TextTemplating/TemplateDefinitionExtensions.cs
  23. 0
      framework/src/Volo.Abp.TextTemplating.Core/Volo/Abp/TextTemplating/TemplateDefinitionManager.cs
  24. 0
      framework/src/Volo.Abp.TextTemplating.Core/Volo/Abp/TextTemplating/TemplateDefinitionProvider.cs
  25. 4
      framework/src/Volo.Abp.TextTemplating.Core/Volo/Abp/TextTemplating/TemplateRenderingEngineBase.cs
  26. 0
      framework/src/Volo.Abp.TextTemplating.Core/Volo/Abp/TextTemplating/VirtualFiles/FileInfoLocalizedTemplateContentReader.cs
  27. 0
      framework/src/Volo.Abp.TextTemplating.Core/Volo/Abp/TextTemplating/VirtualFiles/ILocalizedTemplateContentReader.cs
  28. 0
      framework/src/Volo.Abp.TextTemplating.Core/Volo/Abp/TextTemplating/VirtualFiles/ILocalizedTemplateContentReaderFactory.cs
  29. 0
      framework/src/Volo.Abp.TextTemplating.Core/Volo/Abp/TextTemplating/VirtualFiles/LocalizedTemplateContentReaderFactory.cs
  30. 0
      framework/src/Volo.Abp.TextTemplating.Core/Volo/Abp/TextTemplating/VirtualFiles/NullLocalizedTemplateContentReader.cs
  31. 0
      framework/src/Volo.Abp.TextTemplating.Core/Volo/Abp/TextTemplating/VirtualFiles/VirtualFileTemplateContentContributor.cs
  32. 0
      framework/src/Volo.Abp.TextTemplating.Core/Volo/Abp/TextTemplating/VirtualFiles/VirtualFolderLocalizedTemplateContentReader.cs
  33. 2
      framework/src/Volo.Abp.TextTemplating.Razor/Volo.Abp.TextTemplating.Razor.csproj
  34. 13
      framework/src/Volo.Abp.TextTemplating.Razor/Volo/Abp/TextTemplating/Razor/AbpTextTemplatingRazorModule.cs
  35. 12
      framework/src/Volo.Abp.TextTemplating.Razor/Volo/Abp/TextTemplating/Razor/RazorTemplateDefinitionExtensions.cs
  36. 8
      framework/src/Volo.Abp.TextTemplating.Razor/Volo/Abp/TextTemplating/Razor/RazorTemplateRenderingEngine.cs
  37. 2
      framework/src/Volo.Abp.TextTemplating.Scriban/Volo.Abp.TextTemplating.Scriban.csproj
  38. 7
      framework/src/Volo.Abp.TextTemplating.Scriban/Volo/Abp/TextTemplating/Scriban/AbpTextTemplatingScribanModule.cs
  39. 12
      framework/src/Volo.Abp.TextTemplating.Scriban/Volo/Abp/TextTemplating/Scriban/ScribanTemplateDefinitionExtensions.cs
  40. 8
      framework/src/Volo.Abp.TextTemplating.Scriban/Volo/Abp/TextTemplating/Scriban/ScribanTemplateRenderingEngine.cs
  41. 1
      framework/src/Volo.Abp.TextTemplating/Volo.Abp.TextTemplating.csproj
  42. 13
      framework/src/Volo.Abp.TextTemplating/Volo/Abp/TextTemplating/AbpTextTemplatingModule.cs
  43. 16
      framework/src/Volo.Abp.TextTemplating/Volo/Abp/TextTemplating/TextTemplating/AbpTextTemplatingModule.cs
  44. 8
      framework/test/Volo.Abp.TextTemplating.Razor.Tests/Volo/Abp/TextTemplating/Razor/RazorTestTemplateDefinitionProvider.cs
  45. 8
      framework/test/Volo.Abp.TextTemplating.Scriban.Tests/Volo/Abp/TextTemplating/Scriban/ScribanTestTemplateDefinitionProvider.cs
  46. 2
      framework/test/Volo.Abp.TextTemplating.Tests/Volo.Abp.TextTemplating.Tests.csproj
  47. 4
      framework/test/Volo.Abp.TextTemplating.Tests/Volo/Abp/TextTemplating/AbpTextTemplatingTestModule.cs
  48. 4
      framework/test/Volo.Abp.TextTemplating.Tests/Volo/Abp/TextTemplating/TestTemplateDefinitionProvider.cs
  49. 2
      nupkg/common.ps1

10
docs/en/Text-Templating-Razor.md

@ -84,7 +84,7 @@ public class DemoTemplateDefinitionProvider : TemplateDefinitionProvider
{
context.Add(
new TemplateDefinition("Hello") //template name: "Hello"
.WithRenderEngine(RazorTemplateRendererProvider.ProviderName)
.WithRazorTemplate()
.WithVirtualFilePath(
"/Demos/Hello/Hello.cshtml", //template content path
isInlineLocalized: true
@ -226,7 +226,7 @@ context.Add(
"PasswordReset", //Template name
typeof(DemoResource) //LOCALIZATION RESOURCE
)
.WithRenderEngine(RazorTemplateRendererProvider.ProviderName)
.WithRazorTemplate()
.WithVirtualFilePath(
"/Demos/PasswordReset/PasswordReset.cshtml", //template content path
isInlineLocalized: true
@ -275,7 +275,7 @@ context.Add(
name: "WelcomeEmail",
defaultCultureName: "en"
)
.WithRenderEngine(RazorTemplateRendererProvider.ProviderName)
.WithRazorTemplate()
.WithVirtualFilePath(
"/Demos/WelcomeEmail/Templates", //template content folder
isInlineLocalized: false
@ -339,7 +339,7 @@ context.Add(
"EmailLayout",
isLayout: true //SET isLayout!
)
.WithRenderEngine(RazorTemplateRendererProvider.ProviderName)
.WithRazorTemplate()
.WithVirtualFilePath(
"/Demos/EmailLayout/EmailLayout.cshtml",
isInlineLocalized: true
@ -356,7 +356,7 @@ context.Add(
defaultCultureName: "en",
layout: "EmailLayout" //Set the LAYOUT
)
.WithRenderEngine(RazorTemplateRendererProvider.ProviderName)
.WithRazorTemplate()
.WithVirtualFilePath(
"/Demos/WelcomeEmail/Templates",
isInlineLocalized: false

10
docs/en/Text-Templating-Scriban.md

@ -49,7 +49,7 @@ public class DemoTemplateDefinitionProvider : TemplateDefinitionProvider
"/Demos/Hello/Hello.tpl", //template content path
isInlineLocalized: true
)
.WithRenderEngine(ScribanTemplateRendererProvider.ProviderName)
.WithScribanTemplate()
);
}
}
@ -178,7 +178,7 @@ context.Add(
"PasswordReset", //Template name
typeof(DemoResource) //LOCALIZATION RESOURCE
)
.WithRenderEngine(ScribanTemplateRendererProvider.ProviderName)
.WithScribanTemplate()
.WithVirtualFilePath(
"/Demos/PasswordReset/PasswordReset.tpl", //template content path
isInlineLocalized: true
@ -227,7 +227,7 @@ context.Add(
name: "WelcomeEmail",
defaultCultureName: "en"
)
.WithRenderEngine(ScribanTemplateRendererProvider.ProviderName)
.WithScribanTemplate()
.WithVirtualFilePath(
"/Demos/WelcomeEmail/Templates", //template content folder
isInlineLocalized: false
@ -290,7 +290,7 @@ context.Add(
"EmailLayout",
isLayout: true //SET isLayout!
)
.WithRenderEngine(ScribanTemplateRendererProvider.ProviderName)
.WithScribanTemplate()
.WithVirtualFilePath(
"/Demos/EmailLayout/EmailLayout.tpl",
isInlineLocalized: true
@ -307,7 +307,7 @@ context.Add(
defaultCultureName: "en",
layout: "EmailLayout" //Set the LAYOUT
)
.WithRenderEngine(ScribanTemplateRendererProvider.ProviderName)
.WithScribanTemplate()
.WithVirtualFilePath(
"/Demos/WelcomeEmail/Templates",
isInlineLocalized: false

2
framework/Volo.Abp.sln

@ -385,7 +385,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.AspNetCore.Mvc.UI.
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.Authorization.Abstractions", "src\Volo.Abp.Authorization.Abstractions\Volo.Abp.Authorization.Abstractions.csproj", "{87B0C2A8-FE95-4779-8B9C-2181AA52B3FA}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.TextTemplating.Abstractions", "src\Volo.Abp.TextTemplating.Abstractions\Volo.Abp.TextTemplating.Abstractions.csproj", "{184E859A-282D-44D7-B8E9-FEA874644013}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.TextTemplating.Core", "src\Volo.Abp.TextTemplating.Core\Volo.Abp.TextTemplating.Core.csproj", "{184E859A-282D-44D7-B8E9-FEA874644013}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.TextTemplating.Scriban", "src\Volo.Abp.TextTemplating.Scriban\Volo.Abp.TextTemplating.Scriban.csproj", "{228723E6-FA6D-406B-B8F8-C9BCC547AF8E}"
EndProject

33
framework/src/Volo.Abp.TextTemplating.Abstractions/Volo/Abp/TextTemplating/AbpTemplateRendererProviderOptions.cs

@ -1,33 +0,0 @@
using System;
using System.Collections.Generic;
namespace Volo.Abp.TextTemplating
{
public class AbpTemplateRendererProviderOptions
{
protected IDictionary<string, Type> Providers { get; }
public AbpTemplateRendererProviderOptions()
{
Providers = new Dictionary<string, Type>();
}
public AbpTemplateRendererProviderOptions AddProvider<TProvider>(string templateRenderEngineName)
where TProvider : ITemplateRendererProvider
{
if (Providers.ContainsKey(templateRenderEngineName))
{
Providers.RemoveAll(x => x.Key == templateRenderEngineName);
}
Providers[templateRenderEngineName] = typeof(TProvider);
return this;
}
public Type GetProviderTypeOrNull(string templateRenderEngineName)
{
return templateRenderEngineName == null ? null : Providers.GetOrDefault(templateRenderEngineName);
}
}
}

0
framework/src/Volo.Abp.TextTemplating.Abstractions/FodyWeavers.xml → framework/src/Volo.Abp.TextTemplating.Core/FodyWeavers.xml

0
framework/src/Volo.Abp.TextTemplating.Abstractions/FodyWeavers.xsd → framework/src/Volo.Abp.TextTemplating.Core/FodyWeavers.xsd

0
framework/src/Volo.Abp.TextTemplating.Abstractions/Volo.Abp.TextTemplating.Abstractions.csproj → framework/src/Volo.Abp.TextTemplating.Core/Volo.Abp.TextTemplating.Core.csproj

26
framework/src/Volo.Abp.TextTemplating/Volo/Abp/TextTemplating/TextTemplating/AbpTemplateRenderer.cs → framework/src/Volo.Abp.TextTemplating.Core/Volo/Abp/TextTemplating/AbpTemplateRenderer.cs

@ -4,22 +4,21 @@ using System.Threading.Tasks;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Options;
using Volo.Abp.DependencyInjection;
using Volo.Abp.TextTemplating.Scriban;
namespace Volo.Abp.TextTemplating
{
public class AbpTemplateRenderer : ITemplateRenderer, ITransientDependency
{
protected IServiceProvider ServiceProvider { get; }
protected IServiceScopeFactory ServiceScopeFactory { get; }
protected ITemplateDefinitionManager TemplateDefinitionManager { get; }
protected AbpTemplateRendererProviderOptions Options { get; }
protected AbpTextTemplatingOptions Options { get; }
public AbpTemplateRenderer(
IServiceProvider serviceProvider,
IServiceScopeFactory serviceScopeFactory,
ITemplateDefinitionManager templateDefinitionManager,
IOptions<AbpTemplateRendererProviderOptions> options)
IOptions<AbpTextTemplatingOptions> options)
{
ServiceProvider = serviceProvider;
ServiceScopeFactory = serviceScopeFactory;
TemplateDefinitionManager = templateDefinitionManager;
Options = options.Value;
}
@ -36,18 +35,21 @@ namespace Volo.Abp.TextTemplating
if (renderEngine.IsNullOrWhiteSpace())
{
renderEngine = ScribanTemplateRendererProvider.ProviderName;
renderEngine = Options.DefaultRenderingEngine;
}
var providerType = Options.GetProviderTypeOrNull(renderEngine);
var providerType = Options.RenderingEngines.GetOrDefault(renderEngine);
if (providerType != null)
if (providerType != null && typeof(ITemplateRenderingEngine).IsAssignableFrom(providerType))
{
var templateRendererProvider = (ITemplateRendererProvider)ServiceProvider.GetRequiredService(providerType);
return await templateRendererProvider.RenderAsync(templateName, model, cultureName, globalContext);
using (var scope = ServiceScopeFactory.CreateScope())
{
var templateRenderingEngine = (ITemplateRenderingEngine)scope.ServiceProvider.GetRequiredService(providerType);
return await templateRenderingEngine.RenderAsync(templateName, model, cultureName, globalContext);
}
}
throw new AbpException("There is no render engine found with template name: " + templateName);
throw new AbpException("There is no rendering engine found with template name: " + templateName);
}
}
}

2
framework/src/Volo.Abp.TextTemplating.Abstractions/Volo/Abp/TextTemplating/AbpTextTemplatingAbstractionsModule.cs → framework/src/Volo.Abp.TextTemplating.Core/Volo/Abp/TextTemplating/AbpTextTemplatingCoreModule.cs

@ -11,7 +11,7 @@ namespace Volo.Abp.TextTemplating
typeof(AbpVirtualFileSystemModule),
typeof(AbpLocalizationAbstractionsModule)
)]
public class AbpTextTemplatingAbstractionsModule : AbpModule
public class AbpTextTemplatingCoreModule : AbpModule
{
public override void PreConfigureServices(ServiceConfigurationContext context)
{

10
framework/src/Volo.Abp.TextTemplating.Abstractions/Volo/Abp/TextTemplating/AbpTextTemplatingOptions.cs → framework/src/Volo.Abp.TextTemplating.Core/Volo/Abp/TextTemplating/AbpTextTemplatingOptions.cs

@ -1,4 +1,6 @@
using Volo.Abp.Collections;
using System;
using System.Collections.Generic;
using Volo.Abp.Collections;
namespace Volo.Abp.TextTemplating
{
@ -6,11 +8,15 @@ namespace Volo.Abp.TextTemplating
{
public ITypeList<ITemplateDefinitionProvider> DefinitionProviders { get; }
public ITypeList<ITemplateContentContributor> ContentContributors { get; }
public IDictionary<string, Type> RenderingEngines { get; }
public string DefaultRenderingEngine { get; set; }
public AbpTextTemplatingOptions()
{
DefinitionProviders = new TypeList<ITemplateDefinitionProvider>();
ContentContributors = new TypeList<ITemplateContentContributor>();
RenderingEngines = new Dictionary<string, Type>();
}
}
}
}

0
framework/src/Volo.Abp.TextTemplating.Abstractions/Volo/Abp/TextTemplating/ITemplateContentContributor.cs → framework/src/Volo.Abp.TextTemplating.Core/Volo/Abp/TextTemplating/ITemplateContentContributor.cs

0
framework/src/Volo.Abp.TextTemplating.Abstractions/Volo/Abp/TextTemplating/ITemplateContentProvider.cs → framework/src/Volo.Abp.TextTemplating.Core/Volo/Abp/TextTemplating/ITemplateContentProvider.cs

0
framework/src/Volo.Abp.TextTemplating.Abstractions/Volo/Abp/TextTemplating/ITemplateDefinitionContext.cs → framework/src/Volo.Abp.TextTemplating.Core/Volo/Abp/TextTemplating/ITemplateDefinitionContext.cs

0
framework/src/Volo.Abp.TextTemplating.Abstractions/Volo/Abp/TextTemplating/ITemplateDefinitionManager.cs → framework/src/Volo.Abp.TextTemplating.Core/Volo/Abp/TextTemplating/ITemplateDefinitionManager.cs

0
framework/src/Volo.Abp.TextTemplating.Abstractions/Volo/Abp/TextTemplating/ITemplateDefinitionProvider.cs → framework/src/Volo.Abp.TextTemplating.Core/Volo/Abp/TextTemplating/ITemplateDefinitionProvider.cs

0
framework/src/Volo.Abp.TextTemplating.Abstractions/Volo/Abp/TextTemplating/ITemplateRenderer.cs → framework/src/Volo.Abp.TextTemplating.Core/Volo/Abp/TextTemplating/ITemplateRenderer.cs

2
framework/src/Volo.Abp.TextTemplating.Abstractions/Volo/Abp/TextTemplating/ITemplateRendererProvider.cs → framework/src/Volo.Abp.TextTemplating.Core/Volo/Abp/TextTemplating/ITemplateRenderingEngine.cs

@ -5,7 +5,7 @@ using JetBrains.Annotations;
namespace Volo.Abp.TextTemplating
{
public interface ITemplateRendererProvider
public interface ITemplateRenderingEngine
{
string Name { get; }

0
framework/src/Volo.Abp.TextTemplating.Abstractions/Volo/Abp/TextTemplating/TemplateContentContributorContext.cs → framework/src/Volo.Abp.TextTemplating.Core/Volo/Abp/TextTemplating/TemplateContentContributorContext.cs

0
framework/src/Volo.Abp.TextTemplating.Abstractions/Volo/Abp/TextTemplating/TemplateContentProvider.cs → framework/src/Volo.Abp.TextTemplating.Core/Volo/Abp/TextTemplating/TemplateContentProvider.cs

2
framework/src/Volo.Abp.TextTemplating.Abstractions/Volo/Abp/TextTemplating/TemplateDefinition.cs → framework/src/Volo.Abp.TextTemplating.Core/Volo/Abp/TextTemplating/TemplateDefinition.cs

@ -38,7 +38,7 @@ namespace Volo.Abp.TextTemplating
public string DefaultCultureName { get; }
[CanBeNull]
public string RenderEngine { get; protected set; }
public string RenderEngine { get; set; }
/// <summary>
/// Gets/sets a key-value on the <see cref="Properties"/>.

0
framework/src/Volo.Abp.TextTemplating.Abstractions/Volo/Abp/TextTemplating/TemplateDefinitionContext.cs → framework/src/Volo.Abp.TextTemplating.Core/Volo/Abp/TextTemplating/TemplateDefinitionContext.cs

0
framework/src/Volo.Abp.TextTemplating.Abstractions/Volo/Abp/TextTemplating/TemplateDefinitionExtensions.cs → framework/src/Volo.Abp.TextTemplating.Core/Volo/Abp/TextTemplating/TemplateDefinitionExtensions.cs

0
framework/src/Volo.Abp.TextTemplating.Abstractions/Volo/Abp/TextTemplating/TemplateDefinitionManager.cs → framework/src/Volo.Abp.TextTemplating.Core/Volo/Abp/TextTemplating/TemplateDefinitionManager.cs

0
framework/src/Volo.Abp.TextTemplating.Abstractions/Volo/Abp/TextTemplating/TemplateDefinitionProvider.cs → framework/src/Volo.Abp.TextTemplating.Core/Volo/Abp/TextTemplating/TemplateDefinitionProvider.cs

4
framework/src/Volo.Abp.TextTemplating.Abstractions/Volo/Abp/TextTemplating/TemplateRendererProviderBase.cs → framework/src/Volo.Abp.TextTemplating.Core/Volo/Abp/TextTemplating/TemplateRenderingEngineBase.cs

@ -4,7 +4,7 @@ using Microsoft.Extensions.Localization;
namespace Volo.Abp.TextTemplating
{
public abstract class TemplateRendererProviderBase : ITemplateRendererProvider
public abstract class TemplateRenderingEngineBase : ITemplateRenderingEngine
{
public abstract string Name { get; }
@ -12,7 +12,7 @@ namespace Volo.Abp.TextTemplating
protected readonly ITemplateContentProvider TemplateContentProvider;
protected readonly IStringLocalizerFactory StringLocalizerFactory;
public TemplateRendererProviderBase(
public TemplateRenderingEngineBase(
ITemplateDefinitionManager templateDefinitionManager,
ITemplateContentProvider templateContentProvider,
IStringLocalizerFactory stringLocalizerFactory)

0
framework/src/Volo.Abp.TextTemplating.Abstractions/Volo/Abp/TextTemplating/VirtualFiles/FileInfoLocalizedTemplateContentReader.cs → framework/src/Volo.Abp.TextTemplating.Core/Volo/Abp/TextTemplating/VirtualFiles/FileInfoLocalizedTemplateContentReader.cs

0
framework/src/Volo.Abp.TextTemplating.Abstractions/Volo/Abp/TextTemplating/VirtualFiles/ILocalizedTemplateContentReader.cs → framework/src/Volo.Abp.TextTemplating.Core/Volo/Abp/TextTemplating/VirtualFiles/ILocalizedTemplateContentReader.cs

0
framework/src/Volo.Abp.TextTemplating.Abstractions/Volo/Abp/TextTemplating/VirtualFiles/ILocalizedTemplateContentReaderFactory.cs → framework/src/Volo.Abp.TextTemplating.Core/Volo/Abp/TextTemplating/VirtualFiles/ILocalizedTemplateContentReaderFactory.cs

0
framework/src/Volo.Abp.TextTemplating.Abstractions/Volo/Abp/TextTemplating/VirtualFiles/LocalizedTemplateContentReaderFactory.cs → framework/src/Volo.Abp.TextTemplating.Core/Volo/Abp/TextTemplating/VirtualFiles/LocalizedTemplateContentReaderFactory.cs

0
framework/src/Volo.Abp.TextTemplating.Abstractions/Volo/Abp/TextTemplating/VirtualFiles/NullLocalizedTemplateContentReader.cs → framework/src/Volo.Abp.TextTemplating.Core/Volo/Abp/TextTemplating/VirtualFiles/NullLocalizedTemplateContentReader.cs

0
framework/src/Volo.Abp.TextTemplating.Abstractions/Volo/Abp/TextTemplating/VirtualFiles/VirtualFileTemplateContentContributor.cs → framework/src/Volo.Abp.TextTemplating.Core/Volo/Abp/TextTemplating/VirtualFiles/VirtualFileTemplateContentContributor.cs

0
framework/src/Volo.Abp.TextTemplating.Abstractions/Volo/Abp/TextTemplating/VirtualFiles/VirtualFolderLocalizedTemplateContentReader.cs → framework/src/Volo.Abp.TextTemplating.Core/Volo/Abp/TextTemplating/VirtualFiles/VirtualFolderLocalizedTemplateContentReader.cs

2
framework/src/Volo.Abp.TextTemplating.Razor/Volo.Abp.TextTemplating.Razor.csproj

@ -9,7 +9,7 @@
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\Volo.Abp.TextTemplating.Abstractions\Volo.Abp.TextTemplating.Abstractions.csproj" />
<ProjectReference Include="..\Volo.Abp.TextTemplating.Core\Volo.Abp.TextTemplating.Core.csproj" />
</ItemGroup>
<ItemGroup>

13
framework/src/Volo.Abp.TextTemplating.Razor/Volo/Abp/TextTemplating/Razor/AbpTextTemplatingRazorModule.cs

@ -1,17 +1,22 @@
using Volo.Abp.Modularity;
using System;
using Volo.Abp.Modularity;
namespace Volo.Abp.TextTemplating.Razor
{
[DependsOn(
typeof(AbpTextTemplatingAbstractionsModule)
typeof(AbpTextTemplatingCoreModule)
)]
public class AbpTextTemplatingRazorModule : AbpModule
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
Configure<AbpTemplateRendererProviderOptions>(options =>
Configure<AbpTextTemplatingOptions>(options =>
{
options.AddProvider<RazorTemplateRendererProvider>(RazorTemplateRendererProvider.ProviderName);
if (options.DefaultRenderingEngine.IsNullOrWhiteSpace())
{
options.DefaultRenderingEngine = RazorTemplateRenderingEngine.EngineName;
}
options.RenderingEngines[RazorTemplateRenderingEngine.EngineName] = typeof(RazorTemplateRenderingEngine);
});
}
}

12
framework/src/Volo.Abp.TextTemplating.Razor/Volo/Abp/TextTemplating/Razor/RazorTemplateDefinitionExtensions.cs

@ -0,0 +1,12 @@
using JetBrains.Annotations;
namespace Volo.Abp.TextTemplating.Razor
{
public static class RazorTemplateDefinitionExtensions
{
public static TemplateDefinition WithRazorTemplate([NotNull] this TemplateDefinition templateDefinition)
{
return templateDefinition.WithRenderEngine(RazorTemplateRenderingEngine.EngineName);
}
}
}

8
framework/src/Volo.Abp.TextTemplating.Razor/Volo/Abp/TextTemplating/Razor/RazorTemplateRendererProvider.cs → framework/src/Volo.Abp.TextTemplating.Razor/Volo/Abp/TextTemplating/Razor/RazorTemplateRenderingEngine.cs

@ -12,15 +12,15 @@ using Volo.Abp.Localization;
namespace Volo.Abp.TextTemplating.Razor
{
public class RazorTemplateRendererProvider : TemplateRendererProviderBase, ITransientDependency
public class RazorTemplateRenderingEngine : TemplateRenderingEngineBase, ITransientDependency
{
public const string ProviderName = "Razor";
public override string Name => ProviderName;
public const string EngineName = "Razor";
public override string Name => EngineName;
protected readonly IServiceScopeFactory ServiceScopeFactory;
protected readonly IAbpCompiledViewProvider AbpCompiledViewProvider;
public RazorTemplateRendererProvider(
public RazorTemplateRenderingEngine(
IServiceScopeFactory serviceScopeFactory,
IAbpCompiledViewProvider abpCompiledViewProvider,
ITemplateDefinitionManager templateDefinitionManager,

2
framework/src/Volo.Abp.TextTemplating.Scriban/Volo.Abp.TextTemplating.Scriban.csproj

@ -9,7 +9,7 @@
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\Volo.Abp.TextTemplating.Abstractions\Volo.Abp.TextTemplating.Abstractions.csproj" />
<ProjectReference Include="..\Volo.Abp.TextTemplating.Core\Volo.Abp.TextTemplating.Core.csproj" />
</ItemGroup>
<ItemGroup>

7
framework/src/Volo.Abp.TextTemplating.Scriban/Volo/Abp/TextTemplating/Scriban/AbpTextTemplatingScribanModule.cs

@ -3,15 +3,16 @@
namespace Volo.Abp.TextTemplating.Scriban
{
[DependsOn(
typeof(AbpTextTemplatingAbstractionsModule)
typeof(AbpTextTemplatingCoreModule)
)]
public class AbpTextTemplatingScribanModule : AbpModule
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
Configure<AbpTemplateRendererProviderOptions>(options =>
Configure<AbpTextTemplatingOptions>(options =>
{
options.AddProvider<ScribanTemplateRendererProvider>(ScribanTemplateRendererProvider.ProviderName);
options.DefaultRenderingEngine = ScribanTemplateRenderingEngine.EngineName;
options.RenderingEngines[ScribanTemplateRenderingEngine.EngineName] = typeof(ScribanTemplateRenderingEngine);
});
}
}

12
framework/src/Volo.Abp.TextTemplating.Scriban/Volo/Abp/TextTemplating/Scriban/ScribanTemplateDefinitionExtensions.cs

@ -0,0 +1,12 @@
using JetBrains.Annotations;
namespace Volo.Abp.TextTemplating.Scriban
{
public static class ScribanTemplateDefinitionExtensions
{
public static TemplateDefinition WithScribanTemplate([NotNull] this TemplateDefinition templateDefinition)
{
return templateDefinition.WithRenderEngine(ScribanTemplateRenderingEngine.EngineName);
}
}
}

8
framework/src/Volo.Abp.TextTemplating.Scriban/Volo/Abp/TextTemplating/Scriban/ScribanTemplateRendererProvider.cs → framework/src/Volo.Abp.TextTemplating.Scriban/Volo/Abp/TextTemplating/Scriban/ScribanTemplateRenderingEngine.cs

@ -9,12 +9,12 @@ using Volo.Abp.Localization;
namespace Volo.Abp.TextTemplating.Scriban
{
public class ScribanTemplateRendererProvider : TemplateRendererProviderBase, ITransientDependency
public class ScribanTemplateRenderingEngine : TemplateRenderingEngineBase, ITransientDependency
{
public const string ProviderName = "Scriban";
public override string Name => ProviderName;
public const string EngineName = "Scriban";
public override string Name => EngineName;
public ScribanTemplateRendererProvider(
public ScribanTemplateRenderingEngine(
ITemplateDefinitionManager templateDefinitionManager,
ITemplateContentProvider templateContentProvider,
IStringLocalizerFactory stringLocalizerFactory)

1
framework/src/Volo.Abp.TextTemplating/Volo.Abp.TextTemplating.csproj

@ -10,7 +10,6 @@
<ItemGroup>
<ProjectReference Include="..\Volo.Abp.TextTemplating.Scriban\Volo.Abp.TextTemplating.Scriban.csproj" />
<ProjectReference Include="..\Volo.Abp.TextTemplating.Razor\Volo.Abp.TextTemplating.Razor.csproj" />
</ItemGroup>
</Project>

13
framework/src/Volo.Abp.TextTemplating/Volo/Abp/TextTemplating/AbpTextTemplatingModule.cs

@ -0,0 +1,13 @@
using System;
using Volo.Abp.Modularity;
using Volo.Abp.TextTemplating.Scriban;
namespace Volo.Abp.TextTemplating
{
[Obsolete("Use AbpTextTemplatingScribanModule or AbpTextTemplatingRazorModule, This module will remove in the future.")]
[DependsOn(typeof(AbpTextTemplatingScribanModule))]
public class AbpTextTemplatingModule : AbpModule
{
}
}

16
framework/src/Volo.Abp.TextTemplating/Volo/Abp/TextTemplating/TextTemplating/AbpTextTemplatingModule.cs

@ -1,16 +0,0 @@
using Volo.Abp.Modularity;
using Volo.Abp.TextTemplating.Razor;
using Volo.Abp.TextTemplating.Scriban;
namespace Volo.Abp.TextTemplating
{
[DependsOn(
typeof(AbpTextTemplatingAbstractionsModule),
typeof(AbpTextTemplatingScribanModule),
typeof(AbpTextTemplatingRazorModule)
)]
public class AbpTextTemplatingModule : AbpModule
{
}
}

8
framework/test/Volo.Abp.TextTemplating.Razor.Tests/Volo/Abp/TextTemplating/Razor/RazorTestTemplateDefinitionProvider.cs

@ -8,19 +8,19 @@ namespace Volo.Abp.TextTemplating.Razor
{
context.GetOrNull(TestTemplates.WelcomeEmail)?
.WithVirtualFilePath("/SampleTemplates/WelcomeEmail", false)
.WithRenderEngine(RazorTemplateRendererProvider.ProviderName);
.WithRazorTemplate();
context.GetOrNull(TestTemplates.ForgotPasswordEmail)?
.WithVirtualFilePath("/SampleTemplates/ForgotPasswordEmail.cshtml", true)
.WithRenderEngine(RazorTemplateRendererProvider.ProviderName);
.WithRazorTemplate();
context.GetOrNull(TestTemplates.TestTemplateLayout1)?
.WithVirtualFilePath("/SampleTemplates/TestTemplateLayout1.cshtml", true)
.WithRenderEngine(RazorTemplateRendererProvider.ProviderName);
.WithRazorTemplate();
context.GetOrNull(TestTemplates.ShowDecimalNumber)?
.WithVirtualFilePath("/SampleTemplates/ShowDecimalNumber.cshtml", true)
.WithRenderEngine(RazorTemplateRendererProvider.ProviderName);
.WithRazorTemplate();
context.Add(new TemplateDefinition(RazorTestTemplates.TestTemplate).WithVirtualFilePath("/SampleTemplates/TestTemplate.cshtml", true));
}

8
framework/test/Volo.Abp.TextTemplating.Scriban.Tests/Volo/Abp/TextTemplating/Scriban/ScribanTestTemplateDefinitionProvider.cs

@ -6,19 +6,19 @@
{
context.GetOrNull(TestTemplates.WelcomeEmail)?
.WithVirtualFilePath("/SampleTemplates/WelcomeEmail", false)
.WithRenderEngine(ScribanTemplateRendererProvider.ProviderName);
.WithScribanTemplate();
context.GetOrNull(TestTemplates.ForgotPasswordEmail)?
.WithVirtualFilePath("/SampleTemplates/ForgotPasswordEmail.tpl", true)
.WithRenderEngine(ScribanTemplateRendererProvider.ProviderName);
.WithScribanTemplate();
context.GetOrNull(TestTemplates.TestTemplateLayout1)?
.WithVirtualFilePath("/SampleTemplates/TestTemplateLayout1.tpl", true)
.WithRenderEngine(ScribanTemplateRendererProvider.ProviderName);
.WithScribanTemplate();
context.GetOrNull(TestTemplates.ShowDecimalNumber)?
.WithVirtualFilePath("/SampleTemplates/ShowDecimalNumber.tpl", true)
.WithRenderEngine(ScribanTemplateRendererProvider.ProviderName);
.WithScribanTemplate();
}
}
}

2
framework/test/Volo.Abp.TextTemplating.Tests/Volo.Abp.TextTemplating.Tests.csproj

@ -24,6 +24,8 @@
<ProjectReference Include="..\..\src\Volo.Abp.Localization\Volo.Abp.Localization.csproj" />
<ProjectReference Include="..\AbpTestBase\AbpTestBase.csproj" />
<ProjectReference Include="..\..\src\Volo.Abp.TextTemplating\Volo.Abp.TextTemplating.csproj" />
<ProjectReference Include="..\..\src\Volo.Abp.TextTemplating.Scriban\Volo.Abp.TextTemplating.Scriban.csproj" />
<ProjectReference Include="..\..\src\Volo.Abp.TextTemplating.Razor\Volo.Abp.TextTemplating.Razor.csproj" />
<ProjectReference Include="..\..\src\Volo.Abp.Autofac\Volo.Abp.Autofac.csproj" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="$(MicrosoftNETTestSdkPackageVersion)" />
</ItemGroup>

4
framework/test/Volo.Abp.TextTemplating.Tests/Volo/Abp/TextTemplating/AbpTextTemplatingTestModule.cs

@ -5,12 +5,14 @@ using Volo.Abp.Localization;
using Volo.Abp.Modularity;
using Volo.Abp.TextTemplating.Localization;
using Volo.Abp.TextTemplating.Razor;
using Volo.Abp.TextTemplating.Scriban;
using Volo.Abp.VirtualFileSystem;
namespace Volo.Abp.TextTemplating
{
[DependsOn(
typeof(AbpTextTemplatingModule),
typeof(AbpTextTemplatingScribanModule),
typeof(AbpTextTemplatingRazorModule),
typeof(AbpTestBaseModule),
typeof(AbpAutofacModule),
typeof(AbpLocalizationModule)

4
framework/test/Volo.Abp.TextTemplating.Tests/Volo/Abp/TextTemplating/TestTemplateDefinitionProvider.cs

@ -45,7 +45,7 @@ namespace Volo.Abp.TextTemplating
layout: null
)
.WithVirtualFilePath("/SampleTemplates/TestScribanTemplate.tpl", true)
.WithRenderEngine(ScribanTemplateRendererProvider.ProviderName)
.WithScribanTemplate()
);
context.Add(
@ -55,7 +55,7 @@ namespace Volo.Abp.TextTemplating
layout: null
)
.WithVirtualFilePath("/SampleTemplates/TestRazorTemplate.cshtml", true)
.WithRenderEngine(RazorTemplateRendererProvider.ProviderName)
.WithRazorTemplate()
);
}
}

2
nupkg/common.ps1

@ -139,8 +139,8 @@ $projects = (
"framework/src/Volo.Abp.Sms.Aliyun",
"framework/src/Volo.Abp.Specifications",
"framework/src/Volo.Abp.TestBase",
"framework/src/Volo.Abp.TextTemplating.Abstractions",
"framework/src/Volo.Abp.TextTemplating",
"framework/src/Volo.Abp.TextTemplating.Core",
"framework/src/Volo.Abp.TextTemplating.Razor",
"framework/src/Volo.Abp.TextTemplating.Scriban",
"framework/src/Volo.Abp.Threading",

Loading…
Cancel
Save