string RenderPartial(Token token, MustacheContext ctx, string indent) { string name = token.Name; if (Partials == null) { return(string.Empty); } var partial = string.Empty; if (!Partials.TryGetValue(name, out partial)) { return(string.Empty); } var key = "# partial #" + name + "#" + indent; if (!Cache.ContainsKey(key)) { if (string.IsNullOrEmpty(indent)) { Cache[key] = new MustacheParser().Parse(partial, Delimiter.Default()); } else { var replaced = Regex.Replace(partial, @"^(.+)$", indent + "$1", RegexOptions.Multiline); Cache[key] = new MustacheParser().Parse(replaced, Delimiter.Default()); } } return(RenderTokens(ctx, Cache[key])); }
/// <inheritdoc /> public MorestachioDocumentInfo GetPartial(string name, ParserOptions parserOptions) { if (Partials.TryGetValue(name, out var documentInfo)) { return(documentInfo); } return(null); }