diff --git a/pages/blog/[slug].tsx b/pages/blog/[slug].tsx index 7b03cf9..83f3cb3 100644 --- a/pages/blog/[slug].tsx +++ b/pages/blog/[slug].tsx @@ -1,18 +1,18 @@ -import { FC, useEffect } from "react"; -import { getBlogPostsSlugs, getBlogPostdata } from "../../lib/blog"; -import { useRouter } from "next/router"; -import { MdxRemote } from "next-mdx-remote/types"; -import { MDXProvider } from "@mdx-js/react"; -import { MDXEmbedProvider } from "mdx-embed"; -import { GetStaticPaths, GetStaticProps } from "next"; -import renderToString from "next-mdx-remote/render-to-string"; -import hydrate from "next-mdx-remote/hydrate"; -import styled from "styled-components"; -import matter from "gray-matter"; -import AllComponents from "../../components/All"; -import Head from "next/head"; -import IconButton from "../../components/IconButton"; -import CodeBlock from "../../components/CodeBlock"; +import { FC, useEffect } from 'react'; +import { getBlogPostsSlugs, getBlogPostdata } from '../../utils/blog'; +import { useRouter } from 'next/router'; +import { MdxRemote } from 'next-mdx-remote/types'; +import { MDXProvider } from '@mdx-js/react'; +import { MDXEmbedProvider } from 'mdx-embed'; +import { GetStaticPaths, GetStaticProps } from 'next'; +import renderToString from 'next-mdx-remote/render-to-string'; +import hydrate from 'next-mdx-remote/hydrate'; +import styled from 'styled-components'; +import matter from 'gray-matter'; +import AllComponents from '../../components/All'; +import Head from 'next/head'; +import IconButton from '../../components/IconButton'; +import CodeBlock from '../../components/CodeBlock'; interface Props { source: MdxRemote.Source; @@ -119,45 +119,42 @@ const BlogPost: FC = ({ source, frontMatter }) => { return ( <> - - + + - - - + + + + - {frontMatter.title} | Hazem Krimi -
-
router.back()}> - +
+
router.back()}> + Back

{frontMatter.title}

@@ -166,7 +163,7 @@ const BlogPost: FC = ({ source, frontMatter }) => { Written by {frontMatter.author} on {frontMatter.date}

{frontMatter.tags && ( -
+
{frontMatter.tags.map((tag: string, index: number) => ( #{tag}  ))} @@ -176,7 +173,7 @@ const BlogPost: FC = ({ source, frontMatter }) => {
-
{content}
+
{content}
@@ -190,7 +187,7 @@ export const getStaticPaths: GetStaticPaths = async () => { const paths = getBlogPostsSlugs(); return { paths, - fallback: false, + fallback: false }; }; export const getStaticProps: GetStaticProps = async ({ params }: any) => { @@ -198,13 +195,13 @@ export const getStaticProps: GetStaticProps = async ({ params }: any) => { const { data, content } = matter(blogPostContent); const mdxSource = await renderToString(content, { components, - scope: data, + scope: data }); return { props: { source: mdxSource, - frontMatter: data, - }, + frontMatter: data + } }; }; diff --git a/pages/blog/index.tsx b/pages/blog/index.tsx index 5b441a3..041db8f 100644 --- a/pages/blog/index.tsx +++ b/pages/blog/index.tsx @@ -1,6 +1,6 @@ import React, { FC } from 'react'; import { useRouter } from 'next/router'; -import { getBlogPosts } from '../../lib/blog'; +import { getBlogPosts } from '../../utils/blog'; import styled from 'styled-components'; import Card from '../../components/Card'; import IconButton from '../../components/IconButton'; diff --git a/pages/index.tsx b/pages/index.tsx index 1fa993d..6ac00b4 100644 --- a/pages/index.tsx +++ b/pages/index.tsx @@ -1,7 +1,7 @@ import { FC } from 'react'; import { useRouter } from 'next/router'; -import { getPortfolioProjects } from '../lib/portfolio'; -import { getBlogPosts } from '../lib/blog'; +import { getPortfolioProjects } from '../utils/portfolio'; +import { getBlogPosts } from '../utils/blog'; import { GetStaticProps } from 'next'; import styled from 'styled-components'; import Hero from '../components/Hero'; diff --git a/pages/portfolio/[slug].tsx b/pages/portfolio/[slug].tsx index d6f2162..8d2cb53 100644 --- a/pages/portfolio/[slug].tsx +++ b/pages/portfolio/[slug].tsx @@ -1,21 +1,18 @@ -import { FC, useEffect } from "react"; -import { - getPortfolioPorjectsSlugs, - getPortfolioProjectdata, -} from "../../lib/portfolio"; -import { useRouter } from "next/router"; -import { MdxRemote } from "next-mdx-remote/types"; -import { MDXProvider } from "@mdx-js/react"; -import { MDXEmbedProvider } from "mdx-embed"; -import { GetStaticPaths, GetStaticProps } from "next"; -import renderToString from "next-mdx-remote/render-to-string"; -import hydrate from "next-mdx-remote/hydrate"; -import styled from "styled-components"; -import matter from "gray-matter"; -import AllComponents from "../../components/All"; -import Head from "next/head"; -import IconButton from "../../components/IconButton"; -import CodeBlock from "../../components/CodeBlock"; +import { FC, useEffect } from 'react'; +import { getPortfolioPorjectsSlugs, getPortfolioProjectdata } from '../../utils/portfolio'; +import { useRouter } from 'next/router'; +import { MdxRemote } from 'next-mdx-remote/types'; +import { MDXProvider } from '@mdx-js/react'; +import { MDXEmbedProvider } from 'mdx-embed'; +import { GetStaticPaths, GetStaticProps } from 'next'; +import renderToString from 'next-mdx-remote/render-to-string'; +import hydrate from 'next-mdx-remote/hydrate'; +import styled from 'styled-components'; +import matter from 'gray-matter'; +import AllComponents from '../../components/All'; +import Head from 'next/head'; +import IconButton from '../../components/IconButton'; +import CodeBlock from '../../components/CodeBlock'; interface Props { source: MdxRemote.Source; @@ -113,47 +110,44 @@ const PortfolioProject: FC = ({ source, frontMatter }) => { return ( <> - - + + - - - + + + + - {frontMatter.title} | Hazem Krimi -
-
router.back()}> - +
+
router.back()}> + Back

{frontMatter.title}

{frontMatter.description}

{frontMatter.tags && ( -
+
{frontMatter.tags.map((tag: string, index: number) => ( #{tag}  ))} @@ -163,7 +157,7 @@ const PortfolioProject: FC = ({ source, frontMatter }) => {
-
{content}
+
{content}
@@ -177,7 +171,7 @@ export const getStaticPaths: GetStaticPaths = async () => { const paths = getPortfolioPorjectsSlugs(); return { paths, - fallback: false, + fallback: false }; }; export const getStaticProps: GetStaticProps = async ({ params }: any) => { @@ -185,13 +179,13 @@ export const getStaticProps: GetStaticProps = async ({ params }: any) => { const { data, content } = matter(blogPostContent); const mdxSource = await renderToString(content, { components, - scope: data, + scope: data }); return { props: { source: mdxSource, - frontMatter: data, - }, + frontMatter: data + } }; }; diff --git a/pages/portfolio/index.tsx b/pages/portfolio/index.tsx index 3b47487..7957479 100644 --- a/pages/portfolio/index.tsx +++ b/pages/portfolio/index.tsx @@ -1,5 +1,5 @@ import React, { FC } from 'react'; -import { getPortfolioProjects } from '../../lib/portfolio'; +import { getPortfolioProjects } from '../../utils/portfolio'; import { useRouter } from 'next/router'; import styled from 'styled-components'; import Card from '../../components/Card'; diff --git a/lib/blog.ts b/utils/blog.ts similarity index 100% rename from lib/blog.ts rename to utils/blog.ts diff --git a/lib/portfolio.ts b/utils/portfolio.ts similarity index 98% rename from lib/portfolio.ts rename to utils/portfolio.ts index d9143d0..8eaaff9 100644 --- a/lib/portfolio.ts +++ b/utils/portfolio.ts @@ -15,6 +15,7 @@ export const getPortfolioProjects = () => { const { data } = matter(fileContents); const options = { month: 'long', day: 'numeric', year: 'numeric' }; + // @ts-ignore const formattedDate = new Date(data.date).toLocaleDateString('en-IN', options); const frontmatter = {