Cake.Web.Core.Content.ContentParser.ParseString C# (CSharp) Метод

ParseString() публичный Метод

public ParseString ( string content ) : Cake.Web.Core.Content.ContentParseResult
content string
Результат Cake.Web.Core.Content.ContentParseResult
        public ContentParseResult ParseString(string content)
        {
            var lines = SplitLines(content);
            if (!lines[0].StartsWith("---"))
            {
                // No front matter.
                return new ContentParseResult(new Dictionary<string, string>(), content);
            }

            var index = 1;
            var header = new Dictionary<string, string>();
            foreach (var rline in lines.Skip(1))
            {
                var line = rline.Trim();
                if (line.StartsWith("---"))
                {
                    break;
                }

                var keyIndex = line.IndexOf(':');
                if (keyIndex == -1)
                {
                    throw new InvalidOperationException("Invalid post format!");
                }

                var key = line.Substring(0, keyIndex);
                var value = line.Substring(keyIndex + 1, line.Length - keyIndex - 1);

                header.Add(key.Trim(), value.Trim());

                index++;
            }

            var body = (index < lines.Length)
                ? string.Join(Environment.NewLine, lines.Skip(index + 1).Take(lines.Length - index))
                : string.Empty;

            // <!--excerpt-->
            var excerpt = string.Empty;
            var excerptParts = body.Split(new[] { "<!--excerpt-->" }, StringSplitOptions.RemoveEmptyEntries);
            if (excerptParts.Length > 1)
            {
                excerpt = excerptParts[0];
            }

            return new ContentParseResult(header, body, excerpt);
        }