public static void AddMjmlServices(this IServiceCollection serviceCollection, Action <MjmlServiceOptions> configure) { var options = new MjmlServiceOptions(); configure(options); serviceCollection.AddNodeJS(); serviceCollection.AddSingleton(options); serviceCollection.AddSingleton <IMjmlServices, MjmlServices>(); }
public MjmlServices(INodeJSService nodeServices, MjmlServiceOptions options) { _nodeServices = nodeServices; _options = options; _renderer = GetRenderer(); if (options.WarmUpRender) { Warmup().Wait(); } }
public MjmlServices(INodeServices nodeServices, MjmlServiceOptions options) { _nodeServices = nodeServices; _options = options; // setup renderer script var assembly = typeof(MjmlServices).Assembly; using (var stream = assembly.GetManifestResourceStream("Mjml.AspNetCore.dist.renderer.js")) using (var reader = new StreamReader(stream)) { var result = reader.ReadToEnd(); _renderer = new StringAsTempFile(result, CancellationToken.None); } // force load the render script Warmup().Wait(); }