28 lines
680 B
JavaScript
28 lines
680 B
JavaScript
import articles from '../data/articles.json';
|
|
import { editorialRevisions } from '../data/editorial-revisions.mjs';
|
|
|
|
const revisionBySlug = new Map(
|
|
editorialRevisions.map((revision) => [revision.slug, revision]),
|
|
);
|
|
|
|
const publishedArticles = articles.map((article) => ({
|
|
...article,
|
|
...revisionBySlug.get(article.slug),
|
|
}));
|
|
|
|
export function getArticles() {
|
|
return publishedArticles;
|
|
}
|
|
|
|
export function getArticleBySlug(slug) {
|
|
return publishedArticles.find((article) => article.slug === slug);
|
|
}
|
|
|
|
export function formatDate(date) {
|
|
return new Intl.DateTimeFormat('ru-RU', {
|
|
day: '2-digit',
|
|
month: 'long',
|
|
year: 'numeric',
|
|
}).format(new Date(date));
|
|
}
|