Files
ermnvldmr.com/services/www/src/app/articles/2026/joplin-web-deployment-guide.tsx
T
2026-03-20 01:32:26 +03:00

44 lines
1.3 KiB
TypeScript

import { localePath } from '@ermnvldmr/i18n';
import { MARKDOWN_COMPONENTS } from '@ermnvldmr/ui';
import React from 'react';
import { articles } from '../../../../content/registry';
import { ArticleLayout } from '../../../components/Layout/ArticleLayout';
import { createPage } from '../../../lib/core/createPage';
const article = articles['joplin-web-deployment-guide'];
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
if (!article) {
throw new Error('Article not found');
}
/**
* Joplin web deployment guide article page.
*
* @example
* ```tsx
* createPage(JoplinWebDeploymentGuidePage, { title: '...', description: '...' });
* ```
*/
function JoplinWebDeploymentGuidePage(): React.JSX.Element {
return (
<ArticleLayout
createdDate={article.createdDate}
currentPath={localePath('/articles/2026/joplin-web-deployment-guide')}
description={article.description}
tags={article.tags}
title={article.title}
updatedDate={article.updatedDate}
>
<article.Component components={MARKDOWN_COMPONENTS} />
</ArticleLayout>
);
}
createPage(JoplinWebDeploymentGuidePage, {
title: `${article.title} - Vladimir Eremin`,
description: article.description,
});
export default JoplinWebDeploymentGuidePage;