<% function linkInDiv(url) { if (!url) return '' return `
${fn.noSchemaURL(url)}
` } %>

<%= cv.basics.name %>

<% if (cv.basics.label) { %>
<%= cv.basics.label %>
<% } %> <% if (cv.basics.url) { %>
<%- fn.getIconSVG('mdi:link-variant') %> <%= fn.noSchemaURL(cv.basics.url) %>
<% } %> <% if (cv.basics.summary) { %>
<%- fn.renderMarkdown(cv.basics.summary) %>
<% } %>
<% if (cv.basics.email) { %>
<%- fn.getIconSVG('mdi:email') %> <%= cv.basics.email %>
<% } %> <% if (cv.basics.phone) { %>
<%- fn.getIconSVG('mdi:phone') %> <%= cv.basics.phone %>
<% } %> <% if (cv.basics.location) { %>
<%- fn.getIconSVG('mdi:location') %> <%= cv.basics.location.city %>, <%= cv.basics.location.countryCode %>
<% } %>
<% function dateRange(item, level) { let {startDate, endDate} = item if (!startDate && !endDate) return '' let format // level: 1: year, 2: month, 3: day switch (level) { case 1: format = 'YYYY' break; case 2: format = 'MMM YYYY' break; } if (format) { startDate = startDate ? fn.reformatDate(startDate, format) : '' endDate = endDate ? fn.reformatDate(endDate, format) : '' } let result = '' if (startDate && endDate) { result = `${startDate} – ${endDate}` } else if (startDate) { result = `Since ${startDate}` } else if (endDate) { result = `Until ${endDate}` } return `
${result}
` } %> <% if (cv.education) { %>

Educations

<% for (const item of cv.education) { %>

<%= item.institution %>

<%- linkInDiv(item.url) %>
<%= item.studyType %>, <%= item.area %>
<%- dateRange(item, 2) %>
Overall GPA: <%= item.score %>
<% if (item.courses && item.courses.length > 0) { %>
Courses: <%= item.courses.join('; ') %>
<% } %>
<% } %>
<% } %> <% if (cv.work) { %>

Work

<% for (const item of cv.work) { %>

<%= item.name %>

<%- linkInDiv(item.url) %>
<%= item.position %>
<%- dateRange(item, 2) %>
<%- fn.renderMarkdown(item.summary) %>
<% if (item.highlights && item.highlights.length > 0) { %>
    <% for (const hl of item.highlights) { %>
  • <%- fn.renderMarkdown(hl, true) %>
  • <% } %>
<% } %>
<% } %>
<% } %> <% if (cv.projects) { %>

Projects

<% for (const item of cv.projects) { %>

<%= item.name %>

<%- linkInDiv(item.url) %>
<% if (item.roles && item.roles.length > 0) { %>
<%= item.roles.join(', ') %>
<% } %> <%- dateRange(item, 2) %>
<%- fn.renderMarkdown(item.description, true) %>
<% if (item.highlights && item.highlights.length > 0) { %> <% if (item.highlights.length === 1) { %>
<%- fn.renderMarkdown(item.highlights[0], true) %>
<% } else { %>
    <% for (const hl of item.highlights) { %>
  • <%- fn.renderMarkdown(hl, true) %>
  • <% } %>
<% } %> <% } %>
<% for (const kw of item.keywords) { %> <%= kw %> <% } %>
<% } %>
<% } %> <% if (cv.sideProjects) { %>

Side-projects

<% for (const item of cv.sideProjects) { %>

<%= item.name %>

<%- dateRange(item, 1) %>
<% if (item.url) { %>
<%- fn.getIconSVG('mdi:link-variant') %> <%= fn.noSchemaURL(item.url) %>
<% } %>
<%- fn.renderMarkdown(item.description) %>
<% if (item.keywords && item.keywords.length > 0) { %>
<% for (const kw of item.keywords) { %> <%= kw %> <% } %>
<% } %>
<% } %>
<% } %> <% if (cv.skills) { %>

Skills

<% for (const item of cv.skills) { %>

<%= item.name %>

<%= item.level %>
<% if (item.summary) { %>
<%- fn.renderMarkdown(item.summary) %>
<% } %> <% if (item.keywords && item.keywords.length > 0) { %>
<% for (const kw of item.keywords) { %> <%= kw %> <% } %>
<% } %>
<% } %>
<% } %> <% if (cv.languages) { %>

Languages

<% for (const item of cv.languages) { %>

<%= item.language %>

<%= item.fluency %>
<% if (item.summary) { %>
<%- fn.renderMarkdown(item.summary) %>
<% } %>
<% } %>
<% } %> <% if (cv.meta) { %> <% } %>