diff --git a/packages/manfred2html/src/engine/cv-x-wing-squadron/html-parts/avatar-section/avatar-section.ejs b/packages/manfred2html/src/engine/cv-x-wing-squadron/html-parts/avatar-section/avatar-section.ejs new file mode 100644 index 00000000..364bd0d1 --- /dev/null +++ b/packages/manfred2html/src/engine/cv-x-wing-squadron/html-parts/avatar-section/avatar-section.ejs @@ -0,0 +1,3 @@ +<%_ if (profile.avatar) { -%> + photo cv +<%_ } -%> diff --git a/packages/manfred2html/src/engine/cv-x-wing-squadron/html-parts/header-section/header-section.part.ts b/packages/manfred2html/src/engine/cv-x-wing-squadron/html-parts/avatar-section/avatar-section.part.ts similarity index 54% rename from packages/manfred2html/src/engine/cv-x-wing-squadron/html-parts/header-section/header-section.part.ts rename to packages/manfred2html/src/engine/cv-x-wing-squadron/html-parts/avatar-section/avatar-section.part.ts index 8f6b362a..14f49aa5 100644 --- a/packages/manfred2html/src/engine/cv-x-wing-squadron/html-parts/header-section/header-section.part.ts +++ b/packages/manfred2html/src/engine/cv-x-wing-squadron/html-parts/avatar-section/avatar-section.part.ts @@ -1,16 +1,16 @@ import { ManfredAwesomicCV } from '@/model'; import { ProfileSectionVm, mapFromMacCvToProfileSectionVm } from '@lemoncode/manfred-common/profile-section'; -import headerSection from './header-section.ejs?raw'; +import avatarSection from './avatar-section.ejs?raw'; import ejs from 'ejs'; -export const generateHeaderSection = (cv: ManfredAwesomicCV): string => { +export const generateAvatarSection = (cv: ManfredAwesomicCV): string => { const profileSectionVm = mapFromMacCvToProfileSectionVm(cv); - return generateHeaderSectionInner(profileSectionVm); + return generateAvatarSectionInner(profileSectionVm); }; -const generateHeaderSectionInner = (profileSectionVm: ProfileSectionVm): string => { +const generateAvatarSectionInner = (profileSectionVm: ProfileSectionVm): string => { const rootObject = { profile: profileSectionVm, }; - return ejs.render(headerSection, rootObject); + return ejs.render(avatarSection, rootObject); }; diff --git a/packages/manfred2html/src/engine/cv-x-wing-squadron/html-parts/avatar-section/index.ts b/packages/manfred2html/src/engine/cv-x-wing-squadron/html-parts/avatar-section/index.ts new file mode 100644 index 00000000..658abfc8 --- /dev/null +++ b/packages/manfred2html/src/engine/cv-x-wing-squadron/html-parts/avatar-section/index.ts @@ -0,0 +1 @@ +export * from './avatar-section.part'; diff --git a/packages/manfred2html/src/engine/cv-x-wing-squadron/html-parts/header-section-end/header-section-end.ejs b/packages/manfred2html/src/engine/cv-x-wing-squadron/html-parts/header-section-end/header-section-end.ejs new file mode 100644 index 00000000..5eee65a1 --- /dev/null +++ b/packages/manfred2html/src/engine/cv-x-wing-squadron/html-parts/header-section-end/header-section-end.ejs @@ -0,0 +1 @@ + diff --git a/packages/manfred2html/src/engine/cv-x-wing-squadron/html-parts/header-section-end/header-section-end.part.ts b/packages/manfred2html/src/engine/cv-x-wing-squadron/html-parts/header-section-end/header-section-end.part.ts new file mode 100644 index 00000000..9cb9d222 --- /dev/null +++ b/packages/manfred2html/src/engine/cv-x-wing-squadron/html-parts/header-section-end/header-section-end.part.ts @@ -0,0 +1,4 @@ +import ejs from 'ejs'; +import HeaderSectionEndTemplate from './header-section-end.ejs?raw'; + +export const generateHeaderSectionEnd = (): string => ejs.render(HeaderSectionEndTemplate); diff --git a/packages/manfred2html/src/engine/cv-x-wing-squadron/html-parts/header-section-end/index.ts b/packages/manfred2html/src/engine/cv-x-wing-squadron/html-parts/header-section-end/index.ts new file mode 100644 index 00000000..1b131094 --- /dev/null +++ b/packages/manfred2html/src/engine/cv-x-wing-squadron/html-parts/header-section-end/index.ts @@ -0,0 +1 @@ +export * from './header-section-end.part'; diff --git a/packages/manfred2html/src/engine/cv-x-wing-squadron/html-parts/header-section-start/header-section-start.ejs b/packages/manfred2html/src/engine/cv-x-wing-squadron/html-parts/header-section-start/header-section-start.ejs new file mode 100644 index 00000000..96d889e2 --- /dev/null +++ b/packages/manfred2html/src/engine/cv-x-wing-squadron/html-parts/header-section-start/header-section-start.ejs @@ -0,0 +1,3 @@ +
+ + diff --git a/packages/manfred2html/src/engine/cv-x-wing-squadron/html-parts/header-section-start/header-section-start.part.ts b/packages/manfred2html/src/engine/cv-x-wing-squadron/html-parts/header-section-start/header-section-start.part.ts new file mode 100644 index 00000000..e6d589a5 --- /dev/null +++ b/packages/manfred2html/src/engine/cv-x-wing-squadron/html-parts/header-section-start/header-section-start.part.ts @@ -0,0 +1,4 @@ +import ejs from 'ejs'; +import HeaderSectionStartTemplate from './header-section-start.ejs?raw'; + +export const generateHeaderSectionStart = (): string => ejs.render(HeaderSectionStartTemplate); diff --git a/packages/manfred2html/src/engine/cv-x-wing-squadron/html-parts/header-section-start/index.ts b/packages/manfred2html/src/engine/cv-x-wing-squadron/html-parts/header-section-start/index.ts new file mode 100644 index 00000000..9637b3c6 --- /dev/null +++ b/packages/manfred2html/src/engine/cv-x-wing-squadron/html-parts/header-section-start/index.ts @@ -0,0 +1 @@ +export * from './header-section-start.part'; diff --git a/packages/manfred2html/src/engine/cv-x-wing-squadron/html-parts/header-section/header-section.ejs b/packages/manfred2html/src/engine/cv-x-wing-squadron/html-parts/header-section/header-section.ejs deleted file mode 100644 index 42e037ab..00000000 --- a/packages/manfred2html/src/engine/cv-x-wing-squadron/html-parts/header-section/header-section.ejs +++ /dev/null @@ -1,36 +0,0 @@ -<%_ if (profile && profile !== 'undefined') { -%> - <%_ if (profile.avatar) { -%> - photo cv - <%_ } -%> -
-
- - - -

<%= profile.name %>

-

<%= profile?.surnames %>

-

<%= profile?.title %>

-
- <%_ if (profile.regionLocation) { -%> -
- - - - - - - - - - -

<%= profile?.regionLocation %>, <%= profile?.countryLocation %>

-
- <%_ } -%> -<%_ } -%> - - - - diff --git a/packages/manfred2html/src/engine/cv-x-wing-squadron/html-parts/header-section/index.ts b/packages/manfred2html/src/engine/cv-x-wing-squadron/html-parts/header-section/index.ts deleted file mode 100644 index af70765e..00000000 --- a/packages/manfred2html/src/engine/cv-x-wing-squadron/html-parts/header-section/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './header-section.part'; diff --git a/packages/manfred2html/src/engine/cv-x-wing-squadron/html-parts/index.ts b/packages/manfred2html/src/engine/cv-x-wing-squadron/html-parts/index.ts index 212f493b..151abd9f 100644 --- a/packages/manfred2html/src/engine/cv-x-wing-squadron/html-parts/index.ts +++ b/packages/manfred2html/src/engine/cv-x-wing-squadron/html-parts/index.ts @@ -1,8 +1,11 @@ export * from './html-document-start'; export * from './html-document-end'; export * from './header-element-start'; +export * from './avatar-section'; export * from './header-element-end'; -export * from './header-section'; +export * from './header-section-start'; +export * from './header-section-end'; +export * from './userInfo-section'; export * from './main-element-start'; export * from './main-element-end'; export * from './about-me-section'; diff --git a/packages/manfred2html/src/engine/cv-x-wing-squadron/html-parts/relevants-links-section/relevants-links-section.ejs b/packages/manfred2html/src/engine/cv-x-wing-squadron/html-parts/relevants-links-section/relevants-links-section.ejs index 9f912fcf..5a72ea55 100644 --- a/packages/manfred2html/src/engine/cv-x-wing-squadron/html-parts/relevants-links-section/relevants-links-section.ejs +++ b/packages/manfred2html/src/engine/cv-x-wing-squadron/html-parts/relevants-links-section/relevants-links-section.ejs @@ -66,6 +66,5 @@ <%_ } -%> <%_ } -%> - -
+ <%_ } -%> diff --git a/packages/manfred2html/src/engine/cv-x-wing-squadron/html-parts/userInfo-section/index.ts b/packages/manfred2html/src/engine/cv-x-wing-squadron/html-parts/userInfo-section/index.ts new file mode 100644 index 00000000..c3808446 --- /dev/null +++ b/packages/manfred2html/src/engine/cv-x-wing-squadron/html-parts/userInfo-section/index.ts @@ -0,0 +1 @@ +export * from './userInfo-section.part'; diff --git a/packages/manfred2html/src/engine/cv-x-wing-squadron/html-parts/userInfo-section/userInfo-section.ejs b/packages/manfred2html/src/engine/cv-x-wing-squadron/html-parts/userInfo-section/userInfo-section.ejs new file mode 100644 index 00000000..5e9f25a3 --- /dev/null +++ b/packages/manfred2html/src/engine/cv-x-wing-squadron/html-parts/userInfo-section/userInfo-section.ejs @@ -0,0 +1,28 @@ +<%_ if (profile && profile !== undefined) { -%> +
+ + + +

<%= profile.name %>

+

<%= profile?.surnames %>

+

<%= profile?.title %>

+
+ <%_ if (profile.regionLocation) { -%> +
+ + + + + + + + + + +

<%= profile?.regionLocation %>, <%= profile?.countryLocation %>

+
+ <%_}-%> +<%_}-%> diff --git a/packages/manfred2html/src/engine/cv-x-wing-squadron/html-parts/userInfo-section/userInfo-section.part.ts b/packages/manfred2html/src/engine/cv-x-wing-squadron/html-parts/userInfo-section/userInfo-section.part.ts new file mode 100644 index 00000000..bb38bcbc --- /dev/null +++ b/packages/manfred2html/src/engine/cv-x-wing-squadron/html-parts/userInfo-section/userInfo-section.part.ts @@ -0,0 +1,16 @@ +import { ManfredAwesomicCV } from '@/model'; +import { ProfileSectionVm, mapFromMacCvToProfileSectionVm } from '@lemoncode/manfred-common/profile-section'; +import userInfoSection from './userInfo-section.ejs?raw'; +import ejs from 'ejs'; + +export const generateUserInfoSection = (cv: ManfredAwesomicCV): string => { + const profileSectionVm = mapFromMacCvToProfileSectionVm(cv); + return generateUserInfoSectionInner(profileSectionVm); +}; + +const generateUserInfoSectionInner = (profileSectionVm: ProfileSectionVm): string => { + const rootObject = { + profile: profileSectionVm, + }; + return ejs.render(userInfoSection, rootObject); +}; diff --git a/packages/manfred2html/src/engine/cv-x-wing-squadron/index.ts b/packages/manfred2html/src/engine/cv-x-wing-squadron/index.ts index a8776a0c..e3e91b0c 100644 --- a/packages/manfred2html/src/engine/cv-x-wing-squadron/index.ts +++ b/packages/manfred2html/src/engine/cv-x-wing-squadron/index.ts @@ -4,7 +4,10 @@ import { generateHtmlDocumentEnd, generateHeaderElementEnd, generateHeaderElementStart, - generateHeaderSection, + generateHeaderSectionStart, + generateHeaderSectionEnd, + generateAvatarSection, + generateUserInfoSection, generateMainElementStart, generateAboutMeSection, generateMainElementEnd, @@ -18,24 +21,30 @@ import { export const exportManfredJsonToCVXWingHTML = (manfredJsonContent: ManfredAwesomicCV, settings: Settings): string => { const htmlDocumentStart = generateHtmlDocumentStart(); - const htmlDocumentEnd = generateHtmlDocumentEnd(); const headerElementStart = generateHeaderElementStart(); + const headerSectionStart = generateHeaderSectionStart(); + const headerSectionEnd = generateHeaderSectionEnd(); + const avatarSection = generateAvatarSection(manfredJsonContent); + const userInfoSection = generateUserInfoSection(manfredJsonContent); + const relevantLinksSection = generateRelevantLinksSection(manfredJsonContent); const headerElementEnd = generateHeaderElementEnd(); - const headerSection = generateHeaderSection(manfredJsonContent); const mainElementStart = generateMainElementStart(); const aboutMeSection = generateAboutMeSection(manfredJsonContent, settings); - const mainElementEnd = generateMainElementEnd(); - const studiesSection = generateStudiesSection(manfredJsonContent, settings); - const experienceSection = generateExperienceSection(manfredJsonContent, settings); - const softSkillsSection = generateSoftSkillsSection(manfredJsonContent, settings); - const hardSkillsSection = generateHardSkillsSection(manfredJsonContent, settings); const languageSection = generateLanguageSection(manfredJsonContent, settings); - const relevantLinksSection = generateRelevantLinksSection(manfredJsonContent); + const hardSkillsSection = generateHardSkillsSection(manfredJsonContent, settings); + const softSkillsSection = generateSoftSkillsSection(manfredJsonContent, settings); + const experienceSection = generateExperienceSection(manfredJsonContent, settings); + const studiesSection = generateStudiesSection(manfredJsonContent, settings); + const mainElementEnd = generateMainElementEnd(); + const htmlDocumentEnd = generateHtmlDocumentEnd(); return ` ${htmlDocumentStart} ${headerElementStart} - ${headerSection} - ${relevantLinksSection} + ${avatarSection} + ${headerSectionStart} + ${userInfoSection} + ${relevantLinksSection} + ${headerSectionEnd} ${headerElementEnd} ${mainElementStart} ${aboutMeSection}