Ejemplo n.º 1
0
        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]));
        }
Ejemplo n.º 2
0
        /// <inheritdoc />
        public MorestachioDocumentInfo GetPartial(string name, ParserOptions parserOptions)
        {
            if (Partials.TryGetValue(name, out var documentInfo))
            {
                return(documentInfo);
            }

            return(null);
        }