Skip to content

Commit

Permalink
Add publications section
Browse files Browse the repository at this point in the history
  • Loading branch information
ntdesmond committed Sep 9, 2023
1 parent cbac92d commit 1f5c2e0
Show file tree
Hide file tree
Showing 3 changed files with 66 additions and 1 deletion.
11 changes: 11 additions & 0 deletions src/i18n.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import soft_skills from './pages/cv/data/soft_skills';
import summary from './pages/cv/data/summary';
import info from './pages/cv/data/info';
import tech_skills from './pages/cv/data/tech_skills';
import publications from './pages/cv/data/publications';

i18n.use(initReactI18next).init({
resources: {
Expand Down Expand Up @@ -36,6 +37,11 @@ i18n.use(initReactI18next).init({
content: projects.en,
},

publications: {
title: 'Publications',
content: publications.en,
},

tech_skills: {
title: 'Technical skills',
languages: 'Programming languages',
Expand Down Expand Up @@ -98,6 +104,11 @@ i18n.use(initReactI18next).init({
content: education.ru,
},

publications: {
title: 'Публикации',
content: publications.ru,
},

languages: {
title: 'Языки',
content: languages.ru,
Expand Down
25 changes: 24 additions & 1 deletion src/pages/cv/CVDocument.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ import type { LanguageProficiency } from './data/languages';
import type { WorkEntryId, WorkExperience } from './data/work';
import type { Education, EducationId } from './data/education';
import type { ProgrammingLanguageId, TechSkillId } from './data/tech_skills';
import { Publication, PublicationId } from './data/publications';

const CVDocument = () => {
const [allTags, setTags] = useState<Set<string>>(new Set(['Frontend', 'Backend']));
Expand Down Expand Up @@ -163,7 +164,7 @@ const CVDocument = () => {
).map(([id, project]) => (
<HStack key={id} justify="space-between" align="center">
<Box>
<Heading size="md">
<Heading size="sm">
<Link href={project.url} isExternal>
{project.name}
</Link>
Expand All @@ -178,6 +179,28 @@ const CVDocument = () => {
))}
</VStack>
</Section>
<Section title={t('sections.publications.title')}>
<VStack align="stretch" spacing="1em">
{Object.entries(
t('sections.publications.content', { returnObjects: true }) as Record<
PublicationId,
Publication
>,
).map(([id, publication]) => (
<HStack key={id} justify="space-between" align="center">
<Box>
<Heading size="sm">
<Link href={publication.url} isExternal>
{publication.name}
</Link>
</Heading>
<Text>{publication.type}</Text>
<Text>{publication.date}</Text>
</Box>
</HStack>
))}
</VStack>
</Section>
</Box>
<Box lineHeight="2em">
<Section title={t('sections.tech_skills.title')}>
Expand Down
31 changes: 31 additions & 0 deletions src/pages/cv/data/publications.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
import merge from './merge';

export interface Publication {
name: string;
type: string;
date: string;
url: string;
}

const publication_ids = ['kiosk'] as const;
export type PublicationId = (typeof publication_ids)[number];

const publications = merge({
en: {
kiosk: {
name: 'Development of software for an interactive information kiosk',
url: 'https://dx.doi.org/10.13140/RG.2.2.24800.25609',
type: "Bachelor's Thesis",
date: 'July 2023',
},
},
ru: {
kiosk: {
name: 'Разработка программного обеспечения для информационного киоска',
type: 'Бакалаврская работа',
date: 'Июль 2023',
},
},
});

export default publications;

0 comments on commit 1f5c2e0

Please sign in to comment.