public override void Postbuild(ImmutableList <FileModel> models, IHostService host) { foreach (var model in models) { if (model.Type == DocumentType.Article) { var content = (Dictionary <string, object>)model.Content; content["wordCount"] = WordCounter.CountWord((string)content["conceptual"]); } } }
public void Build(FileModel model, IHostService host) { if (model.Type != DocumentType.Article) { return; } var content = (Dictionary <string, object>)model.Content; var markdown = (string)content[ConceputalKey]; var result = host.Markup(markdown, model.FileAndType); content[ConceputalKey] = result.Html; content["title"] = result.Title; content["word_count"] = WordCounter.CountWord(result.Html); if (result.YamlHeader != null && result.YamlHeader.Count > 0) { foreach (var item in result.YamlHeader) { if (item.Key == "uid") { var uid = item.Value as string; if (!string.IsNullOrWhiteSpace(uid)) { model.Uids = new[] { uid }.ToImmutableArray(); } } else { content[item.Key] = item.Value; if (item.Key == DocumentTypeKey) { model.DocumentType = item.Value as string; } } } } model.Properties.LinkToFiles = result.LinkToFiles; model.Properties.LinkToUids = result.LinkToUids; model.File = Path.ChangeExtension(model.File, ".json"); }