export function resolveArticle()

in library/markdown-parser/models/article.ts [95:119]


export function resolveArticle(article: Article, profileCollection: Profile[]): ResolvedArticle {
  const { name, content, categories, authors, date, languages } = article;
  checkArticleData(name, authors);
  const tokensList = new marked.Lexer().lex(content) as unknown as ExtendTokensList;

  const contentString = parseMarkdownToHTML(content);
  const toc = generateTOC(tokensList);
  const image = getThumbnail(tokensList) || pickRandom(Configuration.image.article);
  const id = generateUUID(name);
  const abstract = generateAbstract(tokensList, Configuration.article.abstract.minLength);
  const resolvedAuthors = (authors || []).map(author => resolveProfile(author, profileCollection));
  const validDate = getValidDate(name, date);
  return new ResolvedArticle(
    id,
    name,
    abstract,
    image,
    contentString,
    categories,
    resolvedAuthors,
    toc,
    validDate,
    languages
  );
}