public override async Task WriteAsync(ScriptScopeContext scope, PageBlockFragment block, CancellationToken token) { if (block.Argument.IsEmpty) throw new NotSupportedException($"Name required in {Name} script block"); var argumentStr = block.Argument.ToString(); var args = argumentStr.SplitOnFirst(' '); var name = args[0].Trim(); using (var ms = MemoryStreamFactory.GetStream()) { var useScope = scope.ScopeWithStream(ms); await WriteBodyAsync(useScope, block, token); var capturedSvg = ms.ReadToEnd(); Svg.AddImage(capturedSvg, name, args.Length == 2 ? args[1].Trim() : null); } }