From 809a2274b484522e823871f907f1c57e1e252a4d Mon Sep 17 00:00:00 2001 From: migalko94 Date: Wed, 27 Sep 2023 18:10:24 +0200 Subject: [PATCH 01/29] update exportmanfredjsontohtml to select template html --- packages/manfred2html/src/engine/index.ts | 63 +-- .../about-me-section/about-me-section.ejs | 0 .../about-me-section/about-me-section.part.ts | 0 .../html-parts/about-me-section/index.ts | 0 .../aside-element-end/aside-element-end.ejs | 0 .../aside-element-end.part.ts | 0 .../html-parts/aside-element-end/index.ts | 0 .../aside-element-start.ejs | 0 .../aside-element-start.part.ts | 0 .../html-parts/aside-element-start/index.ts | 0 .../experience-section/experience-section.ejs | 0 .../experience-section.part.ts | 0 .../html-parts/experience-section/index.ts | 0 .../hard-skills-section.ejs | 0 .../hard-skills-section.part.ts | 0 .../html-parts/hard-skills-section/index.ts | 0 .../header-element-end/header-element-end.ejs | 0 .../header-element-end.part.ts | 0 .../html-parts/header-element-end/index.ts | 0 .../header-element-start.ejs | 0 .../header-element-start.part.ts | 0 .../html-parts/header-element-start/index.ts | 0 .../html-document-end/html-document-end.ejs | 0 .../html-document-end.part.ts | 0 .../html-parts/html-document-end/index.ts | 0 .../html-document-start.ejs | 0 .../html-document-start.part.ts | 0 .../html-parts/html-document-start/index.ts | 0 .../{ => template-a}/html-parts/index.ts | 0 .../html-parts/language-section/index.ts | 0 .../language-section/language-section.ejs | 0 .../language-section/language-section.part.ts | 0 .../html-parts/main-element-end/index.ts | 0 .../main-element-end/main-element-end.ejs | 0 .../main-element-end/main-element-end.part.ts | 0 .../html-parts/main-element-start/index.ts | 0 .../main-element-start/main-element-start.ejs | 0 .../main-element-start.part.ts | 0 .../relevants-links-section/index.ts | 0 .../relevants-links-section.ejs | 0 .../relevants-links-section.part.ts | 0 .../html-parts/soft-skills-section/index.ts | 0 .../soft-skills-section.ejs | 0 .../soft-skills-section.part.ts | 0 .../html-parts/studies-section/index.ts | 0 .../studies-section/studies-section.ejs | 0 .../studies-section/studies-section.part.ts | 0 .../src/engine/template-a/index.ts | 57 +++ .../about-me-section/about-me-section.ejs | 9 + .../about-me-section/about-me-section.part.ts | 18 + .../html-parts/about-me-section/index.ts | 1 + .../aside-element-end/aside-element-end.ejs | 1 + .../aside-element-end.part.ts | 4 + .../html-parts/aside-element-end/index.ts | 1 + .../aside-element-start.ejs | 1 + .../aside-element-start.part.ts | 4 + .../html-parts/aside-element-start/index.ts | 1 + .../experience-section/experience-section.ejs | 50 +++ .../experience-section.part.ts | 18 + .../html-parts/experience-section/index.ts | 1 + .../hard-skills-section.ejs | 30 ++ .../hard-skills-section.part.ts | 16 + .../html-parts/hard-skills-section/index.ts | 1 + .../header-element-end/header-element-end.ejs | 1 + .../header-element-end.part.ts | 4 + .../html-parts/header-element-end/index.ts | 1 + .../header-element-start.ejs | 1 + .../header-element-start.part.ts | 4 + .../html-parts/header-element-start/index.ts | 1 + .../html-document-end/html-document-end.ejs | 3 + .../html-document-end.part.ts | 4 + .../html-parts/html-document-end/index.ts | 1 + .../html-document-start.ejs | 362 ++++++++++++++++++ .../html-document-start.part.ts | 4 + .../html-parts/html-document-start/index.ts | 1 + .../src/engine/template-b/html-parts/index.ts | 15 + .../html-parts/language-section/index.ts | 1 + .../language-section/language-section.ejs | 31 ++ .../language-section/language-section.part.ts | 16 + .../html-parts/main-element-end/index.ts | 1 + .../main-element-end/main-element-end.ejs | 1 + .../main-element-end/main-element-end.part.ts | 4 + .../html-parts/main-element-start/index.ts | 1 + .../main-element-start/main-element-start.ejs | 1 + .../main-element-start.part.ts | 4 + .../relevants-links-section/index.ts | 1 + .../relevants-links-section.ejs | 137 +++++++ .../relevants-links-section.part.ts | 18 + .../html-parts/soft-skills-section/index.ts | 1 + .../soft-skills-section.ejs | 31 ++ .../soft-skills-section.part.ts | 16 + .../html-parts/studies-section/index.ts | 1 + .../studies-section/studies-section.ejs | 55 +++ .../studies-section/studies-section.part.ts | 18 + .../src/engine/template-b/index.ts | 57 +++ 95 files changed, 1023 insertions(+), 50 deletions(-) rename packages/manfred2html/src/engine/{ => template-a}/html-parts/about-me-section/about-me-section.ejs (100%) rename packages/manfred2html/src/engine/{ => template-a}/html-parts/about-me-section/about-me-section.part.ts (100%) rename packages/manfred2html/src/engine/{ => template-a}/html-parts/about-me-section/index.ts (100%) rename packages/manfred2html/src/engine/{ => template-a}/html-parts/aside-element-end/aside-element-end.ejs (100%) rename packages/manfred2html/src/engine/{ => template-a}/html-parts/aside-element-end/aside-element-end.part.ts (100%) rename packages/manfred2html/src/engine/{ => template-a}/html-parts/aside-element-end/index.ts (100%) rename packages/manfred2html/src/engine/{ => template-a}/html-parts/aside-element-start/aside-element-start.ejs (100%) rename packages/manfred2html/src/engine/{ => template-a}/html-parts/aside-element-start/aside-element-start.part.ts (100%) rename packages/manfred2html/src/engine/{ => template-a}/html-parts/aside-element-start/index.ts (100%) rename packages/manfred2html/src/engine/{ => template-a}/html-parts/experience-section/experience-section.ejs (100%) rename packages/manfred2html/src/engine/{ => template-a}/html-parts/experience-section/experience-section.part.ts (100%) rename packages/manfred2html/src/engine/{ => template-a}/html-parts/experience-section/index.ts (100%) rename packages/manfred2html/src/engine/{ => template-a}/html-parts/hard-skills-section/hard-skills-section.ejs (100%) rename packages/manfred2html/src/engine/{ => template-a}/html-parts/hard-skills-section/hard-skills-section.part.ts (100%) rename packages/manfred2html/src/engine/{ => template-a}/html-parts/hard-skills-section/index.ts (100%) rename packages/manfred2html/src/engine/{ => template-a}/html-parts/header-element-end/header-element-end.ejs (100%) rename packages/manfred2html/src/engine/{ => template-a}/html-parts/header-element-end/header-element-end.part.ts (100%) rename packages/manfred2html/src/engine/{ => template-a}/html-parts/header-element-end/index.ts (100%) rename packages/manfred2html/src/engine/{ => template-a}/html-parts/header-element-start/header-element-start.ejs (100%) rename packages/manfred2html/src/engine/{ => template-a}/html-parts/header-element-start/header-element-start.part.ts (100%) rename packages/manfred2html/src/engine/{ => template-a}/html-parts/header-element-start/index.ts (100%) rename packages/manfred2html/src/engine/{ => template-a}/html-parts/html-document-end/html-document-end.ejs (100%) rename packages/manfred2html/src/engine/{ => template-a}/html-parts/html-document-end/html-document-end.part.ts (100%) rename packages/manfred2html/src/engine/{ => template-a}/html-parts/html-document-end/index.ts (100%) rename packages/manfred2html/src/engine/{ => template-a}/html-parts/html-document-start/html-document-start.ejs (100%) rename packages/manfred2html/src/engine/{ => template-a}/html-parts/html-document-start/html-document-start.part.ts (100%) rename packages/manfred2html/src/engine/{ => template-a}/html-parts/html-document-start/index.ts (100%) rename packages/manfred2html/src/engine/{ => template-a}/html-parts/index.ts (100%) rename packages/manfred2html/src/engine/{ => template-a}/html-parts/language-section/index.ts (100%) rename packages/manfred2html/src/engine/{ => template-a}/html-parts/language-section/language-section.ejs (100%) rename packages/manfred2html/src/engine/{ => template-a}/html-parts/language-section/language-section.part.ts (100%) rename packages/manfred2html/src/engine/{ => template-a}/html-parts/main-element-end/index.ts (100%) rename packages/manfred2html/src/engine/{ => template-a}/html-parts/main-element-end/main-element-end.ejs (100%) rename packages/manfred2html/src/engine/{ => template-a}/html-parts/main-element-end/main-element-end.part.ts (100%) rename packages/manfred2html/src/engine/{ => template-a}/html-parts/main-element-start/index.ts (100%) rename packages/manfred2html/src/engine/{ => template-a}/html-parts/main-element-start/main-element-start.ejs (100%) rename packages/manfred2html/src/engine/{ => template-a}/html-parts/main-element-start/main-element-start.part.ts (100%) rename packages/manfred2html/src/engine/{ => template-a}/html-parts/relevants-links-section/index.ts (100%) rename packages/manfred2html/src/engine/{ => template-a}/html-parts/relevants-links-section/relevants-links-section.ejs (100%) rename packages/manfred2html/src/engine/{ => template-a}/html-parts/relevants-links-section/relevants-links-section.part.ts (100%) rename packages/manfred2html/src/engine/{ => template-a}/html-parts/soft-skills-section/index.ts (100%) rename packages/manfred2html/src/engine/{ => template-a}/html-parts/soft-skills-section/soft-skills-section.ejs (100%) rename packages/manfred2html/src/engine/{ => template-a}/html-parts/soft-skills-section/soft-skills-section.part.ts (100%) rename packages/manfred2html/src/engine/{ => template-a}/html-parts/studies-section/index.ts (100%) rename packages/manfred2html/src/engine/{ => template-a}/html-parts/studies-section/studies-section.ejs (100%) rename packages/manfred2html/src/engine/{ => template-a}/html-parts/studies-section/studies-section.part.ts (100%) create mode 100644 packages/manfred2html/src/engine/template-a/index.ts create mode 100644 packages/manfred2html/src/engine/template-b/html-parts/about-me-section/about-me-section.ejs create mode 100644 packages/manfred2html/src/engine/template-b/html-parts/about-me-section/about-me-section.part.ts create mode 100644 packages/manfred2html/src/engine/template-b/html-parts/about-me-section/index.ts create mode 100644 packages/manfred2html/src/engine/template-b/html-parts/aside-element-end/aside-element-end.ejs create mode 100644 packages/manfred2html/src/engine/template-b/html-parts/aside-element-end/aside-element-end.part.ts create mode 100644 packages/manfred2html/src/engine/template-b/html-parts/aside-element-end/index.ts create mode 100644 packages/manfred2html/src/engine/template-b/html-parts/aside-element-start/aside-element-start.ejs create mode 100644 packages/manfred2html/src/engine/template-b/html-parts/aside-element-start/aside-element-start.part.ts create mode 100644 packages/manfred2html/src/engine/template-b/html-parts/aside-element-start/index.ts create mode 100644 packages/manfred2html/src/engine/template-b/html-parts/experience-section/experience-section.ejs create mode 100644 packages/manfred2html/src/engine/template-b/html-parts/experience-section/experience-section.part.ts create mode 100644 packages/manfred2html/src/engine/template-b/html-parts/experience-section/index.ts create mode 100644 packages/manfred2html/src/engine/template-b/html-parts/hard-skills-section/hard-skills-section.ejs create mode 100644 packages/manfred2html/src/engine/template-b/html-parts/hard-skills-section/hard-skills-section.part.ts create mode 100644 packages/manfred2html/src/engine/template-b/html-parts/hard-skills-section/index.ts create mode 100644 packages/manfred2html/src/engine/template-b/html-parts/header-element-end/header-element-end.ejs create mode 100644 packages/manfred2html/src/engine/template-b/html-parts/header-element-end/header-element-end.part.ts create mode 100644 packages/manfred2html/src/engine/template-b/html-parts/header-element-end/index.ts create mode 100644 packages/manfred2html/src/engine/template-b/html-parts/header-element-start/header-element-start.ejs create mode 100644 packages/manfred2html/src/engine/template-b/html-parts/header-element-start/header-element-start.part.ts create mode 100644 packages/manfred2html/src/engine/template-b/html-parts/header-element-start/index.ts create mode 100644 packages/manfred2html/src/engine/template-b/html-parts/html-document-end/html-document-end.ejs create mode 100644 packages/manfred2html/src/engine/template-b/html-parts/html-document-end/html-document-end.part.ts create mode 100644 packages/manfred2html/src/engine/template-b/html-parts/html-document-end/index.ts create mode 100644 packages/manfred2html/src/engine/template-b/html-parts/html-document-start/html-document-start.ejs create mode 100644 packages/manfred2html/src/engine/template-b/html-parts/html-document-start/html-document-start.part.ts create mode 100644 packages/manfred2html/src/engine/template-b/html-parts/html-document-start/index.ts create mode 100644 packages/manfred2html/src/engine/template-b/html-parts/index.ts create mode 100644 packages/manfred2html/src/engine/template-b/html-parts/language-section/index.ts create mode 100644 packages/manfred2html/src/engine/template-b/html-parts/language-section/language-section.ejs create mode 100644 packages/manfred2html/src/engine/template-b/html-parts/language-section/language-section.part.ts create mode 100644 packages/manfred2html/src/engine/template-b/html-parts/main-element-end/index.ts create mode 100644 packages/manfred2html/src/engine/template-b/html-parts/main-element-end/main-element-end.ejs create mode 100644 packages/manfred2html/src/engine/template-b/html-parts/main-element-end/main-element-end.part.ts create mode 100644 packages/manfred2html/src/engine/template-b/html-parts/main-element-start/index.ts create mode 100644 packages/manfred2html/src/engine/template-b/html-parts/main-element-start/main-element-start.ejs create mode 100644 packages/manfred2html/src/engine/template-b/html-parts/main-element-start/main-element-start.part.ts create mode 100644 packages/manfred2html/src/engine/template-b/html-parts/relevants-links-section/index.ts create mode 100644 packages/manfred2html/src/engine/template-b/html-parts/relevants-links-section/relevants-links-section.ejs create mode 100644 packages/manfred2html/src/engine/template-b/html-parts/relevants-links-section/relevants-links-section.part.ts create mode 100644 packages/manfred2html/src/engine/template-b/html-parts/soft-skills-section/index.ts create mode 100644 packages/manfred2html/src/engine/template-b/html-parts/soft-skills-section/soft-skills-section.ejs create mode 100644 packages/manfred2html/src/engine/template-b/html-parts/soft-skills-section/soft-skills-section.part.ts create mode 100644 packages/manfred2html/src/engine/template-b/html-parts/studies-section/index.ts create mode 100644 packages/manfred2html/src/engine/template-b/html-parts/studies-section/studies-section.ejs create mode 100644 packages/manfred2html/src/engine/template-b/html-parts/studies-section/studies-section.part.ts create mode 100644 packages/manfred2html/src/engine/template-b/index.ts diff --git a/packages/manfred2html/src/engine/index.ts b/packages/manfred2html/src/engine/index.ts index cd20b528..63919118 100644 --- a/packages/manfred2html/src/engine/index.ts +++ b/packages/manfred2html/src/engine/index.ts @@ -1,54 +1,17 @@ import { ManfredAwesomicCV } from '@/model'; -import { - generateHtmlDocumentStart, - generateHtmlDocumentEnd, - generateHeaderElementStart, - generateHeaderElementEnd, - generateAboutMeSection, - generateAsideElementStart, - generateAsideElementEnd, - generateRelevantsLinksSection, - generateLanguageSection, - generateHardSkillsSection, - generateSoftSkillsSection, - generateMainElementStart, - generateMainElementEnd, - generateExperiencesSection, - generateStudiesSection, -} from './html-parts'; -export const exportManfredJSonToHTML = (manfredJsonContent: ManfredAwesomicCV): string => { - const htmlDocumentStart = generateHtmlDocumentStart(); - const htmlDocumentEnd = generateHtmlDocumentEnd(); - const headerElementStart = generateHeaderElementStart(); - const headerElementEnd = generateHeaderElementEnd(); - const aboutMeSection = generateAboutMeSection(manfredJsonContent); - const asideElementStart = generateAsideElementStart(); - const asideElementEnd = generateAsideElementEnd(); - const relevantsLinksSection = generateRelevantsLinksSection(manfredJsonContent); - const mainElementStart = generateMainElementStart(); - const mainElementEnd = generateMainElementEnd(); - const languageSection = generateLanguageSection(manfredJsonContent); - const hardSkillsSection = generateHardSkillsSection(manfredJsonContent); - const softSkillsSection = generateSoftSkillsSection(manfredJsonContent); - const experienceSection = generateExperiencesSection(manfredJsonContent); - const studiesSection = generateStudiesSection(manfredJsonContent); +import { exportManfredJSonToHTMLTemplateA } from './template-a'; +import { exportManfredJSonToHTMLTemplateB } from './template-b'; - return ` - ${htmlDocumentStart} - ${headerElementStart} - ${aboutMeSection} - ${headerElementEnd} - ${asideElementStart} - ${relevantsLinksSection} - ${languageSection} - ${hardSkillsSection} - ${softSkillsSection} - ${asideElementEnd} - ${mainElementStart} - ${experienceSection} - ${studiesSection} - ${mainElementEnd} - ${htmlDocumentEnd} - `; +export const exportHTMLTemplate = (manfredJsonContent: ManfredAwesomicCV, settings?: Settings): string => { + const template = settings?.template || 'template-a'; + + switch (template) { + case 'template-a': + return exportManfredJSonToHTMLTemplateA(manfredJsonContent, settings); + case 'template-b': + return exportManfredJSonToHTMLTemplateB(manfredJsonContent, settings); + default: + throw new Error('Template not found'); + } }; diff --git a/packages/manfred2html/src/engine/html-parts/about-me-section/about-me-section.ejs b/packages/manfred2html/src/engine/template-a/html-parts/about-me-section/about-me-section.ejs similarity index 100% rename from packages/manfred2html/src/engine/html-parts/about-me-section/about-me-section.ejs rename to packages/manfred2html/src/engine/template-a/html-parts/about-me-section/about-me-section.ejs diff --git a/packages/manfred2html/src/engine/html-parts/about-me-section/about-me-section.part.ts b/packages/manfred2html/src/engine/template-a/html-parts/about-me-section/about-me-section.part.ts similarity index 100% rename from packages/manfred2html/src/engine/html-parts/about-me-section/about-me-section.part.ts rename to packages/manfred2html/src/engine/template-a/html-parts/about-me-section/about-me-section.part.ts diff --git a/packages/manfred2html/src/engine/html-parts/about-me-section/index.ts b/packages/manfred2html/src/engine/template-a/html-parts/about-me-section/index.ts similarity index 100% rename from packages/manfred2html/src/engine/html-parts/about-me-section/index.ts rename to packages/manfred2html/src/engine/template-a/html-parts/about-me-section/index.ts diff --git a/packages/manfred2html/src/engine/html-parts/aside-element-end/aside-element-end.ejs b/packages/manfred2html/src/engine/template-a/html-parts/aside-element-end/aside-element-end.ejs similarity index 100% rename from packages/manfred2html/src/engine/html-parts/aside-element-end/aside-element-end.ejs rename to packages/manfred2html/src/engine/template-a/html-parts/aside-element-end/aside-element-end.ejs diff --git a/packages/manfred2html/src/engine/html-parts/aside-element-end/aside-element-end.part.ts b/packages/manfred2html/src/engine/template-a/html-parts/aside-element-end/aside-element-end.part.ts similarity index 100% rename from packages/manfred2html/src/engine/html-parts/aside-element-end/aside-element-end.part.ts rename to packages/manfred2html/src/engine/template-a/html-parts/aside-element-end/aside-element-end.part.ts diff --git a/packages/manfred2html/src/engine/html-parts/aside-element-end/index.ts b/packages/manfred2html/src/engine/template-a/html-parts/aside-element-end/index.ts similarity index 100% rename from packages/manfred2html/src/engine/html-parts/aside-element-end/index.ts rename to packages/manfred2html/src/engine/template-a/html-parts/aside-element-end/index.ts diff --git a/packages/manfred2html/src/engine/html-parts/aside-element-start/aside-element-start.ejs b/packages/manfred2html/src/engine/template-a/html-parts/aside-element-start/aside-element-start.ejs similarity index 100% rename from packages/manfred2html/src/engine/html-parts/aside-element-start/aside-element-start.ejs rename to packages/manfred2html/src/engine/template-a/html-parts/aside-element-start/aside-element-start.ejs diff --git a/packages/manfred2html/src/engine/html-parts/aside-element-start/aside-element-start.part.ts b/packages/manfred2html/src/engine/template-a/html-parts/aside-element-start/aside-element-start.part.ts similarity index 100% rename from packages/manfred2html/src/engine/html-parts/aside-element-start/aside-element-start.part.ts rename to packages/manfred2html/src/engine/template-a/html-parts/aside-element-start/aside-element-start.part.ts diff --git a/packages/manfred2html/src/engine/html-parts/aside-element-start/index.ts b/packages/manfred2html/src/engine/template-a/html-parts/aside-element-start/index.ts similarity index 100% rename from packages/manfred2html/src/engine/html-parts/aside-element-start/index.ts rename to packages/manfred2html/src/engine/template-a/html-parts/aside-element-start/index.ts diff --git a/packages/manfred2html/src/engine/html-parts/experience-section/experience-section.ejs b/packages/manfred2html/src/engine/template-a/html-parts/experience-section/experience-section.ejs similarity index 100% rename from packages/manfred2html/src/engine/html-parts/experience-section/experience-section.ejs rename to packages/manfred2html/src/engine/template-a/html-parts/experience-section/experience-section.ejs diff --git a/packages/manfred2html/src/engine/html-parts/experience-section/experience-section.part.ts b/packages/manfred2html/src/engine/template-a/html-parts/experience-section/experience-section.part.ts similarity index 100% rename from packages/manfred2html/src/engine/html-parts/experience-section/experience-section.part.ts rename to packages/manfred2html/src/engine/template-a/html-parts/experience-section/experience-section.part.ts diff --git a/packages/manfred2html/src/engine/html-parts/experience-section/index.ts b/packages/manfred2html/src/engine/template-a/html-parts/experience-section/index.ts similarity index 100% rename from packages/manfred2html/src/engine/html-parts/experience-section/index.ts rename to packages/manfred2html/src/engine/template-a/html-parts/experience-section/index.ts diff --git a/packages/manfred2html/src/engine/html-parts/hard-skills-section/hard-skills-section.ejs b/packages/manfred2html/src/engine/template-a/html-parts/hard-skills-section/hard-skills-section.ejs similarity index 100% rename from packages/manfred2html/src/engine/html-parts/hard-skills-section/hard-skills-section.ejs rename to packages/manfred2html/src/engine/template-a/html-parts/hard-skills-section/hard-skills-section.ejs diff --git a/packages/manfred2html/src/engine/html-parts/hard-skills-section/hard-skills-section.part.ts b/packages/manfred2html/src/engine/template-a/html-parts/hard-skills-section/hard-skills-section.part.ts similarity index 100% rename from packages/manfred2html/src/engine/html-parts/hard-skills-section/hard-skills-section.part.ts rename to packages/manfred2html/src/engine/template-a/html-parts/hard-skills-section/hard-skills-section.part.ts diff --git a/packages/manfred2html/src/engine/html-parts/hard-skills-section/index.ts b/packages/manfred2html/src/engine/template-a/html-parts/hard-skills-section/index.ts similarity index 100% rename from packages/manfred2html/src/engine/html-parts/hard-skills-section/index.ts rename to packages/manfred2html/src/engine/template-a/html-parts/hard-skills-section/index.ts diff --git a/packages/manfred2html/src/engine/html-parts/header-element-end/header-element-end.ejs b/packages/manfred2html/src/engine/template-a/html-parts/header-element-end/header-element-end.ejs similarity index 100% rename from packages/manfred2html/src/engine/html-parts/header-element-end/header-element-end.ejs rename to packages/manfred2html/src/engine/template-a/html-parts/header-element-end/header-element-end.ejs diff --git a/packages/manfred2html/src/engine/html-parts/header-element-end/header-element-end.part.ts b/packages/manfred2html/src/engine/template-a/html-parts/header-element-end/header-element-end.part.ts similarity index 100% rename from packages/manfred2html/src/engine/html-parts/header-element-end/header-element-end.part.ts rename to packages/manfred2html/src/engine/template-a/html-parts/header-element-end/header-element-end.part.ts diff --git a/packages/manfred2html/src/engine/html-parts/header-element-end/index.ts b/packages/manfred2html/src/engine/template-a/html-parts/header-element-end/index.ts similarity index 100% rename from packages/manfred2html/src/engine/html-parts/header-element-end/index.ts rename to packages/manfred2html/src/engine/template-a/html-parts/header-element-end/index.ts diff --git a/packages/manfred2html/src/engine/html-parts/header-element-start/header-element-start.ejs b/packages/manfred2html/src/engine/template-a/html-parts/header-element-start/header-element-start.ejs similarity index 100% rename from packages/manfred2html/src/engine/html-parts/header-element-start/header-element-start.ejs rename to packages/manfred2html/src/engine/template-a/html-parts/header-element-start/header-element-start.ejs diff --git a/packages/manfred2html/src/engine/html-parts/header-element-start/header-element-start.part.ts b/packages/manfred2html/src/engine/template-a/html-parts/header-element-start/header-element-start.part.ts similarity index 100% rename from packages/manfred2html/src/engine/html-parts/header-element-start/header-element-start.part.ts rename to packages/manfred2html/src/engine/template-a/html-parts/header-element-start/header-element-start.part.ts diff --git a/packages/manfred2html/src/engine/html-parts/header-element-start/index.ts b/packages/manfred2html/src/engine/template-a/html-parts/header-element-start/index.ts similarity index 100% rename from packages/manfred2html/src/engine/html-parts/header-element-start/index.ts rename to packages/manfred2html/src/engine/template-a/html-parts/header-element-start/index.ts diff --git a/packages/manfred2html/src/engine/html-parts/html-document-end/html-document-end.ejs b/packages/manfred2html/src/engine/template-a/html-parts/html-document-end/html-document-end.ejs similarity index 100% rename from packages/manfred2html/src/engine/html-parts/html-document-end/html-document-end.ejs rename to packages/manfred2html/src/engine/template-a/html-parts/html-document-end/html-document-end.ejs diff --git a/packages/manfred2html/src/engine/html-parts/html-document-end/html-document-end.part.ts b/packages/manfred2html/src/engine/template-a/html-parts/html-document-end/html-document-end.part.ts similarity index 100% rename from packages/manfred2html/src/engine/html-parts/html-document-end/html-document-end.part.ts rename to packages/manfred2html/src/engine/template-a/html-parts/html-document-end/html-document-end.part.ts diff --git a/packages/manfred2html/src/engine/html-parts/html-document-end/index.ts b/packages/manfred2html/src/engine/template-a/html-parts/html-document-end/index.ts similarity index 100% rename from packages/manfred2html/src/engine/html-parts/html-document-end/index.ts rename to packages/manfred2html/src/engine/template-a/html-parts/html-document-end/index.ts diff --git a/packages/manfred2html/src/engine/html-parts/html-document-start/html-document-start.ejs b/packages/manfred2html/src/engine/template-a/html-parts/html-document-start/html-document-start.ejs similarity index 100% rename from packages/manfred2html/src/engine/html-parts/html-document-start/html-document-start.ejs rename to packages/manfred2html/src/engine/template-a/html-parts/html-document-start/html-document-start.ejs diff --git a/packages/manfred2html/src/engine/html-parts/html-document-start/html-document-start.part.ts b/packages/manfred2html/src/engine/template-a/html-parts/html-document-start/html-document-start.part.ts similarity index 100% rename from packages/manfred2html/src/engine/html-parts/html-document-start/html-document-start.part.ts rename to packages/manfred2html/src/engine/template-a/html-parts/html-document-start/html-document-start.part.ts diff --git a/packages/manfred2html/src/engine/html-parts/html-document-start/index.ts b/packages/manfred2html/src/engine/template-a/html-parts/html-document-start/index.ts similarity index 100% rename from packages/manfred2html/src/engine/html-parts/html-document-start/index.ts rename to packages/manfred2html/src/engine/template-a/html-parts/html-document-start/index.ts diff --git a/packages/manfred2html/src/engine/html-parts/index.ts b/packages/manfred2html/src/engine/template-a/html-parts/index.ts similarity index 100% rename from packages/manfred2html/src/engine/html-parts/index.ts rename to packages/manfred2html/src/engine/template-a/html-parts/index.ts diff --git a/packages/manfred2html/src/engine/html-parts/language-section/index.ts b/packages/manfred2html/src/engine/template-a/html-parts/language-section/index.ts similarity index 100% rename from packages/manfred2html/src/engine/html-parts/language-section/index.ts rename to packages/manfred2html/src/engine/template-a/html-parts/language-section/index.ts diff --git a/packages/manfred2html/src/engine/html-parts/language-section/language-section.ejs b/packages/manfred2html/src/engine/template-a/html-parts/language-section/language-section.ejs similarity index 100% rename from packages/manfred2html/src/engine/html-parts/language-section/language-section.ejs rename to packages/manfred2html/src/engine/template-a/html-parts/language-section/language-section.ejs diff --git a/packages/manfred2html/src/engine/html-parts/language-section/language-section.part.ts b/packages/manfred2html/src/engine/template-a/html-parts/language-section/language-section.part.ts similarity index 100% rename from packages/manfred2html/src/engine/html-parts/language-section/language-section.part.ts rename to packages/manfred2html/src/engine/template-a/html-parts/language-section/language-section.part.ts diff --git a/packages/manfred2html/src/engine/html-parts/main-element-end/index.ts b/packages/manfred2html/src/engine/template-a/html-parts/main-element-end/index.ts similarity index 100% rename from packages/manfred2html/src/engine/html-parts/main-element-end/index.ts rename to packages/manfred2html/src/engine/template-a/html-parts/main-element-end/index.ts diff --git a/packages/manfred2html/src/engine/html-parts/main-element-end/main-element-end.ejs b/packages/manfred2html/src/engine/template-a/html-parts/main-element-end/main-element-end.ejs similarity index 100% rename from packages/manfred2html/src/engine/html-parts/main-element-end/main-element-end.ejs rename to packages/manfred2html/src/engine/template-a/html-parts/main-element-end/main-element-end.ejs diff --git a/packages/manfred2html/src/engine/html-parts/main-element-end/main-element-end.part.ts b/packages/manfred2html/src/engine/template-a/html-parts/main-element-end/main-element-end.part.ts similarity index 100% rename from packages/manfred2html/src/engine/html-parts/main-element-end/main-element-end.part.ts rename to packages/manfred2html/src/engine/template-a/html-parts/main-element-end/main-element-end.part.ts diff --git a/packages/manfred2html/src/engine/html-parts/main-element-start/index.ts b/packages/manfred2html/src/engine/template-a/html-parts/main-element-start/index.ts similarity index 100% rename from packages/manfred2html/src/engine/html-parts/main-element-start/index.ts rename to packages/manfred2html/src/engine/template-a/html-parts/main-element-start/index.ts diff --git a/packages/manfred2html/src/engine/html-parts/main-element-start/main-element-start.ejs b/packages/manfred2html/src/engine/template-a/html-parts/main-element-start/main-element-start.ejs similarity index 100% rename from packages/manfred2html/src/engine/html-parts/main-element-start/main-element-start.ejs rename to packages/manfred2html/src/engine/template-a/html-parts/main-element-start/main-element-start.ejs diff --git a/packages/manfred2html/src/engine/html-parts/main-element-start/main-element-start.part.ts b/packages/manfred2html/src/engine/template-a/html-parts/main-element-start/main-element-start.part.ts similarity index 100% rename from packages/manfred2html/src/engine/html-parts/main-element-start/main-element-start.part.ts rename to packages/manfred2html/src/engine/template-a/html-parts/main-element-start/main-element-start.part.ts diff --git a/packages/manfred2html/src/engine/html-parts/relevants-links-section/index.ts b/packages/manfred2html/src/engine/template-a/html-parts/relevants-links-section/index.ts similarity index 100% rename from packages/manfred2html/src/engine/html-parts/relevants-links-section/index.ts rename to packages/manfred2html/src/engine/template-a/html-parts/relevants-links-section/index.ts diff --git a/packages/manfred2html/src/engine/html-parts/relevants-links-section/relevants-links-section.ejs b/packages/manfred2html/src/engine/template-a/html-parts/relevants-links-section/relevants-links-section.ejs similarity index 100% rename from packages/manfred2html/src/engine/html-parts/relevants-links-section/relevants-links-section.ejs rename to packages/manfred2html/src/engine/template-a/html-parts/relevants-links-section/relevants-links-section.ejs diff --git a/packages/manfred2html/src/engine/html-parts/relevants-links-section/relevants-links-section.part.ts b/packages/manfred2html/src/engine/template-a/html-parts/relevants-links-section/relevants-links-section.part.ts similarity index 100% rename from packages/manfred2html/src/engine/html-parts/relevants-links-section/relevants-links-section.part.ts rename to packages/manfred2html/src/engine/template-a/html-parts/relevants-links-section/relevants-links-section.part.ts diff --git a/packages/manfred2html/src/engine/html-parts/soft-skills-section/index.ts b/packages/manfred2html/src/engine/template-a/html-parts/soft-skills-section/index.ts similarity index 100% rename from packages/manfred2html/src/engine/html-parts/soft-skills-section/index.ts rename to packages/manfred2html/src/engine/template-a/html-parts/soft-skills-section/index.ts diff --git a/packages/manfred2html/src/engine/html-parts/soft-skills-section/soft-skills-section.ejs b/packages/manfred2html/src/engine/template-a/html-parts/soft-skills-section/soft-skills-section.ejs similarity index 100% rename from packages/manfred2html/src/engine/html-parts/soft-skills-section/soft-skills-section.ejs rename to packages/manfred2html/src/engine/template-a/html-parts/soft-skills-section/soft-skills-section.ejs diff --git a/packages/manfred2html/src/engine/html-parts/soft-skills-section/soft-skills-section.part.ts b/packages/manfred2html/src/engine/template-a/html-parts/soft-skills-section/soft-skills-section.part.ts similarity index 100% rename from packages/manfred2html/src/engine/html-parts/soft-skills-section/soft-skills-section.part.ts rename to packages/manfred2html/src/engine/template-a/html-parts/soft-skills-section/soft-skills-section.part.ts diff --git a/packages/manfred2html/src/engine/html-parts/studies-section/index.ts b/packages/manfred2html/src/engine/template-a/html-parts/studies-section/index.ts similarity index 100% rename from packages/manfred2html/src/engine/html-parts/studies-section/index.ts rename to packages/manfred2html/src/engine/template-a/html-parts/studies-section/index.ts diff --git a/packages/manfred2html/src/engine/html-parts/studies-section/studies-section.ejs b/packages/manfred2html/src/engine/template-a/html-parts/studies-section/studies-section.ejs similarity index 100% rename from packages/manfred2html/src/engine/html-parts/studies-section/studies-section.ejs rename to packages/manfred2html/src/engine/template-a/html-parts/studies-section/studies-section.ejs diff --git a/packages/manfred2html/src/engine/html-parts/studies-section/studies-section.part.ts b/packages/manfred2html/src/engine/template-a/html-parts/studies-section/studies-section.part.ts similarity index 100% rename from packages/manfred2html/src/engine/html-parts/studies-section/studies-section.part.ts rename to packages/manfred2html/src/engine/template-a/html-parts/studies-section/studies-section.part.ts diff --git a/packages/manfred2html/src/engine/template-a/index.ts b/packages/manfred2html/src/engine/template-a/index.ts new file mode 100644 index 00000000..24c6c354 --- /dev/null +++ b/packages/manfred2html/src/engine/template-a/index.ts @@ -0,0 +1,57 @@ +import { ManfredAwesomicCV } from '@/model'; +import { + generateHtmlDocumentStart, + generateHtmlDocumentEnd, + generateHeaderElementStart, + generateHeaderElementEnd, + generateAboutMeSection, + generateAsideElementStart, + generateAsideElementEnd, + generateRelevantsLinksSection, + generateLanguageSection, + generateHardSkillsSection, + generateSoftSkillsSection, + generateMainElementStart, + generateMainElementEnd, + generateExperiencesSection, + generateStudiesSection, +} from './html-parts'; + +export const exportManfredJSonToHTMLTemplateA = ( + manfredJsonContent: ManfredAwesomicCV, + settings?: Settings +): string => { + const htmlDocumentStart = generateHtmlDocumentStart(); + const htmlDocumentEnd = generateHtmlDocumentEnd(); + const headerElementStart = generateHeaderElementStart(); + const headerElementEnd = generateHeaderElementEnd(); + const aboutMeSection = generateAboutMeSection(manfredJsonContent); + const asideElementStart = generateAsideElementStart(); + const asideElementEnd = generateAsideElementEnd(); + const relevantsLinksSection = generateRelevantsLinksSection(manfredJsonContent); + const mainElementStart = generateMainElementStart(); + const mainElementEnd = generateMainElementEnd(); + const languageSection = generateLanguageSection(manfredJsonContent); + const hardSkillsSection = generateHardSkillsSection(manfredJsonContent); + const softSkillsSection = generateSoftSkillsSection(manfredJsonContent); + const experienceSection = generateExperiencesSection(manfredJsonContent); + const studiesSection = generateStudiesSection(manfredJsonContent); + + return ` + ${htmlDocumentStart} + ${headerElementStart} + ${aboutMeSection} + ${headerElementEnd} + ${asideElementStart} + ${relevantsLinksSection} + ${languageSection} + ${hardSkillsSection} + ${softSkillsSection} + ${asideElementEnd} + ${mainElementStart} + ${experienceSection} + ${studiesSection} + ${mainElementEnd} + ${htmlDocumentEnd} + `; +}; diff --git a/packages/manfred2html/src/engine/template-b/html-parts/about-me-section/about-me-section.ejs b/packages/manfred2html/src/engine/template-b/html-parts/about-me-section/about-me-section.ejs new file mode 100644 index 00000000..378ceee3 --- /dev/null +++ b/packages/manfred2html/src/engine/template-b/html-parts/about-me-section/about-me-section.ejs @@ -0,0 +1,9 @@ + + <%_ if (profile && profile !== 'undefined' ) { -%> +

<%= profile?.name %>
<%= profile?.surnames %>

+
+

<%= profile?.title %>

+

<%= profile?.description %>

+<%_ } -%> + + diff --git a/packages/manfred2html/src/engine/template-b/html-parts/about-me-section/about-me-section.part.ts b/packages/manfred2html/src/engine/template-b/html-parts/about-me-section/about-me-section.part.ts new file mode 100644 index 00000000..d945a21a --- /dev/null +++ b/packages/manfred2html/src/engine/template-b/html-parts/about-me-section/about-me-section.part.ts @@ -0,0 +1,18 @@ +import { ManfredAwesomicCV } from '@/model'; +import { ProfileSectionVm, mapFromMacCvToProfileSectionVm } from '@lemoncode/manfred-common/profile-section'; +import aboutMe from './about-me-section.ejs?raw'; +import ejs from 'ejs'; + +export const generateAboutMeSection = (cv: ManfredAwesomicCV): string => { + const profileSectionVm = mapFromMacCvToProfileSectionVm(cv); + + return generateAboutMeSectionInner(profileSectionVm); +}; + +const generateAboutMeSectionInner = (profileSectionVm: ProfileSectionVm): string => { + const rootObject = { + profile: profileSectionVm, + }; + + return ejs.render(aboutMe, rootObject); +}; diff --git a/packages/manfred2html/src/engine/template-b/html-parts/about-me-section/index.ts b/packages/manfred2html/src/engine/template-b/html-parts/about-me-section/index.ts new file mode 100644 index 00000000..b0ee7d15 --- /dev/null +++ b/packages/manfred2html/src/engine/template-b/html-parts/about-me-section/index.ts @@ -0,0 +1 @@ +export * from './about-me-section.part'; diff --git a/packages/manfred2html/src/engine/template-b/html-parts/aside-element-end/aside-element-end.ejs b/packages/manfred2html/src/engine/template-b/html-parts/aside-element-end/aside-element-end.ejs new file mode 100644 index 00000000..0124ef29 --- /dev/null +++ b/packages/manfred2html/src/engine/template-b/html-parts/aside-element-end/aside-element-end.ejs @@ -0,0 +1 @@ + diff --git a/packages/manfred2html/src/engine/template-b/html-parts/aside-element-end/aside-element-end.part.ts b/packages/manfred2html/src/engine/template-b/html-parts/aside-element-end/aside-element-end.part.ts new file mode 100644 index 00000000..34639985 --- /dev/null +++ b/packages/manfred2html/src/engine/template-b/html-parts/aside-element-end/aside-element-end.part.ts @@ -0,0 +1,4 @@ +import ejs from 'ejs'; +import asideElementEndTemplate from './aside-element-end.ejs?raw'; + +export const generateAsideElementEnd = (): string => ejs.render(asideElementEndTemplate); diff --git a/packages/manfred2html/src/engine/template-b/html-parts/aside-element-end/index.ts b/packages/manfred2html/src/engine/template-b/html-parts/aside-element-end/index.ts new file mode 100644 index 00000000..e1b267cb --- /dev/null +++ b/packages/manfred2html/src/engine/template-b/html-parts/aside-element-end/index.ts @@ -0,0 +1 @@ +export * from './aside-element-end.part'; diff --git a/packages/manfred2html/src/engine/template-b/html-parts/aside-element-start/aside-element-start.ejs b/packages/manfred2html/src/engine/template-b/html-parts/aside-element-start/aside-element-start.ejs new file mode 100644 index 00000000..fbfaf4bc --- /dev/null +++ b/packages/manfred2html/src/engine/template-b/html-parts/aside-element-start/aside-element-start.ejs @@ -0,0 +1 @@ + diff --git a/packages/manfred2html/src/engine/template-b/html-parts/aside-element-end/aside-element-end.part.ts b/packages/manfred2html/src/engine/template-b/html-parts/aside-element-end/aside-element-end.part.ts deleted file mode 100644 index 34639985..00000000 --- a/packages/manfred2html/src/engine/template-b/html-parts/aside-element-end/aside-element-end.part.ts +++ /dev/null @@ -1,4 +0,0 @@ -import ejs from 'ejs'; -import asideElementEndTemplate from './aside-element-end.ejs?raw'; - -export const generateAsideElementEnd = (): string => ejs.render(asideElementEndTemplate); diff --git a/packages/manfred2html/src/engine/template-b/html-parts/aside-element-end/index.ts b/packages/manfred2html/src/engine/template-b/html-parts/aside-element-end/index.ts deleted file mode 100644 index e1b267cb..00000000 --- a/packages/manfred2html/src/engine/template-b/html-parts/aside-element-end/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './aside-element-end.part'; diff --git a/packages/manfred2html/src/engine/template-b/html-parts/aside-element-start/aside-element-start.ejs b/packages/manfred2html/src/engine/template-b/html-parts/aside-element-start/aside-element-start.ejs deleted file mode 100644 index fbfaf4bc..00000000 --- a/packages/manfred2html/src/engine/template-b/html-parts/aside-element-start/aside-element-start.ejs +++ /dev/null @@ -1 +0,0 @@ - diff --git a/packages/manfred2html/src/engine/template-b/html-parts/aside-element-end/aside-element-end.part.ts b/packages/manfred2html/src/engine/template-b/html-parts/aside-element-end/aside-element-end.part.ts new file mode 100644 index 00000000..34639985 --- /dev/null +++ b/packages/manfred2html/src/engine/template-b/html-parts/aside-element-end/aside-element-end.part.ts @@ -0,0 +1,4 @@ +import ejs from 'ejs'; +import asideElementEndTemplate from './aside-element-end.ejs?raw'; + +export const generateAsideElementEnd = (): string => ejs.render(asideElementEndTemplate); diff --git a/packages/manfred2html/src/engine/template-b/html-parts/aside-element-end/index.ts b/packages/manfred2html/src/engine/template-b/html-parts/aside-element-end/index.ts new file mode 100644 index 00000000..e1b267cb --- /dev/null +++ b/packages/manfred2html/src/engine/template-b/html-parts/aside-element-end/index.ts @@ -0,0 +1 @@ +export * from './aside-element-end.part'; diff --git a/packages/manfred2html/src/engine/template-b/html-parts/aside-element-start/aside-element-start.ejs b/packages/manfred2html/src/engine/template-b/html-parts/aside-element-start/aside-element-start.ejs new file mode 100644 index 00000000..fbfaf4bc --- /dev/null +++ b/packages/manfred2html/src/engine/template-b/html-parts/aside-element-start/aside-element-start.ejs @@ -0,0 +1 @@ +