Exemplo n.º 1
0
        private async Task <PageMetadata> GetPageMetadataAsync(PagePath pagePath)
        {
            string metadata = await _pageIOManager.LoadMetadataAsync(pagePath.Location.GetDirectoryPath());

            PageMetadata pageMetadata = new PageMetadata();

            if (!string.IsNullOrWhiteSpace(metadata))
            {
                try
                {
                    pageMetadata = JsonConvert.DeserializeObject <PageMetadata>(metadata);
                }
                catch (Exception ex)
                {
                    _logger.LogError(ex, "Metadata invalid");
                }
            }

            if (string.IsNullOrWhiteSpace(pageMetadata.Title))
            {
                pageMetadata.Title = pagePath.Location.GetDestinationFolder().VirtualName;
            }

            return(pageMetadata);
        }
Exemplo n.º 2
0
        private async Task <string> GetNavItemDisplayNameAsync(string path, string virtualName)
        {
            string metadataDisplayName = string.Empty;
            string metadata            = await _pageIOManager.LoadMetadataAsync(path);

            if (!string.IsNullOrWhiteSpace(metadata))
            {
                try
                {
                    metadataDisplayName = JObject.Parse(metadata).GetValue(nameof(PageMetadata.Title))?.ToString();
                }
                catch (Exception ex)
                {
                    _logger.LogError(ex, "Metadata invalid");
                }
            }

            return(!string.IsNullOrWhiteSpace(metadataDisplayName) ? metadataDisplayName : virtualName);
        }