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
);
}