From d44d3436e706a1be00860b03ae1271c49f39930c Mon Sep 17 00:00:00 2001 From: Ahmed Abdelhalim Date: Mon, 5 Jul 2021 13:19:24 +0200 Subject: Convert the work experience to a BEM convention --- app/assets/index.html | 60 +++++++++++++++++------------------ app/print.styl | 15 +-------- app/stylesheets/print/work.styl | 30 ++++++++++++++++++ app/stylesheets/web/work.styl | 67 +++++++++++++++++++++++++++++++++++++++ app/web.styl | 70 +---------------------------------------- 5 files changed, 129 insertions(+), 113 deletions(-) create mode 100644 app/stylesheets/print/work.styl create mode 100644 app/stylesheets/web/work.styl diff --git a/app/assets/index.html b/app/assets/index.html index 4ee82f2..9898d2a 100644 --- a/app/assets/index.html +++ b/app/assets/index.html @@ -101,15 +101,15 @@
-

Work Experience

-
-
-

Sapera GmbH.

- Senior Developer/DevOps - Berlin, Germany - Apr. 2018 - Present +

Work Experience

+
+
+

Sapera GmbH.

+ Senior Developer/DevOps + Apr. 2018 - Present + Berlin, Germany
-
    +
    • Implemented infrastructure as code (IaC) for different projects using Terraform and Ansible.
    • @@ -135,14 +135,14 @@
    • Provisioned and rewrote the data pipelines to adhere to better CI/CD standards.
-
-
-

LIQID GmbH.

- Senior Backend Developer - Berlin, Germany - Mar. 2016 - Dec. 2017 +
+
+

LIQID GmbH.

+ Senior Backend Developer + Mar. 2016 - Dec. 2017 + Berlin, Germany
-
    +
    • Maintained the RESTful API (used by admins and front-end).
    • Implemented and maintained the integration with Deutsche Bank.
    • @@ -161,15 +161,15 @@
    • Implemented day to day business/marketing/technical requirements.
-
-
-

PrioriData GmbH.

- Full Stack Developer - Berlin, Germany - Jul. 2015 - Mar. 2016 +
+
+

PrioriData GmbH.

+ Full Stack Developer + Jul. 2015 - Mar. 2016 + Berlin, Germany
-

Was acquired by Airnow Data Ltd.

-
    +

    Was acquired by Airnow Data Ltd.

    +
    • Maintained the Rails web (dashboard) app.
    • Optimized the scraping process of getting the data from Apple and GooglePlay stores.
    • Reimplemented the queueing and monitoring around the scrapers.
    • @@ -185,14 +185,14 @@
-
-
-

AskNative

- Backend Developer/DevOps - Remote, Egypt - May. 2013 - Jul. 2015 +
+
+

AskNative

+ Backend Developer/DevOps + May. 2013 - Jul. 2015 + Remote, Egypt
-
    +
    • Reimplemented large portions of the API to follow better design patterns
      (Hexagonal Architecture, and Pub/Sub pattern). diff --git a/app/print.styl b/app/print.styl index 5e3b05e..5ce2c4d 100644 --- a/app/print.styl +++ b/app/print.styl @@ -17,24 +17,11 @@ body { @require "stylesheets/print/header.styl" @require "stylesheets/print/summary.styl" @require "stylesheets/print/skills.styl" +@require "stylesheets/print/work.styl" @require "stylesheets/print/writing.styl" @require "stylesheets/print/projects.styl" @require "stylesheets/print/education.styl" -.work { - // avoid page breaks inside a work experience section - article { - page-break-inside: avoid - } - - article > .info { - // company - h2 { - margin-top: 0.8em - } - } -} - footer { display: block position: fixed diff --git a/app/stylesheets/print/work.styl b/app/stylesheets/print/work.styl new file mode 100644 index 0000000..17179ba --- /dev/null +++ b/app/stylesheets/print/work.styl @@ -0,0 +1,30 @@ +.work { +} + +.work__header { +} + +.work__experience { + page-break-inside: avoid +} + +.job-postion { +} + +.job-position__company { +} + +.job-position__title { +} + +.job-position__duration { +} + +.job-position__location { +} + +.note { +} + +.tasks { +} diff --git a/app/stylesheets/web/work.styl b/app/stylesheets/web/work.styl new file mode 100644 index 0000000..caa127d --- /dev/null +++ b/app/stylesheets/web/work.styl @@ -0,0 +1,67 @@ +.work { +} + +.work__header { +} + +.work__experience { +} + +.job-position { + display: flex + flex-flow: row wrap + justify-content: space-between + @media screen and (max-width: 780px) { + flex-flow: column wrap + } +} + +.job-position__company +.job-position__title +.job-position__duration +.job-position__location { + min-width: 50% +} + +.job-position__company { + order: 0 + margin-bottom: 0 + font-size: 1.4em +} + +.job-position__title { + order: 2 + @media screen and (max-width: 780px) { + order: 1 + } +} + +.job-position__duration { + order: 1 + text-align: right + align-self: flex-end + @media screen and (max-width: 780px) { + order: 2 + text-align: left + align-self: flex-start + } +} + +.job-position__location { + order: 3 + text-align: right + align-self: flex-end + @media screen and (max-width: 780px) { + text-align: left + align-self: flex-start + } +} + +.note { + margin-top: 0.4em + margin-bottom: 0.4em +} + +.tasks { + margin-top: 0.4em +} diff --git a/app/web.styl b/app/web.styl index 8f62889..203ef9e 100644 --- a/app/web.styl +++ b/app/web.styl @@ -59,75 +59,7 @@ a:link, a:visited, a:hover, a:active { @require "stylesheets/web/header.styl" @require "stylesheets/web/summary.styl" @require "stylesheets/web/skills.styl" +@require "stylesheets/web/work.styl" @require "stylesheets/web/writing.styl" @require "stylesheets/web/projects.styl" @require "stylesheets/web/education.styl" - -.work { - article { - ul { - margin-top: 0.4em - } - - p { - margin-top: 0.4em - margin-bottom: 0.4em - } - } - - article > .info { - display: flex - flex-flow: row wrap - justify-content: space-between; - number: 2 - - @media screen and (max-width: 740px) { - flex-flow: column wrap - } - - // company - h2 { - order: 0 - min-width: 50% - margin-top: 0.2em - margin-bottom: 0 - } - - // title - em:nth-of-type(1) { - order: 2 - min-width: 50% - - @media screen and (max-width: 740px) { - order: 1 - } - } - - // location - em:nth-of-type(2) { - order 1 - min-width: 50% - text-align: right - align-self: flex-end - - @media screen and (max-width: 740px) { - order: 2 - text-align: left - align-self: flex-start - } - } - - // duration - em:nth-of-type(3) { - order: 3 - min-width: 50% - text-align: right - align-self: flex-end - - @media screen and (max-width: 740px) { - text-align: left - align-self: flex-start - } - } - } -} -- cgit v1.2.3