From 50e6d6069b546c5a2d2859d599f25d2208d04bc9 Mon Sep 17 00:00:00 2001 From: gmsundar15 Date: Sat, 18 Jan 2025 19:10:27 +0000 Subject: [PATCH 01/11] Partial test of RenderCV schema --- _config.yml | 2 +- _data/cv.yml | 159 ++++++++----------- _includes/cv/education.liquid | 54 +++++++ _includes/cv/gen-info.liquid | 46 ++++++ _layouts/cv.liquid | 35 ++-- assets/json/{resume.json => resume.json.bak} | 0 6 files changed, 177 insertions(+), 119 deletions(-) create mode 100644 _includes/cv/education.liquid create mode 100644 _includes/cv/gen-info.liquid rename assets/json/{resume.json => resume.json.bak} (100%) diff --git a/_config.yml b/_config.yml index 923db92af259..9066b3e5a8a5 100644 --- a/_config.yml +++ b/_config.yml @@ -18,7 +18,7 @@ keywords: jekyll, jekyll-theme, academic-website, portfolio-website # add your o lang: en # the language of your site (for example: en, fr, cn, ru, etc.) icon: ⚛️ # the emoji used as the favicon (alternatively, provide image name in /assets/img/) -url: https://alshedivat.github.io # the base hostname & protocol for your site +url: https://gmsundar15.github.io # the base hostname & protocol for your site baseurl: /al-folio # the subpath of your site, e.g. /blog/. Leave blank for root last_updated: false # set to true if you want to display last updated in the footer impressum_path: # set to path to include impressum link in the footer, use the same path as permalink in a page, helps to conform with EU GDPR diff --git a/_data/cv.yml b/_data/cv.yml index 5885b30b6304..9cc192486c86 100644 --- a/_data/cv.yml +++ b/_data/cv.yml @@ -1,97 +1,62 @@ -- 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. +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 + education: + - institution: University of Zurich, Zurich, Switzerland + area: Software Development + degree: PhD + start_date: '1905-01-01' + end_date: '1905-01-01' + highlights: + - Theory of Relativity + - institution: University of Zurich, Zurich, Switzerland + area: Software Development + degree: PhD + start_date: '1908-01-01' + end_date: '1908-01-01' + highlights: + - Theory of Relativity + 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' + highlights: + - Relativity + publications: + - title: "Zur Elektrody/namik bewegter K\xF6rper" + authors: [] + date: '1905-06-30' + url: https://en.wikisource.org/wiki/Translation:On_the_Electrodynamics_of_Moving_Bodies + - 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" + projects: + - name: Quantum Computing + date: '2018-01-01' + highlights: [] + technologies: + - label: Physics + details: Quantum Mechanics, Quantum Computing, Quantum Information, Quantum + Cryptography, Quantum Communication, Quantum Teleportation + awards: + - label: Nobel Prize in Physics + details: Royal Swedish Academy of Sciences diff --git a/_includes/cv/education.liquid b/_includes/cv/education.liquid new file mode 100644 index 000000000000..89522638676c --- /dev/null +++ b/_includes/cv/education.liquid @@ -0,0 +1,54 @@ + diff --git a/_includes/cv/gen-info.liquid b/_includes/cv/gen-info.liquid new file mode 100644 index 000000000000..a821e0980188 --- /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/_layouts/cv.liquid b/_layouts/cv.liquid index 17f6c415373d..185afe9df82c 100644 --- a/_layouts/cv.liquid +++ b/_layouts/cv.liquid @@ -28,27 +28,20 @@ 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 %} -
-
- {% endfor %} + {% assign cv = site.data.cv.cv %} + {% include cv/gen-info.liquid %} + {% for entry in cv.sections %} + {% unless entry[0] == "summary" %} + +
+

{{ entry[0]|capitalize }}

+ {% if entry[0] == "education" %} + {% include cv/education.liquid %} + {% endif %} +
+ {% endunless %} + {% endfor %} +
diff --git a/assets/json/resume.json b/assets/json/resume.json.bak similarity index 100% rename from assets/json/resume.json rename to assets/json/resume.json.bak From 4a8754c2ccf87e0ca9e82bd2f71ef3ec515121cc Mon Sep 17 00:00:00 2001 From: gmsundar15 Date: Sat, 18 Jan 2025 19:14:30 +0000 Subject: [PATCH 02/11] rerun workflow --- _config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_config.yml b/_config.yml index 9066b3e5a8a5..6a717f0615a7 100644 --- a/_config.yml +++ b/_config.yml @@ -20,7 +20,7 @@ icon: ⚛️ # the emoji used as the favicon (alternatively, provide image name url: https://gmsundar15.github.io # the base hostname & protocol for your site baseurl: /al-folio # the subpath of your site, e.g. /blog/. Leave blank for root -last_updated: false # set to true if you want to display last updated in the footer +last_updated: true # set to true if you want to display last updated in the footer impressum_path: # set to path to include impressum link in the footer, use the same path as permalink in a page, helps to conform with EU GDPR back_to_top: true # set to false to disable the back to top button From 980449bc589ab389ae76e9b242e58136a2ac0bbc Mon Sep 17 00:00:00 2001 From: gmsundar15 Date: Sat, 18 Jan 2025 19:18:38 +0000 Subject: [PATCH 03/11] fix again --- _config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_config.yml b/_config.yml index 6a717f0615a7..9081436cf23d 100644 --- a/_config.yml +++ b/_config.yml @@ -20,7 +20,7 @@ icon: ⚛️ # the emoji used as the favicon (alternatively, provide image name url: https://gmsundar15.github.io # the base hostname & protocol for your site baseurl: /al-folio # the subpath of your site, e.g. /blog/. Leave blank for root -last_updated: true # set to true if you want to display last updated in the footer +last_updated: truee # set to true if you want to display last updated in the footer impressum_path: # set to path to include impressum link in the footer, use the same path as permalink in a page, helps to conform with EU GDPR back_to_top: true # set to false to disable the back to top button From e5c63d0a4af52d2edf0706f7e31575fc705d308f Mon Sep 17 00:00:00 2001 From: gmsundar15 Date: Sun, 19 Jan 2025 17:28:16 +0000 Subject: [PATCH 04/11] Migrate to RenderCV schema for cv.yml --- _config.yml | 4 +- _data/cv.yml | 107 +++++++++++++---- _includes/cv/awards.liquid | 21 ++++ _includes/cv/certificates.liquid | 36 ++++++ _includes/cv/education.liquid | 8 +- _includes/cv/languages.liquid | 35 ++++++ _includes/cv/list.liquid | 5 - _includes/cv/list_groups.liquid | 51 -------- _includes/cv/map.liquid | 29 ----- _includes/cv/nested_list.liquid | 16 --- _includes/cv/projects.liquid | 35 ++++++ _includes/cv/publications.liquid | 29 +++++ _includes/cv/references.liquid | 32 +++++ _includes/cv/skills.liquid | 35 ++++++ _includes/cv/time_table.liquid | 118 ------------------- _includes/cv/work.liquid | 52 ++++++++ _layouts/cv.liquid | 85 +++++++++++-- assets/json/{resume.json.bak => resume.json} | 0 assets/pdf/example_pdf.pdf | Bin 15879 -> 35576 bytes 19 files changed, 440 insertions(+), 258 deletions(-) create mode 100644 _includes/cv/awards.liquid create mode 100644 _includes/cv/certificates.liquid create mode 100644 _includes/cv/languages.liquid delete mode 100644 _includes/cv/list.liquid delete mode 100644 _includes/cv/list_groups.liquid delete mode 100644 _includes/cv/map.liquid delete mode 100644 _includes/cv/nested_list.liquid create mode 100644 _includes/cv/projects.liquid create mode 100644 _includes/cv/publications.liquid create mode 100644 _includes/cv/references.liquid create mode 100644 _includes/cv/skills.liquid delete mode 100644 _includes/cv/time_table.liquid create mode 100644 _includes/cv/work.liquid rename assets/json/{resume.json.bak => resume.json} (100%) diff --git a/_config.yml b/_config.yml index 9081436cf23d..923db92af259 100644 --- a/_config.yml +++ b/_config.yml @@ -18,9 +18,9 @@ keywords: jekyll, jekyll-theme, academic-website, portfolio-website # add your o lang: en # the language of your site (for example: en, fr, cn, ru, etc.) icon: ⚛️ # the emoji used as the favicon (alternatively, provide image name in /assets/img/) -url: https://gmsundar15.github.io # the base hostname & protocol for your site +url: https://alshedivat.github.io # the base hostname & protocol for your site baseurl: /al-folio # the subpath of your site, e.g. /blog/. Leave blank for root -last_updated: truee # set to true if you want to display last updated in the footer +last_updated: false # set to true if you want to display last updated in the footer impressum_path: # set to path to include impressum link in the footer, use the same path as permalink in a page, helps to conform with EU GDPR back_to_top: true # set to false to disable the back to top button diff --git a/_data/cv.yml b/_data/cv.yml index 9cc192486c86..5b4901b38c94 100644 --- a/_data/cv.yml +++ b/_data/cv.yml @@ -9,36 +9,59 @@ cv: username: AlbertEinstein sections: summary: - - A German-born theoretical physicist, widely ranked among the greatest and most - influential scientists of all time - education: - - institution: University of Zurich, Zurich, Switzerland - area: Software Development - degree: PhD - start_date: '1905-01-01' - end_date: '1905-01-01' - highlights: - - Theory of Relativity - - institution: University of Zurich, Zurich, Switzerland - area: Software Development - degree: PhD - start_date: '1908-01-01' - end_date: '1908-01-01' - highlights: - - Theory of Relativity + - 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: [] + authors: ['Albert Einstein', 'Hermann Minkowski'] date: '1905-06-30' url: https://en.wikisource.org/wiki/Translation:On_the_Electrodynamics_of_Moving_Bodies + publisher: '[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: [] @@ -49,14 +72,48 @@ cv: 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 - date: '2018-01-01' - highlights: [] - technologies: + - name: '[Quantum Computing](https://en.wikipedia.org/wiki/Quantum_computing)' + start_date: '2018-01-01' + end_date: '2019-09-01' + 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 - awards: - - label: Nobel Prize in Physics - details: Royal Swedish Academy of Sciences + 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..950b3244a62b --- /dev/null +++ b/_includes/cv/awards.liquid @@ -0,0 +1,21 @@ +
    + {% for content in entry[1] %} +
  • +
    +
    + {% if content.date %} {% assign date = content.date | split: '-' | join: '.' %} {% else %} {% assign date = '' %} {% endif %} + {{ date }} +
    +
    +
    + {{ content.label | markdownify | remove: "

    " | remove: "

    " }} +
    +
    {{ content.awarder | markdownify | remove: "

    " | remove: "

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

    " | remove: "

    " }}
    +
    {{ content.summary | markdownify | remove: "

    " | remove: "

    " }}
    +
    +
    +
  • + {% endfor %} +
+ diff --git a/_includes/cv/certificates.liquid b/_includes/cv/certificates.liquid new file mode 100644 index 000000000000..1edf03ecb913 --- /dev/null +++ b/_includes/cv/certificates.liquid @@ -0,0 +1,36 @@ +
+ {% 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 index 89522638676c..46e1b70ec533 100644 --- a/_includes/cv/education.liquid +++ b/_includes/cv/education.liquid @@ -36,14 +36,14 @@
- {{ content.degree }} + {{ content.degree | markdownify | remove: "

" | remove: "

" }}
-
{{ content.institution }}
-
{{ content.area }}
+
{{ content.institution | markdownify | remove: "

" | remove: "

" }}
+
{{ content.area | markdownify | remove: "

" | remove: "

" }}
    {% for item in content.highlights %}
  • - {{ item }} + {{ item | markdownify | remove: "

    " | remove: "

    " }}
  • {% endfor %}
diff --git a/_includes/cv/languages.liquid b/_includes/cv/languages.liquid new file mode 100644 index 000000000000..b154dca8ca4a --- /dev/null +++ b/_includes/cv/languages.liquid @@ -0,0 +1,35 @@ +
+ {% 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 @@ -
    - {% for content in entry.contents %} -
  • {{ content }}
  • - {% endfor %} -
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 @@ -
    - {% for content in entry.contents %} -
  • -
    {{ content.title }}
    - {% if content.items %} -
      - {% for subitem in content.items %} -
    • - {{ subitem }} -
    • - {% endfor %} -
    - {% endif %} -
  • - {% endfor %} -
diff --git a/_includes/cv/projects.liquid b/_includes/cv/projects.liquid new file mode 100644 index 000000000000..79e00918f960 --- /dev/null +++ b/_includes/cv/projects.liquid @@ -0,0 +1,35 @@ +
    + {% for content in entry[1] %} +
  • +
    +
    + {% if content.date %} + {% assign date = content.date | split: '-' | slice: 0, 2 | join: '.' %} + {% elsif content.start_date %} + {% assign startDate = content.start_date | split: '-' | slice: 0, 2 | join: '.' %} + {% assign endDate = content.end_date | split: '-' | slice: 0, 2 | join: '.' | default: 'Present' %} + {% assign date = startDate | append: ' - ' %} + {% assign date = date | append: endDate %} + {% else %} + {% assign date = '' %} + {% endif %} + {{ date }} +
    +
    +
    + {{ content.name | markdownify | remove: "

    " | remove: "

    " }} +
    +
    {{ content.summary | markdownify | remove: "

    " | remove: "

    " }}
    +
      + {% for item in content.highlights %} +
    • + {{ item | markdownify | remove: "

      " | remove: "

      " }}
      +
    • + {% endfor %} +
    +
    +
    +
  • + {% endfor %} +
+ diff --git a/_includes/cv/publications.liquid b/_includes/cv/publications.liquid new file mode 100644 index 000000000000..5fe99c65d104 --- /dev/null +++ b/_includes/cv/publications.liquid @@ -0,0 +1,29 @@ +
    + {% assign publications = entry[1] | sort: 'entry.date' | reverse %} + {% for content in publications %} +
  • +
    +
    + {% if content.date %} {% assign date = content.date | split: '-' | join: '.' %} {% else %} {% assign date = '' %} {% endif %} + + + + + + +
    + {{ date }} +
    +
    +
    +
    + {{ content.title }} +
    +
    {{ content.authors[] | join: ", " }}
    +
    {{ content.publisher | markdownify | remove: "

    " | remove: "

    " }}
    +
    {{ content.summary | markdownify | remove: "

    " | remove: "

    " }}
    +
    +
    +
  • + {% endfor %} +
diff --git a/_includes/cv/references.liquid b/_includes/cv/references.liquid new file mode 100644 index 000000000000..dd5670632b01 --- /dev/null +++ b/_includes/cv/references.liquid @@ -0,0 +1,32 @@ +
+ {% 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..dea027040c67 --- /dev/null +++ b/_includes/cv/skills.liquid @@ -0,0 +1,35 @@ +
+ {% 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 @@ -
    - {% for content in entry.contents %} -
  • -
    - {% if content.year %} -
    - - - - - - {% if content.location %} - - - - {% endif %} - -
    - - {{- content.year -}} - -
    -

    - - {{ content.location }} -

    -
    -
    - {% endif %} -
    - {% if content.title %} -
    {{ content.title }}
    - {% endif %} - {% if content.department or content.institution %} - - - {% if content.institution %} - - - - - {% endif %} - {% if content.department %} - - - - - {% endif %} - -
    - - {{ content.institution }}
    - - {{ content.department }}
    - {% endif %} - {% if content.maindescription %} -
    {{ content.maindescription }}
    - {% endif %} - {% if content.description %} -
      - {% for item in content.description %} -
    • - {% if item.contents %} - {{ item.title }} -
        - {% for subitem in item.contents %} -
      • - {{ subitem }} -
      • - {% endfor %} -
      - {% else %} - {{ item }} - {% endif %} -
    • - {% endfor %} -
    - {% endif %} - {% if content.items %} -
      - {% for item in content.items %} -
    • - {% if item.contents %} - {{ item.title }} -
        - {% for subitem in item.contents %} -
      • - {{ subitem }} -
      • - {% endfor %} -
      - {% else %} - {{ item }} - {% endif %} -
    • - {% endfor %} -
    - {% endif %} - {% if content.linkitems %} - - {% endif %} -
    -
    -
  • - {% endfor %} -
diff --git a/_includes/cv/work.liquid b/_includes/cv/work.liquid new file mode 100644 index 000000000000..984a3bcdb314 --- /dev/null +++ b/_includes/cv/work.liquid @@ -0,0 +1,52 @@ +
    + {% assign work = entry[1] | sort: 'entry.start_date' | reverse %} + {% for content in work %} +
  • +
    +
    + {% if content.start_date %} + {% assign startDate = content.start_date | split: '-' | slice: 0, 2 | join: '.' %} + {% assign endDate = content.end_date | split: '-' | slice: 0, 2 | join: '.' | default: 'Present' %} + {% assign date = startDate | append: ' - ' %} + {% assign date = date | append: endDate %} + {% else %} + {% assign date = '' %} + {% endif %} + + + + + + {% if content.location %} + + + + {% endif %} + +
    + {{ date }} +
    +

    + + {{ content.location }} +

    +
    +
    +
    +
    + {{ content.position | markdownify | remove: "

    " | remove: "

    " }} +
    +
    {{ content.company | markdownify | remove: "

    " | remove: "

    " }}
    +
    {{ content.summary | markdownify | remove: "

    " | remove: "

    " }}
    +
      + {% for item in content.highlights %} +
    • + {{ item | markdownify | remove: "

      " | remove: "

      " }}
      +
    • + {% endfor %} +
    +
    +
    +
  • + {% endfor %} +
diff --git a/_layouts/cv.liquid b/_layouts/cv.liquid index 185afe9df82c..cc003026b168 100644 --- a/_layouts/cv.liquid +++ b/_layouts/cv.liquid @@ -30,18 +30,87 @@ layout: default
{% assign cv = site.data.cv.cv %} {% include cv/gen-info.liquid %} - {% for entry in cv.sections %} + {% for entry in cv.sections %} {% unless entry[0] == "summary" %} - -
-

{{ entry[0]|capitalize }}

- {% if entry[0] == "education" %} + {% if entry[0] == "education" %} + +
+

{{ entry[0] | capitalize }}

{% include cv/education.liquid %} - {% endif %} -
+
+ {% endif %} + {% if entry[0] == "experience" %} + +
+

{{ entry[0] | capitalize }}

+ {% include cv/work.liquid %} +
+ {% endif %} + {% if entry[0] == "publications" %} + +
+

{{ entry[0] | capitalize }}

+ {% include cv/publications.liquid %} +
+ {% endif %} + {% if entry[0] == "projects" %} + +
+

{{ entry[0] | capitalize }}

+ {% include cv/projects.liquid %} +
+ {% endif %} + {% if entry[0] == "skills" or entry[0] == "technologies" %} + +
+

{{ entry[0] | capitalize }}

+ {% include cv/skills.liquid %} +
+ {% endif %} + {% if entry[0] == "interests" %} + +
+

{{ entry[0] | capitalize }}

+ {% include cv/skills.liquid %} +
+ {% endif %} + {% if entry[0] == "languages" %} + +
+

{{ entry[0] | capitalize }}

+ {% include cv/languages.liquid %} +
+ {% endif %} + {% if entry[0] == "awards" %} + +
+

{{ entry[0] | capitalize }}

+ {% include cv/awards.liquid %} +
+ {% endif %} + {% if entry[0] == "references" %} + +
+

{{ entry[0] | capitalize }}

+ {% include cv/references.liquid %} +
+ {% endif %} + {% if entry[0] == "volunteering" or entry[0] == "volunteer" %} + +
+

{{ entry[0] | capitalize }}

+ {% include cv/work.liquid %} +
+ {% endif %} + {% if entry[0] == "certificates" %} + +
+

{{ entry[0] | capitalize }}

+ {% include cv/certificates.liquid %} +
+ {% endif %} {% endunless %} {% endfor %} -
diff --git a/assets/json/resume.json.bak b/assets/json/resume.json similarity index 100% rename from assets/json/resume.json.bak rename to assets/json/resume.json diff --git a/assets/pdf/example_pdf.pdf b/assets/pdf/example_pdf.pdf index b1f80dbf28c0a576191ab1a642c52a3396bbfd6b..05571af2c3cefc47d07d8ae8813f81fe6034affc 100644 GIT binary patch literal 35576 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 literal 15879 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 From 4d76f678f83111db2f1e8827bbaea18c42f10cc3 Mon Sep 17 00:00:00 2001 From: George <31376482+george-gca@users.noreply.github.com> Date: Sat, 18 Jan 2025 14:17:14 -0300 Subject: [PATCH 05/11] Updated socials info in CUSTOMIZE.md --- CUSTOMIZE.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CUSTOMIZE.md b/CUSTOMIZE.md index bfda987c1e84..9b0f32cfa3cd 100644 --- a/CUSTOMIZE.md +++ b/CUSTOMIZE.md @@ -146,7 +146,7 @@ A variety of beautiful theme colors have been selected for you to choose from. T ## Adding social media information -You can add your social media links by adding the specified information at the `Social integration` section in the [\_config.yml](_config.yml) file. This information will appear at the bottom of the `About` page. +You can add your social media links by adding the specified information in the [\_data/socials.yml](_data/socials.yml) file. This information will appear at the bottom of the `About` page and in the search results by default, but this could be changed to appear at the header of the page by setting `enable_navbar_social: true` and doesn't appear in the search by setting `socials_in_search: false`, both in [\_config.yml](_config.yml). ## Adding a newsletter From 1c3fe2fa468856b591ef7365fa083d3ee0b2edef Mon Sep 17 00:00:00 2001 From: Maruan Al-Shedivat Date: Sat, 18 Jan 2025 22:16:45 -0500 Subject: [PATCH 06/11] Bump license year to 2025 --- LICENSE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LICENSE b/LICENSE index f2b868157f9b..368a8aac13cd 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2022 Maruan Al-Shedivat. +Copyright (c) 2025 Maruan Al-Shedivat. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in From 8a75a4b594f7062a55305e070d84f4ad247fa8d3 Mon Sep 17 00:00:00 2001 From: gmsundar15 Date: Sun, 19 Jan 2025 17:46:35 +0000 Subject: [PATCH 07/11] fix indenting --- _includes/cv/education.liquid | 104 +++++++++---------- _includes/cv/gen-info.liquid | 86 ++++++++-------- _includes/cv/publications.liquid | 6 +- _layouts/cv.liquid | 166 +++++++++++++++---------------- 4 files changed, 181 insertions(+), 181 deletions(-) diff --git a/_includes/cv/education.liquid b/_includes/cv/education.liquid index 46e1b70ec533..332293d8f660 100644 --- a/_includes/cv/education.liquid +++ b/_includes/cv/education.liquid @@ -1,54 +1,54 @@
    - {% assign education = entry[1] | sort: "entry.start_date" | reverse %} - {% for content in education %} -
  • -
    -
    - {% if content.start_date and content.start_date != '' %} - {% assign startDate = content.start_date | split: '-' | slice: 0, 2 | join: '.' %} - {% assign endDate = content.end_date | split: '-' | slice: 0, 2 | join: '.' | default: 'Present' %} - {% assign date = startDate | append: ' - ' %} - {% assign date = date | append: endDate %} - {% else %} - {% assign date = null %} - {% endif %} - - - - - - {% if content.location %} - - - - {% endif %} - -
    - {% if date %} - {{ date }} - {% endif %} -
    -

    - - {{ content.location }} -

    -
    -
    -
    -
    - {{ content.degree | markdownify | remove: "

    " | remove: "

    " }} -
    -
    {{ content.institution | markdownify | remove: "

    " | remove: "

    " }}
    -
    {{ content.area | markdownify | remove: "

    " | remove: "

    " }}
    -
      - {% for item in content.highlights %} -
    • - {{ item | markdownify | remove: "

      " | remove: "

      " }}
      -
    • - {% endfor %} -
    -
    -
    -
  • - {% endfor %} + {% assign education = entry[1] | sort: "entry.start_date" | reverse %} + {% for content in education %} +
  • +
    +
    + {% if content.start_date and content.start_date != '' %} + {% assign startDate = content.start_date | split: '-' | slice: 0, 2 | join: '.' %} + {% assign endDate = content.end_date | split: '-' | slice: 0, 2 | join: '.' | default: 'Present' %} + {% assign date = startDate | append: ' - ' %} + {% assign date = date | append: endDate %} + {% else %} + {% assign date = null %} + {% endif %} + + + + + + {% if content.location %} + + + + {% endif %} + +
    + {% if date %} + {{ date }} + {% endif %} +
    +

    + + {{ content.location }} +

    +
    +
    +
    +
    + {{ content.degree | markdownify | remove: "

    " | remove: "

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

    " | remove: "

    " }}
    +
    {{ content.area | markdownify | remove: "

    " | remove: "

    " }}
    +
      + {% for item in content.highlights %} +
    • + {{ item | markdownify | remove: "

      " | remove: "

      " }}
      +
    • + {% endfor %} +
    +
    +
    +
  • + {% endfor %}
diff --git a/_includes/cv/gen-info.liquid b/_includes/cv/gen-info.liquid index a821e0980188..63e4acbea053 100644 --- a/_includes/cv/gen-info.liquid +++ b/_includes/cv/gen-info.liquid @@ -1,46 +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 }}
+

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/publications.liquid b/_includes/cv/publications.liquid index 5fe99c65d104..b553d4607520 100644 --- a/_includes/cv/publications.liquid +++ b/_includes/cv/publications.liquid @@ -19,9 +19,9 @@
{{ content.title }}
-
{{ content.authors[] | join: ", " }}
-
{{ content.publisher | markdownify | remove: "

" | remove: "

" }}
-
{{ content.summary | markdownify | remove: "

" | remove: "

" }}
+
{{ content.authors[] | join: ", " }}
+
{{ content.publisher | markdownify | remove: "

" | remove: "

" }}
+
{{ content.summary | markdownify | remove: "

" | remove: "

" }}
diff --git a/_layouts/cv.liquid b/_layouts/cv.liquid index cc003026b168..2a4b4a56ae60 100644 --- a/_layouts/cv.liquid +++ b/_layouts/cv.liquid @@ -28,89 +28,89 @@ layout: default
- {% 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 %} -
- {% endif %} - {% if entry[0] == "experience" %} - -
-

{{ entry[0] | capitalize }}

- {% include cv/work.liquid %} -
- {% endif %} - {% if entry[0] == "publications" %} - -
-

{{ entry[0] | capitalize }}

- {% include cv/publications.liquid %} -
- {% endif %} - {% if entry[0] == "projects" %} - -
-

{{ entry[0] | capitalize }}

- {% include cv/projects.liquid %} -
- {% endif %} - {% if entry[0] == "skills" or entry[0] == "technologies" %} - -
-

{{ entry[0] | capitalize }}

- {% include cv/skills.liquid %} -
- {% endif %} - {% if entry[0] == "interests" %} - -
-

{{ entry[0] | capitalize }}

- {% include cv/skills.liquid %} -
- {% endif %} - {% if entry[0] == "languages" %} - -
-

{{ entry[0] | capitalize }}

- {% include cv/languages.liquid %} -
- {% endif %} - {% if entry[0] == "awards" %} - -
-

{{ entry[0] | capitalize }}

- {% include cv/awards.liquid %} -
- {% endif %} - {% if entry[0] == "references" %} - -
-

{{ entry[0] | capitalize }}

- {% include cv/references.liquid %} -
- {% endif %} - {% if entry[0] == "volunteering" or entry[0] == "volunteer" %} - -
-

{{ entry[0] | capitalize }}

- {% include cv/work.liquid %} -
- {% endif %} - {% if entry[0] == "certificates" %} - -
-

{{ entry[0] | capitalize }}

- {% include cv/certificates.liquid %} -
- {% endif %} - {% endunless %} - {% endfor %} + {% 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 %} +
+ {% endif %} + {% if entry[0] == "experience" %} + +
+

{{ entry[0] | capitalize }}

+ {% include cv/work.liquid %} +
+ {% endif %} + {% if entry[0] == "publications" %} + +
+

{{ entry[0] | capitalize }}

+ {% include cv/publications.liquid %} +
+ {% endif %} + {% if entry[0] == "projects" %} + +
+

{{ entry[0] | capitalize }}

+ {% include cv/projects.liquid %} +
+ {% endif %} + {% if entry[0] == "skills" or entry[0] == "technologies" %} + +
+

{{ entry[0] | capitalize }}

+ {% include cv/skills.liquid %} +
+ {% endif %} + {% if entry[0] == "interests" %} + +
+

{{ entry[0] | capitalize }}

+ {% include cv/skills.liquid %} +
+ {% endif %} + {% if entry[0] == "languages" %} + +
+

{{ entry[0] | capitalize }}

+ {% include cv/languages.liquid %} +
+ {% endif %} + {% if entry[0] == "awards" %} + +
+

{{ entry[0] | capitalize }}

+ {% include cv/awards.liquid %} +
+ {% endif %} + {% if entry[0] == "references" %} + +
+

{{ entry[0] | capitalize }}

+ {% include cv/references.liquid %} +
+ {% endif %} + {% if entry[0] == "volunteering" or entry[0] == "volunteer" %} + +
+

{{ entry[0] | capitalize }}

+ {% include cv/work.liquid %} +
+ {% endif %} + {% if entry[0] == "certificates" %} + +
+

{{ entry[0] | capitalize }}

+ {% include cv/certificates.liquid %} +
+ {% endif %} + {% endunless %} + {% endfor %}
From 4eafb578306bb7945bc0f485b42bac3b0d176cb0 Mon Sep 17 00:00:00 2001 From: gmsundar15 Date: Sun, 19 Jan 2025 19:55:37 +0000 Subject: [PATCH 08/11] Attempt prettier fix --- _data/cv.yml | 182 +++++++++++++++---------------- _includes/cv/awards.liquid | 11 +- _includes/cv/certificates.liquid | 5 +- _includes/cv/education.liquid | 12 +- _includes/cv/gen-info.liquid | 32 +++--- _includes/cv/languages.liquid | 5 +- _includes/cv/projects.liquid | 9 +- _includes/cv/publications.liquid | 10 +- _includes/cv/references.liquid | 5 +- _includes/cv/skills.liquid | 7 +- _includes/cv/work.liquid | 10 +- _layouts/cv.liquid | 166 ++++++++++++++-------------- 12 files changed, 230 insertions(+), 224 deletions(-) diff --git a/_data/cv.yml b/_data/cv.yml index 5b4901b38c94..1868809a95e4 100644 --- a/_data/cv.yml +++ b/_data/cv.yml @@ -5,115 +5,115 @@ cv: phone: +49(912) 123-4567 website: https://alshedivat.github.io/al-folio/ social_networks: - - network: GitHub - username: AlbertEinstein + - network: GitHub + username: AlbertEinstein sections: summary: - - A German-born theoretical physicist, widely ranked among the greatest and most influential scientists of all time + - 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 + - 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" + - 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' + - 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' + 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' + 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' + 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' + 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 - publisher: '[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" + - 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 + publisher: "[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 + - 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' - 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 + - name: "[Quantum Computing](https://en.wikipedia.org/wiki/Quantum_computing)" + start_date: "2018-01-01" + end_date: "2019-09-01" + 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' + - 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' + - 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 + - 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' + - 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 index 950b3244a62b..7c8d393186e0 100644 --- a/_includes/cv/awards.liquid +++ b/_includes/cv/awards.liquid @@ -8,14 +8,15 @@
- {{ content.label | markdownify | remove: "

" | remove: "

" }} + {{ content.label | markdownify | remove: '

' | remove: '

' }}
-
{{ content.awarder | markdownify | remove: "

" | remove: "

" }}
-
{{ content.details | markdownify | remove: "

" | remove: "

" }}
-
{{ content.summary | markdownify | remove: "

" | remove: "

" }}
+
{{ content.awarder | markdownify | remove: '

' | remove: '

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

' | remove: '

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

' | remove: '

' }}
{% endfor %} - diff --git a/_includes/cv/certificates.liquid b/_includes/cv/certificates.liquid index 1edf03ecb913..dc22e2042c20 100644 --- a/_includes/cv/certificates.liquid +++ b/_includes/cv/certificates.liquid @@ -18,13 +18,13 @@ {% assign i = i | plus: 1 %} {% endfor %} - {{ content.area | markdownify | remove: "

" | remove: "

" }} + {{ content.area | markdownify | remove: '

' | remove: '

' }} - {{ content.institution | markdownify | remove: "

" | remove: "

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

' | remove: '

' }}
{{ content.date }} @@ -33,4 +33,3 @@ {% endfor %} - diff --git a/_includes/cv/education.liquid b/_includes/cv/education.liquid index 332293d8f660..0dcdd8a13aad 100644 --- a/_includes/cv/education.liquid +++ b/_includes/cv/education.liquid @@ -1,5 +1,5 @@
    - {% assign education = entry[1] | sort: "entry.start_date" | reverse %} + {% assign education = entry[1] | sort: 'entry.start_date' | reverse %} {% for content in education %}
  • @@ -36,14 +36,16 @@
    - {{ content.degree | markdownify | remove: "

    " | remove: "

    " }} + {{ content.degree | markdownify | remove: '

    ' | remove: '

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

    ' | remove: '

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

    ' | remove: '

    ' }}
    -
    {{ content.institution | markdownify | remove: "

    " | remove: "

    " }}
    -
    {{ content.area | markdownify | remove: "

    " | remove: "

    " }}
      {% for item in content.highlights %}
    • - {{ item | markdownify | remove: "

      " | remove: "

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

      ' | remove: '

      ' }}
    • {% endfor %}
    diff --git a/_includes/cv/gen-info.liquid b/_includes/cv/gen-info.liquid index 63e4acbea053..2e9163ef0fee 100644 --- a/_includes/cv/gen-info.liquid +++ b/_includes/cv/gen-info.liquid @@ -2,45 +2,45 @@

    Basics

    - {% if cv.name %} + {% if cv.name %} - + - {% endif %} - {% if cv.email %} + {% endif %} + {% if cv.email %} - + - {% endif %} - {% if cv.phone %} + {% endif %} + {% if cv.phone %} - + - {% endif %} - {% if cv.website %} + {% endif %} + {% if cv.website %} - + - {% endif %} - {% if cv.sections.summary %} + {% endif %} + {% if cv.sections.summary %} - + - {% endif %} -
    Name {{ cv.name }}{{ cv.name }}
    Email {{ cv.email }}{{ cv.email }}
    Phone {{ cv.phone }}{{ cv.phone }}
    Url {{ cv.website }}{{ cv.website }}
    Summary {{ cv.sections.summary }}{{ cv.sections.summary }}
    + {% endif %} +
    diff --git a/_includes/cv/languages.liquid b/_includes/cv/languages.liquid index b154dca8ca4a..6e3655e31747 100644 --- a/_includes/cv/languages.liquid +++ b/_includes/cv/languages.liquid @@ -17,13 +17,13 @@ {% for item in details %} {% assign i = i | plus: 1 %} {% endfor %} - {{ content.label | markdownify | remove: "

    " | remove: "

    " }} + {{ content.label | markdownify | remove: '

    ' | remove: '

    ' }} {% for item in details %} - {{ item | markdownify | remove: "

    " | remove: "

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

    ' | remove: '

    ' }}
    {% endfor %} @@ -32,4 +32,3 @@
    {% endfor %} - diff --git a/_includes/cv/projects.liquid b/_includes/cv/projects.liquid index 79e00918f960..8effe962c6ff 100644 --- a/_includes/cv/projects.liquid +++ b/_includes/cv/projects.liquid @@ -17,13 +17,15 @@
    - {{ content.name | markdownify | remove: "

    " | remove: "

    " }} + {{ content.name | markdownify | remove: '

    ' | remove: '

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

    ' | remove: '

    ' }}
    -
    {{ content.summary | markdownify | remove: "

    " | remove: "

    " }}
      {% for item in content.highlights %}
    • - {{ item | markdownify | remove: "

      " | remove: "

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

      ' | remove: '

      ' }}
    • {% endfor %}
    @@ -32,4 +34,3 @@
  • {% endfor %}
- diff --git a/_includes/cv/publications.liquid b/_includes/cv/publications.liquid index b553d4607520..7830bfd0afb2 100644 --- a/_includes/cv/publications.liquid +++ b/_includes/cv/publications.liquid @@ -19,9 +19,13 @@
{{ content.title }}
-
{{ content.authors[] | join: ", " }}
-
{{ content.publisher | markdownify | remove: "

" | remove: "

" }}
-
{{ content.summary | markdownify | remove: "

" | remove: "

" }}
+
{{ content.authors[] | join: ", " }}
+
+ {{ content.publisher | markdownify | remove: '

' | remove: '

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

' | remove: '

' }} +
diff --git a/_includes/cv/references.liquid b/_includes/cv/references.liquid index dd5670632b01..2c918c8fc22c 100644 --- a/_includes/cv/references.liquid +++ b/_includes/cv/references.liquid @@ -16,12 +16,12 @@ {% for item in content.details %} {% assign i = i | plus: 1 %} {% endfor %} - {{ content.label | markdownify | remove: "

" | remove: "

" }} + {{ content.label | markdownify | remove: '

' | remove: '

' }} - {{ content.details | markdownify | remove: "

" | remove: "

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

' | remove: '

' }}
@@ -29,4 +29,3 @@ {% endfor %} - diff --git a/_includes/cv/skills.liquid b/_includes/cv/skills.liquid index dea027040c67..b56007b2d79e 100644 --- a/_includes/cv/skills.liquid +++ b/_includes/cv/skills.liquid @@ -13,17 +13,17 @@ {% endif %} {% assign i = 1 %} - {% assign details = content.details | split: ", " %} + {% assign details = content.details | split: ', ' %} {% for item in details %} {% assign i = i | plus: 1 %} {% endfor %} - {{ content.label | markdownify | remove: "

" | remove: "

" }} + {{ content.label | markdownify | remove: '

' | remove: '

' }} {% for item in details %} - {{ item | markdownify | remove: "

" | remove: "

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

' | remove: '

' }}
{% endfor %} @@ -32,4 +32,3 @@ {% endfor %} - diff --git a/_includes/cv/work.liquid b/_includes/cv/work.liquid index 984a3bcdb314..00d96a188629 100644 --- a/_includes/cv/work.liquid +++ b/_includes/cv/work.liquid @@ -34,14 +34,16 @@
- {{ content.position | markdownify | remove: "

" | remove: "

" }} + {{ content.position | markdownify | remove: '

' | remove: '

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

' | remove: '

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

' | remove: '

' }}
-
{{ content.company | markdownify | remove: "

" | remove: "

" }}
-
{{ content.summary | markdownify | remove: "

" | remove: "

" }}
    {% for item in content.highlights %}
  • - {{ item | markdownify | remove: "

    " | remove: "

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

    ' | remove: '

    ' }}
  • {% endfor %}
diff --git a/_layouts/cv.liquid b/_layouts/cv.liquid index 2a4b4a56ae60..33f81b9b39f1 100644 --- a/_layouts/cv.liquid +++ b/_layouts/cv.liquid @@ -28,89 +28,89 @@ layout: default
- {% 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 %} -
- {% endif %} - {% if entry[0] == "experience" %} - -
-

{{ entry[0] | capitalize }}

- {% include cv/work.liquid %} -
- {% endif %} - {% if entry[0] == "publications" %} - -
-

{{ entry[0] | capitalize }}

- {% include cv/publications.liquid %} -
- {% endif %} - {% if entry[0] == "projects" %} - -
-

{{ entry[0] | capitalize }}

- {% include cv/projects.liquid %} -
- {% endif %} - {% if entry[0] == "skills" or entry[0] == "technologies" %} - -
-

{{ entry[0] | capitalize }}

- {% include cv/skills.liquid %} -
- {% endif %} - {% if entry[0] == "interests" %} - -
-

{{ entry[0] | capitalize }}

- {% include cv/skills.liquid %} -
- {% endif %} - {% if entry[0] == "languages" %} - -
-

{{ entry[0] | capitalize }}

- {% include cv/languages.liquid %} -
- {% endif %} - {% if entry[0] == "awards" %} - -
-

{{ entry[0] | capitalize }}

- {% include cv/awards.liquid %} -
- {% endif %} - {% if entry[0] == "references" %} - -
-

{{ entry[0] | capitalize }}

- {% include cv/references.liquid %} -
- {% endif %} - {% if entry[0] == "volunteering" or entry[0] == "volunteer" %} - -
-

{{ entry[0] | capitalize }}

- {% include cv/work.liquid %} -
- {% endif %} - {% if entry[0] == "certificates" %} - -
-

{{ entry[0] | capitalize }}

- {% include cv/certificates.liquid %} -
- {% endif %} - {% endunless %} - {% endfor %} + {% 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 %} +
+ {% endif %} + {% if entry[0] == 'experience' %} + +
+

{{ entry[0] | capitalize }}

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

{{ entry[0] | capitalize }}

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

{{ entry[0] | capitalize }}

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

{{ entry[0] | capitalize }}

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

{{ entry[0] | capitalize }}

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

{{ entry[0] | capitalize }}

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

{{ entry[0] | capitalize }}

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

{{ entry[0] | capitalize }}

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

{{ entry[0] | capitalize }}

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

{{ entry[0] | capitalize }}

+ {% include cv/certificates.liquid %} +
+ {% endif %} + {% endunless %} + {% endfor %}
From 6c792f8e4ea12d8adc53762393c88b00611bfe79 Mon Sep 17 00:00:00 2001 From: gmsundar15 Date: Sat, 8 Feb 2025 18:24:55 +0000 Subject: [PATCH 09/11] Update RenderCV schema to 2.1 and fix cv.yml rendering --- _data/cv.yml | 9 +++- _includes/cv/projects.liquid | 20 ++++++++- _includes/cv/publications.liquid | 2 +- _layouts/cv.liquid | 74 ++++++++++++++++++------------- assets/pdf/example_pdf.pdf | Bin 35576 -> 36306 bytes 5 files changed, 70 insertions(+), 35 deletions(-) diff --git a/_data/cv.yml b/_data/cv.yml index 1868809a95e4..6202d45ad28d 100644 --- a/_data/cv.yml +++ b/_data/cv.yml @@ -1,3 +1,4 @@ +# yaml-language-server: $schema=https://github.com/rendercv/rendercv/blob/main/schema.json?raw=true cv: name: Albert Einstein location: San Francisco, US @@ -57,10 +58,13 @@ cv: icon: "fa-solid fa-envelope" publications: - title: "Zur Elektrody/namik bewegter K\xF6rper" - authors: ["Albert Einstein", "Hermann Minkowski"] + authors: + - "Albert Einstein" + - "Hermann Minkowski" date: "1905-06-30" url: https://en.wikisource.org/wiki/Translation:On_the_Electrodynamics_of_Moving_Bodies - publisher: "[Annalen der Physik](https://onlinelibrary.wiley.com/journal/15213889)" + 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" @@ -86,6 +90,7 @@ cv: - 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)" diff --git a/_includes/cv/projects.liquid b/_includes/cv/projects.liquid index 8effe962c6ff..746322279e47 100644 --- a/_includes/cv/projects.liquid +++ b/_includes/cv/projects.liquid @@ -13,7 +13,25 @@ {% else %} {% assign date = '' %} {% endif %} - {{ date }} + + + + + + {% if content.location %} + + + + {% endif %} + +
+ {{ date }} +
+

+ + {{ content.location }} +

+
diff --git a/_includes/cv/publications.liquid b/_includes/cv/publications.liquid index 7830bfd0afb2..6d7d016fd05d 100644 --- a/_includes/cv/publications.liquid +++ b/_includes/cv/publications.liquid @@ -21,7 +21,7 @@
{{ content.authors[] | join: ", " }}
- {{ content.publisher | markdownify | remove: '

' | remove: '

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

' | remove: '

' }}
{{ content.summary | markdownify | remove: '

' | remove: '

' }} diff --git a/_layouts/cv.liquid b/_layouts/cv.liquid index 33f81b9b39f1..06356822b2d8 100644 --- a/_layouts/cv.liquid +++ b/_layouts/cv.liquid @@ -36,77 +36,89 @@ layout: default

{{ entry[0] | capitalize }}

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

{{ entry[0] | capitalize }}

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

{{ entry[0] | capitalize }}

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

{{ entry[0] | capitalize }}

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

{{ entry[0] | capitalize }}

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

{{ entry[0] | capitalize }}

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

{{ entry[0] | capitalize }}

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

{{ entry[0] | capitalize }}

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

{{ entry[0] | capitalize }}

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

{{ entry[0] | capitalize }}

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

{{ entry[0] | capitalize }}

- {% include cv/certificates.liquid %} +
+ {% include cv/certificates.liquid %} +
{% endif %} {% endunless %} diff --git a/assets/pdf/example_pdf.pdf b/assets/pdf/example_pdf.pdf index 05571af2c3cefc47d07d8ae8813f81fe6034affc..4dbf90981b4ee9b9e9f9c34540c1fab837c83447 100644 GIT binary patch delta 20343 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 N=`fw3p<%kk?0*V}NDlx2 delta 19810 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 kh86PvmoPi Date: Mon, 10 Feb 2025 09:24:24 +0000 Subject: [PATCH 10/11] Workflow for schema validation --- .github/workflows/cv-schema-validator.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 .github/workflows/cv-schema-validator.yml diff --git a/.github/workflows/cv-schema-validator.yml b/.github/workflows/cv-schema-validator.yml new file mode 100644 index 000000000000..b94f030664c0 --- /dev/null +++ b/.github/workflows/cv-schema-validator.yml @@ -0,0 +1,13 @@ +name: YAML schema validator +on: [push] + +jobs: + yaml-schema-validation: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout + - uses: nrkno/yaml-schema-validator-github-action@v5 + with: + schema: https://raw.githubusercontent.com/rendercv/rendercv/refs/heads/main/schema.json + target: _data/cv.yml + no-strict: true From 67de8faec53176d2fba423da78fb587e9f0d1c00 Mon Sep 17 00:00:00 2001 From: Sundar G <76529072+gmsundar15@users.noreply.github.com> Date: Mon, 10 Feb 2025 12:37:14 +0000 Subject: [PATCH 11/11] Testing another CV validation action --- .github/workflows/cv-schema-validator.yml | 33 +++++++++++++++++------ 1 file changed, 25 insertions(+), 8 deletions(-) diff --git a/.github/workflows/cv-schema-validator.yml b/.github/workflows/cv-schema-validator.yml index b94f030664c0..18a819d8d24b 100644 --- a/.github/workflows/cv-schema-validator.yml +++ b/.github/workflows/cv-schema-validator.yml @@ -1,13 +1,30 @@ -name: YAML schema validator -on: [push] +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: - yaml-schema-validation: + validate_cv: + # available images: https://github.com/actions/runner-images#available-images runs-on: ubuntu-latest steps: - - uses: actions/checkout - - uses: nrkno/yaml-schema-validator-github-action@v5 + - name: Checkout 🛎️ + uses: actions/checkout@v4 + - name: Validate cv.yml 🧪 + uses: cardinalby/schema-validator-action@v3 with: - schema: https://raw.githubusercontent.com/rendercv/rendercv/refs/heads/main/schema.json - target: _data/cv.yml - no-strict: true + file: "_data/cv.yml" + mode: "lax" +