@san-siva/blogkit-md 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,74 @@
1
+ import type { Metadata } from 'next';
2
+ import { JetBrains_Mono, Montserrat, Rubik } from 'next/font/google';
3
+
4
+ import '@san-siva/blogkit/styles.css';
5
+ import '@san-siva/stylekit/styles/globals.scss';
6
+ import styles from '@san-siva/stylekit/styles/index.module.scss';
7
+
8
+ import { SITE_URL } from './data';
9
+
10
+ const montserrat = Montserrat({
11
+ subsets: ['latin'] as const,
12
+ weight: ['400', '500', '600', '700', '800'] as const,
13
+ style: ['normal', 'italic'] as const,
14
+ variable: '--font-montserrat',
15
+ });
16
+
17
+ const rubik = Rubik({
18
+ subsets: ['latin'] as const,
19
+ weight: ['300', '400', '500', '600', '700', '800', '900'] as const,
20
+ style: ['normal', 'italic'] as const,
21
+ variable: '--font-rubik',
22
+ });
23
+
24
+ const jetbrainsMono = JetBrains_Mono({
25
+ subsets: ['latin'] as const,
26
+ weight: ['400', '500', '600', '700'] as const,
27
+ style: ['normal', 'italic'] as const,
28
+ variable: '--font-jetbrains-mono',
29
+ });
30
+
31
+ const TITLE = 'blogkit-md — Markdown to Blog';
32
+ const DESCRIPTION =
33
+ 'A Next.js tool that converts standard markdown files into rendered blog posts for Blogkit.';
34
+
35
+ export const metadata: Metadata = {
36
+ title: TITLE,
37
+ description: DESCRIPTION,
38
+ keywords: [
39
+ 'markdown',
40
+ 'blog',
41
+ 'next.js',
42
+ 'blogkit',
43
+ 'react',
44
+ 'mdast',
45
+ 'remark',
46
+ ],
47
+ authors: [{ name: 'Santhosh Siva' }],
48
+ alternates: {
49
+ canonical: `${SITE_URL}/`,
50
+ },
51
+ openGraph: {
52
+ title: TITLE,
53
+ description: DESCRIPTION,
54
+ type: 'website',
55
+ url: `${SITE_URL}/`,
56
+ },
57
+ twitter: {
58
+ card: 'summary_large_image',
59
+ title: TITLE,
60
+ description: DESCRIPTION,
61
+ },
62
+ };
63
+
64
+ export default function RootLayout({ children }: { children: React.ReactNode }) {
65
+ return (
66
+ <html lang="en">
67
+ <body
68
+ className={`${montserrat.variable} ${rubik.variable} ${jetbrainsMono.variable}`}
69
+ >
70
+ <div className={styles.page}>{children}</div>
71
+ </body>
72
+ </html>
73
+ );
74
+ }
@@ -0,0 +1,30 @@
1
+ import type { Metadata } from 'next';
2
+
3
+ import { BlogPost } from '@san-siva/blogkit-md';
4
+
5
+ import { BLOGKIT_MD, SITE_URL, generateMetadata } from './data';
6
+
7
+ export const metadata: Metadata = generateMetadata(BLOGKIT_MD);
8
+
9
+ export default function Home() {
10
+ return (
11
+ <BlogPost
12
+ filePath="../README.md"
13
+ jsonLd={{
14
+ '@context': 'https://schema.org',
15
+ '@type': 'SoftwareApplication',
16
+ name: BLOGKIT_MD.title,
17
+ description: BLOGKIT_MD.desc,
18
+ datePublished: BLOGKIT_MD.isoDate,
19
+ author: {
20
+ '@type': 'Person',
21
+ name: 'Santhosh Siva',
22
+ url: 'https://santhoshsiva.dev',
23
+ },
24
+ url: SITE_URL,
25
+ applicationCategory: 'DeveloperApplication',
26
+ operatingSystem: 'macOS, Linux, Windows',
27
+ }}
28
+ />
29
+ );
30
+ }
@@ -0,0 +1,9 @@
1
+ import type { NextConfig } from 'next';
2
+
3
+ const nextConfig: NextConfig = {
4
+ output: 'export',
5
+ trailingSlash: true,
6
+ transpilePackages: ['@san-siva/blogkit-md'],
7
+ };
8
+
9
+ export default nextConfig;