diff --git a/packages/manfred2html/src/engine/template-b/html-parts/experience-section/experience-section.ejs b/packages/manfred2html/src/engine/template-b/html-parts/experience-section/experience-section.ejs new file mode 100644 index 00000000..dce07542 --- /dev/null +++ b/packages/manfred2html/src/engine/template-b/html-parts/experience-section/experience-section.ejs @@ -0,0 +1,65 @@ +<%_ if(experienceCollection && experienceCollection.length !== 0){ -%> +
+
+

Experiencia

+
+
+ <%_ for(const experience of experienceCollection){ -%> +
+
+ + + +
+
+

<%- experience.name %>

+ <%_ if(experience.type) { -%> +

<%- experience.description %>

+ <%_ } -%> + + <%_ if(experience.type) { -%> +

Tipo de organizaciĆ³n: <%- experience.type %>

+ <%_ } -%> +

Roles dentro de la empresa: <%- experience.roles[0].name %>

+ <%_ if(experience.roles[0].challenges && experience.roles[0].challenges.length !== 0) { -%> +

Retos:

+
    + <%_ for(const challenge of experience.roles[0].challenges){ -%> +
  • <%- challenge.description %>
  • + <%_ }-%> +
+ <%_ }-%> +
+
+ <%_ }-%> +
+<%_ }-%> diff --git a/packages/manfred2html/src/engine/template-b/html-parts/experience-section/experience-section.part.ts b/packages/manfred2html/src/engine/template-b/html-parts/experience-section/experience-section.part.ts new file mode 100644 index 00000000..fc8140f3 --- /dev/null +++ b/packages/manfred2html/src/engine/template-b/html-parts/experience-section/experience-section.part.ts @@ -0,0 +1,18 @@ +import ejs from 'ejs'; +import { ExperienceVm, mapFromMacCvToExperienceSectionVm } from '@lemoncode/manfred-common/experience-section'; +import { ManfredAwesomicCV } from '@/model'; +import experienceTemplate from './experience-section.ejs?raw'; + +export const generateExperiencesSection = (cv: ManfredAwesomicCV): string => { + const experienceSectionVm = mapFromMacCvToExperienceSectionVm(cv); + + return generateExperienceSectionInner(experienceSectionVm); +}; + +const generateExperienceSectionInner = (experienceSectionVm: ExperienceVm[]): string => { + const rootObject = { + experienceCollection: experienceSectionVm, + }; + + return ejs.render(experienceTemplate, rootObject); +}; diff --git a/packages/manfred2html/src/engine/template-b/html-parts/experience-section/index.ts b/packages/manfred2html/src/engine/template-b/html-parts/experience-section/index.ts new file mode 100644 index 00000000..03b6e599 --- /dev/null +++ b/packages/manfred2html/src/engine/template-b/html-parts/experience-section/index.ts @@ -0,0 +1 @@ +export* from './experience-section.part'; diff --git a/packages/manfred2html/src/engine/template-b/html-parts/html-document-start/html-document-start.ejs b/packages/manfred2html/src/engine/template-b/html-parts/html-document-start/html-document-start.ejs index a8357bd7..61639013 100644 --- a/packages/manfred2html/src/engine/template-b/html-parts/html-document-start/html-document-start.ejs +++ b/packages/manfred2html/src/engine/template-b/html-parts/html-document-start/html-document-start.ejs @@ -259,6 +259,10 @@ display: flex; padding: var(--spacing_base); } +.date { + text-transform: capitalize; +} + @media (min-width: 728px) { main { padding: var(--spacing_32) var(--spacing_64); diff --git a/packages/manfred2html/src/engine/template-b/html-parts/index.ts b/packages/manfred2html/src/engine/template-b/html-parts/index.ts index 436f018a..917e15fc 100644 --- a/packages/manfred2html/src/engine/template-b/html-parts/index.ts +++ b/packages/manfred2html/src/engine/template-b/html-parts/index.ts @@ -12,3 +12,4 @@ export * from './language-section'; export * from './hard-skills-section'; export * from './soft-skills-section'; export * from './about-me-section'; +export * from './experience-section'; diff --git a/packages/manfred2html/src/engine/template-b/index.ts b/packages/manfred2html/src/engine/template-b/index.ts index b9d742aa..8ad80fb2 100644 --- a/packages/manfred2html/src/engine/template-b/index.ts +++ b/packages/manfred2html/src/engine/template-b/index.ts @@ -15,6 +15,7 @@ import { generateHardSkillsSection, generateSoftSkillsSection, generateAboutMeSection, + generateExperiencesSection, } from './html-parts'; export const exportManfredJSonToHTMLTemplateB = (manfredJsonContent: ManfredAwesomicCV, theme?: string): string => { @@ -32,6 +33,7 @@ export const exportManfredJSonToHTMLTemplateB = (manfredJsonContent: ManfredAwes const mainElementStart = generateMainElementStart(); const mainElementEnd = generateMainElementEnd(); const aboutMeSection = generateAboutMeSection(manfredJsonContent); + const experienceSection = generateExperiencesSection(manfredJsonContent); return ` ${htmlDocumentStart} @@ -46,6 +48,7 @@ export const exportManfredJSonToHTMLTemplateB = (manfredJsonContent: ManfredAwes ${asideElementEnd} ${mainElementStart} ${aboutMeSection} + ${experienceSection} ${mainElementEnd} ${htmlDocumentEnd} `;