add side-projects and meta in reorx theme

This commit is contained in:
Reorx 2023-02-07 23:39:11 +08:00
parent 65047a2574
commit 81f8198591
3 changed files with 82 additions and 23 deletions

View File

@ -153,6 +153,17 @@
"type": "application" "type": "application"
} }
], ],
"sideProjects": [
{
"name": "Bebop",
"description": "A spaceship that flies",
"url": "https://bebop.example.com",
"startDate": "2022-01-01",
"keywords": [
"Aerodynamics", "Space travel", "Rocket science"
]
}
],
"meta": { "meta": {
"canonical": "https://raw.githubusercontent.com/jsonresume/resume-schema/master/resume.json", "canonical": "https://raw.githubusercontent.com/jsonresume/resume-schema/master/resume.json",
"version": "v1.0.0", "version": "v1.0.0",

View File

@ -39,15 +39,32 @@ function linkInDiv(url) {
<% <%
function dateRange(item, preserveDay) { function dateRange(item, level) {
let {startDate, endDate} = item let {startDate, endDate} = item
if (!startDate && !endDate) return '' if (!startDate && !endDate) return ''
if (!preserveDay) { let format
const format = 'MMM YYYY' // level: 1: year, 2: month, 3: day
startDate = fn.reformatDate(startDate, format) switch (level) {
endDate = fn.reformatDate(endDate, format) case 1:
format = 'YYYY'
break;
case 2:
format = 'MMM YYYY'
break;
} }
return `<div class="date-range">${startDate} ${endDate}</div>` 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 `<div class="date-range">${result}</div>`
} }
%> %>
@ -62,7 +79,7 @@ function dateRange(item, preserveDay) {
<div class="education section-item"> <div class="education section-item">
<div class="row space-between"> <div class="row space-between">
<h3><%= item.institution %></h3> <h3><%= item.institution %></h3>
<%- dateRange(item) %> <%- dateRange(item, 2) %>
</div> </div>
<div class="study row fz-4"> <div class="study row fz-4">
<%= item.studyType %>, <%= item.area %> <%= item.studyType %>, <%= item.area %>
@ -90,7 +107,7 @@ function dateRange(item, preserveDay) {
<div class="work section-item"> <div class="work section-item">
<div class="row space-between"> <div class="row space-between">
<h3><%= item.name %></h3> <h3><%= item.name %></h3>
<%- dateRange(item) %> <%- dateRange(item, 2) %>
</div> </div>
<div class="position row fz-4"><%= item.position %></div> <div class="position row fz-4"><%= item.position %></div>
<div class="summary row"><%= item.summary %></div> <div class="summary row"><%= item.summary %></div>
@ -120,7 +137,7 @@ function dateRange(item, preserveDay) {
<div class="project section-item"> <div class="project section-item">
<div class="row space-between"> <div class="row space-between">
<h3><%= item.name %></h3> <h3><%= item.name %></h3>
<%- dateRange(item) %> <%- dateRange(item, 2) %>
</div> </div>
<div class="row lh-para"><%= item.description %></div> <div class="row lh-para"><%= item.description %></div>
<% if (item.highlights && item.highlights.length > 0) { %> <% if (item.highlights && item.highlights.length > 0) { %>
@ -132,7 +149,7 @@ function dateRange(item, preserveDay) {
</ul> </ul>
</div> </div>
<% } %> <% } %>
<div class="keywords"> <div class="keywords row">
<% for (const kw of item.keywords) { %> <% for (const kw of item.keywords) { %>
<span class="item"><%= kw %></span> <span class="item"><%= kw %></span>
<% } %> <% } %>
@ -152,19 +169,19 @@ function dateRange(item, preserveDay) {
</div> </div>
<% for (const item of cv.sideProjects) { %> <% for (const item of cv.sideProjects) { %>
<div class="sideproject section-item"> <div class="sideproject section-item">
<div class="row space-between">
<h3><%= item.name %></h3> <h3><%= item.name %></h3>
<p><%= item.url %></p> <%- dateRange(item, 1) %>
<p><%= item.description %></p> </div>
<%- dateRange(item) %> <div class="description row lh-para"><%= item.description %></div>
<% if (item.keywords && item.keywords.length > 0) { %> <% if (item.keywords && item.keywords.length > 0) { %>
<div class="keywords row">
<% } %>
<div class="keywords">
<% for (const kw of item.keywords) { %> <% for (const kw of item.keywords) { %>
<span class="item"><%= kw %></span> <span class="item"><%= kw %></span>
<% } %> <% } %>
</div> </div>
</div> <% } %>
<%- linkInDiv(item.url) %>
</div> </div>
<% } %> <% } %>
</section> </section>
@ -183,13 +200,12 @@ function dateRange(item, preserveDay) {
<h3><%= item.name %></h3> <h3><%= item.name %></h3>
<div class="level row"><%= item.level %></div> <div class="level row"><%= item.level %></div>
<% if (item.keywords && item.keywords.length > 0) { %> <% if (item.keywords && item.keywords.length > 0) { %>
<% } %>
<div class="keywords"> <div class="keywords">
<% for (const kw of item.keywords) { %> <% for (const kw of item.keywords) { %>
<span class="item"><%= kw %></span> <span class="item"><%= kw %></span>
<% } %> <% } %>
</div> </div>
<% } %>
</div> </div>
<% } %> <% } %>
</div> </div>
@ -206,8 +222,26 @@ function dateRange(item, preserveDay) {
<% for (const item of cv.languages) { %> <% for (const item of cv.languages) { %>
<div class="language section-item"> <div class="language section-item">
<h3><%= item.language %></h3> <h3><%= item.language %></h3>
<div class="fluency row"><%= item.fluency %></div> <div class="fluency row lh-para"><%= item.fluency %></div>
</div> </div>
<% } %> <% } %>
</section> </section>
<% } %> <% } %>
<!-- TODO: -->
<!-- Awards -->
<!-- Volunteer -->
<!-- Publications -->
<!-- References -->
<!-- Interests -->
<!-- meta -->
<footer>
<% if (cv.meta.version) { %>
<div class="version">Version: <%= cv.meta.version %></div>
<% } %>
<% if (cv.meta.lastModified) { %>
<div class="version">Last modified: <%= cv.meta.lastModified %></div>
<% } %>
</footer>

View File

@ -1,5 +1,6 @@
$color-signature: #2A3FFB; $color-signature: #2A3FFB;
$color-text-dim: #777; $color-text-dim: #777;
$color-border-dim: #aaa;
$fz-1: 36px; $fz-1: 36px;
$fz-2: 22px; $fz-2: 22px;
$fz-3: 18px; $fz-3: 18px;
@ -121,7 +122,20 @@ section {
} }
.skills-section { .skills-section {
.section-item { .level {
margin: .8em 0;
}
}
footer {
opacity: .7;
margin-top: 3em;
border-top: 1px solid $color-border-dim;
padding: 4px 0 8px;
display: flex;
font-size: 13px;
color: $color-text-dim;
> div {
margin-right: 2em;
} }
} }