diff --git a/.github/workflows/cv-schema-validator.yml b/.github/workflows/cv-schema-validator.yml new file mode 100644 index 000000000000..18a819d8d24b --- /dev/null +++ b/.github/workflows/cv-schema-validator.yml @@ -0,0 +1,30 @@ +name: Validate CV.yml + +on: + push: + branches: + - master + - main + paths: + - "_data/cv.yml" + pull_request: + branches: + - master + - main + paths: + - "_data/cv.yml" + workflow_dispatch: + +jobs: + validate_cv: + # available images: https://github.com/actions/runner-images#available-images + runs-on: ubuntu-latest + steps: + - name: Checkout 🛎️ + uses: actions/checkout@v4 + - name: Validate cv.yml 🧪 + uses: cardinalby/schema-validator-action@v3 + with: + file: "_data/cv.yml" + mode: "lax" + diff --git a/_data/cv.yml b/_data/cv.yml index 5885b30b6304..6202d45ad28d 100644 --- a/_data/cv.yml +++ b/_data/cv.yml @@ -1,97 +1,124 @@ -- title: General Information - type: map - contents: - - name: Full Name - value: Albert Einstein - - name: Date of Birth - value: 14th March 1879 - - name: Languages - value: English, German - -- title: Education - type: time_table - contents: - - title: PhD - institution: University of Zurich, Zurich, Switzerland - year: 1905 - description: - - Description 1. - - Description 2. - - title: Description 3. - contents: - - Sub-description 1. - - Sub-description 2. - - title: Federal teaching diploma - institution: Eidgenössische Technische Hochschule, Zurich, Switzerland - year: 1900 - description: - - Description 1. - - Description 2. - -- title: Experience - type: time_table - contents: - - title: Professor of Theoretical Physics - institution: Institute for Advanced Study, Princeton University - year: 1933 - 1955 - description: - - Description 1. - - Description 2. - - title: Description 3. - contents: - - Sub-description 1. - - Sub-description 2. - - title: Visiting Professor - institution: California Institute of Technology, Pasadena, California, US - year: 1933 - description: - - Description 1. - - Description 2. - - - title: Director - institution: Kaiser Wilhelm Institute for Physics, Berlin, Germany. - year: 1917-1933 - - - title: Professor of Theoretical Physics - institution: Karl-Ferdinand University, Prague, Czechoslovakia - year: 1911 - 1917 - description: - - - title: Associate Professor of Theoretical Physics - institution: University of Zurich, Zurich, Switzerland - year: 1909 - 1911 - -- title: Open Source Projects - type: time_table - contents: - - title: al-folio - year: 2015-now - description: A beautiful, simple, clean, and responsive Jekyll theme for academics. - -- title: Honors and Awards - type: time_table - contents: - - year: 1921 - items: - - Nobel Prize in Physics - - Matteucci Medal - - year: 2029 - items: - - Max Planck Medal - -- title: Academic Interests - type: nested_list - contents: - - title: Topic 1. - items: - - Description 1. - - Description 2. - - title: Topic 2. - items: - - Description 1. - - Description 2. - -- title: Other Interests - type: list - contents: - - Hobbies: Hobby 1, Hobby 2, etc. +# yaml-language-server: $schema=https://github.com/rendercv/rendercv/blob/main/schema.json?raw=true +cv: + name: Albert Einstein + location: San Francisco, US + email: albert@einstein.de + phone: +49(912) 123-4567 + website: https://alshedivat.github.io/al-folio/ + social_networks: + - network: GitHub + username: AlbertEinstein + sections: + summary: + - A German-born theoretical physicist, widely ranked among the greatest and most influential scientists of all time + experience: + - company: Institute for Advanced Study, Princeton University + position: Professor of Theoretical Physics + location: "Princeton, NY" + start_date: "1933-01-01" + end_date: "1955-01-01" + summary: "Teaching at Palmer Physical Laboratory (now 302 Frist Campus Center). While not a professor at Princeton, I associated with the physics professors and continued to give lectures on campus." + highlights: + - Relativity + education: + - institution: University of Zurich + area: Physics + degree: PhD + start_date: "1905-01-01" + end_date: "1905-01-01" + location: "Zurich, CH" + highlights: + - Molecular Physics + - "***Thesis:*** Eine neue Bestimmung der Moleküldimensionen" + awards: + - label: Nobel Prize in Physics + details: Royal Swedish Academy of Sciences + summary: "The Nobel Prize in Physics 1921 was awarded to me for my services to Theoretical Physics, and especially for my discovery of the law of the photoelectric effect" + date: "1921-11-01" + certificates: + - institution: Stanford University + area: '[Quantum Teleportation](https:\\example.com)' + degree: "Certificate" + date: "2018-01-01" + icon: "fa-solid fa-clipboard-check" + - institution: Stanford University + area: '[Quantum Computing](https:\\example.com)' + degree: "Certificate" + date: "2018-01-01" + icon: "fa-solid fa-tag" + - institution: Stanford University + area: '[Quantum Cryptography](https:\\example.com)' + degree: "Certificate" + date: "2018-01-01" + icon: "fa-solid fa-hashtag" + - institution: Stanford University + area: '[Quantum Communication](https:\\example.com)' + degree: "Certificate" + date: "2018-01-01" + icon: "fa-solid fa-envelope" + publications: + - title: "Zur Elektrody/namik bewegter K\xF6rper" + authors: + - "Albert Einstein" + - "Hermann Minkowski" + date: "1905-06-30" + url: https://en.wikisource.org/wiki/Translation:On_the_Electrodynamics_of_Moving_Bodies + doi: https://doi.org/10.1002/andp.19053221004 + journal: "[Annalen der Physik](https://onlinelibrary.wiley.com/journal/15213889)" + summary: "It concerned an interpretation of the [Michelson–Morley experiment](https://en.wikipedia.org/wiki/Michelson%E2%80%93Morley_experiment) and the properties of light and time. Special relativity incorporates the principle that the speed of light is the same for all inertial observers regardless of the state of motion of the source." + - title: "\xDCber einen die Erzeugung und Verwandlung des Lichtes betreffenden\ + \ heuristischen Gesichtspunkt" + authors: [] + date: "1905-03-18" + url: "https://de.wikisource.org/wiki/\xDCber_einen_die_Erzeugung_und_Verwandlung_des_Lichtes_betreffenden_heuristischen_Gesichtspunkt" + - title: "Die Grundlage der allgemeinen Relativit\xE4tstheorie" + authors: [] + date: "1916-03-20" + url: "https://de.wikisource.org/wiki/Die_Grundlage_der_allgemeinen_Relativit\xE4\ + tstheorie" + volunteering: + - company: "People's Climate March" + position: Lead Organizer + location: "Zurich, CH" + start_date: "2014-01-01" + end_date: "2015-07-01" + summary: "Lead organizer for the New York City branch of the People's Climate March, the largest climate march in history." + highlights: + - Awarded 'Climate Hero' award by Greenpeace for my efforts organizing the march. + - Men of the year 2014 by Time magazine + projects: + - name: "[Quantum Computing](https://en.wikipedia.org/wiki/Quantum_computing)" + start_date: "2018-01-01" + end_date: "2019-09-01" + location: "Princeton, NY" + summary: "Quantum computing is the use of quantum-mechanical phenomena such as superposition and entanglement to perform computation. Computers that perform quantum computations are known as quantum computers." + highlights: ["Quantum Teleportation", "Quantum Cryptography"] + - name: "[Example Project](https://example.com)" + date: 2024-05 + highlights: + - Launched an [iOS app](https://example.com) in 09/2024 + that currently has 10k+ monthly active users + - The app is made open-source (3,000+ stars [on GitHub](https://github.com)) + summary: A web application for writing essays + skills: + - label: Physics + details: Quantum Mechanics, Quantum Computing, Quantum Information, Quantum + Cryptography, Quantum Communication, Quantum Teleportation + icon: "fa-solid fa-hashtag" + interests: + - label: Physics + details: Quantum Mechanics, Quantum Computing, Quantum Information, Quantum + Cryptography, Quantum Communication, Quantum Teleportation + icon: "fa-solid fa-hashtag" + languages: + - label: German + details: Native + - label: English + details: Fluent + references: + - label: "[Professor John Doe](mailto:professor@john.doe)" + details: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam condimentum, diam quis convallis euismod, arcu mi ullamcorper lorem, a vestibulum nunc magna at sem. Sed in risus ac felis varius blandit. D + icon: "fa-solid fa-laptop" + - label: "[Professor John Doe](mailto:professor@john.doe)" + details: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam condimentum, diam quis convallis euismod, arcu mi ullamcorper lorem, a vestibulum nunc magna at sem. Sed in risus ac felis varius blandit. D + icon: "fa-solid fa-thumbtack" diff --git a/_includes/cv/awards.liquid b/_includes/cv/awards.liquid new file mode 100644 index 000000000000..7c8d393186e0 --- /dev/null +++ b/_includes/cv/awards.liquid @@ -0,0 +1,22 @@ + diff --git a/_includes/cv/certificates.liquid b/_includes/cv/certificates.liquid new file mode 100644 index 000000000000..dc22e2042c20 --- /dev/null +++ b/_includes/cv/certificates.liquid @@ -0,0 +1,35 @@ +
+ {% assign certificates = entry[1] | sort: 'date' | reverse %} + {% for content in certificates %} +
+ + + + {% if content.icon %} + + {% else %} + + {% endif %} + + {% assign i = 1 %} + {% for item in content.items %} + {% assign i = i | plus: 1 %} + {% endfor %} + + + + + + + + +
+ + + {{ content.area | markdownify | remove: '

' | remove: '

' }} +
+ {{ content.institution | markdownify | remove: '

' | remove: '

' }}
+
{{ content.date }}
+
+ {% endfor %} +
diff --git a/_includes/cv/education.liquid b/_includes/cv/education.liquid new file mode 100644 index 000000000000..0dcdd8a13aad --- /dev/null +++ b/_includes/cv/education.liquid @@ -0,0 +1,56 @@ + diff --git a/_includes/cv/gen-info.liquid b/_includes/cv/gen-info.liquid new file mode 100644 index 000000000000..2e9163ef0fee --- /dev/null +++ b/_includes/cv/gen-info.liquid @@ -0,0 +1,46 @@ + +
+

Basics

+ + {% if cv.name %} + + + + + {% endif %} + {% if cv.email %} + + + + + {% endif %} + {% if cv.phone %} + + + + + {% endif %} + {% if cv.website %} + + + + + {% endif %} + {% if cv.sections.summary %} + + + + + {% endif %} +
+ Name + {{ cv.name }}
+ Email + {{ cv.email }}
+ Phone + {{ cv.phone }}
+ Url + {{ cv.website }}
+ Summary + {{ cv.sections.summary }}
+
diff --git a/_includes/cv/languages.liquid b/_includes/cv/languages.liquid new file mode 100644 index 000000000000..6e3655e31747 --- /dev/null +++ b/_includes/cv/languages.liquid @@ -0,0 +1,34 @@ +
+ {% for content in entry[1] %} +
+ + + + {% if content.icon %} + + {% else %} + + {% endif %} + + {% assign i = 1 %} + {% assign details = content.details %} + {% for item in details %} + {% assign i = i | plus: 1 %} + {% endfor %} + + + {% for item in details %} + + + + + {% endfor %} + +
+ + {{ content.label | markdownify | remove: '

' | remove: '

' }}
+ {{ item | markdownify | remove: '

' | remove: '

' }}
+
+
+ {% endfor %} +
diff --git a/_includes/cv/list.liquid b/_includes/cv/list.liquid deleted file mode 100644 index 1cc2598eff77..000000000000 --- a/_includes/cv/list.liquid +++ /dev/null @@ -1,5 +0,0 @@ - diff --git a/_includes/cv/list_groups.liquid b/_includes/cv/list_groups.liquid deleted file mode 100644 index 1ca90e4b2376..000000000000 --- a/_includes/cv/list_groups.liquid +++ /dev/null @@ -1,51 +0,0 @@ -
- {% for content in entry.contents %} -
- - - - {% if content.icon %} - - {% else %} - - {% endif %} - - {% assign i = 1 %} - {% for item in content.items %} - {% assign i = i | plus: 1 %} - {% endfor %} - - - {% for item in content.items %} - - - - {% if item.level %} - - {% endif %} - {% if item.school %} - - {% else %} - - {% endif %} - {% if item.link %} - - {% endif %} - - {% endfor %} - -
{{ content.category }}
- {{ item.name }} - {{ item.level }}{{ item.school }} - {% endif %} - {% if item.time %} -
- {{ item.time }} -
-
- {% endfor %} -
diff --git a/_includes/cv/map.liquid b/_includes/cv/map.liquid deleted file mode 100644 index aee3419fab61..000000000000 --- a/_includes/cv/map.liquid +++ /dev/null @@ -1,29 +0,0 @@ - - {% for content in entry.contents %} - - - {% if content.value %} - - {% endif %} - {% if content.links %} - - {% endif %} - - {% endfor %} -
- {{ content.name }} - {{ content.value }} -
- {% for item in content.links %} - {% if item.link %} - - {% endif %} - {% endfor %} -
-
diff --git a/_includes/cv/nested_list.liquid b/_includes/cv/nested_list.liquid deleted file mode 100644 index 72200dec57b6..000000000000 --- a/_includes/cv/nested_list.liquid +++ /dev/null @@ -1,16 +0,0 @@ - diff --git a/_includes/cv/projects.liquid b/_includes/cv/projects.liquid new file mode 100644 index 000000000000..746322279e47 --- /dev/null +++ b/_includes/cv/projects.liquid @@ -0,0 +1,54 @@ + diff --git a/_includes/cv/publications.liquid b/_includes/cv/publications.liquid new file mode 100644 index 000000000000..6d7d016fd05d --- /dev/null +++ b/_includes/cv/publications.liquid @@ -0,0 +1,33 @@ + diff --git a/_includes/cv/references.liquid b/_includes/cv/references.liquid new file mode 100644 index 000000000000..2c918c8fc22c --- /dev/null +++ b/_includes/cv/references.liquid @@ -0,0 +1,31 @@ +
+ {% for content in entry[1] %} +
+ + + + {% if content.icon %} + + {% else %} + + {% endif %} + + {% assign i = 1 %} + {% for item in content.details %} + {% assign i = i | plus: 1 %} + {% endfor %} + + + + + + + +
+ + {{ content.label | markdownify | remove: '

' | remove: '

' }}
+ {{ content.details | markdownify | remove: '

' | remove: '

' }}
+
+
+ {% endfor %} +
diff --git a/_includes/cv/skills.liquid b/_includes/cv/skills.liquid new file mode 100644 index 000000000000..b56007b2d79e --- /dev/null +++ b/_includes/cv/skills.liquid @@ -0,0 +1,34 @@ +
+ {% for content in entry[1] %} +
+ + + + {% if content.icon %} + + {% else %} + + {% endif %} + + {% assign i = 1 %} + {% assign details = content.details | split: ', ' %} + {% for item in details %} + {% assign i = i | plus: 1 %} + {% endfor %} + + + {% for item in details %} + + + + + {% endfor %} + +
+ + {{ content.label | markdownify | remove: '

' | remove: '

' }}
+ {{ item | markdownify | remove: '

' | remove: '

' }}
+
+
+ {% endfor %} +
diff --git a/_includes/cv/time_table.liquid b/_includes/cv/time_table.liquid deleted file mode 100644 index beb1c52e0014..000000000000 --- a/_includes/cv/time_table.liquid +++ /dev/null @@ -1,118 +0,0 @@ - diff --git a/_includes/cv/work.liquid b/_includes/cv/work.liquid new file mode 100644 index 000000000000..00d96a188629 --- /dev/null +++ b/_includes/cv/work.liquid @@ -0,0 +1,54 @@ + diff --git a/_layouts/cv.liquid b/_layouts/cv.liquid index 17f6c415373d..06356822b2d8 100644 --- a/_layouts/cv.liquid +++ b/_layouts/cv.liquid @@ -28,26 +28,100 @@ layout: default
- {% for entry in site.data.cv %} - -
-

{{ entry.title }}

-
- {% if entry.type == 'list' %} - {% include cv/list.liquid %} - {% elsif entry.type == 'map' %} - {% include cv/map.liquid %} - {% elsif entry.type == 'nested_list' %} - {% include cv/nested_list.liquid %} - {% elsif entry.type == 'time_table' %} - {% include cv/time_table.liquid %} - {% elsif entry.type == 'list_groups' %} - {% include cv/list_groups.liquid %} - {% else %} - {{ entry.contents }} - {% endif %} -
-
+ {% assign cv = site.data.cv.cv %} + {% include cv/gen-info.liquid %} + {% for entry in cv.sections %} + {% unless entry[0] == 'summary' %} + {% if entry[0] == 'education' %} + +
+

{{ entry[0] | capitalize }}

+
+ {% include cv/education.liquid %} +
+
+ {% elsif entry[0] == 'experience' %} + +
+

{{ entry[0] | capitalize }}

+
+ {% include cv/work.liquid %} +
+
+ {% elsif entry[0] == 'publications' %} + +
+

{{ entry[0] | capitalize }}

+
+ {% include cv/publications.liquid %} +
+
+ {% elsif entry[0] == 'projects' %} + +
+

{{ entry[0] | capitalize }}

+
+ {% include cv/projects.liquid %} +
+
+ {% elsif entry[0] == 'skills' or entry[0] == 'technologies' %} + +
+

{{ entry[0] | capitalize }}

+
+ {% include cv/skills.liquid %} +
+
+ {% elsif entry[0] == 'interests' %} + +
+

{{ entry[0] | capitalize }}

+
+ {% include cv/skills.liquid %} +
+
+ {% elsif entry[0] == 'languages' %} + +
+

{{ entry[0] | capitalize }}

+
+ {% include cv/languages.liquid %} +
+
+ {% elsif entry[0] == 'awards' %} + +
+

{{ entry[0] | capitalize }}

+
+ {% include cv/awards.liquid %} +
+
+ {% elsif entry[0] == 'references' %} + +
+

{{ entry[0] | capitalize }}

+
+ {% include cv/references.liquid %} +
+
+ {% elsif entry[0] == 'volunteering' or entry[0] == 'volunteer' %} + +
+

{{ entry[0] | capitalize }}

+
+ {% include cv/work.liquid %} +
+
+ {% elsif entry[0] == 'certificates' %} + +
+

{{ entry[0] | capitalize }}

+
+ {% include cv/certificates.liquid %} +
+
+ {% endif %} + {% endunless %} {% endfor %}
diff --git a/assets/pdf/example_pdf.pdf b/assets/pdf/example_pdf.pdf index b1f80dbf28c0..4dbf90981b4e 100644 Binary files a/assets/pdf/example_pdf.pdf and b/assets/pdf/example_pdf.pdf differ