private void LoadAndRenderContentItem(string contentPath, ContentItem contentItem)
        {
            string content = null;
            using (var stream = _contentBlobProvider.OpenRead(contentPath))
        {
            //Load raw content with metadata
                content = stream.ReadToString();
            }
            IDictionary<string, IEnumerable<string>> metaHeaders = null;
            IDictionary themeSettings = null;
            try
            {
                metaHeaders = ReadYamlHeader(content);
            }
            catch (Exception ex)
            {
                throw new ApplicationException(String.Format("Failed to read yaml header from \"{0}\"", contentItem.StoragePath), ex);
            }

            content = RemoveYamlHeader(content);

            var workContext = _workContextFactory();
            if (workContext != null)
            {
                var shopifyContext = workContext.ToShopifyModel(_urlBuilderFactory());
                var parameters = shopifyContext.ToLiquid() as Dictionary<string, object>;
              
                themeSettings = _liquidEngine.GetSettings();
                parameters.Add("settings", themeSettings);
                //Render content by liquid engine
                content = _liquidEngine.RenderTemplate(content, parameters);
            }

            //Render markdown content
            if (string.Equals(Path.GetExtension(contentItem.StoragePath), ".md", StringComparison.InvariantCultureIgnoreCase))
            {
                content = _markdownRender.Transform(content);
            }


            contentItem.LoadContent(content, metaHeaders, themeSettings);
        }
        private void LoadAndRenderContentItemFromFile(ContentItem contentItem, string filePath)
        {
            var fileInfo = new FileInfo(filePath);

            contentItem.CreatedDate = fileInfo.CreationTimeUtc;
            contentItem.LocalPath = filePath;

            //Load raw content with metadata
            var content = File.ReadAllText(filePath);
            var metaHeaders = ReadYamlHeader(content);
            content = ExcludeYamlHeader(content);


            var shopifyContext = _liquidEngine.WorkContext.ToShopifyModel(_liquidEngine.UrlBuilder);
            var parameters = shopifyContext.ToLiquid() as Dictionary<string, object>;
            parameters.Add("settings", _liquidEngine.GetSettings());
            //Render content by liquid engine
            content = _liquidEngine.RenderTemplate(content, parameters);

            //Render markdown content
            if (String.Equals(Path.GetExtension(filePath), ".md", StringComparison.InvariantCultureIgnoreCase))
            {
                content = _markdownRender.Transform(content);
            }


            contentItem.LoadContent(content, metaHeaders);
        }