From b857c7a4432012e731a291b75902d2214c149e2d Mon Sep 17 00:00:00 2001 From: Olivier Philippon Date: Wed, 17 Jan 2024 20:15:10 +0000 Subject: [PATCH] Quick improvements here and there - Add some Schema.org metadata - Improve the "non-exhaustive" display of the "Job experience" part - SVG icons of the "about" block are now a bit smaller on the PDF version - Better code semantics in "theme.py" - Some new djLint rules --- myresume/data/en/bio.toml | 2 +- myresume/data/en/i18n.toml | 2 +- myresume/data/en/job_experience.toml | 11 +++- myresume/data/fr/bio.toml | 2 +- myresume/data/fr/i18n.toml | 2 +- myresume/data/fr/job_experience.toml | 11 +++- myresume/db.py | 6 +++ myresume/templates/myresume/about.html | 6 +-- myresume/templates/myresume/about/bio.html | 15 +++--- .../templates/myresume/about/education.html | 3 +- .../templates/myresume/about/hobbies.html | 3 +- .../templates/myresume/about/languages.html | 3 +- .../templates/myresume/about/open_source.html | 3 +- .../templates/myresume/about/teaching.html | 3 +- myresume/templates/myresume/layout.html | 9 +++- .../myresume/main/job_experience.html | 30 ++++++++++- .../main/tags/main_section_title.html | 6 +-- .../myresume/main/tags/main_tech.html | 7 ++- .../myresume/main/tags/other_tech.html | 8 ++- .../myresume/pdf_and_language_toolbar.html | 3 ++ myresume/templatetags/myresume_tags.py | 42 +++++++++------ myresume/theme.py | 54 +++++++++++-------- pyproject.toml | 2 + 23 files changed, 160 insertions(+), 73 deletions(-) diff --git a/myresume/data/en/bio.toml b/myresume/data/en/bio.toml index 7eb1842..697f4ec 100644 --- a/myresume/data/en/bio.toml +++ b/myresume/data/en/bio.toml @@ -3,7 +3,7 @@ birth = 1980-07-11 job_title = "Web Developer" email = "olivier@dunsap.com" url = "https://dunsap.com/" -linked_in = "https://www.linkedin.com/in/olivierphilippon/" +linked_in = "/in/olivierphilippon/" devblog = "https://devblog.dunsap.com/" mastodon = "https://fosstodon.org/@dunsap" github_id = "olivierphi" diff --git a/myresume/data/en/i18n.toml b/myresume/data/en/i18n.toml index 7d9d852..c433c21 100644 --- a/myresume/data/en/i18n.toml +++ b/myresume/data/en/i18n.toml @@ -43,4 +43,4 @@ source_code = "The source code of this web page is available on" [misc] contributor = "contributor" -non_exhaustive_list = "(non-exhaustive list)" +exhaustive_list_link = "exhaustive list on " diff --git a/myresume/data/en/job_experience.toml b/myresume/data/en/job_experience.toml index 8ca4880..93dda36 100644 --- a/myresume/data/en/job_experience.toml +++ b/myresume/data/en/job_experience.toml @@ -3,22 +3,27 @@ period = "May 2023 - Present" content = """ Senior Python developer for the Web agency Torchbox. (Django/Wagtail)""" +organisation = { name="Torchbox", url="https://www.torchbox.com/" } +current = true [[jobs]] period = "September 2022 - April 2023" content = """ Senior Django developer as a contractor for SportEasy.""" +organisation = { name="SportEasy", url="https://www.sporteasy.net/en/" } [[jobs]] period = "March 2022 - July 2022" content = """ Senior software engineer at Textualize. (Python/Next.js)""" +organisation = { name="Textualize", url="https://www.textualize.io/" } not_on_pdf = true [[jobs]] period = "February 2022 - March 2022" content = """ Senior product engineer at Wayflyer. (Django/React)""" +organisation = { name="Wayflyer", url="https://www.wayflyer.com/" } not_on_pdf = true [[jobs]] period = "October 2021 - January 2022" @@ -26,27 +31,31 @@ content = """ Senior backend developer as a contractor for PlanHub.ca (Go) and Inclusive Energy. (Django)""" +organisation = { name="Wayflyer", url="https://www.planhub.ca/" } [[jobs]] period = "October 2018 - May 2021" content = """ Lead developer at Inclusive Energy. (Django/React)""" +organisation = { name="Inclusive Energy", url="https://inclusive.energy/" } [[jobs]] period = "December 2017 - May 2018" content = """ Remote lead PHP developer as a contractor for - MoovOne.""" + MoovOne.""" not_on_pdf = true [[jobs]] period = "2016 - November 2017" content = """ Lead PHP APIs developer at People's Postcode Lottery.""" +organisation = { name="People's Postcode Lottery", url="https://www.postcodelottery.co.uk/" } [[jobs]] period = "2014 - 2016" content = """ Symfony / JavaScript consultant for the Web agency KNP Labs.""" +organisation = { name="KNP Labs", url="https://knplabs.com/en/" } [[jobs]] period = "2008 - 2014" content = """ diff --git a/myresume/data/fr/bio.toml b/myresume/data/fr/bio.toml index 614cae8..644d141 100644 --- a/myresume/data/fr/bio.toml +++ b/myresume/data/fr/bio.toml @@ -3,7 +3,7 @@ birth = 1980-07-11 job_title = "Développeur Web" email = "olivier@dunsap.com" url = "https://dunsap.com/" -linked_in = "https://www.linkedin.com/in/olivierphilippon/" +linked_in = "/in/olivierphilippon/" devblog = "https://devblog.dunsap.com/" mastodon = "https://fosstodon.org/@dunsap" github_id = "olivierphi" diff --git a/myresume/data/fr/i18n.toml b/myresume/data/fr/i18n.toml index eae2de4..9ff1ade 100644 --- a/myresume/data/fr/i18n.toml +++ b/myresume/data/fr/i18n.toml @@ -43,4 +43,4 @@ source_code = "Le code source de cette page web est disponible sur" [misc] contributor = "contributeur" -non_exhaustive_list = "(liste non exhaustive)" +exhaustive_list_link = "liste exhaustive sur " diff --git a/myresume/data/fr/job_experience.toml b/myresume/data/fr/job_experience.toml index 0c86557..32c368a 100644 --- a/myresume/data/fr/job_experience.toml +++ b/myresume/data/fr/job_experience.toml @@ -3,22 +3,27 @@ period = "Mai 2023 - Aujourd'hui" content = """ Senior Python developer chez l'agence Web Torchbox. (Django/Wagtail)""" +organisation = { name="Torchbox", url="https://www.torchbox.com/" } +current = true [[jobs]] period = "Septembre 2022 - Avril 2023" content = """ Développeur Django senior en freelance chez SportEasy.""" +organisation = { name="SportEasy", url="https://www.sporteasy.net/" } [[jobs]] period = "Mars 2022 - Juillet 2022" content = """ Senior software engineer chez Textualize. (Python/Next.js)""" +organisation = { name="Textualize", url="https://www.textualize.io/" } not_on_pdf = true [[jobs]] period = "Février et Mars 2022" content = """ Senior product engineer chez Wayflyer. (Django/React)""" +organisation = { name="Wayflyer", url="https://www.wayflyer.com/" } not_on_pdf = true [[jobs]] period = "Octobre 2021 - Janvier 2022" @@ -26,27 +31,31 @@ content = """ Senior backend developer en freelance chez PlanHub.ca (Go) et Inclusive Energy (Django).""" +organisation = { name="Wayflyer", url="https://www.planhub.ca/" } [[jobs]] period = "Octobre 2018 - Mai 2021" content = """ Lead developer chez Inclusive Energy. (Django/React)""" +organisation = { name="Inclusive Energy", url="https://inclusive.energy/" } [[jobs]] period = "Decembre 2017 - Mai 2018" content = """ lead PHP developer en freelance chez - MoovOne.""" + MoovOne.""" not_on_pdf = true [[jobs]] period = "2016 - Novembre 2017" content = """ Lead PHP APIs developer chez People's Postcode Lottery.""" +organisation = { name="People's Postcode Lottery", url="https://www.postcodelottery.co.uk/" } [[jobs]] period = "2014 - 2016" content = """ Consultant Symfony / JavaScript chez les clients de KNP Labs.""" +organisation = { name="KNP Labs", url="https://knplabs.com/" } [[jobs]] period = "2008 - 2014" content = """ diff --git a/myresume/db.py b/myresume/db.py index 31f85f4..adc420d 100644 --- a/myresume/db.py +++ b/myresume/db.py @@ -99,10 +99,16 @@ class OtherTechnologyData(TypedDict): class JobExperiencesData(TypedDict): jobs: list["JobData"] + class OrganisationData(TypedDict): + name: str + url: NotRequired[str] + class JobData(TypedDict): period: str content: str + organisation: NotRequired[OrganisationData] not_on_pdf: NotRequired[bool] + current: NotRequired[bool] class ProjectsData(TypedDict): projects: list["ProjectData"] diff --git a/myresume/templates/myresume/about.html b/myresume/templates/myresume/about.html index de53947..9e24ecf 100644 --- a/myresume/templates/myresume/about.html +++ b/myresume/templates/myresume/about.html @@ -1,8 +1,7 @@ {% load myresume_tags %} {% load static %} -