aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArmand Philippot <git@armandphilippot.com>2022-01-10 16:15:59 +0100
committerArmand Philippot <git@armandphilippot.com>2022-01-10 16:21:20 +0100
commitcd1078e3a6ddb1b1598723beec4905c123ee85a6 (patch)
treec8bf2a0ea7625880e7a6839b2ff579d1309de3e5
parent843d2ee67487c489095066dca1ad902deb8a4344 (diff)
chore: add PDF and image format to CV page
-rw-r--r--mdx.d.ts2
-rw-r--r--src/components/Widget/CVPreview/CVPreview.module.scss6
-rw-r--r--src/components/Widget/CVPreview/CVPreview.tsx36
-rw-r--r--src/components/Widget/index.tsx10
m---------src/content0
-rw-r--r--src/pages/cv.tsx5
6 files changed, 56 insertions, 3 deletions
diff --git a/mdx.d.ts b/mdx.d.ts
index fb9f909..7644488 100644
--- a/mdx.d.ts
+++ b/mdx.d.ts
@@ -5,4 +5,6 @@ declare module '*.mdx' {
export default MDXComponent;
export const meta: Meta;
export const intro: string;
+ export const pdf: string;
+ export const image: string;
}
diff --git a/src/components/Widget/CVPreview/CVPreview.module.scss b/src/components/Widget/CVPreview/CVPreview.module.scss
new file mode 100644
index 0000000..6ddd696
--- /dev/null
+++ b/src/components/Widget/CVPreview/CVPreview.module.scss
@@ -0,0 +1,6 @@
+.preview {
+ position: relative;
+ width: 100%;
+ height: 20rem;
+ margin-bottom: var(--spacing-sm);
+}
diff --git a/src/components/Widget/CVPreview/CVPreview.tsx b/src/components/Widget/CVPreview/CVPreview.tsx
new file mode 100644
index 0000000..f0bd0fe
--- /dev/null
+++ b/src/components/Widget/CVPreview/CVPreview.tsx
@@ -0,0 +1,36 @@
+import { Trans } from '@lingui/macro';
+import Image from 'next/image';
+import Link from 'next/link';
+import styles from './CVPreview.module.scss';
+
+const CVPreview = ({
+ title,
+ imgSrc,
+ pdf,
+}: {
+ title: string;
+ imgSrc: string;
+ pdf: string;
+}) => {
+ return (
+ <div>
+ <h2>{title}</h2>
+ <div className={styles.preview}>
+ <Image
+ src={imgSrc}
+ layout="fill"
+ objectFit="contain"
+ objectPosition="left"
+ alt="CV Armand Philippot"
+ />
+ </div>
+ <p>
+ <Trans>
+ Download <Link href={pdf}>CV in PDF</Link>
+ </Trans>
+ </p>
+ </div>
+ );
+};
+
+export default CVPreview;
diff --git a/src/components/Widget/index.tsx b/src/components/Widget/index.tsx
index 9df51e3..9a9aea8 100644
--- a/src/components/Widget/index.tsx
+++ b/src/components/Widget/index.tsx
@@ -1,7 +1,15 @@
+import CVPreview from './CVPreview/CVPreview';
import RecentPosts from './RecentPosts/RecentPosts';
import Sharing from './Sharing/Sharing';
import SocialMedia from './SocialMedia/SocialMedia';
import ThematicsList from './ThematicsList/ThematicsList';
import TopicsList from './TopicsList/TopicsList';
-export { RecentPosts, Sharing, SocialMedia, ThematicsList, TopicsList };
+export {
+ CVPreview,
+ RecentPosts,
+ Sharing,
+ SocialMedia,
+ ThematicsList,
+ TopicsList,
+};
diff --git a/src/content b/src/content
-Subproject a48da663f25b8cf4b641e0ab1c39805196bc983
+Subproject f399fbcb373436ab05f3e01ce762ce1680e61f7
diff --git a/src/pages/cv.tsx b/src/pages/cv.tsx
index 83d1fe5..025d554 100644
--- a/src/pages/cv.tsx
+++ b/src/pages/cv.tsx
@@ -5,11 +5,11 @@ import { NextPageWithLayout } from '@ts/types/app';
import { loadTranslation } from '@utils/helpers/i18n';
import { GetStaticProps, GetStaticPropsContext } from 'next';
import Head from 'next/head';
-import CVContent, { intro, meta } from '@content/pages/cv.mdx';
+import CVContent, { intro, meta, pdf, image } from '@content/pages/cv.mdx';
import PostHeader from '@components/PostHeader/PostHeader';
import { ArticleMeta } from '@ts/types/articles';
import styles from '@styles/pages/Page.module.scss';
-import { SocialMedia } from '@components/Widget';
+import { CVPreview, SocialMedia } from '@components/Widget';
import { t } from '@lingui/macro';
const CV: NextPageWithLayout = () => {
@@ -39,6 +39,7 @@ const CV: NextPageWithLayout = () => {
<CVContent />
</div>
<aside className={styles.aside}>
+ <CVPreview title={t`Other formats`} imgSrc={image} pdf={pdf} />
<SocialMedia
title={t`Open-source projects`}
github={true}